diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c63a5d..4552a44 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: steps: - id: main - uses: trailofbits/check-up-to-dateness@v1 + uses: trailofbits/check-up-to-dateness@v2 test: needs: [check-up-to-dateness] diff --git a/Cargo.lock b/Cargo.lock index 46d3394..a283fa7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -86,42 +86,20 @@ dependencies = [ [[package]] name = "ctor" -version = "0.11.1" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "400a21f1014a968ec518c7ccdf9b4a4ed0cac8c56ccb6d604f8b91f00110501e" +checksum = "6d765eb1c0bda10d31e0ea185f5ee15da532d60b0912d2bd1441783439e749c5" dependencies = [ - "ctor-proc-macro", - "dtor", "link-section", + "linktime-proc-macro", ] -[[package]] -name = "ctor-proc-macro" -version = "0.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a949c44fcacbbbb7ada007dc7acb34603dd97cd47de5d054f2b6493ecebb483" - [[package]] name = "difflib" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" -[[package]] -name = "dtor" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96eb86b441d67a711e6e76b410de7135385fec1b8cd304e99d11c56ae542e2fc" -dependencies = [ - "dtor-proc-macro", -] - -[[package]] -name = "dtor-proc-macro" -version = "0.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2647271c92754afcb174e758003cfd1cbf1e43e5a7853d7b1813e63e19e39a73" - [[package]] name = "either" version = "1.15.0" @@ -240,9 +218,15 @@ checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "link-section" -version = "0.11.0" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d1e908a416d6e9f725743b84a36feea40c4c131e805fbc26d61f9f451f36080" + +[[package]] +name = "linktime-proc-macro" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acde40189b7f4b102f876f43a98ec1f5899f96e9a144945d36d9ce0be7f99c7" +checksum = "a44cd706ff0d503ee32b2071166510ca27e281228de10cd3aa8d35ff94560f81" [[package]] name = "linux-raw-sys" diff --git a/assets/std.json b/assets/std.json index fdd4563..caf56c0 100644 --- a/assets/std.json +++ b/assets/std.json @@ -50,7 +50,7 @@ "name": "std_detect" } }, - "format_version": 55, + "format_version": 56, "includes_private": false, "index": { "0": { @@ -142,8 +142,8 @@ "use": { "id": 101, "is_glob": false, - "name": "Clone", - "source": "core::prelude::v1::Clone" + "name": "Copy", + "source": "core::prelude::v1::Copy" } }, "links": {}, @@ -151,11 +151,11 @@ "span": { "begin": [ 52, - 30 + 37 ], "end": [ 52, - 35 + 41 ], "filename": "std/src/prelude/v1.rs" }, @@ -164,10 +164,10 @@ "10000": { "attrs": [ { - "other": "#[doc(alias = \"fmaf128\", alias = \"fusedMultiplyAdd\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 35, patch: 0})}, feature: \"copysign\"}}]" }, { "must_use": { @@ -177,7 +177,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Fused multiply-add. Computes `(self * a) + b` with only one rounding\nerror, yielding a more accurate result than an unfused multiply-add.\n\nUsing `mul_add` *may* be more performant than an unfused multiply-add if\nthe target architecture has a dedicated `fma` CPU instruction. However,\nthis is not always true, and will be heavily dependant on designing\nalgorithms with specific target hardware in mind.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as\n`fusedMultiplyAdd` and guaranteed not to change.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet m = 10.0_f128;\nlet x = 4.0_f128;\nlet b = 60.0_f128;\n\nassert_eq!(m.mul_add(x, b), 100.0);\nassert_eq!(m * x + b, 100.0);\n\nlet one_plus_eps = 1.0_f128 + f128::EPSILON;\nlet one_minus_eps = 1.0_f128 - f128::EPSILON;\nlet minus_one = -1.0_f128;\n\n// The exact result (1 + eps) * (1 - eps) = 1 - eps * eps.\nassert_eq!(one_plus_eps.mul_add(one_minus_eps, minus_one), -f128::EPSILON * f128::EPSILON);\n// Different rounding with the non-fused multiply and add.\nassert_eq!(one_plus_eps * one_minus_eps + minus_one, 0.0);\n# }\n```", + "docs": "Returns a number composed of the magnitude of `self` and the sign of\n`sign`.\n\nEqual to `self` if the sign of `self` and `sign` are the same, otherwise equal to `-self`.\nIf `self` is a NaN, then a NaN with the same payload as `self` and the sign bit of `sign` is\nreturned.\n\nIf `sign` is a NaN, then this operation will still carry over its sign into the result. Note\nthat IEEE 754 doesn't assign any meaning to the sign bit in case of a NaN, and as Rust\ndoesn't guarantee that the bit pattern of NaNs are conserved over arithmetic operations, the\nresult of `copysign` with `sign` being a NaN might produce an unexpected or non-portable\nresult. See the [specification of NaN bit patterns](primitive@f32#nan-bit-patterns) for more\ninfo.\n\n# Examples\n\n```\nlet f = 3.5_f32;\n\nassert_eq!(f.copysign(0.42), 3.5_f32);\nassert_eq!(f.copysign(-0.42), -3.5_f32);\nassert_eq!((-f).copysign(0.42), 3.5_f32);\nassert_eq!((-f).copysign(-0.42), -3.5_f32);\n\nassert!(f32::NAN.copysign(1.0).is_nan());\n```", "id": 10000, "inner": { "function": { @@ -189,7 +189,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -201,44 +201,43 @@ } ], [ - "a", - { - "primitive": "f128" - } - ], - [ - "b", + "sign", { - "primitive": "f128" + "primitive": "f32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": {}, - "name": "mul_add", + "links": { + "primitive@f32#nan-bit-patterns": 265 + }, + "name": "copysign", "span": { "begin": [ - 1657, + 1511, 5 ], "end": [ - 1657, - 51 + 1511, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "10001": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { @@ -248,7 +247,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates Euclidean division, the matching method for `rem_euclid`.\n\nThis computes the integer `n` such that\n`self = n * rhs + self.rem_euclid(rhs)`.\nIn other words, the result is `self / rhs` rounded to the integer `n`\nsuch that `self >= n * rhs`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet a: f128 = 7.0;\nlet b = 4.0;\nassert_eq!(a.div_euclid(b), 1.0); // 7.0 > 4.0 * 1.0\nassert_eq!((-a).div_euclid(b), -2.0); // -7.0 >= 4.0 * -2.0\nassert_eq!(a.div_euclid(-b), -1.0); // 7.0 >= -4.0 * -1.0\nassert_eq!((-a).div_euclid(-b), 2.0); // -7.0 >= -4.0 * 2.0\n# }\n```", + "docs": "Float addition that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10001, "inner": { "function": { @@ -260,7 +259,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -274,39 +273,41 @@ [ "rhs", { - "primitive": "f128" + "primitive": "f32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": {}, - "name": "div_euclid", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_add", "span": { "begin": [ - 1693, + 1522, 5 ], "end": [ - 1693, - 47 + 1522, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "10002": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { @@ -316,7 +317,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nIn particular, the return value `r` satisfies `0.0 <= r < rhs.abs()` in\nmost cases. However, due to a floating point round-off error it can\nresult in `r == rhs.abs()`, violating the mathematical definition, if\n`self` is much smaller than `rhs.abs()` in magnitude and `self < 0.0`.\nThis result is not an element of the function's codomain, but it is the\nclosest floating point number in the real numbers and thus fulfills the\nproperty `self == self.div_euclid(rhs) * rhs + self.rem_euclid(rhs)`\napproximately.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet a: f128 = 7.0;\nlet b = 4.0;\nassert_eq!(a.rem_euclid(b), 3.0);\nassert_eq!((-a).rem_euclid(b), 1.0);\nassert_eq!(a.rem_euclid(-b), 3.0);\nassert_eq!((-a).rem_euclid(-b), 1.0);\n// limitation due to round-off error\nassert!((-f128::EPSILON).rem_euclid(3.0) != 0.0);\n# }\n```", + "docs": "Float subtraction that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10002, "inner": { "function": { @@ -328,7 +329,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -342,36 +343,41 @@ [ "rhs", { - "primitive": "f128" + "primitive": "f32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": {}, - "name": "rem_euclid", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_sub", "span": { "begin": [ - 1739, + 1533, 5 ], "end": [ - 1739, - 47 + 1533, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "10003": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { @@ -381,7 +387,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises a number to an integer power.\n\nUsing this function is generally faster than using `powf`.\nIt might have a different sequence of rounding operations than `powf`,\nso the results are not guaranteed to agree.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 2.0_f128;\nlet abs_difference = (x.powi(2) - (x * x)).abs();\nassert!(abs_difference <= f128::EPSILON);\n\nassert_eq!(f128::powi(f128::NAN, 0), 1.0);\n# }\n```", + "docs": "Float multiplication that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10003, "inner": { "function": { @@ -393,7 +399,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -405,41 +411,43 @@ } ], [ - "n", + "rhs", { - "primitive": "i32" + "primitive": "f32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": {}, - "name": "powi", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_mul", "span": { "begin": [ - 1773, + 1544, 5 ], "end": [ - 1773, - 38 + 1544, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "10004": { "attrs": [ { - "other": "#[doc(alias = \"squareRoot\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { @@ -449,7 +457,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of a number.\n\nReturns NaN if `self` is a negative number other than `-0.0`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as `squareRoot`\nand guaranteed not to change.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet positive = 4.0_f128;\nlet negative = -4.0_f128;\nlet negative_zero = -0.0_f128;\n\nassert_eq!(positive.sqrt(), 2.0);\nassert!(negative.sqrt().is_nan());\nassert!(negative_zero.sqrt() == negative_zero);\n# }\n```", + "docs": "Float division that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10004, "inner": { "function": { @@ -461,7 +469,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -471,45 +479,119 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "f32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": {}, - "name": "sqrt", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_div", "span": { "begin": [ - 1809, + 1555, 5 ], "end": [ - 1809, - 30 + 1555, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "10005": { "attrs": [ { - "other": "#[doc(test(attr(feature(cfg_target_has_reliable_f16_f128),\nexpect(internal_features))))]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } } ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Float remainder that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10005, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "f32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f32" + } + } + } + }, + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_rem", + "span": { + "begin": [ + 1566, + 5 + ], + "end": [ + 1566, + 54 + ], + "filename": "checkouts/rust/library/core/src/num/f32.rs" + }, + "visibility": "public" + }, + "10006": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 10006, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [], @@ -519,6 +601,45 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 9957, + 9958, + 9959, + 9960, + 9962, + 9964, + 9961, + 9963, + 9965, + 9966, + 9967, + 9968, + 9969, + 9970, + 9971, + 9972, + 9973, + 8892, + 9974, + 9975, + 9976, + 9977, + 9978, + 9979, + 9980, + 9981, + 9982, + 9983, + 8894, + 9984, + 9985, + 9986, + 9987, + 9989, + 9988, + 9990, + 9991, + 9992, + 9993, 9994, 9995, 9996, @@ -529,7 +650,8 @@ 10001, 10002, 10003, - 10004 + 10004, + 10005 ], "provided_trait_methods": [], "trait": null @@ -539,48 +661,15 @@ "name": null, "span": { "begin": [ - 1426, + 388, 1 ], "end": [ - 1426, - 10 + 388, + 9 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "default" - }, - "10006": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 10006, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f128" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, - "links": {}, - "name": null, - "span": null, "visibility": "default" }, "10007": { @@ -593,7 +682,7 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [], @@ -606,8 +695,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 1, + "path": "Send" } } }, @@ -626,7 +715,7 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [], @@ -639,8 +728,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 5, + "path": "Sync" } } }, @@ -659,7 +748,7 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [], @@ -672,8 +761,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 313, + "path": "Freeze" } } }, @@ -820,7 +909,7 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [], @@ -833,8 +922,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 7, + "path": "Unpin" } } }, @@ -853,7 +942,7 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [], @@ -866,8 +955,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } }, @@ -882,13 +971,46 @@ "deprecation": null, "docs": null, "id": 10012, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f32" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "10013": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10013, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [ @@ -931,7 +1053,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -947,7 +1069,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -956,30 +1078,30 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "10013": { + "10014": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 10013, + "id": 10014, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [ @@ -1022,7 +1144,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -1038,7 +1160,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -1047,30 +1169,30 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "10014": { + "10015": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 10014, + "id": 10015, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [ @@ -1095,7 +1217,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -1127,30 +1249,30 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "10015": { + "10016": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 10015, + "id": 10016, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [ @@ -1214,7 +1336,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -1239,30 +1361,30 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "10016": { + "10017": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 10016, + "id": 10017, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [ @@ -1283,7 +1405,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -1308,30 +1430,30 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "10017": { + "10018": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 10017, + "id": 10018, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [ @@ -1377,7 +1499,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -1395,8 +1517,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -1412,7 +1534,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -1421,30 +1543,30 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "10018": { + "10019": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 10018, + "id": 10019, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f128" + "primitive": "f32" }, "generics": { "params": [ @@ -1508,8 +1630,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -1525,7 +1647,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -1534,100 +1656,17 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "10019": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 10019, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "primitive": "f128" - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, "1002": { "attrs": [], "crate_id": 0, @@ -1768,7 +1807,90 @@ "generic": "T" }, "for": { - "primitive": "f128" + "primitive": "f32" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "10021": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10021, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f32" }, "generics": { "params": [ @@ -1793,7 +1915,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -1820,7 +1942,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -1829,139 +1951,202 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "10021": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "The smallest value that can be represented by this integer type\n(−27).\n\n# Examples\n\n```\nassert_eq!(i8::MIN, -128);\n```", - "id": 10021, - "inner": { - "assoc_const": { - "type": { - "primitive": "i8" - }, - "value": "_" - } - }, - "links": {}, - "name": "MIN", - "span": { - "begin": [ - 247, - 5 - ], - "end": [ - 266, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, "10022": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" - } - ], - "crate_id": 1, + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(27 − 1).\n\n# Examples\n\n```\nassert_eq!(i8::MAX, 127);\n```", + "docs": null, "id": 10022, "inner": { - "assoc_const": { - "type": { - "primitive": "i8" + "impl": { + "blanket_impl": { + "generic": "T" }, - "value": "_" + "for": { + "primitive": "f32" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" + } } }, "links": {}, - "name": "MAX", + "name": null, "span": { "begin": [ - 247, - 5 + 2866, + 1 ], "end": [ - 266, - 6 + 2866, + 46 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, - "visibility": "public" + "visibility": "default" }, "10023": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(i8::BITS, 8);\n```", + "docs": "Returns the largest integer less than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.7_f64;\nlet g = 3.0_f64;\nlet h = -3.7_f64;\n\nassert_eq!(f.floor(), 3.0);\nassert_eq!(g.floor(), 3.0);\nassert_eq!(h.floor(), -4.0);\n```", "id": 10023, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "u8::BITS" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f64" + } + } } }, "links": {}, - "name": "BITS", + "name": "floor", "span": { "begin": [ - 247, + 49, 5 ], "end": [ - 266, + 51, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10024": { "attrs": [ { - "other": "#[doc(alias = \"popcount\")]" + "other": "#[doc(alias = \"ceiling\")]" }, { - "other": "#[doc(alias = \"popcnt\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000i8;\n\nassert_eq!(n.count_ones(), 1);\n```\n", + "docs": "Returns the smallest integer greater than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.01_f64;\nlet g = 4.0_f64;\n\nassert_eq!(f.ceil(), 4.0);\nassert_eq!(g.ceil(), 4.0);\n```", "id": 10024, "inner": { "function": { @@ -1987,43 +2172,49 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "f64" } } } }, "links": {}, - "name": "count_ones", + "name": "ceil", "span": { "begin": [ - 247, + 72, 5 ], "end": [ - 266, + 74, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10025": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, + { + "other": "#[attr = Inline(Hint)]" + }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(i8::MAX.count_zeros(), 1);\n```", + "docs": "Returns the nearest integer to `self`. If a value is half-way between two\nintegers, round away from `0.0`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.3_f64;\nlet g = -3.3_f64;\nlet h = -3.7_f64;\nlet i = 3.5_f64;\nlet j = 4.5_f64;\n\nassert_eq!(f.round(), 3.0);\nassert_eq!(g.round(), -3.0);\nassert_eq!(h.round(), -4.0);\nassert_eq!(i.round(), 4.0);\nassert_eq!(j.round(), 5.0);\n```", "id": 10025, "inner": { "function": { @@ -2049,46 +2240,49 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "f64" } } } }, "links": {}, - "name": "count_zeros", + "name": "round", "span": { "begin": [ - 247, + 101, 5 ], "end": [ - 266, + 103, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10026": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 77, patch: 0})}, feature: \"round_ties_even\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2i8.ilog2(), 1);\n```", + "docs": "Returns the nearest integer to a number. Rounds half-way cases to the number\nwith an even least significant digit.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.3_f64;\nlet g = -3.3_f64;\nlet h = 3.5_f64;\nlet i = 4.5_f64;\n\nassert_eq!(f.round_ties_even(), 3.0);\nassert_eq!(g.round_ties_even(), -3.0);\nassert_eq!(h.round_ties_even(), 4.0);\nassert_eq!(i.round_ties_even(), 4.0);\n```", "id": 10026, "inner": { "function": { @@ -2114,43 +2308,52 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "f64" } } } }, "links": {}, - "name": "ilog2", + "name": "round_ties_even", "span": { "begin": [ - 247, + 128, 5 ], "end": [ - 266, + 130, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10027": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[doc(alias = \"truncate\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, + { + "other": "#[attr = Inline(Hint)]" + }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1i8;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: i8::ilog2", + "docs": "Returns the integer part of `self`.\nThis means that non-integer numbers are always truncated towards zero.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.7_f64;\nlet g = 3.0_f64;\nlet h = -3.7_f64;\n\nassert_eq!(f.trunc(), 3.0);\nassert_eq!(g.trunc(), 3.0);\nassert_eq!(h.trunc(), -3.0);\n```", "id": 10027, "inner": { "function": { @@ -2176,45 +2379,49 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "f64" } } } }, - "links": { - "i8::ilog2": 10026 - }, - "name": "leading_zeros", + "links": {}, + "name": "trunc", "span": { "begin": [ - 247, + 154, 5 ], "end": [ - 266, + 156, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10028": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, + { + "other": "#[attr = Inline(Hint)]" + }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4i8;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", + "docs": "Returns the fractional part of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet x = 3.6_f64;\nlet y = -3.6_f64;\nlet abs_difference_x = (x.fract() - 0.6).abs();\nlet abs_difference_y = (y.fract() - (-0.6)).abs();\n\nassert!(abs_difference_x < 1e-10);\nassert!(abs_difference_y < 1e-10);\n```", "id": 10028, "inner": { "function": { @@ -2240,43 +2447,52 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "f64" } } } }, "links": {}, - "name": "trailing_zeros", + "name": "fract", "span": { "begin": [ - 247, + 178, 5 ], "end": [ - 266, + 180, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10029": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[doc(alias = \"fma\", alias = \"fusedMultiplyAdd\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 146724, is_soft: false}, feature: \"const_mul_add\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1i8;\n\nassert_eq!(n.leading_ones(), 8);\n```", + "docs": "Fused multiply-add. Computes `(self * a) + b` with only one rounding\nerror, yielding a more accurate result than an unfused multiply-add.\n\nUsing `mul_add` *may* be more performant than an unfused multiply-add if\nthe target architecture has a dedicated `fma` CPU instruction. However,\nthis is not always true, and will be heavily dependant on designing\nalgorithms with specific target hardware in mind.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as\n`fusedMultiplyAdd` and guaranteed not to change.\n\n# Examples\n\n```\nlet m = 10.0_f64;\nlet x = 4.0_f64;\nlet b = 60.0_f64;\n\nassert_eq!(m.mul_add(x, b), 100.0);\nassert_eq!(m * x + b, 100.0);\n\nlet one_plus_eps = 1.0_f64 + f64::EPSILON;\nlet one_minus_eps = 1.0_f64 - f64::EPSILON;\nlet minus_one = -1.0_f64;\n\n// The exact result (1 + eps) * (1 - eps) = 1 - eps * eps.\nassert_eq!(one_plus_eps.mul_add(one_minus_eps, minus_one), -f64::EPSILON * f64::EPSILON);\n// Different rounding with the non-fused multiply and add.\nassert_eq!(one_plus_eps * one_minus_eps + minus_one, 0.0);\n```", "id": 10029, "inner": { "function": { @@ -2298,27 +2514,39 @@ { "generic": "Self" } + ], + [ + "a", + { + "primitive": "f64" + } + ], + [ + "b", + { + "primitive": "f64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "f64" } } } }, "links": {}, - "name": "leading_ones", + "name": "mul_add", "span": { "begin": [ - 247, + 221, 5 ], "end": [ - 266, + 223, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, @@ -2397,7 +2625,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -2410,20 +2638,23 @@ "10030": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3i8;\n\nassert_eq!(n.trailing_ones(), 2);\n```", + "docs": "Calculates Euclidean division, the matching method for `rem_euclid`.\n\nThis computes the integer `n` such that\n`self = n * rhs + self.rem_euclid(rhs)`.\nIn other words, the result is `self / rhs` rounded to the integer `n`\nsuch that `self >= n * rhs`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\nlet a: f64 = 7.0;\nlet b = 4.0;\nassert_eq!(a.div_euclid(b), 1.0); // 7.0 > 4.0 * 1.0\nassert_eq!((-a).div_euclid(b), -2.0); // -7.0 >= 4.0 * -2.0\nassert_eq!(a.div_euclid(-b), -1.0); // 7.0 >= -4.0 * -1.0\nassert_eq!((-a).div_euclid(-b), 2.0); // -7.0 >= -4.0 * 2.0\n```", "id": 10030, "inner": { "function": { @@ -2435,7 +2666,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -2445,44 +2676,59 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "f64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "f64" } } } }, "links": {}, - "name": "trailing_ones", + "name": "div_euclid", "span": { "begin": [ - 247, + 251, 5 ], "end": [ - 266, + 253, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10031": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i8 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_i8.isolate_highest_one(), 0);\n```", + "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nIn particular, the return value `r` satisfies `0.0 <= r < rhs.abs()` in\nmost cases. However, due to a floating point round-off error it can\nresult in `r == rhs.abs()`, violating the mathematical definition, if\n`self` is much smaller than `rhs.abs()` in magnitude and `self < 0.0`.\nThis result is not an element of the function's codomain, but it is the\nclosest floating point number in the real numbers and thus fulfills the\nproperty `self == self.div_euclid(rhs) * rhs + self.rem_euclid(rhs)`\napproximately.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\nlet a: f64 = 7.0;\nlet b = 4.0;\nassert_eq!(a.rem_euclid(b), 3.0);\nassert_eq!((-a).rem_euclid(b), 1.0);\nassert_eq!(a.rem_euclid(-b), 3.0);\nassert_eq!((-a).rem_euclid(-b), 1.0);\n// limitation due to round-off error\nassert!((-f64::EPSILON).rem_euclid(3.0) != 0.0);\n```", "id": 10031, "inner": { "function": { @@ -2494,7 +2740,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -2504,44 +2750,56 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "f64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "isolate_highest_one", + "name": "rem_euclid", "span": { "begin": [ - 247, + 288, 5 ], "end": [ - 266, + 290, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10032": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i8 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_i8.isolate_lowest_one(), 0);\n```", + "docs": "Raises a number to an integer power.\n\nUsing this function is generally faster than using `powf`.\nIt might have a different sequence of rounding operations than `powf`,\nso the results are not guaranteed to agree.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0_f64;\nlet abs_difference = (x.powi(2) - (x * x)).abs();\nassert!(abs_difference <= 1e-14);\n\nassert_eq!(f64::powi(f64::NAN, 0), 1.0);\n```", "id": 10032, "inner": { "function": { @@ -2553,7 +2811,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -2563,44 +2821,56 @@ { "generic": "Self" } + ], + [ + "n", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "isolate_lowest_one", + "name": "powi", "span": { "begin": [ - 247, + 316, 5 ], "end": [ - 266, + 318, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10033": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i8.highest_one(), None);\nassert_eq!(0x1_i8.highest_one(), Some(0));\nassert_eq!(0x10_i8.highest_one(), Some(4));\nassert_eq!(0x1f_i8.highest_one(), Some(4));\n```", + "docs": "Raises a number to a floating point power.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0_f64;\nlet abs_difference = (x.powf(2.0) - (x * x)).abs();\nassert!(abs_difference <= 1e-14);\n\nassert_eq!(f64::powf(1.0, f64::NAN), 1.0);\nassert_eq!(f64::powf(f64::NAN, 0.0), 1.0);\n```", "id": 10033, "inner": { "function": { @@ -2612,7 +2882,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -2622,59 +2892,59 @@ { "generic": "Self" } + ], + [ + "n", + { + "primitive": "f64" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f64" } } } }, "links": {}, - "name": "highest_one", + "name": "powf", "span": { "begin": [ - 247, + 341, 5 ], "end": [ - 266, + 343, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10034": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[doc(alias = \"squareRoot\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i8.lowest_one(), None);\nassert_eq!(0x1_i8.lowest_one(), Some(0));\nassert_eq!(0x10_i8.lowest_one(), Some(4));\nassert_eq!(0x1f_i8.lowest_one(), Some(0));\n```", + "docs": "Returns the square root of a number.\n\nReturns NaN if `self` is a negative number other than `-0.0`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as `squareRoot`\nand guaranteed not to change.\n\n# Examples\n\n```\nlet positive = 4.0_f64;\nlet negative = -4.0_f64;\nlet negative_zero = -0.0_f64;\n\nassert_eq!(positive.sqrt(), 2.0);\nassert!(negative.sqrt().is_nan());\nassert!(negative_zero.sqrt() == negative_zero);\n```", "id": 10034, "inner": { "function": { @@ -2686,7 +2956,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -2700,58 +2970,46 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f64" } } } }, "links": {}, - "name": "lowest_one", + "name": "sqrt", "span": { "begin": [ - 247, + 371, 5 ], "end": [ - 266, + 373, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10035": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1i8;\n\nassert_eq!(n.cast_unsigned(), u8::MAX);\n```", + "docs": "Returns `e^(self)`, (the exponential function).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet one = 1.0_f64;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10035, "inner": { "function": { @@ -2763,7 +3021,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -2777,43 +3035,46 @@ ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "f64" } } } }, "links": {}, - "name": "cast_unsigned", + "name": "exp", "span": { "begin": [ - 247, + 398, 5 ], "end": [ - 266, + 400, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10036": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = -0x7ei8;\nlet m = 0xa;\n\nassert_eq!(n.rotate_left(2), m);\n```", + "docs": "Returns `2^(self)`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet f = 2.0_f64;\n\n// 2^2 - 4 == 0\nlet abs_difference = (f.exp2() - 4.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10036, "inner": { "function": { @@ -2825,7 +3086,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -2835,53 +3096,50 @@ { "generic": "Self" } - ], - [ - "n", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "rotate_left", + "name": "exp2", "span": { "begin": [ - 247, + 423, 5 ], "end": [ - 266, + 425, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10037": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0xai8;\nlet m = -0x7e;\n\nassert_eq!(n.rotate_right(2), m);\n```", + "docs": "Returns the natural logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet one = 1.0_f64;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference < 1e-10);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f64.ln(), f64::NEG_INFINITY);\nassert!((-42_f64).ln().is_nan());\n```", "id": 10037, "inner": { "function": { @@ -2893,7 +3151,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -2903,53 +3161,50 @@ { "generic": "Self" } - ], - [ - "n", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "rotate_right", + "name": "ln", "span": { "begin": [ - 247, + 458, 5 ], "end": [ - 266, + 460, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10038": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12i8;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x12);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\nThe result might not be correctly rounded owing to implementation details;\n`self.log2()` can produce more accurate results for base 2, and\n`self.log10()` can produce more accurate results for base 10.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet twenty_five = 25.0_f64;\n\n// log5(25) - 2 == 0\nlet abs_difference = (twenty_five.log(5.0) - 2.0).abs();\n\nassert!(abs_difference < 1e-10);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f64.log(10.0), f64::NEG_INFINITY);\nassert!((-42_f64).log(10.0).is_nan());\n```", "id": 10038, "inner": { "function": { @@ -2961,7 +3216,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -2971,47 +3226,56 @@ { "generic": "Self" } + ], + [ + "base", + { + "primitive": "f64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "swap_bytes", + "name": "log", "span": { "begin": [ - 247, + 495, 5 ], "end": [ - 266, + 497, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10039": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12i8;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x48);\nassert_eq!(0, 0i8.reverse_bits());\n```", + "docs": "Returns the base 2 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet four = 4.0_f64;\n\n// log2(4) - 2 == 0\nlet abs_difference = (four.log2() - 2.0).abs();\n\nassert!(abs_difference < 1e-10);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f64.log2(), f64::NEG_INFINITY);\nassert!((-42_f64).log2().is_nan());\n```", "id": 10039, "inner": { "function": { @@ -3023,7 +3287,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -3037,23 +3301,23 @@ ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "reverse_bits", + "name": "log2", "span": { "begin": [ - 247, + 528, 5 ], "end": [ - 266, + 530, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, @@ -3145,20 +3409,23 @@ "10040": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai8;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(i8::from_be(n), n)\n} else {\n assert_eq!(i8::from_be(n), n.swap_bytes())\n}\n```", + "docs": "Returns the base 10 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet hundred = 100.0_f64;\n\n// log10(100) - 2 == 0\nlet abs_difference = (hundred.log10() - 2.0).abs();\n\nassert!(abs_difference < 1e-10);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f64.log10(), f64::NEG_INFINITY);\nassert!((-42_f64).log10().is_nan());\n```", "id": 10040, "inner": { "function": { @@ -3170,57 +3437,63 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "i8" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "from_be", + "name": "log10", "span": { "begin": [ - 247, + 561, 5 ], "end": [ - 266, + 563, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10041": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, - "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai8;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(i8::from_le(n), n)\n} else {\n assert_eq!(i8::from_le(n), n.swap_bytes())\n}\n```", + "crate_id": 0, + "deprecation": { + "note": "you probably meant `(self - other).abs()`: this operation is `(self - other).max(0.0)` except that `abs_sub` also propagates NaNs (also known as `fdim` in C). If you truly need the positive difference, consider using that expression or the C function `fdim`, depending on how you wish to handle NaN (please consider filing an issue describing your use-case too).", + "since": "1.10.0" + }, + "docs": "The positive difference of two numbers.\n\n* If `self <= other`: `0.0`\n* Else: `self - other`\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `fdim` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 3.0_f64;\nlet y = -3.0_f64;\n\nlet abs_difference_x = (x.abs_sub(1.0) - 2.0).abs();\nlet abs_difference_y = (y.abs_sub(1.0) - 0.0).abs();\n\nassert!(abs_difference_x < 1e-10);\nassert!(abs_difference_y < 1e-10);\n```", "id": 10041, "inner": { "function": { @@ -3232,57 +3505,66 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "i8" + "generic": "Self" + } + ], + [ + "other", + { + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "from_le", + "name": "abs_sub", "span": { "begin": [ - 247, + 603, 5 ], "end": [ - 266, + 606, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10042": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai8;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "docs": "Returns the cube root of a number.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `cbrt` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 8.0_f64;\n\n// x^(1/3) - 2 == 0\nlet abs_difference = (x.cbrt() - 2.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10042, "inner": { "function": { @@ -3294,7 +3576,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -3308,43 +3590,46 @@ ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "to_be", + "name": "cbrt", "span": { "begin": [ - 247, + 631, 5 ], "end": [ - 266, + 633, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10043": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai8;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "docs": "Compute the distance between the origin and a point (`x`, `y`) on the\nEuclidean plane. Equivalently, compute the length of the hypotenuse of a\nright-angle triangle with other sides having length `x.abs()` and\n`y.abs()`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `hypot` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 2.0_f64;\nlet y = 3.0_f64;\n\n// sqrt(x^2 + y^2)\nlet abs_difference = (x.hypot(y) - (x.powi(2) + y.powi(2)).sqrt()).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10043, "inner": { "function": { @@ -3356,7 +3641,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -3366,47 +3651,56 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "to_le", + "name": "hypot", "span": { "begin": [ - 247, + 662, 5 ], "end": [ - 266, + 664, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10044": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((i8::MAX - 2).checked_add(1), Some(i8::MAX - 1));\nassert_eq!((i8::MAX - 2).checked_add(3), None);\n```", + "docs": "Computes the sine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = std::f64::consts::FRAC_PI_2;\n\nlet abs_difference = (x.sin() - 1.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10044, "inner": { "function": { @@ -3418,7 +3712,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -3428,71 +3722,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f64" } } } }, "links": {}, - "name": "checked_add", + "name": "sin", "span": { "begin": [ - 247, + 686, 5 ], "end": [ - 266, + 688, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10045": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i8::MAX - 2).strict_add(1), i8::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i8::MAX - 2).strict_add(3);\n```", + "docs": "Computes the cosine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0 * std::f64::consts::PI;\n\nlet abs_difference = (x.cos() - 1.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10045, "inner": { "function": { @@ -3504,7 +3777,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -3514,53 +3787,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "strict_add", + "name": "cos", "span": { "begin": [ - 247, + 710, 5 ], "end": [ - 266, + 712, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10046": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_add(27), 127);\nassert_eq!(i8::MAX.wrapping_add(2), i8::MIN + 1);\n```", + "docs": "Computes the tangent of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tan` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = std::f64::consts::FRAC_PI_4;\nlet abs_difference = (x.tan() - 1.0).abs();\n\nassert!(abs_difference < 1e-14);\n```", "id": 10046, "inner": { "function": { @@ -3572,7 +3842,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -3582,56 +3852,53 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "wrapping_add", + "name": "tan", "span": { "begin": [ - 247, + 735, 5 ], "end": [ - 266, + 737, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10047": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[doc(alias = \"arcsin\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > i8::MAX` or `self + rhs < i8::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: i8::checked_add\n[`wrapping_add`]: i8::wrapping_add", + "docs": "Computes the arcsine of a number. Return value is in radians in\nthe range [-pi/2, pi/2] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `asin` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = std::f64::consts::FRAC_PI_4;\n\n// asin(sin(pi/2))\nlet abs_difference = (f.sin().asin() - f).abs();\n\nassert!(abs_difference < 1e-14);\n```", "id": 10047, "inner": { "function": { @@ -3643,8 +3910,8 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": true + "is_const": false, + "is_unsafe": false }, "sig": { "inputs": [ @@ -3653,56 +3920,53 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, - "links": { - "i8::checked_add": 10044, - "i8::wrapping_add": 10046 - }, - "name": "unchecked_add", + "links": {}, + "name": "asin", "span": { "begin": [ - 247, + 765, 5 ], "end": [ - 266, + 767, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10048": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[doc(alias = \"arccos\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i8.checked_add_unsigned(2), Some(3));\nassert_eq!((i8::MAX - 2).checked_add_unsigned(3), None);\n```", + "docs": "Computes the arccosine of a number. Return value is in radians in\nthe range [0, pi] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `acos` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = std::f64::consts::FRAC_PI_4;\n\n// acos(cos(pi/4))\nlet abs_difference = (f.cos().acos() - std::f64::consts::FRAC_PI_4).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10048, "inner": { "function": { @@ -3714,7 +3978,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -3724,71 +3988,53 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f64" } } } }, "links": {}, - "name": "checked_add_unsigned", + "name": "acos", "span": { "begin": [ - 247, + 795, 5 ], "end": [ - 266, + 797, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10049": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[doc(alias = \"arctan\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i8.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i8::MAX - 2).strict_add_unsigned(3);\n```", + "docs": "Computes the arctangent of a number. Return value is in radians in the\nrange [-pi/2, pi/2];\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `atan` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = 1.0_f64;\n\n// atan(tan(1))\nlet abs_difference = (f.tan().atan() - 1.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10049, "inner": { "function": { @@ -3800,7 +4046,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -3810,33 +4056,27 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "strict_add_unsigned", + "name": "atan", "span": { "begin": [ - 247, + 824, 5 ], "end": [ - 266, + 826, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, @@ -3916,7 +4156,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -3937,7 +4177,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -3958,7 +4198,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -3971,20 +4211,23 @@ "10050": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 2).checked_sub(1), Some(i8::MIN + 1));\nassert_eq!((i8::MIN + 2).checked_sub(3), None);\n```", + "docs": "Computes the four quadrant arctangent of `self` (`y`) and `other` (`x`) in radians.\n\n | `x` | `y` | Piecewise Definition | Range |\n |---------|---------|----------------------|---------------|\n | `>= +0` | `>= +0` | `arctan(y/x)` | `[+0, +pi/2]` |\n | `>= +0` | `<= -0` | `arctan(y/x)` | `[-pi/2, -0]` |\n | `<= -0` | `>= +0` | `arctan(y/x) + pi` | `[+pi/2, +pi]`|\n | `<= -0` | `<= -0` | `arctan(y/x) - pi` | `[-pi, -pi/2]`|\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `atan2` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n// Positive angles measured counter-clockwise\n// from positive x axis\n// -pi/4 radians (45 deg clockwise)\nlet x1 = 3.0_f64;\nlet y1 = -3.0_f64;\n\n// 3pi/4 radians (135 deg counter-clockwise)\nlet x2 = -3.0_f64;\nlet y2 = 3.0_f64;\n\nlet abs_difference_1 = (y1.atan2(x1) - (-std::f64::consts::FRAC_PI_4)).abs();\nlet abs_difference_2 = (y2.atan2(x2) - (3.0 * std::f64::consts::FRAC_PI_4)).abs();\n\nassert!(abs_difference_1 < 1e-10);\nassert!(abs_difference_2 < 1e-10);\n```", "id": 10050, "inner": { "function": { @@ -3996,7 +4239,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -4008,69 +4251,52 @@ } ], [ - "rhs", + "other", { - "primitive": "i8" + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f64" } } } }, "links": {}, - "name": "checked_sub", + "name": "atan2", "span": { "begin": [ - 247, + 867, 5 ], "end": [ - 266, + 869, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10051": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[doc(alias = \"sincos\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 2).strict_sub(1), i8::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i8::MIN + 2).strict_sub(3);\n```", + "docs": "Simultaneously computes the sine and cosine of the number, `x`. Returns\n`(sin(x), cos(x))`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `(f64::sin(x),\nf64::cos(x))`. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = std::f64::consts::FRAC_PI_4;\nlet f = x.sin_cos();\n\nlet abs_difference_0 = (f.0 - x.sin()).abs();\nlet abs_difference_1 = (f.1 - x.cos()).abs();\n\nassert!(abs_difference_0 < 1e-10);\nassert!(abs_difference_1 < 1e-10);\n```", "id": 10051, "inner": { "function": { @@ -4082,7 +4308,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -4092,53 +4318,57 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "tuple": [ + { + "primitive": "f64" + }, + { + "primitive": "f64" + } + ] } } } }, "links": {}, - "name": "strict_sub", + "name": "sin_cos", "span": { "begin": [ - 247, + 897, 5 ], "end": [ - 266, + 899, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10052": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i8.wrapping_sub(127), -127);\nassert_eq!((-2i8).wrapping_sub(i8::MAX), i8::MAX);\n```", + "docs": "Returns `e^(self) - 1` in a way that is accurate even if the\nnumber is close to zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `expm1` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 1e-16_f64;\n\n// for very small x, e^x is approximately 1 + x + x^2 / 2\nlet approx = x + x * x / 2.0;\nlet abs_difference = (x.exp_m1() - approx).abs();\n\nassert!(abs_difference < 1e-20);\n```", "id": 10052, "inner": { "function": { @@ -4150,7 +4380,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -4160,56 +4390,53 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "wrapping_sub", + "name": "exp_m1", "span": { "begin": [ - 247, + 926, 5 ], "end": [ - 266, + 928, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10053": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[doc(alias = \"log1p\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > i8::MAX` or `self - rhs < i8::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: i8::checked_sub\n[`wrapping_sub`]: i8::wrapping_sub", + "docs": "Returns `ln(1+n)` (natural logarithm) more accurately than if\nthe operations were performed separately.\n\nThis returns NaN when `n < -1.0`, and negative infinity when `n == -1.0`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `log1p` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 1e-16_f64;\n\n// for very small x, ln(1 + x) is approximately x - x^2 / 2\nlet approx = x - x * x / 2.0;\nlet abs_difference = (x.ln_1p() - approx).abs();\n\nassert!(abs_difference < 1e-20);\n```\n\nOut-of-range values:\n```\nassert_eq!((-1.0_f64).ln_1p(), f64::NEG_INFINITY);\nassert!((-2.0_f64).ln_1p().is_nan());\n```", "id": 10053, "inner": { "function": { @@ -4221,8 +4448,8 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": true + "is_const": false, + "is_unsafe": false }, "sig": { "inputs": [ @@ -4231,56 +4458,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, - "links": { - "i8::checked_sub": 10050, - "i8::wrapping_sub": 10052 - }, - "name": "unchecked_sub", + "links": {}, + "name": "ln_1p", "span": { "begin": [ - 247, + 964, 5 ], "end": [ - 266, + 966, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10054": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i8.checked_sub_unsigned(2), Some(-1));\nassert_eq!((i8::MIN + 2).checked_sub_unsigned(3), None);\n```", + "docs": "Hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `sinh` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f64::consts::E;\nlet x = 1.0_f64;\n\nlet f = x.sinh();\n// Solving sinh() at 1 gives `(e^2-1)/(2e)`\nlet g = ((e * e) - 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10054, "inner": { "function": { @@ -4292,7 +4513,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -4302,71 +4523,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f64" } } } }, "links": {}, - "name": "checked_sub_unsigned", + "name": "sinh", "span": { "begin": [ - 247, + 994, 5 ], "end": [ - 266, + 996, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10055": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i8.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i8::MIN + 2).strict_sub_unsigned(3);\n```", + "docs": "Hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `cosh` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f64::consts::E;\nlet x = 1.0_f64;\nlet f = x.cosh();\n// Solving cosh() at 1 gives this result\nlet g = ((e * e) + 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\n// Same result\nassert!(abs_difference < 1.0e-10);\n```", "id": 10055, "inner": { "function": { @@ -4378,7 +4578,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -4388,53 +4588,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "strict_sub_unsigned", + "name": "cosh", "span": { "begin": [ - 247, + 1024, 5 ], "end": [ - 266, + 1026, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10056": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(i8::MAX.checked_mul(1), Some(i8::MAX));\nassert_eq!(i8::MAX.checked_mul(2), None);\n```", + "docs": "Hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tanh` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f64::consts::E;\nlet x = 1.0_f64;\n\nlet f = x.tanh();\n// Solving tanh() at 1 gives `(1 - e^(-2))/(1 + e^(-2))`\nlet g = (1.0 - e.powi(-2)) / (1.0 + e.powi(-2));\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference < 1.0e-10);\n```", "id": 10056, "inner": { "function": { @@ -4446,7 +4643,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -4456,71 +4653,53 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f64" } } } }, "links": {}, - "name": "checked_mul", + "name": "tanh", "span": { "begin": [ - 247, + 1054, 5 ], "end": [ - 266, + 1056, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10057": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[doc(alias = \"arcsinh\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(i8::MAX.strict_mul(1), i8::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = i8::MAX.strict_mul(2);\n```", + "docs": "Inverse hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 1.0_f64;\nlet f = x.sinh().asinh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference < 1.0e-10);\n```", "id": 10057, "inner": { "function": { @@ -4532,7 +4711,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -4542,53 +4721,53 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "strict_mul", + "name": "asinh", "span": { "begin": [ - 247, + 1080, 5 ], "end": [ - 266, + 1084, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10058": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[doc(alias = \"arccosh\")]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, + { + "other": "#[attr = Inline(Hint)]" + }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10i8.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", + "docs": "Inverse hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 1.0_f64;\nlet f = x.cosh().acosh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference < 1.0e-10);\n```", "id": 10058, "inner": { "function": { @@ -4600,7 +4779,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -4610,56 +4789,53 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "wrapping_mul", + "name": "acosh", "span": { "begin": [ - 247, + 1108, 5 ], "end": [ - 266, + 1114, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10059": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[doc(alias = \"arctanh\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > i8::MAX` or `self * rhs < i8::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: i8::checked_mul\n[`wrapping_mul`]: i8::wrapping_mul", + "docs": "Inverse hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = std::f64::consts::FRAC_PI_6;\nlet f = x.tanh().atanh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference < 1.0e-10);\n```", "id": 10059, "inner": { "function": { @@ -4671,8 +4847,8 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": true + "is_const": false, + "is_unsafe": false }, "sig": { "inputs": [ @@ -4681,36 +4857,27 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, - "links": { - "i8::checked_mul": 10056, - "i8::wrapping_mul": 10058 - }, - "name": "unchecked_mul", + "links": {}, + "name": "atanh", "span": { "begin": [ - 247, + 1138, 5 ], "end": [ - 266, + 1140, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, @@ -4790,7 +4957,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -4811,7 +4978,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -4832,7 +4999,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -4845,20 +5012,23 @@ "10060": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99842, is_soft: false}, feature: \"float_gamma\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 1).checked_div(-1), Some(127));\nassert_eq!(i8::MIN.checked_div(-1), None);\nassert_eq!((1i8).checked_div(0), None);\n```", + "docs": "Gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tgamma` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_gamma)]\nlet x = 5.0f64;\n\nlet abs_difference = (x.gamma() - 24.0).abs();\n\nassert!(abs_difference <= 1e-10);\n```", "id": 10060, "inner": { "function": { @@ -4870,7 +5040,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -4880,71 +5050,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f64" } } } }, "links": {}, - "name": "checked_div", + "name": "gamma", "span": { "begin": [ - 247, + 1165, 5 ], "end": [ - 266, + 1167, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10061": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99842, is_soft: false}, feature: \"float_gamma\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 1).strict_div(-1), 127);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i8).strict_div(0);\n```", + "docs": "Natural logarithm of the absolute value of the gamma function\n\nThe integer part of the tuple indicates the sign of the gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `lgamma_r` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_gamma)]\nlet x = 2.0f64;\n\nlet abs_difference = (x.ln_gamma().0 - 0.0).abs();\n\nassert!(abs_difference <= f64::EPSILON);\n```", "id": 10061, "inner": { "function": { @@ -4956,7 +5105,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -4966,53 +5115,57 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "tuple": [ + { + "primitive": "f64" + }, + { + "primitive": "i32" + } + ] } } } }, "links": {}, - "name": "strict_div", + "name": "ln_gamma", "span": { "begin": [ - 247, + 1194, 5 ], "end": [ - 266, + 1198, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10062": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136321, is_soft: false}, feature: \"float_erf\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 1).checked_div_euclid(-1), Some(127));\nassert_eq!(i8::MIN.checked_div_euclid(-1), None);\nassert_eq!((1i8).checked_div_euclid(0), None);\n```", + "docs": "Error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_erf)]\n/// The error function relates what percent of a normal distribution lies\n/// within `x` standard deviations (scaled by `1/sqrt(2)`).\nfn within_standard_deviations(x: f64) -> f64 {\n (x * std::f64::consts::FRAC_1_SQRT_2).erf() * 100.0\n}\n\n// 68% of a normal distribution is within one standard deviation\nassert!((within_standard_deviations(1.0) - 68.269).abs() < 0.01);\n// 95% of a normal distribution is within two standard deviations\nassert!((within_standard_deviations(2.0) - 95.450).abs() < 0.01);\n// 99.7% of a normal distribution is within three standard deviations\nassert!((within_standard_deviations(3.0) - 99.730).abs() < 0.01);\n```", "id": 10062, "inner": { "function": { @@ -5024,7 +5177,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -5034,71 +5187,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f64" } } } }, "links": {}, - "name": "checked_div_euclid", + "name": "erf", "span": { "begin": [ - 247, + 1231, 5 ], "end": [ - 266, + 1233, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10063": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136321, is_soft: false}, feature: \"float_erf\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 1).strict_div_euclid(-1), 127);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i8).strict_div_euclid(0);\n```", + "docs": "Complementary error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erfc` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_erf)]\nlet x: f64 = 0.123;\n\nlet one = x.erf() + x.erfc();\nlet abs_difference = (one - 1.0).abs();\n\nassert!(abs_difference <= 1e-10);\n```", "id": 10063, "inner": { "function": { @@ -5110,7 +5242,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -5120,482 +5252,287 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "strict_div_euclid", + "name": "erfc", "span": { "begin": [ - 247, + 1260, 5 ], "end": [ - 266, + 1262, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, "10064": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[(not(test))]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((i8::MIN + 1).checked_exact_div(-1), Some(127));\nassert_eq!((-5i8).checked_exact_div(2), None);\nassert_eq!(i8::MIN.checked_exact_div(-1), None);\nassert_eq!((1i8).checked_exact_div(0), None);\n```", + "docs": null, "id": 10064, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f64" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10023, + 10024, + 10025, + 10026, + 10027, + 10028, + 10029, + 10030, + 10031, + 10032, + 10033, + 10034, + 10035, + 10036, + 10037, + 10038, + 10039, + 10040, + 10041, + 10042, + 10043, + 10044, + 10045, + 10046, + 10047, + 10048, + 10049, + 10050, + 10051, + 10052, + 10053, + 10054, + 10055, + 10056, + 10057, + 10058, + 10059, + 10060, + 10061, + 10062, + 10063 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "checked_exact_div", + "name": null, "span": { "begin": [ - 247, - 5 + 28, + 1 ], "end": [ - 266, - 6 + 1263, + 2 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f64.rs" }, - "visibility": "public" + "visibility": "default" }, "10065": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64i8.exact_div(2), 32);\nassert_eq!(64i8.exact_div(32), 2);\nassert_eq!((i8::MIN + 1).exact_div(-1), 127);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65i8.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = i8::MIN.exact_div(-1);\n```", + "docs": "The radix or base of the internal representation of `f64`.", "id": 10065, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "2" } }, "links": {}, - "name": "exact_div", + "name": "RADIX", "span": { "begin": [ - 247, + 391, 5 ], "end": [ - 266, - 6 + 391, + 25 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10066": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == i8::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "docs": "Number of significant digits in base 2.\n\nNote that the size of the mantissa in the bitwise representation is one\nsmaller than this since the leading 1 is not stored explicitly.", "id": 10066, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": true + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "53" } }, - "links": { - "Self::checked_exact_div": 10064 - }, - "name": "unchecked_exact_div", + "links": {}, + "name": "MANTISSA_DIGITS", "span": { "begin": [ - 247, + 398, 5 ], "end": [ - 266, - 6 + 398, + 35 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10067": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i8.checked_rem(2), Some(1));\nassert_eq!(5i8.checked_rem(0), None);\nassert_eq!(i8::MIN.checked_rem(-1), None);\n```", + "docs": "Approximate number of significant digits in base 10.\n\nThis is the maximum x such that any decimal number with x\nsignificant digits can be converted to `f64` and back without loss.\n\nEqual to floor(log10 2[`MANTISSA_DIGITS`] − 1).\n\n[`MANTISSA_DIGITS`]: f64::MANTISSA_DIGITS", "id": 10067, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "value": "15" } }, - "links": {}, - "name": "checked_rem", + "links": { + "f64::MANTISSA_DIGITS": 10066 + }, + "name": "DIGITS", "span": { "begin": [ - 247, + 408, 5 ], "end": [ - 266, - 6 + 408, + 26 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10068": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[rustc_diagnostic_item = \"f64_epsilon\"]" }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i8.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i8.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_rem(-1);\n```", + "docs": "[Machine epsilon] value for `f64`.\n\nThis is the difference between `1.0` and the next larger representable number.\n\nEqual to 21 − [`MANTISSA_DIGITS`].\n\n[Machine epsilon]: https://en.wikipedia.org/wiki/Machine_epsilon\n[`MANTISSA_DIGITS`]: f64::MANTISSA_DIGITS", "id": 10068, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "2.2204460492503131e-16_f64" } }, - "links": {}, - "name": "strict_rem", + "links": { + "f64::MANTISSA_DIGITS": 10066 + }, + "name": "EPSILON", "span": { "begin": [ - 247, + 420, 5 ], "end": [ - 266, - 6 + 420, + 27 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10069": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i8.checked_rem_euclid(2), Some(1));\nassert_eq!(5i8.checked_rem_euclid(0), None);\nassert_eq!(i8::MIN.checked_rem_euclid(-1), None);\n```", + "docs": "Largest finite `f64` value.\n\nEqual to\n(1 − 2−[`MANTISSA_DIGITS`]) 2[`MAX_EXP`].\n\n[`MANTISSA_DIGITS`]: f64::MANTISSA_DIGITS\n[`MAX_EXP`]: f64::MAX_EXP", "id": 10069, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "value": "1.7976931348623157e+308_f64" } }, - "links": {}, - "name": "checked_rem_euclid", + "links": { + "f64::MANTISSA_DIGITS": 10066, + "f64::MAX_EXP": 10073 + }, + "name": "MAX", "span": { "begin": [ - 247, + 444, 5 ], "end": [ - 266, - 6 + 444, + 23 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, @@ -5677,7 +5614,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -5693,7 +5630,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -5702,12 +5639,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -5716,675 +5653,330 @@ "10070": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i8.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i8.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_rem_euclid(-1);\n```", + "docs": "Smallest finite `f64` value.\n\nEqual to −[`MAX`].\n\n[`MAX`]: f64::MAX", "id": 10070, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "-1.7976931348623157e+308_f64" } }, - "links": {}, - "name": "strict_rem_euclid", + "links": { + "f64::MAX": 10069 + }, + "name": "MIN", "span": { "begin": [ - 247, + 428, 5 ], "end": [ - 266, - 6 + 428, + 23 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10071": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5i8.checked_neg(), Some(-5));\nassert_eq!(i8::MIN.checked_neg(), None);\n```", + "docs": "One greater than the minimum possible *normal* power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact minimum possible *normal* power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all normal numbers representable by this type are\ngreater than or equal to 0.5 × 2MIN_EXP.", "id": 10071, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "value": "-1021" } }, "links": {}, - "name": "checked_neg", + "name": "MIN_EXP", "span": { "begin": [ - 247, + 454, 5 ], "end": [ - 266, - 6 + 454, + 27 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10072": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == i8::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: i8::checked_neg", + "docs": "Smallest positive normal `f64` value.\n\nEqual to 2[`MIN_EXP`] − 1.\n\n[`MIN_EXP`]: f64::MIN_EXP", "id": 10072, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": true + "assoc_const": { + "type": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "2.2250738585072014e-308_f64" } }, "links": { - "i8::checked_neg": 10071 + "f64::MIN_EXP": 10071 }, - "name": "unchecked_neg", + "name": "MIN_POSITIVE", "span": { "begin": [ - 247, + 435, 5 ], "end": [ - 266, - 6 + 435, + 32 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10073": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5i8.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_neg();\n", + "docs": "One greater than the maximum possible power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact maximum possible power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all numbers representable by this type are\nstrictly less than 2MAX_EXP.", "id": 10073, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "1024" } }, "links": {}, - "name": "strict_neg", + "name": "MAX_EXP", "span": { "begin": [ - 247, + 463, 5 ], "end": [ - 266, - 6 + 463, + 27 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10074": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1i8.checked_shl(4), Some(0x10));\nassert_eq!(0x1i8.checked_shl(129), None);\nassert_eq!(0x10i8.checked_shl(7), Some(0));\n```", + "docs": "Minimum x for which 10x is normal.\n\nEqual to ceil(log10 [`MIN_POSITIVE`]).\n\n[`MIN_POSITIVE`]: f64::MIN_POSITIVE", "id": 10074, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "value": "-307" } }, - "links": {}, - "name": "checked_shl", + "links": { + "f64::MIN_POSITIVE": 10072 + }, + "name": "MIN_10_EXP", "span": { "begin": [ - 247, + 471, 5 ], "end": [ - 266, - 6 + 471, + 30 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10075": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1i8.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1i8.strict_shl(129);\n```", + "docs": "Maximum x for which 10x is normal.\n\nEqual to floor(log10 [`MAX`]).\n\n[`MAX`]: f64::MAX", "id": 10075, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "308" } }, - "links": {}, - "name": "strict_shl", + "links": { + "f64::MAX": 10069 + }, + "name": "MAX_10_EXP", "span": { "begin": [ - 247, + 478, 5 ], "end": [ - 266, - 6 + 478, + 30 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10076": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[rustc_diagnostic_item = \"f64_nan\"]" }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: i8::checked_shl", + "docs": "Not a Number (NaN).\n\nNote that IEEE 754 doesn't define just a single NaN value; a plethora of bit patterns are\nconsidered to be NaN. Furthermore, the standard makes a difference between a \"signaling\" and\na \"quiet\" NaN, and allows inspecting its \"payload\" (the unspecified bits in the bit pattern)\nand its sign. See the [specification of NaN bit patterns](f32#nan-bit-patterns) for more\ninfo.\n\nThis constant is guaranteed to be a quiet NaN (on targets that follow the Rust assumptions\nthat the quiet/signaling bit being set to 1 indicates a quiet NaN). Beyond that, nothing is\nguaranteed about the specific bit pattern chosen here: both payload and sign are arbitrary.\nThe concrete bit pattern may change across Rust versions and target platforms.", "id": 10076, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": true + "assoc_const": { + "type": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "_" } }, "links": { - "i8::checked_shl": 10074 + "f32#nan-bit-patterns": 265 }, - "name": "unchecked_shl", + "name": "NAN", "span": { "begin": [ - 247, + 495, 5 ], "end": [ - 266, - 6 + 495, + 23 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10077": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1i8.unbounded_shl(4), 0x10);\nassert_eq!(0x1i8.unbounded_shl(129), 0);\n```", + "docs": "Infinity (∞).", "id": 10077, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "_" } }, "links": {}, - "name": "unbounded_shl", + "name": "INFINITY", "span": { "begin": [ - 247, + 498, 5 ], "end": [ - 266, - 6 + 498, + 28 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10078": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10i8.checked_shr(4), Some(0x1));\nassert_eq!(0x10i8.checked_shr(128), None);\n```", + "docs": "Negative infinity (−∞).", "id": 10078, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "value": "_" } }, "links": {}, - "name": "checked_shr", + "name": "NEG_INFINITY", "span": { "begin": [ - 247, + 501, 5 ], "end": [ - 266, - 6 + 501, + 32 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10079": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10i8.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10i8.strict_shr(128);\n```", + "docs": "Returns `true` if this value is NaN.\n\n```\nlet nan = f64::NAN;\nlet f = 7.0_f64;\n\nassert!(nan.is_nan());\nassert!(!f.is_nan());\n```", "id": 10079, "inner": { "function": { @@ -6406,33 +5998,27 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "bool" } } } }, "links": {}, - "name": "strict_shr", + "name": "is_nan", "span": { "begin": [ - 247, + 532, 5 ], "end": [ - 266, - 6 + 532, + 38 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, @@ -6514,7 +6100,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -6530,7 +6116,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -6539,12 +6125,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -6553,20 +6139,20 @@ "10080": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = TrackCaller]" + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: i8::checked_shr", + "docs": "Returns `true` if this value is positive infinity or negative infinity, and\n`false` otherwise.\n\n```\nlet f = 7.0f64;\nlet inf = f64::INFINITY;\nlet neg_inf = f64::NEG_INFINITY;\nlet nan = f64::NAN;\n\nassert!(!f.is_infinite());\nassert!(!nan.is_infinite());\n\nassert!(inf.is_infinite());\nassert!(neg_inf.is_infinite());\n```", "id": 10080, "inner": { "function": { @@ -6579,7 +6165,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -6588,55 +6174,47 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "bool" } } } }, - "links": { - "i8::checked_shr": 10078 - }, - "name": "unchecked_shr", + "links": {}, + "name": "is_infinite", "span": { "begin": [ - 247, + 555, 5 ], "end": [ - 266, - 6 + 555, + 43 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10081": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10i8.unbounded_shr(4), 0x1);\nassert_eq!(0x10i8.unbounded_shr(129), 0);\nassert_eq!(i8::MIN.unbounded_shr(129), -1);\n```", + "docs": "Returns `true` if this number is neither infinite nor NaN.\n\n```\nlet f = 7.0f64;\nlet inf: f64 = f64::INFINITY;\nlet neg_inf: f64 = f64::NEG_INFINITY;\nlet nan: f64 = f64::NAN;\n\nassert!(f.is_finite());\n\nassert!(!nan.is_finite());\nassert!(!inf.is_finite());\nassert!(!neg_inf.is_finite());\n```", "id": 10081, "inner": { "function": { @@ -6658,53 +6236,47 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "bool" } } } }, "links": {}, - "name": "unbounded_shr", + "name": "is_finite", "span": { "begin": [ - 247, + 580, 5 ], "end": [ - 266, - 6 + 580, + 41 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10082": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"is_subnormal\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5i8).checked_abs(), Some(5));\nassert_eq!(i8::MIN.checked_abs(), None);\n```", + "docs": "Returns `true` if the number is [subnormal].\n\n```\nlet min = f64::MIN_POSITIVE; // 2.2250738585072014e-308_f64\nlet max = f64::MAX;\nlet lower_than_min = 1.0e-308_f64;\nlet zero = 0.0_f64;\n\nassert!(!min.is_subnormal());\nassert!(!max.is_subnormal());\n\nassert!(!zero.is_subnormal());\nassert!(!f64::NAN.is_subnormal());\nassert!(!f64::INFINITY.is_subnormal());\n// Values between `0` and `min` are Subnormal.\nassert!(lower_than_min.is_subnormal());\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", "id": 10082, "inner": { "function": { @@ -6730,61 +6302,43 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "bool" } } } }, "links": {}, - "name": "checked_abs", + "name": "is_subnormal", "span": { "begin": [ - 247, + 608, 5 ], "end": [ - 266, - 6 + 608, + 44 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10083": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5i8).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_abs();\n```", + "docs": "Returns `true` if the number is neither zero, infinite,\n[subnormal], or NaN.\n\n```\nlet min = f64::MIN_POSITIVE; // 2.2250738585072014e-308f64\nlet max = f64::MAX;\nlet lower_than_min = 1.0e-308_f64;\nlet zero = 0.0f64;\n\nassert!(min.is_normal());\nassert!(max.is_normal());\n\nassert!(!zero.is_normal());\nassert!(!f64::NAN.is_normal());\nassert!(!f64::INFINITY.is_normal());\n// Values between `0` and `min` are Subnormal.\nassert!(!lower_than_min.is_normal());\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", "id": 10083, "inner": { "function": { @@ -6810,43 +6364,38 @@ ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "bool" } } } }, "links": {}, - "name": "strict_abs", + "name": "is_normal", "span": { "begin": [ - 247, + 635, 5 ], "end": [ - 266, - 6 + 635, + 41 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10084": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8i8.checked_pow(2), Some(64));\nassert_eq!(i8::MAX.checked_pow(2), None);\n```", + "docs": "Returns the floating point category of the number. If only one property\nis going to be tested, it is generally faster to use the specific\npredicate instead.\n\n```\nuse std::num::FpCategory;\n\nlet num = 12.4_f64;\nlet inf = f64::INFINITY;\n\nassert_eq!(num.classify(), FpCategory::Normal);\nassert_eq!(inf.classify(), FpCategory::Infinite);\n```", "id": 10084, "inner": { "function": { @@ -6868,71 +6417,51 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 4782, + "path": "FpCategory" } } } } }, "links": {}, - "name": "checked_pow", + "name": "classify", "span": { "begin": [ - 247, + 654, 5 ], "end": [ - 266, - 6 + 654, + 46 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10085": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8i8.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MAX.strict_pow(2);\n```", + "docs": "Returns `true` if `self` has a positive sign, including `+0.0`, NaNs with\npositive sign bit and positive infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_positive` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == 1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\nlet f = 7.0_f64;\nlet g = -7.0_f64;\n\nassert!(f.is_sign_positive());\nassert!(!g.is_sign_positive());\n```", "id": 10085, "inner": { "function": { @@ -6954,53 +6483,49 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "bool" } } } }, - "links": {}, - "name": "strict_pow", + "links": { + "f32#nan-bit-patterns": 265 + }, + "name": "is_sign_positive", "span": { "begin": [ - 247, + 691, 5 ], "end": [ - 266, - 6 + 691, + 48 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10086": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i8.checked_isqrt(), Some(3));\n```", + "docs": "Returns `true` if `self` has a negative sign, including `-0.0`, NaNs with\nnegative sign bit and negative infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_negative` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == -1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\nlet f = 7.0_f64;\nlet g = -7.0_f64;\n\nassert!(!f.is_sign_negative());\nassert!(g.is_sign_negative());\n```", "id": 10086, "inner": { "function": { @@ -7026,58 +6551,43 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "bool" } } } }, - "links": {}, - "name": "checked_isqrt", + "links": { + "f32#nan-bit-patterns": 265 + }, + "name": "is_sign_negative", "span": { "begin": [ - 247, + 725, 5 ], "end": [ - 266, - 6 + 725, + 48 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10087": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[doc(alias = \"nextUp\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i8.saturating_add(1), 101);\nassert_eq!(i8::MAX.saturating_add(100), i8::MAX);\nassert_eq!(i8::MIN.saturating_add(-1), i8::MIN);\n```", + "docs": "Returns the least number greater than `self`.\n\nLet `TINY` be the smallest representable positive `f64`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`NEG_INFINITY`], this returns [`MIN`];\n - if `self` is `-TINY`, this returns -0.0;\n - if `self` is -0.0 or +0.0, this returns `TINY`;\n - if `self` is [`MAX`] or [`INFINITY`], this returns [`INFINITY`];\n - otherwise the unique least value greater than `self` is returned.\n\nThe identity `x.next_up() == -(-x).next_down()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_up().next_down()` also holds.\n\n```rust\n// f64::EPSILON is the difference between 1.0 and the next number up.\nassert_eq!(1.0f64.next_up(), 1.0 + f64::EPSILON);\n// But not for most numbers.\nassert!(0.1f64.next_up() < 0.1 + f64::EPSILON);\nassert_eq!(9007199254740992f64.next_up(), 9007199254740994.0);\n```\n\nThis operation corresponds to IEEE-754 `nextUp`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", "id": 10087, "inner": { "function": { @@ -7099,53 +6609,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, - "links": {}, - "name": "saturating_add", + "links": { + "Self::INFINITY": 10077, + "Self::MAX": 10069, + "Self::MIN": 10070, + "Self::NEG_INFINITY": 10078 + }, + "name": "next_up", "span": { "begin": [ - 247, + 771, 5 ], "end": [ - 266, - 6 + 771, + 39 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10088": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[doc(alias = \"nextDown\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1i8.saturating_add_unsigned(2), 3);\nassert_eq!(i8::MAX.saturating_add_unsigned(100), i8::MAX);\n```", + "docs": "Returns the greatest number less than `self`.\n\nLet `TINY` be the smallest representable positive `f64`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`INFINITY`], this returns [`MAX`];\n - if `self` is `TINY`, this returns 0.0;\n - if `self` is -0.0 or +0.0, this returns `-TINY`;\n - if `self` is [`MIN`] or [`NEG_INFINITY`], this returns [`NEG_INFINITY`];\n - otherwise the unique greatest value less than `self` is returned.\n\nThe identity `x.next_down() == -(-x).next_up()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_down().next_up()` also holds.\n\n```rust\nlet x = 1.0f64;\n// Clamp value into range [0, 1).\nlet clamped = x.clamp(0.0, 1.0f64.next_down());\nassert!(clamped < 1.0);\nassert_eq!(clamped.next_up(), 1.0);\n```\n\nThis operation corresponds to IEEE-754 `nextDown`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", "id": 10088, "inner": { "function": { @@ -7167,40 +6674,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, - "links": {}, - "name": "saturating_add_unsigned", + "links": { + "Self::INFINITY": 10077, + "Self::MAX": 10069, + "Self::MIN": 10070, + "Self::NEG_INFINITY": 10078 + }, + "name": "next_down", "span": { "begin": [ - 247, + 822, 5 ], "end": [ - 266, - 6 + 822, + 41 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10089": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -7213,7 +6719,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i8.saturating_sub(127), -27);\nassert_eq!(i8::MIN.saturating_sub(100), i8::MIN);\nassert_eq!(i8::MAX.saturating_sub(-1), i8::MAX);\n```", + "docs": "Takes the reciprocal (inverse) of a number, `1/x`.\n\n```\nlet x = 2.0_f64;\nlet abs_difference = (x.recip() - (1.0 / x)).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10089, "inner": { "function": { @@ -7235,33 +6741,27 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "saturating_sub", + "name": "recip", "span": { "begin": [ - 247, + 854, 5 ], "end": [ - 266, - 6 + 854, + 36 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, @@ -7364,7 +6864,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -7389,11 +6889,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -7403,10 +6903,10 @@ "10090": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -7416,7 +6916,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i8.saturating_sub_unsigned(127), -27);\nassert_eq!(i8::MIN.saturating_sub_unsigned(100), i8::MIN);\n```", + "docs": "Converts radians to degrees.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet angle = std::f64::consts::PI;\n\nlet abs_difference = (angle.to_degrees() - 180.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10090, "inner": { "function": { @@ -7438,43 +6938,37 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "saturating_sub_unsigned", + "name": "to_degrees", "span": { "begin": [ - 247, + 879, 5 ], "end": [ - 266, - 6 + 879, + 41 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10091": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -7484,7 +6978,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i8.saturating_neg(), -100);\nassert_eq!((-100i8).saturating_neg(), 100);\nassert_eq!(i8::MIN.saturating_neg(), i8::MAX);\nassert_eq!(i8::MAX.saturating_neg(), i8::MIN + 1);\n```", + "docs": "Converts degrees to radians.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet angle = 180.0_f64;\n\nlet abs_difference = (angle.to_radians() - std::f64::consts::PI).abs();\n\nassert!(abs_difference < 1e-10);\n```", "id": 10091, "inner": { "function": { @@ -7510,43 +7004,43 @@ ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "saturating_neg", + "name": "to_radians", "span": { "begin": [ - 247, + 908, 5 ], "end": [ - 266, - 6 + 908, + 41 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10092": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i8.saturating_abs(), 100);\nassert_eq!((-100i8).saturating_abs(), 100);\nassert_eq!(i8::MIN.saturating_abs(), i8::MAX);\nassert_eq!((i8::MIN + 1).saturating_abs(), i8::MAX);\n```", + "docs": "Returns the maximum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for maxNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids maxNum's problems with associativity.\nThis also matches the behavior of libm’s fmax. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\nlet x = 1.0_f64;\nlet y = 2.0_f64;\n\nassert_eq!(x.max(y), y);\n```", "id": 10092, "inner": { "function": { @@ -7568,47 +7062,53 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "saturating_abs", + "name": "max", "span": { "begin": [ - 247, + 934, 5 ], "end": [ - 266, - 6 + 934, + 46 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10093": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10i8.saturating_mul(12), 120);\nassert_eq!(i8::MAX.saturating_mul(10), i8::MAX);\nassert_eq!(i8::MIN.saturating_mul(10), i8::MIN);\n```", + "docs": "Returns the minimum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for minNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids minNum's problems with associativity.\nThis also matches the behavior of libm’s fmin. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\nlet x = 1.0_f64;\nlet y = 2.0_f64;\n\nassert_eq!(x.min(y), x);\n```", "id": 10093, "inner": { "function": { @@ -7632,51 +7132,48 @@ } ], [ - "rhs", + "other", { - "primitive": "i8" + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "saturating_mul", + "name": "min", "span": { "begin": [ - 247, + 956, 5 ], "end": [ - 266, - 6 + 956, + 46 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10094": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 91079, is_soft: false}, feature: \"float_minimum_maximum\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i8.saturating_div(2), 2);\nassert_eq!(i8::MAX.saturating_div(-1), i8::MIN + 1);\nassert_eq!(i8::MIN.saturating_div(-1), i8::MAX);\n\n```", + "docs": "Returns the maximum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f64::max`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(float_minimum_maximum)]\nlet x = 1.0_f64;\nlet y = 2.0_f64;\n\nassert_eq!(x.maximum(y), y);\nassert!(x.maximum(f64::NAN).is_nan());\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the greater\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", "id": 10094, "inner": { "function": { @@ -7700,51 +7197,51 @@ } ], [ - "rhs", + "other", { - "primitive": "i8" + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, - "links": {}, - "name": "saturating_div", + "links": { + "`f64::max`": 10092, + "f32#nan-bit-patterns": 265 + }, + "name": "maximum", "span": { "begin": [ - 247, + 983, 5 ], "end": [ - 266, - 6 + 983, + 50 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10095": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 91079, is_soft: false}, feature: \"float_minimum_maximum\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4i8).saturating_pow(3), -64);\nassert_eq!(i8::MIN.saturating_pow(2), i8::MAX);\nassert_eq!(i8::MIN.saturating_pow(3), i8::MIN);\n```", + "docs": "Returns the minimum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f64::min`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(float_minimum_maximum)]\nlet x = 1.0_f64;\nlet y = 2.0_f64;\n\nassert_eq!(x.minimum(y), x);\nassert!(x.minimum(f64::NAN).is_nan());\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the lesser\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", "id": 10095, "inner": { "function": { @@ -7768,51 +7265,52 @@ } ], [ - "exp", + "other", { - "primitive": "u32" + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, - "links": {}, - "name": "saturating_pow", + "links": { + "`f64::min`": 10093, + "f32#nan-bit-patterns": 265 + }, + "name": "minimum", "span": { "begin": [ - 247, + 1010, 5 ], "end": [ - 266, - 6 + 1010, + 50 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10096": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[doc(alias = \"average\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_add_unsigned(27), 127);\nassert_eq!(i8::MAX.wrapping_add_unsigned(2), i8::MIN + 1);\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\nThis returns NaN when *either* argument is NaN or if a combination of\n+inf and -inf is provided as arguments.\n\n# Examples\n\n```\nassert_eq!(1f64.midpoint(4.0), 2.5);\nassert_eq!((-5.5f64).midpoint(8.0), 1.25);\n```", "id": 10096, "inner": { "function": { @@ -7836,41 +7334,38 @@ } ], [ - "rhs", + "other", { - "primitive": "u8" + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "wrapping_add_unsigned", + "name": "midpoint", "span": { "begin": [ - 247, + 1029, 5 ], "end": [ - 266, - 6 + 1029, + 51 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10097": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"float_approx_unchecked_to\"}}]" }, { "must_use": { @@ -7880,20 +7375,64 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i8.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2i8).wrapping_sub_unsigned(u8::MAX), -1);\n```", + "docs": "Rounds toward zero and converts to any primitive integer type,\nassuming that the value is finite and fits in that type.\n\n```\nlet value = 4.6_f64;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, 4);\n\nlet value = -128.9_f64;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, i8::MIN);\n```\n\n# Safety\n\nThe value must:\n\n* Not be `NaN`\n* Not be infinite\n* Be representable in the return type `Int`, after truncating off its fractional part", "id": 10097, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Int" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Int" + } + } + ], + "constraints": [] + } + }, + "id": 9866, + "path": "FloatToInt" + } + } + } + ], + "generic_params": [], + "type": { + "primitive": "f64" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": false + "is_const": false, + "is_unsafe": true }, "sig": { "inputs": [ @@ -7902,53 +7441,47 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "generic": "Int" } } } }, "links": {}, - "name": "wrapping_sub_unsigned", + "name": "to_int_unchecked", "span": { "begin": [ - 247, + 1068, 5 ], "end": [ - 266, - 6 + 1070, + 31 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10098": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"float_bits_conv\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", + "docs": "Raw transmutation from `u64`.\n\nThis is currently identical to `transmute::(v)` on all platforms.\nIt turns out this is incredibly portable, for two reasons:\n\n* Floats and Ints have the same endianness on all supported platforms.\n* IEEE 754 very precisely specifies the bit layout of floats.\n\nHowever there is one caveat: prior to the 2008 version of IEEE 754, how\nto interpret the NaN signaling bit wasn't actually specified. Most platforms\n(notably x86 and ARM) picked the interpretation that was ultimately\nstandardized in 2008, but some didn't (notably MIPS). As a result, all\nsignaling NaNs on MIPS are quiet NaNs on x86, and vice-versa.\n\nRather than trying to preserve signaling-ness cross-platform, this\nimplementation favors preserving the exact bits. This means that\nany payloads encoded in NaNs will be preserved even if the result of\nthis method is sent over the network from an x86 machine to a MIPS one.\n\nIf the results of this method are only manipulated by the same\narchitecture that produced them, then there is no portability concern.\n\nIf the input isn't NaN, then there is no portability concern.\n\nIf you don't care about signaling-ness (very likely), then there is no\nportability concern.\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n# Examples\n\n```\nlet v = f64::from_bits(0x4029000000000000);\nassert_eq!(v, 12.5);\n```", "id": 10098, "inner": { "function": { @@ -7966,47 +7499,41 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "v", { - "primitive": "i8" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "wrapping_div", + "name": "from_bits", "span": { "begin": [ - 247, + 1145, 5 ], "end": [ - 266, - 6 + 1145, + 43 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10099": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"float_bits_conv\"}}]" }, { "must_use": { @@ -8016,7 +7543,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", + "docs": "Raw transmutation to `u64`.\n\nThis is currently identical to `transmute::(self)` on all platforms.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n# Examples\n\n```\nassert!((1f64).to_bits() != 1f64 as u64); // to_bits() is not casting!\nassert_eq!((12.5f64).to_bits(), 0x4029000000000000);\n```", "id": 10099, "inner": { "function": { @@ -8038,33 +7565,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "u64" } } } }, - "links": {}, - "name": "wrapping_div_euclid", + "links": { + "Self::from_bits": 10098 + }, + "name": "to_bits", "span": { "begin": [ - 247, + 1099, 5 ], "end": [ - 266, - 6 + 1099, + 38 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, @@ -8124,7 +7647,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -8149,11 +7672,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -8163,10 +7686,10 @@ "10100": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { @@ -8176,7 +7699,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", + "docs": "Returns the memory representation of this floating point number as a byte array in\nbig-endian (network) byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f64.to_be_bytes();\nassert_eq!(bytes, [0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);\n```", "id": 10100, "inner": { "function": { @@ -8198,43 +7721,44 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "wrapping_rem", + "links": { + "Self::from_bits": 10098 + }, + "name": "to_be_bytes", "span": { "begin": [ - 247, + 1168, 5 ], "end": [ - 266, - 6 + 1168, + 46 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10101": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { @@ -8244,7 +7768,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", + "docs": "Returns the memory representation of this floating point number as a byte array in\nlittle-endian byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f64.to_le_bytes();\nassert_eq!(bytes, [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x40]);\n```", "id": 10101, "inner": { "function": { @@ -8266,43 +7790,44 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "wrapping_rem_euclid", + "links": { + "Self::from_bits": 10098 + }, + "name": "to_le_bytes", "span": { "begin": [ - 247, + 1189, 5 ], "end": [ - 266, - 6 + 1189, + 46 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10102": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { @@ -8312,7 +7837,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_neg(), -100);\nassert_eq!((-100i8).wrapping_neg(), 100);\nassert_eq!(i8::MIN.wrapping_neg(), i8::MIN);\n```", + "docs": "Returns the memory representation of this floating point number as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate, instead.\n\n[`to_be_bytes`]: f64::to_be_bytes\n[`to_le_bytes`]: f64::to_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f64.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n } else {\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x40]\n }\n);\n```", "id": 10102, "inner": { "function": { @@ -8338,43 +7863,52 @@ ], "is_c_variadic": false, "output": { - "primitive": "i8" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "wrapping_neg", + "links": { + "Self::from_bits": 10098, + "f64::to_be_bytes": 10100, + "f64::to_le_bytes": 10101 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 247, + 1223, 5 ], "end": [ - 266, - 6 + 1223, + 46 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10103": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1i8).wrapping_shl(7), -128);\nassert_eq!((-1i8).wrapping_shl(128), -1);\n```", + "docs": "Creates a floating point value from its representation as a byte array in big endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f64::from_be_bytes([0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);\nassert_eq!(value, 12.5);\n```", "id": 10103, "inner": { "function": { @@ -8392,59 +7926,58 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u32" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": { - "Self::rotate_left": 10036 + "Self::from_bits": 10098 }, - "name": "wrapping_shl", + "name": "from_be_bytes", "span": { "begin": [ - 247, + 1242, 5 ], "end": [ - 266, - 6 + 1242, + 55 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10104": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128i8).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", + "docs": "Creates a floating point value from its representation as a byte array in little endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f64::from_le_bytes([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x40]);\nassert_eq!(value, 12.5);\n```", "id": 10104, "inner": { "function": { @@ -8462,59 +7995,58 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u32" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": { - "Self::rotate_right": 10037 + "Self::from_bits": 10098 }, - "name": "wrapping_shr", + "name": "from_le_bytes", "span": { "begin": [ - 247, + 1261, 5 ], "end": [ - 266, - 6 + 1261, + 55 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10105": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_abs(), 100);\nassert_eq!((-100i8).wrapping_abs(), 100);\nassert_eq!(i8::MIN.wrapping_abs(), i8::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", + "docs": "Creates a floating point value from its representation as a byte array in native endian.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: f64::from_be_bytes\n[`from_le_bytes`]: f64::from_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f64::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n} else {\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x40]\n});\nassert_eq!(value, 12.5);\n```", "id": 10105, "inner": { "function": { @@ -8532,51 +8064,60 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, - "links": {}, - "name": "wrapping_abs", + "links": { + "Self::from_bits": 10098, + "f64::from_be_bytes": 10103, + "f64::from_le_bytes": 10104 + }, + "name": "from_ne_bytes", "span": { "begin": [ - 247, + 1291, 5 ], "end": [ - 266, - 6 + 1291, + 55 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10106": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143800, is_soft: false}, feature: \"const_cmp\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 62, patch: 0})}, feature: \"total_cmp\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100i8.unsigned_abs(), 100u8);\nassert_eq!((-100i8).unsigned_abs(), 100u8);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", + "docs": "Returns the ordering between `self` and `other`.\n\nUnlike the standard partial comparison between floating point numbers,\nthis comparison always produces an ordering in accordance to\nthe `totalOrder` predicate as defined in the IEEE 754 (2008 revision)\nfloating point standard. The values are ordered in the following sequence:\n\n- negative quiet NaN\n- negative signaling NaN\n- negative infinity\n- negative numbers\n- negative subnormal numbers\n- negative zero\n- positive zero\n- positive subnormal numbers\n- positive numbers\n- positive infinity\n- positive signaling NaN\n- positive quiet NaN.\n\nThe ordering established by this function does not always agree with the\n[`PartialOrd`] and [`PartialEq`] implementations of `f64`. For example,\nthey consider negative and positive zero equal, while `total_cmp`\ndoesn't.\n\nThe interpretation of the signaling NaN bit follows the definition in\nthe IEEE 754 standard, which may not match the interpretation by some of\nthe older, non-conformant (e.g. MIPS) hardware implementations.\n\n# Example\n\n```\nstruct GoodBoy {\n name: String,\n weight: f64,\n}\n\nlet mut bois = vec![\n GoodBoy { name: \"Pucci\".to_owned(), weight: 0.1 },\n GoodBoy { name: \"Woofer\".to_owned(), weight: 99.0 },\n GoodBoy { name: \"Yapper\".to_owned(), weight: 10.0 },\n GoodBoy { name: \"Chonk\".to_owned(), weight: f64::INFINITY },\n GoodBoy { name: \"Abs. Unit\".to_owned(), weight: f64::NAN },\n GoodBoy { name: \"Floaty\".to_owned(), weight: -5.0 },\n];\n\nbois.sort_by(|a, b| a.weight.total_cmp(&b.weight));\n\n// `f64::NAN` could be positive or negative, which will affect the sort order.\nif f64::NAN.is_sign_negative() {\n assert!(bois.into_iter().map(|b| b.weight)\n .zip([f64::NAN, -5.0, 0.1, 10.0, 99.0, f64::INFINITY].iter())\n .all(|(a, b)| a.to_bits() == b.to_bits()))\n} else {\n assert!(bois.into_iter().map(|b| b.weight)\n .zip([-5.0, 0.1, 10.0, 99.0, f64::INFINITY, f64::NAN].iter())\n .all(|(a, b)| a.to_bits() == b.to_bits()))\n}\n```", "id": 10106, "inner": { "function": { @@ -8596,49 +8137,74 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "f64" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": null, + "id": 2007, + "path": "Ordering" + } } } } }, - "links": {}, - "name": "unsigned_abs", + "links": { + "`PartialEq`": 121, + "`PartialOrd`": 125 + }, + "name": "total_cmp", "span": { "begin": [ - 247, + 1358, 5 ], "end": [ - 266, - 6 + 1358, + 72 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10107": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"clamp\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3i8.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", + "docs": "Restrict a value to a certain interval unless it is NaN.\n\nReturns `max` if `self` is greater than `max`, and `min` if `self` is\nless than `min`. Otherwise this returns `self`.\n\nNote that this function returns NaN if the initial value was NaN as\nwell.\n\n# Panics\n\nPanics if `min > max`, `min` is NaN, or `max` is NaN.\n\n# Examples\n\n```\nassert!((-3.0f64).clamp(-2.0, 1.0) == -2.0);\nassert!((0.0f64).clamp(-2.0, 1.0) == 0.0);\nassert!((2.0f64).clamp(-2.0, 1.0) == 1.0);\nassert!((f64::NAN).clamp(-2.0, 1.0).is_nan());\n```", "id": 10107, "inner": { "function": { @@ -8662,51 +8228,57 @@ } ], [ - "exp", + "min", { - "primitive": "u32" + "primitive": "f64" + } + ], + [ + "max", + { + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f64" } } } }, "links": {}, - "name": "wrapping_pow", + "name": "clamp", "span": { "begin": [ - 247, + 1414, 5 ], "end": [ - 266, - 6 + 1414, + 60 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10108": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_add(2), (7, false));\nassert_eq!(i8::MAX.overflowing_add(1), (i8::MIN, true));\n```", + "docs": "Computes the absolute value of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet x = 3.5_f64;\nlet y = -3.5_f64;\n\nassert_eq!(x.abs(), x);\nassert_eq!(y.abs(), -y);\n\nassert!(f64::NAN.abs().is_nan());\n```", "id": 10108, "inner": { "function": { @@ -8728,60 +8300,47 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f64" } } } }, "links": {}, - "name": "overflowing_add", + "name": "abs", "span": { "begin": [ - 247, + 1451, 5 ], "end": [ - 266, - 6 + 1451, + 34 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10109": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 8-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 3 MAX (a = 3 × 2^8 + 2^8 - 1)\n// + 5 7 (b = 5 × 2^8 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^8 + 6)\n\nlet (a1, a0): (u8, u8) = (3, u8::MAX);\nlet (b1, b0): (u8, u8) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", + "docs": "Returns a number that represents the sign of `self`.\n\n- `1.0` if the number is positive, `+0.0` or `INFINITY`\n- `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`\n- NaN if the number is NaN\n\n# Examples\n\n```\nlet f = 3.5_f64;\n\nassert_eq!(f.signum(), 1.0);\nassert_eq!(f64::NEG_INFINITY.signum(), -1.0);\n\nassert!(f64::NAN.signum().is_nan());\n```", "id": 10109, "inner": { "function": { @@ -8803,48 +8362,27 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } - ], - [ - "carry", - { - "primitive": "bool" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f64" } } } }, - "links": { - "Self::overflowing_add": 10819 - }, - "name": "carrying_add", + "links": {}, + "name": "signum", "span": { "begin": [ - 447, + 1475, 5 ], "end": [ - 465, - 6 + 1475, + 37 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, @@ -8929,7 +8467,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -8947,8 +8485,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -8964,7 +8502,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -8973,11 +8511,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -8987,17 +8525,20 @@ "10110": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 35, patch: 0})}, feature: \"copysign\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`u8::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^8 + 2^8 - 1)\n// + -5 9 (b = -5 × 2^8 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^8 + 8)\n\nlet (a1, a0): (i8, u8) = (10, u8::MAX);\nlet (b1, b0): (i8, u8) = (-5, 9);\nlet carry0 = false;\n\n// u8::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// i8::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", + "docs": "Returns a number composed of the magnitude of `self` and the sign of\n`sign`.\n\nEqual to `self` if the sign of `self` and `sign` are the same, otherwise equal to `-self`.\nIf `self` is a NaN, then a NaN with the same payload as `self` and the sign bit of `sign` is\nreturned.\n\nIf `sign` is a NaN, then this operation will still carry over its sign into the result. Note\nthat IEEE 754 doesn't assign any meaning to the sign bit in case of a NaN, and as Rust\ndoesn't guarantee that the bit pattern of NaNs are conserved over arithmetic operations, the\nresult of `copysign` with `sign` being a NaN might produce an unexpected or non-portable\nresult. See the [specification of NaN bit patterns](primitive@f32#nan-bit-patterns) for more\ninfo.\n\n# Examples\n\n```\nlet f = 3.5_f64;\n\nassert_eq!(f.copysign(0.42), 3.5_f64);\nassert_eq!(f.copysign(-0.42), -3.5_f64);\nassert_eq!((-f).copysign(0.42), 3.5_f64);\nassert_eq!((-f).copysign(-0.42), -3.5_f64);\n\nassert!(f64::NAN.copysign(1.0).is_nan());\n```", "id": 10110, "inner": { "function": { @@ -9021,67 +8562,53 @@ } ], [ - "rhs", - { - "primitive": "i8" - } - ], - [ - "carry", + "sign", { - "primitive": "bool" + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f64" } } } }, "links": { - "Self::overflowing_add": 10108, - "`u8::carrying_add`": 10109 + "primitive@f32#nan-bit-patterns": 265 }, - "name": "carrying_add", + "name": "copysign", "span": { "begin": [ - 247, + 1509, 5 ], "end": [ - 266, - 6 + 1509, + 50 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10111": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i8.overflowing_add_unsigned(2), (3, false));\nassert_eq!((i8::MIN).overflowing_add_unsigned(u8::MAX), (i8::MAX, false));\nassert_eq!((i8::MAX - 2).overflowing_add_unsigned(3), (i8::MIN, true));\n```", + "docs": "Float addition that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10111, "inner": { "function": { @@ -9107,56 +8634,51 @@ [ "rhs", { - "primitive": "u8" + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f64" } } } }, - "links": {}, - "name": "overflowing_add_unsigned", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_add", "span": { "begin": [ - 247, + 1520, 5 ], "end": [ - 266, - 6 + 1520, + 54 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, "10112": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_sub(2), (3, false));\nassert_eq!(i8::MIN.overflowing_sub(1), (i8::MAX, true));\n```", + "docs": "Float subtraction that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10112, "inner": { "function": { @@ -9182,57 +8704,122 @@ [ "rhs", { - "primitive": "i8" + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "tuple": [ + "primitive": "f64" + } + } + } + }, + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_sub", + "span": { + "begin": [ + 1531, + 5 + ], + "end": [ + 1531, + 54 + ], + "filename": "checkouts/rust/library/core/src/num/f64.rs" + }, + "visibility": "public" + }, + "10113": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Float multiplication that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "id": 10113, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", { - "primitive": "i8" - }, + "generic": "Self" + } + ], + [ + "rhs", { - "primitive": "bool" + "primitive": "f64" } ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f64" } } } }, - "links": {}, - "name": "overflowing_sub", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_mul", "span": { "begin": [ - 247, + 1542, 5 ], "end": [ - 266, - 6 + 1542, + 54 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, - "10113": { + "10114": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 9 6 (a = 9 × 2^8 + 6)\n// - 5 7 (b = 5 × 2^8 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^8 + 2^8 - 1)\n\nlet (a1, a0): (u8, u8) = (9, 6);\nlet (b1, b0): (u8, u8) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, u8::MAX));\n```", - "id": 10113, + "docs": "Float division that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "id": 10114, "inner": { "function": { "generics": { @@ -9257,60 +8844,52 @@ [ "rhs", { - "primitive": "u8" - } - ], - [ - "borrow", - { - "primitive": "bool" + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f64" } } } }, - "links": {}, - "name": "borrowing_sub", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_div", "span": { "begin": [ - 447, + 1553, 5 ], "end": [ - 465, - 6 + 1553, + 54 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, - "10114": { + "10115": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`u8::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^8 + 8)\n// - -5 9 (b = -5 × 2^8 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^8 + 2^8 - 1)\n\nlet (a1, a0): (i8, u8) = (6, 8);\nlet (b1, b0): (i8, u8) = (-5, 9);\nlet borrow0 = false;\n\n// u8::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// i8::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, u8::MAX));\n```", - "id": 10114, + "docs": "Float remainder that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "id": 10115, "inner": { "function": { "generics": { @@ -9335,484 +8914,1028 @@ [ "rhs", { - "primitive": "i8" - } - ], - [ - "borrow", - { - "primitive": "bool" + "primitive": "f64" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f64" } } } }, "links": { - "Self::overflowing_sub": 10112, - "`u8::borrowing_sub`": 10113 + "primitive@f32#algebraic-operators": 265 }, - "name": "borrowing_sub", + "name": "algebraic_rem", "span": { "begin": [ - 247, + 1564, 5 ], "end": [ - 266, - 6 + 1564, + 54 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, "visibility": "public" }, - "10115": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "10116": { + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i8.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((i8::MAX).overflowing_sub_unsigned(u8::MAX), (i8::MIN, false));\nassert_eq!((i8::MIN + 2).overflowing_sub_unsigned(3), (i8::MAX, true));\n```", - "id": 10115, + "docs": null, + "id": 10116, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f64" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10065, + 10066, + 10067, + 10068, + 10070, + 10072, + 10069, + 10071, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10079, + 10080, + 10081, + 10082, + 10083, + 10084, + 10085, + 10086, + 10087, + 10088, + 10089, + 10090, + 10091, + 10092, + 10093, + 10094, + 10095, + 10096, + 10097, + 10099, + 10098, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "overflowing_sub_unsigned", + "name": null, "span": { "begin": [ - 247, - 5 + 388, + 1 ], "end": [ - 266, - 6 + 388, + 9 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f64.rs" }, - "visibility": "public" + "visibility": "default" }, - "10116": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "10117": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10117, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f64" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "10118": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", - "id": 10116, + "docs": null, + "id": 10118, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f64" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "10119": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10119, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "1012": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1012, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "i8" + }, + "id": 762, + "path": "Drain" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } }, - { - "primitive": "bool" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } } - ] - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, "links": {}, - "name": "overflowing_mul", + "name": null, "span": { "begin": [ - 247, - 5 + 827, + 1 ], "end": [ - 266, - 6 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "10117": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "10120": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10120, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f64" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" } } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "10121": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(i8::MAX.carrying_mul(i8::MAX, i8::MAX), (i8::MAX.unsigned_abs() + 1, i8::MAX / 2));\n```", - "id": 10117, + "docs": null, + "id": 10121, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f64" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "10122": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10122, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ], - [ - "carry", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u8" + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "10123": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10123, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f64" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } }, - { - "primitive": "i8" + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } } - ] - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, - "links": { - "`Self::widening_mul`": 10118 - }, - "name": "carrying_mul", + "links": {}, + "name": null, "span": { "begin": [ - 247, - 5 + 212, + 1 ], "end": [ - 266, - 6 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "10118": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, + "10124": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", - "id": 10118, + "docs": null, + "id": 10124, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "for": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u8" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } }, - { - "primitive": "i8" + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } } - ] - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, - "links": { - "`Self::carrying_mul`": 10117 - }, - "name": "widening_mul", + "links": {}, + "name": null, "span": { "begin": [ - 247, - 5 + 221, + 1 ], "end": [ - 266, - 6 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "10119": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "10125": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10125, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f64" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 422 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 424, + "path": "CloneToUninit" } } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 515, + 1 + ], + "end": [ + 515, + 42 + ], + "filename": "checkouts/rust/library/core/src/clone.rs" + }, + "visibility": "default" + }, + "10126": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(i8::MAX.carrying_mul_add(i8::MAX, i8::MAX, i8::MAX), (u8::MAX, i8::MAX / 2));\n```", - "id": 10119, + "docs": null, + "id": 10126, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "for": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ], - [ - "carry", - { - "primitive": "i8" - } - ], - [ - "add", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u8" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } }, - { - "primitive": "i8" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } } - ] - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, - "links": { - "`Self::carrying_mul`": 10117, - "`Self::widening_mul`": 10118 + "links": {}, + "name": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "name": "carrying_mul_add", + "visibility": "default" + }, + "10127": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10127, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f64" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, "span": { "begin": [ - 247, - 5 + 785, + 1 ], "end": [ - 266, - 6 + 785, + 28 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "1012": { + "10128": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1012, + "id": 10128, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, + "primitive": "f64" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ { - "type": { - "generic": "V" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } } } ], - "constraints": [] + "generic_params": [], + "type": { + "generic": "U" + } } - }, - "id": 762, - "path": "Drain" - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 811, + 1 + ], + "end": [ + 813, + 27 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "10129": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10129, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f64" }, "generics": { "params": [ @@ -9876,8 +9999,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -9893,7 +10016,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -9902,263 +10025,402 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "10120": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, + "1013": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_div(2), (2, false));\nassert_eq!(i8::MIN.overflowing_div(-1), (i8::MIN, true));\n```", - "id": 10120, + "docs": null, + "id": 1013, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "i8" + }, + "id": 762, + "path": "Drain" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } }, - { - "primitive": "bool" + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } } - ] - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, "links": {}, - "name": "overflowing_div", + "name": null, "span": { "begin": [ - 247, - 5 + 138, + 1 ], "end": [ - 266, - 6 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "10121": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, + "10130": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_div_euclid(2), (2, false));\nassert_eq!(i8::MIN.overflowing_div_euclid(-1), (i8::MIN, true));\n```", - "id": 10121, + "docs": null, + "id": 10130, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "for": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "i8" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } }, - { - "primitive": "bool" + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } } - ] - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, "links": {}, - "name": "overflowing_div_euclid", + "name": null, "span": { "begin": [ - 247, - 5 + 138, + 1 ], "end": [ - 266, - 6 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "10122": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "10131": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10131, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f64" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" } } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 85, + 1 + ], + "end": [ + 87, + 14 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "10132": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_rem(2), (1, false));\nassert_eq!(i8::MIN.overflowing_rem(-1), (0, true));\n```", - "id": 10122, + "docs": null, + "id": 10132, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "for": { + "primitive": "f64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "i8" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } }, - { - "primitive": "bool" + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } } - ] - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" } } }, "links": {}, - "name": "overflowing_rem", + "name": null, "span": { "begin": [ - 247, - 5 + 2866, + 1 ], "end": [ - 266, - 6 + 2866, + 46 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, - "visibility": "public" + "visibility": "default" }, - "10123": { + "10133": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_rem_euclid(2), (1, false));\nassert_eq!(i8::MIN.overflowing_rem_euclid(-1), (0, true));\n```", - "id": 10123, + "docs": "Raises a number to a floating point power.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 2.0_f128;\nlet abs_difference = (x.powf(2.0) - (x * x)).abs();\nassert!(abs_difference <= f128::EPSILON);\n\nassert_eq!(f128::powf(1.0, f128::NAN), 1.0);\nassert_eq!(f128::powf(f128::NAN, 0.0), 1.0);\n# }\n```", + "id": 10133, "inner": { "function": { "generics": { @@ -10169,7 +10431,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -10181,59 +10443,55 @@ } ], [ - "rhs", + "n", { - "primitive": "i8" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f128" } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "powf", "span": { "begin": [ - 247, + 46, 5 ], "end": [ - 266, + 48, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10124": { + "10134": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2i8.overflowing_neg(), (-2, false));\nassert_eq!(i8::MIN.overflowing_neg(), (i8::MIN, true));\n```", - "id": 10124, + "docs": "Returns `e^(self)`, (the exponential function).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet one = 1.0f128;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10134, "inner": { "function": { "generics": { @@ -10244,7 +10502,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -10258,51 +10516,47 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f128" } } } }, "links": {}, - "name": "overflowing_neg", + "name": "exp", "span": { "begin": [ - 247, + 78, 5 ], "end": [ - 266, + 80, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10125": { + "10135": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1i8.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10i8.overflowing_shl(7), (0, false));\n```", - "id": 10125, + "docs": "Returns `2^(self)`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 2.0f128;\n\n// 2^2 - 4 == 0\nlet abs_difference = (f.exp2() - 4.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10135, "inner": { "function": { "generics": { @@ -10313,7 +10567,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -10323,61 +10577,51 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f128" } } } }, "links": {}, - "name": "overflowing_shl", + "name": "exp2", "span": { "begin": [ - 247, + 108, 5 ], "end": [ - 266, + 110, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10126": { + "10136": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10i8.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", - "id": 10126, + "docs": "Returns the natural logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet one = 1.0f128;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nassert_eq!(0_f128.ln(), f128::NEG_INFINITY);\nassert!((-42_f128).ln().is_nan());\n# }\n```", + "id": 10136, "inner": { "function": { "generics": { @@ -10388,7 +10632,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -10398,61 +10642,51 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f128" } } } }, "links": {}, - "name": "overflowing_shr", + "name": "ln", "span": { "begin": [ - 247, + 153, 5 ], "end": [ - 266, + 155, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10127": { + "10137": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., i8::MIN for values of type i8),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10i8.overflowing_abs(), (10, false));\nassert_eq!((-10i8).overflowing_abs(), (10, false));\nassert_eq!((i8::MIN).overflowing_abs(), (i8::MIN, true));\n```", - "id": 10127, + "docs": "Returns the logarithm of the number with respect to an arbitrary base.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\nThe result might not be correctly rounded owing to implementation details;\n`self.log2()` can produce more accurate results for base 2, and\n`self.log10()` can produce more accurate results for base 10.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet five = 5.0f128;\n\n// log5(5) - 1 == 0\nlet abs_difference = (five.log(5.0) - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nassert_eq!(0_f128.log(10.0), f128::NEG_INFINITY);\nassert!((-42_f128).log(10.0).is_nan());\n# }\n```", + "id": 10137, "inner": { "function": { "generics": { @@ -10463,7 +10697,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -10473,55 +10707,57 @@ { "generic": "Self" } + ], + [ + "base", + { + "primitive": "f128" + } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f128" } } } }, "links": {}, - "name": "overflowing_abs", + "name": "log", "span": { "begin": [ - 247, + 200, 5 ], "end": [ - 266, + 202, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10128": { + "10138": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3i8.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", - "id": 10128, + "docs": "Returns the base 2 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet two = 2.0f128;\n\n// log2(2) - 1 == 0\nlet abs_difference = (two.log2() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nassert_eq!(0_f128.log2(), f128::NEG_INFINITY);\nassert!((-42_f128).log2().is_nan());\n# }\n```", + "id": 10138, "inner": { "function": { "generics": { @@ -10532,7 +10768,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -10542,61 +10778,51 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i8" - }, - { - "primitive": "bool" - } - ] + "primitive": "f128" } } } }, "links": {}, - "name": "overflowing_pow", + "name": "log2", "span": { "begin": [ - 247, + 243, 5 ], "end": [ - 266, + 245, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10129": { + "10139": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: i8 = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", - "id": 10129, + "docs": "Returns the base 10 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet ten = 10.0f128;\n\n// log10(10) - 1 == 0\nlet abs_difference = (ten.log10() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nassert_eq!(0_f128.log10(), f128::NEG_INFINITY);\nassert!((-42_f128).log10().is_nan());\n# }\n```", + "id": 10139, "inner": { "function": { "generics": { @@ -10607,7 +10833,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -10617,46 +10843,40 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, "links": {}, - "name": "pow", + "name": "log10", "span": { "begin": [ - 247, + 286, 5 ], "end": [ - 266, + 288, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "1013": { + "1014": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1013, + "id": 1014, "inner": { "impl": { "blanket_impl": { - "generic": "T" + "generic": "I" }, "for": { "resolved_path": { @@ -10694,31 +10914,28 @@ "is_synthetic": false } }, - "name": "T" + "name": "I" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 49, + "path": "Iterator" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "I" } } } @@ -10728,13 +10945,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 858, + 859, + 860 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 47, + "path": "IntoIterator" } } }, @@ -10742,38 +10961,38 @@ "name": null, "span": { "begin": [ - 138, + 314, 1 ], "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" + 314, + 37 + ], + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" }, "visibility": "default" }, - "10130": { + "10140": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i8.isqrt(), 3);\n```", - "id": 10130, + "docs": "Returns the cube root of a number.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n\nThis function currently corresponds to the `cbrtf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 8.0f128;\n\n// x^(1/3) - 2 == 0\nlet abs_difference = (x.cbrt() - 2.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10140, "inner": { "function": { "generics": { @@ -10784,7 +11003,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -10798,47 +11017,47 @@ ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, "links": {}, - "name": "isqrt", + "name": "cbrt", "span": { "begin": [ - 247, + 320, 5 ], "end": [ - 266, + 322, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10131": { + "10141": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i8 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", - "id": 10131, + "docs": "Compute the distance between the origin and a point (`x`, `y`) on the\nEuclidean plane. Equivalently, compute the length of the hypotenuse of a\nright-angle triangle with other sides having length `x.abs()` and\n`y.abs()`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n\nThis function currently corresponds to the `hypotf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 2.0f128;\nlet y = 3.0f128;\n\n// sqrt(x^2 + y^2)\nlet abs_difference = (x.hypot(y) - (x.powi(2) + y.powi(2)).sqrt()).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10141, "inner": { "function": { "generics": { @@ -10849,7 +11068,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -10861,58 +11080,55 @@ } ], [ - "rhs", + "other", { - "primitive": "i8" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, "links": {}, - "name": "div_euclid", + "name": "hypot", "span": { "begin": [ - 247, + 358, 5 ], "end": [ - 266, + 360, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10132": { + "10142": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i8 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = i8::MIN.rem_euclid(-1);\n```", - "id": 10132, + "docs": "Computes the sine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = std::f128::consts::FRAC_PI_2;\n\nlet abs_difference = (x.sin() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10142, "inner": { "function": { "generics": { @@ -10923,7 +11139,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -10933,54 +11149,51 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, "links": {}, - "name": "rem_euclid", + "name": "sin", "span": { "begin": [ - 247, + 387, 5 ], "end": [ - 266, + 389, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10133": { + "10143": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i8 = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", - "id": 10133, + "docs": "Computes the cosine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 2.0 * std::f128::consts::PI;\n\nlet abs_difference = (x.cos() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10143, "inner": { "function": { "generics": { @@ -10991,7 +11204,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11001,54 +11214,51 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, "links": {}, - "name": "div_floor", + "name": "cos", "span": { "begin": [ - 247, + 416, 5 ], "end": [ - 266, + 418, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10134": { + "10144": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i8 = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", - "id": 10134, + "docs": "Computes the tangent of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tanf128` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = std::f128::consts::FRAC_PI_4;\nlet abs_difference = (x.tan() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10144, "inner": { "function": { "generics": { @@ -11059,7 +11269,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11069,51 +11279,54 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, "links": {}, - "name": "div_ceil", + "name": "tan", "span": { "begin": [ - 247, + 447, 5 ], "end": [ - 266, + 449, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10135": { + "10145": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[doc(alias = \"arcsin\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i8.next_multiple_of(8), 16);\nassert_eq!(23_i8.next_multiple_of(8), 24);\nassert_eq!(16_i8.next_multiple_of(-8), 16);\nassert_eq!(23_i8.next_multiple_of(-8), 16);\nassert_eq!((-16_i8).next_multiple_of(8), -16);\nassert_eq!((-23_i8).next_multiple_of(8), -16);\nassert_eq!((-16_i8).next_multiple_of(-8), -16);\nassert_eq!((-23_i8).next_multiple_of(-8), -24);\n```", - "id": 10135, + "docs": "Computes the arcsine of a number. Return value is in radians in\nthe range [-pi/2, pi/2] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `asinf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = std::f128::consts::FRAC_PI_4;\n\n// asin(sin(pi/2))\nlet abs_difference = (f.sin().asin() - f).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10145, "inner": { "function": { "generics": { @@ -11124,7 +11337,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11134,51 +11347,54 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, "links": {}, - "name": "next_multiple_of", + "name": "asin", "span": { "begin": [ - 247, + 483, 5 ], "end": [ - 266, + 485, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10136": { + "10146": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[doc(alias = \"arccos\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i8.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_i8.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_i8.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_i8.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_i8).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_i8).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_i8).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_i8).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_i8.checked_next_multiple_of(0), None);\nassert_eq!(i8::MAX.checked_next_multiple_of(2), None);\n```", - "id": 10136, + "docs": "Computes the arccosine of a number. Return value is in radians in\nthe range [0, pi] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `acosf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = std::f128::consts::FRAC_PI_4;\n\n// acos(cos(pi/4))\nlet abs_difference = (f.cos().acos() - std::f128::consts::FRAC_PI_4).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10146, "inner": { "function": { "generics": { @@ -11189,7 +11405,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11199,72 +11415,54 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, "links": {}, - "name": "checked_next_multiple_of", + "name": "acos", "span": { "begin": [ - 247, + 519, 5 ], "end": [ - 266, + 521, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10137": { + "10147": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[doc(alias = \"arctan\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5i8.ilog(5), 1);\n```", - "id": 10137, + "docs": "Computes the arctangent of a number. Return value is in radians in the\nrange [-pi/2, pi/2];\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `atanf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 1.0f128;\n\n// atan(tan(1))\nlet abs_difference = (f.tan().atan() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10147, "inner": { "function": { "generics": { @@ -11275,7 +11473,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11285,57 +11483,51 @@ { "generic": "Self" } - ], - [ - "base", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "f128" } } } }, "links": {}, - "name": "ilog", + "name": "atan", "span": { "begin": [ - 247, + 554, 5 ], "end": [ - 266, + 556, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10138": { + "10148": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10i8.ilog10(), 1);\n```", - "id": 10138, + "docs": "Computes the four quadrant arctangent of `self` (`y`) and `other` (`x`) in radians.\n\n | `x` | `y` | Piecewise Definition | Range |\n |---------|---------|----------------------|---------------|\n | `>= +0` | `>= +0` | `arctan(y/x)` | `[+0, +pi/2]` |\n | `>= +0` | `<= -0` | `arctan(y/x)` | `[-pi/2, -0]` |\n | `<= -0` | `>= +0` | `arctan(y/x) + pi` | `[+pi/2, +pi]`|\n | `<= -0` | `<= -0` | `arctan(y/x) - pi` | `[-pi, -pi/2]`|\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `atan2f128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\n// Positive angles measured counter-clockwise\n// from positive x axis\n// -pi/4 radians (45 deg clockwise)\nlet x1 = 3.0f128;\nlet y1 = -3.0f128;\n\n// 3pi/4 radians (135 deg counter-clockwise)\nlet x2 = -3.0f128;\nlet y2 = 3.0f128;\n\nlet abs_difference_1 = (y1.atan2(x1) - (-std::f128::consts::FRAC_PI_4)).abs();\nlet abs_difference_2 = (y2.atan2(x2) - (3.0 * std::f128::consts::FRAC_PI_4)).abs();\n\nassert!(abs_difference_1 <= f128::EPSILON);\nassert!(abs_difference_2 <= f128::EPSILON);\n# }\n```", + "id": 10148, "inner": { "function": { "generics": { @@ -11346,7 +11538,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11356,48 +11548,55 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f128" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "f128" } } } }, "links": {}, - "name": "ilog10", + "name": "atan2", "span": { "begin": [ - 247, + 603, 5 ], "end": [ - 266, + 605, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10139": { + "10149": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[doc(alias = \"sincos\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5i8.checked_ilog(5), Some(1));\n```", - "id": 10139, + "docs": "Simultaneously computes the sine and cosine of the number, `x`. Returns\n`(sin(x), cos(x))`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `(f128::sin(x),\nf128::cos(x))`. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = std::f128::consts::FRAC_PI_4;\nlet f = x.sin_cos();\n\nlet abs_difference_0 = (f.0 - x.sin()).abs();\nlet abs_difference_1 = (f.1 - x.cos()).abs();\n\nassert!(abs_difference_0 <= f128::EPSILON);\nassert!(abs_difference_1 <= f128::EPSILON);\n# }\n```", + "id": 10149, "inner": { "function": { "generics": { @@ -11408,7 +11607,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11418,174 +11617,98 @@ { "generic": "Self" } - ], - [ - "base", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "f128" }, - "id": 51, - "path": "Option" - } + { + "primitive": "f128" + } + ] } } } }, "links": {}, - "name": "checked_ilog", + "name": "sin_cos", "span": { "begin": [ - 247, + 639, 5 ], "end": [ - 266, + 641, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "1014": { + "1015": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1014, + "id": 1015, "inner": { - "impl": { - "blanket_impl": { - "generic": "I" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 762, - "path": "Drain" - } - }, + "assoc_type": { + "bounds": [], "generics": { - "params": [ + "params": [], + "where_predicates": [] + }, + "type": { + "tuple": [ { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "I" - } - ], - "where_predicates": [ + "generic": "K" + }, { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 49, - "path": "Iterator" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "I" - } - } + "generic": "V" } ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 858, - 859, - 860 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 47, - "path": "IntoIterator" } } }, "links": {}, - "name": null, + "name": "Item", "span": { "begin": [ - 314, - 1 + 2256, + 5 ], "end": [ - 314, - 37 + 2256, + 24 ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "10140": { + "10150": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2i8.checked_ilog2(), Some(1));\n```", - "id": 10140, + "docs": "Returns `e^(self) - 1` in a way that is accurate even if the\nnumber is close to zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `expm1f128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 1e-8_f128;\n\n// for very small x, e^x is approximately 1 + x + x^2 / 2\nlet approx = x + x * x / 2.0;\nlet abs_difference = (x.exp_m1() - approx).abs();\n\nassert!(abs_difference < 1e-10);\n# }\n```", + "id": 10150, "inner": { "function": { "generics": { @@ -11596,7 +11719,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11610,59 +11733,50 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, "links": {}, - "name": "checked_ilog2", + "name": "exp_m1", "span": { "begin": [ - 247, + 674, 5 ], "end": [ - 266, + 676, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10141": { + "10151": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[doc(alias = \"log1p\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10i8.checked_ilog10(), Some(1));\n```", - "id": 10141, + "docs": "Returns `ln(1+n)` (natural logarithm) more accurately than if\nthe operations were performed separately.\n\nThis returns NaN when `n < -1.0`, and negative infinity when `n == -1.0`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `log1pf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 1e-8_f128;\n\n// for very small x, ln(1 + x) is approximately x - x^2 / 2\nlet approx = x - x * x / 2.0;\nlet abs_difference = (x.ln_1p() - approx).abs();\n\nassert!(abs_difference < 1e-10);\n# }\n```\n\nOut-of-range values:\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nassert_eq!((-1.0_f128).ln_1p(), f128::NEG_INFINITY);\nassert!((-2.0_f128).ln_1p().is_nan());\n# }\n```", + "id": 10151, "inner": { "function": { "generics": { @@ -11673,7 +11787,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11687,59 +11801,47 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, "links": {}, - "name": "checked_ilog10", + "name": "ln_1p", "span": { "begin": [ - 247, + 723, 5 ], "end": [ - 266, + 725, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10142": { + "10152": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`i8::MIN`\ncannot be represented as an\n`i8`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`i8::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10i8.abs(), 10);\nassert_eq!((-10i8).abs(), 10);\n```", - "id": 10142, + "docs": "Hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `sinhf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet e = std::f128::consts::E;\nlet x = 1.0f128;\n\nlet f = x.sinh();\n// Solving sinh() at 1 gives `(e^2-1)/(2e)`\nlet g = ((e * e) - 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10152, "inner": { "function": { "generics": { @@ -11750,7 +11852,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11764,46 +11866,47 @@ ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, - "links": { - "Self::unsigned_abs": 10106 - }, - "name": "abs", + "links": {}, + "name": "sinh", "span": { "begin": [ - 247, + 759, 5 ], "end": [ - 266, + 761, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10143": { + "10153": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100i8.abs_diff(80), 20u8);\nassert_eq!(100i8.abs_diff(110), 10u8);\nassert_eq!((-100i8).abs_diff(80), 180u8);\nassert_eq!((-100i8).abs_diff(-120), 20u8);\nassert_eq!(i8::MIN.abs_diff(i8::MAX), u8::MAX);\n```", - "id": 10143, + "docs": "Hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `coshf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet e = std::f128::consts::E;\nlet x = 1.0f128;\nlet f = x.cosh();\n// Solving cosh() at 1 gives this result\nlet g = ((e * e) + 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\n// Same result\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10153, "inner": { "function": { "generics": { @@ -11814,7 +11917,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11824,54 +11927,51 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "f128" } } } }, "links": {}, - "name": "abs_diff", + "name": "cosh", "span": { "begin": [ - 247, + 795, 5 ], "end": [ - 266, + 797, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10144": { + "10154": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10i8.signum(), 1);\nassert_eq!(0i8.signum(), 0);\nassert_eq!((-10i8).signum(), -1);\n```", - "id": 10144, + "docs": "Hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tanhf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet e = std::f128::consts::E;\nlet x = 1.0f128;\n\nlet f = x.tanh();\n// Solving tanh() at 1 gives `(1 - e^(-2))/(1 + e^(-2))`\nlet g = (1.0 - e.powi(-2)) / (1.0 + e.powi(-2));\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10154, "inner": { "function": { "generics": { @@ -11882,7 +11982,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11896,44 +11996,50 @@ ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, "links": {}, - "name": "signum", + "name": "tanh", "span": { "begin": [ - 247, + 831, 5 ], "end": [ - 266, + 833, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10145": { + "10155": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[doc(alias = \"arcsinh\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10i8.is_positive());\nassert!(!(-10i8).is_positive());\n```", - "id": 10145, + "docs": "Inverse hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 1.0f128;\nlet f = x.sinh().asinh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10155, "inner": { "function": { "generics": { @@ -11944,7 +12050,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -11958,44 +12064,50 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f128" } } } }, "links": {}, - "name": "is_positive", + "name": "asinh", "span": { "begin": [ - 247, + 862, 5 ], "end": [ - 266, + 866, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10146": { + "10156": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[doc(alias = \"arccosh\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10i8).is_negative());\nassert!(!10i8.is_negative());\n```", - "id": 10146, + "docs": "Inverse hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 1.0f128;\nlet f = x.cosh().acosh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10156, "inner": { "function": { "generics": { @@ -12006,7 +12118,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -12020,44 +12132,50 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f128" } } } }, "links": {}, - "name": "is_negative", + "name": "acosh", "span": { "begin": [ - 247, + 895, 5 ], "end": [ - 266, + 901, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10147": { + "10157": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[doc(alias = \"arctanh\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = u8::MAX;\n\nassert_eq!(n.cast_signed(), -1i8);\n```", - "id": 10147, + "docs": "Inverse hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = std::f128::consts::FRAC_PI_6;\nlet f = x.tanh().atanh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= 1e-5);\n# }\n```", + "id": 10157, "inner": { "function": { "generics": { @@ -12068,7 +12186,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -12082,44 +12200,47 @@ ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, "links": {}, - "name": "cast_signed", + "name": "atanh", "span": { "begin": [ - 447, + 930, 5 ], "end": [ - 465, + 932, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10148": { + "10158": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n# Examples\n\n```\nlet bytes = 0x12i8.to_be_bytes();\nassert_eq!(bytes, [0x12]);\n```", - "id": 10148, + "docs": "Gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tgammaf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n#![feature(float_gamma)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 5.0f128;\n\nlet abs_difference = (x.gamma() - 24.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10158, "inner": { "function": { "generics": { @@ -12130,7 +12251,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -12144,52 +12265,47 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } - } + "primitive": "f128" } } } }, - "links": { - "Self::cast_unsigned": 10035, - "u8::cast_signed": 10147 - }, - "name": "to_be_bytes", + "links": {}, + "name": "gamma", "span": { "begin": [ - 247, + 964, 5 ], "end": [ - 266, + 966, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10149": { + "10159": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n# Examples\n\n```\nlet bytes = 0x12i8.to_le_bytes();\nassert_eq!(bytes, [0x12]);\n```", - "id": 10149, + "docs": "Natural logarithm of the absolute value of the gamma function\n\nThe integer part of the tuple indicates the sign of the gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `lgammaf128_r` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n#![feature(float_gamma)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 2.0f128;\n\nlet abs_difference = (x.ln_gamma().0 - 0.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10159, "inner": { "function": { "generics": { @@ -12200,7 +12316,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -12214,92 +12330,136 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "1", - "type": { - "primitive": "u8" + "tuple": [ + { + "primitive": "f128" + }, + { + "primitive": "i32" } - } + ] } } } }, - "links": { - "Self::cast_unsigned": 10035, - "u8::cast_signed": 10147 - }, - "name": "to_le_bytes", + "links": {}, + "name": "ln_gamma", "span": { "begin": [ - 247, + 1000, 5 ], "end": [ - 266, + 1004, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "1015": { - "attrs": [], + "1016": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1015, + "id": 1016, "inner": { - "assoc_type": { - "bounds": [], + "function": { "generics": { "params": [], "where_predicates": [] }, - "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } - ] + } } } }, "links": {}, - "name": "Item", + "name": "next", "span": { "begin": [ - 2261, + 2259, 5 ], "end": [ 2261, - 24 + 6 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "10150": { + "10160": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12i8.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12]\n } else {\n [0x12]\n }\n);\n```", - "id": 10150, + "docs": "Error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erff128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n#![feature(float_erf)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n/// The error function relates what percent of a normal distribution lies\n/// within `x` standard deviations (scaled by `1/sqrt(2)`).\nfn within_standard_deviations(x: f128) -> f128 {\n (x * std::f128::consts::FRAC_1_SQRT_2).erf() * 100.0\n}\n\n// 68% of a normal distribution is within one standard deviation\nassert!((within_standard_deviations(1.0) - 68.269).abs() < 0.01);\n// 95% of a normal distribution is within two standard deviations\nassert!((within_standard_deviations(2.0) - 95.450).abs() < 0.01);\n// 99.7% of a normal distribution is within three standard deviations\nassert!((within_standard_deviations(3.0) - 99.730).abs() < 0.01);\n# }\n```", + "id": 10160, "inner": { "function": { "generics": { @@ -12310,7 +12470,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -12324,54 +12484,47 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } - } + "primitive": "f128" } } } }, - "links": { - "Self::cast_unsigned": 10035, - "Self::to_be_bytes": 10148, - "Self::to_le_bytes": 10149, - "u8::cast_signed": 10147 - }, - "name": "to_ne_bytes", + "links": {}, + "name": "erf", "span": { "begin": [ - 247, + 1042, 5 ], "end": [ - 266, + 1044, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10151": { + "10161": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n# Examples\n\n```\nlet value = i8::from_be_bytes([0x12]);\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_i8(input: &mut &[u8]) -> i8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i8::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 10151, + "docs": "Complementary error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erfcf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n#![feature(float_erf)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\nlet x: f128 = 0.123;\n\nlet one = x.erf() + x.erfc();\nlet abs_difference = (one - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "id": 10161, "inner": { "function": { "generics": { @@ -12382,736 +12535,357 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "i8" + "primitive": "f128" } } } }, - "links": { - "Self::cast_unsigned": 10035, - "u8::cast_signed": 10147 - }, - "name": "from_be_bytes", + "links": {}, + "name": "erfc", "span": { "begin": [ - 247, + 1076, 5 ], "end": [ - 266, + 1078, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, "visibility": "public" }, - "10152": { + "10162": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[(not(test))]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n# Examples\n\n```\nlet value = i8::from_le_bytes([0x12]);\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_i8(input: &mut &[u8]) -> i8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i8::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 10152, + "docs": null, + "id": 10162, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f128" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10133, + 10134, + 10135, + 10136, + 10137, + 10138, + 10139, + 10140, + 10141, + 10142, + 10143, + 10144, + 10145, + 10146, + 10147, + 10148, + 10149, + 10150, + 10151, + 10152, + 10153, + 10154, + 10155, + 10156, + 10157, + 10158, + 10159, + 10160, + 10161 + ], + "provided_trait_methods": [], + "trait": null } }, - "links": { - "Self::cast_unsigned": 10035, - "u8::cast_signed": 10147 - }, - "name": "from_le_bytes", + "links": {}, + "name": null, "span": { "begin": [ - 247, - 5 + 19, + 1 ], "end": [ - 266, - 6 + 1079, + 2 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/num/f128.rs" }, - "visibility": "public" + "visibility": "default" }, - "10153": { + "10163": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n# Examples\n\n```\nlet value = i8::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12]\n} else {\n [0x12]\n});\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_i8(input: &mut &[u8]) -> i8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i8::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 10153, + "docs": "The radix or base of the internal representation of `f128`.", + "id": 10163, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "2" } }, - "links": { - "Self::cast_unsigned": 10035, - "Self::from_be_bytes": 10151, - "Self::from_le_bytes": 10152, - "u8::cast_signed": 10147 - }, - "name": "from_ne_bytes", + "links": {}, + "name": "RADIX", "span": { "begin": [ - 247, + 146, 5 ], "end": [ - 266, - 6 + 146, + 25 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "10154": { + "10164": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"i8_legacy_fn_min_value\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`i8::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", - "id": 10154, + "deprecation": null, + "docs": "Number of significant digits in base 2.\n\nNote that the size of the mantissa in the bitwise representation is one\nsmaller than this since the leading 1 is not stored explicitly.", + "id": 10164, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "113" } }, - "links": { - "`i8::MIN`": 10021 - }, - "name": "min_value", + "links": {}, + "name": "MANTISSA_DIGITS", "span": { "begin": [ - 247, + 153, 5 ], "end": [ - 266, - 6 + 153, + 35 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "10155": { + "10165": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"i8_legacy_fn_max_value\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`i8::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", - "id": 10155, + "deprecation": null, + "docs": "Approximate number of significant digits in base 10.\n\nThis is the maximum x such that any decimal number with x\nsignificant digits can be converted to `f128` and back without loss.\n\nEqual to floor(log10 2[`MANTISSA_DIGITS`] − 1).\n\n[`MANTISSA_DIGITS`]: f128::MANTISSA_DIGITS", + "id": 10165, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "33" } }, "links": { - "`i8::MAX`": 10022 + "f128::MANTISSA_DIGITS": 10164 }, - "name": "max_value", + "name": "DIGITS", "span": { "begin": [ - 247, + 164, 5 ], "end": [ - 266, - 6 + 164, + 26 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "10156": { + "10166": { "attrs": [ { - "other": "#[doc(alias = \"average_floor\")]" - }, - { - "other": "#[doc(alias = \"average_ceil\")]" - }, - { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" + "other": "#[rustc_diagnostic_item = \"f128_epsilon\"]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0i8.midpoint(4), 2);\nassert_eq!((-1i8).midpoint(2), 0);\nassert_eq!((-7i8).midpoint(0), -3);\nassert_eq!(0i8.midpoint(-7), -3);\nassert_eq!(0i8.midpoint(7), 3);\n```", - "id": 10156, + "docs": "[Machine epsilon] value for `f128`.\n\nThis is the difference between `1.0` and the next larger representable number.\n\nEqual to 21 − [`MANTISSA_DIGITS`].\n\n[Machine epsilon]: https://en.wikipedia.org/wiki/Machine_epsilon\n[`MANTISSA_DIGITS`]: f128::MANTISSA_DIGITS", + "id": 10166, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f128" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i8" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i8" - } - } + "value": "1.92592994438723585305597794258492732e-34_f128" } }, - "links": {}, - "name": "midpoint", + "links": { + "f128::MANTISSA_DIGITS": 10164 + }, + "name": "EPSILON", "span": { "begin": [ - 267, + 176, 5 ], "end": [ - 267, - 39 + 176, + 28 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "10157": { - "attrs": [], + "10167": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, - "id": 10157, + "docs": "Largest finite `f128` value.\n\nEqual to\n(1 − 2−[`MANTISSA_DIGITS`]) 2[`MAX_EXP`].\n\n[`MANTISSA_DIGITS`]: f128::MANTISSA_DIGITS\n[`MAX_EXP`]: f128::MAX_EXP", + "id": 10167, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i8" - }, - "generics": { - "params": [], - "where_predicates": [] + "assoc_const": { + "type": { + "primitive": "f128" }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10021, - 10022, - 10023, - 10024, - 10025, - 10027, - 10028, - 10029, - 10030, - 10031, - 10032, - 10033, - 10034, - 10035, - 10036, - 10037, - 10038, - 10039, - 10040, - 10041, - 10042, - 10043, - 10044, - 10045, - 10047, - 10048, - 10049, - 10050, - 10051, - 10053, - 10054, - 10055, - 10056, - 10057, - 10059, - 10060, - 10061, - 10062, - 10063, - 10064, - 10065, - 10066, - 10067, - 10068, - 10069, - 10070, - 10071, - 10072, - 10073, - 10074, - 10075, - 10076, - 10077, - 10078, - 10079, - 10080, - 10081, - 10082, - 10083, - 10084, - 10085, - 10086, - 10087, - 10088, - 10089, - 10090, - 10091, - 10092, - 10093, - 10094, - 10095, - 10046, - 10096, - 10052, - 10097, - 10058, - 10098, - 10099, - 10100, - 10101, - 10102, - 10103, - 10104, - 10105, - 10106, - 10107, - 10108, - 10110, - 10111, - 10112, - 10114, - 10115, - 10116, - 10118, - 10117, - 10119, - 10120, - 10121, - 10122, - 10123, - 10124, - 10125, - 10126, - 10127, - 10128, - 10129, - 10130, - 10131, - 10132, - 10133, - 10134, - 10135, - 10136, - 10137, - 10026, - 10138, - 10139, - 10140, - 10141, - 10142, - 10143, - 10144, - 10145, - 10146, - 10148, - 10149, - 10150, - 10151, - 10152, - 10153, - 10154, - 10155, - 10156 - ], - "provided_trait_methods": [], - "trait": null + "value": "1.18973149535723176508575932662800702e+4932_f128" } }, - "links": {}, - "name": null, + "links": { + "f128::MANTISSA_DIGITS": 10164, + "f128::MAX_EXP": 10171 + }, + "name": "MAX", "span": { "begin": [ - 246, - 1 + 200, + 5 ], "end": [ - 246, - 8 + 200, + 24 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, - "visibility": "default" + "visibility": "public" }, - "10158": { + "10168": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(i8::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(i8::from_str_radix(\"1 \", 10).is_err());\n```", - "id": 10158, + "docs": "Smallest finite `f128` value.\n\nEqual to −[`MAX`].\n\n[`MAX`]: f128::MAX", + "id": 10168, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f128" }, - "sig": { - "inputs": [ - [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - ], - [ - "radix", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } + "value": "-1.18973149535723176508575932662800702e+4932_f128" } }, - "links": {}, - "name": "from_str_radix", + "links": { + "f128::MAX": 10167 + }, + "name": "MIN", "span": { "begin": [ - 1630, - 1 + 184, + 5 ], "end": [ - 1630, - 56 + 184, + 24 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "10159": { + "10169": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i8::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i8::from_ascii(b\"1 \").is_err());\n```", - "id": 10159, + "docs": "One greater than the minimum possible *normal* power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact minimum possible *normal* power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all normal numbers representable by this type are\ngreater than or equal to 0.5 × 2MIN_EXP.", + "id": 10169, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } + "value": "-16_381" } }, "links": {}, - "name": "from_ascii", + "name": "MIN_EXP", "span": { "begin": [ - 1630, - 1 + 210, + 5 ], "end": [ - 1630, - 56 + 210, + 27 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "1016": { + "1017": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -13120,7 +12894,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1016, + "id": 1017, "inner": { "function": { "generics": { @@ -13140,7 +12914,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -13151,1071 +12925,304 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" + "tuple": [ + { + "primitive": "usize" + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" } - ] - } + } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 51, - "path": "Option" - } + } + ] } } } }, "links": {}, - "name": "next", + "name": "size_hint", "span": { "begin": [ - 2264, + 2263, 5 ], "end": [ - 2266, + 2265, 6 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "10160": { + "10170": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i8::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i8::from_ascii_radix(b\"1 \", 10).is_err());\n```", - "id": 10160, + "docs": "Smallest positive normal `f128` value.\n\nEqual to 2[`MIN_EXP`] − 1.\n\n[`MIN_EXP`]: f128::MIN_EXP", + "id": 10170, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f128" }, - "sig": { - "inputs": [ - [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ], - [ - "radix", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } + "value": "3.36210314311209350626267781732175260e-4932_f128" } }, - "links": {}, - "name": "from_ascii_radix", + "links": { + "f128::MIN_EXP": 10169 + }, + "name": "MIN_POSITIVE", "span": { "begin": [ - 1630, - 1 + 191, + 5 ], "end": [ - 1630, - 56 + 191, + 33 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "10161": { - "attrs": [], + "10171": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, - "id": 10161, + "docs": "One greater than the maximum possible power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact maximum possible power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all numbers representable by this type are\nstrictly less than 2MAX_EXP.", + "id": 10171, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i8" - }, - "generics": { - "params": [], - "where_predicates": [] + "assoc_const": { + "type": { + "primitive": "i32" }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10158, - 10159, - 10160 - ], - "provided_trait_methods": [], - "trait": null + "value": "16_384" } }, "links": {}, - "name": null, + "name": "MAX_EXP", "span": { "begin": [ - 1630, - 1 + 219, + 5 ], "end": [ - 1630, - 56 + 219, + 27 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, - "visibility": "default" + "visibility": "public" }, - "10163": { + "10172": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0i8;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32i8;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = i8 :: MAX;\nassert_eq!(n2.format_into(&mut buf), i8 :: MAX.to_string());\n```", - "id": 10163, + "docs": "Minimum x for which 10x is normal.\n\nEqual to ceil(log10 [`MIN_POSITIVE`]).\n\n[`MIN_POSITIVE`]: f128::MIN_POSITIVE", + "id": 10172, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "buf", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 10162, - "path": "NumBuffer" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } + "value": "-4_931" } }, "links": { - "`NumBuffer`": 10162 + "f128::MIN_POSITIVE": 10170 }, - "name": "format_into", + "name": "MIN_10_EXP", "span": { "begin": [ - 562, + 227, 5 ], "end": [ - 562, - 95 + 227, + 30 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "10164": { - "attrs": [], + "10173": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, - "id": 10164, + "docs": "Maximum x for which 10x is normal.\n\nEqual to floor(log10 [`MAX`]).\n\n[`MAX`]: f128::MAX", + "id": 10173, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i8" - }, - "generics": { - "params": [], - "where_predicates": [] + "assoc_const": { + "type": { + "primitive": "i32" }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10163 - ], - "provided_trait_methods": [], - "trait": null + "value": "4_932" } }, - "links": {}, - "name": null, + "links": { + "f128::MAX": 10167 + }, + "name": "MAX_10_EXP", "span": { "begin": [ - 562, + 234, 5 ], "end": [ - 562, - 95 + 234, + 30 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, - "visibility": "default" + "visibility": "public" }, - "10165": { + "10174": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[rustc_diagnostic_item = \"f128_nan\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "The smallest value that can be represented by this integer type\n(−215).\n\n# Examples\n\n```\nassert_eq!(i16::MIN, -32768);\n```", - "id": 10165, + "docs": "Not a Number (NaN).\n\nNote that IEEE 754 doesn't define just a single NaN value; a plethora of bit patterns are\nconsidered to be NaN. Furthermore, the standard makes a difference between a \"signaling\" and\na \"quiet\" NaN, and allows inspecting its \"payload\" (the unspecified bits in the bit pattern)\nand its sign. See the [specification of NaN bit patterns](f32#nan-bit-patterns) for more\ninfo.\n\nThis constant is guaranteed to be a quiet NaN (on targets that follow the Rust assumptions\nthat the quiet/signaling bit being set to 1 indicates a quiet NaN). Beyond that, nothing is\nguaranteed about the specific bit pattern chosen here: both payload and sign are arbitrary.\nThe concrete bit pattern may change across Rust versions and target platforms.", + "id": 10174, "inner": { "assoc_const": { "type": { - "primitive": "i16" + "primitive": "f128" }, "value": "_" } }, - "links": {}, - "name": "MIN", + "links": { + "f32#nan-bit-patterns": 265 + }, + "name": "NAN", "span": { "begin": [ - 271, + 251, 5 ], "end": [ - 290, - 6 + 251, + 24 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "10166": { + "10175": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(215 − 1).\n\n# Examples\n\n```\nassert_eq!(i16::MAX, 32767);\n```", - "id": 10166, + "docs": "Infinity (∞).", + "id": 10175, "inner": { "assoc_const": { "type": { - "primitive": "i16" + "primitive": "f128" }, "value": "_" } }, "links": {}, - "name": "MAX", + "name": "INFINITY", "span": { "begin": [ - 271, + 255, 5 ], "end": [ - 290, - 6 + 255, + 29 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "10167": { + "10176": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(i16::BITS, 16);\n```", - "id": 10167, + "docs": "Negative infinity (−∞).", + "id": 10176, "inner": { "assoc_const": { "type": { - "primitive": "u32" - }, - "value": "u16::BITS" - } - }, - "links": {}, - "name": "BITS", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10168": { - "attrs": [ - { - "other": "#[doc(alias = \"popcount\")]" - }, - { - "other": "#[doc(alias = \"popcnt\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000i16;\n\nassert_eq!(n.count_ones(), 1);\n```\n", - "id": 10168, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "count_ones", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10169": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(i16::MAX.count_zeros(), 1);\n```", - "id": 10169, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "count_zeros", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "1017": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1017, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "usize" - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - ] - } - } - } - }, - "links": {}, - "name": "size_hint", - "span": { - "begin": [ - 2268, - 5 - ], - "end": [ - 2270, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "10170": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2i16.ilog2(), 1);\n```", - "id": 10170, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "ilog2", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10171": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1i16;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: i16::ilog2", - "id": 10171, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": { - "i16::ilog2": 10170 - }, - "name": "leading_zeros", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10172": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4i16;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", - "id": 10172, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "trailing_zeros", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10173": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1i16;\n\nassert_eq!(n.leading_ones(), 16);\n```", - "id": 10173, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "leading_ones", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10174": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3i16;\n\nassert_eq!(n.trailing_ones(), 2);\n```", - "id": 10174, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "trailing_ones", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10175": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i16 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_i16.isolate_highest_one(), 0);\n```", - "id": 10175, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i16" - } - } - } - }, - "links": {}, - "name": "isolate_highest_one", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10176": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i16 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_i16.isolate_lowest_one(), 0);\n```", - "id": 10176, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "primitive": "f128" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i16" - } - } + "value": "_" } }, "links": {}, - "name": "isolate_lowest_one", + "name": "NEG_INFINITY", "span": { "begin": [ - 271, + 259, 5 ], "end": [ - 290, - 6 + 259, + 33 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10177": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i16.highest_one(), None);\nassert_eq!(0x1_i16.highest_one(), Some(0));\nassert_eq!(0x10_i16.highest_one(), Some(4));\nassert_eq!(0x1f_i16.highest_one(), Some(4));\n```", + "docs": "Returns `true` if this value is NaN.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `unordtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet nan = f128::NAN;\nlet f = 7.0_f128;\n\nassert!(nan.is_nan());\nassert!(!f.is_nan());\n# }\n```", "id": 10177, "inner": { "function": { @@ -14241,55 +13248,40 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "bool" } } } }, "links": {}, - "name": "highest_one", + "name": "is_nan", "span": { "begin": [ - 271, + 294, 5 ], "end": [ - 290, - 6 + 294, + 38 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10178": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i16.lowest_one(), None);\nassert_eq!(0x1_i16.lowest_one(), Some(0));\nassert_eq!(0x10_i16.lowest_one(), Some(4));\nassert_eq!(0x1f_i16.lowest_one(), Some(0));\n```", + "docs": "Returns `true` if this value is positive infinity or negative infinity, and\n`false` otherwise.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0f128;\nlet inf = f128::INFINITY;\nlet neg_inf = f128::NEG_INFINITY;\nlet nan = f128::NAN;\n\nassert!(!f.is_infinite());\nassert!(!nan.is_infinite());\n\nassert!(inf.is_infinite());\nassert!(neg_inf.is_infinite());\n# }\n```", "id": 10178, "inner": { "function": { @@ -14315,58 +13307,43 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "bool" } } } }, "links": {}, - "name": "lowest_one", + "name": "is_infinite", "span": { "begin": [ - 271, + 321, 5 ], "end": [ - 290, - 6 + 321, + 43 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10179": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1i16;\n\nassert_eq!(n.cast_unsigned(), u16::MAX);\n```", + "docs": "Returns `true` if this number is neither infinite nor NaN.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `lttf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0f128;\nlet inf: f128 = f128::INFINITY;\nlet neg_inf: f128 = f128::NEG_INFINITY;\nlet nan: f128 = f128::NAN;\n\nassert!(f.is_finite());\n\nassert!(!nan.is_finite());\nassert!(!inf.is_finite());\nassert!(!neg_inf.is_finite());\n# }\n```", "id": 10179, "inner": { "function": { @@ -14392,23 +13369,23 @@ ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "bool" } } } }, "links": {}, - "name": "cast_unsigned", + "name": "is_finite", "span": { "begin": [ - 271, + 348, 5 ], "end": [ - 290, - 6 + 348, + 41 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, @@ -14556,11 +13533,11 @@ "name": "fold", "span": { "begin": [ - 2272, + 2267, 5 ], "end": [ - 2278, + 2273, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -14570,20 +13547,17 @@ "10180": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = -0x5ffdi16;\nlet m = 0x3a;\n\nassert_eq!(n.rotate_left(4), m);\n```", + "docs": "Returns `true` if the number is [subnormal].\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet min = f128::MIN_POSITIVE; // 3.362103143e-4932f128\nlet max = f128::MAX;\nlet lower_than_min = 1.0e-4960_f128;\nlet zero = 0.0_f128;\n\nassert!(!min.is_subnormal());\nassert!(!max.is_subnormal());\n\nassert!(!zero.is_subnormal());\nassert!(!f128::NAN.is_subnormal());\nassert!(!f128::INFINITY.is_subnormal());\n// Values between `0` and `min` are Subnormal.\nassert!(lower_than_min.is_subnormal());\n# }\n```\n\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", "id": 10180, "inner": { "function": { @@ -14605,53 +13579,44 @@ { "generic": "Self" } - ], - [ - "n", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "bool" } } } }, "links": {}, - "name": "rotate_left", + "name": "is_subnormal", "span": { "begin": [ - 271, + 381, 5 ], "end": [ - 290, - 6 + 381, + 44 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10181": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x3ai16;\nlet m = -0x5ffd;\n\nassert_eq!(n.rotate_right(4), m);\n```", + "docs": "Returns `true` if the number is neither zero, infinite, [subnormal], or NaN.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet min = f128::MIN_POSITIVE; // 3.362103143e-4932f128\nlet max = f128::MAX;\nlet lower_than_min = 1.0e-4960_f128;\nlet zero = 0.0_f128;\n\nassert!(min.is_normal());\nassert!(max.is_normal());\n\nassert!(!zero.is_normal());\nassert!(!f128::NAN.is_normal());\nassert!(!f128::INFINITY.is_normal());\n// Values between `0` and `min` are Subnormal.\nassert!(!lower_than_min.is_normal());\n# }\n```\n\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", "id": 10181, "inner": { "function": { @@ -14673,53 +13638,39 @@ { "generic": "Self" } - ], - [ - "n", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "bool" } } } }, "links": {}, - "name": "rotate_right", + "name": "is_normal", "span": { "begin": [ - 271, + 412, 5 ], "end": [ - 290, - 6 + 412, + 41 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10182": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234i16;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x3412);\n```", + "docs": "Returns the floating point category of the number. If only one property\nis going to be tested, it is generally faster to use the specific\npredicate instead.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nuse std::num::FpCategory;\n\nlet num = 12.4_f128;\nlet inf = f128::INFINITY;\n\nassert_eq!(num.classify(), FpCategory::Normal);\nassert_eq!(inf.classify(), FpCategory::Infinite);\n# }\n```", "id": 10182, "inner": { "function": { @@ -14745,43 +13696,44 @@ ], "is_c_variadic": false, "output": { - "primitive": "i16" + "resolved_path": { + "args": null, + "id": 4782, + "path": "FpCategory" + } } } } }, "links": {}, - "name": "swap_bytes", + "name": "classify", "span": { "begin": [ - 271, + 436, 5 ], "end": [ - 290, - 6 + 436, + 46 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10183": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234i16;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x2c48);\nassert_eq!(0, 0i16.reverse_bits());\n```", + "docs": "Returns `true` if `self` has a positive sign, including `+0.0`, NaNs with\npositive sign bit and positive infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_positive` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == 1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\n#![feature(f128)]\n\nlet f = 7.0_f128;\nlet g = -7.0_f128;\n\nassert!(f.is_sign_positive());\nassert!(!g.is_sign_positive());\n```", "id": 10183, "inner": { "function": { @@ -14807,33 +13759,32 @@ ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "bool" } } } }, - "links": {}, - "name": "reverse_bits", + "links": { + "f32#nan-bit-patterns": 265 + }, + "name": "is_sign_positive", "span": { "begin": [ - 271, + 469, 5 ], "end": [ - 290, - 6 + 469, + 48 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10184": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { @@ -14843,7 +13794,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai16;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(i16::from_be(n), n)\n} else {\n assert_eq!(i16::from_be(n), n.swap_bytes())\n}\n```", + "docs": "Returns `true` if `self` has a negative sign, including `-0.0`, NaNs with\nnegative sign bit and negative infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_negative` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == -1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\n#![feature(f128)]\n\nlet f = 7.0_f128;\nlet g = -7.0_f128;\n\nassert!(!f.is_sign_negative());\nassert!(g.is_sign_negative());\n```", "id": 10184, "inner": { "function": { @@ -14861,51 +13812,48 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "i16" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "bool" } } } }, - "links": {}, - "name": "from_be", + "links": { + "f32#nan-bit-patterns": 265 + }, + "name": "is_sign_negative", "span": { "begin": [ - 271, + 495, 5 ], "end": [ - 290, - 6 + 495, + 48 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10185": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(alias = \"nextUp\")]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai16;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(i16::from_le(n), n)\n} else {\n assert_eq!(i16::from_le(n), n.swap_bytes())\n}\n```", + "docs": "Returns the least number greater than `self`.\n\nLet `TINY` be the smallest representable positive `f128`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`NEG_INFINITY`], this returns [`MIN`];\n - if `self` is `-TINY`, this returns -0.0;\n - if `self` is -0.0 or +0.0, this returns `TINY`;\n - if `self` is [`MAX`] or [`INFINITY`], this returns [`INFINITY`];\n - otherwise the unique least value greater than `self` is returned.\n\nThe identity `x.next_up() == -(-x).next_down()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_up().next_down()` also holds.\n\n```rust\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\n// f128::EPSILON is the difference between 1.0 and the next number up.\nassert_eq!(1.0f128.next_up(), 1.0 + f128::EPSILON);\n// But not for most numbers.\nassert!(0.1f128.next_up() < 0.1 + f128::EPSILON);\nassert_eq!(4611686018427387904f128.next_up(), 4611686018427387904.000000000000001);\n# }\n```\n\nThis operation corresponds to IEEE-754 `nextUp`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", "id": 10185, "inner": { "function": { @@ -14923,51 +13871,51 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "i16" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": {}, - "name": "from_le", + "links": { + "Self::INFINITY": 10175, + "Self::MAX": 10167, + "Self::MIN": 10168, + "Self::NEG_INFINITY": 10176 + }, + "name": "next_up", "span": { "begin": [ - 271, + 537, 5 ], "end": [ - 290, - 6 + 537, + 39 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10186": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(alias = \"nextDown\")]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai16;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "docs": "Returns the greatest number less than `self`.\n\nLet `TINY` be the smallest representable positive `f128`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`INFINITY`], this returns [`MAX`];\n - if `self` is `TINY`, this returns 0.0;\n - if `self` is -0.0 or +0.0, this returns `-TINY`;\n - if `self` is [`MIN`] or [`NEG_INFINITY`], this returns [`NEG_INFINITY`];\n - otherwise the unique greatest value less than `self` is returned.\n\nThe identity `x.next_down() == -(-x).next_up()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_down().next_up()` also holds.\n\n```rust\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 1.0f128;\n// Clamp value into range [0, 1).\nlet clamped = x.clamp(0.0, 1.0f128.next_down());\nassert!(clamped < 1.0);\nassert_eq!(clamped.next_up(), 1.0);\n# }\n```\n\nThis operation corresponds to IEEE-754 `nextDown`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", "id": 10186, "inner": { "function": { @@ -14993,33 +13941,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": {}, - "name": "to_be", + "links": { + "Self::INFINITY": 10175, + "Self::MAX": 10167, + "Self::MIN": 10168, + "Self::NEG_INFINITY": 10176 + }, + "name": "next_down", "span": { "begin": [ - 271, + 592, 5 ], "end": [ - 290, - 6 + 592, + 41 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10187": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { @@ -15029,7 +13979,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai16;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "docs": "Takes the reciprocal (inverse) of a number, `1/x`.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 2.0_f128;\nlet abs_difference = (x.recip() - (1.0 / x)).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", "id": 10187, "inner": { "function": { @@ -15055,33 +14005,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "to_le", + "name": "recip", "span": { "begin": [ - 271, + 628, 5 ], "end": [ - 290, - 6 + 628, + 37 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10188": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { @@ -15091,7 +14038,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((i16::MAX - 2).checked_add(1), Some(i16::MAX - 1));\nassert_eq!((i16::MAX - 2).checked_add(3), None);\n```", + "docs": "Converts radians to degrees.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet angle = std::f128::consts::PI;\n\nlet abs_difference = (angle.to_degrees() - 180.0).abs();\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", "id": 10188, "inner": { "function": { @@ -15113,71 +14060,44 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, "links": {}, - "name": "checked_add", + "name": "to_degrees", "span": { "begin": [ - 271, + 655, 5 ], "end": [ - 290, - 6 + 655, + 42 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10189": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i16::MAX - 2).strict_add(1), i16::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i16::MAX - 2).strict_add(3);\n```", + "docs": "Converts degrees to radians.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet angle = 180.0f128;\n\nlet abs_difference = (angle.to_radians() - std::f128::consts::PI).abs();\n\nassert!(abs_difference <= 1e-30);\n# }\n```", "id": 10189, "inner": { "function": { @@ -15199,33 +14119,27 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "strict_add", + "name": "to_radians", "span": { "begin": [ - 271, + 687, 5 ], "end": [ - 290, - 6 + 687, + 42 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, @@ -15399,11 +14313,11 @@ "name": null, "span": { "begin": [ - 2260, + 2255, 1 ], "end": [ - 2279, + 2274, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -15413,20 +14327,20 @@ "10190": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_add(27), 127);\nassert_eq!(i16::MAX.wrapping_add(2), i16::MIN + 1);\n```", + "docs": "Returns the maximum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for maxNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids maxNum's problems with associativity.\nThis also matches the behavior of libm’s fmax. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\n#![feature(f128)]\n# // Using aarch64 because `reliable_f128_math` is needed\n# #[cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))] {\n\nlet x = 1.0f128;\nlet y = 2.0f128;\n\nassert_eq!(x.max(y), y);\n# }\n```", "id": 10190, "inner": { "function": { @@ -15450,54 +14364,51 @@ } ], [ - "rhs", + "other", { - "primitive": "i16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "wrapping_add", + "name": "max", "span": { "begin": [ - 271, + 718, 5 ], "end": [ - 290, - 6 + 718, + 48 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10191": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the result of the comparison, without modifying either input" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > i16::MAX` or `self + rhs < i16::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: i16::checked_add\n[`wrapping_add`]: i16::wrapping_add", + "docs": "Returns the minimum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for minNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids minNum's problems with associativity.\nThis also matches the behavior of libm’s fmin. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\n#![feature(f128)]\n# // Using aarch64 because `reliable_f128_math` is needed\n# #[cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))] {\n\nlet x = 1.0f128;\nlet y = 2.0f128;\n\nassert_eq!(x.min(y), x);\n# }\n```", "id": 10191, "inner": { "function": { @@ -15510,7 +14421,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -15521,54 +14432,48 @@ } ], [ - "rhs", + "other", { - "primitive": "i16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": { - "i16::checked_add": 10188, - "i16::wrapping_add": 10190 - }, - "name": "unchecked_add", + "links": {}, + "name": "min", "span": { "begin": [ - 271, + 745, 5 ], "end": [ - 290, - 6 + 745, + 48 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10192": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i16.checked_add_unsigned(2), Some(3));\nassert_eq!((i16::MAX - 2).checked_add_unsigned(3), None);\n```", + "docs": "Returns the maximum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f128::max`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(f128)]\n#![feature(float_minimum_maximum)]\n# // Using aarch64 because `reliable_f128_math` is needed\n# #[cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))] {\n\nlet x = 1.0f128;\nlet y = 2.0f128;\n\nassert_eq!(x.maximum(y), y);\nassert!(x.maximum(f128::NAN).is_nan());\n# }\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the greater\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", "id": 10192, "inner": { "function": { @@ -15592,69 +14497,51 @@ } ], [ - "rhs", + "other", { - "primitive": "u16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, - "links": {}, - "name": "checked_add_unsigned", + "links": { + "`f128::max`": 10190, + "f32#nan-bit-patterns": 265 + }, + "name": "maximum", "span": { "begin": [ - 271, + 778, 5 ], "end": [ - 290, - 6 + 778, + 52 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10193": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the result of the comparison, without modifying either input" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i16.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i16::MAX - 2).strict_add_unsigned(3);\n```", + "docs": "Returns the minimum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f128::min`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(f128)]\n#![feature(float_minimum_maximum)]\n# // Using aarch64 because `reliable_f128_math` is needed\n# #[cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))] {\n\nlet x = 1.0f128;\nlet y = 2.0f128;\n\nassert_eq!(x.minimum(y), x);\nassert!(x.minimum(f128::NAN).is_nan());\n# }\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the lesser\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", "id": 10193, "inner": { "function": { @@ -15678,51 +14565,52 @@ } ], [ - "rhs", + "other", { - "primitive": "u16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": {}, - "name": "strict_add_unsigned", + "links": { + "`f128::min`": 10191, + "f32#nan-bit-patterns": 265 + }, + "name": "minimum", "span": { "begin": [ - 271, + 811, 5 ], "end": [ - 290, - 6 + 811, + 52 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10194": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[doc(alias = \"average\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 2).checked_sub(1), Some(i16::MIN + 1));\nassert_eq!((i16::MIN + 2).checked_sub(3), None);\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\nThis returns NaN when *either* argument is NaN or if a combination of\n+inf and -inf is provided as arguments.\n\n# Examples\n\n```\n#![feature(f128)]\n# // Using aarch64 because `reliable_f128_math` is needed\n# #[cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))] {\n\nassert_eq!(1f128.midpoint(4.0), 2.5);\nassert_eq!((-5.5f128).midpoint(8.0), 1.25);\n# }\n```", "id": 10194, "inner": { "function": { @@ -15746,82 +14634,105 @@ } ], [ - "rhs", + "other", { - "primitive": "i16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, "links": {}, - "name": "checked_sub", + "name": "midpoint", "span": { "begin": [ - 271, + 835, 5 ], "end": [ - 290, - 6 + 835, + 53 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10195": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 2).strict_sub(1), i16::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i16::MIN + 2).strict_sub(3);\n```", + "docs": "Rounds toward zero and converts to any primitive integer type,\nassuming that the value is finite and fits in that type.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `float*itf` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = 4.6_f128;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, 4);\n\nlet value = -128.9_f128;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, i8::MIN);\n# }\n```\n\n# Safety\n\nThe value must:\n\n* Not be `NaN`\n* Not be infinite\n* Be representable in the return type `Int`, after truncating off its fractional part", "id": 10195, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Int" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Int" + } + } + ], + "constraints": [] + } + }, + "id": 9866, + "path": "FloatToInt" + } + } + } + ], + "generic_params": [], + "type": { + "primitive": "f128" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": false + "is_const": false, + "is_unsafe": true }, "sig": { "inputs": [ @@ -15830,43 +14741,34 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "generic": "Int" } } } }, "links": {}, - "name": "strict_sub", + "name": "to_int_unchecked", "span": { "begin": [ - 271, + 878, 5 ], "end": [ - 290, - 6 + 880, + 31 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10196": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { @@ -15876,7 +14778,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i16.wrapping_sub(127), -127);\nassert_eq!((-2i16).wrapping_sub(i16::MAX), i16::MAX);\n```", + "docs": "Raw transmutation to `u128`.\n\nThis is currently identical to `transmute::(self)` on all platforms.\n\nSee [`from_bits`](#method.from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n```\n#![feature(f128)]\n\n# // FIXME(f16_f128): enable this once const casting works\n# // assert_ne!((1f128).to_bits(), 1f128 as u128); // to_bits() is not casting!\nassert_eq!((12.5f128).to_bits(), 0x40029000000000000000000000000000);\n```", "id": 10196, "inner": { "function": { @@ -15898,56 +14800,44 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "u128" } } } }, "links": {}, - "name": "wrapping_sub", + "name": "to_bits", "span": { "begin": [ - 271, + 908, 5 ], "end": [ - 290, - 6 + 908, + 39 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10197": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > i16::MAX` or `self - rhs < i16::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: i16::checked_sub\n[`wrapping_sub`]: i16::wrapping_sub", + "docs": "Raw transmutation from `u128`.\n\nThis is currently identical to `transmute::(v)` on all platforms.\nIt turns out this is incredibly portable, for two reasons:\n\n* Floats and Ints have the same endianness on all supported platforms.\n* IEEE 754 very precisely specifies the bit layout of floats.\n\nHowever there is one caveat: prior to the 2008 version of IEEE 754, how\nto interpret the NaN signaling bit wasn't actually specified. Most platforms\n(notably x86 and ARM) picked the interpretation that was ultimately\nstandardized in 2008, but some didn't (notably MIPS). As a result, all\nsignaling NaNs on MIPS are quiet NaNs on x86, and vice-versa.\n\nRather than trying to preserve signaling-ness cross-platform, this\nimplementation favors preserving the exact bits. This means that\nany payloads encoded in NaNs will be preserved even if the result of\nthis method is sent over the network from an x86 machine to a MIPS one.\n\nIf the results of this method are only manipulated by the same\narchitecture that produced them, then there is no portability concern.\n\nIf the input isn't NaN, then there is no portability concern.\n\nIf you don't care about signalingness (very likely), then there is no\nportability concern.\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet v = f128::from_bits(0x40029000000000000000000000000000);\nassert_eq!(v, 12.5);\n# }\n```", "id": 10197, "inner": { "function": { @@ -15960,55 +14850,43 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "v", { - "primitive": "i16" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": { - "i16::checked_sub": 10194, - "i16::wrapping_sub": 10196 - }, - "name": "unchecked_sub", + "links": {}, + "name": "from_bits", "span": { "begin": [ - 271, + 956, 5 ], "end": [ - 290, - 6 + 956, + 44 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10198": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { @@ -16018,7 +14896,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i16.checked_sub_unsigned(2), Some(-1));\nassert_eq!((i16::MIN + 2).checked_sub_unsigned(3), None);\n```", + "docs": "Returns the memory representation of this floating point number as a byte array in\nbig-endian (network) byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n\nlet bytes = 12.5f128.to_be_bytes();\nassert_eq!(\n bytes,\n [0x40, 0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n);\n```", "id": 10198, "inner": { "function": { @@ -16040,71 +14918,51 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } } } } } }, - "links": {}, - "name": "checked_sub_unsigned", + "links": { + "Self::from_bits": 10197 + }, + "name": "to_be_bytes", "span": { "begin": [ - 271, + 983, 5 ], "end": [ - 290, - 6 + 983, + 47 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10199": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i16.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i16::MIN + 2).strict_sub_unsigned(3);\n```", + "docs": "Returns the memory representation of this floating point number as a byte array in\nlittle-endian byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n\nlet bytes = 12.5f128.to_le_bytes();\nassert_eq!(\n bytes,\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x02, 0x40]\n);\n```", "id": 10199, "inner": { "function": { @@ -16126,33 +14984,34 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "strict_sub_unsigned", + "links": { + "Self::from_bits": 10197 + }, + "name": "to_le_bytes", "span": { "begin": [ - 271, + 1008, 5 ], "end": [ - 290, - 6 + 1008, + 47 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, @@ -16241,11 +15100,11 @@ "name": "len", "span": { "begin": [ - 2283, + 2278, 5 ], "end": [ - 2285, + 2280, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -16255,10 +15114,7 @@ "10200": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { @@ -16268,7 +15124,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(i16::MAX.checked_mul(1), Some(i16::MAX));\nassert_eq!(i16::MAX.checked_mul(2), None);\n```", + "docs": "Returns the memory representation of this floating point number as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate, instead.\n\n[`to_be_bytes`]: f128::to_be_bytes\n[`to_le_bytes`]: f128::to_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n\nlet bytes = 12.5f128.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x40, 0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n } else {\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x02, 0x40]\n }\n);\n```", "id": 10200, "inner": { "function": { @@ -16290,71 +15146,53 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } } } } } }, - "links": {}, - "name": "checked_mul", + "links": { + "Self::from_bits": 10197, + "f128::to_be_bytes": 10198, + "f128::to_le_bytes": 10199 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 271, + 1044, 5 ], "end": [ - 290, - 6 + 1044, + 47 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10201": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(i16::MAX.strict_mul(1), i16::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = i16::MAX.strict_mul(2);\n```", + "docs": "Creates a floating point value from its representation as a byte array in big endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f128::from_be_bytes(\n [0x40, 0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n);\nassert_eq!(value, 12.5);\n# }\n```", "id": 10201, "inner": { "function": { @@ -16372,57 +15210,55 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "i16" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": {}, - "name": "strict_mul", + "links": { + "Self::from_bits": 10197 + }, + "name": "from_be_bytes", "span": { "begin": [ - 271, + 1070, 5 ], "end": [ - 290, - 6 + 1070, + 56 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10202": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10i16.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", + "docs": "Creates a floating point value from its representation as a byte array in little endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f128::from_le_bytes(\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x02, 0x40]\n);\nassert_eq!(value, 12.5);\n# }\n```", "id": 10202, "inner": { "function": { @@ -16440,60 +15276,55 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "i16" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": {}, - "name": "wrapping_mul", + "links": { + "Self::from_bits": 10197 + }, + "name": "from_le_bytes", "span": { "begin": [ - 271, + 1096, 5 ], "end": [ - 290, - 6 + 1096, + 56 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10203": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > i16::MAX` or `self * rhs < i16::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: i16::checked_mul\n[`wrapping_mul`]: i16::wrapping_mul", + "docs": "Creates a floating point value from its representation as a byte array in native endian.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: f128::from_be_bytes\n[`from_le_bytes`]: f128::from_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f128::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x40, 0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n} else {\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x02, 0x40]\n});\nassert_eq!(value, 12.5);\n# }\n```", "id": 10203, "inner": { "function": { @@ -16506,65 +15337,65 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "i16" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": { - "i16::checked_mul": 10200, - "i16::wrapping_mul": 10202 + "Self::from_bits": 10197, + "f128::from_be_bytes": 10201, + "f128::from_le_bytes": 10202 }, - "name": "unchecked_mul", + "name": "from_ne_bytes", "span": { "begin": [ - 271, + 1132, 5 ], "end": [ - 290, - 6 + 1132, + 56 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10204": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143800, is_soft: false}, feature: \"const_cmp\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 1).checked_div(-1), Some(32767));\nassert_eq!(i16::MIN.checked_div(-1), None);\nassert_eq!((1i16).checked_div(0), None);\n```", + "docs": "Returns the ordering between `self` and `other`.\n\nUnlike the standard partial comparison between floating point numbers,\nthis comparison always produces an ordering in accordance to\nthe `totalOrder` predicate as defined in the IEEE 754 (2008 revision)\nfloating point standard. The values are ordered in the following sequence:\n\n- negative quiet NaN\n- negative signaling NaN\n- negative infinity\n- negative numbers\n- negative subnormal numbers\n- negative zero\n- positive zero\n- positive subnormal numbers\n- positive numbers\n- positive infinity\n- positive signaling NaN\n- positive quiet NaN.\n\nThe ordering established by this function does not always agree with the\n[`PartialOrd`] and [`PartialEq`] implementations of `f128`. For example,\nthey consider negative and positive zero equal, while `total_cmp`\ndoesn't.\n\nThe interpretation of the signaling NaN bit follows the definition in\nthe IEEE 754 standard, which may not match the interpretation by some of\nthe older, non-conformant (e.g. MIPS) hardware implementations.\n\n# Example\n\n```\n#![feature(f128)]\n\nstruct GoodBoy {\n name: &'static str,\n weight: f128,\n}\n\nlet mut bois = vec![\n GoodBoy { name: \"Pucci\", weight: 0.1 },\n GoodBoy { name: \"Woofer\", weight: 99.0 },\n GoodBoy { name: \"Yapper\", weight: 10.0 },\n GoodBoy { name: \"Chonk\", weight: f128::INFINITY },\n GoodBoy { name: \"Abs. Unit\", weight: f128::NAN },\n GoodBoy { name: \"Floaty\", weight: -5.0 },\n];\n\nbois.sort_by(|a, b| a.weight.total_cmp(&b.weight));\n\n// `f128::NAN` could be positive or negative, which will affect the sort order.\nif f128::NAN.is_sign_negative() {\n bois.into_iter().map(|b| b.weight)\n .zip([f128::NAN, -5.0, 0.1, 10.0, 99.0, f128::INFINITY].iter())\n .for_each(|(a, b)| assert_eq!(a.to_bits(), b.to_bits()))\n} else {\n bois.into_iter().map(|b| b.weight)\n .zip([-5.0, 0.1, 10.0, 99.0, f128::INFINITY, f128::NAN].iter())\n .for_each(|(a, b)| assert_eq!(a.to_bits(), b.to_bits()))\n}\n```", "id": 10204, "inner": { "function": { @@ -16584,73 +15415,71 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "rhs", + "other", { - "primitive": "i16" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "f128" + } + } } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 2007, + "path": "Ordering" } } } } }, - "links": {}, - "name": "checked_div", + "links": { + "`PartialEq`": 121, + "`PartialOrd`": 125 + }, + "name": "total_cmp", "span": { "begin": [ - 271, + 1201, 5 ], "end": [ - 290, - 6 + 1201, + 72 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10205": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 1).strict_div(-1), 32767);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i16).strict_div(0);\n```", + "docs": "Restrict a value to a certain interval unless it is NaN.\n\nReturns `max` if `self` is greater than `max`, and `min` if `self` is\nless than `min`. Otherwise this returns `self`.\n\nNote that this function returns NaN if the initial value was NaN as\nwell.\n\n# Panics\n\nPanics if `min > max`, `min` is NaN, or `max` is NaN.\n\n# Examples\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `{eq,gt,unord}tf` are available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nassert!((-3.0f128).clamp(-2.0, 1.0) == -2.0);\nassert!((0.0f128).clamp(-2.0, 1.0) == 0.0);\nassert!((2.0f128).clamp(-2.0, 1.0) == 1.0);\nassert!((f128::NAN).clamp(-2.0, 1.0).is_nan());\n# }\n```", "id": 10205, "inner": { "function": { @@ -16674,51 +15503,57 @@ } ], [ - "rhs", + "min", { - "primitive": "i16" + "primitive": "f128" + } + ], + [ + "max", + { + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "strict_div", + "name": "clamp", "span": { "begin": [ - 271, + 1261, 5 ], "end": [ - 290, - 6 + 1261, + 63 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10206": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 1).checked_div_euclid(-1), Some(32767));\nassert_eq!(i16::MIN.checked_div_euclid(-1), None);\nassert_eq!((1i16).checked_div_euclid(0), None);\n```", + "docs": "Computes the absolute value of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 3.5_f128;\nlet y = -3.5_f128;\n\nassert_eq!(x.abs(), x);\nassert_eq!(y.abs(), -y);\n\nassert!(f128::NAN.abs().is_nan());\n# }\n```", "id": 10206, "inner": { "function": { @@ -16740,71 +15575,47 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, "links": {}, - "name": "checked_div_euclid", + "name": "abs", "span": { "begin": [ - 271, + 1302, 5 ], "end": [ - 290, - 6 + 1302, + 35 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10207": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 1).strict_div_euclid(-1), 32767);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i16).strict_div_euclid(0);\n```", + "docs": "Returns a number that represents the sign of `self`.\n\n- `1.0` if the number is positive, `+0.0` or `INFINITY`\n- `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`\n- NaN if the number is NaN\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 3.5_f128;\n\nassert_eq!(f.signum(), 1.0);\nassert_eq!(f128::NEG_INFINITY.signum(), -1.0);\n\nassert!(f128::NAN.signum().is_nan());\n# }\n```", "id": 10207, "inner": { "function": { @@ -16826,50 +15637,47 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "strict_div_euclid", + "name": "signum", "span": { "begin": [ - 271, + 1332, 5 ], "end": [ - 290, - 6 + 1332, + 38 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10208": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((i16::MIN + 1).checked_exact_div(-1), Some(32767));\nassert_eq!((-5i16).checked_exact_div(2), None);\nassert_eq!(i16::MIN.checked_exact_div(-1), None);\nassert_eq!((1i16).checked_exact_div(0), None);\n```", + "docs": "Returns a number composed of the magnitude of `self` and the sign of\n`sign`.\n\nEqual to `self` if the sign of `self` and `sign` are the same, otherwise equal to `-self`.\nIf `self` is a NaN, then a NaN with the same payload as `self` and the sign bit of `sign` is\nreturned.\n\nIf `sign` is a NaN, then this operation will still carry over its sign into the result. Note\nthat IEEE 754 doesn't assign any meaning to the sign bit in case of a NaN, and as Rust\ndoesn't guarantee that the bit pattern of NaNs are conserved over arithmetic operations, the\nresult of `copysign` with `sign` being a NaN might produce an unexpected or non-portable\nresult. See the [specification of NaN bit patterns](primitive@f32#nan-bit-patterns) for more\ninfo.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 3.5_f128;\n\nassert_eq!(f.copysign(0.42), 3.5_f128);\nassert_eq!(f.copysign(-0.42), -3.5_f128);\nassert_eq!((-f).copysign(0.42), 3.5_f128);\nassert_eq!((-f).copysign(-0.42), -3.5_f128);\n\nassert!(f128::NAN.copysign(1.0).is_nan());\n# }\n```", "id": 10208, "inner": { "function": { @@ -16893,63 +15701,53 @@ } ], [ - "rhs", + "sign", { - "primitive": "i16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, - "links": {}, - "name": "checked_exact_div", + "links": { + "primitive@f32#nan-bit-patterns": 265 + }, + "name": "copysign", "span": { "begin": [ - 271, + 1370, 5 ], "end": [ - 290, - 6 + 1370, + 52 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10209": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64i16.exact_div(2), 32);\nassert_eq!(64i16.exact_div(32), 2);\nassert_eq!((i16::MIN + 1).exact_div(-1), 32767);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65i16.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = i16::MIN.exact_div(-1);\n```", + "docs": "Float addition that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10209, "inner": { "function": { @@ -16975,29 +15773,31 @@ [ "rhs", { - "primitive": "i16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": {}, - "name": "exact_div", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_add", "span": { "begin": [ - 271, + 1381, 5 ], "end": [ - 290, - 6 + 1381, + 56 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, @@ -17086,11 +15886,11 @@ "name": null, "span": { "begin": [ - 2281, + 2276, 1 ], "end": [ - 2286, + 2281, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -17100,17 +15900,20 @@ "10210": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == i16::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "docs": "Float subtraction that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10210, "inner": { "function": { @@ -17123,7 +15926,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -17136,51 +15939,51 @@ [ "rhs", { - "primitive": "i16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": { - "Self::checked_exact_div": 10208 + "primitive@f32#algebraic-operators": 265 }, - "name": "unchecked_exact_div", + "name": "algebraic_sub", "span": { "begin": [ - 271, + 1392, 5 ], "end": [ - 290, - 6 + 1392, + 56 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10211": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i16.checked_rem(2), Some(1));\nassert_eq!(5i16.checked_rem(0), None);\nassert_eq!(i16::MIN.checked_rem(-1), None);\n```", + "docs": "Float multiplication that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10211, "inner": { "function": { @@ -17206,67 +16009,51 @@ [ "rhs", { - "primitive": "i16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, - "links": {}, - "name": "checked_rem", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_mul", "span": { "begin": [ - 271, + 1403, 5 ], "end": [ - 290, - 6 + 1403, + 56 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10212": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i16.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i16.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_rem(-1);\n```", + "docs": "Float division that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10212, "inner": { "function": { @@ -17292,49 +16079,51 @@ [ "rhs", { - "primitive": "i16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": {}, - "name": "strict_rem", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_div", "span": { "begin": [ - 271, + 1414, 5 ], "end": [ - 290, - 6 + 1414, + 56 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10213": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i16.checked_rem_euclid(2), Some(1));\nassert_eq!(5i16.checked_rem_euclid(0), None);\nassert_eq!(i16::MIN.checked_rem_euclid(-1), None);\n```", + "docs": "Float remainder that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 10213, "inner": { "function": { @@ -17360,68 +16149,143 @@ [ "rhs", { - "primitive": "i16" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, - "links": {}, - "name": "checked_rem_euclid", + "links": { + "primitive@f32#algebraic-operators": 265 + }, + "name": "algebraic_rem", "span": { "begin": [ - 271, + 1425, 5 ], "end": [ - 290, - 6 + 1425, + 56 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10214": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 10214, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10163, + 10164, + 10165, + 10166, + 10168, + 10170, + 10167, + 10169, + 10171, + 10172, + 10173, + 10174, + 10175, + 10176, + 10177, + 10178, + 10179, + 10180, + 10181, + 10182, + 10183, + 10184, + 10185, + 10186, + 10187, + 10188, + 10189, + 10190, + 10191, + 10192, + 10193, + 10194, + 10195, + 10196, + 10197, + 10198, + 10199, + 10200, + 10201, + 10202, + 10203, + 10204, + 10205, + 10206, + 10207, + 10208, + 10209, + 10210, + 10211, + 10212, + 10213 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 140, + 1 + ], + "end": [ + 140, + 10 + ], + "filename": "checkouts/rust/library/core/src/num/f128.rs" + }, + "visibility": "default" + }, + "10215": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i16.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i16.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_rem_euclid(-1);\n```", - "id": 10214, + "docs": "Returns the largest integer less than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 3.7_f128;\nlet g = 3.0_f128;\nlet h = -3.7_f128;\n\nassert_eq!(f.floor(), 3.0);\nassert_eq!(g.floor(), 3.0);\nassert_eq!(h.floor(), -4.0);\n# }\n```", + "id": 10215, "inner": { "function": { "generics": { @@ -17442,130 +16306,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "strict_rem_euclid", + "name": "floor", "span": { "begin": [ - 271, + 1462, 5 ], "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + 1462, + 37 + ], + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, - "10215": { + "10216": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[doc(alias = \"ceiling\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5i16.checked_neg(), Some(-5));\nassert_eq!(i16::MIN.checked_neg(), None);\n```", - "id": 10215, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - } - }, - "links": {}, - "name": "checked_neg", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10216": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == i16::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: i16::checked_neg", + "docs": "Returns the smallest integer greater than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 3.01_f128;\nlet g = 4.0_f128;\n\nassert_eq!(f.ceil(), 4.0);\nassert_eq!(g.ceil(), 4.0);\n# }\n```", "id": 10216, "inner": { "function": { @@ -17578,7 +16362,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -17591,48 +16375,43 @@ ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": { - "i16::checked_neg": 10215 - }, - "name": "unchecked_neg", + "links": {}, + "name": "ceil", "span": { "begin": [ - 271, + 1490, 5 ], "end": [ - 290, - 6 + 1490, + 36 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10217": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5i16.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_neg();\n", + "docs": "Returns the nearest integer to `self`. If a value is half-way between two\nintegers, round away from `0.0`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 3.3_f128;\nlet g = -3.3_f128;\nlet h = -3.7_f128;\nlet i = 3.5_f128;\nlet j = 4.5_f128;\n\nassert_eq!(f.round(), 3.0);\nassert_eq!(g.round(), -3.0);\nassert_eq!(h.round(), -4.0);\nassert_eq!(i.round(), 4.0);\nassert_eq!(j.round(), 5.0);\n# }\n```", "id": 10217, "inner": { "function": { @@ -17658,43 +16437,43 @@ ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "strict_neg", + "name": "round", "span": { "begin": [ - 271, + 1524, 5 ], "end": [ - 290, - 6 + 1524, + 37 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10218": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1i16.checked_shl(4), Some(0x10));\nassert_eq!(0x1i16.checked_shl(129), None);\nassert_eq!(0x10i16.checked_shl(15), Some(0));\n```", + "docs": "Returns the nearest integer to a number. Rounds half-way cases to the number\nwith an even least significant digit.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 3.3_f128;\nlet g = -3.3_f128;\nlet h = 3.5_f128;\nlet i = 4.5_f128;\n\nassert_eq!(f.round_ties_even(), 3.0);\nassert_eq!(g.round_ties_even(), -3.0);\nassert_eq!(h.round_ties_even(), 4.0);\nassert_eq!(i.round_ties_even(), 4.0);\n# }\n```", "id": 10218, "inner": { "function": { @@ -17716,71 +16495,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, "links": {}, - "name": "checked_shl", + "name": "round_ties_even", "span": { "begin": [ - 271, + 1556, 5 ], "end": [ - 290, - 6 + 1556, + 47 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10219": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[doc(alias = \"truncate\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = TrackCaller]" + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1i16.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1i16.strict_shl(129);\n```", + "docs": "Returns the integer part of `self`.\nThis means that non-integer numbers are always truncated towards zero.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 3.7_f128;\nlet g = 3.0_f128;\nlet h = -3.7_f128;\n\nassert_eq!(f.trunc(), 3.0);\nassert_eq!(g.trunc(), 3.0);\nassert_eq!(h.trunc(), -3.0);\n# }\n```", "id": 10219, "inner": { "function": { @@ -17802,33 +16560,27 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "strict_shl", + "name": "trunc", "span": { "begin": [ - 271, + 1587, 5 ], "end": [ - 290, - 6 + 1587, + 37 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, @@ -17912,11 +16664,11 @@ "name": null, "span": { "begin": [ - 2288, + 2283, 1 ], "end": [ - 2288, + 2283, 48 ], "filename": "std/src/collections/hash/map.rs" @@ -17926,20 +16678,20 @@ "10220": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { - "other": "#[attr = TrackCaller]" + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: i16::checked_shl", + "docs": "Returns the fractional part of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 3.6_f128;\nlet y = -3.6_f128;\nlet abs_difference_x = (x.fract() - 0.6).abs();\nlet abs_difference_y = (y.fract() - (-0.6)).abs();\n\nassert!(abs_difference_x <= f128::EPSILON);\nassert!(abs_difference_y <= f128::EPSILON);\n# }\n```", "id": 10220, "inner": { "function": { @@ -17952,7 +16704,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -17961,55 +16713,50 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": { - "i16::checked_shl": 10218 - }, - "name": "unchecked_shl", + "links": {}, + "name": "fract", "span": { "begin": [ - 271, + 1616, 5 ], "end": [ - 290, - 6 + 1616, + 37 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10221": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[doc(alias = \"fmaf128\", alias = \"fusedMultiplyAdd\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 146724, is_soft: false}, feature: \"const_mul_add\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1i16.unbounded_shl(4), 0x10);\nassert_eq!(0x1i16.unbounded_shl(129), 0);\n```", + "docs": "Fused multiply-add. Computes `(self * a) + b` with only one rounding\nerror, yielding a more accurate result than an unfused multiply-add.\n\nUsing `mul_add` *may* be more performant than an unfused multiply-add if\nthe target architecture has a dedicated `fma` CPU instruction. However,\nthis is not always true, and will be heavily dependant on designing\nalgorithms with specific target hardware in mind.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as\n`fusedMultiplyAdd` and guaranteed not to change.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet m = 10.0_f128;\nlet x = 4.0_f128;\nlet b = 60.0_f128;\n\nassert_eq!(m.mul_add(x, b), 100.0);\nassert_eq!(m * x + b, 100.0);\n\nlet one_plus_eps = 1.0_f128 + f128::EPSILON;\nlet one_minus_eps = 1.0_f128 - f128::EPSILON;\nlet minus_one = -1.0_f128;\n\n// The exact result (1 + eps) * (1 - eps) = 1 - eps * eps.\nassert_eq!(one_plus_eps.mul_add(one_minus_eps, minus_one), -f128::EPSILON * f128::EPSILON);\n// Different rounding with the non-fused multiply and add.\nassert_eq!(one_plus_eps * one_minus_eps + minus_one, 0.0);\n# }\n```", "id": 10221, "inner": { "function": { @@ -18033,51 +16780,54 @@ } ], [ - "rhs", + "a", { - "primitive": "u32" + "primitive": "f128" + } + ], + [ + "b", + { + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "unbounded_shl", + "name": "mul_add", "span": { "begin": [ - 271, + 1664, 5 ], "end": [ - 290, - 6 + 1664, + 57 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10222": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10i16.checked_shr(4), Some(0x1));\nassert_eq!(0x10i16.checked_shr(128), None);\n```", + "docs": "Calculates Euclidean division, the matching method for `rem_euclid`.\n\nThis computes the integer `n` such that\n`self = n * rhs + self.rem_euclid(rhs)`.\nIn other words, the result is `self / rhs` rounded to the integer `n`\nsuch that `self >= n * rhs`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet a: f128 = 7.0;\nlet b = 4.0;\nassert_eq!(a.div_euclid(b), 1.0); // 7.0 > 4.0 * 1.0\nassert_eq!((-a).div_euclid(b), -2.0); // -7.0 >= 4.0 * -2.0\nassert_eq!(a.div_euclid(-b), -1.0); // 7.0 >= -4.0 * -1.0\nassert_eq!((-a).div_euclid(-b), 2.0); // -7.0 >= -4.0 * 2.0\n# }\n```", "id": 10222, "inner": { "function": { @@ -18089,7 +16839,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -18103,67 +16853,49 @@ [ "rhs", { - "primitive": "u32" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f128" } } } }, "links": {}, - "name": "checked_shr", + "name": "div_euclid", "span": { "begin": [ - 271, + 1699, 5 ], "end": [ - 290, - 6 + 1699, + 47 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10223": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10i16.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10i16.strict_shr(128);\n```", + "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nIn particular, the return value `r` satisfies `0.0 <= r < rhs.abs()` in\nmost cases. However, due to a floating point round-off error it can\nresult in `r == rhs.abs()`, violating the mathematical definition, if\n`self` is much smaller than `rhs.abs()` in magnitude and `self < 0.0`.\nThis result is not an element of the function's codomain, but it is the\nclosest floating point number in the real numbers and thus fulfills the\nproperty `self == self.div_euclid(rhs) * rhs + self.rem_euclid(rhs)`\napproximately.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet a: f128 = 7.0;\nlet b = 4.0;\nassert_eq!(a.rem_euclid(b), 3.0);\nassert_eq!((-a).rem_euclid(b), 1.0);\nassert_eq!(a.rem_euclid(-b), 3.0);\nassert_eq!((-a).rem_euclid(-b), 1.0);\n// limitation due to round-off error\nassert!((-f128::EPSILON).rem_euclid(3.0) != 0.0);\n# }\n```", "id": 10223, "inner": { "function": { @@ -18175,7 +16907,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -18189,49 +16921,46 @@ [ "rhs", { - "primitive": "u32" + "primitive": "f128" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "strict_shr", + "name": "rem_euclid", "span": { "begin": [ - 271, + 1745, 5 ], "end": [ - 290, - 6 + 1745, + 47 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10224": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: i16::checked_shr", + "docs": "Raises a number to an integer power.\n\nUsing this function is generally faster than using `powf`.\nIt might have a different sequence of rounding operations than `powf`,\nso the results are not guaranteed to agree.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 2.0_f128;\nlet abs_difference = (x.powi(2) - (x * x)).abs();\nassert!(abs_difference <= f128::EPSILON);\n\nassert_eq!(f128::powi(f128::NAN, 0), 1.0);\n# }\n```", "id": 10224, "inner": { "function": { @@ -18243,8 +16972,8 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": true + "is_const": false, + "is_unsafe": false }, "sig": { "inputs": [ @@ -18255,53 +16984,51 @@ } ], [ - "rhs", + "n", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, - "links": { - "i16::checked_shr": 10222 - }, - "name": "unchecked_shr", + "links": {}, + "name": "powi", "span": { "begin": [ - 271, + 1779, 5 ], "end": [ - 290, - 6 + 1779, + 38 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10225": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[doc(alias = \"squareRoot\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10i16.unbounded_shr(4), 0x1);\nassert_eq!(0x10i16.unbounded_shr(129), 0);\nassert_eq!(i16::MIN.unbounded_shr(129), -1);\n```", + "docs": "Returns the square root of a number.\n\nReturns NaN if `self` is a negative number other than `-0.0`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as `squareRoot`\nand guaranteed not to change.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet positive = 4.0_f128;\nlet negative = -4.0_f128;\nlet negative_zero = -0.0_f128;\n\nassert_eq!(positive.sqrt(), 2.0);\nassert!(negative.sqrt().is_nan());\nassert!(negative_zero.sqrt() == negative_zero);\n# }\n```", "id": 10225, "inner": { "function": { @@ -18313,7 +17040,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -18323,331 +17050,183 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "f128" } } } }, "links": {}, - "name": "unbounded_shr", + "name": "sqrt", "span": { "begin": [ - 271, + 1814, 5 ], "end": [ - 290, - 6 + 1814, + 30 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, "visibility": "public" }, "10226": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[doc(test(attr(feature(cfg_target_has_reliable_f16_f128),\nexpect(internal_features))))]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5i16).checked_abs(), Some(5));\nassert_eq!(i16::MIN.checked_abs(), None);\n```", + "docs": null, "id": 10226, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f128" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10215, + 10216, + 10217, + 10218, + 10219, + 10220, + 10221, + 10222, + 10223, + 10224, + 10225 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "checked_abs", + "name": null, "span": { "begin": [ - 271, - 5 + 1436, + 1 ], "end": [ - 290, - 6 + 1436, + 10 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/num/f128.rs" }, - "visibility": "public" + "visibility": "default" }, "10227": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" - } - ], - "crate_id": 1, + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5i16).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_abs();\n```", + "docs": null, "id": 10227, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f128" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i16" - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, "links": {}, - "name": "strict_abs", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, "10228": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8i16.checked_pow(2), Some(64));\nassert_eq!(i16::MAX.checked_pow(2), None);\n```", + "docs": null, "id": 10228, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f128" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "exp", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, "links": {}, - "name": "checked_pow", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, "10229": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" - } - ], - "crate_id": 1, + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8i16.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MAX.strict_pow(2);\n```", + "docs": null, "id": 10229, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f128" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "exp", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i16" - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" } } }, "links": {}, - "name": "strict_pow", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, "1023": { "attrs": [], @@ -18700,7 +17279,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -18712,7 +17291,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -18723,11 +17302,11 @@ "name": "fmt", "span": { "begin": [ - 2296, + 2291, 5 ], "end": [ - 2298, + 2293, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -18735,86 +17314,1185 @@ "visibility": "default" }, "10230": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10230, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" } } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "10231": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i16.checked_isqrt(), Some(3));\n```", - "id": 10230, + "docs": null, + "id": 10231, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f128" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "10232": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10232, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f128" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "10233": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10233, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } } - ] + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "10234": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10234, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "10235": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10235, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "id": 51, - "path": "Option" + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 422 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 424, + "path": "CloneToUninit" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 515, + 1 + ], + "end": [ + 515, + 42 + ], + "filename": "checkouts/rust/library/core/src/clone.rs" + }, + "visibility": "default" + }, + "10236": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10236, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "10237": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10237, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 785, + 1 + ], + "end": [ + 785, + 28 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "10238": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10238, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 811, + 1 + ], + "end": [ + 813, + 27 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "10239": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10239, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "1024": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1024, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 762, + "path": "Drain" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 1023 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" } } }, "links": {}, - "name": "checked_isqrt", + "name": null, "span": { "begin": [ - 271, + 2286, + 1 + ], + "end": [ + 2294, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "10240": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10240, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "10241": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 10241, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "f128" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 85, + 1 + ], + "end": [ + 87, + 14 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "10242": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The smallest value that can be represented by this integer type\n(−27).\n\n# Examples\n\n```\nassert_eq!(i8::MIN, -128);\n```", + "id": 10242, + "inner": { + "assoc_const": { + "type": { + "primitive": "i8" + }, + "value": "_" + } + }, + "links": {}, + "name": "MIN", + "span": { + "begin": [ + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10231": { + "10243": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The largest value that can be represented by this integer type\n(27 − 1).\n\n# Examples\n\n```\nassert_eq!(i8::MAX, 127);\n```", + "id": 10243, + "inner": { + "assoc_const": { + "type": { + "primitive": "i8" + }, + "value": "_" + } + }, + "links": {}, + "name": "MAX", + "span": { + "begin": [ + 247, + 5 + ], + "end": [ + 266, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "10244": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(i8::BITS, 8);\n```", + "id": 10244, + "inner": { + "assoc_const": { + "type": { + "primitive": "u32" + }, + "value": "u8::BITS" + } + }, + "links": {}, + "name": "BITS", + "span": { + "begin": [ + 247, + 5 + ], + "end": [ + 266, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "10245": { + "attrs": [ + { + "other": "#[doc(alias = \"popcount\")]" + }, + { + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -18827,8 +18505,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i16.saturating_add(1), 101);\nassert_eq!(i16::MAX.saturating_add(100), i16::MAX);\nassert_eq!(i16::MIN.saturating_add(-1), i16::MIN);\n```", - "id": 10231, + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000i8;\n\nassert_eq!(n.count_ones(), 1);\n```\n", + "id": 10245, "inner": { "function": { "generics": { @@ -18849,43 +18527,37 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_add", + "name": "count_ones", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10232": { + "10246": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -18895,8 +18567,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1i16.saturating_add_unsigned(2), 3);\nassert_eq!(i16::MAX.saturating_add_unsigned(100), i16::MAX);\n```", - "id": 10232, + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(i8::MAX.count_zeros(), 1);\n```", + "id": 10246, "inner": { "function": { "generics": { @@ -18917,54 +18589,51 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_add_unsigned", + "name": "count_zeros", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10233": { + "10247": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i16.saturating_sub(127), -27);\nassert_eq!(i16::MIN.saturating_sub(100), i16::MIN);\nassert_eq!(i16::MAX.saturating_sub(-1), i16::MAX);\n```", - "id": 10233, + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2i8.ilog2(), 1);\n```", + "id": 10247, "inner": { "function": { "generics": { @@ -18985,43 +18654,37 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_sub", + "name": "ilog2", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10234": { + "10248": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -19031,8 +18694,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i16.saturating_sub_unsigned(127), -27);\nassert_eq!(i16::MIN.saturating_sub_unsigned(100), i16::MIN);\n```", - "id": 10234, + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1i8;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: i8::ilog2", + "id": 10248, "inner": { "function": { "generics": { @@ -19053,43 +18716,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "u32" } } } }, - "links": {}, - "name": "saturating_sub_unsigned", + "links": { + "i8::ilog2": 10247 + }, + "name": "leading_zeros", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10235": { + "10249": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -19099,8 +18758,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i16.saturating_neg(), -100);\nassert_eq!((-100i16).saturating_neg(), 100);\nassert_eq!(i16::MIN.saturating_neg(), i16::MAX);\nassert_eq!(i16::MAX.saturating_neg(), i16::MIN + 1);\n```", - "id": 10235, + "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4i8;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", + "id": 10249, "inner": { "function": { "generics": { @@ -19125,33 +18784,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_neg", + "name": "trailing_zeros", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10236": { + "10250": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -19161,8 +18820,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i16.saturating_abs(), 100);\nassert_eq!((-100i16).saturating_abs(), 100);\nassert_eq!(i16::MIN.saturating_abs(), i16::MAX);\nassert_eq!((i16::MIN + 1).saturating_abs(), i16::MAX);\n```", - "id": 10236, + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1i8;\n\nassert_eq!(n.leading_ones(), 8);\n```", + "id": 10250, "inner": { "function": { "generics": { @@ -19187,33 +18846,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_abs", + "name": "leading_ones", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10237": { + "10251": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -19223,8 +18882,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10i16.saturating_mul(12), 120);\nassert_eq!(i16::MAX.saturating_mul(10), i16::MAX);\nassert_eq!(i16::MIN.saturating_mul(10), i16::MIN);\n```", - "id": 10237, + "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3i8;\n\nassert_eq!(n.trailing_ones(), 2);\n```", + "id": 10251, "inner": { "function": { "generics": { @@ -19245,43 +18904,34 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_mul", + "name": "trailing_ones", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10238": { + "10252": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { @@ -19291,76 +18941,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i16.saturating_div(2), 2);\nassert_eq!(i16::MAX.saturating_div(-1), i16::MIN + 1);\nassert_eq!(i16::MIN.saturating_div(-1), i16::MAX);\n\n```", - "id": 10238, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i16" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i16" - } - } - } - }, - "links": {}, - "name": "saturating_div", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10239": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4i16).saturating_pow(3), -64);\nassert_eq!(i16::MIN.saturating_pow(2), i16::MAX);\nassert_eq!(i16::MIN.saturating_pow(3), i16::MIN);\n```", - "id": 10239, + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i8 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_i8.isolate_highest_one(), 0);\n```", + "id": 10252, "inner": { "function": { "generics": { @@ -19381,179 +18963,34 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "saturating_pow", + "name": "isolate_highest_one", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1024": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1024, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 762, - "path": "Drain" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 1023 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2291, - 1 - ], - "end": [ - 2299, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "10240": { + "10253": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { @@ -19563,8 +19000,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_add_unsigned(27), 127);\nassert_eq!(i16::MAX.wrapping_add_unsigned(2), i16::MIN + 1);\n```", - "id": 10240, + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i8 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_i8.isolate_lowest_one(), 0);\n```", + "id": 10253, "inner": { "function": { "generics": { @@ -19585,43 +19022,34 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "wrapping_add_unsigned", + "name": "isolate_lowest_one", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10241": { + "10254": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -19631,8 +19059,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i16.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2i16).wrapping_sub_unsigned(u16::MAX), -1);\n```", - "id": 10241, + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i8.highest_one(), None);\nassert_eq!(0x1_i8.highest_one(), Some(0));\nassert_eq!(0x10_i8.highest_one(), Some(4));\nassert_eq!(0x1f_i8.highest_one(), Some(4));\n```", + "id": 10254, "inner": { "function": { "generics": { @@ -19653,43 +19081,49 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "wrapping_sub_unsigned", + "name": "highest_one", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10242": { + "10255": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -19699,8 +19133,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", - "id": 10242, + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i8.lowest_one(), None);\nassert_eq!(0x1_i8.lowest_one(), Some(0));\nassert_eq!(0x10_i8.lowest_one(), Some(4));\nassert_eq!(0x1f_i8.lowest_one(), Some(0));\n```", + "id": 10255, "inner": { "function": { "generics": { @@ -19721,43 +19155,52 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "wrapping_div", + "name": "lowest_one", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10243": { + "10256": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" }, { "must_use": { @@ -19767,8 +19210,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", - "id": 10243, + "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1i8;\n\nassert_eq!(n.cast_unsigned(), u8::MAX);\n```", + "id": 10256, "inner": { "function": { "generics": { @@ -19789,43 +19232,37 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "u8" } } } }, "links": {}, - "name": "wrapping_div_euclid", + "name": "cast_unsigned", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10244": { + "10257": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -19835,8 +19272,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", - "id": 10244, + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = -0x7ei8;\nlet m = 0xa;\n\nassert_eq!(n.rotate_left(2), m);\n```", + "id": 10257, "inner": { "function": { "generics": { @@ -19859,41 +19296,41 @@ } ], [ - "rhs", + "n", { - "primitive": "i16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "wrapping_rem", + "name": "rotate_left", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10245": { + "10258": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -19903,8 +19340,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", - "id": 10245, + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0xai8;\nlet m = -0x7e;\n\nassert_eq!(n.rotate_right(2), m);\n```", + "id": 10258, "inner": { "function": { "generics": { @@ -19927,41 +19364,41 @@ } ], [ - "rhs", + "n", { - "primitive": "i16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "wrapping_rem_euclid", + "name": "rotate_right", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10246": { + "10259": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -19971,8 +19408,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_neg(), -100);\nassert_eq!((-100i16).wrapping_neg(), 100);\nassert_eq!(i16::MIN.wrapping_neg(), i16::MIN);\n```", - "id": 10246, + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12i8;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x12);\n```", + "id": 10259, "inner": { "function": { "generics": { @@ -19997,173 +19434,197 @@ ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "wrapping_neg", + "name": "swap_bytes", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10247": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, + "1026": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1i16).wrapping_shl(7), -128);\nassert_eq!((-1i16).wrapping_shl(128), -1);\n```", - "id": 10247, + "docs": null, + "id": 1026, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i16" + }, + "id": 765, + "path": "ExtractIf" } - } - } - }, - "links": { - "Self::rotate_left": 10180 - }, - "name": "wrapping_shl", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10248": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128i16).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", - "id": 10248, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } } - ], - [ - "rhs", - { - "primitive": "u32" + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i16" - } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, - "links": { - "Self::rotate_right": 10181 - }, - "name": "wrapping_shr", - "span": { - "begin": [ - 271, - 5 - ], - "end": [ - 290, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "10249": { + "10260": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" }, { "must_use": { @@ -20173,8 +19634,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_abs(), 100);\nassert_eq!((-100i16).wrapping_abs(), 100);\nassert_eq!(i16::MIN.wrapping_abs(), i16::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", - "id": 10249, + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12i8;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x48);\nassert_eq!(0, 0i8.reverse_bits());\n```", + "id": 10260, "inner": { "function": { "generics": { @@ -20199,44 +19660,44 @@ ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "wrapping_abs", + "name": "reverse_bits", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10250": { + "10261": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100i16.unsigned_abs(), 100u16);\nassert_eq!((-100i16).unsigned_abs(), 100u16);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", - "id": 10250, + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai8;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(i8::from_be(n), n)\n} else {\n assert_eq!(i8::from_be(n), n.swap_bytes())\n}\n```", + "id": 10261, "inner": { "function": { "generics": { @@ -20253,52 +19714,52 @@ "sig": { "inputs": [ [ - "self", + "x", { - "generic": "Self" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i8" } } } }, "links": {}, - "name": "unsigned_abs", + "name": "from_be", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10251": { + "10262": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3i16.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", - "id": 10251, + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai8;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(i8::from_le(n), n)\n} else {\n assert_eq!(i8::from_le(n), n.swap_bytes())\n}\n```", + "id": 10262, "inner": { "function": { "generics": { @@ -20315,47 +19776,41 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "exp", + "x", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "wrapping_pow", + "name": "from_le", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10252": { + "10263": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -20365,8 +19820,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_add(2), (7, false));\nassert_eq!(i16::MAX.overflowing_add(1), (i16::MIN, true));\n```", - "id": 10252, + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai8;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "id": 10263, "inner": { "function": { "generics": { @@ -20387,50 +19842,37 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, "links": {}, - "name": "overflowing_add", + "name": "to_be", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10253": { + "10264": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -20440,8 +19882,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 16-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 3 MAX (a = 3 × 2^16 + 2^16 - 1)\n// + 5 7 (b = 5 × 2^16 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^16 + 6)\n\nlet (a1, a0): (u16, u16) = (3, u16::MAX);\nlet (b1, b0): (u16, u16) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", - "id": 10253, + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai8;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "id": 10264, "inner": { "function": { "generics": { @@ -20462,55 +19904,37 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } - ], - [ - "carry", - { - "primitive": "bool" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, - "links": { - "Self::overflowing_add": 10971 - }, - "name": "carrying_add", + "links": {}, + "name": "to_le", "span": { "begin": [ - 1081, + 247, 5 ], "end": [ - 1099, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10254": { + "10265": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -20520,8 +19944,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`u16::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^16 + 2^16 - 1)\n// + -5 9 (b = -5 × 2^16 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^16 + 8)\n\nlet (a1, a0): (i16, u16) = (10, u16::MAX);\nlet (b1, b0): (i16, u16) = (-5, 9);\nlet carry0 = false;\n\n// u16::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// i16::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", - "id": 10254, + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((i8::MAX - 2).checked_add(1), Some(i8::MAX - 1));\nassert_eq!((i8::MAX - 2).checked_add(3), None);\n```", + "id": 10265, "inner": { "function": { "generics": { @@ -20546,66 +19970,68 @@ [ "rhs", { - "primitive": "i16" - } - ], - [ - "carry", - { - "primitive": "bool" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, - "links": { - "Self::overflowing_add": 10252, - "`u16::carrying_add`": 10253 - }, - "name": "carrying_add", + "links": {}, + "name": "checked_add", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10255": { + "10266": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i16.overflowing_add_unsigned(2), (3, false));\nassert_eq!((i16::MIN).overflowing_add_unsigned(u16::MAX), (i16::MAX, false));\nassert_eq!((i16::MAX - 2).overflowing_add_unsigned(3), (i16::MIN, true));\n```", - "id": 10255, + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i8::MAX - 2).strict_add(1), i8::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i8::MAX - 2).strict_add(3);\n```", + "id": 10266, "inner": { "function": { "generics": { @@ -20630,46 +20056,39 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, "links": {}, - "name": "overflowing_add_unsigned", + "name": "strict_add", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10256": { + "10267": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -20679,8 +20098,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_sub(2), (3, false));\nassert_eq!(i16::MIN.overflowing_sub(1), (i16::MAX, true));\n```", - "id": 10256, + "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_add(27), 127);\nassert_eq!(i8::MAX.wrapping_add(2), i8::MIN + 1);\n```", + "id": 10267, "inner": { "function": { "generics": { @@ -20705,135 +20124,53 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, "links": {}, - "name": "overflowing_sub", + "name": "wrapping_add", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10257": { + "10268": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 9 6 (a = 9 × 2^16 + 6)\n// - 5 7 (b = 5 × 2^16 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^16 + 2^16 - 1)\n\nlet (a1, a0): (u16, u16) = (9, 6);\nlet (b1, b0): (u16, u16) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, u16::MAX));\n```", - "id": 10257, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u16" - } - ], - [ - "borrow", - { - "primitive": "bool" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] - } - } - } - }, - "links": {}, - "name": "borrowing_sub", - "span": { - "begin": [ - 1081, - 5 - ], - "end": [ - 1099, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10258": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`u16::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^16 + 8)\n// - -5 9 (b = -5 × 2^16 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^16 + 2^16 - 1)\n\nlet (a1, a0): (i16, u16) = (6, 8);\nlet (b1, b0): (i16, u16) = (-5, 9);\nlet borrow0 = false;\n\n// u16::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// i16::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, u16::MAX));\n```", - "id": 10258, + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > i8::MAX` or `self + rhs < i8::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: i8::checked_add\n[`wrapping_add`]: i8::wrapping_add", + "id": 10268, "inner": { "function": { "generics": { @@ -20845,7 +20182,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -20858,49 +20195,36 @@ [ "rhs", { - "primitive": "i16" - } - ], - [ - "borrow", - { - "primitive": "bool" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, "links": { - "Self::overflowing_sub": 10256, - "`u16::borrowing_sub`": 10257 + "i8::checked_add": 10265, + "i8::wrapping_add": 10267 }, - "name": "borrowing_sub", + "name": "unchecked_add", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10259": { + "10269": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" @@ -20916,8 +20240,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i16.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((i16::MAX).overflowing_sub_unsigned(u16::MAX), (i16::MIN, false));\nassert_eq!((i16::MIN + 2).overflowing_sub_unsigned(3), (i16::MAX, true));\n```", - "id": 10259, + "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i8.checked_add_unsigned(2), Some(3));\nassert_eq!((i8::MAX - 2).checked_add_unsigned(3), None);\n```", + "id": 10269, "inner": { "function": { "generics": { @@ -20942,45 +20266,53 @@ [ "rhs", { - "primitive": "u16" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_sub_unsigned", + "name": "checked_add_unsigned", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1026": { + "1027": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1026, + "id": 1027, "inner": { "impl": { "blanket_impl": null, @@ -21066,8 +20398,8 @@ "modifier": "none", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } } @@ -21087,8 +20419,8 @@ "modifier": "none", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } } @@ -21108,8 +20440,8 @@ "modifier": "none", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } } @@ -21129,8 +20461,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } }, @@ -21139,24 +20471,27 @@ "span": null, "visibility": "default" }, - "10260": { + "10270": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", - "id": 10260, + "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i8.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i8::MAX - 2).strict_add_unsigned(3);\n```", + "id": 10270, "inner": { "function": { "generics": { @@ -21181,46 +20516,39 @@ [ "rhs", { - "primitive": "i16" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, "links": {}, - "name": "overflowing_mul", + "name": "strict_add_unsigned", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10261": { + "10271": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -21230,8 +20558,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(i16::MAX.carrying_mul(i16::MAX, i16::MAX), (i16::MAX.unsigned_abs() + 1, i16::MAX / 2));\n```", - "id": 10261, + "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 2).checked_sub(1), Some(i8::MIN + 1));\nassert_eq!((i8::MIN + 2).checked_sub(3), None);\n```", + "id": 10271, "inner": { "function": { "generics": { @@ -21256,65 +20584,68 @@ [ "rhs", { - "primitive": "i16" - } - ], - [ - "carry", - { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } }, - { - "primitive": "i16" - } - ] + "id": 51, + "path": "Option" + } } } } }, - "links": { - "`Self::widening_mul`": 10262 - }, - "name": "carrying_mul", + "links": {}, + "name": "checked_sub", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10262": { + "10272": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", - "id": 10262, + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 2).strict_sub(1), i8::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i8::MIN + 2).strict_sub(3);\n```", + "id": 10272, "inner": { "function": { "generics": { @@ -21339,48 +20670,39 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "i16" - } - ] + "primitive": "i8" } } } }, - "links": { - "`Self::carrying_mul`": 10261 - }, - "name": "widening_mul", + "links": {}, + "name": "strict_sub", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10263": { + "10273": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -21390,8 +20712,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(i16::MAX.carrying_mul_add(i16::MAX, i16::MAX, i16::MAX), (u16::MAX, i16::MAX / 2));\n```", - "id": 10263, + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i8.wrapping_sub(127), -127);\nassert_eq!((-2i8).wrapping_sub(i8::MAX), i8::MAX);\n```", + "id": 10273, "inner": { "function": { "generics": { @@ -21416,72 +20738,53 @@ [ "rhs", { - "primitive": "i16" - } - ], - [ - "carry", - { - "primitive": "i16" - } - ], - [ - "add", - { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "i16" - } - ] + "primitive": "i8" } } } }, - "links": { - "`Self::carrying_mul`": 10261, - "`Self::widening_mul`": 10262 - }, - "name": "carrying_mul_add", + "links": {}, + "name": "wrapping_sub", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10264": { + "10274": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_div(2), (2, false));\nassert_eq!(i16::MIN.overflowing_div(-1), (i16::MIN, true));\n```", - "id": 10264, + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > i8::MAX` or `self - rhs < i8::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: i8::checked_sub\n[`wrapping_sub`]: i8::wrapping_sub", + "id": 10274, "inner": { "function": { "generics": { @@ -21493,7 +20796,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -21506,46 +20809,42 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, - "links": {}, - "name": "overflowing_div", + "links": { + "i8::checked_sub": 10271, + "i8::wrapping_sub": 10273 + }, + "name": "unchecked_sub", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10265": { + "10275": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -21555,8 +20854,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_div_euclid(2), (2, false));\nassert_eq!(i16::MIN.overflowing_div_euclid(-1), (i16::MIN, true));\n```", - "id": 10265, + "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i8.checked_sub_unsigned(2), Some(-1));\nassert_eq!((i8::MIN + 2).checked_sub_unsigned(3), None);\n```", + "id": 10275, "inner": { "function": { "generics": { @@ -21581,57 +20880,68 @@ [ "rhs", { - "primitive": "i16" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_div_euclid", + "name": "checked_sub_unsigned", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10266": { + "10276": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_rem(2), (1, false));\nassert_eq!(i16::MIN.overflowing_rem(-1), (0, true));\n```", - "id": 10266, + "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i8.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i8::MIN + 2).strict_sub_unsigned(3);\n```", + "id": 10276, "inner": { "function": { "generics": { @@ -21656,60 +20966,50 @@ [ "rhs", { - "primitive": "i16" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, "links": {}, - "name": "overflowing_rem", + "name": "strict_sub_unsigned", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10267": { + "10277": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_rem_euclid(2), (1, false));\nassert_eq!(i16::MIN.overflowing_rem_euclid(-1), (0, true));\n```", - "id": 10267, + "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(i8::MAX.checked_mul(1), Some(i8::MAX));\nassert_eq!(i8::MAX.checked_mul(2), None);\n```", + "id": 10277, "inner": { "function": { "generics": { @@ -21734,57 +21034,68 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "checked_mul", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10268": { + "10278": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2i16.overflowing_neg(), (-2, false));\nassert_eq!(i16::MIN.overflowing_neg(), (i16::MIN, true));\n```", - "id": 10268, + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(i8::MAX.strict_mul(1), i8::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = i8::MAX.strict_mul(2);\n```", + "id": 10278, "inner": { "function": { "generics": { @@ -21805,44 +21116,43 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, "links": {}, - "name": "overflowing_neg", + "name": "strict_mul", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10269": { + "10279": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -21852,8 +21162,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1i16.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10i16.overflowing_shl(15), (0, false));\n```", - "id": 10269, + "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10i8.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", + "id": 10279, "inner": { "function": { "generics": { @@ -21878,45 +21188,38 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, "links": {}, - "name": "overflowing_shl", + "name": "wrapping_mul", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1027": { + "1028": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1027, + "id": 1028, "inner": { "impl": { "blanket_impl": null, @@ -22002,8 +21305,8 @@ "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } } @@ -22013,48 +21316,6 @@ "generic": "F" } } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } } ] }, @@ -22065,8 +21326,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -22075,24 +21336,27 @@ "span": null, "visibility": "default" }, - "10270": { + "10280": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10i16.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", - "id": 10270, + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > i8::MAX` or `self * rhs < i8::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: i8::checked_mul\n[`wrapping_mul`]: i8::wrapping_mul", + "id": 10280, "inner": { "function": { "generics": { @@ -22104,7 +21368,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -22117,46 +21381,42 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, - "links": {}, - "name": "overflowing_shr", + "links": { + "i8::checked_mul": 10277, + "i8::wrapping_mul": 10279 + }, + "name": "unchecked_mul", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10271": { + "10281": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -22166,8 +21426,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., i16::MIN for values of type i16),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10i16.overflowing_abs(), (10, false));\nassert_eq!((-10i16).overflowing_abs(), (10, false));\nassert_eq!((i16::MIN).overflowing_abs(), (i16::MIN, true));\n```", - "id": 10271, + "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 1).checked_div(-1), Some(127));\nassert_eq!(i8::MIN.checked_div(-1), None);\nassert_eq!((1i8).checked_div(0), None);\n```", + "id": 10281, "inner": { "function": { "generics": { @@ -22188,55 +21448,72 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_abs", + "name": "checked_div", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10272": { + "10282": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3i16.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", - "id": 10272, + "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 1).strict_div(-1), 127);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i8).strict_div(0);\n```", + "id": 10282, "inner": { "function": { "generics": { @@ -22259,48 +21536,41 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i16" - }, - { - "primitive": "bool" - } - ] + "primitive": "i8" } } } }, "links": {}, - "name": "overflowing_pow", + "name": "strict_div", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10273": { + "10283": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -22310,8 +21580,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: i16 = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", - "id": 10273, + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 1).checked_div_euclid(-1), Some(127));\nassert_eq!(i8::MIN.checked_div_euclid(-1), None);\nassert_eq!((1i8).checked_div_euclid(0), None);\n```", + "id": 10283, "inner": { "function": { "generics": { @@ -22334,41 +21604,56 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "pow", + "name": "checked_div_euclid", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10274": { + "10284": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -22381,8 +21666,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i16.isqrt(), 3);\n```", - "id": 10274, + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i8::MIN + 1).strict_div_euclid(-1), 127);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i8).strict_div_euclid(0);\n```", + "id": 10284, "inner": { "function": { "generics": { @@ -22403,51 +21688,51 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "isqrt", + "name": "strict_div_euclid", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10275": { + "10285": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i16 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", - "id": 10275, + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((i8::MIN + 1).checked_exact_div(-1), Some(127));\nassert_eq!((-5i8).checked_exact_div(2), None);\nassert_eq!(i8::MIN.checked_exact_div(-1), None);\nassert_eq!((1i8).checked_exact_div(0), None);\n```", + "id": 10285, "inner": { "function": { "generics": { @@ -22472,56 +21757,62 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "div_euclid", + "name": "checked_exact_div", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10276": { + "10286": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i16 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = i16::MIN.rem_euclid(-1);\n```", - "id": 10276, + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64i8.exact_div(2), 32);\nassert_eq!(64i8.exact_div(32), 2);\nassert_eq!((i8::MIN + 1).exact_div(-1), 127);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65i8.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = i8::MIN.exact_div(-1);\n```", + "id": 10286, "inner": { "function": { "generics": { @@ -22546,50 +21837,47 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "rem_euclid", + "name": "exact_div", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10277": { + "10287": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i16 = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", - "id": 10277, + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == i8::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "id": 10287, "inner": { "function": { "generics": { @@ -22601,7 +21889,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -22614,50 +21902,52 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, - "links": {}, - "name": "div_floor", + "links": { + "Self::checked_exact_div": 10285 + }, + "name": "unchecked_exact_div", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10278": { + "10288": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i16 = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", - "id": 10278, + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i8.checked_rem(2), Some(1));\nassert_eq!(5i8.checked_rem(0), None);\nassert_eq!(i8::MIN.checked_rem(-1), None);\n```", + "id": 10288, "inner": { "function": { "generics": { @@ -22682,47 +21972,68 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "div_ceil", + "name": "checked_rem", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10279": { + "10289": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i16.next_multiple_of(8), 16);\nassert_eq!(23_i16.next_multiple_of(8), 24);\nassert_eq!(16_i16.next_multiple_of(-8), 16);\nassert_eq!(23_i16.next_multiple_of(-8), 16);\nassert_eq!((-16_i16).next_multiple_of(8), -16);\nassert_eq!((-23_i16).next_multiple_of(8), -16);\nassert_eq!((-16_i16).next_multiple_of(-8), -16);\nassert_eq!((-23_i16).next_multiple_of(-8), -24);\n```", - "id": 10279, + "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i8.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i8.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_rem(-1);\n```", + "id": 10289, "inner": { "function": { "generics": { @@ -22747,38 +22058,38 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "next_multiple_of", + "name": "strict_rem", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1028": { + "1029": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1028, + "id": 1029, "inner": { "impl": { "blanket_impl": null, @@ -22864,8 +22175,8 @@ "modifier": "none", "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } } @@ -22885,8 +22196,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -22895,10 +22206,13 @@ "span": null, "visibility": "default" }, - "10280": { + "10290": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -22908,8 +22222,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i16.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_i16.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_i16.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_i16.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_i16).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_i16).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_i16).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_i16).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_i16.checked_next_multiple_of(0), None);\nassert_eq!(i16::MAX.checked_next_multiple_of(2), None);\n```", - "id": 10280, + "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i8.checked_rem_euclid(2), Some(1));\nassert_eq!(5i8.checked_rem_euclid(0), None);\nassert_eq!(i8::MIN.checked_rem_euclid(-1), None);\n```", + "id": 10290, "inner": { "function": { "generics": { @@ -22934,7 +22248,7 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], @@ -22946,7 +22260,7 @@ "args": [ { "type": { - "primitive": "i16" + "primitive": "i8" } } ], @@ -22961,27 +22275,27 @@ } }, "links": {}, - "name": "checked_next_multiple_of", + "name": "checked_rem_euclid", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10281": { + "10291": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -22994,8 +22308,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5i16.ilog(5), 1);\n```", - "id": 10281, + "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i8.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i8.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_rem_euclid(-1);\n```", + "id": 10291, "inner": { "function": { "generics": { @@ -23018,55 +22332,52 @@ } ], [ - "base", + "rhs", { - "primitive": "i16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i8" } } } }, "links": {}, - "name": "ilog", + "name": "strict_rem_euclid", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10282": { + "10292": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10i16.ilog10(), 1);\n```", - "id": 10282, + "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5i8.checked_neg(), Some(-5));\nassert_eq!(i8::MIN.checked_neg(), None);\n```", + "id": 10292, "inner": { "function": { "generics": { @@ -23091,44 +22402,59 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "ilog10", + "name": "checked_neg", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10283": { + "10293": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5i16.checked_ilog(5), Some(1));\n```", - "id": 10283, + "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == i8::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: i8::checked_neg", + "id": 10293, "inner": { "function": { "generics": { @@ -23140,7 +22466,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -23149,69 +22475,53 @@ { "generic": "Self" } - ], - [ - "base", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i8" } } } }, - "links": {}, - "name": "checked_ilog", + "links": { + "i8::checked_neg": 10292 + }, + "name": "unchecked_neg", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10284": { + "10294": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2i16.checked_ilog2(), Some(1));\n```", - "id": 10284, + "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5i8.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_neg();\n```", + "id": 10294, "inner": { "function": { "generics": { @@ -23236,48 +22546,33 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i8" } } } }, "links": {}, - "name": "checked_ilog2", + "name": "strict_neg", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10285": { + "10295": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -23287,8 +22582,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10i16.checked_ilog10(), Some(1));\n```", - "id": 10285, + "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1i8.checked_shl(4), Some(0x10));\nassert_eq!(0x1i8.checked_shl(129), None);\nassert_eq!(0x10i8.checked_shl(7), Some(0));\n```", + "id": 10295, "inner": { "function": { "generics": { @@ -23309,6 +22604,12 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, @@ -23319,7 +22620,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "i8" } } ], @@ -23334,38 +22635,41 @@ } }, "links": {}, - "name": "checked_ilog10", + "name": "checked_shl", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10286": { + "10296": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`i16::MIN`\ncannot be represented as an\n`i16`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`i16::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10i16.abs(), 10);\nassert_eq!((-10i16).abs(), 10);\n```", - "id": 10286, + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1i8.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1i8.strict_shl(129);\n```", + "id": 10296, "inner": { "function": { "generics": { @@ -23386,50 +22690,54 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, - "links": { - "Self::unsigned_abs": 10250 - }, - "name": "abs", + "links": {}, + "name": "strict_shl", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10287": { + "10297": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100i16.abs_diff(80), 20u16);\nassert_eq!(100i16.abs_diff(110), 10u16);\nassert_eq!((-100i16).abs_diff(80), 180u16);\nassert_eq!((-100i16).abs_diff(-120), 20u16);\nassert_eq!(i16::MIN.abs_diff(i16::MAX), u16::MAX);\n```", - "id": 10287, + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: i8::checked_shl", + "id": 10297, "inner": { "function": { "generics": { @@ -23441,7 +22749,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -23452,41 +22760,43 @@ } ], [ - "other", + "rhs", { - "primitive": "i16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i8" } } } }, - "links": {}, - "name": "abs_diff", + "links": { + "i8::checked_shl": 10295 + }, + "name": "unchecked_shl", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10288": { + "10298": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { @@ -23496,8 +22806,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10i16.signum(), 1);\nassert_eq!(0i16.signum(), 0);\nassert_eq!((-10i16).signum(), -1);\n```", - "id": 10288, + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1i8.unbounded_shl(4), 0x10);\nassert_eq!(0x1i8.unbounded_shl(129), 0);\n```", + "id": 10298, "inner": { "function": { "generics": { @@ -23518,48 +22828,51 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "signum", + "name": "unbounded_shl", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10289": { + "10299": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10i16.is_positive());\nassert!(!(-10i16).is_positive());\n```", - "id": 10289, + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any bits that would be shifted out differ from the resulting sign bit\nor if `rhs` >=\n`i8::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1i8.exact_shl(4), Some(0x10));\nassert_eq!(0x1i8.exact_shl(i8::BITS - 2), Some(1 << i8::BITS - 2));\nassert_eq!(0x1i8.exact_shl(i8::BITS - 1), None);\nassert_eq!((-0x2i8).exact_shl(i8::BITS - 2), Some(-0x2 << i8::BITS - 2));\nassert_eq!((-0x2i8).exact_shl(i8::BITS - 1), None);\n```", + "id": 10299, "inner": { "function": { "generics": { @@ -23580,36 +22893,57 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "is_positive", + "name": "exact_shl", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1029": { + "1030": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1029, + "id": 1030, "inner": { "impl": { "blanket_impl": null, @@ -23685,39 +23019,17 @@ "name": "F" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -23726,24 +23038,21 @@ "span": null, "visibility": "default" }, - "10290": { + "10300": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10i16).is_negative());\nassert!(!10i16.is_negative());\n```", - "id": 10290, + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`i8::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs >= self.leading_zeros() && rhs >=\nself.leading_ones()` i.e. when\n[`i8::exact_shl`]\nwould return `None`.", + "id": 10300, "inner": { "function": { "generics": { @@ -23755,7 +23064,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -23764,37 +23073,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i8" } } } }, - "links": {}, - "name": "is_negative", + "links": { + "`i8::exact_shl`": 10299 + }, + "name": "unchecked_exact_shl", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10291": { + "10301": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -23804,8 +23121,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234i16.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34]);\n```", - "id": 10291, + "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10i8.checked_shr(4), Some(0x1));\nassert_eq!(0x10i8.checked_shr(128), None);\n```", + "id": 10301, "inner": { "function": { "generics": { @@ -23826,53 +23143,72 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "to_be_bytes", + "name": "checked_shr", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10292": { + "10302": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234i16.to_le_bytes();\nassert_eq!(bytes, [0x34, 0x12]);\n```", - "id": 10292, + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10i8.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10i8.strict_shr(128);\n```", + "id": 10302, "inner": { "function": { "generics": { @@ -23893,53 +23229,54 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "primitive": "i8" } } } }, "links": {}, - "name": "to_le_bytes", + "name": "strict_shr", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10293": { + "10303": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234i16.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34]\n } else {\n [0x34, 0x12]\n }\n);\n```", - "id": 10293, + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: i8::checked_shr", + "id": 10303, "inner": { "function": { "generics": { @@ -23951,7 +23288,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -23960,56 +23297,56 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "primitive": "i8" } } } }, "links": { - "Self::to_be_bytes": 10291, - "Self::to_le_bytes": 10292 + "i8::checked_shr": 10301 }, - "name": "to_ne_bytes", + "name": "unchecked_shr", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10294": { + "10304": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n\n# Examples\n\n```\nlet value = i16::from_be_bytes([0x12, 0x34]);\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_i16(input: &mut &[u8]) -> i16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i16::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 10294, + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10i8.unbounded_shr(4), 0x1);\nassert_eq!(0x10i8.unbounded_shr(129), 0);\nassert_eq!(i8::MIN.unbounded_shr(129), -1);\n```", + "id": 10304, "inner": { "function": { "generics": { @@ -24026,57 +23363,55 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": {}, - "name": "from_be_bytes", + "name": "unbounded_shr", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10295": { + "10305": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n\n# Examples\n\n```\nlet value = i16::from_le_bytes([0x34, 0x12]);\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_i16(input: &mut &[u8]) -> i16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i16::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 10295, + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`i8::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10i8.exact_shr(4), Some(0x1));\nassert_eq!(0x10i8.exact_shr(5), None);\n```", + "id": 10305, "inner": { "function": { "generics": { @@ -24093,57 +23428,70 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "from_le_bytes", + "name": "exact_shr", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10296": { + "10306": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = i16::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34]\n} else {\n [0x34, 0x12]\n});\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_i16(input: &mut &[u8]) -> i16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i16::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 10296, + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`i8::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\ni8::BITS`\ni.e. when\n[`i8::exact_shr`]\nwould return `None`.", + "id": 10306, "inner": { "function": { "generics": { @@ -24155,66 +23503,65 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, "links": { - "Self::from_be_bytes": 10294, - "Self::from_le_bytes": 10295 + "`i8::exact_shr`": 10305 }, - "name": "from_ne_bytes", + "name": "unchecked_exact_shr", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10297": { + "10307": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"i16_legacy_fn_min_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`i16::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", - "id": 10297, + "deprecation": null, + "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5i8).checked_abs(), Some(5));\nassert_eq!(i8::MIN.checked_abs(), None);\n```", + "id": 10307, "inner": { "function": { "generics": { @@ -24229,50 +23576,72 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "`i16::MIN`": 10165 - }, - "name": "min_value", + "links": {}, + "name": "checked_abs", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10298": { + "10308": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"i16_legacy_fn_max_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`i16::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", - "id": 10298, + "deprecation": null, + "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5i8).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MIN.strict_abs();\n```", + "id": 10308, "inner": { "function": { "generics": { @@ -24287,47 +23656,43 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i8" } } } }, - "links": { - "`i16::MAX`": 10166 - }, - "name": "max_value", + "links": {}, + "name": "strict_abs", "span": { "begin": [ - 271, + 247, 5 ], "end": [ - 290, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10299": { + "10309": { "attrs": [ { - "other": "#[doc(alias = \"average_floor\")]" - }, - { - "other": "#[doc(alias = \"average_ceil\")]" - }, - { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -24337,8 +23702,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0i16.midpoint(4), 2);\nassert_eq!((-1i16).midpoint(2), 0);\nassert_eq!((-7i16).midpoint(0), -3);\nassert_eq!(0i16.midpoint(-7), -3);\nassert_eq!(0i16.midpoint(7), 3);\n```", - "id": 10299, + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8i8.checked_pow(2), Some(64));\nassert_eq!(i8::MAX.checked_pow(2), None);\n```", + "id": 10309, "inner": { "function": { "generics": { @@ -24361,856 +23726,55 @@ } ], [ - "rhs", + "exp", { - "primitive": "i16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "midpoint", + "name": "checked_pow", "span": { "begin": [ - 291, + 247, 5 ], "end": [ - 291, - 40 + 266, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1030": { + "1031": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1030, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 765, - "path": "ExtractIf" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [] - }, - "is_negative": true, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "10300": { - "attrs": [], - "crate_id": 1, - "deprecation": null, - "docs": null, - "id": 10300, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i16" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10165, - 10166, - 10167, - 10168, - 10169, - 10171, - 10172, - 10173, - 10174, - 10175, - 10176, - 10177, - 10178, - 10179, - 10180, - 10181, - 10182, - 10183, - 10184, - 10185, - 10186, - 10187, - 10188, - 10189, - 10191, - 10192, - 10193, - 10194, - 10195, - 10197, - 10198, - 10199, - 10200, - 10201, - 10203, - 10204, - 10205, - 10206, - 10207, - 10208, - 10209, - 10210, - 10211, - 10212, - 10213, - 10214, - 10215, - 10216, - 10217, - 10218, - 10219, - 10220, - 10221, - 10222, - 10223, - 10224, - 10225, - 10226, - 10227, - 10228, - 10229, - 10230, - 10231, - 10232, - 10233, - 10234, - 10235, - 10236, - 10237, - 10238, - 10239, - 10190, - 10240, - 10196, - 10241, - 10202, - 10242, - 10243, - 10244, - 10245, - 10246, - 10247, - 10248, - 10249, - 10250, - 10251, - 10252, - 10254, - 10255, - 10256, - 10258, - 10259, - 10260, - 10262, - 10261, - 10263, - 10264, - 10265, - 10266, - 10267, - 10268, - 10269, - 10270, - 10271, - 10272, - 10273, - 10274, - 10275, - 10276, - 10277, - 10278, - 10279, - 10280, - 10281, - 10170, - 10282, - 10283, - 10284, - 10285, - 10286, - 10287, - 10288, - 10289, - 10290, - 10291, - 10292, - 10293, - 10294, - 10295, - 10296, - 10297, - 10298, - 10299 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 270, - 1 - ], - "end": [ - 270, - 9 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "default" - }, - "10301": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(i16::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(i16::from_str_radix(\"1 \", 10).is_err());\n```", - "id": 10301, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - ], - [ - "radix", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } - } - }, - "links": {}, - "name": "from_str_radix", - "span": { - "begin": [ - 1630, - 1 - ], - "end": [ - 1630, - 56 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10302": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i16::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i16::from_ascii(b\"1 \").is_err());\n```", - "id": 10302, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } - } - }, - "links": {}, - "name": "from_ascii", - "span": { - "begin": [ - 1630, - 1 - ], - "end": [ - 1630, - 56 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10303": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i16::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i16::from_ascii_radix(b\"1 \", 10).is_err());\n```", - "id": 10303, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ], - [ - "radix", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } - } - }, - "links": {}, - "name": "from_ascii_radix", - "span": { - "begin": [ - 1630, - 1 - ], - "end": [ - 1630, - 56 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10304": { - "attrs": [], - "crate_id": 1, - "deprecation": null, - "docs": null, - "id": 10304, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i16" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10301, - 10302, - 10303 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1630, - 1 - ], - "end": [ - 1630, - 56 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "default" - }, - "10305": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0i16;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32i16;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = i16 :: MAX;\nassert_eq!(n2.format_into(&mut buf), i16 :: MAX.to_string());\n```", - "id": 10305, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "buf", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } - }, - "id": 10162, - "path": "NumBuffer" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": { - "`NumBuffer`": 10162 - }, - "name": "format_into", - "span": { - "begin": [ - 562, - 5 - ], - "end": [ - 562, - 95 - ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" - }, - "visibility": "public" - }, - "10306": { - "attrs": [], - "crate_id": 1, - "deprecation": null, - "docs": null, - "id": 10306, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i16" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10305 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 562, - 5 - ], - "end": [ - 562, - 95 - ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" - }, - "visibility": "default" - }, - "10307": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "The smallest value that can be represented by this integer type\n(−231).\n\n# Examples\n\n```\nassert_eq!(i32::MIN, -2147483648);\n```", - "id": 10307, - "inner": { - "assoc_const": { - "type": { - "primitive": "i32" - }, - "value": "_" - } - }, - "links": {}, - "name": "MIN", - "span": { - "begin": [ - 295, - 5 - ], - "end": [ - 314, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10308": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(231 − 1).\n\n# Examples\n\n```\nassert_eq!(i32::MAX, 2147483647);\n```", - "id": 10308, - "inner": { - "assoc_const": { - "type": { - "primitive": "i32" - }, - "value": "_" - } - }, - "links": {}, - "name": "MAX", - "span": { - "begin": [ - 295, - 5 - ], - "end": [ - 314, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10309": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(i32::BITS, 32);\n```", - "id": 10309, - "inner": { - "assoc_const": { - "type": { - "primitive": "u32" - }, - "value": "u32::BITS" - } - }, - "links": {}, - "name": "BITS", - "span": { - "begin": [ - 295, - 5 - ], - "end": [ - 314, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "1031": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1031, + "id": 1031, "inner": { "impl": { "blanket_impl": null, @@ -25296,7 +23860,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -25317,7 +23881,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -25338,7 +23902,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -25359,7 +23923,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -25372,26 +23936,23 @@ "10310": { "attrs": [ { - "other": "#[doc(alias = \"popcount\")]" - }, - { - "other": "#[doc(alias = \"popcnt\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000i32;\n\nassert_eq!(n.count_ones(), 1);\n```\n", + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8i8.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i8::MAX.strict_pow(2);\n```", "id": 10310, "inner": { "function": { @@ -25413,24 +23974,30 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i8" } } } }, "links": {}, - "name": "count_ones", + "name": "strict_pow", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -25440,10 +24007,10 @@ "10311": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { @@ -25453,7 +24020,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(i32::MAX.count_zeros(), 1);\n```", + "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i8.checked_isqrt(), Some(3));\n```", "id": 10311, "inner": { "function": { @@ -25479,20 +24046,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "count_zeros", + "name": "checked_isqrt", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -25502,23 +24084,20 @@ "10312": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2i32.ilog2(), 1);\n```", + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i8.saturating_add(1), 101);\nassert_eq!(i8::MAX.saturating_add(100), i8::MAX);\nassert_eq!(i8::MIN.saturating_add(-1), i8::MIN);\n```", "id": 10312, "inner": { "function": { @@ -25540,24 +24119,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i8" } } } }, "links": {}, - "name": "ilog2", + "name": "saturating_add", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -25567,10 +24152,10 @@ "10313": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -25580,7 +24165,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1i32;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: i32::ilog2", + "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1i8.saturating_add_unsigned(2), 3);\nassert_eq!(i8::MAX.saturating_add_unsigned(100), i8::MAX);\n```", "id": 10313, "inner": { "function": { @@ -25602,26 +24187,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i8" } } } }, - "links": { - "i32::ilog2": 10312 - }, - "name": "leading_zeros", + "links": {}, + "name": "saturating_add_unsigned", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -25631,7 +24220,7 @@ "10314": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -25644,7 +24233,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4i32;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i8.saturating_sub(127), -27);\nassert_eq!(i8::MIN.saturating_sub(100), i8::MIN);\nassert_eq!(i8::MAX.saturating_sub(-1), i8::MAX);\n```", "id": 10314, "inner": { "function": { @@ -25666,24 +24255,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i8" } } } }, "links": {}, - "name": "trailing_zeros", + "name": "saturating_sub", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -25693,10 +24288,10 @@ "10315": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -25706,7 +24301,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1i32;\n\nassert_eq!(n.leading_ones(), 32);\n```", + "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i8.saturating_sub_unsigned(127), -27);\nassert_eq!(i8::MIN.saturating_sub_unsigned(100), i8::MIN);\n```", "id": 10315, "inner": { "function": { @@ -25728,24 +24323,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i8" } } } }, "links": {}, - "name": "leading_ones", + "name": "saturating_sub_unsigned", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -25755,10 +24356,10 @@ "10316": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" }, { "must_use": { @@ -25768,7 +24369,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3i32;\n\nassert_eq!(n.trailing_ones(), 2);\n```", + "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i8.saturating_neg(), -100);\nassert_eq!((-100i8).saturating_neg(), 100);\nassert_eq!(i8::MIN.saturating_neg(), i8::MAX);\nassert_eq!(i8::MAX.saturating_neg(), i8::MIN + 1);\n```", "id": 10316, "inner": { "function": { @@ -25794,20 +24395,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i8" } } } }, "links": {}, - "name": "trailing_ones", + "name": "saturating_neg", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -25817,7 +24418,10 @@ "10317": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" }, { "must_use": { @@ -25827,7 +24431,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i32 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_i32.isolate_highest_one(), 0);\n```", + "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i8.saturating_abs(), 100);\nassert_eq!((-100i8).saturating_abs(), 100);\nassert_eq!(i8::MIN.saturating_abs(), i8::MAX);\nassert_eq!((i8::MIN + 1).saturating_abs(), i8::MAX);\n```", "id": 10317, "inner": { "function": { @@ -25853,20 +24457,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "isolate_highest_one", + "name": "saturating_abs", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -25876,7 +24480,10 @@ "10318": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -25886,7 +24493,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i32 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_i32.isolate_lowest_one(), 0);\n```", + "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10i8.saturating_mul(12), 120);\nassert_eq!(i8::MAX.saturating_mul(10), i8::MAX);\nassert_eq!(i8::MIN.saturating_mul(10), i8::MIN);\n```", "id": 10318, "inner": { "function": { @@ -25908,24 +24515,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "isolate_lowest_one", + "name": "saturating_mul", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -25935,7 +24548,10 @@ "10319": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" }, { "must_use": { @@ -25945,7 +24561,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i32.highest_one(), None);\nassert_eq!(0x1_i32.highest_one(), Some(0));\nassert_eq!(0x10_i32.highest_one(), Some(4));\nassert_eq!(0x1f_i32.highest_one(), Some(4));\n```", + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i8.saturating_div(2), 2);\nassert_eq!(i8::MAX.saturating_div(-1), i8::MIN + 1);\nassert_eq!(i8::MIN.saturating_div(-1), i8::MAX);\n\n```", "id": 10319, "inner": { "function": { @@ -25967,39 +24583,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i8" } } } }, "links": {}, - "name": "highest_one", + "name": "saturating_div", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26089,7 +24696,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -26105,7 +24712,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -26114,12 +24721,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -26128,7 +24735,10 @@ "10320": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -26138,7 +24748,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i32.lowest_one(), None);\nassert_eq!(0x1_i32.lowest_one(), Some(0));\nassert_eq!(0x10_i32.lowest_one(), Some(4));\nassert_eq!(0x1f_i32.lowest_one(), Some(0));\n```", + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4i8).saturating_pow(3), -64);\nassert_eq!(i8::MIN.saturating_pow(2), i8::MAX);\nassert_eq!(i8::MIN.saturating_pow(3), i8::MIN);\n```", "id": 10320, "inner": { "function": { @@ -26160,39 +24770,30 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i8" } } } }, "links": {}, - "name": "lowest_one", + "name": "saturating_pow", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26202,10 +24803,10 @@ "10321": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -26215,7 +24816,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1i32;\n\nassert_eq!(n.cast_unsigned(), u32::MAX);\n```", + "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_add_unsigned(27), 127);\nassert_eq!(i8::MAX.wrapping_add_unsigned(2), i8::MIN + 1);\n```", "id": 10321, "inner": { "function": { @@ -26237,24 +24838,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i8" } } } }, "links": {}, - "name": "cast_unsigned", + "name": "wrapping_add_unsigned", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26264,10 +24871,10 @@ "10322": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -26277,7 +24884,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0x10000b3i32;\nlet m = 0xb301;\n\nassert_eq!(n.rotate_left(8), m);\n```", + "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i8.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2i8).wrapping_sub_unsigned(u8::MAX), -1);\n```", "id": 10322, "inner": { "function": { @@ -26301,28 +24908,28 @@ } ], [ - "n", + "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "rotate_left", + "name": "wrapping_sub_unsigned", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26332,10 +24939,10 @@ "10323": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -26345,7 +24952,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0xb301i32;\nlet m = 0x10000b3;\n\nassert_eq!(n.rotate_right(8), m);\n```", + "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", "id": 10323, "inner": { "function": { @@ -26369,28 +24976,28 @@ } ], [ - "n", + "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "rotate_right", + "name": "wrapping_div", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26400,10 +25007,10 @@ "10324": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -26413,7 +25020,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12345678i32;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x78563412);\n```", + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", "id": 10324, "inner": { "function": { @@ -26435,24 +25042,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "swap_bytes", + "name": "wrapping_div_euclid", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26462,10 +25075,10 @@ "10325": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -26475,7 +25088,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12345678i32;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x1e6a2c48);\nassert_eq!(0, 0i32.reverse_bits());\n```", + "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", "id": 10325, "inner": { "function": { @@ -26497,24 +25110,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "reverse_bits", + "name": "wrapping_rem", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26524,20 +25143,20 @@ "10326": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai32;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(i32::from_be(n), n)\n} else {\n assert_eq!(i32::from_be(n), n.swap_bytes())\n}\n```", + "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", "id": 10326, "inner": { "function": { @@ -26555,28 +25174,34 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "i32" + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "from_be", + "name": "wrapping_rem_euclid", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26586,20 +25211,20 @@ "10327": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai32;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(i32::from_le(n), n)\n} else {\n assert_eq!(i32::from_le(n), n.swap_bytes())\n}\n```", + "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_neg(), -100);\nassert_eq!((-100i8).wrapping_neg(), 100);\nassert_eq!(i8::MIN.wrapping_neg(), i8::MIN);\n```", "id": 10327, "inner": { "function": { @@ -26617,28 +25242,28 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "i32" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "from_le", + "name": "wrapping_neg", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26648,10 +25273,10 @@ "10328": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -26661,7 +25286,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai32;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1i8).wrapping_shl(7), -128);\nassert_eq!((-1i8).wrapping_shl(128), -1);\n```", "id": 10328, "inner": { "function": { @@ -26683,24 +25308,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, - "links": {}, - "name": "to_be", + "links": { + "Self::rotate_left": 10257 + }, + "name": "wrapping_shl", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26710,10 +25343,10 @@ "10329": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -26723,7 +25356,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai32;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128i8).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", "id": 10329, "inner": { "function": { @@ -26745,24 +25378,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, - "links": {}, - "name": "to_le", + "links": { + "Self::rotate_right": 10258 + }, + "name": "wrapping_shr", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26852,7 +25493,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -26868,7 +25509,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -26877,12 +25518,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -26891,10 +25532,10 @@ "10330": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { @@ -26904,7 +25545,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((i32::MAX - 2).checked_add(1), Some(i32::MAX - 1));\nassert_eq!((i32::MAX - 2).checked_add(3), None);\n```", + "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i8.wrapping_abs(), 100);\nassert_eq!((-100i8).wrapping_abs(), 100);\nassert_eq!(i8::MIN.wrapping_abs(), i8::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", "id": 10330, "inner": { "function": { @@ -26926,45 +25567,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i8" } } } }, "links": {}, - "name": "checked_add", + "name": "wrapping_abs", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -26974,23 +25594,20 @@ "10331": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i32::MAX - 2).strict_add(1), i32::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i32::MAX - 2).strict_add(3);\n```", + "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100i8.unsigned_abs(), 100u8);\nassert_eq!((-100i8).unsigned_abs(), 100u8);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", "id": 10331, "inner": { "function": { @@ -27012,30 +25629,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "u8" } } } }, "links": {}, - "name": "strict_add", + "name": "unsigned_abs", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27045,10 +25656,10 @@ "10332": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -27058,7 +25669,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_add(27), 127);\nassert_eq!(i32::MAX.wrapping_add(2), i32::MIN + 1);\n```", + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3i8.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", "id": 10332, "inner": { "function": { @@ -27082,28 +25693,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "i32" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "wrapping_add", + "name": "wrapping_pow", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27113,23 +25724,20 @@ "10333": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > i32::MAX` or `self + rhs < i32::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: i32::checked_add\n[`wrapping_add`]: i32::wrapping_add", + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_add(2), (7, false));\nassert_eq!(i8::MAX.overflowing_add(1), (i8::MIN, true));\n```", "id": 10333, "inner": { "function": { @@ -27142,7 +25750,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -27155,29 +25763,33 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "i8" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "i32::checked_add": 10330, - "i32::wrapping_add": 10332 - }, - "name": "unchecked_add", + "links": {}, + "name": "overflowing_add", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27187,10 +25799,10 @@ "10334": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -27200,7 +25812,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i32.checked_add_unsigned(2), Some(3));\nassert_eq!((i32::MAX - 2).checked_add_unsigned(3), None);\n```", + "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry (in that order).\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 8-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n// 3 MAX (a = 3 × 2^8 + 2^8 - 1)\n// + 5 7 (b = 5 × 2^8 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^8 + 6)\n\nlet (a1, a0): (u8, u8) = (3, u8::MAX);\nlet (b1, b0): (u8, u8) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", "id": 10334, "inner": { "function": { @@ -27226,41 +25838,41 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "checked_add_unsigned", + "links": { + "Self::overflowing_add": 11066 + }, + "name": "carrying_add", "span": { "begin": [ - 295, + 447, 5 ], "end": [ - 314, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27270,23 +25882,17 @@ "10335": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i32.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i32::MAX - 2).strict_add_unsigned(3);\n```", + "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`u8::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^8 + 2^8 - 1)\n// + -5 9 (b = -5 × 2^8 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^8 + 8)\n\nlet (a1, a0): (i8, u8) = (10, u8::MAX);\nlet (b1, b0): (i8, u8) = (-5, 9);\nlet carry0 = false;\n\n// u8::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// i8::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", "id": 10335, "inner": { "function": { @@ -27312,26 +25918,42 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i8" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "i8" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "strict_add_unsigned", + "links": { + "Self::overflowing_add": 10333, + "`u8::carrying_add`": 10334 + }, + "name": "carrying_add", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27341,10 +25963,10 @@ "10336": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -27354,7 +25976,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 2).checked_sub(1), Some(i32::MIN + 1));\nassert_eq!((i32::MIN + 2).checked_sub(3), None);\n```", + "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i8.overflowing_add_unsigned(2), (3, false));\nassert_eq!((i8::MIN).overflowing_add_unsigned(u8::MAX), (i8::MAX, false));\nassert_eq!((i8::MAX - 2).overflowing_add_unsigned(3), (i8::MIN, true));\n```", "id": 10336, "inner": { "function": { @@ -27380,41 +26002,33 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_sub", + "name": "overflowing_add_unsigned", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27424,23 +26038,20 @@ "10337": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 2).strict_sub(1), i32::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i32::MIN + 2).strict_sub(3);\n```", + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_sub(2), (3, false));\nassert_eq!(i8::MIN.overflowing_sub(1), (i8::MAX, true));\n```", "id": 10337, "inner": { "function": { @@ -27466,26 +26077,33 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "i8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_sub", + "name": "overflowing_sub", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27495,10 +26113,10 @@ "10338": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -27508,7 +26126,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i32.wrapping_sub(127), -127);\nassert_eq!((-2i32).wrapping_sub(i32::MAX), i32::MAX);\n```", + "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n// 9 6 (a = 9 × 2^8 + 6)\n// - 5 7 (b = 5 × 2^8 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^8 + 2^8 - 1)\n\nlet (a1, a0): (u8, u8) = (9, 6);\nlet (b1, b0): (u8, u8) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, u8::MAX));\n```", "id": 10338, "inner": { "function": { @@ -27534,26 +26152,39 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u8" + } + ], + [ + "borrow", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "wrapping_sub", + "name": "borrowing_sub", "span": { "begin": [ - 295, + 447, 5 ], "end": [ - 314, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27563,23 +26194,17 @@ "10339": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > i32::MAX` or `self - rhs < i32::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: i32::checked_sub\n[`wrapping_sub`]: i32::wrapping_sub", + "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`u8::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^8 + 8)\n// - -5 9 (b = -5 × 2^8 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^8 + 2^8 - 1)\n\nlet (a1, a0): (i8, u8) = (6, 8);\nlet (b1, b0): (i8, u8) = (-5, 9);\nlet borrow0 = false;\n\n// u8::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// i8::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, u8::MAX));\n```", "id": 10339, "inner": { "function": { @@ -27592,7 +26217,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -27605,29 +26230,42 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" + } + ], + [ + "borrow", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "i8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": { - "i32::checked_sub": 10336, - "i32::wrapping_sub": 10338 + "Self::overflowing_sub": 10337, + "`u8::borrowing_sub`": 10338 }, - "name": "unchecked_sub", + "name": "borrowing_sub", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27738,7 +26376,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -27763,11 +26401,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -27790,7 +26428,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i32.checked_sub_unsigned(2), Some(-1));\nassert_eq!((i32::MIN + 2).checked_sub_unsigned(3), None);\n```", + "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i8.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((i8::MAX).overflowing_sub_unsigned(u8::MAX), (i8::MIN, false));\nassert_eq!((i8::MIN + 2).overflowing_sub_unsigned(3), (i8::MAX, true));\n```", "id": 10340, "inner": { "function": { @@ -27816,41 +26454,33 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_sub_unsigned", + "name": "overflowing_sub_unsigned", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27860,23 +26490,20 @@ "10341": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i32.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i32::MIN + 2).strict_sub_unsigned(3);\n```", + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", "id": 10341, "inner": { "function": { @@ -27902,26 +26529,33 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "i8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_sub_unsigned", + "name": "overflowing_mul", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -27931,10 +26565,10 @@ "10342": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -27944,7 +26578,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(i32::MAX.checked_mul(1), Some(i32::MAX));\nassert_eq!(i32::MAX.checked_mul(2), None);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(i8::MAX.carrying_mul(i8::MAX, i8::MAX), (i8::MAX.unsigned_abs() + 1, i8::MAX / 2));\n```", "id": 10342, "inner": { "function": { @@ -27970,41 +26604,41 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" + } + ], + [ + "carry", + { + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "i8" + } + ] } } } }, - "links": {}, - "name": "checked_mul", + "links": { + "`Self::widening_mul`": 10343 + }, + "name": "carrying_mul", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28014,23 +26648,20 @@ "10343": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(i32::MAX.strict_mul(1), i32::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = i32::MAX.strict_mul(2);\n```", + "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", "id": 10343, "inner": { "function": { @@ -28056,26 +26687,35 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "i8" + } + ] } } } }, - "links": {}, - "name": "strict_mul", + "links": { + "`Self::carrying_mul`": 10342 + }, + "name": "widening_mul", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28085,10 +26725,10 @@ "10344": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -28098,7 +26738,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10i32.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(i8::MAX.carrying_mul_add(i8::MAX, i8::MAX, i8::MAX), (u8::MAX, i8::MAX / 2));\n```", "id": 10344, "inner": { "function": { @@ -28124,26 +26764,48 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" + } + ], + [ + "carry", + { + "primitive": "i8" + } + ], + [ + "add", + { + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "i8" + } + ] } } } }, - "links": {}, - "name": "wrapping_mul", + "links": { + "`Self::carrying_mul`": 10342, + "`Self::widening_mul`": 10343 + }, + "name": "carrying_mul_add", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28153,23 +26815,20 @@ "10345": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > i32::MAX` or `self * rhs < i32::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: i32::checked_mul\n[`wrapping_mul`]: i32::wrapping_mul", + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_div(2), (2, false));\nassert_eq!(i8::MIN.overflowing_div(-1), (i8::MIN, true));\n```", "id": 10345, "inner": { "function": { @@ -28182,7 +26841,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -28195,29 +26854,33 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "i8" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "i32::checked_mul": 10342, - "i32::wrapping_mul": 10344 - }, - "name": "unchecked_mul", + "links": {}, + "name": "overflowing_div", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28227,10 +26890,10 @@ "10346": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -28240,7 +26903,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 1).checked_div(-1), Some(2147483647));\nassert_eq!(i32::MIN.checked_div(-1), None);\nassert_eq!((1i32).checked_div(0), None);\n```", + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_div_euclid(2), (2, false));\nassert_eq!(i8::MIN.overflowing_div_euclid(-1), (i8::MIN, true));\n```", "id": 10346, "inner": { "function": { @@ -28266,41 +26929,33 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_div", + "name": "overflowing_div_euclid", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28310,23 +26965,20 @@ "10347": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 1).strict_div(-1), 2147483647);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i32).strict_div(0);\n```", + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_rem(2), (1, false));\nassert_eq!(i8::MIN.overflowing_rem(-1), (0, true));\n```", "id": 10347, "inner": { "function": { @@ -28352,26 +27004,33 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "i8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_div", + "name": "overflowing_rem", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28390,11 +27049,14 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 1).checked_div_euclid(-1), Some(2147483647));\nassert_eq!(i32::MIN.checked_div_euclid(-1), None);\nassert_eq!((1i32).checked_div_euclid(0), None);\n```", + "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i8.overflowing_rem_euclid(2), (1, false));\nassert_eq!(i8::MIN.overflowing_rem_euclid(-1), (0, true));\n```", "id": 10348, "inner": { "function": { @@ -28420,41 +27082,33 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_div_euclid", + "name": "overflowing_rem_euclid", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28464,23 +27118,20 @@ "10349": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 1).strict_div_euclid(-1), 2147483647);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i32).strict_div_euclid(0);\n```", + "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2i8.overflowing_neg(), (-2, false));\nassert_eq!(i8::MIN.overflowing_neg(), (i8::MIN, true));\n```", "id": 10349, "inner": { "function": { @@ -28502,30 +27153,31 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "i8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_div_euclid", + "name": "overflowing_neg", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28593,7 +27245,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -28618,11 +27270,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -28632,7 +27284,10 @@ "10350": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -28642,7 +27297,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((i32::MIN + 1).checked_exact_div(-1), Some(2147483647));\nassert_eq!((-5i32).checked_exact_div(2), None);\nassert_eq!(i32::MIN.checked_exact_div(-1), None);\nassert_eq!((1i32).checked_exact_div(0), None);\n```", + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1i8.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10i8.overflowing_shl(7), (0, false));\n```", "id": 10350, "inner": { "function": { @@ -28668,41 +27323,33 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_exact_div", + "name": "overflowing_shl", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28712,7 +27359,10 @@ "10351": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -28722,7 +27372,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64i32.exact_div(2), 32);\nassert_eq!(64i32.exact_div(32), 2);\nassert_eq!((i32::MIN + 1).exact_div(-1), 2147483647);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65i32.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = i32::MIN.exact_div(-1);\n```", + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10i8.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", "id": 10351, "inner": { "function": { @@ -28748,26 +27398,33 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "i8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "exact_div", + "name": "overflowing_shr", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28777,7 +27434,10 @@ "10352": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { @@ -28787,7 +27447,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == i32::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., i8::MIN for values of type i8),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10i8.overflowing_abs(), (10, false));\nassert_eq!((-10i8).overflowing_abs(), (10, false));\nassert_eq!((i8::MIN).overflowing_abs(), (i8::MIN, true));\n```", "id": 10352, "inner": { "function": { @@ -28800,7 +27460,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -28809,32 +27469,31 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "tuple": [ + { + "primitive": "i8" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "Self::checked_exact_div": 10350 - }, - "name": "unchecked_exact_div", + "links": {}, + "name": "overflowing_abs", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28844,10 +27503,10 @@ "10353": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -28857,7 +27516,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i32.checked_rem(2), Some(1));\nassert_eq!(5i32.checked_rem(0), None);\nassert_eq!(i32::MIN.checked_rem(-1), None);\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3i8.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", "id": 10353, "inner": { "function": { @@ -28881,43 +27540,35 @@ } ], [ - "rhs", + "exp", { - "primitive": "i32" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_rem", + "name": "overflowing_pow", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28927,23 +27578,20 @@ "10354": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i32.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i32.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_rem(-1);\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: i8 = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", "id": 10354, "inner": { "function": { @@ -28967,28 +27615,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "i32" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "strict_rem", + "name": "pow", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -28998,20 +27646,23 @@ "10355": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i32.checked_rem_euclid(2), Some(1));\nassert_eq!(5i32.checked_rem_euclid(0), None);\nassert_eq!(i32::MIN.checked_rem_euclid(-1), None);\n```", + "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i8.isqrt(), 3);\n```", "id": 10355, "inner": { "function": { @@ -29033,45 +27684,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i8" } } } }, "links": {}, - "name": "checked_rem_euclid", + "name": "isqrt", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29081,10 +27711,10 @@ "10356": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -29097,7 +27727,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i32.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i32.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_rem_euclid(-1);\n```", + "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i8 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", "id": 10356, "inner": { "function": { @@ -29123,26 +27753,26 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "strict_rem_euclid", + "name": "div_euclid", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29152,20 +27782,26 @@ "10357": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5i32.checked_neg(), Some(-5));\nassert_eq!(i32::MIN.checked_neg(), None);\n```", + "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i8 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = i8::MIN.rem_euclid(-1);\n```", "id": 10357, "inner": { "function": { @@ -29187,39 +27823,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i8" } } } }, "links": {}, - "name": "checked_neg", + "name": "rem_euclid", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29229,7 +27856,7 @@ "10358": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -29242,7 +27869,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == i32::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: i32::checked_neg", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i8 = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", "id": 10358, "inner": { "function": { @@ -29255,7 +27882,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -29264,26 +27891,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, - "links": { - "i32::checked_neg": 10357 - }, - "name": "unchecked_neg", + "links": {}, + "name": "div_floor", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29293,10 +27924,7 @@ "10359": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -29309,7 +27937,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5i32.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_neg();\n", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i8 = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", "id": 10359, "inner": { "function": { @@ -29331,24 +27959,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "strict_neg", + "name": "div_ceil", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29441,7 +28075,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -29459,8 +28093,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -29476,7 +28110,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -29485,11 +28119,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -29499,10 +28133,7 @@ "10360": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -29512,7 +28143,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1i32.checked_shl(4), Some(0x10));\nassert_eq!(0x1i32.checked_shl(129), None);\nassert_eq!(0x10i32.checked_shl(31), Some(0));\n```", + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i8.next_multiple_of(8), 16);\nassert_eq!(23_i8.next_multiple_of(8), 24);\nassert_eq!(16_i8.next_multiple_of(-8), 16);\nassert_eq!(23_i8.next_multiple_of(-8), 16);\nassert_eq!((-16_i8).next_multiple_of(8), -16);\nassert_eq!((-23_i8).next_multiple_of(8), -16);\nassert_eq!((-16_i8).next_multiple_of(-8), -16);\nassert_eq!((-23_i8).next_multiple_of(-8), -24);\n```", "id": 10360, "inner": { "function": { @@ -29538,41 +28169,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i8" } } } }, "links": {}, - "name": "checked_shl", + "name": "next_multiple_of", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29582,23 +28198,17 @@ "10361": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1i32.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1i32.strict_shl(129);\n```", + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i8.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_i8.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_i8.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_i8.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_i8).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_i8).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_i8).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_i8).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_i8.checked_next_multiple_of(0), None);\nassert_eq!(i8::MAX.checked_next_multiple_of(2), None);\n```", "id": 10361, "inner": { "function": { @@ -29624,26 +28234,41 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_shl", + "name": "checked_next_multiple_of", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29653,7 +28278,10 @@ "10362": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -29666,7 +28294,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: i32::checked_shl", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5i8.ilog(5), 1);\n```", "id": 10362, "inner": { "function": { @@ -29679,7 +28307,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -29690,30 +28318,28 @@ } ], [ - "rhs", + "base", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "u32" } } } }, - "links": { - "i32::checked_shl": 10360 - }, - "name": "unchecked_shl", + "links": {}, + "name": "ilog", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29723,20 +28349,23 @@ "10363": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1i32.unbounded_shl(4), 0x10);\nassert_eq!(0x1i32.unbounded_shl(129), 0);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10i8.ilog10(), 1);\n```", "id": 10363, "inner": { "function": { @@ -29758,30 +28387,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "u32" } } } }, "links": {}, - "name": "unbounded_shl", + "name": "ilog10", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29791,10 +28414,10 @@ "10364": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -29804,7 +28427,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10i32.checked_shr(4), Some(0x1));\nassert_eq!(0x10i32.checked_shr(128), None);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5i8.checked_ilog(5), Some(1));\n```", "id": 10364, "inner": { "function": { @@ -29828,9 +28451,9 @@ } ], [ - "rhs", + "base", { - "primitive": "u32" + "primitive": "i8" } ] ], @@ -29842,7 +28465,7 @@ "args": [ { "type": { - "primitive": "i32" + "primitive": "u32" } } ], @@ -29857,14 +28480,14 @@ } }, "links": {}, - "name": "checked_shr", + "name": "checked_ilog", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29874,23 +28497,20 @@ "10365": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10i32.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10i32.strict_shr(128);\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2i8.checked_ilog2(), Some(1));\n```", "id": 10365, "inner": { "function": { @@ -29912,30 +28532,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_shr", + "name": "checked_ilog2", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -29945,20 +28574,20 @@ "10366": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: i32::checked_shr", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10i8.checked_ilog10(), Some(1));\n```", "id": 10366, "inner": { "function": { @@ -29971,7 +28600,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -29980,32 +28609,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "i32::checked_shr": 10364 - }, - "name": "unchecked_shr", + "links": {}, + "name": "checked_ilog10", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30015,10 +28651,10 @@ "10367": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -30028,7 +28664,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10i32.unbounded_shr(4), 0x1);\nassert_eq!(0x10i32.unbounded_shr(129), 0);\nassert_eq!(i32::MIN.unbounded_shr(129), -1);\n```", + "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`i8::MIN`\ncannot be represented as an\n`i8`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`i8::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10i8.abs(), 10);\nassert_eq!((-10i8).abs(), 10);\n```", "id": 10367, "inner": { "function": { @@ -30050,30 +28686,26 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, - "links": {}, - "name": "unbounded_shr", + "links": { + "Self::unsigned_abs": 10331 + }, + "name": "abs", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30083,10 +28715,10 @@ "10368": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" }, { "must_use": { @@ -30096,7 +28728,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5i32).checked_abs(), Some(5));\nassert_eq!(i32::MIN.checked_abs(), None);\n```", + "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100i8.abs_diff(80), 20u8);\nassert_eq!(100i8.abs_diff(110), 10u8);\nassert_eq!((-100i8).abs_diff(80), 180u8);\nassert_eq!((-100i8).abs_diff(-120), 20u8);\nassert_eq!(i8::MIN.abs_diff(i8::MAX), u8::MAX);\n```", "id": 10368, "inner": { "function": { @@ -30118,39 +28750,30 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u8" } } } }, "links": {}, - "name": "checked_abs", + "name": "abs_diff", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30160,23 +28783,20 @@ "10369": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5i32).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_abs();\n```", + "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10i8.signum(), 1);\nassert_eq!(0i8.signum(), 0);\nassert_eq!((-10i8).signum(), -1);\n```", "id": 10369, "inner": { "function": { @@ -30202,20 +28822,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "strict_abs", + "name": "signum", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30326,8 +28946,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -30343,7 +28963,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -30352,11 +28972,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -30366,20 +28986,20 @@ "10370": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8i32.checked_pow(2), Some(64));\nassert_eq!(i32::MAX.checked_pow(2), None);\n```", + "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10i8.is_positive());\nassert!(!(-10i8).is_positive());\n```", "id": 10370, "inner": { "function": { @@ -30401,45 +29021,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "bool" } } } }, "links": {}, - "name": "checked_pow", + "name": "is_positive", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30449,23 +29048,20 @@ "10371": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8i32.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MAX.strict_pow(2);\n```", + "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10i8).is_negative());\nassert!(!10i8.is_negative());\n```", "id": 10371, "inner": { "function": { @@ -30487,30 +29083,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "bool" } } } }, "links": {}, - "name": "strict_pow", + "name": "is_negative", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30520,10 +29110,10 @@ "10372": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" }, { "must_use": { @@ -30533,7 +29123,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i32.checked_isqrt(), Some(3));\n```", + "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = u8::MAX;\n\nassert_eq!(n.cast_signed(), -1i8);\n```", "id": 10372, "inner": { "function": { @@ -30559,35 +29149,20 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i8" } } } }, "links": {}, - "name": "checked_isqrt", + "name": "cast_signed", "span": { "begin": [ - 295, + 447, 5 ], "end": [ - 314, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30597,10 +29172,10 @@ "10373": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -30610,7 +29185,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i32.saturating_add(1), 101);\nassert_eq!(i32::MAX.saturating_add(100), i32::MAX);\nassert_eq!(i32::MIN.saturating_add(-1), i32::MIN);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n# Examples\n\n```\nlet bytes = 0x12i8.to_be_bytes();\nassert_eq!(bytes, [0x12]);\n```", "id": 10373, "inner": { "function": { @@ -30632,30 +29207,32 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "saturating_add", + "links": { + "Self::cast_unsigned": 10256, + "u8::cast_signed": 10372 + }, + "name": "to_be_bytes", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30665,10 +29242,10 @@ "10374": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -30678,7 +29255,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1i32.saturating_add_unsigned(2), 3);\nassert_eq!(i32::MAX.saturating_add_unsigned(100), i32::MAX);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n# Examples\n\n```\nlet bytes = 0x12i8.to_le_bytes();\nassert_eq!(bytes, [0x12]);\n```", "id": 10374, "inner": { "function": { @@ -30700,30 +29277,32 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "saturating_add_unsigned", + "links": { + "Self::cast_unsigned": 10256, + "u8::cast_signed": 10372 + }, + "name": "to_le_bytes", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30733,10 +29312,10 @@ "10375": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -30746,7 +29325,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i32.saturating_sub(127), -27);\nassert_eq!(i32::MIN.saturating_sub(100), i32::MIN);\nassert_eq!(i32::MAX.saturating_sub(-1), i32::MAX);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12i8.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12]\n } else {\n [0x12]\n }\n);\n```", "id": 10375, "inner": { "function": { @@ -30768,30 +29347,34 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "saturating_sub", + "links": { + "Self::cast_unsigned": 10256, + "Self::to_be_bytes": 10373, + "Self::to_le_bytes": 10374, + "u8::cast_signed": 10372 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30801,20 +29384,20 @@ "10376": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i32.saturating_sub_unsigned(127), -27);\nassert_eq!(i32::MIN.saturating_sub_unsigned(100), i32::MIN);\n```", + "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n# Examples\n\n```\nlet value = i8::from_be_bytes([0x12]);\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_i8(input: &mut &[u8]) -> i8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i8::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10376, "inner": { "function": { @@ -30832,34 +29415,36 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u32" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, - "links": {}, - "name": "saturating_sub_unsigned", + "links": { + "Self::cast_unsigned": 10256, + "u8::cast_signed": 10372 + }, + "name": "from_be_bytes", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30869,20 +29454,20 @@ "10377": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i32.saturating_neg(), -100);\nassert_eq!((-100i32).saturating_neg(), 100);\nassert_eq!(i32::MIN.saturating_neg(), i32::MAX);\nassert_eq!(i32::MAX.saturating_neg(), i32::MIN + 1);\n```", + "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n# Examples\n\n```\nlet value = i8::from_le_bytes([0x12]);\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_i8(input: &mut &[u8]) -> i8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i8::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10377, "inner": { "function": { @@ -30900,28 +29485,36 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, - "links": {}, - "name": "saturating_neg", + "links": { + "Self::cast_unsigned": 10256, + "u8::cast_signed": 10372 + }, + "name": "from_le_bytes", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30931,20 +29524,20 @@ "10378": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i32.saturating_abs(), 100);\nassert_eq!((-100i32).saturating_abs(), 100);\nassert_eq!(i32::MIN.saturating_abs(), i32::MAX);\nassert_eq!((i32::MIN + 1).saturating_abs(), i32::MAX);\n```", + "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n**Note**: This function is meaningless on `i8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types. You can cast from and to `u8` using\n[`cast_signed`](u8::cast_signed) and [`cast_unsigned`](Self::cast_unsigned).\n\n# Examples\n\n```\nlet value = i8::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12]\n} else {\n [0x12]\n});\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_i8(input: &mut &[u8]) -> i8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i8::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10378, "inner": { "function": { @@ -30962,28 +29555,38 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, - "links": {}, - "name": "saturating_abs", + "links": { + "Self::cast_unsigned": 10256, + "Self::from_be_bytes": 10376, + "Self::from_le_bytes": 10377, + "u8::cast_signed": 10372 + }, + "name": "from_ne_bytes", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -30993,20 +29596,21 @@ "10379": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[rustc_diagnostic_item = \"i8_legacy_fn_min_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10i32.saturating_mul(12), 120);\nassert_eq!(i32::MAX.saturating_mul(10), i32::MAX);\nassert_eq!(i32::MIN.saturating_mul(10), i32::MIN);\n```", + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`i8::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", "id": 10379, "inner": { "function": { @@ -31022,36 +29626,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i32" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, - "links": {}, - "name": "saturating_mul", + "links": { + "`i8::MIN`": 10242 + }, + "name": "min_value", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -31144,12 +29737,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -31172,20 +29765,21 @@ "10380": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"i8_legacy_fn_max_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i32.saturating_div(2), 2);\nassert_eq!(i32::MAX.saturating_div(-1), i32::MIN + 1);\nassert_eq!(i32::MIN.saturating_div(-1), i32::MAX);\n\n```", + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`i8::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", "id": 10380, "inner": { "function": { @@ -31201,36 +29795,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i32" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, - "links": {}, - "name": "saturating_div", + "links": { + "`i8::MAX`": 10243 + }, + "name": "max_value", "span": { "begin": [ - 295, + 247, 5 ], "end": [ - 314, + 266, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -31240,10 +29823,19 @@ "10381": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[doc(alias = \"average_floor\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[doc(alias = \"average_ceil\")]" + }, + { + "other": "#[doc(alias = \"average\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" }, { "must_use": { @@ -31253,7 +29845,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4i32).saturating_pow(3), -64);\nassert_eq!(i32::MIN.saturating_pow(2), i32::MAX);\nassert_eq!(i32::MIN.saturating_pow(3), i32::MIN);\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0i8.midpoint(4), 2);\nassert_eq!((-1i8).midpoint(2), 0);\nassert_eq!((-7i8).midpoint(0), -3);\nassert_eq!(0i8.midpoint(-7), -3);\nassert_eq!(0i8.midpoint(7), 3);\n```", "id": 10381, "inner": { "function": { @@ -31277,119 +29869,223 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i8" } } } }, "links": {}, - "name": "saturating_pow", + "name": "midpoint", "span": { "begin": [ - 295, + 267, 5 ], "end": [ - 314, - 6 + 267, + 39 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10382": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_add_unsigned(27), 127);\nassert_eq!(i32::MAX.wrapping_add_unsigned(2), i32::MIN + 1);\n```", + "docs": null, "id": 10382, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i8" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i32" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10242, + 10243, + 10244, + 10245, + 10246, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10259, + 10260, + 10261, + 10262, + 10263, + 10264, + 10265, + 10266, + 10268, + 10269, + 10270, + 10271, + 10272, + 10274, + 10275, + 10276, + 10277, + 10278, + 10280, + 10281, + 10282, + 10283, + 10284, + 10285, + 10286, + 10287, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10302, + 10303, + 10304, + 10305, + 10306, + 10307, + 10308, + 10309, + 10310, + 10311, + 10312, + 10313, + 10314, + 10315, + 10316, + 10317, + 10318, + 10319, + 10320, + 10267, + 10321, + 10273, + 10322, + 10279, + 10323, + 10324, + 10325, + 10326, + 10327, + 10328, + 10329, + 10330, + 10331, + 10332, + 10333, + 10335, + 10336, + 10337, + 10339, + 10340, + 10341, + 10343, + 10342, + 10344, + 10345, + 10346, + 10347, + 10348, + 10349, + 10350, + 10351, + 10352, + 10353, + 10354, + 10355, + 10356, + 10357, + 10358, + 10359, + 10360, + 10361, + 10362, + 10247, + 10363, + 10364, + 10365, + 10366, + 10367, + 10368, + 10369, + 10370, + 10371, + 10373, + 10374, + 10375, + 10376, + 10377, + 10378, + 10379, + 10380, + 10381 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "wrapping_add_unsigned", + "name": null, "span": { "begin": [ - 295, - 5 + 246, + 1 ], "end": [ - 314, - 6 + 246, + 8 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "10383": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i32.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2i32).wrapping_sub_unsigned(u32::MAX), -1);\n```", + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(i8::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(i8::from_str_radix(\"1 \", 10).is_err());\n```", "id": 10383, "inner": { "function": { @@ -31407,13 +30103,19 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } ], [ - "rhs", + "radix", { "primitive": "u32" } @@ -31421,21 +30123,45 @@ ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "wrapping_sub_unsigned", + "name": "from_str_radix", "span": { "begin": [ - 295, - 5 + 1666, + 1 ], "end": [ - 314, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -31444,20 +30170,12 @@ "10384": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i8::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i8::from_ascii(b\"1 \").is_err());\n```", "id": 10384, "inner": { "function": { @@ -31475,35 +30193,61 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "src", { - "primitive": "i32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "wrapping_div", + "name": "from_ascii", "span": { "begin": [ - 295, - 5 + 1666, + 1 ], "end": [ - 314, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -31512,20 +30256,12 @@ "10385": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i8::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i8::from_ascii_radix(b\"1 \", 10).is_err());\n```", "id": 10385, "inner": { "function": { @@ -31543,126 +30279,125 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ], [ - "rhs", + "radix", { - "primitive": "i32" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "wrapping_div_euclid", + "name": "from_ascii_radix", "span": { "begin": [ - 295, - 5 + 1666, + 1 ], "end": [ - 314, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10386": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", + "docs": null, "id": 10386, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i8" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i32" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10383, + 10384, + 10385 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "wrapping_rem", + "name": null, "span": { "begin": [ - 295, - 5 + 1666, + 1 ], "end": [ - 314, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "10387": { + "10388": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", - "id": 10387, + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0i8;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32i8;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = i8 :: MAX;\nassert_eq!(n2.format_into(&mut buf), i8 :: MAX.to_string());\n```", + "id": 10388, "inner": { "function": { "generics": { @@ -31673,7 +30408,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -31685,165 +30420,103 @@ } ], [ - "rhs", + "buf", { - "primitive": "i32" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 10387, + "path": "NumBuffer" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" - } - } - } - }, - "links": {}, - "name": "wrapping_rem_euclid", - "span": { - "begin": [ - 295, - 5 - ], - "end": [ - 314, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10388": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_neg(), -100);\nassert_eq!((-100i32).wrapping_neg(), 100);\nassert_eq!(i32::MIN.wrapping_neg(), i32::MIN);\n```", - "id": 10388, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i32" + } } } } }, - "links": {}, - "name": "wrapping_neg", + "links": { + "`NumBuffer`": 10387 + }, + "name": "format_into", "span": { "begin": [ - 295, + 599, 5 ], "end": [ - 314, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "public" }, "10389": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1i32).wrapping_shl(7), -128);\nassert_eq!((-1i32).wrapping_shl(128), -1);\n```", + "docs": null, "id": 10389, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i8" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i32" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10388 + ], + "provided_trait_methods": [], + "trait": null } }, - "links": { - "Self::rotate_left": 10322 - }, - "name": "wrapping_shl", + "links": {}, + "name": null, "span": { "begin": [ - 295, + 599, 5 ], "end": [ - 314, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, - "visibility": "public" + "visibility": "default" }, "1039": { "attrs": [], @@ -31958,67 +30631,30 @@ "10390": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128i32).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", + "docs": "The smallest value that can be represented by this integer type\n(−215).\n\n# Examples\n\n```\nassert_eq!(i16::MIN, -32768);\n```", "id": 10390, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i16" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i32" - } - } + "value": "_" } }, - "links": { - "Self::rotate_right": 10323 - }, - "name": "wrapping_shr", + "links": {}, + "name": "MIN", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32028,59 +30664,30 @@ "10391": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_abs(), 100);\nassert_eq!((-100i32).wrapping_abs(), 100);\nassert_eq!(i32::MIN.wrapping_abs(), i32::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", + "docs": "The largest value that can be represented by this integer type\n(215 − 1).\n\n# Examples\n\n```\nassert_eq!(i16::MAX, 32767);\n```", "id": 10391, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i16" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i32" - } - } + "value": "_" } }, "links": {}, - "name": "wrapping_abs", + "name": "MAX", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32090,59 +30697,30 @@ "10392": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100i32.unsigned_abs(), 100u32);\nassert_eq!((-100i32).unsigned_abs(), 100u32);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(i16::BITS, 16);\n```", "id": 10392, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } + "value": "u16::BITS" } }, "links": {}, - "name": "unsigned_abs", + "name": "BITS", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32152,10 +30730,16 @@ "10393": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[doc(alias = \"popcount\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -32165,7 +30749,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3i32.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000i16;\n\nassert_eq!(n.count_ones(), 1);\n```\n", "id": 10393, "inner": { "function": { @@ -32187,30 +30771,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "u32" } } } }, "links": {}, - "name": "wrapping_pow", + "name": "count_ones", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32223,7 +30801,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -32233,7 +30811,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_add(2), (7, false));\nassert_eq!(i32::MAX.overflowing_add(1), (i32::MIN, true));\n```", + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(i16::MAX.count_zeros(), 1);\n```", "id": 10394, "inner": { "function": { @@ -32255,37 +30833,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_add", + "name": "count_zeros", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32295,20 +30860,23 @@ "10395": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 32-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 3 MAX (a = 3 × 2^32 + 2^32 - 1)\n// + 5 7 (b = 5 × 2^32 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^32 + 6)\n\nlet (a1, a0): (u32, u32) = (3, u32::MAX);\nlet (b1, b0): (u32, u32) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2i16.ilog2(), 1);\n```", "id": 10395, "inner": { "function": { @@ -32330,45 +30898,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } - ], - [ - "carry", - { - "primitive": "bool" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, - "links": { - "Self::overflowing_add": 11104 - }, - "name": "carrying_add", + "links": {}, + "name": "ilog2", "span": { "begin": [ - 1128, + 271, 5 ], "end": [ - 1146, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32378,7 +30925,10 @@ "10396": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -32388,7 +30938,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`u32::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^32 + 2^32 - 1)\n// + -5 9 (b = -5 × 2^32 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^32 + 8)\n\nlet (a1, a0): (i32, u32) = (10, u32::MAX);\nlet (b1, b0): (i32, u32) = (-5, 9);\nlet carry0 = false;\n\n// u32::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// i32::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1i16;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: i16::ilog2", "id": 10396, "inner": { "function": { @@ -32410,46 +30960,26 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } - ], - [ - "carry", - { - "primitive": "bool" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": { - "Self::overflowing_add": 10394, - "`u32::carrying_add`": 10395 + "i16::ilog2": 10395 }, - "name": "carrying_add", + "name": "leading_zeros", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32459,10 +30989,10 @@ "10397": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -32472,7 +31002,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i32.overflowing_add_unsigned(2), (3, false));\nassert_eq!((i32::MIN).overflowing_add_unsigned(u32::MAX), (i32::MAX, false));\nassert_eq!((i32::MAX - 2).overflowing_add_unsigned(3), (i32::MIN, true));\n```", + "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4i16;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", "id": 10397, "inner": { "function": { @@ -32494,37 +31024,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_add_unsigned", + "name": "trailing_zeros", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32534,10 +31051,10 @@ "10398": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -32547,7 +31064,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_sub(2), (3, false));\nassert_eq!(i32::MIN.overflowing_sub(1), (i32::MAX, true));\n```", + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1i16;\n\nassert_eq!(n.leading_ones(), 16);\n```", "id": 10398, "inner": { "function": { @@ -32569,37 +31086,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_sub", + "name": "leading_ones", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32609,10 +31113,10 @@ "10399": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -32622,7 +31126,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 9 6 (a = 9 × 2^32 + 6)\n// - 5 7 (b = 5 × 2^32 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^32 + 2^32 - 1)\n\nlet (a1, a0): (u32, u32) = (9, 6);\nlet (b1, b0): (u32, u32) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, u32::MAX));\n```", + "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3i16;\n\nassert_eq!(n.trailing_ones(), 2);\n```", "id": 10399, "inner": { "function": { @@ -32644,43 +31148,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } - ], - [ - "borrow", - { - "primitive": "bool" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "borrowing_sub", + "name": "trailing_ones", "span": { "begin": [ - 1128, + 271, 5 ], "end": [ - 1146, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32704,8 +31189,8 @@ "use": { "id": 105, "is_glob": false, - "name": "Copy", - "source": "core::prelude::v1::Copy" + "name": "Debug", + "source": "core::prelude::v1::Debug" } }, "links": {}, @@ -32713,11 +31198,11 @@ "span": { "begin": [ 52, - 37 + 43 ], "end": [ 52, - 41 + 48 ], "filename": "std/src/prelude/v1.rs" }, @@ -32752,11 +31237,11 @@ "name": "Item", "span": { "begin": [ - 2306, + 2301, 5 ], "end": [ - 2306, + 2301, 24 ], "filename": "std/src/collections/hash/map.rs" @@ -32766,7 +31251,7 @@ "10400": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { @@ -32776,7 +31261,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`u32::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^32 + 8)\n// - -5 9 (b = -5 × 2^32 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^32 + 2^32 - 1)\n\nlet (a1, a0): (i32, u32) = (6, 8);\nlet (b1, b0): (i32, u32) = (-5, 9);\nlet borrow0 = false;\n\n// u32::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// i32::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, u32::MAX));\n```", + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i16 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_i16.isolate_highest_one(), 0);\n```", "id": 10400, "inner": { "function": { @@ -32798,46 +31283,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } - ], - [ - "borrow", - { - "primitive": "bool" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "i16" } } } }, - "links": { - "Self::overflowing_sub": 10398, - "`u32::borrowing_sub`": 10399 - }, - "name": "borrowing_sub", + "links": {}, + "name": "isolate_highest_one", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32847,10 +31310,7 @@ "10401": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { @@ -32860,7 +31320,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i32.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((i32::MAX).overflowing_sub_unsigned(u32::MAX), (i32::MIN, false));\nassert_eq!((i32::MIN + 2).overflowing_sub_unsigned(3), (i32::MAX, true));\n```", + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i16 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_i16.isolate_lowest_one(), 0);\n```", "id": 10401, "inner": { "function": { @@ -32882,37 +31342,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "i16" } } } }, "links": {}, - "name": "overflowing_sub_unsigned", + "name": "isolate_lowest_one", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32922,10 +31369,7 @@ "10402": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -32935,7 +31379,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i16.highest_one(), None);\nassert_eq!(0x1_i16.highest_one(), Some(0));\nassert_eq!(0x10_i16.highest_one(), Some(4));\nassert_eq!(0x1f_i16.highest_one(), Some(4));\n```", "id": 10402, "inner": { "function": { @@ -32957,37 +31401,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_mul", + "name": "highest_one", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -32997,10 +31443,7 @@ "10403": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -33010,7 +31453,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(i32::MAX.carrying_mul(i32::MAX, i32::MAX), (i32::MAX.unsigned_abs() + 1, i32::MAX / 2));\n```", + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i16.lowest_one(), None);\nassert_eq!(0x1_i16.lowest_one(), Some(0));\nassert_eq!(0x10_i16.lowest_one(), Some(4));\nassert_eq!(0x1f_i16.lowest_one(), Some(0));\n```", "id": 10403, "inner": { "function": { @@ -33032,45 +31475,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } - ], - [ - "carry", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } }, - { - "primitive": "i32" - } - ] + "id": 51, + "path": "Option" + } } } } }, - "links": { - "`Self::widening_mul`": 10404 - }, - "name": "carrying_mul", + "links": {}, + "name": "lowest_one", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33080,10 +31517,10 @@ "10404": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" }, { "must_use": { @@ -33093,7 +31530,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", + "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1i16;\n\nassert_eq!(n.cast_unsigned(), u16::MAX);\n```", "id": 10404, "inner": { "function": { @@ -33115,39 +31552,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "i32" - } - ] + "primitive": "u16" } } } }, - "links": { - "`Self::carrying_mul`": 10403 - }, - "name": "widening_mul", + "links": {}, + "name": "cast_unsigned", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33157,10 +31579,10 @@ "10405": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -33170,7 +31592,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(i32::MAX.carrying_mul_add(i32::MAX, i32::MAX, i32::MAX), (u32::MAX, i32::MAX / 2));\n```", + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = -0x5ffdi16;\nlet m = 0x3a;\n\nassert_eq!(n.rotate_left(4), m);\n```", "id": 10405, "inner": { "function": { @@ -33194,50 +31616,28 @@ } ], [ - "rhs", - { - "primitive": "i32" - } - ], - [ - "carry", - { - "primitive": "i32" - } - ], - [ - "add", + "n", { - "primitive": "i32" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "i32" - } - ] + "primitive": "i16" } } } }, - "links": { - "`Self::carrying_mul`": 10403, - "`Self::widening_mul`": 10404 - }, - "name": "carrying_mul_add", + "links": {}, + "name": "rotate_left", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33247,10 +31647,10 @@ "10406": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -33260,7 +31660,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_div(2), (2, false));\nassert_eq!(i32::MIN.overflowing_div(-1), (i32::MIN, true));\n```", + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x3ai16;\nlet m = -0x5ffd;\n\nassert_eq!(n.rotate_right(4), m);\n```", "id": 10406, "inner": { "function": { @@ -33284,35 +31684,28 @@ } ], [ - "rhs", + "n", { - "primitive": "i32" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "i16" } } } }, "links": {}, - "name": "overflowing_div", + "name": "rotate_right", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33322,10 +31715,10 @@ "10407": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -33335,7 +31728,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_div_euclid(2), (2, false));\nassert_eq!(i32::MIN.overflowing_div_euclid(-1), (i32::MIN, true));\n```", + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234i16;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x3412);\n```", "id": 10407, "inner": { "function": { @@ -33357,37 +31750,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "i16" } } } }, "links": {}, - "name": "overflowing_div_euclid", + "name": "swap_bytes", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33397,10 +31777,10 @@ "10408": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" }, { "must_use": { @@ -33410,7 +31790,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_rem(2), (1, false));\nassert_eq!(i32::MIN.overflowing_rem(-1), (0, true));\n```", + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234i16;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x2c48);\nassert_eq!(0, 0i16.reverse_bits());\n```", "id": 10408, "inner": { "function": { @@ -33432,37 +31812,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "i16" } } } }, "links": {}, - "name": "overflowing_rem", + "name": "reverse_bits", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33472,23 +31839,20 @@ "10409": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_rem_euclid(2), (1, false));\nassert_eq!(i32::MIN.overflowing_rem_euclid(-1), (0, true));\n```", + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai16;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(i16::from_be(n), n)\n} else {\n assert_eq!(i16::from_be(n), n.swap_bytes())\n}\n```", "id": 10409, "inner": { "function": { @@ -33506,41 +31870,28 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "x", { - "primitive": "i32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "i16" } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "from_be", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33618,11 +31969,11 @@ "name": "next", "span": { "begin": [ - 2309, + 2304, 5 ], "end": [ - 2311, + 2306, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -33632,20 +31983,20 @@ "10410": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2i32.overflowing_neg(), (-2, false));\nassert_eq!(i32::MIN.overflowing_neg(), (i32::MIN, true));\n```", + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai16;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(i16::from_le(n), n)\n} else {\n assert_eq!(i16::from_le(n), n.swap_bytes())\n}\n```", "id": 10410, "inner": { "function": { @@ -33663,35 +32014,28 @@ "sig": { "inputs": [ [ - "self", + "x", { - "generic": "Self" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "i16" } } } }, "links": {}, - "name": "overflowing_neg", + "name": "from_le", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33701,10 +32045,10 @@ "10411": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -33714,7 +32058,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1i32.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10i32.overflowing_shl(31), (0, false));\n```", + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai16;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", "id": 10411, "inner": { "function": { @@ -33736,37 +32080,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "i16" } } } }, "links": {}, - "name": "overflowing_shl", + "name": "to_be", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33776,10 +32107,10 @@ "10412": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -33789,7 +32120,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10i32.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai16;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", "id": 10412, "inner": { "function": { @@ -33811,37 +32142,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "i16" } } } }, "links": {}, - "name": "overflowing_shr", + "name": "to_le", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33851,10 +32169,10 @@ "10413": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -33864,7 +32182,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., i32::MIN for values of type i32),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10i32.overflowing_abs(), (10, false));\nassert_eq!((-10i32).overflowing_abs(), (10, false));\nassert_eq!((i32::MIN).overflowing_abs(), (i32::MIN, true));\n```", + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((i16::MAX - 2).checked_add(1), Some(i16::MAX - 1));\nassert_eq!((i16::MAX - 2).checked_add(3), None);\n```", "id": 10413, "inner": { "function": { @@ -33886,31 +32204,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_abs", + "name": "checked_add", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33920,20 +32252,23 @@ "10414": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3i32.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i16::MAX - 2).strict_add(1), i16::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i16::MAX - 2).strict_add(3);\n```", "id": 10414, "inner": { "function": { @@ -33957,35 +32292,28 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i32" - }, - { - "primitive": "bool" - } - ] + "primitive": "i16" } } } }, "links": {}, - "name": "overflowing_pow", + "name": "strict_add", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -33995,7 +32323,7 @@ "10415": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -34008,7 +32336,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: i32 = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", + "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_add(27), 127);\nassert_eq!(i16::MAX.wrapping_add(2), i16::MIN + 1);\n```", "id": 10415, "inner": { "function": { @@ -34032,28 +32360,28 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i16" } } } }, "links": {}, - "name": "pow", + "name": "wrapping_add", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34063,10 +32391,10 @@ "10416": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { @@ -34079,7 +32407,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i32.isqrt(), 3);\n```", + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > i16::MAX` or `self + rhs < i16::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: i16::checked_add\n[`wrapping_add`]: i16::wrapping_add", "id": 10416, "inner": { "function": { @@ -34092,7 +32420,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -34101,24 +32429,33 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i16" } } } }, - "links": {}, - "name": "isqrt", + "links": { + "i16::checked_add": 10413, + "i16::wrapping_add": 10415 + }, + "name": "unchecked_add", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34128,23 +32465,20 @@ "10417": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i32 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", + "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i16.checked_add_unsigned(2), Some(3));\nassert_eq!((i16::MAX - 2).checked_add_unsigned(3), None);\n```", "id": 10417, "inner": { "function": { @@ -34170,26 +32504,41 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "div_euclid", + "name": "checked_add_unsigned", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34199,13 +32548,10 @@ "10418": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -34218,7 +32564,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i32 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = i32::MIN.rem_euclid(-1);\n```", + "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i16.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i16::MAX - 2).strict_add_unsigned(3);\n```", "id": 10418, "inner": { "function": { @@ -34244,26 +32590,26 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i16" } } } }, "links": {}, - "name": "rem_euclid", + "name": "strict_add_unsigned", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34273,20 +32619,20 @@ "10419": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i32 = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", + "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 2).checked_sub(1), Some(i16::MIN + 1));\nassert_eq!((i16::MIN + 2).checked_sub(3), None);\n```", "id": 10419, "inner": { "function": { @@ -34312,26 +32658,41 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "div_floor", + "name": "checked_sub", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34409,11 +32770,11 @@ "name": "size_hint", "span": { "begin": [ - 2313, + 2308, 5 ], "end": [ - 2315, + 2310, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -34423,7 +32784,10 @@ "10420": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -34436,7 +32800,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i32 = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 2).strict_sub(1), i16::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i16::MIN + 2).strict_sub(3);\n```", "id": 10420, "inner": { "function": { @@ -34462,26 +32826,26 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i16" } } } }, "links": {}, - "name": "div_ceil", + "name": "strict_sub", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34491,7 +32855,10 @@ "10421": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -34501,7 +32868,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i32.next_multiple_of(8), 16);\nassert_eq!(23_i32.next_multiple_of(8), 24);\nassert_eq!(16_i32.next_multiple_of(-8), 16);\nassert_eq!(23_i32.next_multiple_of(-8), 16);\nassert_eq!((-16_i32).next_multiple_of(8), -16);\nassert_eq!((-23_i32).next_multiple_of(8), -16);\nassert_eq!((-16_i32).next_multiple_of(-8), -16);\nassert_eq!((-23_i32).next_multiple_of(-8), -24);\n```", + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i16.wrapping_sub(127), -127);\nassert_eq!((-2i16).wrapping_sub(i16::MAX), i16::MAX);\n```", "id": 10421, "inner": { "function": { @@ -34527,26 +32894,26 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i16" } } } }, "links": {}, - "name": "next_multiple_of", + "name": "wrapping_sub", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34556,17 +32923,23 @@ "10422": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i32.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_i32.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_i32.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_i32.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_i32).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_i32).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_i32).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_i32).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_i32.checked_next_multiple_of(0), None);\nassert_eq!(i32::MAX.checked_next_multiple_of(2), None);\n```", + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > i16::MAX` or `self - rhs < i16::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: i16::checked_sub\n[`wrapping_sub`]: i16::wrapping_sub", "id": 10422, "inner": { "function": { @@ -34579,7 +32952,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -34592,41 +32965,29 @@ [ "rhs", { - "primitive": "i32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i16" } } } }, - "links": {}, - "name": "checked_next_multiple_of", + "links": { + "i16::checked_sub": 10419, + "i16::wrapping_sub": 10421 + }, + "name": "unchecked_sub", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34636,23 +32997,20 @@ "10423": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5i32.ilog(5), 1);\n```", + "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i16.checked_sub_unsigned(2), Some(-1));\nassert_eq!((i16::MIN + 2).checked_sub_unsigned(3), None);\n```", "id": 10423, "inner": { "function": { @@ -34676,28 +33034,43 @@ } ], [ - "base", + "rhs", { - "primitive": "i32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "ilog", + "name": "checked_sub_unsigned", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34707,10 +33080,10 @@ "10424": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -34723,7 +33096,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10i32.ilog10(), 1);\n```", + "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i16.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i16::MIN + 2).strict_sub_unsigned(3);\n```", "id": 10424, "inner": { "function": { @@ -34745,24 +33118,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i16" } } } }, "links": {}, - "name": "ilog10", + "name": "strict_sub_unsigned", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34772,10 +33151,10 @@ "10425": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -34785,7 +33164,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5i32.checked_ilog(5), Some(1));\n```", + "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(i16::MAX.checked_mul(1), Some(i16::MAX));\nassert_eq!(i16::MAX.checked_mul(2), None);\n```", "id": 10425, "inner": { "function": { @@ -34809,9 +33188,9 @@ } ], [ - "base", + "rhs", { - "primitive": "i32" + "primitive": "i16" } ] ], @@ -34823,7 +33202,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "i16" } } ], @@ -34838,14 +33217,14 @@ } }, "links": {}, - "name": "checked_ilog", + "name": "checked_mul", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34855,20 +33234,23 @@ "10426": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2i32.checked_ilog2(), Some(1));\n```", + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(i16::MAX.strict_mul(1), i16::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = i16::MAX.strict_mul(2);\n```", "id": 10426, "inner": { "function": { @@ -34890,39 +33272,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i16" } } } }, "links": {}, - "name": "checked_ilog2", + "name": "strict_mul", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -34932,10 +33305,10 @@ "10427": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -34945,7 +33318,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10i32.checked_ilog10(), Some(1));\n```", + "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10i16.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", "id": 10427, "inner": { "function": { @@ -34967,39 +33340,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i16" } } } }, "links": {}, - "name": "checked_ilog10", + "name": "wrapping_mul", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35009,20 +33373,23 @@ "10428": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`i32::MIN`\ncannot be represented as an\n`i32`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`i32::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10i32.abs(), 10);\nassert_eq!((-10i32).abs(), 10);\n```", + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > i16::MAX` or `self * rhs < i16::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: i16::checked_mul\n[`wrapping_mul`]: i16::wrapping_mul", "id": 10428, "inner": { "function": { @@ -35035,7 +33402,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -35044,26 +33411,33 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i16" } } } }, "links": { - "Self::unsigned_abs": 10392 + "i16::checked_mul": 10425, + "i16::wrapping_mul": 10427 }, - "name": "abs", + "name": "unchecked_mul", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35073,10 +33447,10 @@ "10429": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -35086,7 +33460,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100i32.abs_diff(80), 20u32);\nassert_eq!(100i32.abs_diff(110), 10u32);\nassert_eq!((-100i32).abs_diff(80), 180u32);\nassert_eq!((-100i32).abs_diff(-120), 20u32);\nassert_eq!(i32::MIN.abs_diff(i32::MAX), u32::MAX);\n```", + "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 1).checked_div(-1), Some(32767));\nassert_eq!(i16::MIN.checked_div(-1), None);\nassert_eq!((1i16).checked_div(0), None);\n```", "id": 10429, "inner": { "function": { @@ -35110,28 +33484,43 @@ } ], [ - "other", + "rhs", { - "primitive": "i32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "abs_diff", + "name": "checked_div", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35362,11 +33751,11 @@ "name": null, "span": { "begin": [ - 2302, + 2297, 1 ], "end": [ - 2316, + 2311, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -35376,20 +33765,23 @@ "10430": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10i32.signum(), 1);\nassert_eq!(0i32.signum(), 0);\nassert_eq!((-10i32).signum(), -1);\n```", + "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 1).strict_div(-1), 32767);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i16).strict_div(0);\n```", "id": 10430, "inner": { "function": { @@ -35411,24 +33803,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i16" } } } }, "links": {}, - "name": "signum", + "name": "strict_div", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35438,20 +33836,20 @@ "10431": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10i32.is_positive());\nassert!(!(-10i32).is_positive());\n```", + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 1).checked_div_euclid(-1), Some(32767));\nassert_eq!(i16::MIN.checked_div_euclid(-1), None);\nassert_eq!((1i16).checked_div_euclid(0), None);\n```", "id": 10431, "inner": { "function": { @@ -35473,24 +33871,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "is_positive", + "name": "checked_div_euclid", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35500,20 +33919,23 @@ "10432": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10i32).is_negative());\nassert!(!10i32.is_negative());\n```", + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i16::MIN + 1).strict_div_euclid(-1), 32767);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i16).strict_div_euclid(0);\n```", "id": 10432, "inner": { "function": { @@ -35535,24 +33957,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i16" } } } }, "links": {}, - "name": "is_negative", + "name": "strict_div_euclid", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35562,10 +33990,7 @@ "10433": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { @@ -35575,7 +34000,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678i32.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78]);\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((i16::MIN + 1).checked_exact_div(-1), Some(32767));\nassert_eq!((-5i16).checked_exact_div(2), None);\nassert_eq!(i16::MIN.checked_exact_div(-1), None);\nassert_eq!((1i16).checked_exact_div(0), None);\n```", "id": 10433, "inner": { "function": { @@ -35597,29 +34022,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "to_be_bytes", + "name": "checked_exact_div", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35629,10 +34070,7 @@ "10434": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { @@ -35642,7 +34080,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678i32.to_le_bytes();\nassert_eq!(bytes, [0x78, 0x56, 0x34, 0x12]);\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64i16.exact_div(2), 32);\nassert_eq!(64i16.exact_div(32), 2);\nassert_eq!((i16::MIN + 1).exact_div(-1), 32767);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65i16.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = i16::MIN.exact_div(-1);\n```", "id": 10434, "inner": { "function": { @@ -35664,29 +34102,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "primitive": "i16" } } } }, "links": {}, - "name": "to_le_bytes", + "name": "exact_div", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35696,10 +34135,7 @@ "10435": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { @@ -35709,7 +34145,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12345678i32.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78]\n } else {\n [0x78, 0x56, 0x34, 0x12]\n }\n);\n```", + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == i16::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", "id": 10435, "inner": { "function": { @@ -35722,7 +34158,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -35731,32 +34167,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "primitive": "i16" } } } }, "links": { - "Self::to_be_bytes": 10433, - "Self::to_le_bytes": 10434 + "Self::checked_exact_div": 10433 }, - "name": "to_ne_bytes", + "name": "unchecked_exact_div", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35766,20 +34202,20 @@ "10436": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n\n# Examples\n\n```\nlet value = i32::from_be_bytes([0x12, 0x34, 0x56, 0x78]);\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_i32(input: &mut &[u8]) -> i32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i32::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i16.checked_rem(2), Some(1));\nassert_eq!(5i16.checked_rem(0), None);\nassert_eq!(i16::MIN.checked_rem(-1), None);\n```", "id": 10436, "inner": { "function": { @@ -35797,33 +34233,49 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "from_be_bytes", + "name": "checked_rem", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35833,20 +34285,23 @@ "10437": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n\n# Examples\n\n```\nlet value = i32::from_le_bytes([0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_i32(input: &mut &[u8]) -> i32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i32::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i16.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i16.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_rem(-1);\n```", "id": 10437, "inner": { "function": { @@ -35864,33 +34319,34 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i16" } } } }, "links": {}, - "name": "from_le_bytes", + "name": "strict_rem", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35900,20 +34356,20 @@ "10438": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = i32::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78]\n} else {\n [0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_i32(input: &mut &[u8]) -> i32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i32::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i16.checked_rem_euclid(2), Some(1));\nassert_eq!(5i16.checked_rem_euclid(0), None);\nassert_eq!(i16::MIN.checked_rem_euclid(-1), None);\n```", "id": 10438, "inner": { "function": { @@ -35931,36 +34387,49 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "Self::from_be_bytes": 10436, - "Self::from_le_bytes": 10437 - }, - "name": "from_ne_bytes", + "links": {}, + "name": "checked_rem_euclid", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -35970,21 +34439,23 @@ "10439": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"i32_legacy_fn_min_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`i32::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i16.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i16.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_rem_euclid(-1);\n```", "id": 10439, "inner": { "function": { @@ -36000,25 +34471,36 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i16" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i16" } } } }, - "links": { - "`i32::MIN`": 10307 - }, - "name": "min_value", + "links": {}, + "name": "strict_rem_euclid", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -36168,11 +34650,11 @@ "name": null, "span": { "begin": [ - 2319, + 2314, 1 ], "end": [ - 2319, + 2314, 93 ], "filename": "std/src/collections/hash/map.rs" @@ -36182,21 +34664,20 @@ "10440": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"i32_legacy_fn_max_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`i32::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5i16.checked_neg(), Some(-5));\nassert_eq!(i16::MIN.checked_neg(), None);\n```", "id": 10440, "inner": { "function": { @@ -36212,25 +34693,45 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "`i32::MAX`": 10308 - }, - "name": "max_value", + "links": {}, + "name": "checked_neg", "span": { "begin": [ - 295, + 271, 5 ], "end": [ - 314, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -36240,29 +34741,20 @@ "10441": { "attrs": [ { - "other": "#[doc(alias = \"average_floor\")]" - }, - { - "other": "#[doc(alias = \"average_ceil\")]" - }, - { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0i32.midpoint(4), 2);\nassert_eq!((-1i32).midpoint(2), 0);\nassert_eq!((-7i32).midpoint(0), -3);\nassert_eq!(0i32.midpoint(-7), -3);\nassert_eq!(0i32.midpoint(7), 3);\n```", + "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == i16::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: i16::checked_neg", "id": 10441, "inner": { "function": { @@ -36275,7 +34767,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -36284,221 +34776,114 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i32" + "primitive": "i16" } } } }, - "links": {}, - "name": "midpoint", + "links": { + "i16::checked_neg": 10440 + }, + "name": "unchecked_neg", "span": { "begin": [ - 315, + 271, 5 ], "end": [ - 315, - 40 + 290, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10442": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5i16.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_neg();\n```", "id": 10442, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i32" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10307, - 10308, - 10309, - 10310, - 10311, - 10313, - 10314, - 10315, - 10316, - 10317, - 10318, - 10319, - 10320, - 10321, - 10322, - 10323, - 10324, - 10325, - 10326, - 10327, - 10328, - 10329, - 10330, - 10331, - 10333, - 10334, - 10335, - 10336, - 10337, - 10339, - 10340, - 10341, - 10342, - 10343, - 10345, - 10346, - 10347, - 10348, - 10349, - 10350, - 10351, - 10352, - 10353, - 10354, - 10355, - 10356, - 10357, - 10358, - 10359, - 10360, - 10361, - 10362, - 10363, - 10364, - 10365, - 10366, - 10367, - 10368, - 10369, - 10370, - 10371, - 10372, - 10373, - 10374, - 10375, - 10376, - 10377, - 10378, - 10379, - 10380, - 10381, - 10332, - 10382, - 10338, - 10383, - 10344, - 10384, - 10385, - 10386, - 10387, - 10388, - 10389, - 10390, - 10391, - 10392, - 10393, - 10394, - 10396, - 10397, - 10398, - 10400, - 10401, - 10402, - 10404, - 10403, - 10405, - 10406, - 10407, - 10408, - 10409, - 10410, - 10411, - 10412, - 10413, - 10414, - 10415, - 10416, - 10417, - 10418, - 10419, - 10420, - 10421, - 10422, - 10423, - 10312, - 10424, - 10425, - 10426, - 10427, - 10428, - 10429, - 10430, - 10431, - 10432, - 10433, - 10434, - 10435, - 10436, - 10437, - 10438, - 10439, - 10440, - 10441 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i16" + } + } } }, "links": {}, - "name": null, + "name": "strict_neg", "span": { "begin": [ - 294, - 1 + 271, + 5 ], "end": [ - 294, - 9 + 290, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10443": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(i32::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(i32::from_str_radix(\"1 \", 10).is_err());\n```", + "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1i16.checked_shl(4), Some(0x10));\nassert_eq!(0x1i16.checked_shl(129), None);\nassert_eq!(0x10i16.checked_shl(15), Some(0));\n```", "id": 10443, "inner": { "function": { @@ -36516,19 +34901,13 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "generic": "Self" } ], [ - "radix", + "rhs", { "primitive": "u32" } @@ -36542,39 +34921,30 @@ "args": [ { "type": { - "primitive": "i32" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } + "primitive": "i16" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "from_str_radix", + "name": "checked_shl", "span": { "begin": [ - 1630, - 1 + 271, + 5 ], "end": [ - 1630, - 56 + 290, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -36583,12 +34953,23 @@ "10444": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i32::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i32::from_ascii(b\"1 \").is_err());\n```", + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1i16.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1i16.strict_shl(129);\n```", "id": 10444, "inner": { "function": { @@ -36606,61 +34987,35 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "i16" } } } }, "links": {}, - "name": "from_ascii", + "name": "strict_shl", "span": { "begin": [ - 1630, - 1 + 271, + 5 ], "end": [ - 1630, - 56 + 290, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -36669,12 +35024,20 @@ "10445": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i32::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i32::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: i16::checked_shl", "id": 10445, "inner": { "function": { @@ -36687,26 +35050,18 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "Self" } ], [ - "radix", + "rhs", { "primitive": "u32" } @@ -36714,102 +35069,110 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "i16" } } } }, - "links": {}, - "name": "from_ascii_radix", + "links": { + "i16::checked_shl": 10443 + }, + "name": "unchecked_shl", "span": { "begin": [ - 1630, - 1 + 271, + 5 ], "end": [ - 1630, - 56 + 290, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10446": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1i16.unbounded_shl(4), 0x10);\nassert_eq!(0x1i16.unbounded_shl(129), 0);\n```", "id": 10446, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i32" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10443, - 10444, - 10445 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i16" + } + } } }, "links": {}, - "name": null, + "name": "unbounded_shl", "span": { "begin": [ - 1630, - 1 + 271, + 5 ], "end": [ - 1630, - 56 + 290, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10447": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0i32;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32i32;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = i32 :: MAX;\nassert_eq!(n2.format_into(&mut buf), i32 :: MAX.to_string());\n```", + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any bits that would be shifted out differ from the resulting sign bit\nor if `rhs` >=\n`i16::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1i16.exact_shl(4), Some(0x10));\nassert_eq!(0x1i16.exact_shl(i16::BITS - 2), Some(1 << i16::BITS - 2));\nassert_eq!(0x1i16.exact_shl(i16::BITS - 1), None);\nassert_eq!((-0x2i16).exact_shl(i16::BITS - 2), Some(-0x2 << i16::BITS - 2));\nassert_eq!((-0x2i16).exact_shl(i16::BITS - 1), None);\n```", "id": 10447, "inner": { "function": { @@ -36821,7 +35184,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -36833,131 +35196,193 @@ } ], [ - "buf", + "rhs", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 10162, - "path": "NumBuffer" - } - } - } + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": { - "`NumBuffer`": 10162 - }, - "name": "format_into", + "links": {}, + "name": "exact_shl", "span": { "begin": [ - 562, + 271, 5 ], "end": [ - 562, - 95 + 290, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10448": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`i16::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs >= self.leading_zeros() && rhs >=\nself.leading_ones()` i.e. when\n[`i16::exact_shl`]\nwould return `None`.", "id": 10448, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i32" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10447 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i16" + } + } } }, - "links": {}, - "name": null, + "links": { + "`i16::exact_shl`": 10447 + }, + "name": "unchecked_exact_shl", "span": { "begin": [ - 562, + 271, 5 ], "end": [ - 562, - 95 + 290, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10449": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The smallest value that can be represented by this integer type\n(−263).\n\n# Examples\n\n```\nassert_eq!(i64::MIN, -9223372036854775808);\n```", + "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10i16.checked_shr(4), Some(0x1));\nassert_eq!(0x10i16.checked_shr(128), None);\n```", "id": 10449, "inner": { - "assoc_const": { - "type": { - "primitive": "i64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": "MIN", + "name": "checked_shr", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37015,7 +35440,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -37027,7 +35452,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -37038,11 +35463,11 @@ "name": "fmt", "span": { "begin": [ - 2327, + 2322, 5 ], "end": [ - 2329, + 2324, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -37052,30 +35477,68 @@ "10450": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(263 − 1).\n\n# Examples\n\n```\nassert_eq!(i64::MAX, 9223372036854775807);\n```", + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10i16.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10i16.strict_shr(128);\n```", "id": 10450, "inner": { - "assoc_const": { - "type": { - "primitive": "i64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i16" + } + } } }, "links": {}, - "name": "MAX", + "name": "strict_shr", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37085,30 +35548,67 @@ "10451": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(i64::BITS, 64);\n```", + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: i16::checked_shr", "id": 10451, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "u64::BITS" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i16" + } + } } }, - "links": {}, - "name": "BITS", + "links": { + "i16::checked_shr": 10449 + }, + "name": "unchecked_shr", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37118,16 +35618,10 @@ "10452": { "attrs": [ { - "other": "#[doc(alias = \"popcount\")]" - }, - { - "other": "#[doc(alias = \"popcnt\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { @@ -37137,7 +35631,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000i64;\n\nassert_eq!(n.count_ones(), 1);\n```\n", + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10i16.unbounded_shr(4), 0x1);\nassert_eq!(0x10i16.unbounded_shr(129), 0);\nassert_eq!(i16::MIN.unbounded_shr(129), -1);\n```", "id": 10452, "inner": { "function": { @@ -37159,24 +35653,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i16" } } } }, "links": {}, - "name": "count_ones", + "name": "unbounded_shr", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37186,10 +35686,7 @@ "10453": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -37199,7 +35696,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(i64::MAX.count_zeros(), 1);\n```", + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`i16::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10i16.exact_shr(4), Some(0x1));\nassert_eq!(0x10i16.exact_shr(5), None);\n```", "id": 10453, "inner": { "function": { @@ -37221,24 +35718,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "count_zeros", + "name": "exact_shr", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37248,23 +35766,17 @@ "10454": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2i64.ilog2(), 1);\n```", + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`i16::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\ni16::BITS`\ni.e. when\n[`i16::exact_shr`]\nwould return `None`.", "id": 10454, "inner": { "function": { @@ -37277,7 +35789,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -37286,24 +35798,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i16" } } } }, - "links": {}, - "name": "ilog2", + "links": { + "`i16::exact_shr`": 10453 + }, + "name": "unchecked_exact_shr", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37313,10 +35833,10 @@ "10455": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { @@ -37326,7 +35846,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1i64;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: i64::ilog2", + "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5i16).checked_abs(), Some(5));\nassert_eq!(i16::MIN.checked_abs(), None);\n```", "id": 10455, "inner": { "function": { @@ -37352,22 +35872,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "i64::ilog2": 10454 - }, - "name": "leading_zeros", + "links": {}, + "name": "checked_abs", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37377,20 +35910,23 @@ "10456": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4i64;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", + "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5i16).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MIN.strict_abs();\n```", "id": 10456, "inner": { "function": { @@ -37416,20 +35952,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i16" } } } }, "links": {}, - "name": "trailing_zeros", + "name": "strict_abs", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37439,10 +35975,10 @@ "10457": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -37452,7 +35988,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1i64;\n\nassert_eq!(n.leading_ones(), 64);\n```", + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8i16.checked_pow(2), Some(64));\nassert_eq!(i16::MAX.checked_pow(2), None);\n```", "id": 10457, "inner": { "function": { @@ -37474,24 +36010,45 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "leading_ones", + "name": "checked_pow", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37501,20 +36058,23 @@ "10458": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3i64;\n\nassert_eq!(n.trailing_ones(), 2);\n```", + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8i16.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i16::MAX.strict_pow(2);\n```", "id": 10458, "inner": { "function": { @@ -37536,24 +36096,30 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i16" } } } }, "links": {}, - "name": "trailing_ones", + "name": "strict_pow", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37563,7 +36129,10 @@ "10459": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { @@ -37573,7 +36142,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i64 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_i64.isolate_highest_one(), 0);\n```", + "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i16.checked_isqrt(), Some(3));\n```", "id": 10459, "inner": { "function": { @@ -37599,20 +36168,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "isolate_highest_one", + "name": "checked_isqrt", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37706,7 +36290,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -37727,7 +36311,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -37750,7 +36334,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -37759,11 +36343,11 @@ "name": null, "span": { "begin": [ - 2322, + 2317, 1 ], "end": [ - 2330, + 2325, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -37773,7 +36357,10 @@ "10460": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -37783,7 +36370,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i64 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_i64.isolate_lowest_one(), 0);\n```", + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i16.saturating_add(1), 101);\nassert_eq!(i16::MAX.saturating_add(100), i16::MAX);\nassert_eq!(i16::MIN.saturating_add(-1), i16::MIN);\n```", "id": 10460, "inner": { "function": { @@ -37805,24 +36392,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "isolate_lowest_one", + "name": "saturating_add", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37832,7 +36425,10 @@ "10461": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -37842,7 +36438,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i64.highest_one(), None);\nassert_eq!(0x1_i64.highest_one(), Some(0));\nassert_eq!(0x10_i64.highest_one(), Some(4));\nassert_eq!(0x1f_i64.highest_one(), Some(4));\n```", + "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1i16.saturating_add_unsigned(2), 3);\nassert_eq!(i16::MAX.saturating_add_unsigned(100), i16::MAX);\n```", "id": 10461, "inner": { "function": { @@ -37864,39 +36460,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i16" } } } }, "links": {}, - "name": "highest_one", + "name": "saturating_add_unsigned", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37906,7 +36493,10 @@ "10462": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -37916,7 +36506,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i64.lowest_one(), None);\nassert_eq!(0x1_i64.lowest_one(), Some(0));\nassert_eq!(0x10_i64.lowest_one(), Some(4));\nassert_eq!(0x1f_i64.lowest_one(), Some(0));\n```", + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i16.saturating_sub(127), -27);\nassert_eq!(i16::MIN.saturating_sub(100), i16::MIN);\nassert_eq!(i16::MAX.saturating_sub(-1), i16::MAX);\n```", "id": 10462, "inner": { "function": { @@ -37938,39 +36528,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i16" } } } }, "links": {}, - "name": "lowest_one", + "name": "saturating_sub", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -37980,10 +36561,10 @@ "10463": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -37993,7 +36574,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1i64;\n\nassert_eq!(n.cast_unsigned(), u64::MAX);\n```", + "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i16.saturating_sub_unsigned(127), -27);\nassert_eq!(i16::MIN.saturating_sub_unsigned(100), i16::MIN);\n```", "id": 10463, "inner": { "function": { @@ -38015,24 +36596,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "i16" } } } }, "links": {}, - "name": "cast_unsigned", + "name": "saturating_sub_unsigned", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38042,10 +36629,10 @@ "10464": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" }, { "must_use": { @@ -38055,7 +36642,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0xaa00000000006e1i64;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);\n```", + "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i16.saturating_neg(), -100);\nassert_eq!((-100i16).saturating_neg(), 100);\nassert_eq!(i16::MIN.saturating_neg(), i16::MAX);\nassert_eq!(i16::MAX.saturating_neg(), i16::MIN + 1);\n```", "id": 10464, "inner": { "function": { @@ -38077,30 +36664,24 @@ { "generic": "Self" } - ], - [ - "n", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "rotate_left", + "name": "saturating_neg", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38110,10 +36691,10 @@ "10465": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" }, { "must_use": { @@ -38123,7 +36704,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x6e10aai64;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);\n```", + "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i16.saturating_abs(), 100);\nassert_eq!((-100i16).saturating_abs(), 100);\nassert_eq!(i16::MIN.saturating_abs(), i16::MAX);\nassert_eq!((i16::MIN + 1).saturating_abs(), i16::MAX);\n```", "id": 10465, "inner": { "function": { @@ -38145,30 +36726,24 @@ { "generic": "Self" } - ], - [ - "n", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "rotate_right", + "name": "saturating_abs", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38178,10 +36753,10 @@ "10466": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -38191,7 +36766,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234567890123456i64;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);\n```", + "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10i16.saturating_mul(12), 120);\nassert_eq!(i16::MAX.saturating_mul(10), i16::MAX);\nassert_eq!(i16::MIN.saturating_mul(10), i16::MIN);\n```", "id": 10466, "inner": { "function": { @@ -38213,24 +36788,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "swap_bytes", + "name": "saturating_mul", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38240,10 +36821,10 @@ "10467": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" }, { "must_use": { @@ -38253,7 +36834,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234567890123456i64;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0i64.reverse_bits());\n```", + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i16.saturating_div(2), 2);\nassert_eq!(i16::MAX.saturating_div(-1), i16::MIN + 1);\nassert_eq!(i16::MIN.saturating_div(-1), i16::MAX);\n\n```", "id": 10467, "inner": { "function": { @@ -38275,24 +36856,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "reverse_bits", + "name": "saturating_div", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38302,20 +36889,20 @@ "10468": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai64;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(i64::from_be(n), n)\n} else {\n assert_eq!(i64::from_be(n), n.swap_bytes())\n}\n```", + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4i16).saturating_pow(3), -64);\nassert_eq!(i16::MIN.saturating_pow(2), i16::MAX);\nassert_eq!(i16::MIN.saturating_pow(3), i16::MIN);\n```", "id": 10468, "inner": { "function": { @@ -38333,28 +36920,34 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "i64" + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "from_be", + "name": "saturating_pow", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38364,20 +36957,20 @@ "10469": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai64;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(i64::from_le(n), n)\n} else {\n assert_eq!(i64::from_le(n), n.swap_bytes())\n}\n```", + "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_add_unsigned(27), 127);\nassert_eq!(i16::MAX.wrapping_add_unsigned(2), i16::MIN + 1);\n```", "id": 10469, "inner": { "function": { @@ -38395,28 +36988,34 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "i64" + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "from_le", + "name": "wrapping_add_unsigned", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38426,10 +37025,10 @@ "10470": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -38439,7 +37038,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai64;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i16.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2i16).wrapping_sub_unsigned(u16::MAX), -1);\n```", "id": 10470, "inner": { "function": { @@ -38461,24 +37060,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "to_be", + "name": "wrapping_sub_unsigned", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38488,10 +37093,10 @@ "10471": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -38501,7 +37106,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai64;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", "id": 10471, "inner": { "function": { @@ -38523,24 +37128,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "to_le", + "name": "wrapping_div", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38550,10 +37161,10 @@ "10472": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -38563,7 +37174,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((i64::MAX - 2).checked_add(1), Some(i64::MAX - 1));\nassert_eq!((i64::MAX - 2).checked_add(3), None);\n```", + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", "id": 10472, "inner": { "function": { @@ -38589,41 +37200,26 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i16" } } } }, "links": {}, - "name": "checked_add", + "name": "wrapping_div_euclid", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38633,23 +37229,20 @@ "10473": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i64::MAX - 2).strict_add(1), i64::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i64::MAX - 2).strict_add(3);\n```", + "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", "id": 10473, "inner": { "function": { @@ -38675,26 +37268,26 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "strict_add", + "name": "wrapping_rem", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38704,10 +37297,10 @@ "10474": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -38717,7 +37310,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_add(27), 127);\nassert_eq!(i64::MAX.wrapping_add(2), i64::MIN + 1);\n```", + "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", "id": 10474, "inner": { "function": { @@ -38743,26 +37336,26 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "wrapping_add", + "name": "wrapping_rem_euclid", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38772,23 +37365,20 @@ "10475": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > i64::MAX` or `self + rhs < i64::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: i64::checked_add\n[`wrapping_add`]: i64::wrapping_add", + "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_neg(), -100);\nassert_eq!((-100i16).wrapping_neg(), 100);\nassert_eq!(i16::MIN.wrapping_neg(), i16::MIN);\n```", "id": 10475, "inner": { "function": { @@ -38801,7 +37391,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -38810,33 +37400,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, - "links": { - "i64::checked_add": 10472, - "i64::wrapping_add": 10474 - }, - "name": "unchecked_add", + "links": {}, + "name": "wrapping_neg", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38846,10 +37427,10 @@ "10476": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -38859,7 +37440,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i64.checked_add_unsigned(2), Some(3));\nassert_eq!((i64::MAX - 2).checked_add_unsigned(3), None);\n```", + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1i16).wrapping_shl(7), -128);\nassert_eq!((-1i16).wrapping_shl(128), -1);\n```", "id": 10476, "inner": { "function": { @@ -38885,41 +37466,28 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i16" } } } }, - "links": {}, - "name": "checked_add_unsigned", + "links": { + "Self::rotate_left": 10405 + }, + "name": "wrapping_shl", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -38929,23 +37497,20 @@ "10477": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i64.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i64::MAX - 2).strict_add_unsigned(3);\n```", + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128i16).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", "id": 10477, "inner": { "function": { @@ -38971,26 +37536,28 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, - "links": {}, - "name": "strict_add_unsigned", + "links": { + "Self::rotate_right": 10406 + }, + "name": "wrapping_shr", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39000,10 +37567,10 @@ "10478": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { @@ -39013,7 +37580,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 2).checked_sub(1), Some(i64::MIN + 1));\nassert_eq!((i64::MIN + 2).checked_sub(3), None);\n```", + "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i16.wrapping_abs(), 100);\nassert_eq!((-100i16).wrapping_abs(), 100);\nassert_eq!(i16::MIN.wrapping_abs(), i16::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", "id": 10478, "inner": { "function": { @@ -39035,45 +37602,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i16" } } } }, "links": {}, - "name": "checked_sub", + "name": "wrapping_abs", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39083,23 +37629,20 @@ "10479": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 2).strict_sub(1), i64::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i64::MIN + 2).strict_sub(3);\n```", + "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100i16.unsigned_abs(), 100u16);\nassert_eq!((-100i16).unsigned_abs(), 100u16);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", "id": 10479, "inner": { "function": { @@ -39121,30 +37664,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "u16" } } } }, "links": {}, - "name": "strict_sub", + "name": "unsigned_abs", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39282,10 +37819,10 @@ "10480": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -39295,7 +37832,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i64.wrapping_sub(127), -127);\nassert_eq!((-2i64).wrapping_sub(i64::MAX), i64::MAX);\n```", + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3i16.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", "id": 10480, "inner": { "function": { @@ -39319,28 +37856,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "i64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "wrapping_sub", + "name": "wrapping_pow", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39350,23 +37887,20 @@ "10481": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > i64::MAX` or `self - rhs < i64::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: i64::checked_sub\n[`wrapping_sub`]: i64::wrapping_sub", + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_add(2), (7, false));\nassert_eq!(i16::MAX.overflowing_add(1), (i16::MIN, true));\n```", "id": 10481, "inner": { "function": { @@ -39379,7 +37913,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -39392,29 +37926,33 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "i16" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "i64::checked_sub": 10478, - "i64::wrapping_sub": 10480 - }, - "name": "unchecked_sub", + "links": {}, + "name": "overflowing_add", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39424,10 +37962,10 @@ "10482": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -39437,7 +37975,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i64.checked_sub_unsigned(2), Some(-1));\nassert_eq!((i64::MIN + 2).checked_sub_unsigned(3), None);\n```", + "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry (in that order).\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 16-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n// 3 MAX (a = 3 × 2^16 + 2^16 - 1)\n// + 5 7 (b = 5 × 2^16 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^16 + 6)\n\nlet (a1, a0): (u16, u16) = (3, u16::MAX);\nlet (b1, b0): (u16, u16) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", "id": 10482, "inner": { "function": { @@ -39463,41 +38001,41 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u16" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "checked_sub_unsigned", + "links": { + "Self::overflowing_add": 11224 + }, + "name": "carrying_add", "span": { "begin": [ - 319, + 1084, 5 ], "end": [ - 338, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39507,23 +38045,17 @@ "10483": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i64.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i64::MIN + 2).strict_sub_unsigned(3);\n```", + "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`u16::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^16 + 2^16 - 1)\n// + -5 9 (b = -5 × 2^16 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^16 + 8)\n\nlet (a1, a0): (i16, u16) = (10, u16::MAX);\nlet (b1, b0): (i16, u16) = (-5, 9);\nlet carry0 = false;\n\n// u16::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// i16::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", "id": 10483, "inner": { "function": { @@ -39549,26 +38081,42 @@ [ "rhs", { - "primitive": "u64" + "primitive": "i16" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "i16" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "strict_sub_unsigned", + "links": { + "Self::overflowing_add": 10481, + "`u16::carrying_add`": 10482 + }, + "name": "carrying_add", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39578,10 +38126,10 @@ "10484": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -39591,7 +38139,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(i64::MAX.checked_mul(1), Some(i64::MAX));\nassert_eq!(i64::MAX.checked_mul(2), None);\n```", + "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i16.overflowing_add_unsigned(2), (3, false));\nassert_eq!((i16::MIN).overflowing_add_unsigned(u16::MAX), (i16::MAX, false));\nassert_eq!((i16::MAX - 2).overflowing_add_unsigned(3), (i16::MIN, true));\n```", "id": 10484, "inner": { "function": { @@ -39617,41 +38165,33 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i16" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_mul", + "name": "overflowing_add_unsigned", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39661,23 +38201,20 @@ "10485": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(i64::MAX.strict_mul(1), i64::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = i64::MAX.strict_mul(2);\n```", + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_sub(2), (3, false));\nassert_eq!(i16::MIN.overflowing_sub(1), (i16::MAX, true));\n```", "id": 10485, "inner": { "function": { @@ -39703,26 +38240,33 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "i16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_mul", + "name": "overflowing_sub", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39732,10 +38276,10 @@ "10486": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -39745,7 +38289,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10i64.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", + "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n// 9 6 (a = 9 × 2^16 + 6)\n// - 5 7 (b = 5 × 2^16 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^16 + 2^16 - 1)\n\nlet (a1, a0): (u16, u16) = (9, 6);\nlet (b1, b0): (u16, u16) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, u16::MAX));\n```", "id": 10486, "inner": { "function": { @@ -39771,26 +38315,39 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u16" + } + ], + [ + "borrow", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "wrapping_mul", + "name": "borrowing_sub", "span": { "begin": [ - 319, + 1084, 5 ], "end": [ - 338, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39800,23 +38357,17 @@ "10487": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > i64::MAX` or `self * rhs < i64::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: i64::checked_mul\n[`wrapping_mul`]: i64::wrapping_mul", + "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`u16::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^16 + 8)\n// - -5 9 (b = -5 × 2^16 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^16 + 2^16 - 1)\n\nlet (a1, a0): (i16, u16) = (6, 8);\nlet (b1, b0): (i16, u16) = (-5, 9);\nlet borrow0 = false;\n\n// u16::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// i16::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, u16::MAX));\n```", "id": 10487, "inner": { "function": { @@ -39829,7 +38380,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -39842,29 +38393,42 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" + } + ], + [ + "borrow", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "i16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": { - "i64::checked_mul": 10484, - "i64::wrapping_mul": 10486 + "Self::overflowing_sub": 10485, + "`u16::borrowing_sub`": 10486 }, - "name": "unchecked_mul", + "name": "borrowing_sub", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39874,10 +38438,10 @@ "10488": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -39887,7 +38451,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 1).checked_div(-1), Some(9223372036854775807));\nassert_eq!(i64::MIN.checked_div(-1), None);\nassert_eq!((1i64).checked_div(0), None);\n```", + "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i16.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((i16::MAX).overflowing_sub_unsigned(u16::MAX), (i16::MIN, false));\nassert_eq!((i16::MIN + 2).overflowing_sub_unsigned(3), (i16::MAX, true));\n```", "id": 10488, "inner": { "function": { @@ -39913,41 +38477,33 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i16" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_div", + "name": "overflowing_sub_unsigned", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -39957,23 +38513,20 @@ "10489": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 1).strict_div(-1), 9223372036854775807);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i64).strict_div(0);\n```", + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", "id": 10489, "inner": { "function": { @@ -39999,26 +38552,33 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "i16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_div", + "name": "overflowing_mul", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -40156,10 +38716,10 @@ "10490": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -40169,7 +38729,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 1).checked_div_euclid(-1), Some(9223372036854775807));\nassert_eq!(i64::MIN.checked_div_euclid(-1), None);\nassert_eq!((1i64).checked_div_euclid(0), None);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(i16::MAX.carrying_mul(i16::MAX, i16::MAX), (i16::MAX.unsigned_abs() + 1, i16::MAX / 2));\n```", "id": 10490, "inner": { "function": { @@ -40195,41 +38755,41 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" + } + ], + [ + "carry", + { + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u16" }, - "id": 51, - "path": "Option" - } + { + "primitive": "i16" + } + ] } } } }, - "links": {}, - "name": "checked_div_euclid", + "links": { + "`Self::widening_mul`": 10491 + }, + "name": "carrying_mul", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -40239,23 +38799,20 @@ "10491": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 1).strict_div_euclid(-1), 9223372036854775807);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i64).strict_div_euclid(0);\n```", + "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", "id": 10491, "inner": { "function": { @@ -40281,26 +38838,35 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "i16" + } + ] } } } }, - "links": {}, - "name": "strict_div_euclid", + "links": { + "`Self::carrying_mul`": 10490 + }, + "name": "widening_mul", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -40310,7 +38876,10 @@ "10492": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -40320,7 +38889,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((i64::MIN + 1).checked_exact_div(-1), Some(9223372036854775807));\nassert_eq!((-5i64).checked_exact_div(2), None);\nassert_eq!(i64::MIN.checked_exact_div(-1), None);\nassert_eq!((1i64).checked_exact_div(0), None);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(i16::MAX.carrying_mul_add(i16::MAX, i16::MAX, i16::MAX), (u16::MAX, i16::MAX / 2));\n```", "id": 10492, "inner": { "function": { @@ -40346,41 +38915,48 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" + } + ], + [ + "carry", + { + "primitive": "i16" + } + ], + [ + "add", + { + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u16" }, - "id": 51, - "path": "Option" - } + { + "primitive": "i16" + } + ] } } } }, - "links": {}, - "name": "checked_exact_div", + "links": { + "`Self::carrying_mul`": 10490, + "`Self::widening_mul`": 10491 + }, + "name": "carrying_mul_add", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -40390,7 +38966,10 @@ "10493": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -40400,7 +38979,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64i64.exact_div(2), 32);\nassert_eq!(64i64.exact_div(32), 2);\nassert_eq!((i64::MIN + 1).exact_div(-1), 9223372036854775807);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65i64.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = i64::MIN.exact_div(-1);\n```", + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_div(2), (2, false));\nassert_eq!(i16::MIN.overflowing_div(-1), (i16::MIN, true));\n```", "id": 10493, "inner": { "function": { @@ -40426,106 +39005,46 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" - } - } - } - }, - "links": {}, - "name": "exact_div", - "span": { - "begin": [ - 319, - 5 - ], - "end": [ - 338, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10494": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == i64::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", - "id": 10494, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", + "tuple": [ { - "generic": "Self" - } - ], - [ - "rhs", + "primitive": "i16" + }, { - "primitive": "i64" + "primitive": "bool" } ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i64" } } } }, - "links": { - "Self::checked_exact_div": 10492 - }, - "name": "unchecked_exact_div", + "links": {}, + "name": "overflowing_div", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10495": { + "10494": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -40535,8 +39054,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i64.checked_rem(2), Some(1));\nassert_eq!(5i64.checked_rem(0), None);\nassert_eq!(i64::MIN.checked_rem(-1), None);\n```", - "id": 10495, + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_div_euclid(2), (2, false));\nassert_eq!(i16::MIN.overflowing_div_euclid(-1), (i16::MIN, true));\n```", + "id": 10494, "inner": { "function": { "generics": { @@ -40561,68 +39080,57 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i16" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_rem", + "name": "overflowing_div_euclid", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10496": { + "10495": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i64.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i64.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_rem(-1);\n```", - "id": 10496, + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_rem(2), (1, false));\nassert_eq!(i16::MIN.overflowing_rem(-1), (0, true));\n```", + "id": 10495, "inner": { "function": { "generics": { @@ -40647,33 +39155,40 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "i16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_rem", + "name": "overflowing_rem", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10497": { + "10496": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" @@ -40685,12 +39200,15 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i64.checked_rem_euclid(2), Some(1));\nassert_eq!(5i64.checked_rem_euclid(0), None);\nassert_eq!(i64::MIN.checked_rem_euclid(-1), None);\n```", - "id": 10497, + "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i16.overflowing_rem_euclid(2), (1, false));\nassert_eq!(i16::MIN.overflowing_rem_euclid(-1), (0, true));\n```", + "id": 10496, "inner": { "function": { "generics": { @@ -40715,67 +39233,125 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i16" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_rem_euclid", + "name": "overflowing_rem_euclid", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10498": { + "10497": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2i16.overflowing_neg(), (-2, false));\nassert_eq!(i16::MIN.overflowing_neg(), (i16::MIN, true));\n```", + "id": 10497, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "i16" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_neg", + "span": { + "begin": [ + 271, + 5 + ], + "end": [ + 290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "10498": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i64.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i64.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_rem_euclid(-1);\n```", + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1i16.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10i16.overflowing_shl(15), (0, false));\n```", "id": 10498, "inner": { "function": { @@ -40801,26 +39377,33 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "i16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_rem_euclid", + "name": "overflowing_shl", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -40830,7 +39413,7 @@ "10499": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -40843,7 +39426,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5i64.checked_neg(), Some(-5));\nassert_eq!(i64::MIN.checked_neg(), None);\n```", + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10i16.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", "id": 10499, "inner": { "function": { @@ -40865,39 +39448,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i16" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_neg", + "name": "overflowing_shr", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -40979,7 +39560,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -40992,20 +39573,20 @@ "10500": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == i64::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: i64::checked_neg", + "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., i16::MIN for values of type i16),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10i16.overflowing_abs(), (10, false));\nassert_eq!((-10i16).overflowing_abs(), (10, false));\nassert_eq!((i16::MIN).overflowing_abs(), (i16::MIN, true));\n```", "id": 10500, "inner": { "function": { @@ -41018,7 +39599,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -41031,22 +39612,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "i16" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "i64::checked_neg": 10499 - }, - "name": "unchecked_neg", + "links": {}, + "name": "overflowing_abs", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41056,23 +39642,20 @@ "10501": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5i64.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_neg();\n", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3i16.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", "id": 10501, "inner": { "function": { @@ -41094,24 +39677,37 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "tuple": [ + { + "primitive": "i16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_neg", + "name": "overflowing_pow", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41121,10 +39717,10 @@ "10502": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -41134,7 +39730,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1i64.checked_shl(4), Some(0x10));\nassert_eq!(0x1i64.checked_shl(129), None);\nassert_eq!(0x10i64.checked_shl(63), Some(0));\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: i16 = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", "id": 10502, "inner": { "function": { @@ -41158,7 +39754,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -41166,35 +39762,20 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i16" } } } }, "links": {}, - "name": "checked_shl", + "name": "pow", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41204,10 +39785,10 @@ "10503": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { @@ -41220,7 +39801,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1i64.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1i64.strict_shl(129);\n```", + "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i16.isqrt(), 3);\n```", "id": 10503, "inner": { "function": { @@ -41242,30 +39823,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "strict_shl", + "name": "isqrt", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41275,7 +39850,10 @@ "10504": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -41288,7 +39866,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: i64::checked_shl", + "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i16 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", "id": 10504, "inner": { "function": { @@ -41301,7 +39879,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -41314,28 +39892,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, - "links": { - "i64::checked_shl": 10502 - }, - "name": "unchecked_shl", + "links": {}, + "name": "div_euclid", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41345,20 +39921,26 @@ "10505": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1i64.unbounded_shl(4), 0x10);\nassert_eq!(0x1i64.unbounded_shl(129), 0);\n```", + "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i16 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = i16::MIN.rem_euclid(-1);\n```", "id": 10505, "inner": { "function": { @@ -41384,26 +39966,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "unbounded_shl", + "name": "rem_euclid", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41413,20 +39995,20 @@ "10506": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10i64.checked_shr(4), Some(0x1));\nassert_eq!(0x10i64.checked_shr(128), None);\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i16 = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", "id": 10506, "inner": { "function": { @@ -41452,41 +40034,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i16" } } } }, "links": {}, - "name": "checked_shr", + "name": "div_floor", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41496,10 +40063,7 @@ "10507": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -41512,7 +40076,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10i64.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10i64.strict_shr(128);\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i16 = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", "id": 10507, "inner": { "function": { @@ -41538,26 +40102,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "strict_shr", + "name": "div_ceil", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41567,20 +40131,17 @@ "10508": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: i64::checked_shr", + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i16.next_multiple_of(8), 16);\nassert_eq!(23_i16.next_multiple_of(8), 24);\nassert_eq!(16_i16.next_multiple_of(-8), 16);\nassert_eq!(23_i16.next_multiple_of(-8), 16);\nassert_eq!((-16_i16).next_multiple_of(8), -16);\nassert_eq!((-23_i16).next_multiple_of(8), -16);\nassert_eq!((-16_i16).next_multiple_of(-8), -16);\nassert_eq!((-23_i16).next_multiple_of(-8), -24);\n```", "id": 10508, "inner": { "function": { @@ -41593,7 +40154,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -41606,28 +40167,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, - "links": { - "i64::checked_shr": 10506 - }, - "name": "unchecked_shr", + "links": {}, + "name": "next_multiple_of", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41637,10 +40196,7 @@ "10509": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -41650,7 +40206,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10i64.unbounded_shr(4), 0x1);\nassert_eq!(0x10i64.unbounded_shr(129), 0);\nassert_eq!(i64::MIN.unbounded_shr(129), -1);\n```", + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i16.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_i16.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_i16.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_i16.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_i16).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_i16).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_i16).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_i16).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_i16.checked_next_multiple_of(0), None);\nassert_eq!(i16::MAX.checked_next_multiple_of(2), None);\n```", "id": 10509, "inner": { "function": { @@ -41676,26 +40232,41 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "unbounded_shr", + "name": "checked_next_multiple_of", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41790,20 +40361,23 @@ "10510": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5i64).checked_abs(), Some(5));\nassert_eq!(i64::MIN.checked_abs(), None);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5i16.ilog(5), 1);\n```", "id": 10510, "inner": { "function": { @@ -41825,39 +40399,30 @@ { "generic": "Self" } + ], + [ + "base", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_abs", + "name": "ilog", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41867,10 +40432,10 @@ "10511": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -41883,7 +40448,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5i64).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_abs();\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10i16.ilog10(), 1);\n```", "id": 10511, "inner": { "function": { @@ -41909,20 +40474,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_abs", + "name": "ilog10", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -41932,10 +40497,10 @@ "10512": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -41945,7 +40510,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8i64.checked_pow(2), Some(64));\nassert_eq!(i64::MAX.checked_pow(2), None);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5i16.checked_ilog(5), Some(1));\n```", "id": 10512, "inner": { "function": { @@ -41969,9 +40534,9 @@ } ], [ - "exp", + "base", { - "primitive": "u32" + "primitive": "i16" } ] ], @@ -41983,7 +40548,7 @@ "args": [ { "type": { - "primitive": "i64" + "primitive": "u32" } } ], @@ -41998,14 +40563,14 @@ } }, "links": {}, - "name": "checked_pow", + "name": "checked_ilog", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42015,23 +40580,20 @@ "10513": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8i64.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MAX.strict_pow(2);\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2i16.checked_ilog2(), Some(1));\n```", "id": 10513, "inner": { "function": { @@ -42053,30 +40615,39 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_pow", + "name": "checked_ilog2", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42086,10 +40657,10 @@ "10514": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -42099,7 +40670,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i64.checked_isqrt(), Some(3));\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10i16.checked_ilog10(), Some(1));\n```", "id": 10514, "inner": { "function": { @@ -42131,7 +40702,7 @@ "args": [ { "type": { - "primitive": "i64" + "primitive": "u32" } } ], @@ -42146,14 +40717,14 @@ } }, "links": {}, - "name": "checked_isqrt", + "name": "checked_ilog10", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42163,7 +40734,7 @@ "10515": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -42176,7 +40747,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i64.saturating_add(1), 101);\nassert_eq!(i64::MAX.saturating_add(100), i64::MAX);\nassert_eq!(i64::MIN.saturating_add(-1), i64::MIN);\n```", + "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`i16::MIN`\ncannot be represented as an\n`i16`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`i16::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10i16.abs(), 10);\nassert_eq!((-10i16).abs(), 10);\n```", "id": 10515, "inner": { "function": { @@ -42198,30 +40769,26 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, - "links": {}, - "name": "saturating_add", + "links": { + "Self::unsigned_abs": 10479 + }, + "name": "abs", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42231,10 +40798,10 @@ "10516": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" }, { "must_use": { @@ -42244,7 +40811,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1i64.saturating_add_unsigned(2), 3);\nassert_eq!(i64::MAX.saturating_add_unsigned(100), i64::MAX);\n```", + "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100i16.abs_diff(80), 20u16);\nassert_eq!(100i16.abs_diff(110), 10u16);\nassert_eq!((-100i16).abs_diff(80), 180u16);\nassert_eq!((-100i16).abs_diff(-120), 20u16);\nassert_eq!(i16::MIN.abs_diff(i16::MAX), u16::MAX);\n```", "id": 10516, "inner": { "function": { @@ -42268,28 +40835,28 @@ } ], [ - "rhs", + "other", { - "primitive": "u64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "u16" } } } }, "links": {}, - "name": "saturating_add_unsigned", + "name": "abs_diff", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42299,7 +40866,7 @@ "10517": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -42312,7 +40879,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i64.saturating_sub(127), -27);\nassert_eq!(i64::MIN.saturating_sub(100), i64::MIN);\nassert_eq!(i64::MAX.saturating_sub(-1), i64::MAX);\n```", + "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10i16.signum(), 1);\nassert_eq!(0i16.signum(), 0);\nassert_eq!((-10i16).signum(), -1);\n```", "id": 10517, "inner": { "function": { @@ -42334,30 +40901,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "saturating_sub", + "name": "signum", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42367,20 +40928,20 @@ "10518": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i64.saturating_sub_unsigned(127), -27);\nassert_eq!(i64::MIN.saturating_sub_unsigned(100), i64::MIN);\n```", + "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10i16.is_positive());\nassert!(!(-10i16).is_positive());\n```", "id": 10518, "inner": { "function": { @@ -42402,30 +40963,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "bool" } } } }, "links": {}, - "name": "saturating_sub_unsigned", + "name": "is_positive", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42435,20 +40990,20 @@ "10519": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i64.saturating_neg(), -100);\nassert_eq!((-100i64).saturating_neg(), 100);\nassert_eq!(i64::MIN.saturating_neg(), i64::MAX);\nassert_eq!(i64::MAX.saturating_neg(), i64::MIN + 1);\n```", + "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10i16).is_negative());\nassert!(!10i16.is_negative());\n```", "id": 10519, "inner": { "function": { @@ -42474,20 +41029,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "bool" } } } }, "links": {}, - "name": "saturating_neg", + "name": "is_negative", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42569,7 +41124,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -42582,10 +41137,10 @@ "10520": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -42595,7 +41150,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i64.saturating_abs(), 100);\nassert_eq!((-100i64).saturating_abs(), 100);\nassert_eq!(i64::MIN.saturating_abs(), i64::MAX);\nassert_eq!((i64::MIN + 1).saturating_abs(), i64::MAX);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234i16.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34]);\n```", "id": 10520, "inner": { "function": { @@ -42621,20 +41176,25 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "saturating_abs", + "name": "to_be_bytes", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42644,10 +41204,10 @@ "10521": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -42657,7 +41217,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10i64.saturating_mul(12), 120);\nassert_eq!(i64::MAX.saturating_mul(10), i64::MAX);\nassert_eq!(i64::MIN.saturating_mul(10), i64::MIN);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234i16.to_le_bytes();\nassert_eq!(bytes, [0x34, 0x12]);\n```", "id": 10521, "inner": { "function": { @@ -42679,30 +41239,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "saturating_mul", + "name": "to_le_bytes", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42712,10 +41271,10 @@ "10522": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -42725,7 +41284,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i64.saturating_div(2), 2);\nassert_eq!(i64::MAX.saturating_div(-1), i64::MIN + 1);\nassert_eq!(i64::MIN.saturating_div(-1), i64::MAX);\n\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234i16.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34]\n } else {\n [0x34, 0x12]\n }\n);\n```", "id": 10522, "inner": { "function": { @@ -42747,30 +41306,32 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "saturating_div", + "links": { + "Self::to_be_bytes": 10520, + "Self::to_le_bytes": 10521 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42780,20 +41341,20 @@ "10523": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4i64).saturating_pow(3), -64);\nassert_eq!(i64::MIN.saturating_pow(2), i64::MAX);\nassert_eq!(i64::MIN.saturating_pow(3), i64::MIN);\n```", + "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n\n# Examples\n\n```\nlet value = i16::from_be_bytes([0x12, 0x34]);\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_i16(input: &mut &[u8]) -> i16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i16::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10523, "inner": { "function": { @@ -42811,34 +41372,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "exp", + "bytes", { - "primitive": "u32" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "saturating_pow", + "name": "from_be_bytes", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42848,20 +41408,20 @@ "10524": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_add_unsigned(27), 127);\nassert_eq!(i64::MAX.wrapping_add_unsigned(2), i64::MIN + 1);\n```", + "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n\n# Examples\n\n```\nlet value = i16::from_le_bytes([0x34, 0x12]);\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_i16(input: &mut &[u8]) -> i16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i16::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10524, "inner": { "function": { @@ -42879,34 +41439,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "wrapping_add_unsigned", + "name": "from_le_bytes", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42916,20 +41475,20 @@ "10525": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i64.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2i64).wrapping_sub_unsigned(u64::MAX), -1);\n```", + "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = i16::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34]\n} else {\n [0x34, 0x12]\n});\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_i16(input: &mut &[u8]) -> i16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i16::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10525, "inner": { "function": { @@ -42947,34 +41506,36 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, - "links": {}, - "name": "wrapping_sub_unsigned", + "links": { + "Self::from_be_bytes": 10523, + "Self::from_le_bytes": 10524 + }, + "name": "from_ne_bytes", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -42984,20 +41545,21 @@ "10526": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[rustc_diagnostic_item = \"i16_legacy_fn_min_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`i16::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", "id": 10526, "inner": { "function": { @@ -43013,36 +41575,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i64" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, - "links": {}, - "name": "wrapping_div", + "links": { + "`i16::MIN`": 10390 + }, + "name": "min_value", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -43052,20 +41603,21 @@ "10527": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[rustc_diagnostic_item = \"i16_legacy_fn_max_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`i16::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", "id": 10527, "inner": { "function": { @@ -43081,36 +41633,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i64" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, - "links": {}, - "name": "wrapping_div_euclid", + "links": { + "`i16::MAX`": 10391 + }, + "name": "max_value", "span": { "begin": [ - 319, + 271, 5 ], "end": [ - 338, + 290, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -43120,10 +41661,19 @@ "10528": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[doc(alias = \"average_floor\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[doc(alias = \"average_ceil\")]" + }, + { + "other": "#[doc(alias = \"average\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" }, { "must_use": { @@ -43133,7 +41683,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0i16.midpoint(4), 2);\nassert_eq!((-1i16).midpoint(2), 0);\nassert_eq!((-7i16).midpoint(0), -3);\nassert_eq!(0i16.midpoint(-7), -3);\nassert_eq!(0i16.midpoint(7), 3);\n```", "id": 10528, "inner": { "function": { @@ -43159,99 +41709,208 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i16" } } } }, "links": {}, - "name": "wrapping_rem", + "name": "midpoint", "span": { "begin": [ - 319, + 291, 5 ], "end": [ - 338, - 6 + 291, + 40 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10529": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", + "docs": null, "id": 10529, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i16" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i64" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i64" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10390, + 10391, + 10392, + 10393, + 10394, + 10396, + 10397, + 10398, + 10399, + 10400, + 10401, + 10402, + 10403, + 10404, + 10405, + 10406, + 10407, + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10414, + 10416, + 10417, + 10418, + 10419, + 10420, + 10422, + 10423, + 10424, + 10425, + 10426, + 10428, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10437, + 10438, + 10439, + 10440, + 10441, + 10442, + 10443, + 10444, + 10445, + 10446, + 10447, + 10448, + 10449, + 10450, + 10451, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10460, + 10461, + 10462, + 10463, + 10464, + 10465, + 10466, + 10467, + 10468, + 10415, + 10469, + 10421, + 10470, + 10427, + 10471, + 10472, + 10473, + 10474, + 10475, + 10476, + 10477, + 10478, + 10479, + 10480, + 10481, + 10483, + 10484, + 10485, + 10487, + 10488, + 10489, + 10491, + 10490, + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10498, + 10499, + 10500, + 10501, + 10502, + 10503, + 10504, + 10505, + 10506, + 10507, + 10508, + 10509, + 10510, + 10395, + 10511, + 10512, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10521, + 10522, + 10523, + 10524, + 10525, + 10526, + 10527, + 10528 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "wrapping_rem_euclid", + "name": null, "span": { "begin": [ - 319, - 5 + 270, + 1 ], "end": [ - 338, - 6 + 270, + 9 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "1053": { "attrs": [], @@ -43329,7 +41988,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -43350,7 +42009,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -43371,7 +42030,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -43384,20 +42043,15 @@ "10530": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_neg(), -100);\nassert_eq!((-100i64).wrapping_neg(), 100);\nassert_eq!(i64::MIN.wrapping_neg(), i64::MIN);\n```", + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(i16::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(i16::from_str_radix(\"1 \", 10).is_err());\n```", "id": 10530, "inner": { "function": { @@ -43415,29 +42069,65 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ], + [ + "radix", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "wrapping_neg", + "name": "from_str_radix", "span": { "begin": [ - 319, - 5 + 1666, + 1 ], "end": [ - 338, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -43446,20 +42136,12 @@ "10531": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1i64).wrapping_shl(7), -128);\nassert_eq!((-1i64).wrapping_shl(128), -1);\n```", + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i16::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i16::from_ascii(b\"1 \").is_err());\n```", "id": 10531, "inner": { "function": { @@ -43477,37 +42159,61 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "src", { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, - "links": { - "Self::rotate_left": 10464 - }, - "name": "wrapping_shl", + "links": {}, + "name": "from_ascii", "span": { "begin": [ - 319, - 5 + 1666, + 1 ], "end": [ - 338, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -43516,20 +42222,12 @@ "10532": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128i64).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i16::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i16::from_ascii_radix(b\"1 \", 10).is_err());\n```", "id": 10532, "inner": { "function": { @@ -43547,13 +42245,21 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ], [ - "rhs", + "radix", { "primitive": "u32" } @@ -43561,107 +42267,102 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, - "links": { - "Self::rotate_right": 10465 - }, - "name": "wrapping_shr", + "links": {}, + "name": "from_ascii_radix", "span": { "begin": [ - 319, - 5 + 1666, + 1 ], "end": [ - 338, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10533": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_abs(), 100);\nassert_eq!((-100i64).wrapping_abs(), 100);\nassert_eq!(i64::MIN.wrapping_abs(), i64::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", + "docs": null, "id": 10533, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i16" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i64" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10530, + 10531, + 10532 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "wrapping_abs", + "name": null, "span": { "begin": [ - 319, - 5 + 1666, + 1 ], "end": [ - 338, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "10534": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100i64.unsigned_abs(), 100u64);\nassert_eq!((-100i64).unsigned_abs(), 100u64);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0i16;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32i16;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = i16 :: MAX;\nassert_eq!(n2.format_into(&mut buf), i16 :: MAX.to_string());\n```", "id": 10534, "inner": { "function": { @@ -43673,7 +42374,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -43683,167 +42384,133 @@ { "generic": "Self" } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 10387, + "path": "NumBuffer" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, - "links": {}, - "name": "unsigned_abs", + "links": { + "`NumBuffer`": 10387 + }, + "name": "format_into", "span": { "begin": [ - 319, + 599, 5 ], "end": [ - 338, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "public" }, "10535": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3i64.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", + "docs": null, "id": 10535, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i16" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "exp", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i64" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10534 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "wrapping_pow", + "name": null, "span": { "begin": [ - 319, + 599, 5 ], "end": [ - 338, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, - "visibility": "public" + "visibility": "default" }, "10536": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_add(2), (7, false));\nassert_eq!(i64::MAX.overflowing_add(1), (i64::MIN, true));\n```", + "docs": "The smallest value that can be represented by this integer type\n(−231).\n\n# Examples\n\n```\nassert_eq!(i32::MIN, -2147483648);\n```", "id": 10536, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i64" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "_" } }, "links": {}, - "name": "overflowing_add", + "name": "MIN", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -43853,80 +42520,30 @@ "10537": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 64-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 3 MAX (a = 3 × 2^64 + 2^64 - 1)\n// + 5 7 (b = 5 × 2^64 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^64 + 6)\n\nlet (a1, a0): (u64, u64) = (3, u64::MAX);\nlet (b1, b0): (u64, u64) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", + "docs": "The largest value that can be represented by this integer type\n(231 − 1).\n\n# Examples\n\n```\nassert_eq!(i32::MAX, 2147483647);\n```", "id": 10537, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u64" - } - ], - [ - "carry", - { - "primitive": "bool" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "_" } }, - "links": { - "Self::overflowing_add": 11237 - }, - "name": "carrying_add", + "links": {}, + "name": "MAX", "span": { "begin": [ - 1151, + 295, 5 ], "end": [ - 1169, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -43936,78 +42553,30 @@ "10538": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`u64::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^64 + 2^64 - 1)\n// + -5 9 (b = -5 × 2^64 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^64 + 8)\n\nlet (a1, a0): (i64, u64) = (10, u64::MAX);\nlet (b1, b0): (i64, u64) = (-5, 9);\nlet carry0 = false;\n\n// u64::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// i64::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(i32::BITS, 32);\n```", "id": 10538, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i64" - } - ], - [ - "carry", - { - "primitive": "bool" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "u32::BITS" } }, - "links": { - "Self::overflowing_add": 10536, - "`u64::carrying_add`": 10537 - }, - "name": "carrying_add", + "links": {}, + "name": "BITS", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44017,10 +42586,16 @@ "10539": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[doc(alias = \"popcount\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -44030,7 +42605,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i64.overflowing_add_unsigned(2), (3, false));\nassert_eq!((i64::MIN).overflowing_add_unsigned(u64::MAX), (i64::MAX, false));\nassert_eq!((i64::MAX - 2).overflowing_add_unsigned(3), (i64::MIN, true));\n```", + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000i32;\n\nassert_eq!(n.count_ones(), 1);\n```\n", "id": 10539, "inner": { "function": { @@ -44052,37 +42627,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_add_unsigned", + "name": "count_ones", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44167,7 +42729,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -44183,7 +42745,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -44192,12 +42754,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -44209,7 +42771,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -44219,7 +42781,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_sub(2), (3, false));\nassert_eq!(i64::MIN.overflowing_sub(1), (i64::MAX, true));\n```", + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(i32::MAX.count_zeros(), 1);\n```", "id": 10540, "inner": { "function": { @@ -44241,37 +42803,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_sub", + "name": "count_zeros", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44281,20 +42830,23 @@ "10541": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 9 6 (a = 9 × 2^64 + 6)\n// - 5 7 (b = 5 × 2^64 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (u64, u64) = (9, 6);\nlet (b1, b0): (u64, u64) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, u64::MAX));\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2i32.ilog2(), 1);\n```", "id": 10541, "inner": { "function": { @@ -44316,43 +42868,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } - ], - [ - "borrow", - { - "primitive": "bool" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "borrowing_sub", + "name": "ilog2", "span": { "begin": [ - 1151, + 295, 5 ], "end": [ - 1169, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44362,7 +42895,10 @@ "10542": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -44372,7 +42908,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`u64::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^64 + 8)\n// - -5 9 (b = -5 × 2^64 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (i64, u64) = (6, 8);\nlet (b1, b0): (i64, u64) = (-5, 9);\nlet borrow0 = false;\n\n// u64::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// i64::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, u64::MAX));\n```", + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1i32;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: i32::ilog2", "id": 10542, "inner": { "function": { @@ -44394,46 +42930,26 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } - ], - [ - "borrow", - { - "primitive": "bool" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": { - "Self::overflowing_sub": 10540, - "`u64::borrowing_sub`": 10541 + "i32::ilog2": 10541 }, - "name": "borrowing_sub", + "name": "leading_zeros", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44443,10 +42959,10 @@ "10543": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -44456,7 +42972,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i64.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((i64::MAX).overflowing_sub_unsigned(u64::MAX), (i64::MIN, false));\nassert_eq!((i64::MIN + 2).overflowing_sub_unsigned(3), (i64::MAX, true));\n```", + "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4i32;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", "id": 10543, "inner": { "function": { @@ -44478,37 +42994,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_sub_unsigned", + "name": "trailing_zeros", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44518,10 +43021,10 @@ "10544": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -44531,7 +43034,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1i32;\n\nassert_eq!(n.leading_ones(), 32);\n```", "id": 10544, "inner": { "function": { @@ -44553,37 +43056,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_mul", + "name": "leading_ones", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44593,10 +43083,10 @@ "10545": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -44606,7 +43096,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(i64::MAX.carrying_mul(i64::MAX, i64::MAX), (i64::MAX.unsigned_abs() + 1, i64::MAX / 2));\n```", + "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3i32;\n\nassert_eq!(n.trailing_ones(), 2);\n```", "id": 10545, "inner": { "function": { @@ -44628,45 +43118,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } - ], - [ - "carry", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "i64" - } - ] + "primitive": "u32" } } } }, - "links": { - "`Self::widening_mul`": 10546 - }, - "name": "carrying_mul", + "links": {}, + "name": "trailing_ones", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44676,10 +43145,7 @@ "10546": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { @@ -44689,7 +43155,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i32 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_i32.isolate_highest_one(), 0);\n```", "id": 10546, "inner": { "function": { @@ -44711,39 +43177,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "i64" - } - ] + "primitive": "i32" } } } }, - "links": { - "`Self::carrying_mul`": 10545 - }, - "name": "widening_mul", + "links": {}, + "name": "isolate_highest_one", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44753,10 +43204,7 @@ "10547": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { @@ -44766,7 +43214,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(i64::MAX.carrying_mul_add(i64::MAX, i64::MAX, i64::MAX), (u64::MAX, i64::MAX / 2));\n```", + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i32 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_i32.isolate_lowest_one(), 0);\n```", "id": 10547, "inner": { "function": { @@ -44788,52 +43236,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } - ], - [ - "carry", - { - "primitive": "i64" - } - ], - [ - "add", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "i64" - } - ] + "primitive": "i32" } } } }, - "links": { - "`Self::carrying_mul`": 10545, - "`Self::widening_mul`": 10546 - }, - "name": "carrying_mul_add", + "links": {}, + "name": "isolate_lowest_one", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44843,10 +43263,7 @@ "10548": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -44856,7 +43273,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_div(2), (2, false));\nassert_eq!(i64::MIN.overflowing_div(-1), (i64::MIN, true));\n```", + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i32.highest_one(), None);\nassert_eq!(0x1_i32.highest_one(), Some(0));\nassert_eq!(0x10_i32.highest_one(), Some(4));\nassert_eq!(0x1f_i32.highest_one(), Some(4));\n```", "id": 10548, "inner": { "function": { @@ -44878,37 +43295,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_div", + "name": "highest_one", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -44918,10 +43337,7 @@ "10549": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -44931,7 +43347,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_div_euclid(2), (2, false));\nassert_eq!(i64::MIN.overflowing_div_euclid(-1), (i64::MIN, true));\n```", + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i32.lowest_one(), None);\nassert_eq!(0x1_i32.lowest_one(), Some(0));\nassert_eq!(0x10_i32.lowest_one(), Some(4));\nassert_eq!(0x1f_i32.lowest_one(), Some(0));\n```", "id": 10549, "inner": { "function": { @@ -44953,37 +43369,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_div_euclid", + "name": "lowest_one", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45068,7 +43486,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -45084,7 +43502,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -45093,12 +43511,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -45107,10 +43525,10 @@ "10550": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" }, { "must_use": { @@ -45120,7 +43538,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_rem(2), (1, false));\nassert_eq!(i64::MIN.overflowing_rem(-1), (0, true));\n```", + "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1i32;\n\nassert_eq!(n.cast_unsigned(), u32::MAX);\n```", "id": 10550, "inner": { "function": { @@ -45142,37 +43560,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_rem", + "name": "cast_unsigned", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45182,23 +43587,20 @@ "10551": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_rem_euclid(2), (1, false));\nassert_eq!(i64::MIN.overflowing_rem_euclid(-1), (0, true));\n```", + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0x10000b3i32;\nlet m = 0xb301;\n\nassert_eq!(n.rotate_left(8), m);\n```", "id": 10551, "inner": { "function": { @@ -45222,35 +43624,28 @@ } ], [ - "rhs", + "n", { - "primitive": "i64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "i32" } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "rotate_left", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45263,7 +43658,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -45273,7 +43668,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2i64.overflowing_neg(), (-2, false));\nassert_eq!(i64::MIN.overflowing_neg(), (i64::MIN, true));\n```", + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0xb301i32;\nlet m = 0x10000b3;\n\nassert_eq!(n.rotate_right(8), m);\n```", "id": 10552, "inner": { "function": { @@ -45295,31 +43690,30 @@ { "generic": "Self" } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "i32" } } } }, "links": {}, - "name": "overflowing_neg", + "name": "rotate_right", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45332,7 +43726,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -45342,7 +43736,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1i64.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10i64.overflowing_shl(63), (0, false));\n```", + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12345678i32;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x78563412);\n```", "id": 10553, "inner": { "function": { @@ -45364,37 +43758,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "i32" } } } }, "links": {}, - "name": "overflowing_shl", + "name": "swap_bytes", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45404,10 +43785,10 @@ "10554": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" }, { "must_use": { @@ -45417,7 +43798,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10i64.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12345678i32;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x1e6a2c48);\nassert_eq!(0, 0i32.reverse_bits());\n```", "id": 10554, "inner": { "function": { @@ -45439,37 +43820,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "i32" } } } }, "links": {}, - "name": "overflowing_shr", + "name": "reverse_bits", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45479,20 +43847,20 @@ "10555": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., i64::MIN for values of type i64),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10i64.overflowing_abs(), (10, false));\nassert_eq!((-10i64).overflowing_abs(), (10, false));\nassert_eq!((i64::MIN).overflowing_abs(), (i64::MIN, true));\n```", + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai32;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(i32::from_be(n), n)\n} else {\n assert_eq!(i32::from_be(n), n.swap_bytes())\n}\n```", "id": 10555, "inner": { "function": { @@ -45510,35 +43878,28 @@ "sig": { "inputs": [ [ - "self", + "x", { - "generic": "Self" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "i32" } } } }, "links": {}, - "name": "overflowing_abs", + "name": "from_be", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45548,20 +43909,20 @@ "10556": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3i64.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai32;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(i32::from_le(n), n)\n} else {\n assert_eq!(i32::from_le(n), n.swap_bytes())\n}\n```", "id": 10556, "inner": { "function": { @@ -45579,41 +43940,28 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "exp", + "x", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i64" - }, - { - "primitive": "bool" - } - ] + "primitive": "i32" } } } }, "links": {}, - "name": "overflowing_pow", + "name": "from_le", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45623,7 +43971,7 @@ "10557": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -45636,7 +43984,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: i64 = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai32;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", "id": 10557, "inner": { "function": { @@ -45658,30 +44006,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, "links": {}, - "name": "pow", + "name": "to_be", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45691,23 +44033,20 @@ "10558": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i64.isqrt(), 3);\n```", + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai32;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", "id": 10558, "inner": { "function": { @@ -45733,20 +44072,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, "links": {}, - "name": "isqrt", + "name": "to_le", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45756,23 +44095,20 @@ "10559": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i64 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((i32::MAX - 2).checked_add(1), Some(i32::MAX - 1));\nassert_eq!((i32::MAX - 2).checked_add(3), None);\n```", "id": 10559, "inner": { "function": { @@ -45798,26 +44134,41 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "div_euclid", + "name": "checked_add", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -45923,7 +44274,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -45948,11 +44299,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -45962,13 +44313,10 @@ "10560": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -45981,7 +44329,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i64 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = i64::MIN.rem_euclid(-1);\n```", + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i32::MAX - 2).strict_add(1), i32::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i32::MAX - 2).strict_add(3);\n```", "id": 10560, "inner": { "function": { @@ -46007,26 +44355,26 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, "links": {}, - "name": "rem_euclid", + "name": "strict_add", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46036,20 +44384,20 @@ "10561": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i64 = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", + "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_add(27), 127);\nassert_eq!(i32::MAX.wrapping_add(2), i32::MIN + 1);\n```", "id": 10561, "inner": { "function": { @@ -46075,26 +44423,26 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, "links": {}, - "name": "div_floor", + "name": "wrapping_add", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46104,7 +44452,10 @@ "10562": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { @@ -46117,7 +44468,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i64 = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > i32::MAX` or `self + rhs < i32::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: i32::checked_add\n[`wrapping_add`]: i32::wrapping_add", "id": 10562, "inner": { "function": { @@ -46130,7 +44481,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -46143,26 +44494,29 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, - "links": {}, - "name": "div_ceil", + "links": { + "i32::checked_add": 10559, + "i32::wrapping_add": 10561 + }, + "name": "unchecked_add", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46172,7 +44526,10 @@ "10563": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -46182,7 +44539,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i64.next_multiple_of(8), 16);\nassert_eq!(23_i64.next_multiple_of(8), 24);\nassert_eq!(16_i64.next_multiple_of(-8), 16);\nassert_eq!(23_i64.next_multiple_of(-8), 16);\nassert_eq!((-16_i64).next_multiple_of(8), -16);\nassert_eq!((-23_i64).next_multiple_of(8), -16);\nassert_eq!((-16_i64).next_multiple_of(-8), -16);\nassert_eq!((-23_i64).next_multiple_of(-8), -24);\n```", + "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i32.checked_add_unsigned(2), Some(3));\nassert_eq!((i32::MAX - 2).checked_add_unsigned(3), None);\n```", "id": 10563, "inner": { "function": { @@ -46208,26 +44565,41 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "next_multiple_of", + "name": "checked_add_unsigned", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46237,17 +44609,23 @@ "10564": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i64.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_i64.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_i64.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_i64.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_i64).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_i64).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_i64).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_i64).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_i64.checked_next_multiple_of(0), None);\nassert_eq!(i64::MAX.checked_next_multiple_of(2), None);\n```", + "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i32.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i32::MAX - 2).strict_add_unsigned(3);\n```", "id": 10564, "inner": { "function": { @@ -46273,41 +44651,26 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "checked_next_multiple_of", + "name": "strict_add_unsigned", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46317,23 +44680,20 @@ "10565": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5i64.ilog(5), 1);\n```", + "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 2).checked_sub(1), Some(i32::MIN + 1));\nassert_eq!((i32::MIN + 2).checked_sub(3), None);\n```", "id": 10565, "inner": { "function": { @@ -46357,28 +44717,43 @@ } ], [ - "base", + "rhs", { - "primitive": "i64" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "ilog", + "name": "checked_sub", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46388,10 +44763,10 @@ "10566": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -46404,7 +44779,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10i64.ilog10(), 1);\n```", + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 2).strict_sub(1), i32::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i32::MIN + 2).strict_sub(3);\n```", "id": 10566, "inner": { "function": { @@ -46426,24 +44801,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i32" } } } }, "links": {}, - "name": "ilog10", + "name": "strict_sub", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46453,10 +44834,10 @@ "10567": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -46466,7 +44847,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5i64.checked_ilog(5), Some(1));\n```", + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i32.wrapping_sub(127), -127);\nassert_eq!((-2i32).wrapping_sub(i32::MAX), i32::MAX);\n```", "id": 10567, "inner": { "function": { @@ -46490,43 +44871,28 @@ } ], [ - "base", + "rhs", { - "primitive": "i64" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "checked_ilog", + "name": "wrapping_sub", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46536,20 +44902,23 @@ "10568": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2i64.checked_ilog2(), Some(1));\n```", + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > i32::MAX` or `self - rhs < i32::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: i32::checked_sub\n[`wrapping_sub`]: i32::wrapping_sub", "id": 10568, "inner": { "function": { @@ -46562,7 +44931,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -46571,39 +44940,33 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, - "links": {}, - "name": "checked_ilog2", + "links": { + "i32::checked_sub": 10565, + "i32::wrapping_sub": 10567 + }, + "name": "unchecked_sub", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46613,10 +44976,10 @@ "10569": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -46626,7 +44989,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10i64.checked_ilog10(), Some(1));\n```", + "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i32.checked_sub_unsigned(2), Some(-1));\nassert_eq!((i32::MIN + 2).checked_sub_unsigned(3), None);\n```", "id": 10569, "inner": { "function": { @@ -46648,6 +45011,12 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, @@ -46658,7 +45027,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "i32" } } ], @@ -46673,14 +45042,14 @@ } }, "links": {}, - "name": "checked_ilog10", + "name": "checked_sub_unsigned", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46743,7 +45112,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -46768,11 +45137,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -46782,20 +45151,23 @@ "10570": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`i64::MIN`\ncannot be represented as an\n`i64`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`i64::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10i64.abs(), 10);\nassert_eq!((-10i64).abs(), 10);\n```", + "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i32.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i32::MIN + 2).strict_sub_unsigned(3);\n```", "id": 10570, "inner": { "function": { @@ -46817,26 +45189,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, - "links": { - "Self::unsigned_abs": 10534 - }, - "name": "abs", + "links": {}, + "name": "strict_sub_unsigned", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46846,10 +45222,10 @@ "10571": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -46859,7 +45235,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100i64.abs_diff(80), 20u64);\nassert_eq!(100i64.abs_diff(110), 10u64);\nassert_eq!((-100i64).abs_diff(80), 180u64);\nassert_eq!((-100i64).abs_diff(-120), 20u64);\nassert_eq!(i64::MIN.abs_diff(i64::MAX), u64::MAX);\n```", + "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(i32::MAX.checked_mul(1), Some(i32::MAX));\nassert_eq!(i32::MAX.checked_mul(2), None);\n```", "id": 10571, "inner": { "function": { @@ -46883,28 +45259,43 @@ } ], [ - "other", + "rhs", { - "primitive": "i64" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "abs_diff", + "name": "checked_mul", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46914,20 +45305,23 @@ "10572": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10i64.signum(), 1);\nassert_eq!(0i64.signum(), 0);\nassert_eq!((-10i64).signum(), -1);\n```", + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(i32::MAX.strict_mul(1), i32::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = i32::MAX.strict_mul(2);\n```", "id": 10572, "inner": { "function": { @@ -46949,24 +45343,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, "links": {}, - "name": "signum", + "name": "strict_mul", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -46983,13 +45383,13 @@ }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10i64.is_positive());\nassert!(!(-10i64).is_positive());\n```", + "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10i32.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", "id": 10573, "inner": { "function": { @@ -47011,24 +45411,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i32" } } } }, "links": {}, - "name": "is_positive", + "name": "wrapping_mul", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -47038,20 +45444,23 @@ "10574": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10i64).is_negative());\nassert!(!10i64.is_negative());\n```", + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > i32::MAX` or `self * rhs < i32::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: i32::checked_mul\n[`wrapping_mul`]: i32::wrapping_mul", "id": 10574, "inner": { "function": { @@ -47064,7 +45473,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -47073,24 +45482,33 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i32" } } } }, - "links": {}, - "name": "is_negative", + "links": { + "i32::checked_mul": 10571, + "i32::wrapping_mul": 10573 + }, + "name": "unchecked_mul", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -47100,10 +45518,10 @@ "10575": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -47113,7 +45531,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456i64.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\n```", + "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 1).checked_div(-1), Some(2147483647));\nassert_eq!(i32::MIN.checked_div(-1), None);\nassert_eq!((1i32).checked_div(0), None);\n```", "id": 10575, "inner": { "function": { @@ -47135,29 +45553,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "to_be_bytes", + "name": "checked_div", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -47167,20 +45601,23 @@ "10576": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456i64.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", + "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 1).strict_div(-1), 2147483647);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i32).strict_div(0);\n```", "id": 10576, "inner": { "function": { @@ -47202,29 +45639,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "primitive": "i32" } } } }, "links": {}, - "name": "to_le_bytes", + "name": "strict_div", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -47234,10 +45672,10 @@ "10577": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -47247,7 +45685,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456i64.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n } else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 1).checked_div_euclid(-1), Some(2147483647));\nassert_eq!(i32::MIN.checked_div_euclid(-1), None);\nassert_eq!((1i32).checked_div_euclid(0), None);\n```", "id": 10577, "inner": { "function": { @@ -47269,32 +45707,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": { - "Self::to_be_bytes": 10575, - "Self::to_le_bytes": 10576 - }, - "name": "to_ne_bytes", + "links": {}, + "name": "checked_div_euclid", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -47304,20 +45755,23 @@ "10578": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n\n# Examples\n\n```\nlet value = i64::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_i64(input: &mut &[u8]) -> i64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i64::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i32::MIN + 1).strict_div_euclid(-1), 2147483647);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i32).strict_div_euclid(0);\n```", "id": 10578, "inner": { "function": { @@ -47335,33 +45789,34 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, "links": {}, - "name": "from_be_bytes", + "name": "strict_div_euclid", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -47371,20 +45826,17 @@ "10579": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n\n# Examples\n\n```\nlet value = i64::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_i64(input: &mut &[u8]) -> i64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i64::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((i32::MIN + 1).checked_exact_div(-1), Some(2147483647));\nassert_eq!((-5i32).checked_exact_div(2), None);\nassert_eq!(i32::MIN.checked_exact_div(-1), None);\nassert_eq!((1i32).checked_exact_div(0), None);\n```", "id": 10579, "inner": { "function": { @@ -47402,33 +45854,49 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "from_le_bytes", + "name": "checked_exact_div", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -47516,7 +45984,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -47534,8 +46002,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -47551,7 +46019,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -47560,11 +46028,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -47574,20 +46042,17 @@ "10580": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = i64::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_i64(input: &mut &[u8]) -> i64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i64::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64i32.exact_div(2), 32);\nassert_eq!(64i32.exact_div(32), 2);\nassert_eq!((i32::MIN + 1).exact_div(-1), 2147483647);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65i32.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = i32::MIN.exact_div(-1);\n```", "id": 10580, "inner": { "function": { @@ -47605,36 +46070,34 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, - "links": { - "Self::from_be_bytes": 10578, - "Self::from_le_bytes": 10579 - }, - "name": "from_ne_bytes", + "links": {}, + "name": "exact_div", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -47644,21 +46107,17 @@ "10581": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"i64_legacy_fn_min_value\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`i64::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == i32::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", "id": 10581, "inner": { "function": { @@ -47671,28 +46130,41 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i32" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, "links": { - "`i64::MIN`": 10449 + "Self::checked_exact_div": 10579 }, - "name": "min_value", + "name": "unchecked_exact_div", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -47702,21 +46174,20 @@ "10582": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"i64_legacy_fn_max_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`i64::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i32.checked_rem(2), Some(1));\nassert_eq!(5i32.checked_rem(0), None);\nassert_eq!(i32::MIN.checked_rem(-1), None);\n```", "id": 10582, "inner": { "function": { @@ -47732,25 +46203,51 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i32" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "i64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "`i64::MAX`": 10450 - }, - "name": "max_value", + "links": {}, + "name": "checked_rem", "span": { "begin": [ - 319, + 295, 5 ], "end": [ - 338, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -47760,29 +46257,23 @@ "10583": { "attrs": [ { - "other": "#[doc(alias = \"average_floor\")]" - }, - { - "other": "#[doc(alias = \"average_ceil\")]" - }, - { - "other": "#[doc(alias = \"average\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0i64.midpoint(4), 2);\nassert_eq!((-1i64).midpoint(2), 0);\nassert_eq!((-7i64).midpoint(0), -3);\nassert_eq!(0i64.midpoint(-7), -3);\nassert_eq!(0i64.midpoint(7), 3);\n```", + "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i32.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i32.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_rem(-1);\n```", "id": 10583, "inner": { "function": { @@ -47808,217 +46299,135 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "i32" } } } }, "links": {}, - "name": "midpoint", + "name": "strict_rem", "span": { "begin": [ - 339, + 295, 5 ], "end": [ - 339, - 35 + 314, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10584": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i32.checked_rem_euclid(2), Some(1));\nassert_eq!(5i32.checked_rem_euclid(0), None);\nassert_eq!(i32::MIN.checked_rem_euclid(-1), None);\n```", "id": 10584, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i64" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10449, - 10450, - 10451, - 10452, - 10453, - 10455, - 10456, - 10457, - 10458, - 10459, - 10460, - 10461, - 10462, - 10463, - 10464, - 10465, - 10466, - 10467, - 10468, - 10469, - 10470, - 10471, - 10472, - 10473, - 10475, - 10476, - 10477, - 10478, - 10479, - 10481, - 10482, - 10483, - 10484, - 10485, - 10487, - 10488, - 10489, - 10490, - 10491, - 10492, - 10493, - 10494, - 10495, - 10496, - 10497, - 10498, - 10499, - 10500, - 10501, - 10502, - 10503, - 10504, - 10505, - 10506, - 10507, - 10508, - 10509, - 10510, - 10511, - 10512, - 10513, - 10514, - 10515, - 10516, - 10517, - 10518, - 10519, - 10520, - 10521, - 10522, - 10523, - 10474, - 10524, - 10480, - 10525, - 10486, - 10526, - 10527, - 10528, - 10529, - 10530, - 10531, - 10532, - 10533, - 10534, - 10535, - 10536, - 10538, - 10539, - 10540, - 10542, - 10543, - 10544, - 10546, - 10545, - 10547, - 10548, - 10549, - 10550, - 10551, - 10552, - 10553, - 10554, - 10555, - 10556, - 10557, - 10558, - 10559, - 10560, - 10561, - 10562, - 10563, - 10564, - 10565, - 10454, - 10566, - 10567, - 10568, - 10569, - 10570, - 10571, - 10572, - 10573, - 10574, - 10575, - 10576, - 10577, - 10578, - 10579, - 10580, - 10581, - 10582, - 10583 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": null, + "name": "checked_rem_euclid", "span": { "begin": [ - 318, - 1 + 295, + 5 ], "end": [ - 318, - 9 + 314, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10585": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(i64::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(i64::from_str_radix(\"1 \", 10).is_err());\n```", + "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i32.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i32.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_rem_euclid(-1);\n```", "id": 10585, "inner": { "function": { @@ -48036,65 +46445,35 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "generic": "Self" } ], [ - "radix", + "rhs", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "i32" } } } }, "links": {}, - "name": "from_str_radix", + "name": "strict_rem_euclid", "span": { "begin": [ - 1630, - 1 + 295, + 5 ], "end": [ - 1630, - 56 + 314, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -48103,12 +46482,20 @@ "10586": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i64::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i64::from_ascii(b\"1 \").is_err());\n```", + "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5i32.checked_neg(), Some(-5));\nassert_eq!(i32::MIN.checked_neg(), None);\n```", "id": 10586, "inner": { "function": { @@ -48126,17 +46513,9 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "Self" } ] ], @@ -48148,39 +46527,30 @@ "args": [ { "type": { - "primitive": "i64" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } + "primitive": "i32" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "from_ascii", + "name": "checked_neg", "span": { "begin": [ - 1630, - 1 + 295, + 5 ], "end": [ - 1630, - 56 + 314, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -48189,12 +46559,20 @@ "10587": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i64::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i64::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == i32::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: i32::checked_neg", "id": 10587, "inner": { "function": { @@ -48207,129 +46585,123 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ], - [ - "radix", + "self", { - "primitive": "u32" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "i32" } } } }, - "links": {}, - "name": "from_ascii_radix", + "links": { + "i32::checked_neg": 10586 + }, + "name": "unchecked_neg", "span": { "begin": [ - 1630, - 1 + 295, + 5 ], "end": [ - 1630, - 56 + 314, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10588": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5i32.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_neg();\n```", "id": 10588, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i64" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10585, - 10586, - 10587 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i32" + } + } } }, "links": {}, - "name": null, + "name": "strict_neg", "span": { "begin": [ - 1630, - 1 + 295, + 5 ], "end": [ - 1630, - 56 + 314, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10589": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0i64;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32i64;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = i64 :: MAX;\nassert_eq!(n2.format_into(&mut buf), i64 :: MAX.to_string());\n```", + "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1i32.checked_shl(4), Some(0x10));\nassert_eq!(0x1i32.checked_shl(129), None);\nassert_eq!(0x10i32.checked_shl(31), Some(0));\n```", "id": 10589, "inner": { "function": { @@ -48341,7 +46713,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -48353,60 +46725,46 @@ } ], [ - "buf", + "rhs", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } - }, - "id": 10162, - "path": "NumBuffer" - } - } - } + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": { - "`NumBuffer`": 10162 - }, - "name": "format_into", + "links": {}, + "name": "checked_shl", "span": { "begin": [ - 562, + 295, 5 ], "end": [ - 562, - 95 + 314, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, @@ -48509,8 +46867,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -48526,7 +46884,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -48535,11 +46893,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -48547,73 +46905,140 @@ "visibility": "default" }, "10590": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1i32.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1i32.strict_shl(129);\n```", "id": 10590, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i64" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10589 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i32" + } + } } }, "links": {}, - "name": null, + "name": "strict_shl", "span": { "begin": [ - 562, + 295, 5 ], "end": [ - 562, - 95 + 314, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10591": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "The smallest value that can be represented by this integer type\n(−2127).\n\n# Examples\n\n```\nassert_eq!(i128::MIN, -170141183460469231731687303715884105728);\n```", + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: i32::checked_shl", "id": 10591, "inner": { - "assoc_const": { - "type": { - "primitive": "i128" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i32" + } + } } }, - "links": {}, - "name": "MIN", + "links": { + "i32::checked_shl": 10589 + }, + "name": "unchecked_shl", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -48623,30 +47048,65 @@ "10592": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(2127 − 1).\n\n# Examples\n\n```\nassert_eq!(i128::MAX, 170141183460469231731687303715884105727);\n```", + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1i32.unbounded_shl(4), 0x10);\nassert_eq!(0x1i32.unbounded_shl(129), 0);\n```", "id": 10592, "inner": { - "assoc_const": { - "type": { - "primitive": "i128" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i32" + } + } } }, "links": {}, - "name": "MAX", + "name": "unbounded_shl", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -48656,30 +47116,77 @@ "10593": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(i128::BITS, 128);\n```", + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any bits that would be shifted out differ from the resulting sign bit\nor if `rhs` >=\n`i32::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1i32.exact_shl(4), Some(0x10));\nassert_eq!(0x1i32.exact_shl(i32::BITS - 2), Some(1 << i32::BITS - 2));\nassert_eq!(0x1i32.exact_shl(i32::BITS - 1), None);\nassert_eq!((-0x2i32).exact_shl(i32::BITS - 2), Some(-0x2 << i32::BITS - 2));\nassert_eq!((-0x2i32).exact_shl(i32::BITS - 1), None);\n```", "id": 10593, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "u128::BITS" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": "BITS", + "name": "exact_shl", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -48689,16 +47196,7 @@ "10594": { "attrs": [ { - "other": "#[doc(alias = \"popcount\")]" - }, - { - "other": "#[doc(alias = \"popcnt\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -48708,7 +47206,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000i128;\n\nassert_eq!(n.count_ones(), 1);\n```\n", + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`i32::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs >= self.leading_zeros() && rhs >=\nself.leading_ones()` i.e. when\n[`i32::exact_shl`]\nwould return `None`.", "id": 10594, "inner": { "function": { @@ -48721,7 +47219,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -48730,24 +47228,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i32" } } } }, - "links": {}, - "name": "count_ones", + "links": { + "`i32::exact_shl`": 10593 + }, + "name": "unchecked_exact_shl", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -48757,10 +47263,10 @@ "10595": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -48770,7 +47276,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(i128::MAX.count_zeros(), 1);\n```", + "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10i32.checked_shr(4), Some(0x1));\nassert_eq!(0x10i32.checked_shr(128), None);\n```", "id": 10595, "inner": { "function": { @@ -48792,24 +47298,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "count_zeros", + "name": "checked_shr", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -48819,10 +47346,10 @@ "10596": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -48835,7 +47362,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2i128.ilog2(), 1);\n```", + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10i32.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10i32.strict_shr(128);\n```", "id": 10596, "inner": { "function": { @@ -48857,24 +47384,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i32" } } } }, "links": {}, - "name": "ilog2", + "name": "strict_shr", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -48884,20 +47417,20 @@ "10597": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1i128;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: i128::ilog2", + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: i32::checked_shr", "id": 10597, "inner": { "function": { @@ -48910,7 +47443,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -48919,26 +47452,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i32" } } } }, "links": { - "i128::ilog2": 10596 + "i32::checked_shr": 10595 }, - "name": "leading_zeros", + "name": "unchecked_shr", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -48948,10 +47487,10 @@ "10598": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { @@ -48961,7 +47500,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4i128;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10i32.unbounded_shr(4), 0x1);\nassert_eq!(0x10i32.unbounded_shr(129), 0);\nassert_eq!(i32::MIN.unbounded_shr(129), -1);\n```", "id": 10598, "inner": { "function": { @@ -48983,24 +47522,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i32" } } } }, "links": {}, - "name": "trailing_zeros", + "name": "unbounded_shr", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49010,10 +47555,7 @@ "10599": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -49023,7 +47565,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1i128;\n\nassert_eq!(n.leading_ones(), 128);\n```", + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`i32::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10i32.exact_shr(4), Some(0x1));\nassert_eq!(0x10i32.exact_shr(5), None);\n```", "id": 10599, "inner": { "function": { @@ -49045,24 +47587,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "leading_ones", + "name": "exact_shr", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49086,8 +47649,8 @@ "use": { "id": 107, "is_glob": false, - "name": "Debug", - "source": "core::prelude::v1::Debug" + "name": "Default", + "source": "core::prelude::v1::Default" } }, "links": {}, @@ -49095,11 +47658,11 @@ "span": { "begin": [ 52, - 43 + 50 ], "end": [ 52, - 48 + 57 ], "filename": "std/src/prelude/v1.rs" }, @@ -49186,12 +47749,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -49214,10 +47777,7 @@ "10600": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -49227,7 +47787,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3i128;\n\nassert_eq!(n.trailing_ones(), 2);\n```", + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`i32::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\ni32::BITS`\ni.e. when\n[`i32::exact_shr`]\nwould return `None`.", "id": 10600, "inner": { "function": { @@ -49240,7 +47800,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -49249,24 +47809,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i32" } } } }, - "links": {}, - "name": "trailing_ones", + "links": { + "`i32::exact_shr`": 10599 + }, + "name": "unchecked_exact_shr", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49276,7 +47844,10 @@ "10601": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { @@ -49286,7 +47857,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i128 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_i128.isolate_highest_one(), 0);\n```", + "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5i32).checked_abs(), Some(5));\nassert_eq!(i32::MIN.checked_abs(), None);\n```", "id": 10601, "inner": { "function": { @@ -49312,20 +47883,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "isolate_highest_one", + "name": "checked_abs", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49335,17 +47921,23 @@ "10602": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i128 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_i128.isolate_lowest_one(), 0);\n```", + "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5i32).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MIN.strict_abs();\n```", "id": 10602, "inner": { "function": { @@ -49371,20 +47963,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "isolate_lowest_one", + "name": "strict_abs", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49394,7 +47986,10 @@ "10603": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -49404,7 +47999,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i128.highest_one(), None);\nassert_eq!(0x1_i128.highest_one(), Some(0));\nassert_eq!(0x10_i128.highest_one(), Some(4));\nassert_eq!(0x1f_i128.highest_one(), Some(4));\n```", + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8i32.checked_pow(2), Some(64));\nassert_eq!(i32::MAX.checked_pow(2), None);\n```", "id": 10603, "inner": { "function": { @@ -49426,6 +48021,12 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, @@ -49436,7 +48037,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "i32" } } ], @@ -49451,14 +48052,14 @@ } }, "links": {}, - "name": "highest_one", + "name": "checked_pow", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49468,17 +48069,23 @@ "10604": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i128.lowest_one(), None);\nassert_eq!(0x1_i128.lowest_one(), Some(0));\nassert_eq!(0x10_i128.lowest_one(), Some(4));\nassert_eq!(0x1f_i128.lowest_one(), Some(0));\n```", + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8i32.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i32::MAX.strict_pow(2);\n```", "id": 10604, "inner": { "function": { @@ -49500,39 +48107,30 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "lowest_one", + "name": "strict_pow", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49542,10 +48140,10 @@ "10605": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { @@ -49555,7 +48153,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1i128;\n\nassert_eq!(n.cast_unsigned(), u128::MAX);\n```", + "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i32.checked_isqrt(), Some(3));\n```", "id": 10605, "inner": { "function": { @@ -49581,20 +48179,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "cast_unsigned", + "name": "checked_isqrt", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49604,7 +48217,7 @@ "10606": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -49617,7 +48230,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0x13f40000000000000000000000004f76i128;\nlet m = 0x4f7613f4;\n\nassert_eq!(n.rotate_left(16), m);\n```", + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i32.saturating_add(1), 101);\nassert_eq!(i32::MAX.saturating_add(100), i32::MAX);\nassert_eq!(i32::MIN.saturating_add(-1), i32::MIN);\n```", "id": 10606, "inner": { "function": { @@ -49641,28 +48254,28 @@ } ], [ - "n", + "rhs", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "rotate_left", + "name": "saturating_add", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49672,10 +48285,10 @@ "10607": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -49685,7 +48298,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x4f7613f4i128;\nlet m = 0x13f40000000000000000000000004f76;\n\nassert_eq!(n.rotate_right(16), m);\n```", + "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1i32.saturating_add_unsigned(2), 3);\nassert_eq!(i32::MAX.saturating_add_unsigned(100), i32::MAX);\n```", "id": 10607, "inner": { "function": { @@ -49709,7 +48322,7 @@ } ], [ - "n", + "rhs", { "primitive": "u32" } @@ -49717,20 +48330,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "rotate_right", + "name": "saturating_add_unsigned", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49740,7 +48353,7 @@ "10608": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -49753,7 +48366,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12345678901234567890123456789012i128;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x12907856341290785634129078563412);\n```", + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i32.saturating_sub(127), -27);\nassert_eq!(i32::MIN.saturating_sub(100), i32::MIN);\nassert_eq!(i32::MAX.saturating_sub(-1), i32::MAX);\n```", "id": 10608, "inner": { "function": { @@ -49775,24 +48388,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "swap_bytes", + "name": "saturating_sub", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49802,10 +48421,10 @@ "10609": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -49815,7 +48434,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12345678901234567890123456789012i128;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x48091e6a2c48091e6a2c48091e6a2c48);\nassert_eq!(0, 0i128.reverse_bits());\n```", + "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i32.saturating_sub_unsigned(127), -27);\nassert_eq!(i32::MIN.saturating_sub_unsigned(100), i32::MIN);\n```", "id": 10609, "inner": { "function": { @@ -49837,24 +48456,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "reverse_bits", + "name": "saturating_sub_unsigned", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -49969,20 +48594,20 @@ "10610": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai128;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(i128::from_be(n), n)\n} else {\n assert_eq!(i128::from_be(n), n.swap_bytes())\n}\n```", + "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i32.saturating_neg(), -100);\nassert_eq!((-100i32).saturating_neg(), 100);\nassert_eq!(i32::MIN.saturating_neg(), i32::MAX);\nassert_eq!(i32::MAX.saturating_neg(), i32::MIN + 1);\n```", "id": 10610, "inner": { "function": { @@ -50000,28 +48625,28 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "i128" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "from_be", + "name": "saturating_neg", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50031,20 +48656,20 @@ "10611": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai128;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(i128::from_le(n), n)\n} else {\n assert_eq!(i128::from_le(n), n.swap_bytes())\n}\n```", + "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i32.saturating_abs(), 100);\nassert_eq!((-100i32).saturating_abs(), 100);\nassert_eq!(i32::MIN.saturating_abs(), i32::MAX);\nassert_eq!((i32::MIN + 1).saturating_abs(), i32::MAX);\n```", "id": 10611, "inner": { "function": { @@ -50062,28 +48687,28 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "i128" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "from_le", + "name": "saturating_abs", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50093,10 +48718,10 @@ "10612": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -50106,7 +48731,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai128;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10i32.saturating_mul(12), 120);\nassert_eq!(i32::MAX.saturating_mul(10), i32::MAX);\nassert_eq!(i32::MIN.saturating_mul(10), i32::MIN);\n```", "id": 10612, "inner": { "function": { @@ -50128,24 +48753,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "to_be", + "name": "saturating_mul", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50155,10 +48786,10 @@ "10613": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" }, { "must_use": { @@ -50168,7 +48799,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai128;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i32.saturating_div(2), 2);\nassert_eq!(i32::MAX.saturating_div(-1), i32::MIN + 1);\nassert_eq!(i32::MIN.saturating_div(-1), i32::MAX);\n\n```", "id": 10613, "inner": { "function": { @@ -50190,24 +48821,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "to_le", + "name": "saturating_div", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50217,10 +48854,10 @@ "10614": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -50230,7 +48867,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((i128::MAX - 2).checked_add(1), Some(i128::MAX - 1));\nassert_eq!((i128::MAX - 2).checked_add(3), None);\n```", + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4i32).saturating_pow(3), -64);\nassert_eq!(i32::MIN.saturating_pow(2), i32::MAX);\nassert_eq!(i32::MIN.saturating_pow(3), i32::MIN);\n```", "id": 10614, "inner": { "function": { @@ -50254,43 +48891,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "checked_add", + "name": "saturating_pow", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50300,23 +48922,20 @@ "10615": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i128::MAX - 2).strict_add(1), i128::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i128::MAX - 2).strict_add(3);\n```", + "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_add_unsigned(27), 127);\nassert_eq!(i32::MAX.wrapping_add_unsigned(2), i32::MIN + 1);\n```", "id": 10615, "inner": { "function": { @@ -50342,26 +48961,26 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "strict_add", + "name": "wrapping_add_unsigned", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50371,10 +48990,10 @@ "10616": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -50384,7 +49003,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_add(27), 127);\nassert_eq!(i128::MAX.wrapping_add(2), i128::MIN + 1);\n```", + "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i32.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2i32).wrapping_sub_unsigned(u32::MAX), -1);\n```", "id": 10616, "inner": { "function": { @@ -50410,26 +49029,26 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "wrapping_add", + "name": "wrapping_sub_unsigned", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50439,23 +49058,20 @@ "10617": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > i128::MAX` or `self + rhs < i128::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: i128::checked_add\n[`wrapping_add`]: i128::wrapping_add", + "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", "id": 10617, "inner": { "function": { @@ -50468,7 +49084,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -50481,29 +49097,26 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, - "links": { - "i128::checked_add": 10614, - "i128::wrapping_add": 10616 - }, - "name": "unchecked_add", + "links": {}, + "name": "wrapping_div", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50513,10 +49126,10 @@ "10618": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -50526,7 +49139,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i128.checked_add_unsigned(2), Some(3));\nassert_eq!((i128::MAX - 2).checked_add_unsigned(3), None);\n```", + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", "id": 10618, "inner": { "function": { @@ -50552,41 +49165,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "checked_add_unsigned", + "name": "wrapping_div_euclid", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50596,23 +49194,20 @@ "10619": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i128.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i128::MAX - 2).strict_add_unsigned(3);\n```", + "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", "id": 10619, "inner": { "function": { @@ -50638,26 +49233,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "strict_add_unsigned", + "name": "wrapping_rem", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50714,10 +49309,10 @@ "10620": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -50727,7 +49322,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 2).checked_sub(1), Some(i128::MIN + 1));\nassert_eq!((i128::MIN + 2).checked_sub(3), None);\n```", + "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", "id": 10620, "inner": { "function": { @@ -50753,41 +49348,26 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "checked_sub", + "name": "wrapping_rem_euclid", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50797,23 +49377,20 @@ "10621": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 2).strict_sub(1), i128::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i128::MIN + 2).strict_sub(3);\n```", + "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_neg(), -100);\nassert_eq!((-100i32).wrapping_neg(), 100);\nassert_eq!(i32::MIN.wrapping_neg(), i32::MIN);\n```", "id": 10621, "inner": { "function": { @@ -50835,30 +49412,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "strict_sub", + "name": "wrapping_neg", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50871,7 +49442,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -50881,7 +49452,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i128.wrapping_sub(127), -127);\nassert_eq!((-2i128).wrapping_sub(i128::MAX), i128::MAX);\n```", + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1i32).wrapping_shl(7), -128);\nassert_eq!((-1i32).wrapping_shl(128), -1);\n```", "id": 10622, "inner": { "function": { @@ -50907,26 +49478,28 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, - "links": {}, - "name": "wrapping_sub", + "links": { + "Self::rotate_left": 10551 + }, + "name": "wrapping_shl", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -50936,23 +49509,20 @@ "10623": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > i128::MAX` or `self - rhs < i128::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: i128::checked_sub\n[`wrapping_sub`]: i128::wrapping_sub", + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128i32).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", "id": 10623, "inner": { "function": { @@ -50965,7 +49535,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -50978,29 +49548,28 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": { - "i128::checked_sub": 10620, - "i128::wrapping_sub": 10622 + "Self::rotate_right": 10552 }, - "name": "unchecked_sub", + "name": "wrapping_shr", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51010,10 +49579,10 @@ "10624": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { @@ -51023,7 +49592,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i128.checked_sub_unsigned(2), Some(-1));\nassert_eq!((i128::MIN + 2).checked_sub_unsigned(3), None);\n```", + "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i32.wrapping_abs(), 100);\nassert_eq!((-100i32).wrapping_abs(), 100);\nassert_eq!(i32::MIN.wrapping_abs(), i32::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", "id": 10624, "inner": { "function": { @@ -51045,45 +49614,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "checked_sub_unsigned", + "name": "wrapping_abs", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51093,23 +49641,20 @@ "10625": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i128.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i128::MIN + 2).strict_sub_unsigned(3);\n```", + "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100i32.unsigned_abs(), 100u32);\nassert_eq!((-100i32).unsigned_abs(), 100u32);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", "id": 10625, "inner": { "function": { @@ -51131,30 +49676,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_sub_unsigned", + "name": "unsigned_abs", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51164,10 +49703,10 @@ "10626": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -51177,7 +49716,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(i128::MAX.checked_mul(1), Some(i128::MAX));\nassert_eq!(i128::MAX.checked_mul(2), None);\n```", + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3i32.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", "id": 10626, "inner": { "function": { @@ -51201,43 +49740,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "checked_mul", + "name": "wrapping_pow", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51247,23 +49771,20 @@ "10627": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(i128::MAX.strict_mul(1), i128::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = i128::MAX.strict_mul(2);\n```", + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_add(2), (7, false));\nassert_eq!(i32::MAX.overflowing_add(1), (i32::MIN, true));\n```", "id": 10627, "inner": { "function": { @@ -51289,26 +49810,33 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_mul", + "name": "overflowing_add", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51318,10 +49846,10 @@ "10628": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -51331,7 +49859,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10i128.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", + "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry (in that order).\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 32-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n// 3 MAX (a = 3 × 2^32 + 2^32 - 1)\n// + 5 7 (b = 5 × 2^32 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^32 + 6)\n\nlet (a1, a0): (u32, u32) = (3, u32::MAX);\nlet (b1, b0): (u32, u32) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", "id": 10628, "inner": { "function": { @@ -51357,26 +49885,41 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "u32" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "wrapping_mul", + "links": { + "Self::overflowing_add": 11363 + }, + "name": "carrying_add", "span": { "begin": [ - 343, + 1134, 5 ], "end": [ - 364, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51386,23 +49929,17 @@ "10629": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > i128::MAX` or `self * rhs < i128::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: i128::checked_mul\n[`wrapping_mul`]: i128::wrapping_mul", + "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`u32::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^32 + 2^32 - 1)\n// + -5 9 (b = -5 × 2^32 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^32 + 8)\n\nlet (a1, a0): (i32, u32) = (10, u32::MAX);\nlet (b1, b0): (i32, u32) = (-5, 9);\nlet carry0 = false;\n\n// u32::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// i32::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", "id": 10629, "inner": { "function": { @@ -51415,7 +49952,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -51428,29 +49965,42 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": { - "i128::checked_mul": 10626, - "i128::wrapping_mul": 10628 + "Self::overflowing_add": 10627, + "`u32::carrying_add`": 10628 }, - "name": "unchecked_mul", + "name": "carrying_add", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51530,7 +50080,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -51553,10 +50103,10 @@ "10630": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -51566,7 +50116,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 1).checked_div(-1), Some(170141183460469231731687303715884105727));\nassert_eq!(i128::MIN.checked_div(-1), None);\nassert_eq!((1i128).checked_div(0), None);\n```", + "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i32.overflowing_add_unsigned(2), (3, false));\nassert_eq!((i32::MIN).overflowing_add_unsigned(u32::MAX), (i32::MAX, false));\nassert_eq!((i32::MAX - 2).overflowing_add_unsigned(3), (i32::MIN, true));\n```", "id": 10630, "inner": { "function": { @@ -51592,41 +50142,33 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i32" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_div", + "name": "overflowing_add_unsigned", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51636,23 +50178,20 @@ "10631": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 1).strict_div(-1), 170141183460469231731687303715884105727);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i128).strict_div(0);\n```", + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_sub(2), (3, false));\nassert_eq!(i32::MIN.overflowing_sub(1), (i32::MAX, true));\n```", "id": 10631, "inner": { "function": { @@ -51678,26 +50217,33 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_div", + "name": "overflowing_sub", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51707,10 +50253,10 @@ "10632": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -51720,7 +50266,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 1).checked_div_euclid(-1), Some(170141183460469231731687303715884105727));\nassert_eq!(i128::MIN.checked_div_euclid(-1), None);\nassert_eq!((1i128).checked_div_euclid(0), None);\n```", + "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n// 9 6 (a = 9 × 2^32 + 6)\n// - 5 7 (b = 5 × 2^32 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^32 + 2^32 - 1)\n\nlet (a1, a0): (u32, u32) = (9, 6);\nlet (b1, b0): (u32, u32) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, u32::MAX));\n```", "id": 10632, "inner": { "function": { @@ -51746,41 +50292,39 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" + } + ], + [ + "borrow", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u32" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_div_euclid", + "name": "borrowing_sub", "span": { "begin": [ - 343, + 1134, 5 ], "end": [ - 364, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51790,23 +50334,17 @@ "10633": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 1).strict_div_euclid(-1), 170141183460469231731687303715884105727);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i128).strict_div_euclid(0);\n```", + "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`u32::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^32 + 8)\n// - -5 9 (b = -5 × 2^32 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^32 + 2^32 - 1)\n\nlet (a1, a0): (i32, u32) = (6, 8);\nlet (b1, b0): (i32, u32) = (-5, 9);\nlet borrow0 = false;\n\n// u32::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// i32::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, u32::MAX));\n```", "id": 10633, "inner": { "function": { @@ -51832,26 +50370,42 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" + } + ], + [ + "borrow", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "strict_div_euclid", + "links": { + "Self::overflowing_sub": 10631, + "`u32::borrowing_sub`": 10632 + }, + "name": "borrowing_sub", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51861,7 +50415,10 @@ "10634": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -51871,7 +50428,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((i128::MIN + 1).checked_exact_div(-1), Some(170141183460469231731687303715884105727));\nassert_eq!((-5i128).checked_exact_div(2), None);\nassert_eq!(i128::MIN.checked_exact_div(-1), None);\nassert_eq!((1i128).checked_exact_div(0), None);\n```", + "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i32.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((i32::MAX).overflowing_sub_unsigned(u32::MAX), (i32::MIN, false));\nassert_eq!((i32::MIN + 2).overflowing_sub_unsigned(3), (i32::MAX, true));\n```", "id": 10634, "inner": { "function": { @@ -51897,41 +50454,33 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i32" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_exact_div", + "name": "overflowing_sub_unsigned", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -51941,7 +50490,10 @@ "10635": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -51951,7 +50503,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64i128.exact_div(2), 32);\nassert_eq!(64i128.exact_div(32), 2);\nassert_eq!((i128::MIN + 1).exact_div(-1), 170141183460469231731687303715884105727);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65i128.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = i128::MIN.exact_div(-1);\n```", + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", "id": 10635, "inner": { "function": { @@ -51977,26 +50529,33 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "exact_div", + "name": "overflowing_mul", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52006,7 +50565,10 @@ "10636": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -52016,7 +50578,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == i128::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(i32::MAX.carrying_mul(i32::MAX, i32::MAX), (i32::MAX.unsigned_abs() + 1, i32::MAX / 2));\n```", "id": 10636, "inner": { "function": { @@ -52029,7 +50591,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -52042,28 +50604,41 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" + } + ], + [ + "carry", + { + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "u32" + }, + { + "primitive": "i32" + } + ] } } } }, "links": { - "Self::checked_exact_div": 10634 + "`Self::widening_mul`": 10637 }, - "name": "unchecked_exact_div", + "name": "carrying_mul", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52073,10 +50648,10 @@ "10637": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -52086,7 +50661,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i128.checked_rem(2), Some(1));\nassert_eq!(5i128.checked_rem(0), None);\nassert_eq!(i128::MIN.checked_rem(-1), None);\n```", + "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", "id": 10637, "inner": { "function": { @@ -52112,41 +50687,35 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u32" }, - "id": 51, - "path": "Option" - } + { + "primitive": "i32" + } + ] } } } }, - "links": {}, - "name": "checked_rem", + "links": { + "`Self::carrying_mul`": 10636 + }, + "name": "widening_mul", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52156,23 +50725,20 @@ "10638": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i128.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i128.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_rem(-1);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(i32::MAX.carrying_mul_add(i32::MAX, i32::MAX, i32::MAX), (u32::MAX, i32::MAX / 2));\n```", "id": 10638, "inner": { "function": { @@ -52198,26 +50764,48 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" + } + ], + [ + "carry", + { + "primitive": "i32" + } + ], + [ + "add", + { + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "u32" + }, + { + "primitive": "i32" + } + ] } } } }, - "links": {}, - "name": "strict_rem", + "links": { + "`Self::carrying_mul`": 10636, + "`Self::widening_mul`": 10637 + }, + "name": "carrying_mul_add", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52227,10 +50815,10 @@ "10639": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -52240,7 +50828,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i128.checked_rem_euclid(2), Some(1));\nassert_eq!(5i128.checked_rem_euclid(0), None);\nassert_eq!(i128::MIN.checked_rem_euclid(-1), None);\n```", + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_div(2), (2, false));\nassert_eq!(i32::MIN.overflowing_div(-1), (i32::MIN, true));\n```", "id": 10639, "inner": { "function": { @@ -52266,41 +50854,33 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i32" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_rem_euclid", + "name": "overflowing_div", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52335,11 +50915,11 @@ "name": "Item", "span": { "begin": [ - 2135, + 2130, 5 ], "end": [ - 2135, + 2130, 27 ], "filename": "std/src/collections/hash/map.rs" @@ -52349,23 +50929,20 @@ "10640": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i128.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i128.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_rem_euclid(-1);\n```", + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_div_euclid(2), (2, false));\nassert_eq!(i32::MIN.overflowing_div_euclid(-1), (i32::MIN, true));\n```", "id": 10640, "inner": { "function": { @@ -52391,26 +50968,33 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_rem_euclid", + "name": "overflowing_div_euclid", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52420,7 +51004,7 @@ "10641": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -52433,7 +51017,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5i128.checked_neg(), Some(-5));\nassert_eq!(i128::MIN.checked_neg(), None);\n```", + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_rem(2), (1, false));\nassert_eq!(i32::MIN.overflowing_rem(-1), (0, true));\n```", "id": 10641, "inner": { "function": { @@ -52455,39 +51039,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i32" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_neg", + "name": "overflowing_rem", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52497,7 +51079,10 @@ "10642": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -52510,7 +51095,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == i128::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: i128::checked_neg", + "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i32.overflowing_rem_euclid(2), (1, false));\nassert_eq!(i32::MIN.overflowing_rem_euclid(-1), (0, true));\n```", "id": 10642, "inner": { "function": { @@ -52523,7 +51108,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -52532,26 +51117,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "i128::checked_neg": 10641 - }, - "name": "unchecked_neg", + "links": {}, + "name": "overflowing_rem_euclid", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52561,23 +51157,20 @@ "10643": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5i128.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_neg();\n", + "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2i32.overflowing_neg(), (-2, false));\nassert_eq!(i32::MIN.overflowing_neg(), (i32::MIN, true));\n```", "id": 10643, "inner": { "function": { @@ -52603,20 +51196,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_neg", + "name": "overflowing_neg", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52626,7 +51226,7 @@ "10644": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -52639,7 +51239,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1i128.checked_shl(4), Some(0x10));\nassert_eq!(0x1i128.checked_shl(129), None);\nassert_eq!(0x10i128.checked_shl(127), Some(0));\n```", + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1i32.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10i32.overflowing_shl(31), (0, false));\n```", "id": 10644, "inner": { "function": { @@ -52671,35 +51271,27 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i32" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_shl", + "name": "overflowing_shl", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52709,23 +51301,20 @@ "10645": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1i128.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1i128.strict_shl(129);\n```", + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10i32.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", "id": 10645, "inner": { "function": { @@ -52757,20 +51346,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_shl", + "name": "overflowing_shr", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52780,20 +51376,20 @@ "10646": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: i128::checked_shl", + "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., i32::MIN for values of type i32),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10i32.overflowing_abs(), (10, false));\nassert_eq!((-10i32).overflowing_abs(), (10, false));\nassert_eq!((i32::MIN).overflowing_abs(), (i32::MIN, true));\n```", "id": 10646, "inner": { "function": { @@ -52806,7 +51402,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -52815,32 +51411,31 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "i128::checked_shl": 10644 - }, - "name": "unchecked_shl", + "links": {}, + "name": "overflowing_abs", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52850,10 +51445,10 @@ "10647": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -52863,7 +51458,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1i128.unbounded_shl(4), 0x10);\nassert_eq!(0x1i128.unbounded_shl(129), 0);\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3i32.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", "id": 10647, "inner": { "function": { @@ -52887,7 +51482,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -52895,20 +51490,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "i128" + "tuple": [ + { + "primitive": "i32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "unbounded_shl", + "name": "overflowing_pow", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -52918,10 +51520,10 @@ "10648": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -52931,7 +51533,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10i128.checked_shr(4), Some(0x1));\nassert_eq!(0x10i128.checked_shr(128), None);\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: i32 = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", "id": 10648, "inner": { "function": { @@ -52955,7 +51557,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -52963,35 +51565,20 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "checked_shr", + "name": "pow", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -53001,10 +51588,10 @@ "10649": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { @@ -53017,7 +51604,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10i128.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10i128.strict_shr(128);\n```", + "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i32.isqrt(), 3);\n```", "id": 10649, "inner": { "function": { @@ -53039,30 +51626,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "strict_shr", + "name": "isqrt", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -53139,11 +51720,11 @@ "name": "next", "span": { "begin": [ - 2138, + 2133, 5 ], "end": [ - 2140, + 2135, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -53153,7 +51734,10 @@ "10650": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -53166,7 +51750,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: i128::checked_shr", + "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i32 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", "id": 10650, "inner": { "function": { @@ -53179,7 +51763,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -53192,28 +51776,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, - "links": { - "i128::checked_shr": 10648 - }, - "name": "unchecked_shr", + "links": {}, + "name": "div_euclid", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -53223,20 +51805,26 @@ "10651": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10i128.unbounded_shr(4), 0x1);\nassert_eq!(0x10i128.unbounded_shr(129), 0);\nassert_eq!(i128::MIN.unbounded_shr(129), -1);\n```", + "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i32 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = i32::MIN.rem_euclid(-1);\n```", "id": 10651, "inner": { "function": { @@ -53262,26 +51850,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "unbounded_shr", + "name": "rem_euclid", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -53291,20 +51879,20 @@ "10652": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5i128).checked_abs(), Some(5));\nassert_eq!(i128::MIN.checked_abs(), None);\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i32 = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", "id": 10652, "inner": { "function": { @@ -53326,39 +51914,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "checked_abs", + "name": "div_floor", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -53368,10 +51947,7 @@ "10653": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -53384,70 +51960,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5i128).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_abs();\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i32 = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", "id": 10653, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i128" - } - } - } - }, - "links": {}, - "name": "strict_abs", - "span": { - "begin": [ - 343, - 5 - ], - "end": [ - 364, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10654": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8i128.checked_pow(2), Some(64));\nassert_eq!(i128::MAX.checked_pow(2), None);\n```", - "id": 10654, "inner": { "function": { "generics": { @@ -53470,70 +51984,49 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i32" } } } }, "links": {}, - "name": "checked_pow", + "name": "div_ceil", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10655": { + "10654": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8i128.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MAX.strict_pow(2);\n```", - "id": 10655, + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i32.next_multiple_of(8), 16);\nassert_eq!(23_i32.next_multiple_of(8), 24);\nassert_eq!(16_i32.next_multiple_of(-8), 16);\nassert_eq!(23_i32.next_multiple_of(-8), 16);\nassert_eq!((-16_i32).next_multiple_of(8), -16);\nassert_eq!((-23_i32).next_multiple_of(8), -16);\nassert_eq!((-16_i32).next_multiple_of(-8), -16);\nassert_eq!((-23_i32).next_multiple_of(-8), -24);\n```", + "id": 10654, "inner": { "function": { "generics": { @@ -53556,41 +52049,38 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "strict_pow", + "name": "next_multiple_of", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10656": { + "10655": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -53600,8 +52090,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i128.checked_isqrt(), Some(3));\n```", - "id": 10656, + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i32.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_i32.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_i32.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_i32.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_i32).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_i32).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_i32).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_i32).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_i32.checked_next_multiple_of(0), None);\nassert_eq!(i32::MAX.checked_next_multiple_of(2), None);\n```", + "id": 10655, "inner": { "function": { "generics": { @@ -53622,6 +52112,12 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, @@ -53632,7 +52128,7 @@ "args": [ { "type": { - "primitive": "i128" + "primitive": "i32" } } ], @@ -53647,38 +52143,41 @@ } }, "links": {}, - "name": "checked_isqrt", + "name": "checked_next_multiple_of", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10657": { + "10656": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i128.saturating_add(1), 101);\nassert_eq!(i128::MAX.saturating_add(100), i128::MAX);\nassert_eq!(i128::MIN.saturating_add(-1), i128::MIN);\n```", - "id": 10657, + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5i32.ilog(5), 1);\n```", + "id": 10656, "inner": { "function": { "generics": { @@ -53701,28 +52200,93 @@ } ], [ - "rhs", + "base", { - "primitive": "i128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_add", + "name": "ilog", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "10657": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10i32.ilog10(), 1);\n```", + "id": 10657, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "ilog10", + "span": { + "begin": [ + 295, + 5 + ], + "end": [ + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -53732,10 +52296,10 @@ "10658": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -53745,7 +52309,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1i128.saturating_add_unsigned(2), 3);\nassert_eq!(i128::MAX.saturating_add_unsigned(100), i128::MAX);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5i32.checked_ilog(5), Some(1));\n```", "id": 10658, "inner": { "function": { @@ -53769,28 +52333,43 @@ } ], [ - "rhs", + "base", { - "primitive": "u128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "saturating_add_unsigned", + "name": "checked_ilog", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -53800,10 +52379,10 @@ "10659": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -53813,7 +52392,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i128.saturating_sub(127), -27);\nassert_eq!(i128::MIN.saturating_sub(100), i128::MIN);\nassert_eq!(i128::MAX.saturating_sub(-1), i128::MAX);\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2i32.checked_ilog2(), Some(1));\n```", "id": 10659, "inner": { "function": { @@ -53835,30 +52414,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "saturating_sub", + "name": "checked_ilog2", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -53936,11 +52524,11 @@ "name": "size_hint", "span": { "begin": [ - 2142, + 2137, 5 ], "end": [ - 2144, + 2139, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -53950,10 +52538,10 @@ "10660": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -53963,7 +52551,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i128.saturating_sub_unsigned(127), -27);\nassert_eq!(i128::MIN.saturating_sub_unsigned(100), i128::MIN);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10i32.checked_ilog10(), Some(1));\n```", "id": 10660, "inner": { "function": { @@ -53985,30 +52573,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "saturating_sub_unsigned", + "name": "checked_ilog10", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54018,10 +52615,10 @@ "10661": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -54031,7 +52628,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i128.saturating_neg(), -100);\nassert_eq!((-100i128).saturating_neg(), 100);\nassert_eq!(i128::MIN.saturating_neg(), i128::MAX);\nassert_eq!(i128::MAX.saturating_neg(), i128::MIN + 1);\n```", + "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`i32::MIN`\ncannot be represented as an\n`i32`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`i32::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10i32.abs(), 10);\nassert_eq!((-10i32).abs(), 10);\n```", "id": 10661, "inner": { "function": { @@ -54057,20 +52654,22 @@ ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, - "links": {}, - "name": "saturating_neg", + "links": { + "Self::unsigned_abs": 10625 + }, + "name": "abs", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54080,10 +52679,10 @@ "10662": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" }, { "must_use": { @@ -54093,7 +52692,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i128.saturating_abs(), 100);\nassert_eq!((-100i128).saturating_abs(), 100);\nassert_eq!(i128::MIN.saturating_abs(), i128::MAX);\nassert_eq!((i128::MIN + 1).saturating_abs(), i128::MAX);\n```", + "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100i32.abs_diff(80), 20u32);\nassert_eq!(100i32.abs_diff(110), 10u32);\nassert_eq!((-100i32).abs_diff(80), 180u32);\nassert_eq!((-100i32).abs_diff(-120), 20u32);\nassert_eq!(i32::MIN.abs_diff(i32::MAX), u32::MAX);\n```", "id": 10662, "inner": { "function": { @@ -54115,24 +52714,30 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_abs", + "name": "abs_diff", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54142,10 +52747,10 @@ "10663": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -54155,7 +52760,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10i128.saturating_mul(12), 120);\nassert_eq!(i128::MAX.saturating_mul(10), i128::MAX);\nassert_eq!(i128::MIN.saturating_mul(10), i128::MIN);\n```", + "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10i32.signum(), 1);\nassert_eq!(0i32.signum(), 0);\nassert_eq!((-10i32).signum(), -1);\n```", "id": 10663, "inner": { "function": { @@ -54177,30 +52782,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "saturating_mul", + "name": "signum", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54210,20 +52809,20 @@ "10664": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i128.saturating_div(2), 2);\nassert_eq!(i128::MAX.saturating_div(-1), i128::MIN + 1);\nassert_eq!(i128::MIN.saturating_div(-1), i128::MAX);\n\n```", + "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10i32.is_positive());\nassert!(!(-10i32).is_positive());\n```", "id": 10664, "inner": { "function": { @@ -54245,30 +52844,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "bool" } } } }, "links": {}, - "name": "saturating_div", + "name": "is_positive", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54278,20 +52871,20 @@ "10665": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4i128).saturating_pow(3), -64);\nassert_eq!(i128::MIN.saturating_pow(2), i128::MAX);\nassert_eq!(i128::MIN.saturating_pow(3), i128::MIN);\n```", + "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10i32).is_negative());\nassert!(!10i32.is_negative());\n```", "id": 10665, "inner": { "function": { @@ -54313,30 +52906,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "bool" } } } }, "links": {}, - "name": "saturating_pow", + "name": "is_negative", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54346,10 +52933,10 @@ "10666": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -54359,7 +52946,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_add_unsigned(27), 127);\nassert_eq!(i128::MAX.wrapping_add_unsigned(2), i128::MIN + 1);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678i32.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78]);\n```", "id": 10666, "inner": { "function": { @@ -54381,30 +52968,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "wrapping_add_unsigned", + "name": "to_be_bytes", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54414,10 +53000,10 @@ "10667": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -54427,7 +53013,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i128.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2i128).wrapping_sub_unsigned(u128::MAX), -1);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678i32.to_le_bytes();\nassert_eq!(bytes, [0x78, 0x56, 0x34, 0x12]);\n```", "id": 10667, "inner": { "function": { @@ -54449,30 +53035,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "wrapping_sub_unsigned", + "name": "to_le_bytes", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54482,10 +53067,10 @@ "10668": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -54495,7 +53080,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12345678i32.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78]\n } else {\n [0x78, 0x56, 0x34, 0x12]\n }\n);\n```", "id": 10668, "inner": { "function": { @@ -54517,30 +53102,32 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "wrapping_div", + "links": { + "Self::to_be_bytes": 10666, + "Self::to_le_bytes": 10667 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54550,20 +53137,20 @@ "10669": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", + "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n\n# Examples\n\n```\nlet value = i32::from_be_bytes([0x12, 0x34, 0x56, 0x78]);\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_i32(input: &mut &[u8]) -> i32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i32::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10669, "inner": { "function": { @@ -54581,34 +53168,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "i128" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "wrapping_div_euclid", + "name": "from_be_bytes", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54658,11 +53244,11 @@ "name": "count", "span": { "begin": [ - 2146, + 2141, 5 ], "end": [ - 2148, + 2143, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -54672,20 +53258,20 @@ "10670": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", + "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n\n# Examples\n\n```\nlet value = i32::from_le_bytes([0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_i32(input: &mut &[u8]) -> i32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i32::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10670, "inner": { "function": { @@ -54703,34 +53289,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "i128" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": {}, - "name": "wrapping_rem", + "name": "from_le_bytes", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54740,20 +53325,20 @@ "10671": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", + "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = i32::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78]\n} else {\n [0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_i32(input: &mut &[u8]) -> i32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i32::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10671, "inner": { "function": { @@ -54771,34 +53356,36 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "i128" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, - "links": {}, - "name": "wrapping_rem_euclid", + "links": { + "Self::from_be_bytes": 10669, + "Self::from_le_bytes": 10670 + }, + "name": "from_ne_bytes", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54808,20 +53395,21 @@ "10672": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"i32_legacy_fn_min_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_neg(), -100);\nassert_eq!((-100i128).wrapping_neg(), 100);\nassert_eq!(i128::MIN.wrapping_neg(), i128::MIN);\n```", + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`i32::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", "id": 10672, "inner": { "function": { @@ -54837,30 +53425,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, - "links": {}, - "name": "wrapping_neg", + "links": { + "`i32::MIN`": 10536 + }, + "name": "min_value", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54870,20 +53453,21 @@ "10673": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"i32_legacy_fn_max_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1i128).wrapping_shl(7), -128);\nassert_eq!((-1i128).wrapping_shl(128), -1);\n```", + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`i32::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", "id": 10673, "inner": { "function": { @@ -54899,38 +53483,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, "links": { - "Self::rotate_left": 10606 + "`i32::MAX`": 10537 }, - "name": "wrapping_shl", + "name": "max_value", "span": { "begin": [ - 343, + 295, 5 ], "end": [ - 364, + 314, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -54940,10 +53511,19 @@ "10674": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[doc(alias = \"average_floor\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[doc(alias = \"average_ceil\")]" + }, + { + "other": "#[doc(alias = \"average\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" }, { "must_use": { @@ -54953,7 +53533,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128i128).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0i32.midpoint(4), 2);\nassert_eq!((-1i32).midpoint(2), 0);\nassert_eq!((-7i32).midpoint(0), -3);\nassert_eq!(0i32.midpoint(-7), -3);\nassert_eq!(0i32.midpoint(7), 3);\n```", "id": 10674, "inner": { "function": { @@ -54979,113 +53559,221 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i32" } } } }, - "links": { - "Self::rotate_right": 10607 - }, - "name": "wrapping_shr", + "links": {}, + "name": "midpoint", "span": { "begin": [ - 343, + 315, 5 ], "end": [ - 364, - 6 + 315, + 40 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10675": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_abs(), 100);\nassert_eq!((-100i128).wrapping_abs(), 100);\nassert_eq!(i128::MIN.wrapping_abs(), i128::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", + "docs": null, "id": 10675, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i32" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "i128" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10536, + 10537, + 10538, + 10539, + 10540, + 10542, + 10543, + 10544, + 10545, + 10546, + 10547, + 10548, + 10549, + 10550, + 10551, + 10552, + 10553, + 10554, + 10555, + 10556, + 10557, + 10558, + 10559, + 10560, + 10562, + 10563, + 10564, + 10565, + 10566, + 10568, + 10569, + 10570, + 10571, + 10572, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10581, + 10582, + 10583, + 10584, + 10585, + 10586, + 10587, + 10588, + 10589, + 10590, + 10591, + 10592, + 10593, + 10594, + 10595, + 10596, + 10597, + 10598, + 10599, + 10600, + 10601, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10561, + 10615, + 10567, + 10616, + 10573, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10624, + 10625, + 10626, + 10627, + 10629, + 10630, + 10631, + 10633, + 10634, + 10635, + 10637, + 10636, + 10638, + 10639, + 10640, + 10641, + 10642, + 10643, + 10644, + 10645, + 10646, + 10647, + 10648, + 10649, + 10650, + 10651, + 10652, + 10653, + 10654, + 10655, + 10656, + 10541, + 10657, + 10658, + 10659, + 10660, + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10667, + 10668, + 10669, + 10670, + 10671, + 10672, + 10673, + 10674 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "wrapping_abs", + "name": null, "span": { "begin": [ - 343, - 5 + 294, + 1 ], "end": [ - 364, - 6 + 294, + 9 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "10676": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100i128.unsigned_abs(), 100u128);\nassert_eq!((-100i128).unsigned_abs(), 100u128);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(i32::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(i32::from_str_radix(\"1 \", 10).is_err());\n```", "id": 10676, "inner": { "function": { @@ -55103,29 +53791,65 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ], + [ + "radix", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "unsigned_abs", + "name": "from_str_radix", "span": { "begin": [ - 343, - 5 + 1666, + 1 ], "end": [ - 364, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -55134,20 +53858,12 @@ "10677": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3i128.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i32::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i32::from_ascii(b\"1 \").is_err());\n```", "id": 10677, "inner": { "function": { @@ -55165,35 +53881,61 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "exp", + "src", { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "wrapping_pow", + "name": "from_ascii", "span": { "begin": [ - 343, - 5 + 1666, + 1 ], "end": [ - 364, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -55202,20 +53944,12 @@ "10678": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_add(2), (7, false));\nassert_eq!(i128::MAX.overflowing_add(1), (i128::MIN, true));\n```", + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i32::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i32::from_ascii_radix(b\"1 \", 10).is_err());\n```", "id": 10678, "inner": { "function": { @@ -55233,129 +53967,114 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ], [ - "rhs", + "radix", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "overflowing_add", + "name": "from_ascii_radix", "span": { "begin": [ - 343, - 5 + 1666, + 1 ], "end": [ - 364, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10679": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 128-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 3 MAX (a = 3 × 2^128 + 2^128 - 1)\n// + 5 7 (b = 5 × 2^128 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^128 + 6)\n\nlet (a1, a0): (u128, u128) = (3, u128::MAX);\nlet (b1, b0): (u128, u128) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", + "docs": null, "id": 10679, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i32" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u128" - } - ], - [ - "carry", - { - "primitive": "bool" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "bool" - } - ] - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10676, + 10677, + 10678 + ], + "provided_trait_methods": [], + "trait": null } }, - "links": { - "Self::overflowing_add": 11370 - }, - "name": "carrying_add", + "links": {}, + "name": null, "span": { "begin": [ - 1174, - 5 + 1666, + 1 ], "end": [ - 1194, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "1068": { "attrs": [ @@ -55501,11 +54220,11 @@ "name": "fold", "span": { "begin": [ - 2150, + 2145, 5 ], "end": [ - 2156, + 2151, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -55515,17 +54234,12 @@ "10680": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`u128::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^128 + 2^128 - 1)\n// + -5 9 (b = -5 × 2^128 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^128 + 8)\n\nlet (a1, a0): (i128, u128) = (10, u128::MAX);\nlet (b1, b0): (i128, u128) = (-5, 9);\nlet carry0 = false;\n\n// u128::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// i128::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0i32;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32i32;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = i32 :: MAX;\nassert_eq!(n2.format_into(&mut buf), i32 :: MAX.to_string());\n```", "id": 10680, "inner": { "function": { @@ -55537,7 +54251,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -55549,194 +54263,131 @@ } ], [ - "rhs", - { - "primitive": "i128" - } - ], - [ - "carry", + "buf", { - "primitive": "bool" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 10387, + "path": "NumBuffer" + } + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" } - ] + } } } } }, "links": { - "Self::overflowing_add": 10678, - "`u128::carrying_add`": 10679 + "`NumBuffer`": 10387 }, - "name": "carrying_add", + "name": "format_into", "span": { "begin": [ - 343, + 599, 5 ], "end": [ - 364, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "public" }, "10681": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i128.overflowing_add_unsigned(2), (3, false));\nassert_eq!((i128::MIN).overflowing_add_unsigned(u128::MAX), (i128::MAX, false));\nassert_eq!((i128::MAX - 2).overflowing_add_unsigned(3), (i128::MIN, true));\n```", + "docs": null, "id": 10681, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i32" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u128" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10680 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "overflowing_add_unsigned", + "name": null, "span": { "begin": [ - 343, + 599, 5 ], "end": [ - 364, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, - "visibility": "public" + "visibility": "default" }, "10682": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_sub(2), (3, false));\nassert_eq!(i128::MIN.overflowing_sub(1), (i128::MAX, true));\n```", + "docs": "The smallest value that can be represented by this integer type\n(−263).\n\n# Examples\n\n```\nassert_eq!(i64::MIN, -9223372036854775808);\n```", "id": 10682, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i128" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "_" } }, "links": {}, - "name": "overflowing_sub", + "name": "MIN", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -55746,78 +54397,30 @@ "10683": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 9 6 (a = 9 × 2^128 + 6)\n// - 5 7 (b = 5 × 2^128 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^128 + 2^128 - 1)\n\nlet (a1, a0): (u128, u128) = (9, 6);\nlet (b1, b0): (u128, u128) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, u128::MAX));\n```", + "docs": "The largest value that can be represented by this integer type\n(263 − 1).\n\n# Examples\n\n```\nassert_eq!(i64::MAX, 9223372036854775807);\n```", "id": 10683, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i64" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u128" - } - ], - [ - "borrow", - { - "primitive": "bool" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "_" } }, "links": {}, - "name": "borrowing_sub", + "name": "MAX", "span": { "begin": [ - 1174, + 319, 5 ], "end": [ - 1194, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -55827,78 +54430,30 @@ "10684": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`u128::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^128 + 8)\n// - -5 9 (b = -5 × 2^128 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^128 + 2^128 - 1)\n\nlet (a1, a0): (i128, u128) = (6, 8);\nlet (b1, b0): (i128, u128) = (-5, 9);\nlet borrow0 = false;\n\n// u128::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// i128::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, u128::MAX));\n```", + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(i64::BITS, 64);\n```", "id": 10684, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i128" - } - ], - [ - "borrow", - { - "primitive": "bool" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "u64::BITS" } }, - "links": { - "Self::overflowing_sub": 10682, - "`u128::borrowing_sub`": 10683 - }, - "name": "borrowing_sub", + "links": {}, + "name": "BITS", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -55908,10 +54463,16 @@ "10685": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[doc(alias = \"popcount\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -55921,7 +54482,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i128.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((i128::MAX).overflowing_sub_unsigned(u128::MAX), (i128::MIN, false));\nassert_eq!((i128::MIN + 2).overflowing_sub_unsigned(3), (i128::MAX, true));\n```", + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000i64;\n\nassert_eq!(n.count_ones(), 1);\n```\n", "id": 10685, "inner": { "function": { @@ -55943,37 +54504,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_sub_unsigned", + "name": "count_ones", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -55986,7 +54534,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -55996,7 +54544,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(i64::MAX.count_zeros(), 1);\n```", "id": 10686, "inner": { "function": { @@ -56018,37 +54566,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_mul", + "name": "count_zeros", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -56058,20 +54593,23 @@ "10687": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(i128::MAX.carrying_mul(i128::MAX, i128::MAX), (i128::MAX.unsigned_abs() + 1, i128::MAX / 2));\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2i64.ilog2(), 1);\n```", "id": 10687, "inner": { "function": { @@ -56093,45 +54631,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } - ], - [ - "carry", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "i128" - } - ] + "primitive": "u32" } } } }, - "links": { - "`Self::widening_mul`": 10688 - }, - "name": "carrying_mul", + "links": {}, + "name": "ilog2", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -56141,10 +54658,10 @@ "10688": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -56154,7 +54671,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1i64;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: i64::ilog2", "id": 10688, "inner": { "function": { @@ -56176,39 +54693,26 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "i128" - } - ] + "primitive": "u32" } } } }, "links": { - "`Self::carrying_mul`": 10687 + "i64::ilog2": 10687 }, - "name": "widening_mul", + "name": "leading_zeros", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -56218,10 +54722,10 @@ "10689": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -56231,7 +54735,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(i128::MAX.carrying_mul_add(i128::MAX, i128::MAX, i128::MAX), (u128::MAX, i128::MAX / 2));\n```", + "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4i64;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", "id": 10689, "inner": { "function": { @@ -56253,52 +54757,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } - ], - [ - "carry", - { - "primitive": "i128" - } - ], - [ - "add", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "i128" - } - ] + "primitive": "u32" } } } }, - "links": { - "`Self::carrying_mul`": 10687, - "`Self::widening_mul`": 10688 - }, - "name": "carrying_mul_add", + "links": {}, + "name": "trailing_zeros", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -56476,11 +54952,11 @@ "name": null, "span": { "begin": [ - 2134, + 2129, 1 ], "end": [ - 2157, + 2152, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -56490,10 +54966,10 @@ "10690": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -56503,7 +54979,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_div(2), (2, false));\nassert_eq!(i128::MIN.overflowing_div(-1), (i128::MIN, true));\n```", + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1i64;\n\nassert_eq!(n.leading_ones(), 64);\n```", "id": 10690, "inner": { "function": { @@ -56525,37 +55001,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_div", + "name": "leading_ones", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -56565,10 +55028,10 @@ "10691": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -56578,7 +55041,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_div_euclid(2), (2, false));\nassert_eq!(i128::MIN.overflowing_div_euclid(-1), (i128::MIN, true));\n```", + "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3i64;\n\nassert_eq!(n.trailing_ones(), 2);\n```", "id": 10691, "inner": { "function": { @@ -56600,37 +55063,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_div_euclid", + "name": "trailing_ones", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -56640,10 +55090,7 @@ "10692": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { @@ -56653,7 +55100,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_rem(2), (1, false));\nassert_eq!(i128::MIN.overflowing_rem(-1), (0, true));\n```", + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i64 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_i64.isolate_highest_one(), 0);\n```", "id": 10692, "inner": { "function": { @@ -56675,37 +55122,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] + "primitive": "i64" } } } }, "links": {}, - "name": "overflowing_rem", + "name": "isolate_highest_one", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -56715,23 +55149,17 @@ "10693": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_rem_euclid(2), (1, false));\nassert_eq!(i128::MIN.overflowing_rem_euclid(-1), (0, true));\n```", + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i64 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_i64.isolate_lowest_one(), 0);\n```", "id": 10693, "inner": { "function": { @@ -56753,37 +55181,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] + "primitive": "i64" } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "isolate_lowest_one", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -56793,10 +55208,7 @@ "10694": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -56806,7 +55218,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2i128.overflowing_neg(), (-2, false));\nassert_eq!(i128::MIN.overflowing_neg(), (i128::MIN, true));\n```", + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i64.highest_one(), None);\nassert_eq!(0x1_i64.highest_one(), Some(0));\nassert_eq!(0x10_i64.highest_one(), Some(4));\nassert_eq!(0x1f_i64.highest_one(), Some(4));\n```", "id": 10694, "inner": { "function": { @@ -56832,27 +55244,35 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_neg", + "name": "highest_one", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -56862,10 +55282,7 @@ "10695": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -56875,7 +55292,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1i128.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10i128.overflowing_shl(127), (0, false));\n```", + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i64.lowest_one(), None);\nassert_eq!(0x1_i64.lowest_one(), Some(0));\nassert_eq!(0x10_i64.lowest_one(), Some(4));\nassert_eq!(0x1f_i64.lowest_one(), Some(0));\n```", "id": 10695, "inner": { "function": { @@ -56897,37 +55314,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_shl", + "name": "lowest_one", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -56937,10 +55356,10 @@ "10696": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" }, { "must_use": { @@ -56950,7 +55369,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10i128.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", + "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1i64;\n\nassert_eq!(n.cast_unsigned(), u64::MAX);\n```", "id": 10696, "inner": { "function": { @@ -56972,37 +55391,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] + "primitive": "u64" } } } }, "links": {}, - "name": "overflowing_shr", + "name": "cast_unsigned", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57015,7 +55421,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -57025,7 +55431,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., i128::MIN for values of type i128),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10i128.overflowing_abs(), (10, false));\nassert_eq!((-10i128).overflowing_abs(), (10, false));\nassert_eq!((i128::MIN).overflowing_abs(), (i128::MIN, true));\n```", + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0xaa00000000006e1i64;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);\n```", "id": 10697, "inner": { "function": { @@ -57047,31 +55453,30 @@ { "generic": "Self" } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] + "primitive": "i64" } } } }, "links": {}, - "name": "overflowing_abs", + "name": "rotate_left", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57081,10 +55486,10 @@ "10698": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -57094,7 +55499,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3i128.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x6e10aai64;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);\n```", "id": 10698, "inner": { "function": { @@ -57118,7 +55523,7 @@ } ], [ - "exp", + "n", { "primitive": "u32" } @@ -57126,27 +55531,20 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "i128" - }, - { - "primitive": "bool" - } - ] + "primitive": "i64" } } } }, "links": {}, - "name": "overflowing_pow", + "name": "rotate_right", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57156,7 +55554,7 @@ "10699": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -57169,7 +55567,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: i128 = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234567890123456i64;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);\n```", "id": 10699, "inner": { "function": { @@ -57191,30 +55589,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, "links": {}, - "name": "pow", + "name": "swap_bytes", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57270,11 +55662,11 @@ "name": "len", "span": { "begin": [ - 2161, + 2156, 5 ], "end": [ - 2163, + 2158, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -57284,23 +55676,20 @@ "10700": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i128.isqrt(), 3);\n```", + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234567890123456i64;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0i64.reverse_bits());\n```", "id": 10700, "inner": { "function": { @@ -57326,20 +55715,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, "links": {}, - "name": "isqrt", + "name": "reverse_bits", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57349,23 +55738,20 @@ "10701": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i128 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai64;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(i64::from_be(n), n)\n} else {\n assert_eq!(i64::from_be(n), n.swap_bytes())\n}\n```", "id": 10701, "inner": { "function": { @@ -57383,34 +55769,28 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "x", { - "primitive": "i128" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, "links": {}, - "name": "div_euclid", + "name": "from_be", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57420,26 +55800,20 @@ "10702": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i128 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = i128::MIN.rem_euclid(-1);\n```", + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai64;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(i64::from_le(n), n)\n} else {\n assert_eq!(i64::from_le(n), n.swap_bytes())\n}\n```", "id": 10702, "inner": { "function": { @@ -57457,34 +55831,28 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "x", { - "primitive": "i128" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, "links": {}, - "name": "rem_euclid", + "name": "from_le", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57494,20 +55862,20 @@ "10703": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i128 = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai64;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", "id": 10703, "inner": { "function": { @@ -57529,30 +55897,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, "links": {}, - "name": "div_floor", + "name": "to_be", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57562,20 +55924,20 @@ "10704": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i128 = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai64;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", "id": 10704, "inner": { "function": { @@ -57597,30 +55959,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, "links": {}, - "name": "div_ceil", + "name": "to_le", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57630,7 +55986,10 @@ "10705": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -57640,7 +55999,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i128.next_multiple_of(8), 16);\nassert_eq!(23_i128.next_multiple_of(8), 24);\nassert_eq!(16_i128.next_multiple_of(-8), 16);\nassert_eq!(23_i128.next_multiple_of(-8), 16);\nassert_eq!((-16_i128).next_multiple_of(8), -16);\nassert_eq!((-23_i128).next_multiple_of(8), -16);\nassert_eq!((-16_i128).next_multiple_of(-8), -16);\nassert_eq!((-23_i128).next_multiple_of(-8), -24);\n```", + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((i64::MAX - 2).checked_add(1), Some(i64::MAX - 1));\nassert_eq!((i64::MAX - 2).checked_add(3), None);\n```", "id": 10705, "inner": { "function": { @@ -57666,26 +56025,41 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "next_multiple_of", + "name": "checked_add", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57695,17 +56069,23 @@ "10706": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i128.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_i128.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_i128.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_i128.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_i128).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_i128).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_i128).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_i128).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_i128.checked_next_multiple_of(0), None);\nassert_eq!(i128::MAX.checked_next_multiple_of(2), None);\n```", + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i64::MAX - 2).strict_add(1), i64::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i64::MAX - 2).strict_add(3);\n```", "id": 10706, "inner": { "function": { @@ -57731,41 +56111,26 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, "links": {}, - "name": "checked_next_multiple_of", + "name": "strict_add", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57775,23 +56140,20 @@ "10707": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5i128.ilog(5), 1);\n```", + "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_add(27), 127);\nassert_eq!(i64::MAX.wrapping_add(2), i64::MIN + 1);\n```", "id": 10707, "inner": { "function": { @@ -57815,28 +56177,28 @@ } ], [ - "base", + "rhs", { - "primitive": "i128" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i64" } } } }, "links": {}, - "name": "ilog", + "name": "wrapping_add", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57846,10 +56208,10 @@ "10708": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { @@ -57862,7 +56224,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10i128.ilog10(), 1);\n```", + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > i64::MAX` or `self + rhs < i64::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: i64::checked_add\n[`wrapping_add`]: i64::wrapping_add", "id": 10708, "inner": { "function": { @@ -57875,7 +56237,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -57884,24 +56246,33 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i64" } } } }, - "links": {}, - "name": "ilog10", + "links": { + "i64::checked_add": 10705, + "i64::wrapping_add": 10707 + }, + "name": "unchecked_add", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -57911,10 +56282,10 @@ "10709": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -57924,7 +56295,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5i128.checked_ilog(5), Some(1));\n```", + "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i64.checked_add_unsigned(2), Some(3));\nassert_eq!((i64::MAX - 2).checked_add_unsigned(3), None);\n```", "id": 10709, "inner": { "function": { @@ -57948,9 +56319,9 @@ } ], [ - "base", + "rhs", { - "primitive": "i128" + "primitive": "u64" } ] ], @@ -57962,7 +56333,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "i64" } } ], @@ -57977,14 +56348,14 @@ } }, "links": {}, - "name": "checked_ilog", + "name": "checked_add_unsigned", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58076,11 +56447,11 @@ "name": null, "span": { "begin": [ - 2159, + 2154, 1 ], "end": [ - 2164, + 2159, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -58090,20 +56461,23 @@ "10710": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2i128.checked_ilog2(), Some(1));\n```", + "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i64.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i64::MAX - 2).strict_add_unsigned(3);\n```", "id": 10710, "inner": { "function": { @@ -58125,39 +56499,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u64" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, "links": {}, - "name": "checked_ilog2", + "name": "strict_add_unsigned", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58167,10 +56532,10 @@ "10711": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -58180,7 +56545,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10i128.checked_ilog10(), Some(1));\n```", + "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 2).checked_sub(1), Some(i64::MIN + 1));\nassert_eq!((i64::MIN + 2).checked_sub(3), None);\n```", "id": 10711, "inner": { "function": { @@ -58202,6 +56567,12 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i64" + } ] ], "is_c_variadic": false, @@ -58212,7 +56583,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "i64" } } ], @@ -58227,14 +56598,14 @@ } }, "links": {}, - "name": "checked_ilog10", + "name": "checked_sub", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58244,20 +56615,23 @@ "10712": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`i128::MIN`\ncannot be represented as an\n`i128`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`i128::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10i128.abs(), 10);\nassert_eq!((-10i128).abs(), 10);\n```", + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 2).strict_sub(1), i64::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i64::MIN + 2).strict_sub(3);\n```", "id": 10712, "inner": { "function": { @@ -58279,26 +56653,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, - "links": { - "Self::unsigned_abs": 10676 - }, - "name": "abs", + "links": {}, + "name": "strict_sub", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58308,10 +56686,10 @@ "10713": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -58321,7 +56699,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100i128.abs_diff(80), 20u128);\nassert_eq!(100i128.abs_diff(110), 10u128);\nassert_eq!((-100i128).abs_diff(80), 180u128);\nassert_eq!((-100i128).abs_diff(-120), 20u128);\nassert_eq!(i128::MIN.abs_diff(i128::MAX), u128::MAX);\n```", + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i64.wrapping_sub(127), -127);\nassert_eq!((-2i64).wrapping_sub(i64::MAX), i64::MAX);\n```", "id": 10713, "inner": { "function": { @@ -58345,28 +56723,28 @@ } ], [ - "other", + "rhs", { - "primitive": "i128" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "i64" } } } }, "links": {}, - "name": "abs_diff", + "name": "wrapping_sub", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58376,20 +56754,23 @@ "10714": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10i128.signum(), 1);\nassert_eq!(0i128.signum(), 0);\nassert_eq!((-10i128).signum(), -1);\n```", + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > i64::MAX` or `self - rhs < i64::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: i64::checked_sub\n[`wrapping_sub`]: i64::wrapping_sub", "id": 10714, "inner": { "function": { @@ -58402,7 +56783,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -58411,24 +56792,33 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, - "links": {}, - "name": "signum", + "links": { + "i64::checked_sub": 10711, + "i64::wrapping_sub": 10713 + }, + "name": "unchecked_sub", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58438,20 +56828,20 @@ "10715": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10i128.is_positive());\nassert!(!(-10i128).is_positive());\n```", + "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i64.checked_sub_unsigned(2), Some(-1));\nassert_eq!((i64::MIN + 2).checked_sub_unsigned(3), None);\n```", "id": 10715, "inner": { "function": { @@ -58473,24 +56863,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "is_positive", + "name": "checked_sub_unsigned", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58500,20 +56911,23 @@ "10716": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10i128).is_negative());\nassert!(!10i128.is_negative());\n```", + "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i64.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i64::MIN + 2).strict_sub_unsigned(3);\n```", "id": 10716, "inner": { "function": { @@ -58535,24 +56949,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i64" } } } }, "links": {}, - "name": "is_negative", + "name": "strict_sub_unsigned", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58562,10 +56982,10 @@ "10717": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -58575,7 +56995,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012i128.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]);\n```", + "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(i64::MAX.checked_mul(1), Some(i64::MAX));\nassert_eq!(i64::MAX.checked_mul(2), None);\n```", "id": 10717, "inner": { "function": { @@ -58597,29 +57017,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i64" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "to_be_bytes", + "name": "checked_mul", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58629,20 +57065,23 @@ "10718": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012i128.to_le_bytes();\nassert_eq!(bytes, [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(i64::MAX.strict_mul(1), i64::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = i64::MAX.strict_mul(2);\n```", "id": 10718, "inner": { "function": { @@ -58664,29 +57103,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i64" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "primitive": "i64" } } } }, "links": {}, - "name": "to_le_bytes", + "name": "strict_mul", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58696,10 +57136,10 @@ "10719": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -58709,7 +57149,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012i128.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]\n } else {\n [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", + "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10i64.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", "id": 10719, "inner": { "function": { @@ -58731,32 +57171,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i64" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "primitive": "i64" } } } }, - "links": { - "Self::to_be_bytes": 10717, - "Self::to_le_bytes": 10718 - }, - "name": "to_ne_bytes", + "links": {}, + "name": "wrapping_mul", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58843,11 +57281,11 @@ "name": null, "span": { "begin": [ - 2166, + 2161, 1 ], "end": [ - 2166, + 2161, 52 ], "filename": "std/src/collections/hash/map.rs" @@ -58857,20 +57295,23 @@ "10720": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n\n# Examples\n\n```\nlet value = i128::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]);\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_i128(input: &mut &[u8]) -> i128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i128::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > i64::MAX` or `self * rhs < i64::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: i64::checked_mul\n[`wrapping_mul`]: i64::wrapping_mul", "id": 10720, "inner": { "function": { @@ -58883,38 +57324,42 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, - "links": {}, - "name": "from_be_bytes", + "links": { + "i64::checked_mul": 10717, + "i64::wrapping_mul": 10719 + }, + "name": "unchecked_mul", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58924,20 +57369,20 @@ "10721": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n\n# Examples\n\n```\nlet value = i128::from_le_bytes([0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_i128(input: &mut &[u8]) -> i128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i128::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 1).checked_div(-1), Some(9223372036854775807));\nassert_eq!(i64::MIN.checked_div(-1), None);\nassert_eq!((1i64).checked_div(0), None);\n```", "id": 10721, "inner": { "function": { @@ -58955,33 +57400,49 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "from_le_bytes", + "name": "checked_div", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -58991,20 +57452,23 @@ "10722": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = i128::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]\n} else {\n [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_i128(input: &mut &[u8]) -> i128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i128::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 1).strict_div(-1), 9223372036854775807);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i64).strict_div(0);\n```", "id": 10722, "inner": { "function": { @@ -59022,36 +57486,34 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, - "links": { - "Self::from_be_bytes": 10720, - "Self::from_le_bytes": 10721 - }, - "name": "from_ne_bytes", + "links": {}, + "name": "strict_div", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -59061,21 +57523,20 @@ "10723": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"i128_legacy_fn_min_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`i128::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 1).checked_div_euclid(-1), Some(9223372036854775807));\nassert_eq!(i64::MIN.checked_div_euclid(-1), None);\nassert_eq!((1i64).checked_div_euclid(0), None);\n```", "id": 10723, "inner": { "function": { @@ -59091,25 +57552,51 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i64" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "`i128::MIN`": 10591 - }, - "name": "min_value", + "links": {}, + "name": "checked_div_euclid", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -59119,21 +57606,23 @@ "10724": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"i128_legacy_fn_max_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`i128::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i64::MIN + 1).strict_div_euclid(-1), 9223372036854775807);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i64).strict_div_euclid(0);\n```", "id": 10724, "inner": { "function": { @@ -59149,25 +57638,36 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i64" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "i64" } } } }, - "links": { - "`i128::MAX`": 10592 - }, - "name": "max_value", + "links": {}, + "name": "strict_div_euclid", "span": { "begin": [ - 343, + 319, 5 ], "end": [ - 364, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -59177,19 +57677,7 @@ "10725": { "attrs": [ { - "other": "#[doc(alias = \"average_floor\")]" - }, - { - "other": "#[doc(alias = \"average_ceil\")]" - }, - { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { @@ -59199,7 +57687,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0i128.midpoint(4), 2);\nassert_eq!((-1i128).midpoint(2), 0);\nassert_eq!((-7i128).midpoint(0), -3);\nassert_eq!(0i128.midpoint(-7), -3);\nassert_eq!(0i128.midpoint(7), 3);\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((i64::MIN + 1).checked_exact_div(-1), Some(9223372036854775807));\nassert_eq!((-5i64).checked_exact_div(2), None);\nassert_eq!(i64::MIN.checked_exact_div(-1), None);\nassert_eq!((1i64).checked_exact_div(0), None);\n```", "id": 10725, "inner": { "function": { @@ -59225,217 +57713,126 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "midpoint", + "name": "checked_exact_div", "span": { "begin": [ - 365, + 319, 5 ], "end": [ - 365, - 36 + 338, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10726": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64i64.exact_div(2), 32);\nassert_eq!(64i64.exact_div(32), 2);\nassert_eq!((i64::MIN + 1).exact_div(-1), 9223372036854775807);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65i64.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = i64::MIN.exact_div(-1);\n```", "id": 10726, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i128" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10591, - 10592, - 10593, - 10594, - 10595, - 10597, - 10598, - 10599, - 10600, - 10601, - 10602, - 10603, - 10604, - 10605, - 10606, - 10607, - 10608, - 10609, - 10610, - 10611, - 10612, - 10613, - 10614, - 10615, - 10617, - 10618, - 10619, - 10620, - 10621, - 10623, - 10624, - 10625, - 10626, - 10627, - 10629, - 10630, - 10631, - 10632, - 10633, - 10634, - 10635, - 10636, - 10637, - 10638, - 10639, - 10640, - 10641, - 10642, - 10643, - 10644, - 10645, - 10646, - 10647, - 10648, - 10649, - 10650, - 10651, - 10652, - 10653, - 10654, - 10655, - 10656, - 10657, - 10658, - 10659, - 10660, - 10661, - 10662, - 10663, - 10664, - 10665, - 10616, - 10666, - 10622, - 10667, - 10628, - 10668, - 10669, - 10670, - 10671, - 10672, - 10673, - 10674, - 10675, - 10676, - 10677, - 10678, - 10680, - 10681, - 10682, - 10684, - 10685, - 10686, - 10688, - 10687, - 10689, - 10690, - 10691, - 10692, - 10693, - 10694, - 10695, - 10696, - 10697, - 10698, - 10699, - 10700, - 10701, - 10702, - 10703, - 10704, - 10705, - 10706, - 10707, - 10596, - 10708, - 10709, - 10710, - 10711, - 10712, - 10713, - 10714, - 10715, - 10716, - 10717, - 10718, - 10719, - 10720, - 10721, - 10722, - 10723, - 10724, - 10725 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i64" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i64" + } + } } }, "links": {}, - "name": null, + "name": "exact_div", "span": { "begin": [ - 342, - 1 + 319, + 5 ], "end": [ - 342, - 10 + 338, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10727": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(i128::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(i128::from_str_radix(\"1 \", 10).is_err());\n```", + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == i64::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", "id": 10727, "inner": { "function": { @@ -59448,70 +57845,42 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "generic": "Self" } ], [ - "radix", + "rhs", { - "primitive": "u32" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "i64" } } } }, - "links": {}, - "name": "from_str_radix", + "links": { + "Self::checked_exact_div": 10725 + }, + "name": "unchecked_exact_div", "span": { "begin": [ - 1630, - 1 + 319, + 5 ], "end": [ - 1630, - 56 + 338, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -59520,12 +57889,20 @@ "10728": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i128::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i128::from_ascii(b\"1 \").is_err());\n```", + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i64.checked_rem(2), Some(1));\nassert_eq!(5i64.checked_rem(0), None);\nassert_eq!(i64::MIN.checked_rem(-1), None);\n```", "id": 10728, "inner": { "function": { @@ -59543,17 +57920,15 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i64" } ] ], @@ -59565,39 +57940,30 @@ "args": [ { "type": { - "primitive": "i128" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } + "primitive": "i64" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "from_ascii", + "name": "checked_rem", "span": { "begin": [ - 1630, - 1 + 319, + 5 ], "end": [ - 1630, - 56 + 338, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -59606,12 +57972,23 @@ "10729": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i128::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i128::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i64.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i64.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_rem(-1);\n```", "id": 10729, "inner": { "function": { @@ -59629,67 +58006,35 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "Self" } ], [ - "radix", + "rhs", { - "primitive": "u32" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "i64" } } } }, "links": {}, - "name": "from_ascii_radix", + "name": "strict_rem", "span": { "begin": [ - 1630, - 1 + 319, + 5 ], "end": [ - 1630, - 56 + 338, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -59746,7 +58091,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -59758,7 +58103,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -59769,11 +58114,11 @@ "name": "fmt", "span": { "begin": [ - 2170, + 2165, 5 ], "end": [ - 2172, + 2167, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -59781,57 +58126,108 @@ "visibility": "default" }, "10730": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i64.checked_rem_euclid(2), Some(1));\nassert_eq!(5i64.checked_rem_euclid(0), None);\nassert_eq!(i64::MIN.checked_rem_euclid(-1), None);\n```", "id": 10730, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i128" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10727, - 10728, - 10729 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i64" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": null, + "name": "checked_rem_euclid", "span": { "begin": [ - 1630, - 1 + 319, + 5 ], "end": [ - 1630, - 56 + 338, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10731": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0i128;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = i128::MIN;\nassert_eq!(n1.format_into(&mut buf), i128::MIN.to_string());\n\nlet n2 = i128::MAX;\nassert_eq!(n2.format_into(&mut buf), i128::MAX.to_string());\n```", + "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i64.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i64.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_rem_euclid(-1);\n```", "id": 10731, "inner": { "function": { @@ -59843,7 +58239,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -59855,131 +58251,169 @@ } ], [ - "buf", + "rhs", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 10162, - "path": "NumBuffer" - } - } - } + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "primitive": "i64" } } } }, - "links": { - "`NumBuffer`": 10162 - }, - "name": "format_into", + "links": {}, + "name": "strict_rem_euclid", "span": { "begin": [ - 757, + 319, 5 ], "end": [ - 757, - 64 + 338, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10732": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5i64.checked_neg(), Some(-5));\nassert_eq!(i64::MIN.checked_neg(), None);\n```", "id": 10732, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "i128" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10731 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": null, + "name": "checked_neg", "span": { "begin": [ - 736, - 1 + 319, + 5 ], "end": [ - 736, - 10 + 338, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10733": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(u8::MIN, 0);\n```", + "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == i64::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: i64::checked_neg", "id": 10733, "inner": { - "assoc_const": { - "type": { - "primitive": "u8" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "0" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i64" + } + } } }, - "links": {}, - "name": "MIN", + "links": { + "i64::checked_neg": 10732 + }, + "name": "unchecked_neg", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -59989,30 +58423,62 @@ "10734": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(28 − 1).\n\n# Examples\n\n```\nassert_eq!(u8::MAX, 255);\n```", + "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5i64.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_neg();\n```", "id": 10734, "inner": { - "assoc_const": { - "type": { - "primitive": "u8" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i64" + } + } } }, "links": {}, - "name": "MAX", + "name": "strict_neg", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60022,30 +58488,80 @@ "10735": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(u8::BITS, 8);\n```", + "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1i64.checked_shl(4), Some(0x10));\nassert_eq!(0x1i64.checked_shl(129), None);\nassert_eq!(0x10i64.checked_shl(63), Some(0));\n```", "id": 10735, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": "BITS", + "name": "checked_shl", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60055,26 +58571,23 @@ "10736": { "attrs": [ { - "other": "#[doc(alias = \"popcount\")]" - }, - { - "other": "#[doc(alias = \"popcnt\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100u8;\nassert_eq!(n.count_ones(), 3);\n\nlet max = u8::MAX;\nassert_eq!(max.count_ones(), 8);\n\nlet zero = 0u8;\nassert_eq!(zero.count_ones(), 0);\n```", + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1i64.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1i64.strict_shl(129);\n```", "id": 10736, "inner": { "function": { @@ -60096,24 +58609,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i64" } } } }, "links": {}, - "name": "count_ones", + "name": "strict_shl", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60123,20 +58642,20 @@ "10737": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0u8;\nassert_eq!(zero.count_zeros(), 8);\n\nlet max = u8::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: i64::checked_shl", "id": 10737, "inner": { "function": { @@ -60149,7 +58668,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -60158,24 +58677,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i64" } } } }, - "links": {}, - "name": "count_zeros", + "links": { + "i64::checked_shl": 10735 + }, + "name": "unchecked_shl", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60185,23 +58712,20 @@ "10738": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2u8.ilog2(), 1);\n```", + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1i64.unbounded_shl(4), 0x10);\nassert_eq!(0x1i64.unbounded_shl(129), 0);\n```", "id": 10738, "inner": { "function": { @@ -60223,24 +58747,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i64" } } } }, "links": {}, - "name": "ilog2", + "name": "unbounded_shl", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60250,10 +58780,7 @@ "10739": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -60263,7 +58790,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = u8::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0u8;\nassert_eq!(zero.leading_zeros(), 8);\n\nlet max = u8::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: u8::ilog2", + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any bits that would be shifted out differ from the resulting sign bit\nor if `rhs` >=\n`i64::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1i64.exact_shl(4), Some(0x10));\nassert_eq!(0x1i64.exact_shl(i64::BITS - 2), Some(1 << i64::BITS - 2));\nassert_eq!(0x1i64.exact_shl(i64::BITS - 1), None);\nassert_eq!((-0x2i64).exact_shl(i64::BITS - 2), Some(-0x2 << i64::BITS - 2));\nassert_eq!((-0x2i64).exact_shl(i64::BITS - 1), None);\n```", "id": 10739, "inner": { "function": { @@ -60285,26 +58812,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "u8::ilog2": 10738 - }, - "name": "leading_zeros", + "links": {}, + "name": "exact_shl", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60372,7 +58918,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -60396,7 +58942,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -60405,11 +58951,11 @@ "name": null, "span": { "begin": [ - 2169, + 2164, 1 ], "end": [ - 2173, + 2168, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -60419,10 +58965,7 @@ "10740": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -60432,7 +58975,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000u8;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0u8;\nassert_eq!(zero.trailing_zeros(), 8);\n\nlet max = u8::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`i64::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs >= self.leading_zeros() && rhs >=\nself.leading_ones()` i.e. when\n[`i64::exact_shl`]\nwould return `None`.", "id": 10740, "inner": { "function": { @@ -60445,7 +58988,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -60454,24 +58997,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i64" } } } }, - "links": {}, - "name": "trailing_zeros", + "links": { + "`i64::exact_shl`": 10739 + }, + "name": "unchecked_exact_shl", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60481,10 +59032,10 @@ "10741": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -60494,7 +59045,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(u8::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0u8;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = u8::MAX;\nassert_eq!(max.leading_ones(), 8);\n```", + "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10i64.checked_shr(4), Some(0x1));\nassert_eq!(0x10i64.checked_shr(128), None);\n```", "id": 10741, "inner": { "function": { @@ -60516,24 +59067,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "leading_ones", + "name": "checked_shr", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60543,20 +59115,23 @@ "10742": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111u8;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0u8;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = u8::MAX;\nassert_eq!(max.trailing_ones(), 8);\n```", + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10i64.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10i64.strict_shr(128);\n```", "id": 10742, "inner": { "function": { @@ -60578,24 +59153,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i64" } } } }, "links": {}, - "name": "trailing_ones", + "name": "strict_shr", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60605,17 +59186,20 @@ "10743": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_u8.bit_width(), 0);\nassert_eq!(0b111_u8.bit_width(), 3);\nassert_eq!(0b1110_u8.bit_width(), 4);\nassert_eq!(u8::MAX.bit_width(), 8);\n```", + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: i64::checked_shr", "id": 10743, "inner": { "function": { @@ -60628,7 +59212,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -60637,24 +59221,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i64" } } } }, - "links": {}, - "name": "bit_width", + "links": { + "i64::checked_shr": 10741 + }, + "name": "unchecked_shr", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60664,7 +59256,10 @@ "10744": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { @@ -60674,7 +59269,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u8 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_u8.isolate_highest_one(), 0);\n```", + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10i64.unbounded_shr(4), 0x1);\nassert_eq!(0x10i64.unbounded_shr(129), 0);\nassert_eq!(i64::MIN.unbounded_shr(129), -1);\n```", "id": 10744, "inner": { "function": { @@ -60696,24 +59291,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "isolate_highest_one", + "name": "unbounded_shr", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60723,7 +59324,7 @@ "10745": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -60733,7 +59334,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u8 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_u8.isolate_lowest_one(), 0);\n```", + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`i64::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10i64.exact_shr(4), Some(0x1));\nassert_eq!(0x10i64.exact_shr(5), None);\n```", "id": 10745, "inner": { "function": { @@ -60755,24 +59356,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "isolate_lowest_one", + "name": "exact_shr", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60782,7 +59404,7 @@ "10746": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -60792,7 +59414,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u8.highest_one(), None);\nassert_eq!(0x1_u8.highest_one(), Some(0));\nassert_eq!(0x10_u8.highest_one(), Some(4));\nassert_eq!(0x1f_u8.highest_one(), Some(4));\n```", + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`i64::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\ni64::BITS`\ni.e. when\n[`i64::exact_shr`]\nwould return `None`.", "id": 10746, "inner": { "function": { @@ -60805,7 +59427,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -60814,39 +59436,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, - "links": {}, - "name": "highest_one", + "links": { + "`i64::exact_shr`": 10745 + }, + "name": "unchecked_exact_shr", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60856,7 +59471,10 @@ "10747": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { @@ -60866,7 +59484,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u8.lowest_one(), None);\nassert_eq!(0x1_u8.lowest_one(), Some(0));\nassert_eq!(0x10_u8.lowest_one(), Some(4));\nassert_eq!(0x1f_u8.lowest_one(), Some(0));\n```", + "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5i64).checked_abs(), Some(5));\nassert_eq!(i64::MIN.checked_abs(), None);\n```", "id": 10747, "inner": { "function": { @@ -60898,7 +59516,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "i64" } } ], @@ -60913,14 +59531,14 @@ } }, "links": {}, - "name": "lowest_one", + "name": "checked_abs", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60930,20 +59548,23 @@ "10748": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0x82u8;\nlet m = 0xa;\n\nassert_eq!(n.rotate_left(2), m);\n```", + "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5i64).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MIN.strict_abs();\n```", "id": 10748, "inner": { "function": { @@ -60965,30 +59586,24 @@ { "generic": "Self" } - ], - [ - "n", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "rotate_left", + "name": "strict_abs", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -60998,10 +59613,10 @@ "10749": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -61011,7 +59626,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0xau8;\nlet m = 0x82;\n\nassert_eq!(n.rotate_right(2), m);\n```", + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8i64.checked_pow(2), Some(64));\nassert_eq!(i64::MAX.checked_pow(2), None);\n```", "id": 10749, "inner": { "function": { @@ -61035,7 +59650,7 @@ } ], [ - "n", + "exp", { "primitive": "u32" } @@ -61043,20 +59658,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "rotate_right", + "name": "checked_pow", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61066,20 +59696,23 @@ "10750": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12u8;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x12);\n```", + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8i64.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i64::MAX.strict_pow(2);\n```", "id": 10750, "inner": { "function": { @@ -61101,24 +59734,30 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "swap_bytes", + "name": "strict_pow", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61128,10 +59767,10 @@ "10751": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { @@ -61141,7 +59780,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12u8;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x48);\nassert_eq!(0, 0u8.reverse_bits());\n```", + "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i64.checked_isqrt(), Some(3));\n```", "id": 10751, "inner": { "function": { @@ -61167,20 +59806,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "reverse_bits", + "name": "checked_isqrt", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61190,20 +59844,20 @@ "10752": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au8;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(u8::from_be(n), n)\n} else {\n assert_eq!(u8::from_be(n), n.swap_bytes())\n}\n```", + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i64.saturating_add(1), 101);\nassert_eq!(i64::MAX.saturating_add(100), i64::MAX);\nassert_eq!(i64::MIN.saturating_add(-1), i64::MIN);\n```", "id": 10752, "inner": { "function": { @@ -61221,28 +59875,34 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "u8" + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "from_be", + "name": "saturating_add", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61252,20 +59912,20 @@ "10753": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au8;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(u8::from_le(n), n)\n} else {\n assert_eq!(u8::from_le(n), n.swap_bytes())\n}\n```", + "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1i64.saturating_add_unsigned(2), 3);\nassert_eq!(i64::MAX.saturating_add_unsigned(100), i64::MAX);\n```", "id": 10753, "inner": { "function": { @@ -61283,28 +59943,34 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "u8" + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "from_le", + "name": "saturating_add_unsigned", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61314,7 +59980,7 @@ "10754": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -61327,7 +59993,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au8;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i64.saturating_sub(127), -27);\nassert_eq!(i64::MIN.saturating_sub(100), i64::MIN);\nassert_eq!(i64::MAX.saturating_sub(-1), i64::MAX);\n```", "id": 10754, "inner": { "function": { @@ -61349,24 +60015,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "to_be", + "name": "saturating_sub", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61376,10 +60048,10 @@ "10755": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -61389,7 +60061,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au8;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i64.saturating_sub_unsigned(127), -27);\nassert_eq!(i64::MIN.saturating_sub_unsigned(100), i64::MIN);\n```", "id": 10755, "inner": { "function": { @@ -61411,24 +60083,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "to_le", + "name": "saturating_sub_unsigned", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61438,10 +60116,10 @@ "10756": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" }, { "must_use": { @@ -61451,7 +60129,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((u8::MAX - 2).checked_add(1), Some(u8::MAX - 1));\nassert_eq!((u8::MAX - 2).checked_add(3), None);\n```", + "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i64.saturating_neg(), -100);\nassert_eq!((-100i64).saturating_neg(), 100);\nassert_eq!(i64::MIN.saturating_neg(), i64::MAX);\nassert_eq!(i64::MAX.saturating_neg(), i64::MIN + 1);\n```", "id": 10756, "inner": { "function": { @@ -61473,45 +60151,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, "links": {}, - "name": "checked_add", + "name": "saturating_neg", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61521,23 +60178,20 @@ "10757": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((u8::MAX - 2).strict_add(1), u8::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (u8::MAX - 2).strict_add(3);\n```", + "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i64.saturating_abs(), 100);\nassert_eq!((-100i64).saturating_abs(), 100);\nassert_eq!(i64::MIN.saturating_abs(), i64::MAX);\nassert_eq!((i64::MIN + 1).saturating_abs(), i64::MAX);\n```", "id": 10757, "inner": { "function": { @@ -61559,30 +60213,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "strict_add", + "name": "saturating_abs", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61592,10 +60240,10 @@ "10758": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -61605,7 +60253,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200u8.wrapping_add(55), 255);\nassert_eq!(200u8.wrapping_add(u8::MAX), 199);\n```", + "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10i64.saturating_mul(12), 120);\nassert_eq!(i64::MAX.saturating_mul(10), i64::MAX);\nassert_eq!(i64::MIN.saturating_mul(10), i64::MIN);\n```", "id": 10758, "inner": { "function": { @@ -61631,26 +60279,26 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "wrapping_add", + "name": "saturating_mul", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61660,23 +60308,20 @@ "10759": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > u8::MAX` or `self + rhs < u8::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: u8::checked_add\n[`wrapping_add`]: u8::wrapping_add", + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i64.saturating_div(2), 2);\nassert_eq!(i64::MAX.saturating_div(-1), i64::MIN + 1);\nassert_eq!(i64::MIN.saturating_div(-1), i64::MAX);\n\n```", "id": 10759, "inner": { "function": { @@ -61689,7 +60334,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -61702,29 +60347,26 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, - "links": { - "u8::checked_add": 10756, - "u8::wrapping_add": 10758 - }, - "name": "unchecked_add", + "links": {}, + "name": "saturating_div", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61851,10 +60493,10 @@ "10760": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -61864,7 +60506,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u8.checked_add_signed(2), Some(3));\nassert_eq!(1u8.checked_add_signed(-2), None);\nassert_eq!((u8::MAX - 2).checked_add_signed(3), None);\n```", + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4i64).saturating_pow(3), -64);\nassert_eq!(i64::MIN.saturating_pow(2), i64::MAX);\nassert_eq!(i64::MIN.saturating_pow(3), i64::MIN);\n```", "id": 10760, "inner": { "function": { @@ -61888,43 +60530,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "i8" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, "links": {}, - "name": "checked_add_signed", + "name": "saturating_pow", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -61934,23 +60561,20 @@ "10761": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u8.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u8.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (u8::MAX - 2).strict_add_signed(3);\n```", + "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_add_unsigned(27), 127);\nassert_eq!(i64::MAX.wrapping_add_unsigned(2), i64::MIN + 1);\n```", "id": 10761, "inner": { "function": { @@ -61976,26 +60600,26 @@ [ "rhs", { - "primitive": "i8" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "strict_add_signed", + "name": "wrapping_add_unsigned", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62005,10 +60629,10 @@ "10762": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -62018,7 +60642,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u8.checked_sub(1), Some(0));\nassert_eq!(0u8.checked_sub(1), None);\n```", + "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i64.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2i64).wrapping_sub_unsigned(u64::MAX), -1);\n```", "id": 10762, "inner": { "function": { @@ -62044,41 +60668,26 @@ [ "rhs", { - "primitive": "u8" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, "links": {}, - "name": "checked_sub", + "name": "wrapping_sub_unsigned", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62088,23 +60697,20 @@ "10763": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u8.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0u8.strict_sub(1);\n```", + "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", "id": 10763, "inner": { "function": { @@ -62130,26 +60736,26 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "strict_sub", + "name": "wrapping_div", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62159,10 +60765,10 @@ "10764": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -62172,7 +60778,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100u8.wrapping_sub(100), 0);\nassert_eq!(100u8.wrapping_sub(u8::MAX), 101);\n```", + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", "id": 10764, "inner": { "function": { @@ -62198,26 +60804,26 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "wrapping_sub", + "name": "wrapping_div_euclid", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62227,23 +60833,20 @@ "10765": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > u8::MAX` or `self - rhs < u8::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: u8::checked_sub\n[`wrapping_sub`]: u8::wrapping_sub", + "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", "id": 10765, "inner": { "function": { @@ -62256,7 +60859,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -62269,29 +60872,26 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, - "links": { - "u8::checked_sub": 10762, - "u8::wrapping_sub": 10764 - }, - "name": "unchecked_sub", + "links": {}, + "name": "wrapping_rem", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62301,10 +60901,10 @@ "10766": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -62314,7 +60914,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u8.checked_sub_signed(2), None);\nassert_eq!(1u8.checked_sub_signed(-2), Some(3));\nassert_eq!((u8::MAX - 2).checked_sub_signed(-4), None);\n```", + "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", "id": 10766, "inner": { "function": { @@ -62340,41 +60940,26 @@ [ "rhs", { - "primitive": "i8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, "links": {}, - "name": "checked_sub_signed", + "name": "wrapping_rem_euclid", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62384,23 +60969,20 @@ "10767": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3u8.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u8.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (u8::MAX).strict_sub_signed(-1);\n```", + "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_neg(), -100);\nassert_eq!((-100i64).wrapping_neg(), 100);\nassert_eq!(i64::MIN.wrapping_neg(), i64::MIN);\n```", "id": 10767, "inner": { "function": { @@ -62422,30 +61004,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "strict_sub_signed", + "name": "wrapping_neg", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62455,15 +61031,20 @@ "10768": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`i8`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10u8.checked_signed_diff(2), Some(8));\nassert_eq!(2u8.checked_signed_diff(10), Some(-8));\nassert_eq!(u8::MAX.checked_signed_diff(i8::MAX as u8), None);\nassert_eq!((i8::MAX as u8).checked_signed_diff(u8::MAX), Some(i8::MIN));\nassert_eq!((i8::MAX as u8 + 1).checked_signed_diff(0), None);\nassert_eq!(u8::MAX.checked_signed_diff(u8::MAX), Some(0));\n```", + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1i64).wrapping_shl(7), -128);\nassert_eq!((-1i64).wrapping_shl(128), -1);\n```", "id": 10768, "inner": { "function": { @@ -62489,43 +61070,28 @@ [ "rhs", { - "primitive": "u8" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, "links": { - "`i8`": 4812 + "Self::rotate_left": 10697 }, - "name": "checked_signed_diff", + "name": "wrapping_shl", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62535,10 +61101,10 @@ "10769": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -62548,7 +61114,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5u8.checked_mul(1), Some(5));\nassert_eq!(u8::MAX.checked_mul(2), None);\n```", + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128i64).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", "id": 10769, "inner": { "function": { @@ -62574,41 +61140,28 @@ [ "rhs", { - "primitive": "u8" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, - "links": {}, - "name": "checked_mul", + "links": { + "Self::rotate_right": 10698 + }, + "name": "wrapping_shr", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62735,23 +61288,20 @@ "10770": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5u8.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = u8::MAX.strict_mul(2);\n```", + "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i64.wrapping_abs(), 100);\nassert_eq!((-100i64).wrapping_abs(), 100);\nassert_eq!(i64::MIN.wrapping_abs(), i64::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", "id": 10770, "inner": { "function": { @@ -62773,30 +61323,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "strict_mul", + "name": "wrapping_abs", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62806,10 +61350,10 @@ "10771": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" }, { "must_use": { @@ -62819,7 +61363,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", + "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100i64.unsigned_abs(), 100u64);\nassert_eq!((-100i64).unsigned_abs(), 100u64);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", "id": 10771, "inner": { "function": { @@ -62841,30 +61385,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "u64" } } } }, "links": {}, - "name": "wrapping_mul", + "name": "unsigned_abs", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62874,23 +61412,20 @@ "10772": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > u8::MAX` or `self * rhs < u8::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: u8::checked_mul\n[`wrapping_mul`]: u8::wrapping_mul", + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3i64.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", "id": 10772, "inner": { "function": { @@ -62903,7 +61438,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -62914,31 +61449,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "u8" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, - "links": { - "u8::checked_mul": 10769, - "u8::wrapping_mul": 10771 - }, - "name": "unchecked_mul", + "links": {}, + "name": "wrapping_pow", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -62948,10 +61480,10 @@ "10773": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -62961,7 +61493,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u8.checked_div(2), Some(64));\nassert_eq!(1u8.checked_div(0), None);\n```", + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_add(2), (7, false));\nassert_eq!(i64::MAX.overflowing_add(1), (i64::MIN, true));\n```", "id": 10773, "inner": { "function": { @@ -62987,41 +61519,33 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i64" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_div", + "name": "overflowing_add", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63031,23 +61555,20 @@ "10774": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u8).strict_div(0);\n```", + "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry (in that order).\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 64-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n// 3 MAX (a = 3 × 2^64 + 2^64 - 1)\n// + 5 7 (b = 5 × 2^64 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^64 + 6)\n\nlet (a1, a0): (u64, u64) = (3, u64::MAX);\nlet (b1, b0): (u64, u64) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", "id": 10774, "inner": { "function": { @@ -63073,26 +61594,41 @@ [ "rhs", { - "primitive": "u8" + "primitive": "u64" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "tuple": [ + { + "primitive": "u64" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "strict_div", + "links": { + "Self::overflowing_add": 11502 + }, + "name": "carrying_add", "span": { "begin": [ - 447, + 1160, 5 ], "end": [ - 465, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63102,10 +61638,7 @@ "10775": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -63115,7 +61648,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u8.checked_div_euclid(2), Some(64));\nassert_eq!(1u8.checked_div_euclid(0), None);\n```", + "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`u64::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^64 + 2^64 - 1)\n// + -5 9 (b = -5 × 2^64 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^64 + 8)\n\nlet (a1, a0): (i64, u64) = (10, u64::MAX);\nlet (b1, b0): (i64, u64) = (-5, 9);\nlet carry0 = false;\n\n// u64::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// i64::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", "id": 10775, "inner": { "function": { @@ -63141,41 +61674,42 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i64" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "checked_div_euclid", + "links": { + "Self::overflowing_add": 10773, + "`u64::carrying_add`": 10774 + }, + "name": "carrying_add", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63185,23 +61719,20 @@ "10776": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u8).strict_div_euclid(0);\n```", + "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i64.overflowing_add_unsigned(2), (3, false));\nassert_eq!((i64::MIN).overflowing_add_unsigned(u64::MAX), (i64::MAX, false));\nassert_eq!((i64::MAX - 2).overflowing_add_unsigned(3), (i64::MIN, true));\n```", "id": 10776, "inner": { "function": { @@ -63227,26 +61758,33 @@ [ "rhs", { - "primitive": "u8" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "tuple": [ + { + "primitive": "i64" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_div_euclid", + "name": "overflowing_add_unsigned", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63256,7 +61794,10 @@ "10777": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -63266,7 +61807,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u8.checked_exact_div(2), Some(32));\nassert_eq!(64u8.checked_exact_div(32), Some(2));\nassert_eq!(64u8.checked_exact_div(0), None);\nassert_eq!(65u8.checked_exact_div(2), None);\n```", + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_sub(2), (3, false));\nassert_eq!(i64::MIN.overflowing_sub(1), (i64::MAX, true));\n```", "id": 10777, "inner": { "function": { @@ -63292,41 +61833,33 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i64" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_exact_div", + "name": "overflowing_sub", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63336,7 +61869,10 @@ "10778": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -63346,7 +61882,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u8.exact_div(2), 32);\nassert_eq!(64u8.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65u8.exact_div(2);\n```", + "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n// 9 6 (a = 9 × 2^64 + 6)\n// - 5 7 (b = 5 × 2^64 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (u64, u64) = (9, 6);\nlet (b1, b0): (u64, u64) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, u64::MAX));\n```", "id": 10778, "inner": { "function": { @@ -63372,26 +61908,39 @@ [ "rhs", { - "primitive": "u8" + "primitive": "u64" + } + ], + [ + "borrow", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "tuple": [ + { + "primitive": "u64" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "exact_div", + "name": "borrowing_sub", "span": { "begin": [ - 447, + 1160, 5 ], "end": [ - 465, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63401,7 +61950,7 @@ "10779": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -63411,7 +61960,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`u64::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^64 + 8)\n// - -5 9 (b = -5 × 2^64 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (i64, u64) = (6, 8);\nlet (b1, b0): (i64, u64) = (-5, 9);\nlet borrow0 = false;\n\n// u64::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// i64::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, u64::MAX));\n```", "id": 10779, "inner": { "function": { @@ -63424,7 +61973,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -63437,28 +61986,42 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" + } + ], + [ + "borrow", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "tuple": [ + { + "primitive": "i64" + }, + { + "primitive": "bool" + } + ] } } } }, "links": { - "Self::checked_exact_div": 10777 + "Self::overflowing_sub": 10777, + "`u64::borrowing_sub`": 10778 }, - "name": "unchecked_exact_div", + "name": "borrowing_sub", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63529,7 +62092,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -63542,10 +62105,10 @@ "10780": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -63555,7 +62118,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u8.checked_rem(2), Some(1));\nassert_eq!(5u8.checked_rem(0), None);\n```", + "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i64.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((i64::MAX).overflowing_sub_unsigned(u64::MAX), (i64::MIN, false));\nassert_eq!((i64::MIN + 2).overflowing_sub_unsigned(3), (i64::MAX, true));\n```", "id": 10780, "inner": { "function": { @@ -63581,41 +62144,33 @@ [ "rhs", { - "primitive": "u8" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i64" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_rem", + "name": "overflowing_sub_unsigned", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63625,23 +62180,20 @@ "10781": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u8.strict_rem(0);\n```", + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", "id": 10781, "inner": { "function": { @@ -63667,26 +62219,33 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "tuple": [ + { + "primitive": "i64" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_rem", + "name": "overflowing_mul", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63696,10 +62255,10 @@ "10782": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -63709,7 +62268,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u8.checked_rem_euclid(2), Some(1));\nassert_eq!(5u8.checked_rem_euclid(0), None);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(i64::MAX.carrying_mul(i64::MAX, i64::MAX), (i64::MAX.unsigned_abs() + 1, i64::MAX / 2));\n```", "id": 10782, "inner": { "function": { @@ -63735,41 +62294,41 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" + } + ], + [ + "carry", + { + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u64" }, - "id": 51, - "path": "Option" - } + { + "primitive": "i64" + } + ] } } } }, - "links": {}, - "name": "checked_rem_euclid", + "links": { + "`Self::widening_mul`": 10783 + }, + "name": "carrying_mul", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63779,23 +62338,20 @@ "10783": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u8.strict_rem_euclid(0);\n```", + "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", "id": 10783, "inner": { "function": { @@ -63821,26 +62377,35 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "tuple": [ + { + "primitive": "u64" + }, + { + "primitive": "i64" + } + ] } } } }, - "links": {}, - "name": "strict_rem_euclid", + "links": { + "`Self::carrying_mul`": 10782 + }, + "name": "widening_mul", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63850,15 +62415,20 @@ "10784": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_u8.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(i64::MAX.carrying_mul_add(i64::MAX, i64::MAX, i64::MAX), (u64::MAX, i64::MAX / 2));\n```", "id": 10784, "inner": { "function": { @@ -63871,7 +62441,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -63882,28 +62452,50 @@ } ], [ - "other", + "rhs", { - "primitive": "u8" + "primitive": "i64" + } + ], + [ + "carry", + { + "primitive": "i64" + } + ], + [ + "add", + { + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "tuple": [ + { + "primitive": "u64" + }, + { + "primitive": "i64" + } + ] } } } }, - "links": {}, - "name": "unchecked_disjoint_bitor", + "links": { + "`Self::carrying_mul`": 10782, + "`Self::widening_mul`": 10783 + }, + "name": "carrying_mul_add", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63913,23 +62505,20 @@ "10785": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5u8.ilog(5), 1);\n```", + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_div(2), (2, false));\nassert_eq!(i64::MIN.overflowing_div(-1), (i64::MIN, true));\n```", "id": 10785, "inner": { "function": { @@ -63953,28 +62542,35 @@ } ], [ - "base", + "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "i64" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "ilog", + "name": "overflowing_div", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -63984,23 +62580,20 @@ "10786": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10u8.ilog10(), 1);\n```", + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_div_euclid(2), (2, false));\nassert_eq!(i64::MIN.overflowing_div_euclid(-1), (i64::MIN, true));\n```", "id": 10786, "inner": { "function": { @@ -64022,24 +62615,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "i64" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "ilog10", + "name": "overflowing_div_euclid", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64049,10 +62655,10 @@ "10787": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -64062,7 +62668,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5u8.checked_ilog(5), Some(1));\n```", + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_rem(2), (1, false));\nassert_eq!(i64::MIN.overflowing_rem(-1), (0, true));\n```", "id": 10787, "inner": { "function": { @@ -64086,43 +62692,35 @@ } ], [ - "base", + "rhs", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i64" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_ilog", + "name": "overflowing_rem", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64132,20 +62730,23 @@ "10788": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2u8.checked_ilog2(), Some(1));\n```", + "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i64.overflowing_rem_euclid(2), (1, false));\nassert_eq!(i64::MIN.overflowing_rem_euclid(-1), (0, true));\n```", "id": 10788, "inner": { "function": { @@ -64167,39 +62768,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i64" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i64" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_ilog2", + "name": "overflowing_rem_euclid", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64209,10 +62808,10 @@ "10789": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -64222,7 +62821,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10u8.checked_ilog10(), Some(1));\n```", + "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2i64.overflowing_neg(), (-2, false));\nassert_eq!(i64::MIN.overflowing_neg(), (i64::MIN, true));\n```", "id": 10789, "inner": { "function": { @@ -64248,35 +62847,27 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i64" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_ilog10", + "name": "overflowing_neg", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64403,7 +62994,7 @@ "10790": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -64416,7 +63007,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0u8.checked_neg(), Some(0));\nassert_eq!(1u8.checked_neg(), None);\n```", + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1i64.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10i64.overflowing_shl(63), (0, false));\n```", "id": 10790, "inner": { "function": { @@ -64438,39 +63029,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i64" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_neg", + "name": "overflowing_shl", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64480,23 +63069,20 @@ "10791": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0u8.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1u8.strict_neg();\n", + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10i64.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", "id": 10791, "inner": { "function": { @@ -64518,24 +63104,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "tuple": [ + { + "primitive": "i64" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_neg", + "name": "overflowing_shr", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64545,10 +63144,10 @@ "10792": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { @@ -64558,7 +63157,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1u8.checked_shl(4), Some(0x10));\nassert_eq!(0x10u8.checked_shl(129), None);\nassert_eq!(0x10u8.checked_shl(7), Some(0));\n```", + "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., i64::MIN for values of type i64),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10i64.overflowing_abs(), (10, false));\nassert_eq!((-10i64).overflowing_abs(), (10, false));\nassert_eq!((i64::MIN).overflowing_abs(), (i64::MIN, true));\n```", "id": 10792, "inner": { "function": { @@ -64580,45 +63179,31 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i64" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_shl", + "name": "overflowing_abs", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64628,23 +63213,20 @@ "10793": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1u8.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u8.strict_shl(129);\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3i64.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", "id": 10793, "inner": { "function": { @@ -64668,7 +63250,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -64676,20 +63258,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "u8" + "tuple": [ + { + "primitive": "i64" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_shl", + "name": "overflowing_pow", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64699,20 +63288,20 @@ "10794": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: u8::checked_shl", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: i64 = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", "id": 10794, "inner": { "function": { @@ -64725,7 +63314,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -64736,7 +63325,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -64744,22 +63333,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, - "links": { - "u8::checked_shl": 10792 - }, - "name": "unchecked_shl", + "links": {}, + "name": "pow", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64769,20 +63356,23 @@ "10795": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1u8.unbounded_shl(4), 0x10);\nassert_eq!(0x1u8.unbounded_shl(129), 0);\n```", + "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i64.isqrt(), 3);\n```", "id": 10795, "inner": { "function": { @@ -64804,30 +63394,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "unbounded_shl", + "name": "isqrt", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64837,20 +63421,23 @@ "10796": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10u8.checked_shr(4), Some(0x1));\nassert_eq!(0x10u8.checked_shr(129), None);\n```", + "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i64 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", "id": 10796, "inner": { "function": { @@ -64876,41 +63463,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, "links": {}, - "name": "checked_shr", + "name": "div_euclid", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64920,10 +63492,13 @@ "10797": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -64936,7 +63511,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10u8.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u8.strict_shr(129);\n```", + "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i64 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = i64::MIN.rem_euclid(-1);\n```", "id": 10797, "inner": { "function": { @@ -64962,26 +63537,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "strict_shr", + "name": "rem_euclid", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -64991,7 +63566,7 @@ "10798": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -65004,7 +63579,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: u8::checked_shr", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i64 = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", "id": 10798, "inner": { "function": { @@ -65017,7 +63592,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -65030,28 +63605,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, - "links": { - "u8::checked_shr": 10796 - }, - "name": "unchecked_shr", + "links": {}, + "name": "div_floor", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65061,20 +63634,20 @@ "10799": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10u8.unbounded_shr(4), 0x1);\nassert_eq!(0x10u8.unbounded_shr(129), 0);\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i64 = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", "id": 10799, "inner": { "function": { @@ -65100,26 +63673,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "unbounded_shr", + "name": "div_ceil", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65227,7 +63800,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -65238,7 +63811,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -65259,7 +63832,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -65270,7 +63843,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -65291,7 +63864,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -65304,10 +63877,7 @@ "10800": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -65317,7 +63887,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2u8.checked_pow(5), Some(32));\nassert_eq!(u8::MAX.checked_pow(2), None);\n```", + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i64.next_multiple_of(8), 16);\nassert_eq!(23_i64.next_multiple_of(8), 24);\nassert_eq!(16_i64.next_multiple_of(-8), 16);\nassert_eq!(23_i64.next_multiple_of(-8), 16);\nassert_eq!((-16_i64).next_multiple_of(8), -16);\nassert_eq!((-23_i64).next_multiple_of(8), -16);\nassert_eq!((-16_i64).next_multiple_of(-8), -16);\nassert_eq!((-23_i64).next_multiple_of(-8), -24);\n```", "id": 10800, "inner": { "function": { @@ -65341,43 +63911,28 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i64" } } } }, "links": {}, - "name": "checked_pow", + "name": "next_multiple_of", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65387,23 +63942,17 @@ "10801": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2u8.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = u8::MAX.strict_pow(2);\n```", + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i64.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_i64.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_i64.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_i64.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_i64).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_i64).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_i64).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_i64).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_i64.checked_next_multiple_of(0), None);\nassert_eq!(i64::MAX.checked_next_multiple_of(2), None);\n```", "id": 10801, "inner": { "function": { @@ -65427,28 +63976,43 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_pow", + "name": "checked_next_multiple_of", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65458,20 +64022,23 @@ "10802": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u8.saturating_add(1), 101);\nassert_eq!(u8::MAX.saturating_add(127), u8::MAX);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5i64.ilog(5), 1);\n```", "id": 10802, "inner": { "function": { @@ -65495,28 +64062,28 @@ } ], [ - "rhs", + "base", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_add", + "name": "ilog", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65526,20 +64093,23 @@ "10803": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u8.saturating_add_signed(2), 3);\nassert_eq!(1u8.saturating_add_signed(-2), 0);\nassert_eq!((u8::MAX - 2).saturating_add_signed(4), u8::MAX);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10i64.ilog10(), 1);\n```", "id": 10803, "inner": { "function": { @@ -65561,30 +64131,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_add_signed", + "name": "ilog10", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65594,10 +64158,10 @@ "10804": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -65607,7 +64171,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u8.saturating_sub(27), 73);\nassert_eq!(13u8.saturating_sub(127), 0);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5i64.checked_ilog(5), Some(1));\n```", "id": 10804, "inner": { "function": { @@ -65631,28 +64195,43 @@ } ], [ - "rhs", + "base", { - "primitive": "u8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "saturating_sub", + "name": "checked_ilog", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65662,10 +64241,10 @@ "10805": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -65675,7 +64254,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u8.saturating_sub_signed(2), 0);\nassert_eq!(1u8.saturating_sub_signed(-2), 3);\nassert_eq!((u8::MAX - 2).saturating_sub_signed(-4), u8::MAX);\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2i64.checked_ilog2(), Some(1));\n```", "id": 10805, "inner": { "function": { @@ -65697,30 +64276,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "saturating_sub_signed", + "name": "checked_ilog2", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65730,10 +64318,10 @@ "10806": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -65743,7 +64331,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2u8.saturating_mul(10), 20);\nassert_eq!((u8::MAX).saturating_mul(10), u8::MAX);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10i64.checked_ilog10(), Some(1));\n```", "id": 10806, "inner": { "function": { @@ -65765,30 +64353,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "saturating_mul", + "name": "checked_ilog10", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65798,23 +64395,20 @@ "10807": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u8.saturating_div(2), 2);\n\n```", + "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`i64::MIN`\ncannot be represented as an\n`i64`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`i64::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10i64.abs(), 10);\nassert_eq!((-10i64).abs(), 10);\n```", "id": 10807, "inner": { "function": { @@ -65836,30 +64430,26 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, - "links": {}, - "name": "saturating_div", + "links": { + "Self::unsigned_abs": 10771 + }, + "name": "abs", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65869,10 +64459,10 @@ "10808": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" }, { "must_use": { @@ -65882,7 +64472,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4u8.saturating_pow(3), 64);\nassert_eq!(u8::MAX.saturating_pow(2), u8::MAX);\n```", + "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100i64.abs_diff(80), 20u64);\nassert_eq!(100i64.abs_diff(110), 10u64);\nassert_eq!((-100i64).abs_diff(80), 180u64);\nassert_eq!((-100i64).abs_diff(-120), 20u64);\nassert_eq!(i64::MIN.abs_diff(i64::MAX), u64::MAX);\n```", "id": 10808, "inner": { "function": { @@ -65906,28 +64496,28 @@ } ], [ - "exp", + "other", { - "primitive": "u32" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "u64" } } } }, "links": {}, - "name": "saturating_pow", + "name": "abs_diff", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -65937,10 +64527,10 @@ "10809": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -65950,7 +64540,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u8.wrapping_add_signed(2), 3);\nassert_eq!(1u8.wrapping_add_signed(-2), u8::MAX);\nassert_eq!((u8::MAX - 2).wrapping_add_signed(4), 1);\n```", + "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10i64.signum(), 1);\nassert_eq!(0i64.signum(), 0);\nassert_eq!((-10i64).signum(), -1);\n```", "id": 10809, "inner": { "function": { @@ -65972,30 +64562,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "wrapping_add_signed", + "name": "signum", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66067,7 +64651,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -66088,7 +64672,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -66109,7 +64693,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -66122,20 +64706,20 @@ "10810": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u8.wrapping_sub_signed(2), u8::MAX);\nassert_eq!(1u8.wrapping_sub_signed(-2), 3);\nassert_eq!((u8::MAX - 2).wrapping_sub_signed(-4), 1);\n```", + "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10i64.is_positive());\nassert!(!(-10i64).is_positive());\n```", "id": 10810, "inner": { "function": { @@ -66157,30 +64741,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "bool" } } } }, "links": {}, - "name": "wrapping_sub_signed", + "name": "is_positive", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66190,23 +64768,20 @@ "10811": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.wrapping_div(10), 10);\n```", + "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10i64).is_negative());\nassert!(!10i64.is_negative());\n```", "id": 10811, "inner": { "function": { @@ -66228,30 +64803,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "bool" } } } }, "links": {}, - "name": "wrapping_div", + "name": "is_negative", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66261,23 +64830,20 @@ "10812": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.wrapping_div_euclid(10), 10);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456i64.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\n```", "id": 10812, "inner": { "function": { @@ -66299,30 +64865,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "wrapping_div_euclid", + "name": "to_be_bytes", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66332,23 +64897,20 @@ "10813": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.wrapping_rem(10), 0);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456i64.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", "id": 10813, "inner": { "function": { @@ -66370,30 +64932,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "wrapping_rem", + "name": "to_le_bytes", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66403,23 +64964,20 @@ "10814": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.wrapping_rem_euclid(10), 0);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456i64.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n } else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", "id": 10814, "inner": { "function": { @@ -66441,30 +64999,32 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "wrapping_rem_euclid", + "links": { + "Self::to_be_bytes": 10812, + "Self::to_le_bytes": 10813 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66474,20 +65034,20 @@ "10815": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_u8.wrapping_neg(), 0);\nassert_eq!(u8::MAX.wrapping_neg(), 1);\nassert_eq!(13_u8.wrapping_neg(), (!13) + 1);\nassert_eq!(42_u8.wrapping_neg(), !(42 - 1));\n```", + "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n\n# Examples\n\n```\nlet value = i64::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_i64(input: &mut &[u8]) -> i64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i64::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10815, "inner": { "function": { @@ -66505,28 +65065,33 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": {}, - "name": "wrapping_neg", + "name": "from_be_bytes", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66536,20 +65101,20 @@ "10816": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1u8.wrapping_shl(7), 128);\nassert_eq!(1u8.wrapping_shl(128), 1);\n```", + "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n\n# Examples\n\n```\nlet value = i64::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_i64(input: &mut &[u8]) -> i64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i64::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10816, "inner": { "function": { @@ -66567,36 +65132,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u32" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, - "links": { - "Self::rotate_left": 10748 - }, - "name": "wrapping_shl", + "links": {}, + "name": "from_le_bytes", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66606,20 +65168,20 @@ "10817": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128u8.wrapping_shr(7), 1);\nassert_eq!(128u8.wrapping_shr(128), 128);\n```", + "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = i64::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_i64(input: &mut &[u8]) -> i64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i64::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10817, "inner": { "function": { @@ -66637,36 +65199,36 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u32" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, "links": { - "Self::rotate_right": 10749 + "Self::from_be_bytes": 10815, + "Self::from_le_bytes": 10816 }, - "name": "wrapping_shr", + "name": "from_ne_bytes", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66676,20 +65238,21 @@ "10818": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"i64_legacy_fn_min_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3u8.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`i64::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", "id": 10818, "inner": { "function": { @@ -66705,36 +65268,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "exp", - { - "primitive": "u32" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i64" } } } }, - "links": {}, - "name": "wrapping_pow", + "links": { + "`i64::MIN`": 10682 + }, + "name": "min_value", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66744,20 +65296,21 @@ "10819": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"i64_legacy_fn_max_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_add(2), (7, false));\nassert_eq!(u8::MAX.overflowing_add(1), (0, true));\n```", + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`i64::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", "id": 10819, "inner": { "function": { @@ -66773,43 +65326,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u8" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] + "primitive": "i64" } } } }, - "links": {}, - "name": "overflowing_add", + "links": { + "`i64::MAX`": 10683 + }, + "name": "max_value", "span": { "begin": [ - 447, + 319, 5 ], "end": [ - 465, + 338, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -66891,7 +65426,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -66907,7 +65442,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -66916,12 +65451,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -66930,10 +65465,19 @@ "10820": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[doc(alias = \"average_floor\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[doc(alias = \"average_ceil\")]" + }, + { + "other": "#[doc(alias = \"average\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" }, { "must_use": { @@ -66943,7 +65487,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u8.overflowing_add_signed(2), (3, false));\nassert_eq!(1u8.overflowing_add_signed(-2), (u8::MAX, true));\nassert_eq!((u8::MAX - 2).overflowing_add_signed(4), (1, true));\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0i64.midpoint(4), 2);\nassert_eq!((-1i64).midpoint(2), 0);\nassert_eq!((-7i64).midpoint(0), -3);\nassert_eq!(0i64.midpoint(-7), -3);\nassert_eq!(0i64.midpoint(7), 3);\n```", "id": 10820, "inner": { "function": { @@ -66969,131 +65513,221 @@ [ "rhs", { - "primitive": "i8" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] + "primitive": "i64" } } } }, "links": {}, - "name": "overflowing_add_signed", + "name": "midpoint", "span": { "begin": [ - 447, + 339, 5 ], "end": [ - 465, - 6 + 339, + 35 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10821": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_sub(2), (3, false));\nassert_eq!(0u8.overflowing_sub(1), (u8::MAX, true));\n```", + "docs": null, "id": 10821, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i64" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10682, + 10683, + 10684, + 10685, + 10686, + 10688, + 10689, + 10690, + 10691, + 10692, + 10693, + 10694, + 10695, + 10696, + 10697, + 10698, + 10699, + 10700, + 10701, + 10702, + 10703, + 10704, + 10705, + 10706, + 10708, + 10709, + 10710, + 10711, + 10712, + 10714, + 10715, + 10716, + 10717, + 10718, + 10720, + 10721, + 10722, + 10723, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10736, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10746, + 10747, + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10754, + 10755, + 10756, + 10757, + 10758, + 10759, + 10760, + 10707, + 10761, + 10713, + 10762, + 10719, + 10763, + 10764, + 10765, + 10766, + 10767, + 10768, + 10769, + 10770, + 10771, + 10772, + 10773, + 10775, + 10776, + 10777, + 10779, + 10780, + 10781, + 10783, + 10782, + 10784, + 10785, + 10786, + 10787, + 10788, + 10789, + 10790, + 10791, + 10792, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10802, + 10687, + 10803, + 10804, + 10805, + 10806, + 10807, + 10808, + 10809, + 10810, + 10811, + 10812, + 10813, + 10814, + 10815, + 10816, + 10817, + 10818, + 10819, + 10820 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "overflowing_sub", + "name": null, "span": { "begin": [ - 447, - 5 + 318, + 1 ], "end": [ - 465, - 6 + 318, + 9 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "10822": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u8.overflowing_sub_signed(2), (u8::MAX, true));\nassert_eq!(1u8.overflowing_sub_signed(-2), (3, false));\nassert_eq!((u8::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(i64::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(i64::from_str_radix(\"1 \", 10).is_err());\n```", "id": 10822, "inner": { "function": { @@ -67111,42 +65745,65 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } ], [ - "rhs", + "radix", { - "primitive": "i8" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "overflowing_sub_signed", + "name": "from_str_radix", "span": { "begin": [ - 447, - 5 + 1666, + 1 ], "end": [ - 465, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -67155,20 +65812,12 @@ "10823": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100u8.abs_diff(80), 20u8);\nassert_eq!(100u8.abs_diff(110), 10u8);\n```", + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i64::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i64::from_ascii(b\"1 \").is_err());\n```", "id": 10823, "inner": { "function": { @@ -67186,35 +65835,61 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "other", + "src", { - "primitive": "u8" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "abs_diff", + "name": "from_ascii", "span": { "begin": [ - 447, - 5 + 1666, + 1 ], "end": [ - 465, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -67223,20 +65898,12 @@ "10824": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why why `u32`\nis used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i64::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i64::from_ascii_radix(b\"1 \", 10).is_err());\n```", "id": 10824, "inner": { "function": { @@ -67254,150 +65921,124 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ], [ - "rhs", + "radix", { - "primitive": "u8" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "overflowing_mul", + "name": "from_ascii_radix", "span": { "begin": [ - 447, - 5 + 1666, + 1 ], "end": [ - 465, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10825": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(u8::MAX.carrying_mul(u8::MAX, u8::MAX), (0, u8::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", + "docs": null, "id": 10825, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i64" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u8" - } - ], - [ - "carry", - { - "primitive": "u8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "u8" - } - ] - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10822, + 10823, + 10824 + ], + "provided_trait_methods": [], + "trait": null } }, - "links": { - "Self::overflowing_mul": 10824, - "Self::wrapping_add": 10758, - "Self::wrapping_mul": 10771, - "`Self::widening_mul`": 10826 - }, - "name": "carrying_mul", + "links": {}, + "name": null, "span": { "begin": [ - 447, - 5 + 1666, + 1 ], "end": [ - 465, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "10826": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0i64;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32i64;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = i64 :: MAX;\nassert_eq!(n2.format_into(&mut buf), i64 :: MAX.to_string());\n```", "id": 10826, "inner": { "function": { @@ -67409,7 +66050,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -67421,205 +66062,131 @@ } ], [ - "rhs", + "buf", { - "primitive": "u8" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i64" + } + } + ], + "constraints": [] + } + }, + "id": 10387, + "path": "NumBuffer" + } + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "u8" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" } - ] + } } } } }, "links": { - "`Self::carrying_mul`": 10825 + "`NumBuffer`": 10387 }, - "name": "widening_mul", + "name": "format_into", "span": { "begin": [ - 447, + 599, 5 ], "end": [ - 465, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "public" }, "10827": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(u8::MAX.carrying_mul_add(u8::MAX, u8::MAX, u8::MAX), (u8::MAX, u8::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\n#![feature(bigint_helper_methods)]\n\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xCFFC982D);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xCFFC982D)\n);\n```", + "docs": null, "id": 10827, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i64" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u8" - } - ], - [ - "carry", - { - "primitive": "u8" - } - ], - [ - "add", - { - "primitive": "u8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "u8" - } - ] - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10826 + ], + "provided_trait_methods": [], + "trait": null } }, - "links": { - "`Self::carrying_mul`": 10825, - "`Self::widening_mul`": 10826 - }, - "name": "carrying_mul_add", + "links": {}, + "name": null, "span": { "begin": [ - 447, + 599, 5 ], "end": [ - 465, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, - "visibility": "public" + "visibility": "default" }, "10828": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_div(2), (2, false));\n```", + "docs": "The smallest value that can be represented by this integer type\n(−2127).\n\n# Examples\n\n```\nassert_eq!(i128::MIN, -170141183460469231731687303715884105728);\n```", "id": 10828, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i128" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "_" } }, "links": {}, - "name": "overflowing_div", + "name": "MIN", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -67629,75 +66196,30 @@ "10829": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_div_euclid(2), (2, false));\n```", + "docs": "The largest value that can be represented by this integer type\n(2127 − 1).\n\n# Examples\n\n```\nassert_eq!(i128::MAX, 170141183460469231731687303715884105727);\n```", "id": 10829, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i128" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "_" } }, "links": {}, - "name": "overflowing_div_euclid", + "name": "MAX", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -67779,7 +66301,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -67795,7 +66317,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -67804,12 +66326,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -67818,75 +66340,30 @@ "10830": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_rem(2), (1, false));\n```", + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(i128::BITS, 128);\n```", "id": 10830, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u8" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "u128::BITS" } }, "links": {}, - "name": "overflowing_rem", + "name": "BITS", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -67896,23 +66373,26 @@ "10831": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[doc(alias = \"popcount\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_rem_euclid(2), (1, false));\n```", + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000i128;\n\nassert_eq!(n.count_ones(), 1);\n```\n", "id": 10831, "inner": { "function": { @@ -67934,37 +66414,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "count_ones", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -67974,10 +66441,10 @@ "10832": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -67987,7 +66454,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0u8.overflowing_neg(), (0, false));\nassert_eq!(2u8.overflowing_neg(), (-2i32 as u8, true));\n```", + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(i128::MAX.count_zeros(), 1);\n```", "id": 10832, "inner": { "function": { @@ -68013,27 +66480,20 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_neg", + "name": "count_zeros", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68043,20 +66503,23 @@ "10833": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1u8.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1u8.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10u8.overflowing_shl(7), (0, false));\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2i128.ilog2(), 1);\n```", "id": 10833, "inner": { "function": { @@ -68078,37 +66541,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_shl", + "name": "ilog2", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68118,10 +66568,10 @@ "10834": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -68131,7 +66581,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10u8.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10u8.overflowing_shr(132), (0x1, true));\n```", + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1i128;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: i128::ilog2", "id": 10834, "inner": { "function": { @@ -68153,37 +66603,26 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, - "links": {}, - "name": "overflowing_shr", + "links": { + "i128::ilog2": 10833 + }, + "name": "leading_zeros", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68193,10 +66632,10 @@ "10835": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -68206,7 +66645,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3u8.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", + "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4i128;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", "id": 10835, "inner": { "function": { @@ -68228,37 +66667,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_pow", + "name": "trailing_zeros", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68268,10 +66694,10 @@ "10836": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -68281,7 +66707,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2u8.pow(5), 32);\n```", + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1i128;\n\nassert_eq!(n.leading_ones(), 128);\n```", "id": 10836, "inner": { "function": { @@ -68303,30 +66729,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "u32" } } } }, "links": {}, - "name": "pow", + "name": "leading_ones", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68336,10 +66756,10 @@ "10837": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -68349,7 +66769,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10u8.isqrt(), 3);\n```", + "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3i128;\n\nassert_eq!(n.trailing_ones(), 2);\n```", "id": 10837, "inner": { "function": { @@ -68375,20 +66795,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "u32" } } } }, "links": {}, - "name": "isqrt", + "name": "trailing_ones", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68398,23 +66818,17 @@ "10838": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u8.div_euclid(4), 1); // or any other integer type\n```", + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i128 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_i128.isolate_highest_one(), 0);\n```", "id": 10838, "inner": { "function": { @@ -68436,30 +66850,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i128" } } } }, "links": {}, - "name": "div_euclid", + "name": "isolate_highest_one", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68469,26 +66877,17 @@ "10839": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u8.rem_euclid(4), 3); // or any other integer type\n```", + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: i128 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_i128.isolate_lowest_one(), 0);\n```", "id": 10839, "inner": { "function": { @@ -68510,30 +66909,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i128" } } } }, "links": {}, - "name": "rem_euclid", + "name": "isolate_lowest_one", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68636,7 +67029,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -68661,11 +67054,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -68675,20 +67068,17 @@ "10840": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_u8.div_floor(4), 1);\n```", + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i128.highest_one(), None);\nassert_eq!(0x1_i128.highest_one(), Some(0));\nassert_eq!(0x10_i128.highest_one(), Some(4));\nassert_eq!(0x1f_i128.highest_one(), Some(4));\n```", "id": 10840, "inner": { "function": { @@ -68710,30 +67100,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "div_floor", + "name": "highest_one", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68743,23 +67142,17 @@ "10841": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_u8.div_ceil(4), 2);\n```", + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_i128.lowest_one(), None);\nassert_eq!(0x1_i128.lowest_one(), Some(0));\nassert_eq!(0x10_i128.lowest_one(), Some(4));\nassert_eq!(0x1f_i128.lowest_one(), Some(0));\n```", "id": 10841, "inner": { "function": { @@ -68781,30 +67174,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "div_ceil", + "name": "lowest_one", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68814,10 +67216,10 @@ "10842": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" }, { "must_use": { @@ -68827,7 +67229,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_u8.next_multiple_of(8), 16);\nassert_eq!(23_u8.next_multiple_of(8), 24);\n```", + "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1i128;\n\nassert_eq!(n.cast_unsigned(), u128::MAX);\n```", "id": 10842, "inner": { "function": { @@ -68849,30 +67251,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u8" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "u128" } } } }, "links": {}, - "name": "next_multiple_of", + "name": "cast_unsigned", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68882,10 +67278,10 @@ "10843": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -68895,7 +67291,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_u8.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_u8.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_u8.checked_next_multiple_of(0), None);\nassert_eq!(u8::MAX.checked_next_multiple_of(2), None);\n```", + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0x13f40000000000000000000000004f76i128;\nlet m = 0x4f7613f4;\n\nassert_eq!(n.rotate_left(16), m);\n```", "id": 10843, "inner": { "function": { @@ -68919,43 +67315,28 @@ } ], [ - "rhs", + "n", { - "primitive": "u8" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "checked_next_multiple_of", + "name": "rotate_left", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -68965,20 +67346,20 @@ "10844": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_u8.is_multiple_of(2));\nassert!(!5_u8.is_multiple_of(2));\n\nassert!(0_u8.is_multiple_of(0));\nassert!(!6_u8.is_multiple_of(0));\n```", + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x4f7613f4i128;\nlet m = 0x13f40000000000000000000000004f76;\n\nassert_eq!(n.rotate_right(16), m);\n```", "id": 10844, "inner": { "function": { @@ -69002,28 +67383,28 @@ } ], [ - "rhs", + "n", { - "primitive": "u8" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i128" } } } }, "links": {}, - "name": "is_multiple_of", + "name": "rotate_right", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69033,20 +67414,20 @@ "10845": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16u8.is_power_of_two());\nassert!(!10u8.is_power_of_two());\n```", + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12345678901234567890123456789012i128;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x12907856341290785634129078563412);\n```", "id": 10845, "inner": { "function": { @@ -69072,20 +67453,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i128" } } } }, "links": {}, - "name": "is_power_of_two", + "name": "swap_bytes", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69095,10 +67476,10 @@ "10846": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" }, { "must_use": { @@ -69108,7 +67489,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2u8.next_power_of_two(), 2);\nassert_eq!(3u8.next_power_of_two(), 4);\nassert_eq!(0u8.next_power_of_two(), 1);\n```", + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12345678901234567890123456789012i128;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x48091e6a2c48091e6a2c48091e6a2c48);\nassert_eq!(0, 0i128.reverse_bits());\n```", "id": 10846, "inner": { "function": { @@ -69134,20 +67515,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i128" } } } }, "links": {}, - "name": "next_power_of_two", + "name": "reverse_bits", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69157,20 +67538,20 @@ "10847": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2u8.checked_next_power_of_two(), Some(2));\nassert_eq!(3u8.checked_next_power_of_two(), Some(4));\nassert_eq!(u8::MAX.checked_next_power_of_two(), None);\n```", + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai128;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(i128::from_be(n), n)\n} else {\n assert_eq!(i128::from_be(n), n.swap_bytes())\n}\n```", "id": 10847, "inner": { "function": { @@ -69188,43 +67569,28 @@ "sig": { "inputs": [ [ - "self", + "x", { - "generic": "Self" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "checked_next_power_of_two", + "name": "from_be", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69234,17 +67600,20 @@ "10848": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2u8.wrapping_next_power_of_two(), 2);\nassert_eq!(3u8.wrapping_next_power_of_two(), 4);\nassert_eq!(u8::MAX.wrapping_next_power_of_two(), 0);\n```", + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai128;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(i128::from_le(n), n)\n} else {\n assert_eq!(i128::from_le(n), n.swap_bytes())\n}\n```", "id": 10848, "inner": { "function": { @@ -69262,28 +67631,28 @@ "sig": { "inputs": [ [ - "self", + "x", { - "generic": "Self" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i128" } } } }, "links": {}, - "name": "wrapping_next_power_of_two", + "name": "from_le", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69293,10 +67662,10 @@ "10849": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -69306,7 +67675,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n# Examples\n\n```\nlet bytes = 0x12u8.to_be_bytes();\nassert_eq!(bytes, [0x12]);\n```", + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai128;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", "id": 10849, "inner": { "function": { @@ -69332,25 +67701,20 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } - } + "primitive": "i128" } } } }, "links": {}, - "name": "to_be_bytes", + "name": "to_be", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69410,7 +67774,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -69435,11 +67799,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -69449,10 +67813,10 @@ "10850": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -69462,7 +67826,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n# Examples\n\n```\nlet bytes = 0x12u8.to_le_bytes();\nassert_eq!(bytes, [0x12]);\n```", + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Ai128;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", "id": 10850, "inner": { "function": { @@ -69488,25 +67852,20 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } - } + "primitive": "i128" } } } }, "links": {}, - "name": "to_le_bytes", + "name": "to_le", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69516,10 +67875,10 @@ "10851": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -69529,7 +67888,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12u8.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12]\n } else {\n [0x12]\n }\n);\n```", + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((i128::MAX - 2).checked_add(1), Some(i128::MAX - 1));\nassert_eq!((i128::MAX - 2).checked_add(3), None);\n```", "id": 10851, "inner": { "function": { @@ -69551,32 +67910,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i128" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": { - "Self::to_be_bytes": 10849, - "Self::to_le_bytes": 10850 - }, - "name": "to_ne_bytes", + "links": {}, + "name": "checked_add", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69586,20 +67958,23 @@ "10852": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n# Examples\n\n```\nlet value = u8::from_be_bytes([0x12]);\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_u8(input: &mut &[u8]) -> u8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u8::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i128::MAX - 2).strict_add(1), i128::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i128::MAX - 2).strict_add(3);\n```", "id": 10852, "inner": { "function": { @@ -69617,33 +67992,34 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i128" } } } }, "links": {}, - "name": "from_be_bytes", + "name": "strict_add", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69653,20 +68029,20 @@ "10853": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n# Examples\n\n```\nlet value = u8::from_le_bytes([0x12]);\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_u8(input: &mut &[u8]) -> u8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u8::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_add(27), 127);\nassert_eq!(i128::MAX.wrapping_add(2), i128::MIN + 1);\n```", "id": 10853, "inner": { "function": { @@ -69684,33 +68060,34 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i128" } } } }, "links": {}, - "name": "from_le_bytes", + "name": "wrapping_add", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69720,20 +68097,23 @@ "10854": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n# Examples\n\n```\nlet value = u8::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12]\n} else {\n [0x12]\n});\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_u8(input: &mut &[u8]) -> u8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u8::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > i128::MAX` or `self + rhs < i128::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: i128::checked_add\n[`wrapping_add`]: i128::wrapping_add", "id": 10854, "inner": { "function": { @@ -69746,41 +68126,42 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "1", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i128" } } } }, "links": { - "Self::from_be_bytes": 10852, - "Self::from_le_bytes": 10853 + "i128::checked_add": 10851, + "i128::wrapping_add": 10853 }, - "name": "from_ne_bytes", + "name": "unchecked_add", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69790,21 +68171,20 @@ "10855": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"u8_legacy_fn_min_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`u8::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i128.checked_add_unsigned(2), Some(3));\nassert_eq!((i128::MAX - 2).checked_add_unsigned(3), None);\n```", "id": 10855, "inner": { "function": { @@ -69820,25 +68200,51 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u128" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "`u8::MIN`": 10733 - }, - "name": "min_value", + "links": {}, + "name": "checked_add_unsigned", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69848,21 +68254,23 @@ "10856": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"u8_legacy_fn_max_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`u8::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i128.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i128::MAX - 2).strict_add_unsigned(3);\n```", "id": 10856, "inner": { "function": { @@ -69878,25 +68286,36 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u128" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i128" } } } }, - "links": { - "`u8::MAX`": 10734 - }, - "name": "max_value", + "links": {}, + "name": "strict_add_unsigned", "span": { "begin": [ - 447, + 343, 5 ], "end": [ - 465, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -69906,16 +68325,10 @@ "10857": { "attrs": [ { - "other": "#[doc(alias = \"average_floor\")]" - }, - { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -69925,7 +68338,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0u8.midpoint(4), 2);\nassert_eq!(1u8.midpoint(4), 2);\n```", + "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 2).checked_sub(1), Some(i128::MIN + 1));\nassert_eq!((i128::MIN + 2).checked_sub(3), None);\n```", "id": 10857, "inner": { "function": { @@ -69951,27 +68364,42 @@ [ "rhs", { - "primitive": "u8" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "midpoint", + "name": "checked_sub", "span": { "begin": [ - 466, + 343, 5 ], "end": [ - 466, - 41 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -69980,20 +68408,23 @@ "10858": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"const_u8_is_ascii\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is within the ASCII range.\n\n# Examples\n\n```\nlet ascii = 97u8;\nlet non_ascii = 150u8;\n\nassert!(ascii.is_ascii());\nassert!(!non_ascii.is_ascii());\n```", + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 2).strict_sub(1), i128::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i128::MIN + 2).strict_sub(3);\n```", "id": 10858, "inner": { "function": { @@ -70013,33 +68444,33 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i128" } } } }, "links": {}, - "name": "is_ascii", + "name": "strict_sub", "span": { "begin": [ - 483, + 343, 5 ], "end": [ - 483, - 41 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70048,17 +68479,20 @@ "10859": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "If the value of this byte is within the ASCII range, returns it as an\n[ASCII character](ascii::Char). Otherwise, returns `None`.", + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i128.wrapping_sub(127), -127);\nassert_eq!((-2i128).wrapping_sub(i128::MAX), i128::MAX);\n```", "id": 10859, "inner": { "function": { @@ -70078,54 +68512,33 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 609, - "path": "AsciiChar" - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, - "links": { - "ascii::Char": 609 - }, - "name": "as_ascii", + "links": {}, + "name": "wrapping_sub", "span": { "begin": [ - 492, + 343, 5 ], "end": [ - 492, - 56 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70209,7 +68622,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -70227,8 +68640,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -70244,7 +68657,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -70253,11 +68666,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -70267,17 +68680,23 @@ "10860": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts this byte to an [ASCII character](ascii::Char), without\nchecking whether or not it's valid.\n\n# Safety\n\nThis byte must be valid ASCII, or else this is UB.", + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > i128::MAX` or `self - rhs < i128::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: i128::checked_sub\n[`wrapping_sub`]: i128::wrapping_sub", "id": 10860, "inner": { "function": { @@ -70297,39 +68716,36 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 609, - "path": "AsciiChar" - } + "primitive": "i128" } } } }, "links": { - "ascii::Char": 609 + "i128::checked_sub": 10857, + "i128::wrapping_sub": 10859 }, - "name": "as_ascii_unchecked", + "name": "unchecked_sub", "span": { "begin": [ - 505, + 343, 5 ], "end": [ - 505, - 65 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70338,15 +68754,20 @@ "10861": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts this value to its ASCII upper case equivalent in-place.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo return a new uppercased value without modifying the existing one, use\n[`to_ascii_uppercase`].\n\n# Examples\n\n```\nlet mut byte = b'a';\n\nbyte.make_ascii_uppercase();\n\nassert_eq!(b'A', byte);\n```\n\n[`to_ascii_uppercase`]: Self::to_ascii_uppercase", + "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1i128.checked_sub_unsigned(2), Some(-1));\nassert_eq!((i128::MIN + 2).checked_sub_unsigned(3), None);\n```", "id": 10861, "inner": { "function": { @@ -70366,33 +68787,48 @@ [ "self", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u128" } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } } } }, - "links": { - "Self::to_ascii_uppercase": 10862 - }, - "name": "make_ascii_uppercase", + "links": {}, + "name": "checked_sub_unsigned", "span": { "begin": [ - 613, + 343, 5 ], "end": [ - 613, - 49 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70401,20 +68837,23 @@ "10862": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": "to uppercase the value in-place, use `make_ascii_uppercase()`" + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Makes a copy of the value in its ASCII upper case equivalent.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo uppercase the value in-place, use [`make_ascii_uppercase`].\n\n# Examples\n\n```\nlet lowercase_a = 97u8;\n\nassert_eq!(65, lowercase_a.to_ascii_uppercase());\n```\n\n[`make_ascii_uppercase`]: Self::make_ascii_uppercase", + "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1i128.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (i128::MIN + 2).strict_sub_unsigned(3);\n```", "id": 10862, "inner": { "function": { @@ -70434,35 +68873,33 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i128" } } } }, - "links": { - "Self::make_ascii_uppercase": 10861 - }, - "name": "to_ascii_uppercase", + "links": {}, + "name": "strict_sub_unsigned", "span": { "begin": [ - 536, + 343, 5 ], "end": [ - 536, - 49 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70471,15 +68908,20 @@ "10863": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts this value to its ASCII lower case equivalent in-place.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo return a new lowercased value without modifying the existing one, use\n[`to_ascii_lowercase`].\n\n# Examples\n\n```\nlet mut byte = b'A';\n\nbyte.make_ascii_lowercase();\n\nassert_eq!(b'a', byte);\n```\n\n[`to_ascii_lowercase`]: Self::to_ascii_lowercase", + "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(i128::MAX.checked_mul(1), Some(i128::MAX));\nassert_eq!(i128::MAX.checked_mul(2), None);\n```", "id": 10863, "inner": { "function": { @@ -70499,33 +68941,48 @@ [ "self", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } } } }, - "links": { - "Self::to_ascii_lowercase": 10864 - }, - "name": "make_ascii_lowercase", + "links": {}, + "name": "checked_mul", "span": { "begin": [ - 639, + 343, 5 ], "end": [ - 639, - 49 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70534,20 +68991,23 @@ "10864": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": "to lowercase the value in-place, use `make_ascii_lowercase()`" + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Makes a copy of the value in its ASCII lower case equivalent.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo lowercase the value in-place, use [`make_ascii_lowercase`].\n\n# Examples\n\n```\nlet uppercase_a = 65u8;\n\nassert_eq!(97, uppercase_a.to_ascii_lowercase());\n```\n\n[`make_ascii_lowercase`]: Self::make_ascii_lowercase", + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(i128::MAX.strict_mul(1), i128::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = i128::MAX.strict_mul(2);\n```", "id": 10864, "inner": { "function": { @@ -70567,35 +69027,33 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u8" + "primitive": "i128" } } } }, - "links": { - "Self::make_ascii_lowercase": 10863 - }, - "name": "to_ascii_lowercase", + "links": {}, + "name": "strict_mul", "span": { "begin": [ - 561, + 343, 5 ], "end": [ - 561, - 49 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70604,15 +69062,20 @@ "10865": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Checks that two values are an ASCII case-insensitive match.\n\nThis is equivalent to `to_ascii_lowercase(a) == to_ascii_lowercase(b)`.\n\n# Examples\n\n```\nlet lowercase_a = 97u8;\nlet uppercase_a = 65u8;\n\nassert!(lowercase_a.eq_ignore_ascii_case(&uppercase_a));\n```", + "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10i128.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", "id": 10865, "inner": { "function": { @@ -70632,45 +69095,33 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ - "other", + "rhs", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "u8" - } - } + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i128" } } } }, "links": {}, - "name": "eq_ignore_ascii_case", + "name": "wrapping_mul", "span": { "begin": [ - 587, + 343, 5 ], "end": [ - 587, - 65 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70679,20 +69130,23 @@ "10866": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is an ASCII alphabetic character:\n\n- U+0041 'A' ..= U+005A 'Z', or\n- U+0061 'a' ..= U+007A 'z'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(uppercase_a.is_ascii_alphabetic());\nassert!(uppercase_g.is_ascii_alphabetic());\nassert!(a.is_ascii_alphabetic());\nassert!(g.is_ascii_alphabetic());\nassert!(!zero.is_ascii_alphabetic());\nassert!(!percent.is_ascii_alphabetic());\nassert!(!space.is_ascii_alphabetic());\nassert!(!lf.is_ascii_alphabetic());\nassert!(!esc.is_ascii_alphabetic());\n```", + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > i128::MAX` or `self * rhs < i128::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: i128::checked_mul\n[`wrapping_mul`]: i128::wrapping_mul", "id": 10866, "inner": { "function": { @@ -70705,40 +69159,43 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i128" } } } }, - "links": {}, - "name": "is_ascii_alphabetic", + "links": { + "i128::checked_mul": 10863, + "i128::wrapping_mul": 10865 + }, + "name": "unchecked_mul", "span": { "begin": [ - 675, + 343, 5 ], "end": [ - 675, - 52 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70747,20 +69204,20 @@ "10867": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is an ASCII uppercase character:\nU+0041 'A' ..= U+005A 'Z'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(uppercase_a.is_ascii_uppercase());\nassert!(uppercase_g.is_ascii_uppercase());\nassert!(!a.is_ascii_uppercase());\nassert!(!g.is_ascii_uppercase());\nassert!(!zero.is_ascii_uppercase());\nassert!(!percent.is_ascii_uppercase());\nassert!(!space.is_ascii_uppercase());\nassert!(!lf.is_ascii_uppercase());\nassert!(!esc.is_ascii_uppercase());\n```", + "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 1).checked_div(-1), Some(170141183460469231731687303715884105727));\nassert_eq!(i128::MIN.checked_div(-1), None);\nassert_eq!((1i128).checked_div(0), None);\n```", "id": 10867, "inner": { "function": { @@ -70780,33 +69237,48 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "is_ascii_uppercase", + "name": "checked_div", "span": { "begin": [ - 709, + 343, 5 ], "end": [ - 709, - 51 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70815,20 +69287,23 @@ "10868": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is an ASCII lowercase character:\nU+0061 'a' ..= U+007A 'z'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(!uppercase_a.is_ascii_lowercase());\nassert!(!uppercase_g.is_ascii_lowercase());\nassert!(a.is_ascii_lowercase());\nassert!(g.is_ascii_lowercase());\nassert!(!zero.is_ascii_lowercase());\nassert!(!percent.is_ascii_lowercase());\nassert!(!space.is_ascii_lowercase());\nassert!(!lf.is_ascii_lowercase());\nassert!(!esc.is_ascii_lowercase());\n```", + "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 1).strict_div(-1), 170141183460469231731687303715884105727);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i128).strict_div(0);\n```", "id": 10868, "inner": { "function": { @@ -70848,33 +69323,33 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i128" } } } }, "links": {}, - "name": "is_ascii_lowercase", + "name": "strict_div", "span": { "begin": [ - 743, + 343, 5 ], "end": [ - 743, - 51 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -70883,20 +69358,20 @@ "10869": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is an ASCII alphanumeric character:\n\n- U+0041 'A' ..= U+005A 'Z', or\n- U+0061 'a' ..= U+007A 'z', or\n- U+0030 '0' ..= U+0039 '9'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(uppercase_a.is_ascii_alphanumeric());\nassert!(uppercase_g.is_ascii_alphanumeric());\nassert!(a.is_ascii_alphanumeric());\nassert!(g.is_ascii_alphanumeric());\nassert!(zero.is_ascii_alphanumeric());\nassert!(!percent.is_ascii_alphanumeric());\nassert!(!space.is_ascii_alphanumeric());\nassert!(!lf.is_ascii_alphanumeric());\nassert!(!esc.is_ascii_alphanumeric());\n```", + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 1).checked_div_euclid(-1), Some(170141183460469231731687303715884105727));\nassert_eq!(i128::MIN.checked_div_euclid(-1), None);\nassert_eq!((1i128).checked_div_euclid(0), None);\n```", "id": 10869, "inner": { "function": { @@ -70916,33 +69391,48 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "is_ascii_alphanumeric", + "name": "checked_div_euclid", "span": { "begin": [ - 780, + 343, 5 ], "end": [ - 780, - 54 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -71044,8 +69534,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -71061,7 +69551,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -71070,11 +69560,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -71084,20 +69574,23 @@ "10870": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is an ASCII decimal digit:\nU+0030 '0' ..= U+0039 '9'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(!uppercase_a.is_ascii_digit());\nassert!(!uppercase_g.is_ascii_digit());\nassert!(!a.is_ascii_digit());\nassert!(!g.is_ascii_digit());\nassert!(zero.is_ascii_digit());\nassert!(!percent.is_ascii_digit());\nassert!(!space.is_ascii_digit());\nassert!(!lf.is_ascii_digit());\nassert!(!esc.is_ascii_digit());\n```", + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((i128::MIN + 1).strict_div_euclid(-1), 170141183460469231731687303715884105727);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1i128).strict_div_euclid(0);\n```", "id": 10870, "inner": { "function": { @@ -71117,33 +69610,33 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i128" } } } }, "links": {}, - "name": "is_ascii_digit", + "name": "strict_div_euclid", "span": { "begin": [ - 814, + 343, 5 ], "end": [ - 814, - 47 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -71152,17 +69645,17 @@ "10871": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 101288, is_soft: false}, feature: \"is_ascii_octdigit\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is an ASCII octal digit:\nU+0030 '0' ..= U+0037 '7'.\n\n# Examples\n\n```\n#![feature(is_ascii_octdigit)]\n\nlet uppercase_a = b'A';\nlet a = b'a';\nlet zero = b'0';\nlet seven = b'7';\nlet nine = b'9';\nlet percent = b'%';\nlet lf = b'\\n';\n\nassert!(!uppercase_a.is_ascii_octdigit());\nassert!(!a.is_ascii_octdigit());\nassert!(zero.is_ascii_octdigit());\nassert!(seven.is_ascii_octdigit());\nassert!(!nine.is_ascii_octdigit());\nassert!(!percent.is_ascii_octdigit());\nassert!(!lf.is_ascii_octdigit());\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((i128::MIN + 1).checked_exact_div(-1), Some(170141183460469231731687303715884105727));\nassert_eq!((-5i128).checked_exact_div(2), None);\nassert_eq!(i128::MIN.checked_exact_div(-1), None);\nassert_eq!((1i128).checked_exact_div(0), None);\n```", "id": 10871, "inner": { "function": { @@ -71182,33 +69675,48 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "is_ascii_octdigit", + "name": "checked_exact_div", "span": { "begin": [ - 845, + 343, 5 ], "end": [ - 845, - 50 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -71217,20 +69725,17 @@ "10872": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is an ASCII hexadecimal digit:\n\n- U+0030 '0' ..= U+0039 '9', or\n- U+0041 'A' ..= U+0046 'F', or\n- U+0061 'a' ..= U+0066 'f'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(uppercase_a.is_ascii_hexdigit());\nassert!(!uppercase_g.is_ascii_hexdigit());\nassert!(a.is_ascii_hexdigit());\nassert!(!g.is_ascii_hexdigit());\nassert!(zero.is_ascii_hexdigit());\nassert!(!percent.is_ascii_hexdigit());\nassert!(!space.is_ascii_hexdigit());\nassert!(!lf.is_ascii_hexdigit());\nassert!(!esc.is_ascii_hexdigit());\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64i128.exact_div(2), 32);\nassert_eq!(64i128.exact_div(32), 2);\nassert_eq!((i128::MIN + 1).exact_div(-1), 170141183460469231731687303715884105727);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65i128.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = i128::MIN.exact_div(-1);\n```", "id": 10872, "inner": { "function": { @@ -71250,33 +69755,33 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i128" } } } }, "links": {}, - "name": "is_ascii_hexdigit", + "name": "exact_div", "span": { "begin": [ - 882, + 343, 5 ], "end": [ - 882, - 50 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -71285,20 +69790,17 @@ "10873": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is an ASCII punctuation character:\n\n- U+0021 ..= U+002F `! \" # $ % & ' ( ) * + , - . /`, or\n- U+003A ..= U+0040 `: ; < = > ? @`, or\n- U+005B ..= U+0060 `` [ \\ ] ^ _ ` ``, or\n- U+007B ..= U+007E `{ | } ~`\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(!uppercase_a.is_ascii_punctuation());\nassert!(!uppercase_g.is_ascii_punctuation());\nassert!(!a.is_ascii_punctuation());\nassert!(!g.is_ascii_punctuation());\nassert!(!zero.is_ascii_punctuation());\nassert!(percent.is_ascii_punctuation());\nassert!(!space.is_ascii_punctuation());\nassert!(!lf.is_ascii_punctuation());\nassert!(!esc.is_ascii_punctuation());\n```", + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == i128::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", "id": 10873, "inner": { "function": { @@ -71311,40 +69813,42 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i128" } } } }, - "links": {}, - "name": "is_ascii_punctuation", + "links": { + "Self::checked_exact_div": 10871 + }, + "name": "unchecked_exact_div", "span": { "begin": [ - 920, + 343, 5 ], "end": [ - 920, - 53 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -71353,20 +69857,20 @@ "10874": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is an ASCII graphic character:\nU+0021 '!' ..= U+007E '~'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(uppercase_a.is_ascii_graphic());\nassert!(uppercase_g.is_ascii_graphic());\nassert!(a.is_ascii_graphic());\nassert!(g.is_ascii_graphic());\nassert!(zero.is_ascii_graphic());\nassert!(percent.is_ascii_graphic());\nassert!(!space.is_ascii_graphic());\nassert!(!lf.is_ascii_graphic());\nassert!(!esc.is_ascii_graphic());\n```", + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i128.checked_rem(2), Some(1));\nassert_eq!(5i128.checked_rem(0), None);\nassert_eq!(i128::MIN.checked_rem(-1), None);\n```", "id": 10874, "inner": { "function": { @@ -71386,33 +69890,48 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "is_ascii_graphic", + "name": "checked_rem", "span": { "begin": [ - 957, + 343, 5 ], "end": [ - 957, - 49 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -71421,20 +69940,23 @@ "10875": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is an ASCII control character:\nU+0000 NUL ..= U+001F UNIT SEPARATOR, or U+007F DELETE.\nNote that most ASCII whitespace characters are control\ncharacters, but SPACE is not.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(!uppercase_a.is_ascii_control());\nassert!(!uppercase_g.is_ascii_control());\nassert!(!a.is_ascii_control());\nassert!(!g.is_ascii_control());\nassert!(!zero.is_ascii_control());\nassert!(!percent.is_ascii_control());\nassert!(!space.is_ascii_control());\nassert!(lf.is_ascii_control());\nassert!(esc.is_ascii_control());\n```", + "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i128.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i128.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_rem(-1);\n```", "id": 10875, "inner": { "function": { @@ -71454,33 +69976,33 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "i128" } } } }, "links": {}, - "name": "is_ascii_control", + "name": "strict_rem", "span": { "begin": [ - 1044, + 343, 5 ], "end": [ - 1044, - 49 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -71489,17 +70011,20 @@ "10876": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"inherent_ascii_escape\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { - "reason": "this returns the escaped byte as an iterator, without modifying the original" + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns an iterator that produces an escaped version of a `u8`,\ntreating it as an ASCII character.\n\nThe behavior is identical to [`ascii::escape_default`].\n\n# Examples\n\n```\nassert_eq!(\"0\", b'0'.escape_ascii().to_string());\nassert_eq!(\"\\\\t\", b'\\t'.escape_ascii().to_string());\nassert_eq!(\"\\\\r\", b'\\r'.escape_ascii().to_string());\nassert_eq!(\"\\\\n\", b'\\n'.escape_ascii().to_string());\nassert_eq!(\"\\\\'\", b'\\''.escape_ascii().to_string());\nassert_eq!(\"\\\\\\\"\", b'\"'.escape_ascii().to_string());\nassert_eq!(\"\\\\\\\\\", b'\\\\'.escape_ascii().to_string());\nassert_eq!(\"\\\\x9d\", b'\\x9d'.escape_ascii().to_string());\n```", + "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5i128.checked_rem_euclid(2), Some(1));\nassert_eq!(5i128.checked_rem_euclid(0), None);\nassert_eq!(i128::MIN.checked_rem_euclid(-1), None);\n```", "id": 10876, "inner": { "function": { @@ -71511,7 +70036,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -71521,236 +70046,139 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i128" + } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 611, - "path": "EscapeDefault" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": { - "`ascii::escape_default`": 613 - }, - "name": "escape_ascii", + "links": {}, + "name": "checked_rem_euclid", "span": { "begin": [ - 1069, + 343, 5 ], "end": [ - 1069, - 54 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10877": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5i128.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5i128.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_rem_euclid(-1);\n```", "id": 10877, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u8" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10733, - 10734, - 10735, - 10736, - 10737, - 10739, - 10740, - 10741, - 10742, - 10743, - 10744, - 10745, - 10746, - 10747, - 10147, - 10748, - 10749, - 10750, - 10751, - 10752, - 10753, - 10754, - 10755, - 10756, - 10757, - 10759, - 10760, - 10761, - 10762, - 10763, - 10765, - 10766, - 10767, - 10768, - 10769, - 10770, - 10772, - 10773, - 10774, - 10775, - 10776, - 10777, - 10778, - 10779, - 10780, - 10781, - 10782, - 10783, - 10784, - 10785, - 10738, - 10786, - 10787, - 10788, - 10789, - 10790, - 10791, - 10792, - 10793, - 10794, - 10795, - 10796, - 10797, - 10798, - 10799, - 10800, - 10801, - 10802, - 10803, - 10804, - 10805, - 10806, - 10807, - 10808, - 10758, - 10809, - 10764, - 10810, - 10771, - 10811, - 10812, - 10813, - 10814, - 10815, - 10816, - 10817, - 10818, - 10819, - 10109, - 10820, - 10821, - 10113, - 10822, - 10823, - 10824, - 10826, - 10825, - 10827, - 10828, - 10829, - 10830, - 10831, - 10832, - 10833, - 10834, - 10835, - 10836, - 10837, - 10838, - 10839, - 10840, - 10841, - 10842, - 10843, - 10844, - 10845, - 10846, - 10847, - 10848, - 10849, - 10850, - 10851, - 10852, - 10853, - 10854, - 10855, - 10856, - 10857, - 10858, - 10859, - 10860, - 10862, - 10864, - 10865, - 10861, - 10863, - 10866, - 10867, - 10868, - 10869, - 10870, - 10871, - 10872, - 10873, - 10874, - 9546, - 10875, - 10876 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i128" + } + } } }, "links": {}, - "name": null, + "name": "strict_rem_euclid", "span": { "begin": [ - 446, - 1 + 343, + 5 ], "end": [ - 446, - 8 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10878": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(u8::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(u8::from_str_radix(\"1 \", 10).is_err());\n```", + "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5i128.checked_neg(), Some(-5));\nassert_eq!(i128::MIN.checked_neg(), None);\n```", "id": 10878, "inner": { "function": { @@ -71768,21 +70196,9 @@ "sig": { "inputs": [ [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - ], - [ - "radix", + "self", { - "primitive": "u32" + "generic": "Self" } ] ], @@ -71794,39 +70210,30 @@ "args": [ { "type": { - "primitive": "u8" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } + "primitive": "i128" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "from_str_radix", + "name": "checked_neg", "span": { "begin": [ - 1631, - 1 + 343, + 5 ], "end": [ - 1631, - 58 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -71835,12 +70242,20 @@ "10879": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u8::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u8::from_ascii(b\"1 \").is_err());\n```", + "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == i128::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: i128::checked_neg", "id": 10879, "inner": { "function": { @@ -71853,66 +70268,36 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "i128" } } } }, - "links": {}, - "name": "from_ascii", + "links": { + "i128::checked_neg": 10878 + }, + "name": "unchecked_neg", "span": { "begin": [ - 1631, - 1 + 343, + 5 ], "end": [ - 1631, - 58 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -71996,12 +70381,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -72024,12 +70409,23 @@ "10880": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u8::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u8::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5i128.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_neg();\n```", "id": 10880, "inner": { "function": { @@ -72047,124 +70443,137 @@ "sig": { "inputs": [ [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ], - [ - "radix", + "self", { - "primitive": "u32" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "i128" } } } }, "links": {}, - "name": "from_ascii_radix", + "name": "strict_neg", "span": { "begin": [ - 1631, - 1 + 343, + 5 ], "end": [ - 1631, - 58 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10881": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1i128.checked_shl(4), Some(0x10));\nassert_eq!(0x1i128.checked_shl(129), None);\nassert_eq!(0x10i128.checked_shl(127), Some(0));\n```", "id": 10881, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u8" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10878, - 10879, - 10880 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": null, + "name": "checked_shl", "span": { "begin": [ - 1631, - 1 + 343, + 5 ], "end": [ - 1631, - 58 + 364, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10882": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0u8;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32u8;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = u8 :: MAX;\nassert_eq!(n2.format_into(&mut buf), u8 :: MAX.to_string());\n```", + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1i128.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1i128.strict_shl(129);\n```", "id": 10882, "inner": { "function": { @@ -72176,7 +70585,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -72188,131 +70597,166 @@ } ], [ - "buf", + "rhs", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 10162, - "path": "NumBuffer" - } - } - } + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "primitive": "i128" } } } }, - "links": { - "`NumBuffer`": 10162 - }, - "name": "format_into", + "links": {}, + "name": "strict_shl", "span": { "begin": [ - 562, + 343, 5 ], "end": [ - 562, - 95 + 364, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10883": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: i128::checked_shl", "id": 10883, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u8" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10882 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i128" + } + } } }, - "links": {}, - "name": null, + "links": { + "i128::checked_shl": 10881 + }, + "name": "unchecked_shl", "span": { "begin": [ - 562, + 343, 5 ], "end": [ - 562, - 95 + 364, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "10884": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(u16::MIN, 0);\n```", + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1i128.unbounded_shl(4), 0x10);\nassert_eq!(0x1i128.unbounded_shl(129), 0);\n```", "id": 10884, "inner": { - "assoc_const": { - "type": { - "primitive": "u16" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "0" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i128" + } + } } }, "links": {}, - "name": "MIN", + "name": "unbounded_shl", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72322,30 +70766,77 @@ "10885": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(216 − 1).\n\n# Examples\n\n```\nassert_eq!(u16::MAX, 65535);\n```", + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any bits that would be shifted out differ from the resulting sign bit\nor if `rhs` >=\n`i128::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1i128.exact_shl(4), Some(0x10));\nassert_eq!(0x1i128.exact_shl(i128::BITS - 2), Some(1 << i128::BITS - 2));\nassert_eq!(0x1i128.exact_shl(i128::BITS - 1), None);\nassert_eq!((-0x2i128).exact_shl(i128::BITS - 2), Some(-0x2 << i128::BITS - 2));\nassert_eq!((-0x2i128).exact_shl(i128::BITS - 1), None);\n```", "id": 10885, "inner": { - "assoc_const": { - "type": { - "primitive": "u16" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": "MAX", + "name": "exact_shl", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72355,30 +70846,64 @@ "10886": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(u16::BITS, 16);\n```", + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`i128::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs >= self.leading_zeros() && rhs >=\nself.leading_ones()` i.e. when\n[`i128::exact_shl`]\nwould return `None`.", "id": 10886, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i128" + } + } } }, - "links": {}, - "name": "BITS", + "links": { + "`i128::exact_shl`": 10885 + }, + "name": "unchecked_exact_shl", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72388,16 +70913,10 @@ "10887": { "attrs": [ { - "other": "#[doc(alias = \"popcount\")]" - }, - { - "other": "#[doc(alias = \"popcnt\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -72407,7 +70926,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100u16;\nassert_eq!(n.count_ones(), 3);\n\nlet max = u16::MAX;\nassert_eq!(max.count_ones(), 16);\n\nlet zero = 0u16;\nassert_eq!(zero.count_ones(), 0);\n```", + "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10i128.checked_shr(4), Some(0x1));\nassert_eq!(0x10i128.checked_shr(128), None);\n```", "id": 10887, "inner": { "function": { @@ -72429,24 +70948,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "count_ones", + "name": "checked_shr", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72456,20 +70996,23 @@ "10888": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0u16;\nassert_eq!(zero.count_zeros(), 16);\n\nlet max = u16::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10i128.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10i128.strict_shr(128);\n```", "id": 10888, "inner": { "function": { @@ -72491,24 +71034,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i128" } } } }, "links": {}, - "name": "count_zeros", + "name": "strict_shr", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72518,10 +71067,7 @@ "10889": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { @@ -72534,7 +71080,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2u16.ilog2(), 1);\n```", + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: i128::checked_shr", "id": 10889, "inner": { "function": { @@ -72547,7 +71093,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -72556,24 +71102,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i128" } } } }, - "links": {}, - "name": "ilog2", + "links": { + "i128::checked_shr": 10887 + }, + "name": "unchecked_shr", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72685,10 +71239,10 @@ "10890": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { @@ -72698,7 +71252,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = u16::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0u16;\nassert_eq!(zero.leading_zeros(), 16);\n\nlet max = u16::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: u16::ilog2", + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10i128.unbounded_shr(4), 0x1);\nassert_eq!(0x10i128.unbounded_shr(129), 0);\nassert_eq!(i128::MIN.unbounded_shr(129), -1);\n```", "id": 10890, "inner": { "function": { @@ -72720,26 +71274,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i128" } } } }, - "links": { - "u16::ilog2": 10889 - }, - "name": "leading_zeros", + "links": {}, + "name": "unbounded_shr", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72749,10 +71307,7 @@ "10891": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -72762,7 +71317,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000u16;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0u16;\nassert_eq!(zero.trailing_zeros(), 16);\n\nlet max = u16::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`i128::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10i128.exact_shr(4), Some(0x1));\nassert_eq!(0x10i128.exact_shr(5), None);\n```", "id": 10891, "inner": { "function": { @@ -72784,24 +71339,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "trailing_zeros", + "name": "exact_shr", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72811,10 +71387,7 @@ "10892": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -72824,7 +71397,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(u16::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0u16;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = u16::MAX;\nassert_eq!(max.leading_ones(), 16);\n```", + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`i128::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\ni128::BITS`\ni.e. when\n[`i128::exact_shr`]\nwould return `None`.", "id": 10892, "inner": { "function": { @@ -72837,7 +71410,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -72846,24 +71419,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i128" } } } }, - "links": {}, - "name": "leading_ones", + "links": { + "`i128::exact_shr`": 10891 + }, + "name": "unchecked_exact_shr", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72873,10 +71454,10 @@ "10893": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { @@ -72886,7 +71467,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111u16;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0u16;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = u16::MAX;\nassert_eq!(max.trailing_ones(), 16);\n```", + "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5i128).checked_abs(), Some(5));\nassert_eq!(i128::MIN.checked_abs(), None);\n```", "id": 10893, "inner": { "function": { @@ -72912,20 +71493,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "trailing_ones", + "name": "checked_abs", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72935,17 +71531,23 @@ "10894": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_u16.bit_width(), 0);\nassert_eq!(0b111_u16.bit_width(), 3);\nassert_eq!(0b1110_u16.bit_width(), 4);\nassert_eq!(u16::MAX.bit_width(), 16);\n```", + "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5i128).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MIN.strict_abs();\n```", "id": 10894, "inner": { "function": { @@ -72971,20 +71573,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "i128" } } } }, "links": {}, - "name": "bit_width", + "name": "strict_abs", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -72994,7 +71596,10 @@ "10895": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -73004,7 +71609,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u16 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_u16.isolate_highest_one(), 0);\n```", + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8i128.checked_pow(2), Some(64));\nassert_eq!(i128::MAX.checked_pow(2), None);\n```", "id": 10895, "inner": { "function": { @@ -73026,24 +71631,45 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "isolate_highest_one", + "name": "checked_pow", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73053,17 +71679,23 @@ "10896": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u16 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_u16.isolate_lowest_one(), 0);\n```", + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8i128.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = i128::MAX.strict_pow(2);\n```", "id": 10896, "inner": { "function": { @@ -73085,24 +71717,30 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "isolate_lowest_one", + "name": "strict_pow", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73112,7 +71750,10 @@ "10897": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { @@ -73122,7 +71763,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u16.highest_one(), None);\nassert_eq!(0x1_u16.highest_one(), Some(0));\nassert_eq!(0x10_u16.highest_one(), Some(4));\nassert_eq!(0x1f_u16.highest_one(), Some(4));\n```", + "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i128.checked_isqrt(), Some(3));\n```", "id": 10897, "inner": { "function": { @@ -73154,7 +71795,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "i128" } } ], @@ -73169,14 +71810,14 @@ } }, "links": {}, - "name": "highest_one", + "name": "checked_isqrt", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73186,7 +71827,10 @@ "10898": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -73196,7 +71840,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u16.lowest_one(), None);\nassert_eq!(0x1_u16.lowest_one(), Some(0));\nassert_eq!(0x10_u16.lowest_one(), Some(4));\nassert_eq!(0x1f_u16.lowest_one(), Some(0));\n```", + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i128.saturating_add(1), 101);\nassert_eq!(i128::MAX.saturating_add(100), i128::MAX);\nassert_eq!(i128::MIN.saturating_add(-1), i128::MIN);\n```", "id": 10898, "inner": { "function": { @@ -73218,39 +71862,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i128" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "lowest_one", + "name": "saturating_add", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73260,10 +71895,10 @@ "10899": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -73273,7 +71908,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = u16::MAX;\n\nassert_eq!(n.cast_signed(), -1i16);\n```", + "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1i128.saturating_add_unsigned(2), 3);\nassert_eq!(i128::MAX.saturating_add_unsigned(100), i128::MAX);\n```", "id": 10899, "inner": { "function": { @@ -73295,24 +71930,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u128" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i16" + "primitive": "i128" } } } }, "links": {}, - "name": "cast_signed", + "name": "saturating_add_unsigned", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73369,7 +72010,7 @@ "10900": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -73382,7 +72023,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0xa003u16;\nlet m = 0x3a;\n\nassert_eq!(n.rotate_left(4), m);\n```", + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i128.saturating_sub(127), -27);\nassert_eq!(i128::MIN.saturating_sub(100), i128::MIN);\nassert_eq!(i128::MAX.saturating_sub(-1), i128::MAX);\n```", "id": 10900, "inner": { "function": { @@ -73406,28 +72047,28 @@ } ], [ - "n", + "rhs", { - "primitive": "u32" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "rotate_left", + "name": "saturating_sub", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73437,10 +72078,10 @@ "10901": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -73450,7 +72091,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x3au16;\nlet m = 0xa003;\n\nassert_eq!(n.rotate_right(4), m);\n```", + "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i128.saturating_sub_unsigned(127), -27);\nassert_eq!(i128::MIN.saturating_sub_unsigned(100), i128::MIN);\n```", "id": 10901, "inner": { "function": { @@ -73474,28 +72115,28 @@ } ], [ - "n", + "rhs", { - "primitive": "u32" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "rotate_right", + "name": "saturating_sub_unsigned", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73505,10 +72146,10 @@ "10902": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" }, { "must_use": { @@ -73518,7 +72159,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234u16;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x3412);\n```", + "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i128.saturating_neg(), -100);\nassert_eq!((-100i128).saturating_neg(), 100);\nassert_eq!(i128::MIN.saturating_neg(), i128::MAX);\nassert_eq!(i128::MAX.saturating_neg(), i128::MIN + 1);\n```", "id": 10902, "inner": { "function": { @@ -73544,20 +72185,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "swap_bytes", + "name": "saturating_neg", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73567,10 +72208,10 @@ "10903": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" }, { "must_use": { @@ -73580,7 +72221,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234u16;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x2c48);\nassert_eq!(0, 0u16.reverse_bits());\n```", + "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100i128.saturating_abs(), 100);\nassert_eq!((-100i128).saturating_abs(), 100);\nassert_eq!(i128::MIN.saturating_abs(), i128::MAX);\nassert_eq!((i128::MIN + 1).saturating_abs(), i128::MAX);\n```", "id": 10903, "inner": { "function": { @@ -73606,20 +72247,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "reverse_bits", + "name": "saturating_abs", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73629,20 +72270,20 @@ "10904": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au16;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(u16::from_be(n), n)\n} else {\n assert_eq!(u16::from_be(n), n.swap_bytes())\n}\n```", + "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10i128.saturating_mul(12), 120);\nassert_eq!(i128::MAX.saturating_mul(10), i128::MAX);\nassert_eq!(i128::MIN.saturating_mul(10), i128::MIN);\n```", "id": 10904, "inner": { "function": { @@ -73660,28 +72301,34 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "u16" + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "from_be", + "name": "saturating_mul", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73691,20 +72338,20 @@ "10905": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au16;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(u16::from_le(n), n)\n} else {\n assert_eq!(u16::from_le(n), n.swap_bytes())\n}\n```", + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i128.saturating_div(2), 2);\nassert_eq!(i128::MAX.saturating_div(-1), i128::MIN + 1);\nassert_eq!(i128::MIN.saturating_div(-1), i128::MAX);\n\n```", "id": 10905, "inner": { "function": { @@ -73722,28 +72369,34 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "u16" + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "from_le", + "name": "saturating_div", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73753,10 +72406,10 @@ "10906": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -73766,7 +72419,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au16;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4i128).saturating_pow(3), -64);\nassert_eq!(i128::MIN.saturating_pow(2), i128::MAX);\nassert_eq!(i128::MIN.saturating_pow(3), i128::MIN);\n```", "id": 10906, "inner": { "function": { @@ -73788,24 +72441,30 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "to_be", + "name": "saturating_pow", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73815,10 +72474,10 @@ "10907": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -73828,7 +72487,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au16;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_add_unsigned(27), 127);\nassert_eq!(i128::MAX.wrapping_add_unsigned(2), i128::MIN + 1);\n```", "id": 10907, "inner": { "function": { @@ -73850,24 +72509,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u128" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "to_le", + "name": "wrapping_add_unsigned", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73877,10 +72542,10 @@ "10908": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -73890,7 +72555,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((u16::MAX - 2).checked_add(1), Some(u16::MAX - 1));\nassert_eq!((u16::MAX - 2).checked_add(3), None);\n```", + "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0i128.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2i128).wrapping_sub_unsigned(u128::MAX), -1);\n```", "id": 10908, "inner": { "function": { @@ -73916,41 +72581,26 @@ [ "rhs", { - "primitive": "u16" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "checked_add", + "name": "wrapping_sub_unsigned", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -73960,23 +72610,20 @@ "10909": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((u16::MAX - 2).strict_add(1), u16::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (u16::MAX - 2).strict_add(3);\n```", + "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", "id": 10909, "inner": { "function": { @@ -74002,26 +72649,26 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "strict_add", + "name": "wrapping_div", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74098,7 +72745,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -74121,10 +72768,10 @@ "10910": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -74134,7 +72781,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200u16.wrapping_add(55), 255);\nassert_eq!(200u16.wrapping_add(u16::MAX), 199);\n```", + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", "id": 10910, "inner": { "function": { @@ -74160,26 +72807,26 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "wrapping_add", + "name": "wrapping_div_euclid", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74189,23 +72836,20 @@ "10911": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > u16::MAX` or `self + rhs < u16::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: u16::checked_add\n[`wrapping_add`]: u16::wrapping_add", + "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", "id": 10911, "inner": { "function": { @@ -74218,7 +72862,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -74231,29 +72875,26 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, - "links": { - "u16::checked_add": 10908, - "u16::wrapping_add": 10910 - }, - "name": "unchecked_add", + "links": {}, + "name": "wrapping_rem", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74263,10 +72904,10 @@ "10912": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -74276,7 +72917,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u16.checked_add_signed(2), Some(3));\nassert_eq!(1u16.checked_add_signed(-2), None);\nassert_eq!((u16::MAX - 2).checked_add_signed(3), None);\n```", + "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", "id": 10912, "inner": { "function": { @@ -74302,41 +72943,26 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "checked_add_signed", + "name": "wrapping_rem_euclid", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74346,23 +72972,20 @@ "10913": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u16.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u16.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (u16::MAX - 2).strict_add_signed(3);\n```", + "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_neg(), -100);\nassert_eq!((-100i128).wrapping_neg(), 100);\nassert_eq!(i128::MIN.wrapping_neg(), i128::MIN);\n```", "id": 10913, "inner": { "function": { @@ -74384,30 +73007,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "strict_add_signed", + "name": "wrapping_neg", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74417,10 +73034,10 @@ "10914": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -74430,7 +73047,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u16.checked_sub(1), Some(0));\nassert_eq!(0u16.checked_sub(1), None);\n```", + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1i128).wrapping_shl(7), -128);\nassert_eq!((-1i128).wrapping_shl(128), -1);\n```", "id": 10914, "inner": { "function": { @@ -74456,41 +73073,28 @@ [ "rhs", { - "primitive": "u16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, - "links": {}, - "name": "checked_sub", + "links": { + "Self::rotate_left": 10843 + }, + "name": "wrapping_shl", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74500,23 +73104,20 @@ "10915": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u16.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0u16.strict_sub(1);\n```", + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128i128).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", "id": 10915, "inner": { "function": { @@ -74542,26 +73143,28 @@ [ "rhs", { - "primitive": "u16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, - "links": {}, - "name": "strict_sub", + "links": { + "Self::rotate_right": 10844 + }, + "name": "wrapping_shr", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74571,10 +73174,10 @@ "10916": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { @@ -74584,7 +73187,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100u16.wrapping_sub(100), 0);\nassert_eq!(100u16.wrapping_sub(u16::MAX), 101);\n```", + "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100i128.wrapping_abs(), 100);\nassert_eq!((-100i128).wrapping_abs(), 100);\nassert_eq!(i128::MIN.wrapping_abs(), i128::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", "id": 10916, "inner": { "function": { @@ -74606,30 +73209,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "wrapping_sub", + "name": "wrapping_abs", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74639,23 +73236,20 @@ "10917": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > u16::MAX` or `self - rhs < u16::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: u16::checked_sub\n[`wrapping_sub`]: u16::wrapping_sub", + "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100i128.unsigned_abs(), 100u128);\nassert_eq!((-100i128).unsigned_abs(), 100u128);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", "id": 10917, "inner": { "function": { @@ -74668,7 +73262,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -74677,33 +73271,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u128" } } } }, - "links": { - "u16::checked_sub": 10914, - "u16::wrapping_sub": 10916 - }, - "name": "unchecked_sub", + "links": {}, + "name": "unsigned_abs", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74713,10 +73298,10 @@ "10918": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -74726,7 +73311,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u16.checked_sub_signed(2), None);\nassert_eq!(1u16.checked_sub_signed(-2), Some(3));\nassert_eq!((u16::MAX - 2).checked_sub_signed(-4), None);\n```", + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3i128.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", "id": 10918, "inner": { "function": { @@ -74750,43 +73335,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "i16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "checked_sub_signed", + "name": "wrapping_pow", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74796,23 +73366,20 @@ "10919": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3u16.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u16.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (u16::MAX).strict_sub_signed(-1);\n```", + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_add(2), (7, false));\nassert_eq!(i128::MAX.overflowing_add(1), (i128::MIN, true));\n```", "id": 10919, "inner": { "function": { @@ -74838,26 +73405,33 @@ [ "rhs", { - "primitive": "i16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "i128" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_sub_signed", + "name": "overflowing_add", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74886,11 +73460,11 @@ "name": "Item", "span": { "begin": [ - 2177, + 2172, 5 ], "end": [ - 2177, + 2172, 19 ], "filename": "std/src/collections/hash/map.rs" @@ -74900,15 +73474,20 @@ "10920": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`i16`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10u16.checked_signed_diff(2), Some(8));\nassert_eq!(2u16.checked_signed_diff(10), Some(-8));\nassert_eq!(u16::MAX.checked_signed_diff(i16::MAX as u16), None);\nassert_eq!((i16::MAX as u16).checked_signed_diff(u16::MAX), Some(i16::MIN));\nassert_eq!((i16::MAX as u16 + 1).checked_signed_diff(0), None);\nassert_eq!(u16::MAX.checked_signed_diff(u16::MAX), Some(0));\n```", + "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry (in that order).\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 128-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n// 3 MAX (a = 3 × 2^128 + 2^128 - 1)\n// + 5 7 (b = 5 × 2^128 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^128 + 6)\n\nlet (a1, a0): (u128, u128) = (3, u128::MAX);\nlet (b1, b0): (u128, u128) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", "id": 10920, "inner": { "function": { @@ -74934,43 +73513,41 @@ [ "rhs", { - "primitive": "u16" + "primitive": "u128" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i16" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u128" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": { - "`i16`": 4816 + "Self::overflowing_add": 11641 }, - "name": "checked_signed_diff", + "name": "carrying_add", "span": { "begin": [ - 1081, + 1186, 5 ], "end": [ - 1099, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -74980,10 +73557,7 @@ "10921": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -74993,7 +73567,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5u16.checked_mul(1), Some(5));\nassert_eq!(u16::MAX.checked_mul(2), None);\n```", + "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`u128::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^128 + 2^128 - 1)\n// + -5 9 (b = -5 × 2^128 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^128 + 8)\n\nlet (a1, a0): (i128, u128) = (10, u128::MAX);\nlet (b1, b0): (i128, u128) = (-5, 9);\nlet carry0 = false;\n\n// u128::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// i128::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", "id": 10921, "inner": { "function": { @@ -75019,41 +73593,42 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i128" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "checked_mul", + "links": { + "Self::overflowing_add": 10919, + "`u128::carrying_add`": 10920 + }, + "name": "carrying_add", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75063,23 +73638,20 @@ "10922": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5u16.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = u16::MAX.strict_mul(2);\n```", + "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i128.overflowing_add_unsigned(2), (3, false));\nassert_eq!((i128::MIN).overflowing_add_unsigned(u128::MAX), (i128::MAX, false));\nassert_eq!((i128::MAX - 2).overflowing_add_unsigned(3), (i128::MIN, true));\n```", "id": 10922, "inner": { "function": { @@ -75105,26 +73677,33 @@ [ "rhs", { - "primitive": "u16" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "i128" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_mul", + "name": "overflowing_add_unsigned", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75134,10 +73713,10 @@ "10923": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -75147,7 +73726,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_sub(2), (3, false));\nassert_eq!(i128::MIN.overflowing_sub(1), (i128::MAX, true));\n```", "id": 10923, "inner": { "function": { @@ -75173,26 +73752,33 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "i128" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "wrapping_mul", + "name": "overflowing_sub", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75202,23 +73788,20 @@ "10924": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > u16::MAX` or `self * rhs < u16::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: u16::checked_mul\n[`wrapping_mul`]: u16::wrapping_mul", + "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n// 9 6 (a = 9 × 2^128 + 6)\n// - 5 7 (b = 5 × 2^128 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^128 + 2^128 - 1)\n\nlet (a1, a0): (u128, u128) = (9, 6);\nlet (b1, b0): (u128, u128) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, u128::MAX));\n```", "id": 10924, "inner": { "function": { @@ -75231,7 +73814,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -75244,29 +73827,39 @@ [ "rhs", { - "primitive": "u16" + "primitive": "u128" + } + ], + [ + "borrow", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "u128" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "u16::checked_mul": 10921, - "u16::wrapping_mul": 10923 - }, - "name": "unchecked_mul", + "links": {}, + "name": "borrowing_sub", "span": { "begin": [ - 1081, + 1186, 5 ], "end": [ - 1099, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75276,10 +73869,7 @@ "10925": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -75289,7 +73879,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u16.checked_div(2), Some(64));\nassert_eq!(1u16.checked_div(0), None);\n```", + "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`u128::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^128 + 8)\n// - -5 9 (b = -5 × 2^128 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^128 + 2^128 - 1)\n\nlet (a1, a0): (i128, u128) = (6, 8);\nlet (b1, b0): (i128, u128) = (-5, 9);\nlet borrow0 = false;\n\n// u128::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// i128::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, u128::MAX));\n```", "id": 10925, "inner": { "function": { @@ -75315,41 +73905,42 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" + } + ], + [ + "borrow", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i128" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "checked_div", + "links": { + "Self::overflowing_sub": 10923, + "`u128::borrowing_sub`": 10924 + }, + "name": "borrowing_sub", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75359,23 +73950,20 @@ "10926": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u16).strict_div(0);\n```", + "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1i128.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((i128::MAX).overflowing_sub_unsigned(u128::MAX), (i128::MIN, false));\nassert_eq!((i128::MIN + 2).overflowing_sub_unsigned(3), (i128::MAX, true));\n```", "id": 10926, "inner": { "function": { @@ -75401,26 +73989,33 @@ [ "rhs", { - "primitive": "u16" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "i128" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_div", + "name": "overflowing_sub_unsigned", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75430,10 +74025,10 @@ "10927": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -75443,7 +74038,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u16.checked_div_euclid(2), Some(64));\nassert_eq!(1u16.checked_div_euclid(0), None);\n```", + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", "id": 10927, "inner": { "function": { @@ -75469,41 +74064,33 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i128" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_div_euclid", + "name": "overflowing_mul", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75513,23 +74100,20 @@ "10928": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u16).strict_div_euclid(0);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(i128::MAX.carrying_mul(i128::MAX, i128::MAX), (i128::MAX.unsigned_abs() + 1, i128::MAX / 2));\n```", "id": 10928, "inner": { "function": { @@ -75555,26 +74139,41 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" + } + ], + [ + "carry", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "u128" + }, + { + "primitive": "i128" + } + ] } } } }, - "links": {}, - "name": "strict_div_euclid", + "links": { + "`Self::widening_mul`": 10929 + }, + "name": "carrying_mul", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75584,7 +74183,10 @@ "10929": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -75594,7 +74196,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u16.checked_exact_div(2), Some(32));\nassert_eq!(64u16.checked_exact_div(32), Some(2));\nassert_eq!(64u16.checked_exact_div(0), None);\nassert_eq!(65u16.checked_exact_div(2), None);\n```", + "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", "id": 10929, "inner": { "function": { @@ -75620,41 +74222,35 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u128" }, - "id": 51, - "path": "Option" - } + { + "primitive": "i128" + } + ] } } } }, - "links": {}, - "name": "checked_exact_div", + "links": { + "`Self::carrying_mul`": 10928 + }, + "name": "widening_mul", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75725,11 +74321,11 @@ "name": "next", "span": { "begin": [ - 2180, + 2175, 5 ], "end": [ - 2182, + 2177, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -75739,7 +74335,10 @@ "10930": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -75749,7 +74348,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u16.exact_div(2), 32);\nassert_eq!(64u16.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65u16.exact_div(2);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(i128::MAX.carrying_mul_add(i128::MAX, i128::MAX, i128::MAX), (u128::MAX, i128::MAX / 2));\n```", "id": 10930, "inner": { "function": { @@ -75775,26 +74374,48 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" + } + ], + [ + "carry", + { + "primitive": "i128" + } + ], + [ + "add", + { + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "u128" + }, + { + "primitive": "i128" + } + ] } } } }, - "links": {}, - "name": "exact_div", + "links": { + "`Self::carrying_mul`": 10928, + "`Self::widening_mul`": 10929 + }, + "name": "carrying_mul_add", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75804,7 +74425,10 @@ "10931": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -75814,7 +74438,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_div(2), (2, false));\nassert_eq!(i128::MIN.overflowing_div(-1), (i128::MIN, true));\n```", "id": 10931, "inner": { "function": { @@ -75827,7 +74451,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -75840,28 +74464,33 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "i128" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "Self::checked_exact_div": 10929 - }, - "name": "unchecked_exact_div", + "links": {}, + "name": "overflowing_div", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75871,10 +74500,10 @@ "10932": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -75884,7 +74513,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u16.checked_rem(2), Some(1));\nassert_eq!(5u16.checked_rem(0), None);\n```", + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_div_euclid(2), (2, false));\nassert_eq!(i128::MIN.overflowing_div_euclid(-1), (i128::MIN, true));\n```", "id": 10932, "inner": { "function": { @@ -75910,41 +74539,33 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i128" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_rem", + "name": "overflowing_div_euclid", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -75954,23 +74575,20 @@ "10933": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u16.strict_rem(0);\n```", + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_rem(2), (1, false));\nassert_eq!(i128::MIN.overflowing_rem(-1), (0, true));\n```", "id": 10933, "inner": { "function": { @@ -75996,26 +74614,33 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "i128" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_rem", + "name": "overflowing_rem", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76034,11 +74659,14 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u16.checked_rem_euclid(2), Some(1));\nassert_eq!(5u16.checked_rem_euclid(0), None);\n```", + "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5i128.overflowing_rem_euclid(2), (1, false));\nassert_eq!(i128::MIN.overflowing_rem_euclid(-1), (0, true));\n```", "id": 10934, "inner": { "function": { @@ -76064,41 +74692,33 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i128" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_rem_euclid", + "name": "overflowing_rem_euclid", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76108,23 +74728,20 @@ "10935": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u16.strict_rem_euclid(0);\n```", + "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2i128.overflowing_neg(), (-2, false));\nassert_eq!(i128::MIN.overflowing_neg(), (i128::MIN, true));\n```", "id": 10935, "inner": { "function": { @@ -76146,30 +74763,31 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "i128" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_rem_euclid", + "name": "overflowing_neg", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76179,15 +74797,20 @@ "10936": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_u16.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1i128.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10i128.overflowing_shl(127), (0, false));\n```", "id": 10936, "inner": { "function": { @@ -76200,7 +74823,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -76211,28 +74834,35 @@ } ], [ - "other", + "rhs", { - "primitive": "u16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "tuple": [ + { + "primitive": "i128" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "unchecked_disjoint_bitor", + "name": "overflowing_shl", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76242,23 +74872,20 @@ "10937": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5u16.ilog(5), 1);\n```", + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10i128.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", "id": 10937, "inner": { "function": { @@ -76282,28 +74909,35 @@ } ], [ - "base", + "rhs", { - "primitive": "u16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "i128" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "ilog", + "name": "overflowing_shr", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76313,23 +74947,20 @@ "10938": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10u16.ilog10(), 1);\n```", + "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., i128::MIN for values of type i128),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10i128.overflowing_abs(), (10, false));\nassert_eq!((-10i128).overflowing_abs(), (10, false));\nassert_eq!((i128::MIN).overflowing_abs(), (i128::MIN, true));\n```", "id": 10938, "inner": { "function": { @@ -76355,20 +74986,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "i128" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "ilog10", + "name": "overflowing_abs", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76378,10 +75016,10 @@ "10939": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -76391,7 +75029,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5u16.checked_ilog(5), Some(1));\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3i128.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", "id": 10939, "inner": { "function": { @@ -76415,43 +75053,35 @@ } ], [ - "base", + "exp", { - "primitive": "u16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "i128" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_ilog", + "name": "overflowing_pow", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76529,11 +75159,11 @@ "name": "size_hint", "span": { "begin": [ - 2184, + 2179, 5 ], "end": [ - 2186, + 2181, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -76543,10 +75173,10 @@ "10940": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -76556,7 +75186,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2u16.checked_ilog2(), Some(1));\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: i128 = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", "id": 10940, "inner": { "function": { @@ -76578,39 +75208,30 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "checked_ilog2", + "name": "pow", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76620,20 +75241,23 @@ "10941": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10u16.checked_ilog10(), Some(1));\n```", + "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10i128.isqrt(), 3);\n```", "id": 10941, "inner": { "function": { @@ -76659,35 +75283,20 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "checked_ilog10", + "name": "isqrt", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76697,20 +75306,23 @@ "10942": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0u16.checked_neg(), Some(0));\nassert_eq!(1u16.checked_neg(), None);\n```", + "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i128 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", "id": 10942, "inner": { "function": { @@ -76732,39 +75344,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i128" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "checked_neg", + "name": "div_euclid", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76774,10 +75377,13 @@ "10943": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -76790,7 +75396,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0u16.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1u16.strict_neg();\n", + "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: i128 = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = i128::MIN.rem_euclid(-1);\n```", "id": 10943, "inner": { "function": { @@ -76812,24 +75418,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i128" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "strict_neg", + "name": "rem_euclid", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76839,20 +75451,20 @@ "10944": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1u16.checked_shl(4), Some(0x10));\nassert_eq!(0x10u16.checked_shl(129), None);\nassert_eq!(0x10u16.checked_shl(15), Some(0));\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i128 = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", "id": 10944, "inner": { "function": { @@ -76878,41 +75490,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "checked_shl", + "name": "div_floor", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76922,10 +75519,7 @@ "10945": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -76938,7 +75532,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1u16.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u16.strict_shl(129);\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: i128 = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", "id": 10945, "inner": { "function": { @@ -76964,26 +75558,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "strict_shl", + "name": "div_ceil", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -76993,20 +75587,17 @@ "10946": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: u16::checked_shl", + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i128.next_multiple_of(8), 16);\nassert_eq!(23_i128.next_multiple_of(8), 24);\nassert_eq!(16_i128.next_multiple_of(-8), 16);\nassert_eq!(23_i128.next_multiple_of(-8), 16);\nassert_eq!((-16_i128).next_multiple_of(8), -16);\nassert_eq!((-23_i128).next_multiple_of(8), -16);\nassert_eq!((-16_i128).next_multiple_of(-8), -16);\nassert_eq!((-23_i128).next_multiple_of(-8), -24);\n```", "id": 10946, "inner": { "function": { @@ -77019,7 +75610,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -77032,28 +75623,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, - "links": { - "u16::checked_shl": 10944 - }, - "name": "unchecked_shl", + "links": {}, + "name": "next_multiple_of", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77063,10 +75652,7 @@ "10947": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -77076,7 +75662,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1u16.unbounded_shl(4), 0x10);\nassert_eq!(0x1u16.unbounded_shl(129), 0);\n```", + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_i128.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_i128.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_i128.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_i128.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_i128).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_i128).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_i128).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_i128).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_i128.checked_next_multiple_of(0), None);\nassert_eq!(i128::MAX.checked_next_multiple_of(2), None);\n```", "id": 10947, "inner": { "function": { @@ -77102,26 +75688,41 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "unbounded_shl", + "name": "checked_next_multiple_of", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77131,20 +75732,23 @@ "10948": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10u16.checked_shr(4), Some(0x1));\nassert_eq!(0x10u16.checked_shr(129), None);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5i128.ilog(5), 1);\n```", "id": 10948, "inner": { "function": { @@ -77168,43 +75772,28 @@ } ], [ - "rhs", + "base", { - "primitive": "u32" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_shr", + "name": "ilog", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77214,10 +75803,10 @@ "10949": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -77230,7 +75819,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10u16.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u16.strict_shr(129);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10i128.ilog10(), 1);\n```", "id": 10949, "inner": { "function": { @@ -77252,30 +75841,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_shr", + "name": "ilog10", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77325,11 +75908,11 @@ "name": "count", "span": { "begin": [ - 2188, + 2183, 5 ], "end": [ - 2190, + 2185, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -77339,20 +75922,20 @@ "10950": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: u16::checked_shr", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5i128.checked_ilog(5), Some(1));\n```", "id": 10950, "inner": { "function": { @@ -77365,7 +75948,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -77376,30 +75959,43 @@ } ], [ - "rhs", + "base", { - "primitive": "u32" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "u16::checked_shr": 10948 - }, - "name": "unchecked_shr", + "links": {}, + "name": "checked_ilog", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77409,10 +76005,10 @@ "10951": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -77422,7 +76018,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10u16.unbounded_shr(4), 0x1);\nassert_eq!(0x10u16.unbounded_shr(129), 0);\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2i128.checked_ilog2(), Some(1));\n```", "id": 10951, "inner": { "function": { @@ -77444,30 +76040,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "unbounded_shr", + "name": "checked_ilog2", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77477,10 +76082,10 @@ "10952": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -77490,7 +76095,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2u16.checked_pow(5), Some(32));\nassert_eq!(u16::MAX.checked_pow(2), None);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10i128.checked_ilog10(), Some(1));\n```", "id": 10952, "inner": { "function": { @@ -77512,12 +76117,6 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, @@ -77528,7 +76127,7 @@ "args": [ { "type": { - "primitive": "u16" + "primitive": "u32" } } ], @@ -77543,14 +76142,14 @@ } }, "links": {}, - "name": "checked_pow", + "name": "checked_ilog10", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77560,23 +76159,20 @@ "10953": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2u16.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = u16::MAX.strict_pow(2);\n```", + "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`i128::MIN`\ncannot be represented as an\n`i128`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`i128::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10i128.abs(), 10);\nassert_eq!((-10i128).abs(), 10);\n```", "id": 10953, "inner": { "function": { @@ -77598,30 +76194,26 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, - "links": {}, - "name": "strict_pow", + "links": { + "Self::unsigned_abs": 10917 + }, + "name": "abs", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77631,10 +76223,10 @@ "10954": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" }, { "must_use": { @@ -77644,7 +76236,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u16.saturating_add(1), 101);\nassert_eq!(u16::MAX.saturating_add(127), u16::MAX);\n```", + "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100i128.abs_diff(80), 20u128);\nassert_eq!(100i128.abs_diff(110), 10u128);\nassert_eq!((-100i128).abs_diff(80), 180u128);\nassert_eq!((-100i128).abs_diff(-120), 20u128);\nassert_eq!(i128::MIN.abs_diff(i128::MAX), u128::MAX);\n```", "id": 10954, "inner": { "function": { @@ -77668,28 +76260,28 @@ } ], [ - "rhs", + "other", { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u128" } } } }, "links": {}, - "name": "saturating_add", + "name": "abs_diff", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77699,10 +76291,10 @@ "10955": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -77712,7 +76304,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u16.saturating_add_signed(2), 3);\nassert_eq!(1u16.saturating_add_signed(-2), 0);\nassert_eq!((u16::MAX - 2).saturating_add_signed(4), u16::MAX);\n```", + "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10i128.signum(), 1);\nassert_eq!(0i128.signum(), 0);\nassert_eq!((-10i128).signum(), -1);\n```", "id": 10955, "inner": { "function": { @@ -77734,30 +76326,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "saturating_add_signed", + "name": "signum", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77767,20 +76353,20 @@ "10956": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u16.saturating_sub(27), 73);\nassert_eq!(13u16.saturating_sub(127), 0);\n```", + "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10i128.is_positive());\nassert!(!(-10i128).is_positive());\n```", "id": 10956, "inner": { "function": { @@ -77802,30 +76388,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "bool" } } } }, "links": {}, - "name": "saturating_sub", + "name": "is_positive", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77835,20 +76415,20 @@ "10957": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u16.saturating_sub_signed(2), 0);\nassert_eq!(1u16.saturating_sub_signed(-2), 3);\nassert_eq!((u16::MAX - 2).saturating_sub_signed(-4), u16::MAX);\n```", + "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10i128).is_negative());\nassert!(!10i128.is_negative());\n```", "id": 10957, "inner": { "function": { @@ -77870,30 +76450,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "bool" } } } }, "links": {}, - "name": "saturating_sub_signed", + "name": "is_negative", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77903,10 +76477,10 @@ "10958": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -77916,7 +76490,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2u16.saturating_mul(10), 20);\nassert_eq!((u16::MAX).saturating_mul(10), u16::MAX);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012i128.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]);\n```", "id": 10958, "inner": { "function": { @@ -77938,30 +76512,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "saturating_mul", + "name": "to_be_bytes", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -77971,23 +76544,20 @@ "10959": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u16.saturating_div(2), 2);\n\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012i128.to_le_bytes();\nassert_eq!(bytes, [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", "id": 10959, "inner": { "function": { @@ -78009,30 +76579,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "saturating_div", + "name": "to_le_bytes", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -78183,11 +76752,11 @@ "name": "fold", "span": { "begin": [ - 2192, + 2187, 5 ], "end": [ - 2198, + 2193, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -78197,10 +76766,10 @@ "10960": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -78210,7 +76779,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4u16.saturating_pow(3), 64);\nassert_eq!(u16::MAX.saturating_pow(2), u16::MAX);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012i128.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]\n } else {\n [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", "id": 10960, "inner": { "function": { @@ -78232,30 +76801,32 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "saturating_pow", + "links": { + "Self::to_be_bytes": 10958, + "Self::to_le_bytes": 10959 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -78265,20 +76836,20 @@ "10961": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u16.wrapping_add_signed(2), 3);\nassert_eq!(1u16.wrapping_add_signed(-2), u16::MAX);\nassert_eq!((u16::MAX - 2).wrapping_add_signed(4), 1);\n```", + "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n\n# Examples\n\n```\nlet value = i128::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]);\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_i128(input: &mut &[u8]) -> i128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i128::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10961, "inner": { "function": { @@ -78296,34 +76867,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "i16" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "wrapping_add_signed", + "name": "from_be_bytes", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -78333,20 +76903,20 @@ "10962": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u16.wrapping_sub_signed(2), u16::MAX);\nassert_eq!(1u16.wrapping_sub_signed(-2), 3);\nassert_eq!((u16::MAX - 2).wrapping_sub_signed(-4), 1);\n```", + "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n\n# Examples\n\n```\nlet value = i128::from_le_bytes([0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_i128(input: &mut &[u8]) -> i128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i128::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10962, "inner": { "function": { @@ -78364,34 +76934,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "i16" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "wrapping_sub_signed", + "name": "from_le_bytes", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -78401,23 +76970,20 @@ "10963": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.wrapping_div(10), 10);\n```", + "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = i128::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]\n} else {\n [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_i128(input: &mut &[u8]) -> i128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n i128::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 10963, "inner": { "function": { @@ -78435,34 +77001,36 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u16" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, - "links": {}, - "name": "wrapping_div", + "links": { + "Self::from_be_bytes": 10961, + "Self::from_le_bytes": 10962 + }, + "name": "from_ne_bytes", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -78472,24 +77040,80 @@ "10964": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[rustc_diagnostic_item = \"i128_legacy_fn_min_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 1, + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`i128::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", + "id": 10964, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "primitive": "i128" + } } + } + }, + "links": { + "`i128::MIN`": 10828 + }, + "name": "min_value", + "span": { + "begin": [ + 343, + 5 + ], + "end": [ + 364, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "10965": { + "attrs": [ + { + "other": "#[rustc_diagnostic_item = \"i128_legacy_fn_max_value\"]" }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.wrapping_div_euclid(10), 10);\n```", - "id": 10964, + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`i128::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", + "id": 10965, "inner": { "function": { "generics": { @@ -78504,63 +77128,58 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u16" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, - "links": {}, - "name": "wrapping_div_euclid", + "links": { + "`i128::MAX`": 10829 + }, + "name": "max_value", "span": { "begin": [ - 1081, + 343, 5 ], "end": [ - 1099, + 364, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "10965": { + "10966": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[doc(alias = \"average_floor\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[doc(alias = \"average_ceil\")]" + }, + { + "other": "#[doc(alias = \"average\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.wrapping_rem(10), 0);\n```", - "id": 10965, + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0i128.midpoint(4), 2);\nassert_eq!((-1i128).midpoint(2), 0);\nassert_eq!((-7i128).midpoint(0), -3);\nassert_eq!(0i128.midpoint(-7), -3);\nassert_eq!(0i128.midpoint(7), 3);\n```", + "id": 10966, "inner": { "function": { "generics": { @@ -78585,182 +77204,221 @@ [ "rhs", { - "primitive": "u16" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u16" - } - } - } - }, - "links": {}, - "name": "wrapping_rem", - "span": { - "begin": [ - 1081, - 5 - ], - "end": [ - 1099, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "10966": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.wrapping_rem_euclid(10), 0);\n```", - "id": 10966, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u16" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "i128" } } } }, "links": {}, - "name": "wrapping_rem_euclid", + "name": "midpoint", "span": { "begin": [ - 1081, + 365, 5 ], "end": [ - 1099, - 6 + 365, + 36 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10967": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_u16.wrapping_neg(), 0);\nassert_eq!(u16::MAX.wrapping_neg(), 1);\nassert_eq!(13_u16.wrapping_neg(), (!13) + 1);\nassert_eq!(42_u16.wrapping_neg(), !(42 - 1));\n```", + "docs": null, "id": 10967, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i128" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u16" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10828, + 10829, + 10830, + 10831, + 10832, + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10840, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10854, + 10855, + 10856, + 10857, + 10858, + 10860, + 10861, + 10862, + 10863, + 10864, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10874, + 10875, + 10876, + 10877, + 10878, + 10879, + 10880, + 10881, + 10882, + 10883, + 10884, + 10885, + 10886, + 10887, + 10888, + 10889, + 10890, + 10891, + 10892, + 10893, + 10894, + 10895, + 10896, + 10897, + 10898, + 10899, + 10900, + 10901, + 10902, + 10903, + 10904, + 10905, + 10906, + 10853, + 10907, + 10859, + 10908, + 10865, + 10909, + 10910, + 10911, + 10912, + 10913, + 10914, + 10915, + 10916, + 10917, + 10918, + 10919, + 10921, + 10922, + 10923, + 10925, + 10926, + 10927, + 10929, + 10928, + 10930, + 10931, + 10932, + 10933, + 10934, + 10935, + 10936, + 10937, + 10938, + 10939, + 10940, + 10941, + 10942, + 10943, + 10944, + 10945, + 10946, + 10947, + 10948, + 10833, + 10949, + 10950, + 10951, + 10952, + 10953, + 10954, + 10955, + 10956, + 10957, + 10958, + 10959, + 10960, + 10961, + 10962, + 10963, + 10964, + 10965, + 10966 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "wrapping_neg", + "name": null, "span": { "begin": [ - 1081, - 5 + 342, + 1 ], "end": [ - 1099, - 6 + 342, + 10 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "10968": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1u16.wrapping_shl(7), 128);\nassert_eq!(1u16.wrapping_shl(128), 1);\n```", + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(i128::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(i128::from_str_radix(\"1 \", 10).is_err());\n```", "id": 10968, "inner": { "function": { @@ -78778,13 +77436,19 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } ], [ - "rhs", + "radix", { "primitive": "u32" } @@ -78792,23 +77456,45 @@ ], "is_c_variadic": false, "output": { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, - "links": { - "Self::rotate_left": 10900 - }, - "name": "wrapping_shl", + "links": {}, + "name": "from_str_radix", "span": { "begin": [ - 1081, - 5 + 1666, + 1 ], "end": [ - 1099, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -78817,20 +77503,12 @@ "10969": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128u16.wrapping_shr(7), 1);\nassert_eq!(128u16.wrapping_shr(128), 128);\n```", + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i128::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i128::from_ascii(b\"1 \").is_err());\n```", "id": 10969, "inner": { "function": { @@ -78848,37 +77526,61 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "src", { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, - "links": { - "Self::rotate_right": 10901 - }, - "name": "wrapping_shr", + "links": {}, + "name": "from_ascii", "span": { "begin": [ - 1081, - 5 + 1666, + 1 ], "end": [ - 1099, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -79044,11 +77746,11 @@ "name": null, "span": { "begin": [ - 2176, + 2171, 1 ], "end": [ - 2199, + 2194, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -79058,20 +77760,12 @@ "10970": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3u16.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(i128::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(i128::from_ascii_radix(b\"1 \", 10).is_err());\n```", "id": 10970, "inner": { "function": { @@ -79089,13 +77783,21 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ], [ - "exp", + "radix", { "primitive": "u32" } @@ -79103,118 +77805,102 @@ ], "is_c_variadic": false, "output": { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "wrapping_pow", + "name": "from_ascii_radix", "span": { "begin": [ - 1081, - 5 + 1666, + 1 ], "end": [ - 1099, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "10971": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_add(2), (7, false));\nassert_eq!(u16::MAX.overflowing_add(1), (0, true));\n```", + "docs": null, "id": 10971, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i128" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u16" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10968, + 10969, + 10970 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "overflowing_add", + "name": null, "span": { "begin": [ - 1081, - 5 + 1666, + 1 ], "end": [ - 1099, - 6 + 1666, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "10972": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u16.overflowing_add_signed(2), (3, false));\nassert_eq!(1u16.overflowing_add_signed(-2), (u16::MAX, true));\nassert_eq!((u16::MAX - 2).overflowing_add_signed(4), (1, true));\n```", + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0i128;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = i128::MIN;\nassert_eq!(n1.format_into(&mut buf), i128::MIN.to_string());\n\nlet n2 = i128::MAX;\nassert_eq!(n2.format_into(&mut buf), i128::MAX.to_string());\n```", "id": 10972, "inner": { "function": { @@ -79226,7 +77912,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -79238,185 +77924,131 @@ } ], [ - "rhs", + "buf", { - "primitive": "i16" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i128" + } + } + ], + "constraints": [] + } + }, + "id": 10387, + "path": "NumBuffer" + } + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" } - ] + } } } } }, - "links": {}, - "name": "overflowing_add_signed", + "links": { + "`NumBuffer`": 10387 + }, + "name": "format_into", "span": { "begin": [ - 1081, + 794, 5 ], "end": [ - 1099, - 6 + 794, + 64 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "public" }, "10973": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_sub(2), (3, false));\nassert_eq!(0u16.overflowing_sub(1), (u16::MAX, true));\n```", + "docs": null, "id": 10973, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "i128" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u16" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10972 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "overflowing_sub", + "name": null, "span": { "begin": [ - 1081, - 5 + 773, + 1 ], "end": [ - 1099, - 6 + 773, + 10 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, - "visibility": "public" + "visibility": "default" }, "10974": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u16.overflowing_sub_signed(2), (u16::MAX, true));\nassert_eq!(1u16.overflowing_sub_signed(-2), (3, false));\nassert_eq!((u16::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", + "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(u8::MIN, 0);\n```", "id": 10974, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u8" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i16" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "0" } }, "links": {}, - "name": "overflowing_sub_signed", + "name": "MIN", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -79426,65 +78058,30 @@ "10975": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100u16.abs_diff(80), 20u16);\nassert_eq!(100u16.abs_diff(110), 10u16);\n```", + "docs": "The largest value that can be represented by this integer type\n(28 − 1).\n\n# Examples\n\n```\nassert_eq!(u8::MAX, 255);\n```", "id": 10975, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u8" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "u16" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u16" - } - } + "value": "_" } }, "links": {}, - "name": "abs_diff", + "name": "MAX", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -79494,72 +78091,30 @@ "10976": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why why `u32`\nis used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(u8::BITS, 8);\n```", "id": 10976, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u16" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] - } - } + "value": "_" } }, "links": {}, - "name": "overflowing_mul", + "name": "BITS", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -79569,10 +78124,16 @@ "10977": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[doc(alias = \"popcount\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -79582,7 +78143,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(u16::MAX.carrying_mul(u16::MAX, u16::MAX), (0, u16::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100u8;\nassert_eq!(n.count_ones(), 3);\n\nlet max = u8::MAX;\nassert_eq!(max.count_ones(), 8);\n\nlet zero = 0u8;\nassert_eq!(zero.count_ones(), 0);\n```", "id": 10977, "inner": { "function": { @@ -79604,48 +78165,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } - ], - [ - "carry", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "u16" - } - ] + "primitive": "u32" } } } }, - "links": { - "Self::overflowing_mul": 10976, - "Self::wrapping_add": 10910, - "Self::wrapping_mul": 10923, - "`Self::widening_mul`": 10978 - }, - "name": "carrying_mul", + "links": {}, + "name": "count_ones", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -79655,10 +78192,10 @@ "10978": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -79668,7 +78205,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0u8;\nassert_eq!(zero.count_zeros(), 8);\n\nlet max = u8::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", "id": 10978, "inner": { "function": { @@ -79690,39 +78227,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "u16" - } - ] + "primitive": "u32" } } } }, - "links": { - "`Self::carrying_mul`": 10977 - }, - "name": "widening_mul", + "links": {}, + "name": "count_zeros", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -79732,20 +78254,23 @@ "10979": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(u16::MAX.carrying_mul_add(u16::MAX, u16::MAX, u16::MAX), (u16::MAX, u16::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\n#![feature(bigint_helper_methods)]\n\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xCFFC982D);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xCFFC982D)\n);\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2u8.ilog2(), 1);\n```", "id": 10979, "inner": { "function": { @@ -79767,52 +78292,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } - ], - [ - "carry", - { - "primitive": "u16" - } - ], - [ - "add", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "u16" - } - ] + "primitive": "u32" } } } }, - "links": { - "`Self::carrying_mul`": 10977, - "`Self::widening_mul`": 10978 - }, - "name": "carrying_mul_add", + "links": {}, + "name": "ilog2", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -79868,11 +78365,11 @@ "name": "len", "span": { "begin": [ - 2203, + 2198, 5 ], "end": [ - 2205, + 2200, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -79882,23 +78379,20 @@ "10980": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_div(2), (2, false));\n```", + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = u8::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0u8;\nassert_eq!(zero.leading_zeros(), 8);\n\nlet max = u8::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: u8::ilog2", "id": 10980, "inner": { "function": { @@ -79920,37 +78414,26 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, - "links": {}, - "name": "overflowing_div", + "links": { + "u8::ilog2": 10979 + }, + "name": "leading_zeros", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -79960,23 +78443,20 @@ "10981": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_div_euclid(2), (2, false));\n```", + "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000u8;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0u8;\nassert_eq!(zero.trailing_zeros(), 8);\n\nlet max = u8::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", "id": 10981, "inner": { "function": { @@ -79998,37 +78478,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_div_euclid", + "name": "trailing_zeros", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80038,23 +78505,20 @@ "10982": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_rem(2), (1, false));\n```", + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(u8::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0u8;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = u8::MAX;\nassert_eq!(max.leading_ones(), 8);\n```", "id": 10982, "inner": { "function": { @@ -80076,37 +78540,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_rem", + "name": "leading_ones", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80116,23 +78567,20 @@ "10983": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_rem_euclid(2), (1, false));\n```", + "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111u8;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0u8;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = u8::MAX;\nassert_eq!(max.trailing_ones(), 8);\n```", "id": 10983, "inner": { "function": { @@ -80154,37 +78602,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "trailing_ones", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80194,10 +78629,7 @@ "10984": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" }, { "must_use": { @@ -80207,7 +78639,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0u16.overflowing_neg(), (0, false));\nassert_eq!(2u16.overflowing_neg(), (-2i32 as u16, true));\n```", + "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_u8.bit_width(), 0);\nassert_eq!(0b111_u8.bit_width(), 3);\nassert_eq!(0b1110_u8.bit_width(), 4);\nassert_eq!(u8::MAX.bit_width(), 8);\n```", "id": 10984, "inner": { "function": { @@ -80233,27 +78665,20 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_neg", + "name": "bit_width", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80263,10 +78688,7 @@ "10985": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { @@ -80276,7 +78698,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1u16.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1u16.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10u16.overflowing_shl(15), (0, false));\n```", + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u8 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_u8.isolate_highest_one(), 0);\n```", "id": 10985, "inner": { "function": { @@ -80298,37 +78720,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] + "primitive": "u8" } } } }, "links": {}, - "name": "overflowing_shl", + "name": "isolate_highest_one", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80338,10 +78747,7 @@ "10986": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { @@ -80351,7 +78757,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10u16.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10u16.overflowing_shr(132), (0x1, true));\n```", + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u8 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_u8.isolate_lowest_one(), 0);\n```", "id": 10986, "inner": { "function": { @@ -80373,37 +78779,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" - }, - { - "primitive": "bool" - } - ] + "primitive": "u8" } } } }, "links": {}, - "name": "overflowing_shr", + "name": "isolate_lowest_one", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80413,10 +78806,7 @@ "10987": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -80426,7 +78816,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3u16.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u8.highest_one(), None);\nassert_eq!(0x1_u8.highest_one(), Some(0));\nassert_eq!(0x10_u8.highest_one(), Some(4));\nassert_eq!(0x1f_u8.highest_one(), Some(4));\n```", "id": 10987, "inner": { "function": { @@ -80448,37 +78838,39 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_pow", + "name": "highest_one", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80488,10 +78880,7 @@ "10988": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -80501,7 +78890,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2u16.pow(5), 32);\n```", + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u8.lowest_one(), None);\nassert_eq!(0x1_u8.lowest_one(), Some(0));\nassert_eq!(0x10_u8.lowest_one(), Some(4));\nassert_eq!(0x1f_u8.lowest_one(), Some(0));\n```", "id": 10988, "inner": { "function": { @@ -80523,30 +78912,39 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "pow", + "name": "lowest_one", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80556,10 +78954,10 @@ "10989": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -80569,7 +78967,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10u16.isqrt(), 3);\n```", + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0x82u8;\nlet m = 0xa;\n\nassert_eq!(n.rotate_left(2), m);\n```", "id": 10989, "inner": { "function": { @@ -80591,24 +78989,30 @@ { "generic": "Self" } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, "links": {}, - "name": "isqrt", + "name": "rotate_left", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80697,11 +79101,11 @@ "name": null, "span": { "begin": [ - 2201, + 2196, 1 ], "end": [ - 2206, + 2201, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -80711,23 +79115,20 @@ "10990": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u16.div_euclid(4), 1); // or any other integer type\n```", + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0xau8;\nlet m = 0x82;\n\nassert_eq!(n.rotate_right(2), m);\n```", "id": 10990, "inner": { "function": { @@ -80751,28 +79152,28 @@ } ], [ - "rhs", + "n", { - "primitive": "u16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, "links": {}, - "name": "div_euclid", + "name": "rotate_right", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80782,26 +79183,20 @@ "10991": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u16.rem_euclid(4), 3); // or any other integer type\n```", + "docs": "Performs a left funnel shift (concatenates `self` with `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value left\nby `n`, and most significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `<<` shifting operator or\n[`rotate_left`](Self::rotate_left), although `a.funnel_shl(a, n)` is *equivalent*\nto `a.rotate_left(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0x82u8;\nlet b = 0x36u8;\nlet m = 0x8;\n\nassert_eq!(a.funnel_shl(b, 2), m);\n```", "id": 10991, "inner": { "function": { @@ -80827,26 +79222,34 @@ [ "rhs", { - "primitive": "u16" + "primitive": "u8" + } + ], + [ + "n", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, - "links": {}, - "name": "rem_euclid", + "links": { + "Self::rotate_left": 10989 + }, + "name": "funnel_shl", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80856,20 +79259,20 @@ "10992": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_u16.div_floor(4), 1);\n```", + "docs": "Performs a right funnel shift (concatenates `self` and `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value right\nby `n`, and least significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `>>` shifting operator or\n[`rotate_right`](Self::rotate_right), although `a.funnel_shr(a, n)` is *equivalent*\nto `a.rotate_right(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0x82u8;\nlet b = 0x36u8;\nlet m = 0x8d;\n\nassert_eq!(a.funnel_shr(b, 2), m);\n```", "id": 10992, "inner": { "function": { @@ -80895,26 +79298,34 @@ [ "rhs", { - "primitive": "u16" + "primitive": "u8" + } + ], + [ + "n", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, - "links": {}, - "name": "div_floor", + "links": { + "Self::rotate_right": 10990 + }, + "name": "funnel_shr", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80924,23 +79335,20 @@ "10993": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_u16.div_ceil(4), 2);\n```", + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12u8;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x12);\n```", "id": 10993, "inner": { "function": { @@ -80962,30 +79370,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, "links": {}, - "name": "div_ceil", + "name": "swap_bytes", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -80995,10 +79397,10 @@ "10994": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" }, { "must_use": { @@ -81008,7 +79410,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_u16.next_multiple_of(8), 16);\nassert_eq!(23_u16.next_multiple_of(8), 24);\n```", + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12u8;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x48);\nassert_eq!(0, 0u8.reverse_bits());\n```", "id": 10994, "inner": { "function": { @@ -81030,30 +79432,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, "links": {}, - "name": "next_multiple_of", + "name": "reverse_bits", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81063,20 +79459,20 @@ "10995": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_u16.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_u16.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_u16.checked_next_multiple_of(0), None);\nassert_eq!(u16::MAX.checked_next_multiple_of(2), None);\n```", + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au8;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(u8::from_be(n), n)\n} else {\n assert_eq!(u8::from_be(n), n.swap_bytes())\n}\n```", "id": 10995, "inner": { "function": { @@ -81094,49 +79490,28 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "x", { - "primitive": "u16" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u8" } } } }, "links": {}, - "name": "checked_next_multiple_of", + "name": "from_be", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81146,10 +79521,10 @@ "10996": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -81159,7 +79534,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_u16.is_multiple_of(2));\nassert!(!5_u16.is_multiple_of(2));\n\nassert!(0_u16.is_multiple_of(0));\nassert!(!6_u16.is_multiple_of(0));\n```", + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au8;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(u8::from_le(n), n)\n} else {\n assert_eq!(u8::from_le(n), n.swap_bytes())\n}\n```", "id": 10996, "inner": { "function": { @@ -81177,34 +79552,28 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "x", { - "primitive": "u16" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "u8" } } } }, "links": {}, - "name": "is_multiple_of", + "name": "from_le", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81214,20 +79583,20 @@ "10997": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16u16.is_power_of_two());\nassert!(!10u16.is_power_of_two());\n```", + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au8;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", "id": 10997, "inner": { "function": { @@ -81253,20 +79622,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "u8" } } } }, "links": {}, - "name": "is_power_of_two", + "name": "to_be", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81276,7 +79645,7 @@ "10998": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -81289,7 +79658,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2u16.next_power_of_two(), 2);\nassert_eq!(3u16.next_power_of_two(), 4);\nassert_eq!(0u16.next_power_of_two(), 1);\n```", + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au8;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", "id": 10998, "inner": { "function": { @@ -81315,20 +79684,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, "links": {}, - "name": "next_power_of_two", + "name": "to_le", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81338,7 +79707,7 @@ "10999": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -81351,7 +79720,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2u16.checked_next_power_of_two(), Some(2));\nassert_eq!(3u16.checked_next_power_of_two(), Some(4));\nassert_eq!(u16::MAX.checked_next_power_of_two(), None);\n```", + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((u8::MAX - 2).checked_add(1), Some(u8::MAX - 1));\nassert_eq!((u8::MAX - 2).checked_add(3), None);\n```", "id": 10999, "inner": { "function": { @@ -81373,6 +79742,12 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, @@ -81383,7 +79758,7 @@ "args": [ { "type": { - "primitive": "u16" + "primitive": "u8" } } ], @@ -81398,14 +79773,14 @@ } }, "links": {}, - "name": "checked_next_power_of_two", + "name": "checked_add", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81429,8 +79804,8 @@ "use": { "id": 111, "is_glob": false, - "name": "Default", - "source": "core::prelude::v1::Default" + "name": "Eq", + "source": "core::prelude::v1::Eq" } }, "links": {}, @@ -81438,11 +79813,11 @@ "span": { "begin": [ 52, - 50 + 59 ], "end": [ 52, - 57 + 61 ], "filename": "std/src/prelude/v1.rs" }, @@ -81525,11 +79900,11 @@ "name": null, "span": { "begin": [ - 2208, + 2203, 1 ], "end": [ - 2208, + 2203, 47 ], "filename": "std/src/collections/hash/map.rs" @@ -81539,17 +79914,23 @@ "11000": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2u16.wrapping_next_power_of_two(), 2);\nassert_eq!(3u16.wrapping_next_power_of_two(), 4);\nassert_eq!(u16::MAX.wrapping_next_power_of_two(), 0);\n```", + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((u8::MAX - 2).strict_add(1), u8::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (u8::MAX - 2).strict_add(3);\n```", "id": 11000, "inner": { "function": { @@ -81571,24 +79952,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, "links": {}, - "name": "wrapping_next_power_of_two", + "name": "strict_add", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81598,10 +79985,10 @@ "11001": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -81611,7 +79998,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234u16.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34]);\n```", + "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200u8.wrapping_add(55), 255);\nassert_eq!(200u8.wrapping_add(u8::MAX), 199);\n```", "id": 11001, "inner": { "function": { @@ -81633,29 +80020,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "primitive": "u8" } } } }, "links": {}, - "name": "to_be_bytes", + "name": "wrapping_add", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81665,20 +80053,23 @@ "11002": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234u16.to_le_bytes();\nassert_eq!(bytes, [0x34, 0x12]);\n```", + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > u8::MAX` or `self + rhs < u8::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: u8::checked_add\n[`wrapping_add`]: u8::wrapping_add", "id": 11002, "inner": { "function": { @@ -81691,7 +80082,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -81700,29 +80091,33 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "primitive": "u8" } } } }, - "links": {}, - "name": "to_le_bytes", + "links": { + "u8::checked_add": 10999, + "u8::wrapping_add": 11001 + }, + "name": "unchecked_add", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81732,10 +80127,10 @@ "11003": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -81745,7 +80140,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234u16.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34]\n } else {\n [0x34, 0x12]\n }\n);\n```", + "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u8.checked_add_signed(2), Some(3));\nassert_eq!(1u8.checked_add_signed(-2), None);\nassert_eq!((u8::MAX - 2).checked_add_signed(3), None);\n```", "id": 11003, "inner": { "function": { @@ -81767,32 +80162,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": { - "Self::to_be_bytes": 11001, - "Self::to_le_bytes": 11002 - }, - "name": "to_ne_bytes", + "links": {}, + "name": "checked_add_signed", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81802,20 +80210,23 @@ "11004": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n\n# Examples\n\n```\nlet value = u16::from_be_bytes([0x12, 0x34]);\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_u16(input: &mut &[u8]) -> u16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u16::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u8.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u8.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (u8::MAX - 2).strict_add_signed(3);\n```", "id": 11004, "inner": { "function": { @@ -81833,33 +80244,34 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, "links": {}, - "name": "from_be_bytes", + "name": "strict_add_signed", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81869,20 +80281,20 @@ "11005": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n\n# Examples\n\n```\nlet value = u16::from_le_bytes([0x34, 0x12]);\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_u16(input: &mut &[u8]) -> u16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u16::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u8.checked_sub(1), Some(0));\nassert_eq!(0u8.checked_sub(1), None);\n```", "id": 11005, "inner": { "function": { @@ -81900,33 +80312,49 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "from_le_bytes", + "name": "checked_sub", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -81936,20 +80364,23 @@ "11006": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = u16::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34]\n} else {\n [0x34, 0x12]\n});\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_u16(input: &mut &[u8]) -> u16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u16::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u8.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0u8.strict_sub(1);\n```", "id": 11006, "inner": { "function": { @@ -81967,36 +80398,34 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, - "links": { - "Self::from_be_bytes": 11004, - "Self::from_le_bytes": 11005 - }, - "name": "from_ne_bytes", + "links": {}, + "name": "strict_sub", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -82006,21 +80435,20 @@ "11007": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"u16_legacy_fn_min_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`u16::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100u8.wrapping_sub(100), 0);\nassert_eq!(100u8.wrapping_sub(u8::MAX), 101);\n```", "id": 11007, "inner": { "function": { @@ -82036,25 +80464,36 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, - "links": { - "`u16::MIN`": 10884 - }, - "name": "min_value", + "links": {}, + "name": "wrapping_sub", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -82064,21 +80503,23 @@ "11008": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"u16_legacy_fn_max_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`u16::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > u8::MAX` or `self - rhs < u8::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: u8::checked_sub\n[`wrapping_sub`]: u8::wrapping_sub", "id": 11008, "inner": { "function": { @@ -82091,28 +80532,42 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "u8" } } } }, "links": { - "`u16::MAX`": 10885 + "u8::checked_sub": 11005, + "u8::wrapping_sub": 11007 }, - "name": "max_value", + "name": "unchecked_sub", "span": { "begin": [ - 1081, + 447, 5 ], "end": [ - 1099, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -82122,16 +80577,10 @@ "11009": { "attrs": [ { - "other": "#[doc(alias = \"average_floor\")]" - }, - { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -82141,7 +80590,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0u16.midpoint(4), 2);\nassert_eq!(1u16.midpoint(4), 2);\n```", + "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u8.checked_sub_signed(2), None);\nassert_eq!(1u8.checked_sub_signed(-2), Some(3));\nassert_eq!((u8::MAX - 2).checked_sub_signed(-4), None);\n```", "id": 11009, "inner": { "function": { @@ -82167,27 +80616,42 @@ [ "rhs", { - "primitive": "u16" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "midpoint", + "name": "checked_sub_signed", "span": { "begin": [ - 1100, + 447, 5 ], "end": [ - 1100, - 42 + 468, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -82244,7 +80708,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -82256,7 +80720,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -82267,11 +80731,11 @@ "name": "fmt", "span": { "begin": [ - 2212, + 2207, 5 ], "end": [ - 2214, + 2209, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -82281,17 +80745,23 @@ "11010": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 94919, is_soft: false}, feature: \"utf16_extra\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checks if the value is a Unicode surrogate code point, which are disallowed values for [`char`].\n\n# Examples\n\n```\n#![feature(utf16_extra)]\n\nlet low_non_surrogate = 0xA000u16;\nlet low_surrogate = 0xD800u16;\nlet high_surrogate = 0xDC00u16;\nlet high_non_surrogate = 0xE000u16;\n\nassert!(!low_non_surrogate.is_utf16_surrogate());\nassert!(low_surrogate.is_utf16_surrogate());\nassert!(high_surrogate.is_utf16_surrogate());\nassert!(!high_non_surrogate.is_utf16_surrogate());\n```", + "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3u8.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u8.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (u8::MAX).strict_sub_signed(-1);\n```", "id": 11010, "inner": { "function": { @@ -82313,216 +80783,136 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "u8" } } } }, - "links": { - "`char`": 2397 - }, - "name": "is_utf16_surrogate", + "links": {}, + "name": "strict_sub_signed", "span": { "begin": [ - 1122, + 447, 5 ], "end": [ - 1122, - 50 + 468, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11011": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\"}}]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`i8`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10u8.checked_signed_diff(2), Some(8));\nassert_eq!(2u8.checked_signed_diff(10), Some(-8));\nassert_eq!(u8::MAX.checked_signed_diff(i8::MAX as u8), None);\nassert_eq!((i8::MAX as u8).checked_signed_diff(u8::MAX), Some(i8::MIN));\nassert_eq!((i8::MAX as u8 + 1).checked_signed_diff(0), None);\nassert_eq!(u8::MAX.checked_signed_diff(u8::MAX), Some(0));\n```", "id": 11011, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u16" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 10884, - 10885, - 10886, - 10887, - 10888, - 10890, - 10891, - 10892, - 10893, - 10894, - 10895, - 10896, - 10897, - 10898, - 10899, - 10900, - 10901, - 10902, - 10903, - 10904, - 10905, - 10906, - 10907, - 10908, - 10909, - 10911, - 10912, - 10913, - 10914, - 10915, - 10917, - 10918, - 10919, - 10920, - 10921, - 10922, - 10924, - 10925, - 10926, - 10927, - 10928, - 10929, - 10930, - 10931, - 10932, - 10933, - 10934, - 10935, - 10936, - 10937, - 10889, - 10938, - 10939, - 10940, - 10941, - 10942, - 10943, - 10944, - 10945, - 10946, - 10947, - 10948, - 10949, - 10950, - 10951, - 10952, - 10953, - 10954, - 10955, - 10956, - 10957, - 10958, - 10959, - 10960, - 10910, - 10961, - 10916, - 10962, - 10923, - 10963, - 10964, - 10965, - 10966, - 10967, - 10968, - 10969, - 10970, - 10971, - 10253, - 10972, - 10973, - 10257, - 10974, - 10975, - 10976, - 10978, - 10977, - 10979, - 10980, - 10981, - 10982, - 10983, - 10984, - 10985, - 10986, - 10987, - 10988, - 10989, - 10990, - 10991, - 10992, - 10993, - 10994, - 10995, - 10996, - 10997, - 10998, - 10999, - 11000, - 11001, - 11002, - 11003, - 11004, - 11005, - 11006, - 11007, - 11008, - 11009, - 11010 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1080, - 1 - ], - "end": [ - 1080, - 9 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "default" - }, - "11012": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(u16::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(u16::from_str_radix(\"1 \", 10).is_err());\n```", - "id": 11012, - "inner": { - "function": { + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": { + "`i8`": 4814 + }, + "name": "checked_signed_diff", + "span": { + "begin": [ + 447, + 5 + ], + "end": [ + 468, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11012": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5u8.checked_mul(1), Some(5));\nassert_eq!(u8::MAX.checked_mul(2), None);\n```", + "id": 11012, + "inner": { + "function": { "generics": { "params": [], "where_predicates": [] @@ -82537,21 +80927,15 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "generic": "Self" } ], [ - "radix", + "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], @@ -82563,39 +80947,30 @@ "args": [ { "type": { - "primitive": "u16" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } + "primitive": "u8" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "from_str_radix", + "name": "checked_mul", "span": { "begin": [ - 1631, - 1 + 447, + 5 ], "end": [ - 1631, - 58 + 468, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -82604,12 +80979,23 @@ "11013": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u16::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u16::from_ascii(b\"1 \").is_err());\n```", + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5u8.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = u8::MAX.strict_mul(2);\n```", "id": 11013, "inner": { "function": { @@ -82627,61 +81013,35 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "u8" } } } }, "links": {}, - "name": "from_ascii", + "name": "strict_mul", "span": { "begin": [ - 1631, - 1 + 447, + 5 ], "end": [ - 1631, - 58 + 468, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -82690,12 +81050,20 @@ "11014": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u16::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u16::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", "id": 11014, "inner": { "function": { @@ -82713,124 +81081,131 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "Self" } ], [ - "radix", + "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "u8" } } } }, "links": {}, - "name": "from_ascii_radix", + "name": "wrapping_mul", "span": { "begin": [ - 1631, - 1 + 447, + 5 ], "end": [ - 1631, - 58 + 468, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11015": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > u8::MAX` or `self * rhs < u8::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: u8::checked_mul\n[`wrapping_mul`]: u8::wrapping_mul", "id": 11015, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u16" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11012, - 11013, - 11014 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u8" + } + } } }, - "links": {}, - "name": null, + "links": { + "u8::checked_mul": 11012, + "u8::wrapping_mul": 11014 + }, + "name": "unchecked_mul", "span": { "begin": [ - 1631, - 1 + 447, + 5 ], "end": [ - 1631, - 58 + 468, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11016": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0u16;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32u16;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = u16 :: MAX;\nassert_eq!(n2.format_into(&mut buf), u16 :: MAX.to_string());\n```", + "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u8.checked_div(2), Some(64));\nassert_eq!(1u8.checked_div(0), None);\n```", "id": 11016, "inner": { "function": { @@ -82842,7 +81217,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -82854,131 +81229,197 @@ } ], [ - "buf", + "rhs", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } - }, - "id": 10162, - "path": "NumBuffer" - } - } - } + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": { - "`NumBuffer`": 10162 - }, - "name": "format_into", + "links": {}, + "name": "checked_div", "span": { "begin": [ - 562, + 447, 5 ], "end": [ - 562, - 95 + 468, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11017": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u8).strict_div(0);\n```", "id": 11017, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u16" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11016 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u8" + } + } } }, "links": {}, - "name": null, + "name": "strict_div", "span": { "begin": [ - 562, + 447, 5 ], "end": [ - 562, - 95 + 468, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11018": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(u32::MIN, 0);\n```", + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u8.checked_div_euclid(2), Some(64));\nassert_eq!(1u8.checked_div_euclid(0), None);\n```", "id": 11018, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "0" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": "MIN", + "name": "checked_div_euclid", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -82988,30 +81429,68 @@ "11019": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(u32::BITS, 32);\n```", + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u8).strict_div_euclid(0);\n```", "id": 11019, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u8" + } + } } }, "links": {}, - "name": "BITS", + "name": "strict_div_euclid", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83066,7 +81545,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -83100,7 +81579,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -83109,11 +81588,11 @@ "name": null, "span": { "begin": [ - 2211, + 2206, 1 ], "end": [ - 2215, + 2210, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -83123,16 +81602,7 @@ "11020": { "attrs": [ { - "other": "#[doc(alias = \"popcount\")]" - }, - { - "other": "#[doc(alias = \"popcnt\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { @@ -83142,7 +81612,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100u32;\nassert_eq!(n.count_ones(), 3);\n\nlet max = u32::MAX;\nassert_eq!(max.count_ones(), 32);\n\nlet zero = 0u32;\nassert_eq!(zero.count_ones(), 0);\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u8.checked_exact_div(2), Some(32));\nassert_eq!(64u8.checked_exact_div(32), Some(2));\nassert_eq!(64u8.checked_exact_div(0), None);\nassert_eq!(65u8.checked_exact_div(2), None);\n```", "id": 11020, "inner": { "function": { @@ -83164,24 +81634,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "count_ones", + "name": "checked_exact_div", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83191,10 +81682,7 @@ "11021": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { @@ -83204,7 +81692,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0u32;\nassert_eq!(zero.count_zeros(), 32);\n\nlet max = u32::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u8.exact_div(2), 32);\nassert_eq!(64u8.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65u8.exact_div(2);\n```", "id": 11021, "inner": { "function": { @@ -83226,24 +81714,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "count_zeros", + "name": "exact_div", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83253,23 +81747,17 @@ "11022": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2u32.ilog2(), 1);\n```", + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", "id": 11022, "inner": { "function": { @@ -83282,7 +81770,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -83291,24 +81779,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": {}, - "name": "ilog2", + "links": { + "Self::checked_exact_div": 11020 + }, + "name": "unchecked_exact_div", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83318,10 +81814,10 @@ "11023": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -83331,7 +81827,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = u32::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0u32;\nassert_eq!(zero.leading_zeros(), 32);\n\nlet max = u32::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: u32::ilog2", + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u8.checked_rem(2), Some(1));\nassert_eq!(5u8.checked_rem(0), None);\n```", "id": 11023, "inner": { "function": { @@ -83353,26 +81849,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "u32::ilog2": 11022 - }, - "name": "leading_zeros", + "links": {}, + "name": "checked_rem", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83382,20 +81897,23 @@ "11024": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000u32;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0u32;\nassert_eq!(zero.trailing_zeros(), 32);\n\nlet max = u32::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", + "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u8.strict_rem(0);\n```", "id": 11024, "inner": { "function": { @@ -83417,24 +81935,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "trailing_zeros", + "name": "strict_rem", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83444,10 +81968,10 @@ "11025": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -83457,7 +81981,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(u32::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0u32;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = u32::MAX;\nassert_eq!(max.leading_ones(), 32);\n```", + "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u8.checked_rem_euclid(2), Some(1));\nassert_eq!(5u8.checked_rem_euclid(0), None);\n```", "id": 11025, "inner": { "function": { @@ -83479,24 +82003,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "leading_ones", + "name": "checked_rem_euclid", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83506,20 +82051,23 @@ "11026": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111u32;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0u32;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = u32::MAX;\nassert_eq!(max.trailing_ones(), 32);\n```", + "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u8.strict_rem_euclid(0);\n```", "id": 11026, "inner": { "function": { @@ -83541,24 +82089,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "trailing_ones", + "name": "strict_rem_euclid", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83568,17 +82122,15 @@ "11027": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_u32.bit_width(), 0);\nassert_eq!(0b111_u32.bit_width(), 3);\nassert_eq!(0b1110_u32.bit_width(), 4);\nassert_eq!(u32::MAX.bit_width(), 32);\n```", + "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_u8.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", "id": 11027, "inner": { "function": { @@ -83591,7 +82143,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -83600,24 +82152,30 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "bit_width", + "name": "unchecked_disjoint_bitor", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83627,17 +82185,23 @@ "11028": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u32 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_u32.isolate_highest_one(), 0);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5u8.ilog(5), 1);\n```", "id": 11028, "inner": { "function": { @@ -83659,6 +82223,12 @@ { "generic": "Self" } + ], + [ + "base", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, @@ -83669,14 +82239,14 @@ } }, "links": {}, - "name": "isolate_highest_one", + "name": "ilog", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83686,17 +82256,23 @@ "11029": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u32 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_u32.isolate_lowest_one(), 0);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10u8.ilog10(), 1);\n```", "id": 11029, "inner": { "function": { @@ -83728,14 +82304,14 @@ } }, "links": {}, - "name": "isolate_lowest_one", + "name": "ilog10", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83745,7 +82321,10 @@ "11030": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -83755,7 +82334,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u32.highest_one(), None);\nassert_eq!(0x1_u32.highest_one(), Some(0));\nassert_eq!(0x10_u32.highest_one(), Some(4));\nassert_eq!(0x1f_u32.highest_one(), Some(4));\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5u8.checked_ilog(5), Some(1));\n```", "id": 11030, "inner": { "function": { @@ -83777,6 +82356,12 @@ { "generic": "Self" } + ], + [ + "base", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, @@ -83802,14 +82387,14 @@ } }, "links": {}, - "name": "highest_one", + "name": "checked_ilog", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83819,7 +82404,10 @@ "11031": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -83829,7 +82417,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u32.lowest_one(), None);\nassert_eq!(0x1_u32.lowest_one(), Some(0));\nassert_eq!(0x10_u32.lowest_one(), Some(4));\nassert_eq!(0x1f_u32.lowest_one(), Some(0));\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2u8.checked_ilog2(), Some(1));\n```", "id": 11031, "inner": { "function": { @@ -83876,14 +82464,14 @@ } }, "links": {}, - "name": "lowest_one", + "name": "checked_ilog2", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83893,10 +82481,10 @@ "11032": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -83906,7 +82494,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = u32::MAX;\n\nassert_eq!(n.cast_signed(), -1i32);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10u8.checked_ilog10(), Some(1));\n```", "id": 11032, "inner": { "function": { @@ -83932,20 +82520,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "i32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "cast_signed", + "name": "checked_ilog10", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -83955,10 +82558,10 @@ "11033": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -83968,7 +82571,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0x10000b3u32;\nlet m = 0xb301;\n\nassert_eq!(n.rotate_left(8), m);\n```", + "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0u8.checked_neg(), Some(0));\nassert_eq!(1u8.checked_neg(), None);\n```", "id": 11033, "inner": { "function": { @@ -83990,30 +82593,39 @@ { "generic": "Self" } - ], - [ - "n", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "rotate_left", + "name": "checked_neg", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84023,20 +82635,23 @@ "11034": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0xb301u32;\nlet m = 0x10000b3;\n\nassert_eq!(n.rotate_right(8), m);\n```", + "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0u8.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1u8.strict_neg();\n```", "id": 11034, "inner": { "function": { @@ -84058,30 +82673,24 @@ { "generic": "Self" } - ], - [ - "n", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "rotate_right", + "name": "strict_neg", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84091,10 +82700,10 @@ "11035": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -84104,7 +82713,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12345678u32;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x78563412);\n```", + "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1u8.checked_shl(4), Some(0x10));\nassert_eq!(0x10u8.checked_shl(129), None);\nassert_eq!(0x10u8.checked_shl(7), Some(0));\n```", "id": 11035, "inner": { "function": { @@ -84126,24 +82735,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "swap_bytes", + "name": "checked_shl", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84153,20 +82783,23 @@ "11036": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12345678u32;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x1e6a2c48);\nassert_eq!(0, 0u32.reverse_bits());\n```", + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1u8.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u8.strict_shl(129);\n```", "id": 11036, "inner": { "function": { @@ -84188,24 +82821,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "reverse_bits", + "name": "strict_shl", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84215,20 +82854,20 @@ "11037": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au32;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(u32::from_be(n), n)\n} else {\n assert_eq!(u32::from_be(n), n.swap_bytes())\n}\n```", + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: u8::checked_shl", "id": 11037, "inner": { "function": { @@ -84241,12 +82880,18 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ - "x", + "self", + { + "generic": "Self" + } + ], + [ + "rhs", { "primitive": "u32" } @@ -84254,20 +82899,22 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": {}, - "name": "from_be", + "links": { + "u8::checked_shl": 11035 + }, + "name": "unchecked_shl", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84277,20 +82924,20 @@ "11038": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au32;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(u32::from_le(n), n)\n} else {\n assert_eq!(u32::from_le(n), n.swap_bytes())\n}\n```", + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1u8.unbounded_shl(4), 0x10);\nassert_eq!(0x1u8.unbounded_shl(129), 0);\n```", "id": 11038, "inner": { "function": { @@ -84308,7 +82955,13 @@ "sig": { "inputs": [ [ - "x", + "self", + { + "generic": "Self" + } + ], + [ + "rhs", { "primitive": "u32" } @@ -84316,20 +82969,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "from_le", + "name": "unbounded_shl", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84339,10 +82992,7 @@ "11039": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -84352,7 +83002,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au32;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`u8::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1u8.exact_shl(4), Some(0x10));\nassert_eq!(0x1u8.exact_shl(129), None);\n```", "id": 11039, "inner": { "function": { @@ -84374,24 +83024,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "to_be", + "name": "exact_shl", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84518,10 +83189,7 @@ "11040": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -84531,7 +83199,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au32;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed `rhs` cannot be larger than\n`u8::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.leading_zeros() || rhs >=\nu8::BITS`\ni.e. when\n[`u8::exact_shl`]\nwould return `None`.", "id": 11040, "inner": { "function": { @@ -84544,7 +83212,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -84553,24 +83221,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": {}, - "name": "to_le", + "links": { + "`u8::exact_shl`": 11039 + }, + "name": "unchecked_exact_shl", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84583,7 +83259,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -84593,7 +83269,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((u32::MAX - 2).checked_add(1), Some(u32::MAX - 1));\nassert_eq!((u32::MAX - 2).checked_add(3), None);\n```", + "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10u8.checked_shr(4), Some(0x1));\nassert_eq!(0x10u8.checked_shr(129), None);\n```", "id": 11041, "inner": { "function": { @@ -84631,7 +83307,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "u8" } } ], @@ -84646,14 +83322,14 @@ } }, "links": {}, - "name": "checked_add", + "name": "checked_shr", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84663,10 +83339,10 @@ "11042": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -84679,7 +83355,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((u32::MAX - 2).strict_add(1), u32::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (u32::MAX - 2).strict_add(3);\n```", + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10u8.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u8.strict_shr(129);\n```", "id": 11042, "inner": { "function": { @@ -84711,20 +83387,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "strict_add", + "name": "strict_shr", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84734,20 +83410,20 @@ "11043": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200u32.wrapping_add(55), 255);\nassert_eq!(200u32.wrapping_add(u32::MAX), 199);\n```", + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: u8::checked_shr", "id": 11043, "inner": { "function": { @@ -84760,7 +83436,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -84779,20 +83455,22 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": {}, - "name": "wrapping_add", + "links": { + "u8::checked_shr": 11041 + }, + "name": "unchecked_shr", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84802,23 +83480,20 @@ "11044": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > u32::MAX` or `self + rhs < u32::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: u32::checked_add\n[`wrapping_add`]: u32::wrapping_add", + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10u8.unbounded_shr(4), 0x1);\nassert_eq!(0x10u8.unbounded_shr(129), 0);\n```", "id": 11044, "inner": { "function": { @@ -84831,7 +83506,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -84850,23 +83525,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": { - "u32::checked_add": 11041, - "u32::wrapping_add": 11043 - }, - "name": "unchecked_add", + "links": {}, + "name": "unbounded_shr", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84876,10 +83548,7 @@ "11045": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -84889,7 +83558,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u32.checked_add_signed(2), Some(3));\nassert_eq!(1u32.checked_add_signed(-2), None);\nassert_eq!((u32::MAX - 2).checked_add_signed(3), None);\n```", + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`u8::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10u8.exact_shr(4), Some(0x1));\nassert_eq!(0x10u8.exact_shr(5), None);\n```", "id": 11045, "inner": { "function": { @@ -84915,7 +83584,7 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u32" } ] ], @@ -84927,7 +83596,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "u8" } } ], @@ -84942,14 +83611,14 @@ } }, "links": {}, - "name": "checked_add_signed", + "name": "exact_shr", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -84959,23 +83628,17 @@ "11046": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u32.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u32.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (u32::MAX - 2).strict_add_signed(3);\n```", + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`u8::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\nu8::BITS`\ni.e. when\n[`u8::exact_shr`]\nwould return `None`.", "id": 11046, "inner": { "function": { @@ -84988,7 +83651,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -85001,26 +83664,28 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": {}, - "name": "strict_add_signed", + "links": { + "`u8::exact_shr`": 11045 + }, + "name": "unchecked_exact_shr", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -85030,10 +83695,10 @@ "11047": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -85043,7 +83708,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u32.checked_sub(1), Some(0));\nassert_eq!(0u32.checked_sub(1), None);\n```", + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2u8.checked_pow(5), Some(32));\nassert_eq!(u8::MAX.checked_pow(2), None);\n```", "id": 11047, "inner": { "function": { @@ -85067,7 +83732,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -85081,7 +83746,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "u8" } } ], @@ -85096,14 +83761,14 @@ } }, "links": {}, - "name": "checked_sub", + "name": "checked_pow", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -85113,10 +83778,10 @@ "11048": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -85129,7 +83794,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u32.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0u32.strict_sub(1);\n```", + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2u8.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = u8::MAX.strict_pow(2);\n```", "id": 11048, "inner": { "function": { @@ -85153,7 +83818,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -85161,20 +83826,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "strict_sub", + "name": "strict_pow", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -85184,7 +83849,7 @@ "11049": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -85197,7 +83862,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100u32.wrapping_sub(100), 0);\nassert_eq!(100u32.wrapping_sub(u32::MAX), 101);\n```", + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u8.saturating_add(1), 101);\nassert_eq!(u8::MAX.saturating_add(127), u8::MAX);\n```", "id": 11049, "inner": { "function": { @@ -85223,26 +83888,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "wrapping_sub", + "name": "saturating_add", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -85369,23 +84034,20 @@ "11050": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > u32::MAX` or `self - rhs < u32::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: u32::checked_sub\n[`wrapping_sub`]: u32::wrapping_sub", + "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u8.saturating_add_signed(2), 3);\nassert_eq!(1u8.saturating_add_signed(-2), 0);\nassert_eq!((u8::MAX - 2).saturating_add_signed(4), u8::MAX);\n```", "id": 11050, "inner": { "function": { @@ -85398,7 +84060,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -85411,29 +84073,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": { - "u32::checked_sub": 11047, - "u32::wrapping_sub": 11049 - }, - "name": "unchecked_sub", + "links": {}, + "name": "saturating_add_signed", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -85443,10 +84102,10 @@ "11051": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -85456,7 +84115,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u32.checked_sub_signed(2), None);\nassert_eq!(1u32.checked_sub_signed(-2), Some(3));\nassert_eq!((u32::MAX - 2).checked_sub_signed(-4), None);\n```", + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u8.saturating_sub(27), 73);\nassert_eq!(13u8.saturating_sub(127), 0);\n```", "id": 11051, "inner": { "function": { @@ -85482,41 +84141,26 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u8" } } } }, "links": {}, - "name": "checked_sub_signed", + "name": "saturating_sub", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -85526,10 +84170,146 @@ "11052": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u8.saturating_sub_signed(2), 0);\nassert_eq!(1u8.saturating_sub_signed(-2), 3);\nassert_eq!((u8::MAX - 2).saturating_sub_signed(-4), u8::MAX);\n```", + "id": 11052, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i8" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u8" + } + } + } + }, + "links": {}, + "name": "saturating_sub_signed", + "span": { + "begin": [ + 447, + 5 + ], + "end": [ + 468, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11053": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2u8.saturating_mul(10), 20);\nassert_eq!((u8::MAX).saturating_mul(10), u8::MAX);\n```", + "id": 11053, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u8" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u8" + } + } + } + }, + "links": {}, + "name": "saturating_mul", + "span": { + "begin": [ + 447, + 5 + ], + "end": [ + 468, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11054": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" }, { "must_use": { @@ -85542,8 +84322,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3u32.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u32.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (u32::MAX).strict_sub_signed(-1);\n```", - "id": 11052, + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u8.saturating_div(2), 2);\n\n```", + "id": 11054, "inner": { "function": { "generics": { @@ -85568,189 +84348,26 @@ [ "rhs", { - "primitive": "i32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "strict_sub_signed", - "span": { - "begin": [ - 1128, - 5 - ], - "end": [ - 1146, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11053": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`i32`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10u32.checked_signed_diff(2), Some(8));\nassert_eq!(2u32.checked_signed_diff(10), Some(-8));\nassert_eq!(u32::MAX.checked_signed_diff(i32::MAX as u32), None);\nassert_eq!((i32::MAX as u32).checked_signed_diff(u32::MAX), Some(i32::MIN));\nassert_eq!((i32::MAX as u32 + 1).checked_signed_diff(0), None);\nassert_eq!(u32::MAX.checked_signed_diff(u32::MAX), Some(0));\n```", - "id": 11053, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - } - }, - "links": { - "`i32`": 3367 - }, - "name": "checked_signed_diff", - "span": { - "begin": [ - 1128, - 5 - ], - "end": [ - 1146, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11054": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5u32.checked_mul(1), Some(5));\nassert_eq!(u32::MAX.checked_mul(2), None);\n```", - "id": 11054, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u8" } } } }, "links": {}, - "name": "checked_mul", + "name": "saturating_div", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -85760,23 +84377,20 @@ "11055": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5u32.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = u32::MAX.strict_mul(2);\n```", + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4u8.saturating_pow(3), 64);\nassert_eq!(u8::MAX.saturating_pow(2), u8::MAX);\n```", "id": 11055, "inner": { "function": { @@ -85800,7 +84414,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -85808,20 +84422,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "strict_mul", + "name": "saturating_pow", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -85831,10 +84445,10 @@ "11056": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -85844,7 +84458,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", + "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u8.wrapping_add_signed(2), 3);\nassert_eq!(1u8.wrapping_add_signed(-2), u8::MAX);\nassert_eq!((u8::MAX - 2).wrapping_add_signed(4), 1);\n```", "id": 11056, "inner": { "function": { @@ -85870,26 +84484,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "wrapping_mul", + "name": "wrapping_add_signed", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -85899,23 +84513,20 @@ "11057": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > u32::MAX` or `self * rhs < u32::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: u32::checked_mul\n[`wrapping_mul`]: u32::wrapping_mul", + "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u8.wrapping_sub_signed(2), u8::MAX);\nassert_eq!(1u8.wrapping_sub_signed(-2), 3);\nassert_eq!((u8::MAX - 2).wrapping_sub_signed(-4), 1);\n```", "id": 11057, "inner": { "function": { @@ -85928,7 +84539,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -85941,29 +84552,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": { - "u32::checked_mul": 11054, - "u32::wrapping_mul": 11056 - }, - "name": "unchecked_mul", + "links": {}, + "name": "wrapping_sub_signed", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -85973,20 +84581,23 @@ "11058": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u32.checked_div(2), Some(64));\nassert_eq!(1u32.checked_div(0), None);\n```", + "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.wrapping_div(10), 10);\n```", "id": 11058, "inner": { "function": { @@ -86012,41 +84623,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u8" } } } }, "links": {}, - "name": "checked_div", + "name": "wrapping_div", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86056,10 +84652,10 @@ "11059": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -86072,7 +84668,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u32).strict_div(0);\n```", + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.wrapping_div_euclid(10), 10);\n```", "id": 11059, "inner": { "function": { @@ -86098,26 +84694,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "strict_div", + "name": "wrapping_div_euclid", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86188,7 +84784,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -86201,20 +84797,23 @@ "11060": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u32.checked_div_euclid(2), Some(64));\nassert_eq!(1u32.checked_div_euclid(0), None);\n```", + "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.wrapping_rem(10), 0);\n```", "id": 11060, "inner": { "function": { @@ -86240,41 +84839,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u8" } } } }, "links": {}, - "name": "checked_div_euclid", + "name": "wrapping_rem", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86284,10 +84868,10 @@ "11061": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -86300,7 +84884,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u32).strict_div_euclid(0);\n```", + "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u8.wrapping_rem_euclid(10), 0);\n```", "id": 11061, "inner": { "function": { @@ -86326,26 +84910,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "strict_div_euclid", + "name": "wrapping_rem_euclid", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86355,7 +84939,10 @@ "11062": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -86365,7 +84952,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u32.checked_exact_div(2), Some(32));\nassert_eq!(64u32.checked_exact_div(32), Some(2));\nassert_eq!(64u32.checked_exact_div(0), None);\nassert_eq!(65u32.checked_exact_div(2), None);\n```", + "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_u8.wrapping_neg(), 0);\nassert_eq!(u8::MAX.wrapping_neg(), 1);\nassert_eq!(13_u8.wrapping_neg(), (!13) + 1);\nassert_eq!(42_u8.wrapping_neg(), !(42 - 1));\n```", "id": 11062, "inner": { "function": { @@ -86387,45 +84974,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u8" } } } }, "links": {}, - "name": "checked_exact_div", + "name": "wrapping_neg", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86435,7 +85001,10 @@ "11063": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -86445,7 +85014,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u32.exact_div(2), 32);\nassert_eq!(64u32.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65u32.exact_div(2);\n```", + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1u8.wrapping_shl(7), 128);\nassert_eq!(1u8.wrapping_shl(128), 1);\n```", "id": 11063, "inner": { "function": { @@ -86477,20 +85046,22 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": {}, - "name": "exact_div", + "links": { + "Self::rotate_left": 10989 + }, + "name": "wrapping_shl", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86500,7 +85071,10 @@ "11064": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -86510,7 +85084,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128u8.wrapping_shr(7), 1);\nassert_eq!(128u8.wrapping_shr(128), 128);\n```", "id": 11064, "inner": { "function": { @@ -86523,7 +85097,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -86542,22 +85116,22 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": { - "Self::checked_exact_div": 11062 + "Self::rotate_right": 10990 }, - "name": "unchecked_exact_div", + "name": "wrapping_shr", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86567,10 +85141,10 @@ "11065": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -86580,7 +85154,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u32.checked_rem(2), Some(1));\nassert_eq!(5u32.checked_rem(0), None);\n```", + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3u8.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", "id": 11065, "inner": { "function": { @@ -86604,7 +85178,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -86612,35 +85186,20 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u8" } } } }, "links": {}, - "name": "checked_rem", + "name": "wrapping_pow", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86650,23 +85209,20 @@ "11066": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u32.strict_rem(0);\n```", + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_add(2), (7, false));\nassert_eq!(u8::MAX.overflowing_add(1), (0, true));\n```", "id": 11066, "inner": { "function": { @@ -86692,26 +85248,33 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_rem", + "name": "overflowing_add", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86721,10 +85284,10 @@ "11067": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -86734,7 +85297,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u32.checked_rem_euclid(2), Some(1));\nassert_eq!(5u32.checked_rem_euclid(0), None);\n```", + "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u8.overflowing_add_signed(2), (3, false));\nassert_eq!(1u8.overflowing_add_signed(-2), (u8::MAX, true));\nassert_eq!((u8::MAX - 2).overflowing_add_signed(4), (1, true));\n```", "id": 11067, "inner": { "function": { @@ -86760,41 +85323,33 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_rem_euclid", + "name": "overflowing_add_signed", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86804,23 +85359,20 @@ "11068": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u32.strict_rem_euclid(0);\n```", + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_sub(2), (3, false));\nassert_eq!(0u8.overflowing_sub(1), (u8::MAX, true));\n```", "id": 11068, "inner": { "function": { @@ -86846,26 +85398,33 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_rem_euclid", + "name": "overflowing_sub", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -86875,15 +85434,20 @@ "11069": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_u32.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", + "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u8.overflowing_sub_signed(2), (u8::MAX, true));\nassert_eq!(1u8.overflowing_sub_signed(-2), (3, false));\nassert_eq!((u8::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", "id": 11069, "inner": { "function": { @@ -86896,7 +85460,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -86907,28 +85471,35 @@ } ], [ - "other", + "rhs", { - "primitive": "u32" + "primitive": "i8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "unchecked_disjoint_bitor", + "name": "overflowing_sub_signed", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87055,23 +85626,20 @@ "11070": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5u32.ilog(5), 1);\n```", + "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100u8.abs_diff(80), 20u8);\nassert_eq!(100u8.abs_diff(110), 10u8);\n```", "id": 11070, "inner": { "function": { @@ -87095,28 +85663,28 @@ } ], [ - "base", + "other", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "ilog", + "name": "abs_diff", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87126,23 +85694,20 @@ "11071": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10u32.ilog10(), 1);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you also need to add a value, then use [`Self::carrying_mul_add`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(u8::MAX.carrying_mul(u8::MAX, u8::MAX), (0, u8::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", "id": 11071, "inner": { "function": { @@ -87164,24 +85729,48 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } + ], + [ + "carry", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "u8" + } + ] } } } }, - "links": {}, - "name": "ilog10", + "links": { + "Self::overflowing_mul": 11072, + "Self::wrapping_add": 11001, + "Self::wrapping_mul": 11014, + "`Self::carrying_mul_add`": 11073 + }, + "name": "carrying_mul", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87191,10 +85780,10 @@ "11072": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -87204,7 +85793,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5u32.checked_ilog(5), Some(1));\n```", + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\nIf you want the *value* of the overflow, rather than just *whether*\nan overflow occurred, see [`Self::carrying_mul`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", "id": 11072, "inner": { "function": { @@ -87228,43 +85817,37 @@ } ], [ - "base", + "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "checked_ilog", + "links": { + "`Self::carrying_mul`": 11071 + }, + "name": "overflowing_mul", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87274,10 +85857,10 @@ "11073": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -87287,7 +85870,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2u32.checked_ilog2(), Some(1));\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nThis cannot overflow, as the double-width result has exactly enough\nspace for the largest possible result. This is equivalent to how, in\ndecimal, 9 × 9 + 9 + 9 = 81 + 18 = 99 = 9×10⁰ + 9×10¹ = 10² - 1.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `add` part, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(u8::MAX.carrying_mul_add(u8::MAX, u8::MAX, u8::MAX), (u8::MAX, u8::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xcffc982d);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xcffc982d)\n);\n```", "id": 11073, "inner": { "function": { @@ -87309,39 +85892,51 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } + ], + [ + "carry", + { + "primitive": "u8" + } + ], + [ + "add", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "u8" + } + ] } } } }, - "links": {}, - "name": "checked_ilog2", + "links": { + "`Self::carrying_mul`": 11071 + }, + "name": "carrying_mul_add", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87351,10 +85946,10 @@ "11074": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -87364,7 +85959,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10u32.checked_ilog10(), Some(1));\n```", + "docs": "Calculates the complete double-width product `self * rhs`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order. As such,\n`a.widening_mul(b).0` produces the same result as `a.wrapping_mul(b)`.\n\nIf you also need to add a value and carry to the wide result, then you want\n[`Self::carrying_mul_add`] instead.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\nIf you just want to know *whether* the multiplication overflowed, then you\nwant [`Self::overflowing_mul`] instead.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5_u8.widening_mul(7), (35, 0));\nassert_eq!(u8::MAX.widening_mul(u8::MAX), (1, u8::MAX - 1));\n```\n\nCompared to other `*_mul` methods:\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(u8::widening_mul(1 << 7, 6), (0, 3));\nassert_eq!(u8::overflowing_mul(1 << 7, 6), (0, true));\nassert_eq!(u8::wrapping_mul(1 << 7, 6), 0);\nassert_eq!(u8::checked_mul(1 << 7, 6), None);\n```\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", "id": 11074, "inner": { "function": { @@ -87386,39 +85981,41 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "u8" + } + ] } } } }, - "links": {}, - "name": "checked_ilog10", + "links": { + "`Self::carrying_mul_add`": 11073, + "`Self::carrying_mul`": 11071, + "`Self::overflowing_mul`": 11072 + }, + "name": "widening_mul", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87428,7 +86025,7 @@ "11075": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -87437,11 +86034,14 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0u32.checked_neg(), Some(0));\nassert_eq!(1u32.checked_neg(), None);\n```", + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_div(2), (2, false));\n```", "id": 11075, "inner": { "function": { @@ -87463,39 +86063,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_neg", + "name": "overflowing_div", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87505,10 +86103,10 @@ "11076": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -87521,7 +86119,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0u32.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1u32.strict_neg();\n", + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_div_euclid(2), (2, false));\n```", "id": 11076, "inner": { "function": { @@ -87543,24 +86141,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u8" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_neg", + "name": "overflowing_div_euclid", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87570,7 +86181,7 @@ "11077": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -87579,11 +86190,14 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1u32.checked_shl(4), Some(0x10));\nassert_eq!(0x10u32.checked_shl(129), None);\nassert_eq!(0x10u32.checked_shl(31), Some(0));\n```", + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_rem(2), (1, false));\n```", "id": 11077, "inner": { "function": { @@ -87609,41 +86223,33 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_shl", + "name": "overflowing_rem", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87653,10 +86259,10 @@ "11078": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -87669,7 +86275,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1u32.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u32.strict_shl(129);\n```", + "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u8.overflowing_rem_euclid(2), (1, false));\n```", "id": 11078, "inner": { "function": { @@ -87695,26 +86301,33 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_shl", + "name": "overflowing_rem_euclid", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87724,20 +86337,20 @@ "11079": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: u32::checked_shl", + "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0u8.overflowing_neg(), (0, false));\nassert_eq!(2u8.overflowing_neg(), (-2i32 as u8, true));\n```", "id": 11079, "inner": { "function": { @@ -87750,7 +86363,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -87759,32 +86372,31 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "u32::checked_shl": 11077 - }, - "name": "unchecked_shl", + "links": {}, + "name": "overflowing_neg", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -87856,7 +86468,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -87867,7 +86479,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -87888,7 +86500,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -87899,7 +86511,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -87920,7 +86532,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -87933,10 +86545,10 @@ "11080": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -87946,7 +86558,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1u32.unbounded_shl(4), 0x10);\nassert_eq!(0x1u32.unbounded_shl(129), 0);\n```", + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1u8.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1u8.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10u8.overflowing_shl(7), (0, false));\n```", "id": 11080, "inner": { "function": { @@ -87978,20 +86590,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "unbounded_shl", + "name": "overflowing_shl", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88001,7 +86620,7 @@ "11081": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -88014,7 +86633,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10u32.checked_shr(4), Some(0x1));\nassert_eq!(0x10u32.checked_shr(129), None);\n```", + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10u8.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10u8.overflowing_shr(132), (0x1, true));\n```", "id": 11081, "inner": { "function": { @@ -88046,35 +86665,27 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } + "tuple": [ + { + "primitive": "u8" }, - "id": 51, - "path": "Option" - } + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "checked_shr", + "name": "overflowing_shr", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88084,23 +86695,20 @@ "11082": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10u32.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u32.strict_shr(129);\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3u8.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", "id": 11082, "inner": { "function": { @@ -88124,7 +86732,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -88132,20 +86740,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "strict_shr", + "name": "overflowing_pow", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88155,20 +86770,20 @@ "11083": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: u32::checked_shr", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2u8.pow(5), 32);\n```", "id": 11083, "inner": { "function": { @@ -88181,7 +86796,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -88192,7 +86807,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -88200,22 +86815,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": { - "u32::checked_shr": 11081 - }, - "name": "unchecked_shr", + "links": {}, + "name": "pow", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88225,10 +86838,10 @@ "11084": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { @@ -88238,7 +86851,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10u32.unbounded_shr(4), 0x1);\nassert_eq!(0x10u32.unbounded_shr(129), 0);\n```", + "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10u8.isqrt(), 3);\n```", "id": 11084, "inner": { "function": { @@ -88260,30 +86873,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "unbounded_shr", + "name": "isqrt", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88293,20 +86900,23 @@ "11085": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2u32.checked_pow(5), Some(32));\nassert_eq!(u32::MAX.checked_pow(2), None);\n```", + "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u8.div_euclid(4), 1); // or any other integer type\n```", "id": 11085, "inner": { "function": { @@ -88330,43 +86940,28 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u8" } } } }, "links": {}, - "name": "checked_pow", + "name": "div_euclid", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88376,10 +86971,13 @@ "11086": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -88392,7 +86990,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2u32.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = u32::MAX.strict_pow(2);\n```", + "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u8.rem_euclid(4), 3); // or any other integer type\n```", "id": 11086, "inner": { "function": { @@ -88416,28 +87014,28 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "strict_pow", + "name": "rem_euclid", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88447,20 +87045,20 @@ "11087": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u32.saturating_add(1), 101);\nassert_eq!(u32::MAX.saturating_add(127), u32::MAX);\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_u8.div_floor(4), 1);\n```", "id": 11087, "inner": { "function": { @@ -88486,26 +87084,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "saturating_add", + "name": "div_floor", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88515,20 +87113,23 @@ "11088": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u32.saturating_add_signed(2), 3);\nassert_eq!(1u32.saturating_add_signed(-2), 0);\nassert_eq!((u32::MAX - 2).saturating_add_signed(4), u32::MAX);\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_u8.div_ceil(4), 2);\n```", "id": 11088, "inner": { "function": { @@ -88554,26 +87155,26 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "saturating_add_signed", + "name": "div_ceil", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88583,10 +87184,10 @@ "11089": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { @@ -88596,7 +87197,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u32.saturating_sub(27), 73);\nassert_eq!(13u32.saturating_sub(127), 0);\n```", + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_u8.next_multiple_of(8), 16);\nassert_eq!(23_u8.next_multiple_of(8), 24);\n```", "id": 11089, "inner": { "function": { @@ -88622,26 +87223,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "saturating_sub", + "name": "next_multiple_of", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88713,7 +87314,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -88734,7 +87335,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -88755,7 +87356,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -88768,10 +87369,10 @@ "11090": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { @@ -88781,7 +87382,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u32.saturating_sub_signed(2), 0);\nassert_eq!(1u32.saturating_sub_signed(-2), 3);\nassert_eq!((u32::MAX - 2).saturating_sub_signed(-4), u32::MAX);\n```", + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_u8.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_u8.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_u8.checked_next_multiple_of(0), None);\nassert_eq!(u8::MAX.checked_next_multiple_of(2), None);\n```", "id": 11090, "inner": { "function": { @@ -88807,26 +87408,41 @@ [ "rhs", { - "primitive": "i32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "saturating_sub_signed", + "name": "checked_next_multiple_of", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88836,20 +87452,20 @@ "11091": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2u32.saturating_mul(10), 20);\nassert_eq!((u32::MAX).saturating_mul(10), u32::MAX);\n```", + "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_u8.is_multiple_of(2));\nassert!(!5_u8.is_multiple_of(2));\n\nassert!(0_u8.is_multiple_of(0));\nassert!(!6_u8.is_multiple_of(0));\n```", "id": 11091, "inner": { "function": { @@ -88875,26 +87491,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "bool" } } } }, "links": {}, - "name": "saturating_mul", + "name": "is_multiple_of", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88904,23 +87520,20 @@ "11092": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u32.saturating_div(2), 2);\n\n```", + "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16u8.is_power_of_two());\nassert!(!10u8.is_power_of_two());\n```", "id": 11092, "inner": { "function": { @@ -88942,30 +87555,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "bool" } } } }, "links": {}, - "name": "saturating_div", + "name": "is_power_of_two", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -88978,7 +87585,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -88988,7 +87595,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4u32.saturating_pow(3), 64);\nassert_eq!(u32::MAX.saturating_pow(2), u32::MAX);\n```", + "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2u8.next_power_of_two(), 2);\nassert_eq!(3u8.next_power_of_two(), 4);\nassert_eq!(0u8.next_power_of_two(), 1);\n```", "id": 11093, "inner": { "function": { @@ -89010,30 +87617,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "saturating_pow", + "name": "next_power_of_two", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89043,10 +87644,10 @@ "11094": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -89056,7 +87657,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u32.wrapping_add_signed(2), 3);\nassert_eq!(1u32.wrapping_add_signed(-2), u32::MAX);\nassert_eq!((u32::MAX - 2).wrapping_add_signed(4), 1);\n```", + "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2u8.checked_next_power_of_two(), Some(2));\nassert_eq!(3u8.checked_next_power_of_two(), Some(4));\nassert_eq!(u8::MAX.checked_next_power_of_two(), None);\n```", "id": 11094, "inner": { "function": { @@ -89078,30 +87679,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "wrapping_add_signed", + "name": "checked_next_power_of_two", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89111,10 +87721,7 @@ "11095": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" }, { "must_use": { @@ -89124,7 +87731,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u32.wrapping_sub_signed(2), u32::MAX);\nassert_eq!(1u32.wrapping_sub_signed(-2), 3);\nassert_eq!((u32::MAX - 2).wrapping_sub_signed(-4), 1);\n```", + "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2u8.wrapping_next_power_of_two(), 2);\nassert_eq!(3u8.wrapping_next_power_of_two(), 4);\nassert_eq!(u8::MAX.wrapping_next_power_of_two(), 0);\n```", "id": 11095, "inner": { "function": { @@ -89146,30 +87753,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "i32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "wrapping_sub_signed", + "name": "wrapping_next_power_of_two", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89179,23 +87780,20 @@ "11096": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.wrapping_div(10), 10);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n# Examples\n\n```\nlet bytes = 0x12u8.to_be_bytes();\nassert_eq!(bytes, [0x12]);\n```", "id": 11096, "inner": { "function": { @@ -89217,30 +87815,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "wrapping_div", + "name": "to_be_bytes", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89250,23 +87847,20 @@ "11097": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.wrapping_div_euclid(10), 10);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n# Examples\n\n```\nlet bytes = 0x12u8.to_le_bytes();\nassert_eq!(bytes, [0x12]);\n```", "id": 11097, "inner": { "function": { @@ -89288,30 +87882,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "wrapping_div_euclid", + "name": "to_le_bytes", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89321,23 +87914,20 @@ "11098": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.wrapping_rem(10), 0);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12u8.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12]\n } else {\n [0x12]\n }\n);\n```", "id": 11098, "inner": { "function": { @@ -89359,30 +87949,32 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "wrapping_rem", + "links": { + "Self::to_be_bytes": 11096, + "Self::to_le_bytes": 11097 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89392,23 +87984,20 @@ "11099": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.wrapping_rem_euclid(10), 0);\n```", + "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n# Examples\n\n```\nlet value = u8::from_be_bytes([0x12]);\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_u8(input: &mut &[u8]) -> u8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u8::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11099, "inner": { "function": { @@ -89426,34 +88015,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u32" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "wrapping_rem_euclid", + "name": "from_be_bytes", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89535,7 +88123,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -89551,7 +88139,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -89560,12 +88148,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -89574,20 +88162,20 @@ "11100": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_u32.wrapping_neg(), 0);\nassert_eq!(u32::MAX.wrapping_neg(), 1);\nassert_eq!(13_u32.wrapping_neg(), (!13) + 1);\nassert_eq!(42_u32.wrapping_neg(), !(42 - 1));\n```", + "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n# Examples\n\n```\nlet value = u8::from_le_bytes([0x12]);\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_u8(input: &mut &[u8]) -> u8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u8::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11100, "inner": { "function": { @@ -89605,28 +88193,33 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": {}, - "name": "wrapping_neg", + "name": "from_le_bytes", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89636,20 +88229,20 @@ "11101": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1u32.wrapping_shl(7), 128);\nassert_eq!(1u32.wrapping_shl(128), 1);\n```", + "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n**Note**: This function is meaningless on `u8`. Byte order does not exist as a\nconcept for byte-sized integers. This function is only provided in symmetry\nwith larger integer types.\n\n# Examples\n\n```\nlet value = u8::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12]\n} else {\n [0x12]\n});\nassert_eq!(value, 0x12);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_u8(input: &mut &[u8]) -> u8 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u8::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11101, "inner": { "function": { @@ -89667,36 +88260,36 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u32" + "array": { + "len": "1", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": { - "Self::rotate_left": 11033 + "Self::from_be_bytes": 11099, + "Self::from_le_bytes": 11100 }, - "name": "wrapping_shl", + "name": "from_ne_bytes", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89706,20 +88299,21 @@ "11102": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"u8_legacy_fn_min_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128u32.wrapping_shr(7), 1);\nassert_eq!(128u32.wrapping_shr(128), 128);\n```", + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`u8::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", "id": 11102, "inner": { "function": { @@ -89735,38 +88329,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, "links": { - "Self::rotate_right": 11034 + "`u8::MIN`": 10974 }, - "name": "wrapping_shr", + "name": "min_value", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89776,20 +88357,21 @@ "11103": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"u8_legacy_fn_max_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3u32.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`u8::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", "id": 11103, "inner": { "function": { @@ -89805,36 +88387,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "exp", - { - "primitive": "u32" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u8" } } } }, - "links": {}, - "name": "wrapping_pow", + "links": { + "`u8::MAX`": 10975 + }, + "name": "max_value", "span": { "begin": [ - 1128, + 447, 5 ], "end": [ - 1146, + 468, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -89844,10 +88415,16 @@ "11104": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[doc(alias = \"average_floor\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[doc(alias = \"average\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" }, { "must_use": { @@ -89857,7 +88434,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_add(2), (7, false));\nassert_eq!(u32::MAX.overflowing_add(1), (0, true));\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0u8.midpoint(4), 2);\nassert_eq!(1u8.midpoint(4), 2);\n```", "id": 11104, "inner": { "function": { @@ -89883,34 +88460,27 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "u8" } } } }, "links": {}, - "name": "overflowing_add", + "name": "midpoint", "span": { "begin": [ - 1128, + 469, 5 ], "end": [ - 1146, - 6 + 469, + 41 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -89919,20 +88489,20 @@ "11105": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"const_u8_is_ascii\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u32.overflowing_add_signed(2), (3, false));\nassert_eq!(1u32.overflowing_add_signed(-2), (u32::MAX, true));\nassert_eq!((u32::MAX - 2).overflowing_add_signed(4), (1, true));\n```", + "docs": "Checks if the value is within the ASCII range.\n\n# Examples\n\n```\nlet ascii = 97u8;\nlet non_ascii = 150u8;\n\nassert!(ascii.is_ascii());\nassert!(!non_ascii.is_ascii());\n```", "id": 11105, "inner": { "function": { @@ -89952,40 +88522,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_add_signed", + "name": "is_ascii", "span": { "begin": [ - 1128, + 486, 5 ], "end": [ - 1146, - 6 + 486, + 41 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -89994,20 +88557,17 @@ "11106": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_sub(2), (3, false));\nassert_eq!(0u32.overflowing_sub(1), (u32::MAX, true));\n```", + "docs": "If the value of this byte is within the ASCII range, returns it as an\n[ASCII character](ascii::Char). Otherwise, returns `None`.", "id": 11106, "inner": { "function": { @@ -90027,40 +88587,54 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 609, + "path": "AsciiChar" + } + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "overflowing_sub", + "links": { + "ascii::Char": 609 + }, + "name": "as_ascii", "span": { "begin": [ - 1128, + 495, 5 ], "end": [ - 1146, - 6 + 495, + 56 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90069,20 +88643,17 @@ "11107": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u32.overflowing_sub_signed(2), (u32::MAX, true));\nassert_eq!(1u32.overflowing_sub_signed(-2), (3, false));\nassert_eq!((u32::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", + "docs": "Converts this byte to an [ASCII character](ascii::Char), without\nchecking whether or not it's valid.\n\n# Safety\n\nThis byte must be valid ASCII, or else this is UB.", "id": 11107, "inner": { "function": { @@ -90095,47 +88666,46 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "i32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "resolved_path": { + "args": null, + "id": 609, + "path": "AsciiChar" + } } } } }, - "links": {}, - "name": "overflowing_sub_signed", + "links": { + "ascii::Char": 609 + }, + "name": "as_ascii_unchecked", "span": { "begin": [ - 1128, + 508, 5 ], "end": [ - 1146, - 6 + 508, + 65 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90144,20 +88714,15 @@ "11108": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100u32.abs_diff(80), 20u32);\nassert_eq!(100u32.abs_diff(110), 10u32);\n```", + "docs": "Converts this value to its ASCII upper case equivalent in-place.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo return a new uppercased value without modifying the existing one, use\n[`to_ascii_uppercase`].\n\n# Examples\n\n```\nlet mut byte = b'a';\n\nbyte.make_ascii_uppercase();\n\nassert_eq!(b'A', byte);\n```\n\n[`to_ascii_uppercase`]: Self::to_ascii_uppercase", "id": 11108, "inner": { "function": { @@ -90177,33 +88742,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, - "output": { - "primitive": "u32" - } + "output": null } } }, - "links": {}, - "name": "abs_diff", + "links": { + "Self::to_ascii_uppercase": 11109 + }, + "name": "make_ascii_uppercase", "span": { "begin": [ - 1128, + 616, 5 ], "end": [ - 1146, - 6 + 616, + 49 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90212,20 +88777,20 @@ "11109": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "to uppercase the value in-place, use `make_ascii_uppercase()`" } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why why `u32`\nis used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", + "docs": "Makes a copy of the value in its ASCII upper case equivalent.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo uppercase the value in-place, use [`make_ascii_uppercase`].\n\n# Examples\n\n```\nlet lowercase_a = 97u8;\n\nassert_eq!(65, lowercase_a.to_ascii_uppercase());\n```\n\n[`make_ascii_uppercase`]: Self::make_ascii_uppercase", "id": 11109, "inner": { "function": { @@ -90245,40 +88810,35 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "u8" } } } }, - "links": {}, - "name": "overflowing_mul", + "links": { + "Self::make_ascii_uppercase": 11108 + }, + "name": "to_ascii_uppercase", "span": { "begin": [ - 1128, + 539, 5 ], "end": [ - 1146, - 6 + 539, + 49 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90359,7 +88919,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -90375,7 +88935,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -90384,12 +88944,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -90398,20 +88958,15 @@ "11110": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(u32::MAX.carrying_mul(u32::MAX, u32::MAX), (0, u32::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", + "docs": "Converts this value to its ASCII lower case equivalent in-place.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo return a new lowercased value without modifying the existing one, use\n[`to_ascii_lowercase`].\n\n# Examples\n\n```\nlet mut byte = b'A';\n\nbyte.make_ascii_lowercase();\n\nassert_eq!(b'a', byte);\n```\n\n[`to_ascii_lowercase`]: Self::to_ascii_lowercase", "id": 11110, "inner": { "function": { @@ -90431,51 +88986,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ], - [ - "carry", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "u32" - } - ] - } + "output": null } } }, "links": { - "Self::overflowing_mul": 11109, - "Self::wrapping_add": 11043, - "Self::wrapping_mul": 11056, - "`Self::widening_mul`": 11111 + "Self::to_ascii_lowercase": 11111 }, - "name": "carrying_mul", + "name": "make_ascii_lowercase", "span": { "begin": [ - 1128, + 642, 5 ], "end": [ - 1146, - 6 + 642, + 49 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90484,20 +89021,20 @@ "11111": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "to lowercase the value in-place, use `make_ascii_lowercase()`" } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", + "docs": "Makes a copy of the value in its ASCII lower case equivalent.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo lowercase the value in-place, use [`make_ascii_lowercase`].\n\n# Examples\n\n```\nlet uppercase_a = 65u8;\n\nassert_eq!(97, uppercase_a.to_ascii_lowercase());\n```\n\n[`make_ascii_lowercase`]: Self::make_ascii_lowercase", "id": 11111, "inner": { "function": { @@ -90517,42 +89054,35 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "u32" - } - ] + "primitive": "u8" } } } }, "links": { - "`Self::carrying_mul`": 11110 + "Self::make_ascii_lowercase": 11110 }, - "name": "widening_mul", + "name": "to_ascii_lowercase", "span": { "begin": [ - 1128, + 564, 5 ], "end": [ - 1146, - 6 + 564, + 49 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90561,20 +89091,15 @@ "11112": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(u32::MAX.carrying_mul_add(u32::MAX, u32::MAX, u32::MAX), (u32::MAX, u32::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\n#![feature(bigint_helper_methods)]\n\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xCFFC982D);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xCFFC982D)\n);\n```", + "docs": "Checks that two values are an ASCII case-insensitive match.\n\nThis is equivalent to `to_ascii_lowercase(a) == to_ascii_lowercase(b)`.\n\n# Examples\n\n```\nlet lowercase_a = 97u8;\nlet uppercase_a = 65u8;\n\nassert!(lowercase_a.eq_ignore_ascii_case(&uppercase_a));\n```", "id": 11112, "inner": { "function": { @@ -90594,55 +89119,45 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ], - [ - "carry", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "add", + "other", { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "u32" - } - ] + "primitive": "bool" } } } }, - "links": { - "`Self::carrying_mul`": 11110, - "`Self::widening_mul`": 11111 - }, - "name": "carrying_mul_add", + "links": {}, + "name": "eq_ignore_ascii_case", "span": { "begin": [ - 1128, + 590, 5 ], "end": [ - 1146, - 6 + 590, + 65 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90651,23 +89166,20 @@ "11113": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_div(2), (2, false));\n```", + "docs": "Checks if the value is an ASCII alphabetic character:\n\n- U+0041 'A' ..= U+005A 'Z', or\n- U+0061 'a' ..= U+007A 'z'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(uppercase_a.is_ascii_alphabetic());\nassert!(uppercase_g.is_ascii_alphabetic());\nassert!(a.is_ascii_alphabetic());\nassert!(g.is_ascii_alphabetic());\nassert!(!zero.is_ascii_alphabetic());\nassert!(!percent.is_ascii_alphabetic());\nassert!(!space.is_ascii_alphabetic());\nassert!(!lf.is_ascii_alphabetic());\nassert!(!esc.is_ascii_alphabetic());\n```", "id": 11113, "inner": { "function": { @@ -90687,40 +89199,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_div", + "name": "is_ascii_alphabetic", "span": { "begin": [ - 1128, + 678, 5 ], "end": [ - 1146, - 6 + 678, + 52 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90729,23 +89234,20 @@ "11114": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_div_euclid(2), (2, false));\n```", + "docs": "Checks if the value is an ASCII uppercase character:\nU+0041 'A' ..= U+005A 'Z'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(uppercase_a.is_ascii_uppercase());\nassert!(uppercase_g.is_ascii_uppercase());\nassert!(!a.is_ascii_uppercase());\nassert!(!g.is_ascii_uppercase());\nassert!(!zero.is_ascii_uppercase());\nassert!(!percent.is_ascii_uppercase());\nassert!(!space.is_ascii_uppercase());\nassert!(!lf.is_ascii_uppercase());\nassert!(!esc.is_ascii_uppercase());\n```", "id": 11114, "inner": { "function": { @@ -90765,40 +89267,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_div_euclid", + "name": "is_ascii_uppercase", "span": { "begin": [ - 1128, + 712, 5 ], "end": [ - 1146, - 6 + 712, + 51 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90807,23 +89302,20 @@ "11115": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_rem(2), (1, false));\n```", + "docs": "Checks if the value is an ASCII lowercase character:\nU+0061 'a' ..= U+007A 'z'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(!uppercase_a.is_ascii_lowercase());\nassert!(!uppercase_g.is_ascii_lowercase());\nassert!(a.is_ascii_lowercase());\nassert!(g.is_ascii_lowercase());\nassert!(!zero.is_ascii_lowercase());\nassert!(!percent.is_ascii_lowercase());\nassert!(!space.is_ascii_lowercase());\nassert!(!lf.is_ascii_lowercase());\nassert!(!esc.is_ascii_lowercase());\n```", "id": 11115, "inner": { "function": { @@ -90843,40 +89335,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_rem", + "name": "is_ascii_lowercase", "span": { "begin": [ - 1128, + 746, 5 ], "end": [ - 1146, - 6 + 746, + 51 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90885,23 +89370,20 @@ "11116": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_rem_euclid(2), (1, false));\n```", + "docs": "Checks if the value is an ASCII alphanumeric character:\n\n- U+0041 'A' ..= U+005A 'Z', or\n- U+0061 'a' ..= U+007A 'z', or\n- U+0030 '0' ..= U+0039 '9'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(uppercase_a.is_ascii_alphanumeric());\nassert!(uppercase_g.is_ascii_alphanumeric());\nassert!(a.is_ascii_alphanumeric());\nassert!(g.is_ascii_alphanumeric());\nassert!(zero.is_ascii_alphanumeric());\nassert!(!percent.is_ascii_alphanumeric());\nassert!(!space.is_ascii_alphanumeric());\nassert!(!lf.is_ascii_alphanumeric());\nassert!(!esc.is_ascii_alphanumeric());\n```", "id": 11116, "inner": { "function": { @@ -90921,40 +89403,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "is_ascii_alphanumeric", "span": { "begin": [ - 1128, + 783, 5 ], "end": [ - 1146, - 6 + 783, + 54 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -90963,20 +89438,20 @@ "11117": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0u32.overflowing_neg(), (0, false));\nassert_eq!(2u32.overflowing_neg(), (-2i32 as u32, true));\n```", + "docs": "Checks if the value is an ASCII decimal digit:\nU+0030 '0' ..= U+0039 '9'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(!uppercase_a.is_ascii_digit());\nassert!(!uppercase_g.is_ascii_digit());\nassert!(!a.is_ascii_digit());\nassert!(!g.is_ascii_digit());\nassert!(zero.is_ascii_digit());\nassert!(!percent.is_ascii_digit());\nassert!(!space.is_ascii_digit());\nassert!(!lf.is_ascii_digit());\nassert!(!esc.is_ascii_digit());\n```", "id": 11117, "inner": { "function": { @@ -90996,34 +89471,33 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_neg", + "name": "is_ascii_digit", "span": { "begin": [ - 1128, + 817, 5 ], "end": [ - 1146, - 6 + 817, + 47 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -91032,20 +89506,17 @@ "11118": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 101288, is_soft: false}, feature: \"is_ascii_octdigit\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1u32.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1u32.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10u32.overflowing_shl(31), (0, false));\n```", + "docs": "Checks if the value is an ASCII octal digit:\nU+0030 '0' ..= U+0037 '7'.\n\n# Examples\n\n```\n#![feature(is_ascii_octdigit)]\n\nlet uppercase_a = b'A';\nlet a = b'a';\nlet zero = b'0';\nlet seven = b'7';\nlet nine = b'9';\nlet percent = b'%';\nlet lf = b'\\n';\n\nassert!(!uppercase_a.is_ascii_octdigit());\nassert!(!a.is_ascii_octdigit());\nassert!(zero.is_ascii_octdigit());\nassert!(seven.is_ascii_octdigit());\nassert!(!nine.is_ascii_octdigit());\nassert!(!percent.is_ascii_octdigit());\nassert!(!lf.is_ascii_octdigit());\n```", "id": 11118, "inner": { "function": { @@ -91065,40 +89536,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_shl", + "name": "is_ascii_octdigit", "span": { "begin": [ - 1128, + 848, 5 ], "end": [ - 1146, - 6 + 848, + 50 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -91107,20 +89571,20 @@ "11119": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10u32.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10u32.overflowing_shr(132), (0x1, true));\n```", + "docs": "Checks if the value is an ASCII hexadecimal digit:\n\n- U+0030 '0' ..= U+0039 '9', or\n- U+0041 'A' ..= U+0046 'F', or\n- U+0061 'a' ..= U+0066 'f'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(uppercase_a.is_ascii_hexdigit());\nassert!(!uppercase_g.is_ascii_hexdigit());\nassert!(a.is_ascii_hexdigit());\nassert!(!g.is_ascii_hexdigit());\nassert!(zero.is_ascii_hexdigit());\nassert!(!percent.is_ascii_hexdigit());\nassert!(!space.is_ascii_hexdigit());\nassert!(!lf.is_ascii_hexdigit());\nassert!(!esc.is_ascii_hexdigit());\n```", "id": 11119, "inner": { "function": { @@ -91140,40 +89604,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_shr", + "name": "is_ascii_hexdigit", "span": { "begin": [ - 1128, + 885, 5 ], "end": [ - 1146, - 6 + 885, + 50 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -91275,7 +89732,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -91300,11 +89757,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -91314,20 +89771,20 @@ "11120": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3u32.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", + "docs": "Checks if the value is an ASCII punctuation character:\n\n- U+0021 ..= U+002F `! \" # $ % & ' ( ) * + , - . /`, or\n- U+003A ..= U+0040 `: ; < = > ? @`, or\n- U+005B ..= U+0060 `` [ \\ ] ^ _ ` ``, or\n- U+007B ..= U+007E `{ | } ~`\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(!uppercase_a.is_ascii_punctuation());\nassert!(!uppercase_g.is_ascii_punctuation());\nassert!(!a.is_ascii_punctuation());\nassert!(!g.is_ascii_punctuation());\nassert!(!zero.is_ascii_punctuation());\nassert!(percent.is_ascii_punctuation());\nassert!(!space.is_ascii_punctuation());\nassert!(!lf.is_ascii_punctuation());\nassert!(!esc.is_ascii_punctuation());\n```", "id": 11120, "inner": { "function": { @@ -91347,40 +89804,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "exp", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u32" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_pow", + "name": "is_ascii_punctuation", "span": { "begin": [ - 1128, + 923, 5 ], "end": [ - 1146, - 6 + 923, + 53 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -91389,20 +89839,20 @@ "11121": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2u32.pow(5), 32);\n```", + "docs": "Checks if the value is an ASCII graphic character:\nU+0021 '!' ..= U+007E '~'.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(uppercase_a.is_ascii_graphic());\nassert!(uppercase_g.is_ascii_graphic());\nassert!(a.is_ascii_graphic());\nassert!(g.is_ascii_graphic());\nassert!(zero.is_ascii_graphic());\nassert!(percent.is_ascii_graphic());\nassert!(!space.is_ascii_graphic());\nassert!(!lf.is_ascii_graphic());\nassert!(!esc.is_ascii_graphic());\n```", "id": 11121, "inner": { "function": { @@ -91422,33 +89872,33 @@ [ "self", { - "generic": "Self" - } - ], - [ - "exp", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "bool" } } } }, "links": {}, - "name": "pow", + "name": "is_ascii_graphic", "span": { "begin": [ - 1128, + 960, 5 ], "end": [ - 1146, - 6 + 960, + 49 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -91457,20 +89907,20 @@ "11122": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10u32.isqrt(), 3);\n```", + "docs": "Checks if the value is an ASCII control character:\nU+0000 NUL ..= U+001F UNIT SEPARATOR, or U+007F DELETE.\nNote that most ASCII whitespace characters are control\ncharacters, but SPACE is not.\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(!uppercase_a.is_ascii_control());\nassert!(!uppercase_g.is_ascii_control());\nassert!(!a.is_ascii_control());\nassert!(!g.is_ascii_control());\nassert!(!zero.is_ascii_control());\nassert!(!percent.is_ascii_control());\nassert!(!space.is_ascii_control());\nassert!(lf.is_ascii_control());\nassert!(esc.is_ascii_control());\n```", "id": 11122, "inner": { "function": { @@ -91490,27 +89940,33 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "bool" } } } }, "links": {}, - "name": "isqrt", + "name": "is_ascii_control", "span": { "begin": [ - 1128, + 1047, 5 ], "end": [ - 1146, - 6 + 1047, + 49 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -91519,23 +89975,17 @@ "11123": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"inherent_ascii_escape\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the escaped byte as an iterator, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u32.div_euclid(4), 1); // or any other integer type\n```", + "docs": "Returns an iterator that produces an escaped version of a `u8`,\ntreating it as an ASCII character.\n\nThe behavior is identical to [`ascii::escape_default`].\n\n# Examples\n\n```\nassert_eq!(\"0\", b'0'.escape_ascii().to_string());\nassert_eq!(\"\\\\t\", b'\\t'.escape_ascii().to_string());\nassert_eq!(\"\\\\r\", b'\\r'.escape_ascii().to_string());\nassert_eq!(\"\\\\n\", b'\\n'.escape_ascii().to_string());\nassert_eq!(\"\\\\'\", b'\\''.escape_ascii().to_string());\nassert_eq!(\"\\\\\\\"\", b'\"'.escape_ascii().to_string());\nassert_eq!(\"\\\\\\\\\", b'\\\\'.escape_ascii().to_string());\nassert_eq!(\"\\\\x9d\", b'\\x9d'.escape_ascii().to_string());\n```", "id": 11123, "inner": { "function": { @@ -91547,7 +89997,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -91557,127 +90007,242 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": null, + "id": 611, + "path": "EscapeDefault" + } } } } }, - "links": {}, - "name": "div_euclid", + "links": { + "`ascii::escape_default`": 613 + }, + "name": "escape_ascii", "span": { "begin": [ - 1128, + 1072, 5 ], "end": [ - 1146, - 6 + 1072, + 54 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11124": { - "attrs": [ - { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u32.rem_euclid(4), 3); // or any other integer type\n```", + "docs": null, "id": 11124, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "u8" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 10974, + 10975, + 10976, + 10977, + 10978, + 10980, + 10981, + 10982, + 10983, + 10984, + 10985, + 10986, + 10987, + 10988, + 10372, + 10989, + 10990, + 10991, + 10992, + 10993, + 10994, + 10995, + 10996, + 10997, + 10998, + 10999, + 11000, + 11002, + 11003, + 11004, + 11005, + 11006, + 11008, + 11009, + 11010, + 11011, + 11012, + 11013, + 11015, + 11016, + 11017, + 11018, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11027, + 11028, + 10979, + 11029, + 11030, + 11031, + 11032, + 11033, + 11034, + 11035, + 11036, + 11037, + 11038, + 11039, + 11040, + 11041, + 11042, + 11043, + 11044, + 11045, + 11046, + 11047, + 11048, + 11049, + 11050, + 11051, + 11052, + 11053, + 11054, + 11055, + 11001, + 11056, + 11007, + 11057, + 11014, + 11058, + 11059, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 10334, + 11067, + 11068, + 10338, + 11069, + 11070, + 11072, + 11074, + 11071, + 11073, + 11075, + 11076, + 11077, + 11078, + 11079, + 11080, + 11081, + 11082, + 11083, + 11084, + 11085, + 11086, + 11087, + 11088, + 11089, + 11090, + 11091, + 11092, + 11093, + 11094, + 11095, + 11096, + 11097, + 11098, + 11099, + 11100, + 11101, + 11102, + 11103, + 11104, + 11105, + 11106, + 11107, + 11109, + 11111, + 11112, + 11108, + 11110, + 11113, + 11114, + 11115, + 11116, + 11117, + 11118, + 11119, + 11120, + 11121, + 9767, + 11122, + 11123 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "rem_euclid", + "name": null, "span": { "begin": [ - 1128, - 5 + 446, + 1 ], "end": [ - 1146, - 6 + 446, + 8 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "11125": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_u32.div_floor(4), 1);\n```", + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(u8::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(u8::from_str_radix(\"1 \", 10).is_err());\n```", "id": 11125, "inner": { "function": { @@ -91695,13 +90260,19 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } ], [ - "rhs", + "radix", { "primitive": "u32" } @@ -91709,21 +90280,45 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "div_floor", + "name": "from_str_radix", "span": { "begin": [ - 1128, - 5 + 1667, + 1 ], "end": [ - 1146, - 6 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -91732,23 +90327,12 @@ "11126": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_u32.div_ceil(4), 2);\n```", + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u8::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u8::from_ascii(b\"1 \").is_err());\n```", "id": 11126, "inner": { "function": { @@ -91766,35 +90350,61 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "src", { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "div_ceil", + "name": "from_ascii", "span": { "begin": [ - 1128, - 5 + 1667, + 1 ], "end": [ - 1146, - 6 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -91803,20 +90413,12 @@ "11127": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_u32.next_multiple_of(8), 16);\nassert_eq!(23_u32.next_multiple_of(8), 24);\n```", + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u8::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u8::from_ascii_radix(b\"1 \", 10).is_err());\n```", "id": 11127, "inner": { "function": { @@ -91834,13 +90436,21 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ], [ - "rhs", + "radix", { "primitive": "u32" } @@ -91848,126 +90458,102 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "next_multiple_of", + "name": "from_ascii_radix", "span": { "begin": [ - 1128, - 5 + 1667, + 1 ], "end": [ - 1146, - 6 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11128": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_u32.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_u32.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_u32.checked_next_multiple_of(0), None);\nassert_eq!(u32::MAX.checked_next_multiple_of(2), None);\n```", + "docs": null, "id": 11128, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "u8" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11125, + 11126, + 11127 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "checked_next_multiple_of", + "name": null, "span": { "begin": [ - 1128, - 5 + 1667, + 1 ], "end": [ - 1146, - 6 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "11129": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_u32.is_multiple_of(2));\nassert!(!5_u32.is_multiple_of(2));\n\nassert!(0_u32.is_multiple_of(0));\nassert!(!6_u32.is_multiple_of(0));\n```", + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0u8;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32u8;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = u8 :: MAX;\nassert_eq!(n2.format_into(&mut buf), u8 :: MAX.to_string());\n```", "id": 11129, "inner": { "function": { @@ -91979,7 +90565,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -91991,31 +90577,60 @@ } ], [ - "rhs", + "buf", { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 10387, + "path": "NumBuffer" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, - "links": {}, - "name": "is_multiple_of", + "links": { + "`NumBuffer`": 10387 + }, + "name": "format_into", "span": { "begin": [ - 1128, + 599, 5 ], "end": [ - 1146, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "public" }, @@ -92072,7 +90687,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -92097,11 +90712,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -92109,123 +90724,73 @@ "visibility": "default" }, "11130": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16u32.is_power_of_two());\nassert!(!10u32.is_power_of_two());\n```", + "docs": null, "id": 11130, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "u8" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11129 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "is_power_of_two", + "name": null, "span": { "begin": [ - 1128, + 599, 5 ], "end": [ - 1146, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, - "visibility": "public" + "visibility": "default" }, "11131": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2u32.next_power_of_two(), 2);\nassert_eq!(3u32.next_power_of_two(), 4);\nassert_eq!(0u32.next_power_of_two(), 1);\n```", + "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(u16::MIN, 0);\n```", "id": 11131, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u16" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } + "value": "0" } }, "links": {}, - "name": "next_power_of_two", + "name": "MIN", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -92235,74 +90800,30 @@ "11132": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2u32.checked_next_power_of_two(), Some(2));\nassert_eq!(3u32.checked_next_power_of_two(), Some(4));\nassert_eq!(u32::MAX.checked_next_power_of_two(), None);\n```", + "docs": "The largest value that can be represented by this integer type\n(216 − 1).\n\n# Examples\n\n```\nassert_eq!(u16::MAX, 65535);\n```", "id": 11132, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u16" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "value": "_" } }, "links": {}, - "name": "checked_next_power_of_two", + "name": "MAX", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -92312,56 +90833,30 @@ "11133": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2u32.wrapping_next_power_of_two(), 2);\nassert_eq!(3u32.wrapping_next_power_of_two(), 4);\nassert_eq!(u32::MAX.wrapping_next_power_of_two(), 0);\n```", + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(u16::BITS, 16);\n```", "id": 11133, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } + "value": "_" } }, "links": {}, - "name": "wrapping_next_power_of_two", + "name": "BITS", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -92371,10 +90866,16 @@ "11134": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[doc(alias = \"popcount\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -92384,7 +90885,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678u32.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78]);\n```", + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100u16;\nassert_eq!(n.count_ones(), 3);\n\nlet max = u16::MAX;\nassert_eq!(max.count_ones(), 16);\n\nlet zero = 0u16;\nassert_eq!(zero.count_ones(), 0);\n```", "id": 11134, "inner": { "function": { @@ -92410,25 +90911,20 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "primitive": "u32" } } } }, "links": {}, - "name": "to_be_bytes", + "name": "count_ones", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -92438,10 +90934,10 @@ "11135": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -92451,7 +90947,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678u32.to_le_bytes();\nassert_eq!(bytes, [0x78, 0x56, 0x34, 0x12]);\n```", + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0u16;\nassert_eq!(zero.count_zeros(), 16);\n\nlet max = u16::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", "id": 11135, "inner": { "function": { @@ -92477,25 +90973,20 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "primitive": "u32" } } } }, "links": {}, - "name": "to_le_bytes", + "name": "count_zeros", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -92505,20 +90996,23 @@ "11136": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12345678u32.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78]\n } else {\n [0x78, 0x56, 0x34, 0x12]\n }\n);\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2u16.ilog2(), 1);\n```", "id": 11136, "inner": { "function": { @@ -92544,28 +91038,20 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "primitive": "u32" } } } }, - "links": { - "Self::to_be_bytes": 11134, - "Self::to_le_bytes": 11135 - }, - "name": "to_ne_bytes", + "links": {}, + "name": "ilog2", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -92575,20 +91061,20 @@ "11137": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n\n# Examples\n\n```\nlet value = u32::from_be_bytes([0x12, 0x34, 0x56, 0x78]);\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_u32(input: &mut &[u8]) -> u32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u32::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = u16::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0u16;\nassert_eq!(zero.leading_zeros(), 16);\n\nlet max = u16::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: u16::ilog2", "id": 11137, "inner": { "function": { @@ -92606,14 +91092,9 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], @@ -92624,15 +91105,17 @@ } } }, - "links": {}, - "name": "from_be_bytes", + "links": { + "u16::ilog2": 11136 + }, + "name": "leading_zeros", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -92642,20 +91125,20 @@ "11138": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n\n# Examples\n\n```\nlet value = u32::from_le_bytes([0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_u32(input: &mut &[u8]) -> u32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u32::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000u16;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0u16;\nassert_eq!(zero.trailing_zeros(), 16);\n\nlet max = u16::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", "id": 11138, "inner": { "function": { @@ -92673,14 +91156,9 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], @@ -92692,14 +91170,14 @@ } }, "links": {}, - "name": "from_le_bytes", + "name": "trailing_zeros", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -92709,20 +91187,20 @@ "11139": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = u32::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78]\n} else {\n [0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_u32(input: &mut &[u8]) -> u32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u32::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(u16::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0u16;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = u16::MAX;\nassert_eq!(max.leading_ones(), 16);\n```", "id": 11139, "inner": { "function": { @@ -92740,14 +91218,9 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], @@ -92758,18 +91231,15 @@ } } }, - "links": { - "Self::from_be_bytes": 11137, - "Self::from_le_bytes": 11138 - }, - "name": "from_ne_bytes", + "links": {}, + "name": "leading_ones", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -92854,7 +91324,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -92872,8 +91342,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -92889,7 +91359,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -92898,11 +91368,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -92912,21 +91382,20 @@ "11140": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"u32_legacy_fn_min_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`u32::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111u16;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0u16;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = u16::MAX;\nassert_eq!(max.trailing_ones(), 16);\n```", "id": 11140, "inner": { "function": { @@ -92942,7 +91411,14 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], "is_c_variadic": false, "output": { "primitive": "u32" @@ -92950,17 +91426,15 @@ } } }, - "links": { - "`u32::MIN`": 11018 - }, - "name": "min_value", + "links": {}, + "name": "trailing_ones", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -92970,21 +91444,17 @@ "11141": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"u32_legacy_fn_max_value\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`u32::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", + "deprecation": null, + "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_u16.bit_width(), 0);\nassert_eq!(0b111_u16.bit_width(), 3);\nassert_eq!(0b1110_u16.bit_width(), 4);\nassert_eq!(u16::MAX.bit_width(), 16);\n```", "id": 11141, "inner": { "function": { @@ -93000,7 +91470,14 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], "is_c_variadic": false, "output": { "primitive": "u32" @@ -93008,17 +91485,15 @@ } } }, - "links": { - "`u32::MAX`": 6009 - }, - "name": "max_value", + "links": {}, + "name": "bit_width", "span": { "begin": [ - 1128, + 1084, 5 ], "end": [ - 1146, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -93028,16 +91503,7 @@ "11142": { "attrs": [ { - "other": "#[doc(alias = \"average_floor\")]" - }, - { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" }, { "must_use": { @@ -93047,7 +91513,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0u32.midpoint(4), 2);\nassert_eq!(1u32.midpoint(4), 2);\n```", + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u16 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_u16.isolate_highest_one(), 0);\n```", "id": 11142, "inner": { "function": { @@ -93069,216 +91535,103 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u16" } } } }, "links": {}, - "name": "midpoint", + "name": "isolate_highest_one", "span": { "begin": [ - 1147, + 1084, 5 ], "end": [ - 1147, - 42 + 1105, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11143": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u16 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_u16.isolate_lowest_one(), 0);\n```", "id": 11143, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u32" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11018, - 6009, - 11019, - 11020, - 11021, - 11023, - 11024, - 11025, - 11026, - 11027, - 11028, - 11029, - 11030, - 11031, - 11032, - 11033, - 11034, - 11035, - 11036, - 11037, - 11038, - 11039, - 11040, - 11041, - 11042, - 11044, - 11045, - 11046, - 11047, - 11048, - 11050, - 11051, - 11052, - 11053, - 11054, - 11055, - 11057, - 11058, - 11059, - 11060, - 11061, - 11062, - 11063, - 11064, - 11065, - 11066, - 11067, - 11068, - 11069, - 11070, - 11022, - 11071, - 11072, - 11073, - 11074, - 11075, - 11076, - 11077, - 11078, - 11079, - 11080, - 11081, - 11082, - 11083, - 11084, - 11085, - 11086, - 11087, - 11088, - 11089, - 11090, - 11091, - 11092, - 11093, - 11043, - 11094, - 11049, - 11095, - 11056, - 11096, - 11097, - 11098, - 11099, - 11100, - 11101, - 11102, - 11103, - 11104, - 10395, - 11105, - 11106, - 10399, - 11107, - 11108, - 11109, - 11111, - 11110, - 11112, - 11113, - 11114, - 11115, - 11116, - 11117, - 11118, - 11119, - 11120, - 11121, - 11122, - 11123, - 11124, - 11125, - 11126, - 11127, - 11128, - 11129, - 11130, - 11131, - 11132, - 11133, - 11134, - 11135, - 11136, - 11137, - 11138, - 11139, - 11140, - 11141, - 11142 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u16" + } + } } }, "links": {}, - "name": null, + "name": "isolate_lowest_one", "span": { "begin": [ - 1127, - 1 + 1084, + 5 ], "end": [ - 1127, - 9 + 1105, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11144": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(u32::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(u32::from_str_radix(\"1 \", 10).is_err());\n```", + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u16.highest_one(), None);\nassert_eq!(0x1_u16.highest_one(), Some(0));\nassert_eq!(0x10_u16.highest_one(), Some(4));\nassert_eq!(0x1f_u16.highest_one(), Some(4));\n```", "id": 11144, "inner": { "function": { @@ -93296,21 +91649,9 @@ "sig": { "inputs": [ [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - ], - [ - "radix", + "self", { - "primitive": "u32" + "generic": "Self" } ] ], @@ -93324,37 +91665,28 @@ "type": { "primitive": "u32" } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "from_str_radix", + "name": "highest_one", "span": { "begin": [ - 1631, - 1 + 1084, + 5 ], "end": [ - 1631, - 58 + 1105, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -93363,12 +91695,17 @@ "11145": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u32::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u32::from_ascii(b\"1 \").is_err());\n```", + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u16.lowest_one(), None);\nassert_eq!(0x1_u16.lowest_one(), Some(0));\nassert_eq!(0x10_u16.lowest_one(), Some(4));\nassert_eq!(0x1f_u16.lowest_one(), Some(0));\n```", "id": 11145, "inner": { "function": { @@ -93386,17 +91723,9 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "Self" } ] ], @@ -93410,37 +91739,28 @@ "type": { "primitive": "u32" } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "from_ascii", + "name": "lowest_one", "span": { "begin": [ - 1631, - 1 + 1084, + 5 ], "end": [ - 1631, - 58 + 1105, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -93449,12 +91769,20 @@ "11146": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u32::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u32::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = u16::MAX;\n\nassert_eq!(n.cast_signed(), -1i16);\n```", "id": 11146, "inner": { "function": { @@ -93472,124 +91800,119 @@ "sig": { "inputs": [ [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ], - [ - "radix", + "self", { - "primitive": "u32" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "i16" } } } }, "links": {}, - "name": "from_ascii_radix", + "name": "cast_signed", "span": { "begin": [ - 1631, - 1 + 1084, + 5 ], "end": [ - 1631, - 58 + 1105, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11147": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0xa003u16;\nlet m = 0x3a;\n\nassert_eq!(n.rotate_left(4), m);\n```", "id": 11147, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u32" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11144, - 11145, - 11146 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "n", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u16" + } + } } }, "links": {}, - "name": null, + "name": "rotate_left", "span": { "begin": [ - 1631, - 1 + 1084, + 5 ], "end": [ - 1631, - 58 + 1105, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11148": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0u32;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32u32;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = u32 :: MAX;\nassert_eq!(n2.format_into(&mut buf), u32 :: MAX.to_string());\n```", + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x3au16;\nlet m = 0xa003;\n\nassert_eq!(n.rotate_right(4), m);\n```", "id": 11148, "inner": { "function": { @@ -93601,7 +91924,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -93613,103 +91936,109 @@ } ], [ - "buf", + "n", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 10162, - "path": "NumBuffer" - } - } - } + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "primitive": "u16" } } } }, - "links": { - "`NumBuffer`": 10162 - }, - "name": "format_into", + "links": {}, + "name": "rotate_right", "span": { "begin": [ - 562, + 1084, 5 ], "end": [ - 562, - 95 + 1105, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11149": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Performs a left funnel shift (concatenates `self` with `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value left\nby `n`, and most significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `<<` shifting operator or\n[`rotate_left`](Self::rotate_left), although `a.funnel_shl(a, n)` is *equivalent*\nto `a.rotate_left(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0xa003u16;\nlet b = 0x2deu16;\nlet m = 0x30;\n\nassert_eq!(a.funnel_shl(b, 4), m);\n```", "id": 11149, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u32" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11148 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u16" + } + ], + [ + "n", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u16" + } + } } }, - "links": {}, - "name": null, + "links": { + "Self::rotate_left": 11147 + }, + "name": "funnel_shl", "span": { "begin": [ - 562, + 1084, 5 ], "end": [ - 562, - 95 + 1105, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "1115": { "attrs": [], @@ -93807,8 +92136,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -93824,7 +92153,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -93833,11 +92162,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -93847,30 +92176,73 @@ "11150": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(u64::MIN, 0);\n```", + "docs": "Performs a right funnel shift (concatenates `self` and `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value right\nby `n`, and least significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `>>` shifting operator or\n[`rotate_right`](Self::rotate_right), although `a.funnel_shr(a, n)` is *equivalent*\nto `a.rotate_right(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0xa003u16;\nlet b = 0x2deu16;\nlet m = 0x302d;\n\nassert_eq!(a.funnel_shr(b, 4), m);\n```", "id": 11150, "inner": { - "assoc_const": { - "type": { - "primitive": "u64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "0" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u16" + } + ], + [ + "n", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u16" + } + } } }, - "links": {}, - "name": "MIN", + "links": { + "Self::rotate_right": 11148 + }, + "name": "funnel_shr", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -93880,30 +92252,59 @@ "11151": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(264 − 1).\n\n# Examples\n\n```\nassert_eq!(u64::MAX, 18446744073709551615);\n```", + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234u16;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x3412);\n```", "id": 11151, "inner": { - "assoc_const": { - "type": { - "primitive": "u64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u16" + } + } } }, "links": {}, - "name": "MAX", + "name": "swap_bytes", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -93913,30 +92314,59 @@ "11152": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(u64::BITS, 64);\n```", + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234u16;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x2c48);\nassert_eq!(0, 0u16.reverse_bits());\n```", "id": 11152, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u16" + } + } } }, "links": {}, - "name": "BITS", + "name": "reverse_bits", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -93945,12 +92375,6 @@ }, "11153": { "attrs": [ - { - "other": "#[doc(alias = \"popcount\")]" - }, - { - "other": "#[doc(alias = \"popcnt\")]" - }, { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, @@ -93959,13 +92383,13 @@ }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100u64;\nassert_eq!(n.count_ones(), 3);\n\nlet max = u64::MAX;\nassert_eq!(max.count_ones(), 64);\n\nlet zero = 0u64;\nassert_eq!(zero.count_ones(), 0);\n```", + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au16;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(u16::from_be(n), n)\n} else {\n assert_eq!(u16::from_be(n), n.swap_bytes())\n}\n```", "id": 11153, "inner": { "function": { @@ -93983,28 +92407,28 @@ "sig": { "inputs": [ [ - "self", + "x", { - "generic": "Self" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u16" } } } }, "links": {}, - "name": "count_ones", + "name": "from_be", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94021,13 +92445,13 @@ }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0u64;\nassert_eq!(zero.count_zeros(), 64);\n\nlet max = u64::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au16;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(u16::from_le(n), n)\n} else {\n assert_eq!(u16::from_le(n), n.swap_bytes())\n}\n```", "id": 11154, "inner": { "function": { @@ -94045,28 +92469,28 @@ "sig": { "inputs": [ [ - "self", + "x", { - "generic": "Self" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u16" } } } }, "links": {}, - "name": "count_zeros", + "name": "from_le", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94076,23 +92500,20 @@ "11155": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2u64.ilog2(), 1);\n```", + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au16;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", "id": 11155, "inner": { "function": { @@ -94118,20 +92539,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u16" } } } }, "links": {}, - "name": "ilog2", + "name": "to_be", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94154,7 +92575,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = u64::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0u64;\nassert_eq!(zero.leading_zeros(), 64);\n\nlet max = u64::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: u64::ilog2", + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au16;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", "id": 11156, "inner": { "function": { @@ -94180,22 +92601,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u16" } } } }, - "links": { - "u64::ilog2": 11155 - }, - "name": "leading_zeros", + "links": {}, + "name": "to_le", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94205,7 +92624,7 @@ "11157": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -94218,7 +92637,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000u64;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0u64;\nassert_eq!(zero.trailing_zeros(), 64);\n\nlet max = u64::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((u16::MAX - 2).checked_add(1), Some(u16::MAX - 1));\nassert_eq!((u16::MAX - 2).checked_add(3), None);\n```", "id": 11157, "inner": { "function": { @@ -94240,24 +92659,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "trailing_zeros", + "name": "checked_add", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94267,20 +92707,23 @@ "11158": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(u64::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0u64;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = u64::MAX;\nassert_eq!(max.leading_ones(), 64);\n```", + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((u16::MAX - 2).strict_add(1), u16::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (u16::MAX - 2).strict_add(3);\n```", "id": 11158, "inner": { "function": { @@ -94302,24 +92745,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u16" } } } }, "links": {}, - "name": "leading_ones", + "name": "strict_add", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94329,10 +92778,10 @@ "11159": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -94342,7 +92791,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111u64;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0u64;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = u64::MAX;\nassert_eq!(max.trailing_ones(), 64);\n```", + "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200u16.wrapping_add(55), 255);\nassert_eq!(200u16.wrapping_add(u16::MAX), 199);\n```", "id": 11159, "inner": { "function": { @@ -94364,24 +92813,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u16" } } } }, "links": {}, - "name": "trailing_ones", + "name": "wrapping_add", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94466,12 +92921,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -94494,17 +92949,23 @@ "11160": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_u64.bit_width(), 0);\nassert_eq!(0b111_u64.bit_width(), 3);\nassert_eq!(0b1110_u64.bit_width(), 4);\nassert_eq!(u64::MAX.bit_width(), 64);\n```", + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > u16::MAX` or `self + rhs < u16::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: u16::checked_add\n[`wrapping_add`]: u16::wrapping_add", "id": 11160, "inner": { "function": { @@ -94517,7 +92978,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -94526,24 +92987,33 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u16" } } } }, - "links": {}, - "name": "bit_width", + "links": { + "u16::checked_add": 11157, + "u16::wrapping_add": 11159 + }, + "name": "unchecked_add", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94553,7 +93023,10 @@ "11161": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -94563,7 +93036,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u64 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_u64.isolate_highest_one(), 0);\n```", + "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u16.checked_add_signed(2), Some(3));\nassert_eq!(1u16.checked_add_signed(-2), None);\nassert_eq!((u16::MAX - 2).checked_add_signed(3), None);\n```", "id": 11161, "inner": { "function": { @@ -94585,24 +93058,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "isolate_highest_one", + "name": "checked_add_signed", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94612,17 +93106,23 @@ "11162": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u64 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_u64.isolate_lowest_one(), 0);\n```", + "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u16.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u16.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (u16::MAX - 2).strict_add_signed(3);\n```", "id": 11162, "inner": { "function": { @@ -94644,24 +93144,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "isolate_lowest_one", + "name": "strict_add_signed", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94671,7 +93177,10 @@ "11163": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -94681,7 +93190,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u64.highest_one(), None);\nassert_eq!(0x1_u64.highest_one(), Some(0));\nassert_eq!(0x10_u64.highest_one(), Some(4));\nassert_eq!(0x1f_u64.highest_one(), Some(4));\n```", + "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u16.checked_sub(1), Some(0));\nassert_eq!(0u16.checked_sub(1), None);\n```", "id": 11163, "inner": { "function": { @@ -94703,6 +93212,12 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, @@ -94713,7 +93228,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "u16" } } ], @@ -94728,14 +93243,14 @@ } }, "links": {}, - "name": "highest_one", + "name": "checked_sub", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94745,17 +93260,23 @@ "11164": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u64.lowest_one(), None);\nassert_eq!(0x1_u64.lowest_one(), Some(0));\nassert_eq!(0x10_u64.lowest_one(), Some(4));\nassert_eq!(0x1f_u64.lowest_one(), Some(0));\n```", + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u16.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0u16.strict_sub(1);\n```", "id": 11164, "inner": { "function": { @@ -94777,39 +93298,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, "links": {}, - "name": "lowest_one", + "name": "strict_sub", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94819,10 +93331,10 @@ "11165": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -94832,7 +93344,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = u64::MAX;\n\nassert_eq!(n.cast_signed(), -1i64);\n```", + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100u16.wrapping_sub(100), 0);\nassert_eq!(100u16.wrapping_sub(u16::MAX), 101);\n```", "id": 11165, "inner": { "function": { @@ -94854,24 +93366,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "u16" } } } }, "links": {}, - "name": "cast_signed", + "name": "wrapping_sub", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94881,20 +93399,23 @@ "11166": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0xaa00000000006e1u64;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);\n```", + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > u16::MAX` or `self - rhs < u16::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: u16::checked_sub\n[`wrapping_sub`]: u16::wrapping_sub", "id": 11166, "inner": { "function": { @@ -94907,7 +93428,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -94918,28 +93439,31 @@ } ], [ - "n", + "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, - "links": {}, - "name": "rotate_left", + "links": { + "u16::checked_sub": 11163, + "u16::wrapping_sub": 11165 + }, + "name": "unchecked_sub", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -94949,10 +93473,10 @@ "11167": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -94962,7 +93486,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x6e10aau64;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);\n```", + "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u16.checked_sub_signed(2), None);\nassert_eq!(1u16.checked_sub_signed(-2), Some(3));\nassert_eq!((u16::MAX - 2).checked_sub_signed(-4), None);\n```", "id": 11167, "inner": { "function": { @@ -94986,28 +93510,43 @@ } ], [ - "n", + "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "rotate_right", + "name": "checked_sub_signed", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95017,20 +93556,23 @@ "11168": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234567890123456u64;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);\n```", + "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3u16.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u16.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (u16::MAX).strict_sub_signed(-1);\n```", "id": 11168, "inner": { "function": { @@ -95052,24 +93594,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "swap_bytes", + "name": "strict_sub_signed", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95079,20 +93627,15 @@ "11169": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234567890123456u64;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0u64.reverse_bits());\n```", + "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`i16`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10u16.checked_signed_diff(2), Some(8));\nassert_eq!(2u16.checked_signed_diff(10), Some(-8));\nassert_eq!(u16::MAX.checked_signed_diff(i16::MAX as u16), None);\nassert_eq!((i16::MAX as u16).checked_signed_diff(u16::MAX), Some(i16::MIN));\nassert_eq!((i16::MAX as u16 + 1).checked_signed_diff(0), None);\nassert_eq!(u16::MAX.checked_signed_diff(u16::MAX), Some(0));\n```", "id": 11169, "inner": { "function": { @@ -95114,24 +93657,47 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "reverse_bits", + "links": { + "`i16`": 4818 + }, + "name": "checked_signed_diff", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95243,20 +93809,20 @@ "11170": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au64;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(u64::from_be(n), n)\n} else {\n assert_eq!(u64::from_be(n), n.swap_bytes())\n}\n```", + "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5u16.checked_mul(1), Some(5));\nassert_eq!(u16::MAX.checked_mul(2), None);\n```", "id": 11170, "inner": { "function": { @@ -95274,28 +93840,49 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "u64" + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "from_be", + "name": "checked_mul", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95305,20 +93892,23 @@ "11171": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au64;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(u64::from_le(n), n)\n} else {\n assert_eq!(u64::from_le(n), n.swap_bytes())\n}\n```", + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5u16.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = u16::MAX.strict_mul(2);\n```", "id": 11171, "inner": { "function": { @@ -95336,28 +93926,34 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "u64" + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "from_le", + "name": "strict_mul", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95367,7 +93963,7 @@ "11172": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -95380,7 +93976,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au64;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", "id": 11172, "inner": { "function": { @@ -95402,24 +93998,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "to_be", + "name": "wrapping_mul", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95429,20 +94031,23 @@ "11173": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au64;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > u16::MAX` or `self * rhs < u16::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: u16::checked_mul\n[`wrapping_mul`]: u16::wrapping_mul", "id": 11173, "inner": { "function": { @@ -95455,7 +94060,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -95464,24 +94069,33 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, - "links": {}, - "name": "to_le", + "links": { + "u16::checked_mul": 11170, + "u16::wrapping_mul": 11172 + }, + "name": "unchecked_mul", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95491,7 +94105,7 @@ "11174": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -95504,7 +94118,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((u64::MAX - 2).checked_add(1), Some(u64::MAX - 1));\nassert_eq!((u64::MAX - 2).checked_add(3), None);\n```", + "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u16.checked_div(2), Some(64));\nassert_eq!(1u16.checked_div(0), None);\n```", "id": 11174, "inner": { "function": { @@ -95530,7 +94144,7 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], @@ -95542,7 +94156,7 @@ "args": [ { "type": { - "primitive": "u64" + "primitive": "u16" } } ], @@ -95557,14 +94171,14 @@ } }, "links": {}, - "name": "checked_add", + "name": "checked_div", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95574,10 +94188,10 @@ "11175": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -95590,7 +94204,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((u64::MAX - 2).strict_add(1), u64::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (u64::MAX - 2).strict_add(3);\n```", + "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u16).strict_div(0);\n```", "id": 11175, "inner": { "function": { @@ -95616,26 +94230,26 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "strict_add", + "name": "strict_div", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95645,10 +94259,10 @@ "11176": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -95658,7 +94272,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200u64.wrapping_add(55), 255);\nassert_eq!(200u64.wrapping_add(u64::MAX), 199);\n```", + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u16.checked_div_euclid(2), Some(64));\nassert_eq!(1u16.checked_div_euclid(0), None);\n```", "id": 11176, "inner": { "function": { @@ -95684,26 +94298,41 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "wrapping_add", + "name": "checked_div_euclid", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95713,10 +94342,10 @@ "11177": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -95729,7 +94358,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > u64::MAX` or `self + rhs < u64::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: u64::checked_add\n[`wrapping_add`]: u64::wrapping_add", + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u16).strict_div_euclid(0);\n```", "id": 11177, "inner": { "function": { @@ -95742,7 +94371,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -95755,29 +94384,26 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, - "links": { - "u64::checked_add": 11174, - "u64::wrapping_add": 11176 - }, - "name": "unchecked_add", + "links": {}, + "name": "strict_div_euclid", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95787,10 +94413,7 @@ "11178": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { @@ -95800,7 +94423,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u64.checked_add_signed(2), Some(3));\nassert_eq!(1u64.checked_add_signed(-2), None);\nassert_eq!((u64::MAX - 2).checked_add_signed(3), None);\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u16.checked_exact_div(2), Some(32));\nassert_eq!(64u16.checked_exact_div(32), Some(2));\nassert_eq!(64u16.checked_exact_div(0), None);\nassert_eq!(65u16.checked_exact_div(2), None);\n```", "id": 11178, "inner": { "function": { @@ -95826,7 +94449,7 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u16" } ] ], @@ -95838,7 +94461,7 @@ "args": [ { "type": { - "primitive": "u64" + "primitive": "u16" } } ], @@ -95853,14 +94476,14 @@ } }, "links": {}, - "name": "checked_add_signed", + "name": "checked_exact_div", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95870,23 +94493,17 @@ "11179": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u64.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u64.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (u64::MAX - 2).strict_add_signed(3);\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u16.exact_div(2), 32);\nassert_eq!(64u16.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65u16.exact_div(2);\n```", "id": 11179, "inner": { "function": { @@ -95912,26 +94529,26 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "strict_add_signed", + "name": "exact_div", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -95988,10 +94605,7 @@ "11180": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { @@ -96001,7 +94615,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u64.checked_sub(1), Some(0));\nassert_eq!(0u64.checked_sub(1), None);\n```", + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", "id": 11180, "inner": { "function": { @@ -96014,7 +94628,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -96027,41 +94641,28 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, - "links": {}, - "name": "checked_sub", + "links": { + "Self::checked_exact_div": 11178 + }, + "name": "unchecked_exact_div", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -96071,23 +94672,20 @@ "11181": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u64.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0u64.strict_sub(1);\n```", + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u16.checked_rem(2), Some(1));\nassert_eq!(5u16.checked_rem(0), None);\n```", "id": 11181, "inner": { "function": { @@ -96113,26 +94711,41 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_sub", + "name": "checked_rem", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -96142,20 +94755,23 @@ "11182": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100u64.wrapping_sub(100), 0);\nassert_eq!(100u64.wrapping_sub(u64::MAX), 101);\n```", + "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u16.strict_rem(0);\n```", "id": 11182, "inner": { "function": { @@ -96181,26 +94797,26 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "wrapping_sub", + "name": "strict_rem", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -96210,95 +94826,21 @@ "11183": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > u64::MAX` or `self - rhs < u64::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: u64::checked_sub\n[`wrapping_sub`]: u64::wrapping_sub", + "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u16.checked_rem_euclid(2), Some(1));\nassert_eq!(5u16.checked_rem_euclid(0), None);\n```", "id": 11183, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u64" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u64" - } - } - } - }, - "links": { - "u64::checked_sub": 11180, - "u64::wrapping_sub": 11182 - }, - "name": "unchecked_sub", - "span": { - "begin": [ - 1151, - 5 - ], - "end": [ - 1169, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11184": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u64.checked_sub_signed(2), None);\nassert_eq!(1u64.checked_sub_signed(-2), Some(3));\nassert_eq!((u64::MAX - 2).checked_sub_signed(-4), None);\n```", - "id": 11184, "inner": { "function": { "generics": { @@ -96323,7 +94865,7 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u16" } ] ], @@ -96335,7 +94877,7 @@ "args": [ { "type": { - "primitive": "u64" + "primitive": "u16" } } ], @@ -96350,27 +94892,27 @@ } }, "links": {}, - "name": "checked_sub_signed", + "name": "checked_rem_euclid", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11185": { + "11184": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -96383,8 +94925,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3u64.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u64.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (u64::MAX).strict_sub_signed(-1);\n```", - "id": 11185, + "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u16.strict_rem_euclid(0);\n```", + "id": 11184, "inner": { "function": { "generics": { @@ -96409,45 +94951,45 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "strict_sub_signed", + "name": "strict_rem_euclid", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11186": { + "11185": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`i64`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10u64.checked_signed_diff(2), Some(8));\nassert_eq!(2u64.checked_signed_diff(10), Some(-8));\nassert_eq!(u64::MAX.checked_signed_diff(i64::MAX as u64), None);\nassert_eq!((i64::MAX as u64).checked_signed_diff(u64::MAX), Some(i64::MIN));\nassert_eq!((i64::MAX as u64 + 1).checked_signed_diff(0), None);\nassert_eq!(u64::MAX.checked_signed_diff(u64::MAX), Some(0));\n```", - "id": 11186, + "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_u16.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", + "id": 11185, "inner": { "function": { "generics": { @@ -96459,7 +95001,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -96470,69 +95012,55 @@ } ], [ - "rhs", + "other", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, - "links": { - "`i64`": 4822 - }, - "name": "checked_signed_diff", + "links": {}, + "name": "unchecked_disjoint_bitor", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11187": { + "11186": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5u64.checked_mul(1), Some(5));\nassert_eq!(u64::MAX.checked_mul(2), None);\n```", - "id": 11187, + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5u16.ilog(5), 1);\n```", + "id": 11186, "inner": { "function": { "generics": { @@ -96555,56 +95083,41 @@ } ], [ - "rhs", + "base", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_mul", + "name": "ilog", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11188": { + "11187": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -96617,7 +95130,69 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5u64.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = u64::MAX.strict_mul(2);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10u16.ilog10(), 1);\n```", + "id": 11187, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "ilog10", + "span": { + "begin": [ + 1084, + 5 + ], + "end": [ + 1105, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11188": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5u16.checked_ilog(5), Some(1));\n```", "id": 11188, "inner": { "function": { @@ -96641,28 +95216,43 @@ } ], [ - "rhs", + "base", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_mul", + "name": "checked_ilog", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -96672,10 +95262,10 @@ "11189": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -96685,7 +95275,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2u16.checked_ilog2(), Some(1));\n```", "id": 11189, "inner": { "function": { @@ -96707,30 +95297,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "wrapping_mul", + "name": "checked_ilog2", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -96807,7 +95406,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -96830,23 +95429,20 @@ "11190": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > u64::MAX` or `self * rhs < u64::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: u64::checked_mul\n[`wrapping_mul`]: u64::wrapping_mul", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10u16.checked_ilog10(), Some(1));\n```", "id": 11190, "inner": { "function": { @@ -96859,7 +95455,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -96868,33 +95464,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "u64::checked_mul": 11187, - "u64::wrapping_mul": 11189 - }, - "name": "unchecked_mul", + "links": {}, + "name": "checked_ilog10", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -96904,10 +95506,10 @@ "11191": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -96917,7 +95519,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u64.checked_div(2), Some(64));\nassert_eq!(1u64.checked_div(0), None);\n```", + "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0u16.checked_neg(), Some(0));\nassert_eq!(1u16.checked_neg(), None);\n```", "id": 11191, "inner": { "function": { @@ -96939,12 +95541,6 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, @@ -96955,7 +95551,7 @@ "args": [ { "type": { - "primitive": "u64" + "primitive": "u16" } } ], @@ -96970,14 +95566,14 @@ } }, "links": {}, - "name": "checked_div", + "name": "checked_neg", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -96987,10 +95583,10 @@ "11192": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -97003,7 +95599,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u64).strict_div(0);\n```", + "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0u16.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1u16.strict_neg();\n```", "id": 11192, "inner": { "function": { @@ -97025,30 +95621,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "strict_div", + "name": "strict_neg", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97058,10 +95648,10 @@ "11193": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -97071,7 +95661,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u64.checked_div_euclid(2), Some(64));\nassert_eq!(1u64.checked_div_euclid(0), None);\n```", + "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1u16.checked_shl(4), Some(0x10));\nassert_eq!(0x10u16.checked_shl(129), None);\nassert_eq!(0x10u16.checked_shl(15), Some(0));\n```", "id": 11193, "inner": { "function": { @@ -97097,7 +95687,7 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], @@ -97109,7 +95699,7 @@ "args": [ { "type": { - "primitive": "u64" + "primitive": "u16" } } ], @@ -97124,14 +95714,14 @@ } }, "links": {}, - "name": "checked_div_euclid", + "name": "checked_shl", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97141,10 +95731,10 @@ "11194": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -97157,7 +95747,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u64).strict_div_euclid(0);\n```", + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1u16.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u16.strict_shl(129);\n```", "id": 11194, "inner": { "function": { @@ -97183,26 +95773,26 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "strict_div_euclid", + "name": "strict_shl", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97212,17 +95802,20 @@ "11195": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u64.checked_exact_div(2), Some(32));\nassert_eq!(64u64.checked_exact_div(32), Some(2));\nassert_eq!(64u64.checked_exact_div(0), None);\nassert_eq!(65u64.checked_exact_div(2), None);\n```", + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: u16::checked_shl", "id": 11195, "inner": { "function": { @@ -97235,7 +95828,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -97248,41 +95841,28 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, - "links": {}, - "name": "checked_exact_div", + "links": { + "u16::checked_shl": 11193 + }, + "name": "unchecked_shl", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97292,7 +95872,10 @@ "11196": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { @@ -97302,7 +95885,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u64.exact_div(2), 32);\nassert_eq!(64u64.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65u64.exact_div(2);\n```", + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1u16.unbounded_shl(4), 0x10);\nassert_eq!(0x1u16.unbounded_shl(129), 0);\n```", "id": 11196, "inner": { "function": { @@ -97328,26 +95911,26 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "exact_div", + "name": "unbounded_shl", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97357,7 +95940,7 @@ "11197": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -97367,7 +95950,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`u16::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1u16.exact_shl(4), Some(0x10));\nassert_eq!(0x1u16.exact_shl(129), None);\n```", "id": 11197, "inner": { "function": { @@ -97380,7 +95963,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -97393,28 +95976,41 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "Self::checked_exact_div": 11195 - }, - "name": "unchecked_exact_div", + "links": {}, + "name": "exact_shl", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97424,10 +96020,7 @@ "11198": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -97437,7 +96030,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u64.checked_rem(2), Some(1));\nassert_eq!(5u64.checked_rem(0), None);\n```", + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed `rhs` cannot be larger than\n`u16::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.leading_zeros() || rhs >=\nu16::BITS`\ni.e. when\n[`u16::exact_shl`]\nwould return `None`.", "id": 11198, "inner": { "function": { @@ -97450,7 +96043,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -97463,41 +96056,28 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, - "links": {}, - "name": "checked_rem", + "links": { + "`u16::exact_shl`": 11197 + }, + "name": "unchecked_exact_shl", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97507,23 +96087,20 @@ "11199": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u64.strict_rem(0);\n```", + "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10u16.checked_shr(4), Some(0x1));\nassert_eq!(0x10u16.checked_shr(129), None);\n```", "id": 11199, "inner": { "function": { @@ -97549,26 +96126,41 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_rem", + "name": "checked_shr", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97633,11 +96225,11 @@ "name": "Item", "span": { "begin": [ - 2219, + 2214, 5 ], "end": [ - 2219, + 2214, 19 ], "filename": "std/src/collections/hash/map.rs" @@ -97647,20 +96239,23 @@ "11200": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u64.checked_rem_euclid(2), Some(1));\nassert_eq!(5u64.checked_rem_euclid(0), None);\n```", + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10u16.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u16.strict_shr(129);\n```", "id": 11200, "inner": { "function": { @@ -97686,41 +96281,26 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, "links": {}, - "name": "checked_rem_euclid", + "name": "strict_shr", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97730,10 +96310,7 @@ "11201": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { @@ -97746,7 +96323,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u64.strict_rem_euclid(0);\n```", + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: u16::checked_shr", "id": 11201, "inner": { "function": { @@ -97759,7 +96336,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -97772,26 +96349,28 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, - "links": {}, - "name": "strict_rem_euclid", + "links": { + "u16::checked_shr": 11199 + }, + "name": "unchecked_shr", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97801,15 +96380,20 @@ "11202": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_u64.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10u16.unbounded_shr(4), 0x1);\nassert_eq!(0x10u16.unbounded_shr(129), 0);\n```", "id": 11202, "inner": { "function": { @@ -97822,7 +96406,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -97833,28 +96417,28 @@ } ], [ - "other", + "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "unchecked_disjoint_bitor", + "name": "unbounded_shr", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97864,23 +96448,17 @@ "11203": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5u64.ilog(5), 1);\n```", + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`u16::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10u16.exact_shr(4), Some(0x1));\nassert_eq!(0x10u16.exact_shr(5), None);\n```", "id": 11203, "inner": { "function": { @@ -97904,28 +96482,43 @@ } ], [ - "base", + "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "ilog", + "name": "exact_shr", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -97935,23 +96528,17 @@ "11204": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10u64.ilog10(), 1);\n```", + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`u16::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\nu16::BITS`\ni.e. when\n[`u16::exact_shr`]\nwould return `None`.", "id": 11204, "inner": { "function": { @@ -97964,7 +96551,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -97973,24 +96560,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u16" } } } }, - "links": {}, - "name": "ilog10", + "links": { + "`u16::exact_shr`": 11203 + }, + "name": "unchecked_exact_shr", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98000,10 +96595,10 @@ "11205": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -98013,7 +96608,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5u64.checked_ilog(5), Some(1));\n```", + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2u16.checked_pow(5), Some(32));\nassert_eq!(u16::MAX.checked_pow(2), None);\n```", "id": 11205, "inner": { "function": { @@ -98037,9 +96632,9 @@ } ], [ - "base", + "exp", { - "primitive": "u64" + "primitive": "u32" } ] ], @@ -98051,7 +96646,7 @@ "args": [ { "type": { - "primitive": "u32" + "primitive": "u16" } } ], @@ -98066,14 +96661,14 @@ } }, "links": {}, - "name": "checked_ilog", + "name": "checked_pow", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98083,20 +96678,23 @@ "11206": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2u64.checked_ilog2(), Some(1));\n```", + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2u16.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = u16::MAX.strict_pow(2);\n```", "id": 11206, "inner": { "function": { @@ -98118,39 +96716,30 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, "links": {}, - "name": "checked_ilog2", + "name": "strict_pow", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98160,10 +96749,10 @@ "11207": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -98173,7 +96762,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10u64.checked_ilog10(), Some(1));\n```", + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u16.saturating_add(1), 101);\nassert_eq!(u16::MAX.saturating_add(127), u16::MAX);\n```", "id": 11207, "inner": { "function": { @@ -98195,39 +96784,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, "links": {}, - "name": "checked_ilog10", + "name": "saturating_add", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98237,10 +96817,10 @@ "11208": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -98250,7 +96830,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0u64.checked_neg(), Some(0));\nassert_eq!(1u64.checked_neg(), None);\n```", + "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u16.saturating_add_signed(2), 3);\nassert_eq!(1u16.saturating_add_signed(-2), 0);\nassert_eq!((u16::MAX - 2).saturating_add_signed(4), u16::MAX);\n```", "id": 11208, "inner": { "function": { @@ -98272,39 +96852,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i16" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, "links": {}, - "name": "checked_neg", + "name": "saturating_add_signed", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98314,23 +96885,20 @@ "11209": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0u64.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1u64.strict_neg();\n", + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u16.saturating_sub(27), 73);\nassert_eq!(13u16.saturating_sub(127), 0);\n```", "id": 11209, "inner": { "function": { @@ -98352,24 +96920,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "strict_neg", + "name": "saturating_sub", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98440,11 +97014,11 @@ "name": "next", "span": { "begin": [ - 2222, + 2217, 5 ], "end": [ - 2224, + 2219, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -98454,10 +97028,10 @@ "11210": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -98467,7 +97041,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1u64.checked_shl(4), Some(0x10));\nassert_eq!(0x10u64.checked_shl(129), None);\nassert_eq!(0x10u64.checked_shl(63), Some(0));\n```", + "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u16.saturating_sub_signed(2), 0);\nassert_eq!(1u16.saturating_sub_signed(-2), 3);\nassert_eq!((u16::MAX - 2).saturating_sub_signed(-4), u16::MAX);\n```", "id": 11210, "inner": { "function": { @@ -98493,41 +97067,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, "links": {}, - "name": "checked_shl", + "name": "saturating_sub_signed", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98537,23 +97096,20 @@ "11211": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1u64.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u64.strict_shl(129);\n```", + "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2u16.saturating_mul(10), 20);\nassert_eq!((u16::MAX).saturating_mul(10), u16::MAX);\n```", "id": 11211, "inner": { "function": { @@ -98579,26 +97135,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "strict_shl", + "name": "saturating_mul", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98608,7 +97164,10 @@ "11212": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" }, { "must_use": { @@ -98621,7 +97180,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: u64::checked_shl", + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u16.saturating_div(2), 2);\n\n```", "id": 11212, "inner": { "function": { @@ -98634,7 +97193,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -98647,28 +97206,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, - "links": { - "u64::checked_shl": 11210 - }, - "name": "unchecked_shl", + "links": {}, + "name": "saturating_div", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98678,10 +97235,10 @@ "11213": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -98691,7 +97248,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1u64.unbounded_shl(4), 0x10);\nassert_eq!(0x1u64.unbounded_shl(129), 0);\n```", + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4u16.saturating_pow(3), 64);\nassert_eq!(u16::MAX.saturating_pow(2), u16::MAX);\n```", "id": 11213, "inner": { "function": { @@ -98715,7 +97272,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -98723,20 +97280,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "unbounded_shl", + "name": "saturating_pow", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98746,10 +97303,10 @@ "11214": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -98759,7 +97316,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10u64.checked_shr(4), Some(0x1));\nassert_eq!(0x10u64.checked_shr(129), None);\n```", + "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u16.wrapping_add_signed(2), 3);\nassert_eq!(1u16.wrapping_add_signed(-2), u16::MAX);\nassert_eq!((u16::MAX - 2).wrapping_add_signed(4), 1);\n```", "id": 11214, "inner": { "function": { @@ -98785,41 +97342,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, "links": {}, - "name": "checked_shr", + "name": "wrapping_add_signed", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98829,23 +97371,20 @@ "11215": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10u64.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u64.strict_shr(129);\n```", + "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u16.wrapping_sub_signed(2), u16::MAX);\nassert_eq!(1u16.wrapping_sub_signed(-2), 3);\nassert_eq!((u16::MAX - 2).wrapping_sub_signed(-4), 1);\n```", "id": 11215, "inner": { "function": { @@ -98871,26 +97410,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "strict_shr", + "name": "wrapping_sub_signed", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98900,7 +97439,10 @@ "11216": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -98913,7 +97455,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: u64::checked_shr", + "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.wrapping_div(10), 10);\n```", "id": 11216, "inner": { "function": { @@ -98926,7 +97468,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -98939,28 +97481,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, - "links": { - "u64::checked_shr": 11214 - }, - "name": "unchecked_shr", + "links": {}, + "name": "wrapping_div", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -98970,20 +97510,23 @@ "11217": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10u64.unbounded_shr(4), 0x1);\nassert_eq!(0x10u64.unbounded_shr(129), 0);\n```", + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.wrapping_div_euclid(10), 10);\n```", "id": 11217, "inner": { "function": { @@ -99009,26 +97552,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "unbounded_shr", + "name": "wrapping_div_euclid", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -99038,20 +97581,23 @@ "11218": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2u64.checked_pow(5), Some(32));\nassert_eq!(u64::MAX.checked_pow(2), None);\n```", + "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.wrapping_rem(10), 0);\n```", "id": 11218, "inner": { "function": { @@ -99075,43 +97621,28 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, "links": {}, - "name": "checked_pow", + "name": "wrapping_rem", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -99121,10 +97652,10 @@ "11219": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -99137,7 +97668,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2u64.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = u64::MAX.strict_pow(2);\n```", + "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u16.wrapping_rem_euclid(10), 0);\n```", "id": 11219, "inner": { "function": { @@ -99161,28 +97692,28 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "strict_pow", + "name": "wrapping_rem_euclid", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -99260,11 +97791,11 @@ "name": "size_hint", "span": { "begin": [ - 2226, + 2221, 5 ], "end": [ - 2228, + 2223, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -99274,10 +97805,10 @@ "11220": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -99287,7 +97818,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u64.saturating_add(1), 101);\nassert_eq!(u64::MAX.saturating_add(127), u64::MAX);\n```", + "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_u16.wrapping_neg(), 0);\nassert_eq!(u16::MAX.wrapping_neg(), 1);\nassert_eq!(13_u16.wrapping_neg(), (!13) + 1);\nassert_eq!(42_u16.wrapping_neg(), !(42 - 1));\n```", "id": 11220, "inner": { "function": { @@ -99309,30 +97840,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "saturating_add", + "name": "wrapping_neg", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -99342,10 +97867,10 @@ "11221": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -99355,7 +97880,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u64.saturating_add_signed(2), 3);\nassert_eq!(1u64.saturating_add_signed(-2), 0);\nassert_eq!((u64::MAX - 2).saturating_add_signed(4), u64::MAX);\n```", + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1u16.wrapping_shl(7), 128);\nassert_eq!(1u16.wrapping_shl(128), 1);\n```", "id": 11221, "inner": { "function": { @@ -99381,26 +97906,28 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, - "links": {}, - "name": "saturating_add_signed", + "links": { + "Self::rotate_left": 11147 + }, + "name": "wrapping_shl", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -99410,10 +97937,10 @@ "11222": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -99423,7 +97950,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u64.saturating_sub(27), 73);\nassert_eq!(13u64.saturating_sub(127), 0);\n```", + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128u16.wrapping_shr(7), 1);\nassert_eq!(128u16.wrapping_shr(128), 128);\n```", "id": 11222, "inner": { "function": { @@ -99449,26 +97976,28 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, - "links": {}, - "name": "saturating_sub", + "links": { + "Self::rotate_right": 11148 + }, + "name": "wrapping_shr", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -99478,10 +98007,10 @@ "11223": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -99491,7 +98020,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u64.saturating_sub_signed(2), 0);\nassert_eq!(1u64.saturating_sub_signed(-2), 3);\nassert_eq!((u64::MAX - 2).saturating_sub_signed(-4), u64::MAX);\n```", + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3u16.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", "id": 11223, "inner": { "function": { @@ -99515,28 +98044,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "i64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "saturating_sub_signed", + "name": "wrapping_pow", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -99546,7 +98075,7 @@ "11224": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -99559,7 +98088,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2u64.saturating_mul(10), 20);\nassert_eq!((u64::MAX).saturating_mul(10), u64::MAX);\n```", + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_add(2), (7, false));\nassert_eq!(u16::MAX.overflowing_add(1), (0, true));\n```", "id": 11224, "inner": { "function": { @@ -99585,26 +98114,33 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "saturating_mul", + "name": "overflowing_add", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -99614,23 +98150,20 @@ "11225": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u64.saturating_div(2), 2);\n\n```", + "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u16.overflowing_add_signed(2), (3, false));\nassert_eq!(1u16.overflowing_add_signed(-2), (u16::MAX, true));\nassert_eq!((u16::MAX - 2).overflowing_add_signed(4), (1, true));\n```", "id": 11225, "inner": { "function": { @@ -99656,26 +98189,33 @@ [ "rhs", { - "primitive": "u64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "saturating_div", + "name": "overflowing_add_signed", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -99685,10 +98225,10 @@ "11226": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -99698,7 +98238,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4u64.saturating_pow(3), 64);\nassert_eq!(u64::MAX.saturating_pow(2), u64::MAX);\n```", + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_sub(2), (3, false));\nassert_eq!(0u16.overflowing_sub(1), (u16::MAX, true));\n```", "id": 11226, "inner": { "function": { @@ -99722,103 +98262,42 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" - } - } - } - }, - "links": {}, - "name": "saturating_pow", - "span": { - "begin": [ - 1151, - 5 - ], - "end": [ - 1169, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11227": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u64.wrapping_add_signed(2), 3);\nassert_eq!(1u64.wrapping_add_signed(-2), u64::MAX);\nassert_eq!((u64::MAX - 2).wrapping_add_signed(4), 1);\n```", - "id": 11227, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", + "tuple": [ { - "generic": "Self" - } - ], - [ - "rhs", + "primitive": "u16" + }, { - "primitive": "i64" + "primitive": "bool" } ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u64" } } } }, "links": {}, - "name": "wrapping_add_signed", + "name": "overflowing_sub", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11228": { + "11227": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" @@ -99834,8 +98313,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u64.wrapping_sub_signed(2), u64::MAX);\nassert_eq!(1u64.wrapping_sub_signed(-2), 3);\nassert_eq!((u64::MAX - 2).wrapping_sub_signed(-4), 1);\n```", - "id": 11228, + "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u16.overflowing_sub_signed(2), (u16::MAX, true));\nassert_eq!(1u16.overflowing_sub_signed(-2), (3, false));\nassert_eq!((u16::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", + "id": 11227, "inner": { "function": { "generics": { @@ -99860,52 +98339,124 @@ [ "rhs", { - "primitive": "i64" + "primitive": "i16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "wrapping_sub_signed", + "name": "overflowing_sub_signed", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11229": { + "11228": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100u16.abs_diff(80), 20u16);\nassert_eq!(100u16.abs_diff(110), 10u16);\n```", + "id": 11228, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "other", + { + "primitive": "u16" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u16" + } + } + } + }, + "links": {}, + "name": "abs_diff", + "span": { + "begin": [ + 1084, + 5 + ], + "end": [ + 1105, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11229": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.wrapping_div(10), 10);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you also need to add a value, then use [`Self::carrying_mul_add`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(u16::MAX.carrying_mul(u16::MAX, u16::MAX), (0, u16::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", "id": 11229, "inner": { "function": { @@ -99931,26 +98482,44 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" + } + ], + [ + "carry", + { + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "u16" + } + ] } } } }, - "links": {}, - "name": "wrapping_div", + "links": { + "Self::overflowing_mul": 11230, + "Self::wrapping_add": 11159, + "Self::wrapping_mul": 11172, + "`Self::carrying_mul_add`": 11231 + }, + "name": "carrying_mul", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100000,11 +98569,11 @@ "name": "count", "span": { "begin": [ - 2230, + 2225, 5 ], "end": [ - 2232, + 2227, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -100014,23 +98583,20 @@ "11230": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.wrapping_div_euclid(10), 10);\n```", + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\nIf you want the *value* of the overflow, rather than just *whether*\nan overflow occurred, see [`Self::carrying_mul`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", "id": 11230, "inner": { "function": { @@ -100056,26 +98622,35 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "wrapping_div_euclid", + "links": { + "`Self::carrying_mul`": 11229 + }, + "name": "overflowing_mul", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100085,23 +98660,20 @@ "11231": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.wrapping_rem(10), 0);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nThis cannot overflow, as the double-width result has exactly enough\nspace for the largest possible result. This is equivalent to how, in\ndecimal, 9 × 9 + 9 + 9 = 81 + 18 = 99 = 9×10⁰ + 9×10¹ = 10² - 1.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `add` part, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(u16::MAX.carrying_mul_add(u16::MAX, u16::MAX, u16::MAX), (u16::MAX, u16::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xcffc982d);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xcffc982d)\n);\n```", "id": 11231, "inner": { "function": { @@ -100127,26 +98699,47 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" + } + ], + [ + "carry", + { + "primitive": "u16" + } + ], + [ + "add", + { + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "u16" + } + ] } } } }, - "links": {}, - "name": "wrapping_rem", + "links": { + "`Self::carrying_mul`": 11229 + }, + "name": "carrying_mul_add", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100156,23 +98749,20 @@ "11232": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.wrapping_rem_euclid(10), 0);\n```", + "docs": "Calculates the complete double-width product `self * rhs`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order. As such,\n`a.widening_mul(b).0` produces the same result as `a.wrapping_mul(b)`.\n\nIf you also need to add a value and carry to the wide result, then you want\n[`Self::carrying_mul_add`] instead.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\nIf you just want to know *whether* the multiplication overflowed, then you\nwant [`Self::overflowing_mul`] instead.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5_u16.widening_mul(7), (35, 0));\nassert_eq!(u16::MAX.widening_mul(u16::MAX), (1, u16::MAX - 1));\n```\n\nCompared to other `*_mul` methods:\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(u16::widening_mul(1 << 15, 6), (0, 3));\nassert_eq!(u16::overflowing_mul(1 << 15, 6), (0, true));\nassert_eq!(u16::wrapping_mul(1 << 15, 6), 0);\nassert_eq!(u16::checked_mul(1 << 15, 6), None);\n```\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", "id": 11232, "inner": { "function": { @@ -100198,26 +98788,37 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "u16" + } + ] } } } }, - "links": {}, - "name": "wrapping_rem_euclid", + "links": { + "`Self::carrying_mul_add`": 11231, + "`Self::carrying_mul`": 11229, + "`Self::overflowing_mul`": 11230 + }, + "name": "widening_mul", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100227,20 +98828,23 @@ "11233": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_u64.wrapping_neg(), 0);\nassert_eq!(u64::MAX.wrapping_neg(), 1);\nassert_eq!(13_u64.wrapping_neg(), (!13) + 1);\nassert_eq!(42_u64.wrapping_neg(), !(42 - 1));\n```", + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_div(2), (2, false));\n```", "id": 11233, "inner": { "function": { @@ -100262,24 +98866,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "wrapping_neg", + "name": "overflowing_div", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100289,20 +98906,23 @@ "11234": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1u64.wrapping_shl(7), 128);\nassert_eq!(1u64.wrapping_shl(128), 1);\n```", + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_div_euclid(2), (2, false));\n```", "id": 11234, "inner": { "function": { @@ -100328,28 +98948,33 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "Self::rotate_left": 11166 - }, - "name": "wrapping_shl", + "links": {}, + "name": "overflowing_div_euclid", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100359,20 +98984,23 @@ "11235": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128u64.wrapping_shr(7), 1);\nassert_eq!(128u64.wrapping_shr(128), 128);\n```", + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_rem(2), (1, false));\n```", "id": 11235, "inner": { "function": { @@ -100398,28 +99026,33 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": { - "Self::rotate_right": 11167 - }, - "name": "wrapping_shr", + "links": {}, + "name": "overflowing_rem", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100429,20 +99062,23 @@ "11236": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3u64.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", + "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u16.overflowing_rem_euclid(2), (1, false));\n```", "id": 11236, "inner": { "function": { @@ -100466,28 +99102,35 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "tuple": [ + { + "primitive": "u16" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "wrapping_pow", + "name": "overflowing_rem_euclid", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100510,7 +99153,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_add(2), (7, false));\nassert_eq!(u64::MAX.overflowing_add(1), (0, true));\n```", + "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0u16.overflowing_neg(), (0, false));\nassert_eq!(2u16.overflowing_neg(), (-2i32 as u16, true));\n```", "id": 11237, "inner": { "function": { @@ -100532,19 +99175,13 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { "tuple": [ { - "primitive": "u64" + "primitive": "u16" }, { "primitive": "bool" @@ -100555,14 +99192,14 @@ } }, "links": {}, - "name": "overflowing_add", + "name": "overflowing_neg", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100572,10 +99209,10 @@ "11238": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -100585,7 +99222,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u64.overflowing_add_signed(2), (3, false));\nassert_eq!(1u64.overflowing_add_signed(-2), (u64::MAX, true));\nassert_eq!((u64::MAX - 2).overflowing_add_signed(4), (1, true));\n```", + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1u16.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1u16.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10u16.overflowing_shl(15), (0, false));\n```", "id": 11238, "inner": { "function": { @@ -100611,7 +99248,7 @@ [ "rhs", { - "primitive": "i64" + "primitive": "u32" } ] ], @@ -100619,7 +99256,7 @@ "output": { "tuple": [ { - "primitive": "u64" + "primitive": "u16" }, { "primitive": "bool" @@ -100630,14 +99267,14 @@ } }, "links": {}, - "name": "overflowing_add_signed", + "name": "overflowing_shl", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100660,7 +99297,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_sub(2), (3, false));\nassert_eq!(0u64.overflowing_sub(1), (u64::MAX, true));\n```", + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10u16.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10u16.overflowing_shr(132), (0x1, true));\n```", "id": 11239, "inner": { "function": { @@ -100686,7 +99323,7 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u32" } ] ], @@ -100694,7 +99331,7 @@ "output": { "tuple": [ { - "primitive": "u64" + "primitive": "u16" }, { "primitive": "bool" @@ -100705,14 +99342,14 @@ } }, "links": {}, - "name": "overflowing_sub", + "name": "overflowing_shr", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100863,11 +99500,11 @@ "name": "fold", "span": { "begin": [ - 2234, + 2229, 5 ], "end": [ - 2240, + 2235, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -100877,10 +99514,10 @@ "11240": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -100890,7 +99527,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u64.overflowing_sub_signed(2), (u64::MAX, true));\nassert_eq!(1u64.overflowing_sub_signed(-2), (3, false));\nassert_eq!((u64::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3u16.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", "id": 11240, "inner": { "function": { @@ -100914,9 +99551,9 @@ } ], [ - "rhs", + "exp", { - "primitive": "i64" + "primitive": "u32" } ] ], @@ -100924,7 +99561,7 @@ "output": { "tuple": [ { - "primitive": "u64" + "primitive": "u16" }, { "primitive": "bool" @@ -100935,14 +99572,14 @@ } }, "links": {}, - "name": "overflowing_sub_signed", + "name": "overflowing_pow", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -100952,10 +99589,10 @@ "11241": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -100965,7 +99602,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100u64.abs_diff(80), 20u64);\nassert_eq!(100u64.abs_diff(110), 10u64);\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2u16.pow(5), 32);\n```", "id": 11241, "inner": { "function": { @@ -100989,28 +99626,28 @@ } ], [ - "other", + "exp", { - "primitive": "u64" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "abs_diff", + "name": "pow", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -101020,10 +99657,10 @@ "11242": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { @@ -101033,7 +99670,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why why `u32`\nis used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", + "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10u16.isqrt(), 3);\n```", "id": 11242, "inner": { "function": { @@ -101055,37 +99692,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u16" } } } }, "links": {}, - "name": "overflowing_mul", + "name": "isqrt", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -101095,20 +99719,23 @@ "11243": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(u64::MAX.carrying_mul(u64::MAX, u64::MAX), (0, u64::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", + "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u16.div_euclid(4), 1); // or any other integer type\n```", "id": 11243, "inner": { "function": { @@ -101134,44 +99761,26 @@ [ "rhs", { - "primitive": "u64" - } - ], - [ - "carry", - { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "u64" - } - ] + "primitive": "u16" } } } }, - "links": { - "Self::overflowing_mul": 11242, - "Self::wrapping_add": 11176, - "Self::wrapping_mul": 11189, - "`Self::widening_mul`": 11244 - }, - "name": "carrying_mul", + "links": {}, + "name": "div_euclid", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -101181,98 +99790,27 @@ "11244": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", - "id": 11244, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u64" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "u64" - } - ] - } - } - } - }, - "links": { - "`Self::carrying_mul`": 11243 - }, - "name": "widening_mul", - "span": { - "begin": [ - 1151, - 5 - ], - "end": [ - 1169, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11245": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(u64::MAX.carrying_mul_add(u64::MAX, u64::MAX, u64::MAX), (u64::MAX, u64::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\n#![feature(bigint_helper_methods)]\n\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xCFFC982D);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xCFFC982D)\n);\n```", - "id": 11245, + "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u16.rem_euclid(4), 3); // or any other integer type\n```", + "id": 11244, "inner": { "function": { "generics": { @@ -101297,61 +99835,36 @@ [ "rhs", { - "primitive": "u64" - } - ], - [ - "carry", - { - "primitive": "u64" - } - ], - [ - "add", - { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "u64" - } - ] + "primitive": "u16" } } } }, - "links": { - "`Self::carrying_mul`": 11243, - "`Self::widening_mul`": 11244 - }, - "name": "carrying_mul_add", + "links": {}, + "name": "rem_euclid", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11246": { + "11245": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -101364,8 +99877,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_div(2), (2, false));\n```", - "id": 11246, + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_u16.div_floor(4), 1);\n```", + "id": 11245, "inner": { "function": { "generics": { @@ -101390,46 +99903,39 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u16" } } } }, "links": {}, - "name": "overflowing_div", + "name": "div_floor", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11247": { + "11246": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { @@ -101442,8 +99948,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_div_euclid(2), (2, false));\n```", - "id": 11247, + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_u16.div_ceil(4), 2);\n```", + "id": 11246, "inner": { "function": { "generics": { @@ -101468,33 +99974,94 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "tuple": [ + "primitive": "u16" + } + } + } + }, + "links": {}, + "name": "div_ceil", + "span": { + "begin": [ + 1084, + 5 + ], + "end": [ + 1105, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11247": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_u16.next_multiple_of(8), 16);\nassert_eq!(23_u16.next_multiple_of(8), 24);\n```", + "id": 11247, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", { - "primitive": "u64" - }, + "generic": "Self" + } + ], + [ + "rhs", { - "primitive": "bool" + "primitive": "u16" } ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u16" } } } }, "links": {}, - "name": "overflowing_div_euclid", + "name": "next_multiple_of", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -101504,23 +100071,20 @@ "11248": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_rem(2), (1, false));\n```", + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_u16.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_u16.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_u16.checked_next_multiple_of(0), None);\nassert_eq!(u16::MAX.checked_next_multiple_of(2), None);\n```", "id": 11248, "inner": { "function": { @@ -101546,33 +100110,41 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_rem", + "name": "checked_next_multiple_of", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -101582,23 +100154,20 @@ "11249": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_rem_euclid(2), (1, false));\n```", + "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_u16.is_multiple_of(2));\nassert!(!5_u16.is_multiple_of(2));\n\nassert!(0_u16.is_multiple_of(0));\nassert!(!6_u16.is_multiple_of(0));\n```", "id": 11249, "inner": { "function": { @@ -101624,33 +100193,26 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "is_multiple_of", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -101817,11 +100379,11 @@ "name": null, "span": { "begin": [ - 2218, + 2213, 1 ], "end": [ - 2241, + 2236, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -101831,20 +100393,20 @@ "11250": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0u64.overflowing_neg(), (0, false));\nassert_eq!(2u64.overflowing_neg(), (-2i32 as u64, true));\n```", + "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16u16.is_power_of_two());\nassert!(!10u16.is_power_of_two());\n```", "id": 11250, "inner": { "function": { @@ -101870,27 +100432,20 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "bool" - } - ] + "primitive": "bool" } } } }, "links": {}, - "name": "overflowing_neg", + "name": "is_power_of_two", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -101900,10 +100455,10 @@ "11251": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -101913,7 +100468,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1u64.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1u64.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10u64.overflowing_shl(63), (0, false));\n```", + "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2u16.next_power_of_two(), 2);\nassert_eq!(3u16.next_power_of_two(), 4);\nassert_eq!(0u16.next_power_of_two(), 1);\n```", "id": 11251, "inner": { "function": { @@ -101935,37 +100490,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u16" } } } }, "links": {}, - "name": "overflowing_shl", + "name": "next_power_of_two", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -101975,10 +100517,10 @@ "11252": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -101988,7 +100530,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10u64.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10u64.overflowing_shr(132), (0x1, true));\n```", + "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2u16.checked_next_power_of_two(), Some(2));\nassert_eq!(3u16.checked_next_power_of_two(), Some(4));\nassert_eq!(u16::MAX.checked_next_power_of_two(), None);\n```", "id": 11252, "inner": { "function": { @@ -102010,37 +100552,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } }, - { - "primitive": "bool" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "overflowing_shr", + "name": "checked_next_power_of_two", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -102050,10 +100594,7 @@ "11253": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" }, { "must_use": { @@ -102063,7 +100604,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3u64.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", + "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2u16.wrapping_next_power_of_two(), 2);\nassert_eq!(3u16.wrapping_next_power_of_two(), 4);\nassert_eq!(u16::MAX.wrapping_next_power_of_two(), 0);\n```", "id": 11253, "inner": { "function": { @@ -102085,37 +100626,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u64" - }, - { - "primitive": "bool" - } - ] + "primitive": "u16" } } } }, "links": {}, - "name": "overflowing_pow", + "name": "wrapping_next_power_of_two", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -102125,10 +100653,10 @@ "11254": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -102138,7 +100666,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2u64.pow(5), 32);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234u16.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34]);\n```", "id": 11254, "inner": { "function": { @@ -102160,30 +100688,29 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "pow", + "name": "to_be_bytes", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -102193,10 +100720,10 @@ "11255": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -102206,7 +100733,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10u64.isqrt(), 3);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234u16.to_le_bytes();\nassert_eq!(bytes, [0x34, 0x12]);\n```", "id": 11255, "inner": { "function": { @@ -102232,20 +100759,25 @@ ], "is_c_variadic": false, "output": { - "primitive": "u64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "isqrt", + "name": "to_le_bytes", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -102255,23 +100787,20 @@ "11256": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u64.div_euclid(4), 1); // or any other integer type\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234u16.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34]\n } else {\n [0x34, 0x12]\n }\n);\n```", "id": 11256, "inner": { "function": { @@ -102293,30 +100822,32 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "div_euclid", + "links": { + "Self::to_be_bytes": 11254, + "Self::to_le_bytes": 11255 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -102326,26 +100857,20 @@ "11257": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u64.rem_euclid(4), 3); // or any other integer type\n```", + "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n\n# Examples\n\n```\nlet value = u16::from_be_bytes([0x12, 0x34]);\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_u16(input: &mut &[u8]) -> u16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u16::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11257, "inner": { "function": { @@ -102363,34 +100888,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "rem_euclid", + "name": "from_be_bytes", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -102400,20 +100924,20 @@ "11258": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { - "other": "#[attr = TrackCaller]" + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_u64.div_floor(4), 1);\n```", + "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n\n# Examples\n\n```\nlet value = u16::from_le_bytes([0x34, 0x12]);\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_u16(input: &mut &[u8]) -> u16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u16::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11258, "inner": { "function": { @@ -102431,34 +100955,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, "links": {}, - "name": "div_floor", + "name": "from_le_bytes", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -102468,23 +100991,20 @@ "11259": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_u64.div_ceil(4), 2);\n```", + "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = u16::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34]\n} else {\n [0x34, 0x12]\n});\nassert_eq!(value, 0x1234);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_u16(input: &mut &[u8]) -> u16 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u16::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11259, "inner": { "function": { @@ -102502,34 +101022,36 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "bytes", { - "primitive": "u64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, - "links": {}, - "name": "div_ceil", + "links": { + "Self::from_be_bytes": 11257, + "Self::from_le_bytes": 11258 + }, + "name": "from_ne_bytes", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -102585,11 +101107,11 @@ "name": "len", "span": { "begin": [ - 2245, + 2240, 5 ], "end": [ - 2247, + 2242, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -102599,20 +101121,21 @@ "11260": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"u16_legacy_fn_min_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_u64.next_multiple_of(8), 16);\nassert_eq!(23_u64.next_multiple_of(8), 24);\n```", + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`u16::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", "id": 11260, "inner": { "function": { @@ -102628,36 +101151,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u64" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u16" } } } }, - "links": {}, - "name": "next_multiple_of", + "links": { + "`u16::MIN`": 11131 + }, + "name": "min_value", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -102667,20 +101179,21 @@ "11261": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"u16_legacy_fn_max_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_u64.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_u64.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_u64.checked_next_multiple_of(0), None);\nassert_eq!(u64::MAX.checked_next_multiple_of(2), None);\n```", + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`u16::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", "id": 11261, "inner": { "function": { @@ -102696,51 +101209,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u64" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u16" } } } }, - "links": {}, - "name": "checked_next_multiple_of", + "links": { + "`u16::MAX`": 11132 + }, + "name": "max_value", "span": { "begin": [ - 1151, + 1084, 5 ], "end": [ - 1169, + 1105, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -102750,20 +101237,26 @@ "11262": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" + "other": "#[doc(alias = \"average_floor\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\"}}]" + "other": "#[doc(alias = \"average\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_u64.is_multiple_of(2));\nassert!(!5_u64.is_multiple_of(2));\n\nassert!(0_u64.is_multiple_of(0));\nassert!(!6_u64.is_multiple_of(0));\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0u16.midpoint(4), 2);\nassert_eq!(1u16.midpoint(4), 2);\n```", "id": 11262, "inner": { "function": { @@ -102789,27 +101282,27 @@ [ "rhs", { - "primitive": "u64" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "u16" } } } }, "links": {}, - "name": "is_multiple_of", + "name": "midpoint", "span": { "begin": [ - 1151, + 1106, 5 ], "end": [ - 1169, - 6 + 1106, + 42 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -102818,10 +101311,7 @@ "11263": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 94919, is_soft: false}, feature: \"utf16_extra\"}}]" }, { "must_use": { @@ -102831,7 +101321,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16u64.is_power_of_two());\nassert!(!10u64.is_power_of_two());\n```", + "docs": "Checks if the value is a Unicode surrogate code point, which are disallowed values for [`char`].\n\n# Examples\n\n```\n#![feature(utf16_extra)]\n\nlet low_non_surrogate = 0xA000u16;\nlet low_surrogate = 0xD800u16;\nlet high_surrogate = 0xDC00u16;\nlet high_non_surrogate = 0xE000u16;\n\nassert!(!low_non_surrogate.is_utf16_surrogate());\nassert!(low_surrogate.is_utf16_surrogate());\nassert!(high_surrogate.is_utf16_surrogate());\nassert!(!high_non_surrogate.is_utf16_surrogate());\n```", "id": 11263, "inner": { "function": { @@ -102862,100 +101352,210 @@ } } }, - "links": {}, - "name": "is_power_of_two", + "links": { + "`char`": 2395 + }, + "name": "is_utf16_surrogate", "span": { "begin": [ - 1151, + 1128, 5 ], "end": [ - 1169, - 6 + 1128, + 50 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11264": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2u64.next_power_of_two(), 2);\nassert_eq!(3u64.next_power_of_two(), 4);\nassert_eq!(0u64.next_power_of_two(), 1);\n```", + "docs": null, "id": 11264, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "u16" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u64" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11131, + 11132, + 11133, + 11134, + 11135, + 11137, + 11138, + 11139, + 11140, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11149, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11160, + 11161, + 11162, + 11163, + 11164, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11136, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11195, + 11196, + 11197, + 11198, + 11199, + 11200, + 11201, + 11202, + 11203, + 11204, + 11205, + 11206, + 11207, + 11208, + 11209, + 11210, + 11211, + 11212, + 11213, + 11159, + 11214, + 11165, + 11215, + 11172, + 11216, + 11217, + 11218, + 11219, + 11220, + 11221, + 11222, + 11223, + 11224, + 10482, + 11225, + 11226, + 10486, + 11227, + 11228, + 11230, + 11232, + 11229, + 11231, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11239, + 11240, + 11241, + 11242, + 11243, + 11244, + 11245, + 11246, + 11247, + 11248, + 11249, + 11250, + 11251, + 11252, + 11253, + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11260, + 11261, + 11262, + 11263 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "next_power_of_two", + "name": null, "span": { "begin": [ - 1151, - 5 + 1083, + 1 ], "end": [ - 1169, - 6 + 1083, + 9 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "11265": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2u64.checked_next_power_of_two(), Some(2));\nassert_eq!(3u64.checked_next_power_of_two(), Some(4));\nassert_eq!(u64::MAX.checked_next_power_of_two(), None);\n```", + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(u16::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(u16::from_str_radix(\"1 \", 10).is_err());\n```", "id": 11265, "inner": { "function": { @@ -102973,9 +101573,21 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ], + [ + "radix", + { + "primitive": "u32" } ] ], @@ -102987,30 +101599,39 @@ "args": [ { "type": { - "primitive": "u64" + "primitive": "u16" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } } } ], "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 57, + "path": "Result" } } } } }, "links": {}, - "name": "checked_next_power_of_two", + "name": "from_str_radix", "span": { "begin": [ - 1151, - 5 + 1667, + 1 ], "end": [ - 1169, - 6 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -103019,17 +101640,12 @@ "11266": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2u64.wrapping_next_power_of_two(), 2);\nassert_eq!(3u64.wrapping_next_power_of_two(), 4);\nassert_eq!(u64::MAX.wrapping_next_power_of_two(), 0);\n```", + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u16::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u16::from_ascii(b\"1 \").is_err());\n```", "id": 11266, "inner": { "function": { @@ -103047,29 +101663,61 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "wrapping_next_power_of_two", + "name": "from_ascii", "span": { "begin": [ - 1151, - 5 + 1667, + 1 ], "end": [ - 1169, - 6 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -103078,20 +101726,12 @@ "11267": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456u64.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\n```", + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u16::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u16::from_ascii_radix(b\"1 \", 10).is_err());\n```", "id": 11267, "inner": { "function": { @@ -103109,123 +101749,124 @@ "sig": { "inputs": [ [ - "self", + "src", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ], + [ + "radix", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" } } } } }, "links": {}, - "name": "to_be_bytes", + "name": "from_ascii_radix", "span": { "begin": [ - 1151, - 5 + 1667, + 1 ], "end": [ - 1169, - 6 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11268": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456u64.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", + "docs": null, "id": 11268, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "u16" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11265, + 11266, + 11267 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "to_le_bytes", + "name": null, "span": { "begin": [ - 1151, - 5 + 1667, + 1 ], "end": [ - 1169, - 6 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "11269": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456u64.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n } else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0u16;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32u16;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = u16 :: MAX;\nassert_eq!(n2.format_into(&mut buf), u16 :: MAX.to_string());\n```", "id": 11269, "inner": { "function": { @@ -103237,7 +101878,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -103247,14 +101888,42 @@ { "generic": "Self" } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 10387, + "path": "NumBuffer" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "8", + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "primitive": "u8" + "primitive": "str" } } } @@ -103262,20 +101931,19 @@ } }, "links": { - "Self::to_be_bytes": 11267, - "Self::to_le_bytes": 11268 + "`NumBuffer`": 10387 }, - "name": "to_ne_bytes", + "name": "format_into", "span": { "begin": [ - 1151, + 599, 5 ], "end": [ - 1169, - 6 + 599, + 95 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "public" }, @@ -103361,11 +102029,11 @@ "name": null, "span": { "begin": [ - 2243, + 2238, 1 ], "end": [ - 2248, + 2243, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -103373,157 +102041,136 @@ "visibility": "default" }, "11270": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n\n# Examples\n\n```\nlet value = u64::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_u64(input: &mut &[u8]) -> u64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u64::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", + "docs": null, "id": 11270, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "u16" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11269 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 599, + 5 + ], + "end": [ + 599, + 95 + ], + "filename": "checkouts/rust/library/core/src/fmt/num.rs" + }, + "visibility": "default" + }, + "11271": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(u32::MIN, 0);\n```", + "id": 11271, + "inner": { + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u64" - } - } + "value": "0" } }, "links": {}, - "name": "from_be_bytes", + "name": "MIN", "span": { "begin": [ - 1151, + 1134, 5 ], "end": [ - 1169, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11271": { + "11272": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n\n# Examples\n\n```\nlet value = u64::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_u64(input: &mut &[u8]) -> u64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u64::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11271, + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(u32::BITS, 32);\n```", + "id": 11272, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u64" - } - } + "value": "_" } }, "links": {}, - "name": "from_le_bytes", + "name": "BITS", "span": { "begin": [ - 1151, + 1134, 5 ], "end": [ - 1169, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11272": { + "11273": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[doc(alias = \"popcount\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = u64::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_u64(input: &mut &[u8]) -> u64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u64::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11272, + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100u32;\nassert_eq!(n.count_ones(), 3);\n\nlet max = u32::MAX;\nassert_eq!(max.count_ones(), 32);\n\nlet zero = 0u32;\nassert_eq!(zero.count_ones(), 0);\n```", + "id": 11273, "inner": { "function": { "generics": { @@ -103540,61 +102187,52 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u32" } } } }, - "links": { - "Self::from_be_bytes": 11270, - "Self::from_le_bytes": 11271 - }, - "name": "from_ne_bytes", + "links": {}, + "name": "count_ones", "span": { "begin": [ - 1151, + 1134, 5 ], "end": [ - 1169, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11273": { + "11274": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"u64_legacy_fn_min_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`u64::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", - "id": 11273, + "deprecation": null, + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0u32;\nassert_eq!(zero.count_zeros(), 32);\n\nlet max = u32::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", + "id": 11274, "inner": { "function": { "generics": { @@ -103609,50 +102247,57 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u32" } } } }, - "links": { - "`u64::MIN`": 11150 - }, - "name": "min_value", + "links": {}, + "name": "count_zeros", "span": { "begin": [ - 1151, + 1134, 5 ], "end": [ - 1169, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11274": { + "11275": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"u64_legacy_fn_max_value\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`u64::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", - "id": 11274, + "deprecation": null, + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2u32.ilog2(), 1);\n```", + "id": 11275, "inner": { "function": { "generics": { @@ -103667,44 +102312,43 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u32" } } } }, - "links": { - "`u64::MAX`": 11151 - }, - "name": "max_value", + "links": {}, + "name": "ilog2", "span": { "begin": [ - 1151, + 1134, 5 ], "end": [ - 1169, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11275": { + "11276": { "attrs": [ { - "other": "#[doc(alias = \"average_floor\")]" - }, - { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -103714,8 +102358,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0u64.midpoint(4), 2);\nassert_eq!(1u64.midpoint(4), 2);\n```", - "id": 11275, + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = u32::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0u32;\nassert_eq!(zero.leading_zeros(), 32);\n\nlet max = u32::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: u32::ilog2", + "id": 11276, "inner": { "function": { "generics": { @@ -103736,216 +102380,49 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u32" } } } }, - "links": {}, - "name": "midpoint", + "links": { + "u32::ilog2": 11275 + }, + "name": "leading_zeros", "span": { "begin": [ - 1170, + 1134, 5 ], "end": [ - 1170, - 43 + 1155, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11276": { - "attrs": [], - "crate_id": 1, - "deprecation": null, - "docs": null, - "id": 11276, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u64" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11150, - 11151, - 11152, - 11153, - 11154, - 11156, - 11157, - 11158, - 11159, - 11160, - 11161, - 11162, - 11163, - 11164, - 11165, - 11166, - 11167, - 11168, - 11169, - 11170, - 11171, - 11172, - 11173, - 11174, - 11175, - 11177, - 11178, - 11179, - 11180, - 11181, - 11183, - 11184, - 11185, - 11186, - 11187, - 11188, - 11190, - 11191, - 11192, - 11193, - 11194, - 11195, - 11196, - 11197, - 11198, - 11199, - 11200, - 11201, - 11202, - 11203, - 11155, - 11204, - 11205, - 11206, - 11207, - 11208, - 11209, - 11210, - 11211, - 11212, - 11213, - 11214, - 11215, - 11216, - 11217, - 11218, - 11219, - 11220, - 11221, - 11222, - 11223, - 11224, - 11225, - 11226, - 11176, - 11227, - 11182, - 11228, - 11189, - 11229, - 11230, - 11231, - 11232, - 11233, - 11234, - 11235, - 11236, - 11237, - 10537, - 11238, - 11239, - 10541, - 11240, - 11241, - 11242, - 11244, - 11243, - 11245, - 11246, - 11247, - 11248, - 11249, - 11250, - 11251, - 11252, - 11253, - 11254, - 11255, - 11256, - 11257, - 11258, - 11259, - 11260, - 11261, - 11262, - 11263, - 11264, - 11265, - 11266, - 11267, - 11268, - 11269, - 11270, - 11271, - 11272, - 11273, - 11274, - 11275 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1150, - 1 - ], - "end": [ - 1150, - 9 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "default" - }, "11277": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(u64::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(u64::from_str_radix(\"1 \", 10).is_err());\n```", + "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000u32;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0u32;\nassert_eq!(zero.trailing_zeros(), 32);\n\nlet max = u32::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", "id": 11277, "inner": { "function": { @@ -103963,65 +102440,29 @@ "sig": { "inputs": [ [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - ], - [ - "radix", + "self", { - "primitive": "u32" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "u32" } } } }, "links": {}, - "name": "from_str_radix", + "name": "trailing_zeros", "span": { "begin": [ - 1631, - 1 + 1134, + 5 ], "end": [ - 1631, - 58 + 1155, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -104030,12 +102471,20 @@ "11278": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u64::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u64::from_ascii(b\"1 \").is_err());\n```", + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(u32::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0u32;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = u32::MAX;\nassert_eq!(max.leading_ones(), 32);\n```", "id": 11278, "inner": { "function": { @@ -104053,61 +102502,29 @@ "sig": { "inputs": [ [ - "src", + "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "u32" } } } }, "links": {}, - "name": "from_ascii", + "name": "leading_ones", "span": { "begin": [ - 1631, - 1 + 1134, + 5 ], "end": [ - 1631, - 58 + 1155, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -104116,12 +102533,20 @@ "11279": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u64::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u64::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111u32;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0u32;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = u32::MAX;\nassert_eq!(max.trailing_ones(), 32);\n```", "id": 11279, "inner": { "function": { @@ -104139,67 +102564,29 @@ "sig": { "inputs": [ [ - "src", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ], - [ - "radix", + "self", { - "primitive": "u32" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 4784, - "path": "ParseIntError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "u32" } } } }, "links": {}, - "name": "from_ascii_radix", + "name": "trailing_ones", "span": { "begin": [ - 1631, - 1 + 1134, + 5 ], "end": [ - 1631, - 58 + 1155, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, @@ -104282,11 +102669,11 @@ "name": null, "span": { "begin": [ - 2250, + 2245, 1 ], "end": [ - 2250, + 2245, 49 ], "filename": "std/src/collections/hash/map.rs" @@ -104294,57 +102681,78 @@ "visibility": "default" }, "11280": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_u32.bit_width(), 0);\nassert_eq!(0b111_u32.bit_width(), 3);\nassert_eq!(0b1110_u32.bit_width(), 4);\nassert_eq!(u32::MAX.bit_width(), 32);\n```", "id": 11280, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u64" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11277, - 11278, - 11279 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } } }, "links": {}, - "name": null, + "name": "bit_width", "span": { "begin": [ - 1631, - 1 + 1134, + 5 ], "end": [ - 1631, - 58 + 1155, + 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11281": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0u64;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32u64;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = u64 :: MAX;\nassert_eq!(n2.format_into(&mut buf), u64 :: MAX.to_string());\n```", + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u32 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_u32.isolate_highest_one(), 0);\n```", "id": 11281, "inner": { "function": { @@ -104356,7 +102764,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -104366,133 +102774,157 @@ { "generic": "Self" } - ], - [ - "buf", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 10162, - "path": "NumBuffer" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "primitive": "u32" } } } }, - "links": { - "`NumBuffer`": 10162 - }, - "name": "format_into", + "links": {}, + "name": "isolate_highest_one", "span": { "begin": [ - 562, + 1134, 5 ], "end": [ - 562, - 95 + 1155, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "11282": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u32 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_u32.isolate_lowest_one(), 0);\n```", "id": 11282, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "u64" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11281 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } } }, "links": {}, - "name": null, + "name": "isolate_lowest_one", "span": { "begin": [ - 562, + 1134, 5 ], "end": [ - 562, - 95 + 1155, + 6 ], - "filename": "checkouts/rust/library/core/src/fmt/num.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11283": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(u128::MIN, 0);\n```", + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u32.highest_one(), None);\nassert_eq!(0x1_u32.highest_one(), Some(0));\nassert_eq!(0x10_u32.highest_one(), Some(4));\nassert_eq!(0x1f_u32.highest_one(), Some(4));\n```", "id": 11283, "inner": { - "assoc_const": { - "type": { - "primitive": "u128" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "0" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": "MIN", + "name": "highest_one", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -104502,30 +102934,71 @@ "11284": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(2128 − 1).\n\n# Examples\n\n```\nassert_eq!(u128::MAX, 340282366920938463463374607431768211455);\n```", + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u32.lowest_one(), None);\nassert_eq!(0x1_u32.lowest_one(), Some(0));\nassert_eq!(0x10_u32.lowest_one(), Some(4));\nassert_eq!(0x1f_u32.lowest_one(), Some(0));\n```", "id": 11284, "inner": { - "assoc_const": { - "type": { - "primitive": "u128" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": "MAX", + "name": "lowest_one", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -104535,30 +103008,59 @@ "11285": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(u128::BITS, 128);\n```", + "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = u32::MAX;\n\nassert_eq!(n.cast_signed(), -1i32);\n```", "id": 11285, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i32" + } + } } }, "links": {}, - "name": "BITS", + "name": "cast_signed", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -104567,12 +103069,6 @@ }, "11286": { "attrs": [ - { - "other": "#[doc(alias = \"popcount\")]" - }, - { - "other": "#[doc(alias = \"popcnt\")]" - }, { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, @@ -104587,7 +103083,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100u128;\nassert_eq!(n.count_ones(), 3);\n\nlet max = u128::MAX;\nassert_eq!(max.count_ones(), 128);\n\nlet zero = 0u128;\nassert_eq!(zero.count_ones(), 0);\n```", + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0x10000b3u32;\nlet m = 0xb301;\n\nassert_eq!(n.rotate_left(8), m);\n```", "id": 11286, "inner": { "function": { @@ -104609,6 +103105,12 @@ { "generic": "Self" } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, @@ -104619,14 +103121,14 @@ } }, "links": {}, - "name": "count_ones", + "name": "rotate_left", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -104649,7 +103151,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0u128;\nassert_eq!(zero.count_zeros(), 128);\n\nlet max = u128::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0xb301u32;\nlet m = 0x10000b3;\n\nassert_eq!(n.rotate_right(8), m);\n```", "id": 11287, "inner": { "function": { @@ -104671,6 +103173,12 @@ { "generic": "Self" } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, @@ -104681,14 +103189,14 @@ } }, "links": {}, - "name": "count_zeros", + "name": "rotate_right", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -104698,23 +103206,20 @@ "11288": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2u128.ilog2(), 1);\n```", + "docs": "Performs a left funnel shift (concatenates `self` with `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value left\nby `n`, and most significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `<<` shifting operator or\n[`rotate_left`](Self::rotate_left), although `a.funnel_shl(a, n)` is *equivalent*\nto `a.rotate_left(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0x10000b3u32;\nlet b = 0x2fe78e45u32;\nlet m = 0xb32f;\n\nassert_eq!(a.funnel_shl(b, 8), m);\n```", "id": 11288, "inner": { "function": { @@ -104736,6 +103241,18 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, @@ -104745,15 +103262,17 @@ } } }, - "links": {}, - "name": "ilog2", + "links": { + "Self::rotate_left": 11286 + }, + "name": "funnel_shl", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -104763,10 +103282,10 @@ "11289": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" }, { "must_use": { @@ -104776,7 +103295,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = u128::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0u128;\nassert_eq!(zero.leading_zeros(), 128);\n\nlet max = u128::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: u128::ilog2", + "docs": "Performs a right funnel shift (concatenates `self` and `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value right\nby `n`, and least significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `>>` shifting operator or\n[`rotate_right`](Self::rotate_right), although `a.funnel_shr(a, n)` is *equivalent*\nto `a.rotate_right(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0x10000b3u32;\nlet b = 0x2fe78e45u32;\nlet m = 0xb32fe78e;\n\nassert_eq!(a.funnel_shr(b, 8), m);\n```", "id": 11289, "inner": { "function": { @@ -104798,6 +103317,18 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, @@ -104808,16 +103339,16 @@ } }, "links": { - "u128::ilog2": 11288 + "Self::rotate_right": 11287 }, - "name": "leading_zeros", + "name": "funnel_shr", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -104875,7 +103406,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -104887,7 +103418,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -104898,11 +103429,11 @@ "name": "fmt", "span": { "begin": [ - 2254, + 2249, 5 ], "end": [ - 2256, + 2251, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -104925,7 +103456,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000u128;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0u128;\nassert_eq!(zero.trailing_zeros(), 128);\n\nlet max = u128::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12345678u32;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x78563412);\n```", "id": 11290, "inner": { "function": { @@ -104957,14 +103488,14 @@ } }, "links": {}, - "name": "trailing_zeros", + "name": "swap_bytes", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -104974,10 +103505,10 @@ "11291": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" }, { "must_use": { @@ -104987,7 +103518,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(u128::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0u128;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = u128::MAX;\nassert_eq!(max.leading_ones(), 128);\n```", + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12345678u32;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x1e6a2c48);\nassert_eq!(0, 0u32.reverse_bits());\n```", "id": 11291, "inner": { "function": { @@ -105019,14 +103550,14 @@ } }, "links": {}, - "name": "leading_ones", + "name": "reverse_bits", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105036,20 +103567,20 @@ "11292": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111u128;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0u128;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = u128::MAX;\nassert_eq!(max.trailing_ones(), 128);\n```", + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au32;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(u32::from_be(n), n)\n} else {\n assert_eq!(u32::from_be(n), n.swap_bytes())\n}\n```", "id": 11292, "inner": { "function": { @@ -105067,9 +103598,9 @@ "sig": { "inputs": [ [ - "self", + "x", { - "generic": "Self" + "primitive": "u32" } ] ], @@ -105081,14 +103612,14 @@ } }, "links": {}, - "name": "trailing_ones", + "name": "from_be", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105098,17 +103629,20 @@ "11293": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_u128.bit_width(), 0);\nassert_eq!(0b111_u128.bit_width(), 3);\nassert_eq!(0b1110_u128.bit_width(), 4);\nassert_eq!(u128::MAX.bit_width(), 128);\n```", + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au32;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(u32::from_le(n), n)\n} else {\n assert_eq!(u32::from_le(n), n.swap_bytes())\n}\n```", "id": 11293, "inner": { "function": { @@ -105126,9 +103660,9 @@ "sig": { "inputs": [ [ - "self", + "x", { - "generic": "Self" + "primitive": "u32" } ] ], @@ -105140,14 +103674,14 @@ } }, "links": {}, - "name": "bit_width", + "name": "from_le", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105157,7 +103691,10 @@ "11294": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -105167,7 +103704,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u128 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_u128.isolate_highest_one(), 0);\n```", + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au32;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", "id": 11294, "inner": { "function": { @@ -105193,20 +103730,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "isolate_highest_one", + "name": "to_be", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105216,7 +103753,10 @@ "11295": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -105226,7 +103766,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u128 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_u128.isolate_lowest_one(), 0);\n```", + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au32;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", "id": 11295, "inner": { "function": { @@ -105252,20 +103792,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "isolate_lowest_one", + "name": "to_le", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105275,7 +103815,10 @@ "11296": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -105285,7 +103828,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u128.highest_one(), None);\nassert_eq!(0x1_u128.highest_one(), Some(0));\nassert_eq!(0x10_u128.highest_one(), Some(4));\nassert_eq!(0x1f_u128.highest_one(), Some(4));\n```", + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((u32::MAX - 2).checked_add(1), Some(u32::MAX - 1));\nassert_eq!((u32::MAX - 2).checked_add(3), None);\n```", "id": 11296, "inner": { "function": { @@ -105307,6 +103850,12 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, @@ -105332,14 +103881,14 @@ } }, "links": {}, - "name": "highest_one", + "name": "checked_add", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105349,17 +103898,23 @@ "11297": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u128.lowest_one(), None);\nassert_eq!(0x1_u128.lowest_one(), Some(0));\nassert_eq!(0x10_u128.lowest_one(), Some(4));\nassert_eq!(0x1f_u128.lowest_one(), Some(0));\n```", + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((u32::MAX - 2).strict_add(1), u32::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (u32::MAX - 2).strict_add(3);\n```", "id": 11297, "inner": { "function": { @@ -105381,39 +103936,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "lowest_one", + "name": "strict_add", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105423,10 +103969,10 @@ "11298": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -105436,7 +103982,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = u128::MAX;\n\nassert_eq!(n.cast_signed(), -1i128);\n```", + "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200u32.wrapping_add(55), 255);\nassert_eq!(200u32.wrapping_add(u32::MAX), 199);\n```", "id": 11298, "inner": { "function": { @@ -105458,24 +104004,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "i128" + "primitive": "u32" } } } }, "links": {}, - "name": "cast_signed", + "name": "wrapping_add", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105485,20 +104037,23 @@ "11299": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0x13f40000000000000000000000004f76u128;\nlet m = 0x4f7613f4;\n\nassert_eq!(n.rotate_left(16), m);\n```", + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > u32::MAX` or `self + rhs < u32::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: u32::checked_add\n[`wrapping_add`]: u32::wrapping_add", "id": 11299, "inner": { "function": { @@ -105511,7 +104066,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -105522,7 +104077,7 @@ } ], [ - "n", + "rhs", { "primitive": "u32" } @@ -105530,20 +104085,23 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": {}, - "name": "rotate_left", + "links": { + "u32::checked_add": 11296, + "u32::wrapping_add": 11298 + }, + "name": "unchecked_add", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105608,7 +104166,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -105632,7 +104190,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -105641,11 +104199,11 @@ "name": null, "span": { "begin": [ - 2253, + 2248, 1 ], "end": [ - 2257, + 2252, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -105655,10 +104213,10 @@ "11300": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -105668,7 +104226,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x4f7613f4u128;\nlet m = 0x13f40000000000000000000000004f76;\n\nassert_eq!(n.rotate_right(16), m);\n```", + "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u32.checked_add_signed(2), Some(3));\nassert_eq!(1u32.checked_add_signed(-2), None);\nassert_eq!((u32::MAX - 2).checked_add_signed(3), None);\n```", "id": 11300, "inner": { "function": { @@ -105692,28 +104250,43 @@ } ], [ - "n", + "rhs", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "rotate_right", + "name": "checked_add_signed", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105723,20 +104296,23 @@ "11301": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12345678901234567890123456789012u128;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x12907856341290785634129078563412);\n```", + "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u32.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u32.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (u32::MAX - 2).strict_add_signed(3);\n```", "id": 11301, "inner": { "function": { @@ -105758,24 +104334,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "swap_bytes", + "name": "strict_add_signed", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105785,10 +104367,10 @@ "11302": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -105798,7 +104380,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12345678901234567890123456789012u128;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x48091e6a2c48091e6a2c48091e6a2c48);\nassert_eq!(0, 0u128.reverse_bits());\n```", + "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u32.checked_sub(1), Some(0));\nassert_eq!(0u32.checked_sub(1), None);\n```", "id": 11302, "inner": { "function": { @@ -105820,24 +104402,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "reverse_bits", + "name": "checked_sub", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105847,20 +104450,23 @@ "11303": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au128;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(u128::from_be(n), n)\n} else {\n assert_eq!(u128::from_be(n), n.swap_bytes())\n}\n```", + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u32.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0u32.strict_sub(1);\n```", "id": 11303, "inner": { "function": { @@ -105878,28 +104484,34 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "u128" + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "from_be", + "name": "strict_sub", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105909,20 +104521,20 @@ "11304": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au128;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(u128::from_le(n), n)\n} else {\n assert_eq!(u128::from_le(n), n.swap_bytes())\n}\n```", + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100u32.wrapping_sub(100), 0);\nassert_eq!(100u32.wrapping_sub(u32::MAX), 101);\n```", "id": 11304, "inner": { "function": { @@ -105940,28 +104552,34 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "u128" + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "from_le", + "name": "wrapping_sub", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -105971,20 +104589,23 @@ "11305": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au128;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > u32::MAX` or `self - rhs < u32::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: u32::checked_sub\n[`wrapping_sub`]: u32::wrapping_sub", "id": 11305, "inner": { "function": { @@ -105997,7 +104618,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -106006,24 +104627,33 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": {}, - "name": "to_be", + "links": { + "u32::checked_sub": 11302, + "u32::wrapping_sub": 11304 + }, + "name": "unchecked_sub", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106033,10 +104663,10 @@ "11306": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -106046,7 +104676,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au128;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u32.checked_sub_signed(2), None);\nassert_eq!(1u32.checked_sub_signed(-2), Some(3));\nassert_eq!((u32::MAX - 2).checked_sub_signed(-4), None);\n```", "id": 11306, "inner": { "function": { @@ -106068,24 +104698,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "to_le", + "name": "checked_sub_signed", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106095,20 +104746,23 @@ "11307": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((u128::MAX - 2).checked_add(1), Some(u128::MAX - 1));\nassert_eq!((u128::MAX - 2).checked_add(3), None);\n```", + "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3u32.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u32.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (u32::MAX).strict_sub_signed(-1);\n```", "id": 11307, "inner": { "function": { @@ -106134,41 +104788,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_add", + "name": "strict_sub_signed", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106178,23 +104817,15 @@ "11308": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\", promotable: false}}]" }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((u128::MAX - 2).strict_add(1), u128::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (u128::MAX - 2).strict_add(3);\n```", + "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`i32`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10u32.checked_signed_diff(2), Some(8));\nassert_eq!(2u32.checked_signed_diff(10), Some(-8));\nassert_eq!(u32::MAX.checked_signed_diff(i32::MAX as u32), None);\nassert_eq!((i32::MAX as u32).checked_signed_diff(u32::MAX), Some(i32::MIN));\nassert_eq!((i32::MAX as u32 + 1).checked_signed_diff(0), None);\nassert_eq!(u32::MAX.checked_signed_diff(u32::MAX), Some(0));\n```", "id": 11308, "inner": { "function": { @@ -106220,26 +104851,43 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "strict_add", + "links": { + "`i32`": 3366 + }, + "name": "checked_signed_diff", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106249,7 +104897,7 @@ "11309": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -106262,7 +104910,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200u128.wrapping_add(55), 255);\nassert_eq!(200u128.wrapping_add(u128::MAX), 199);\n```", + "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5u32.checked_mul(1), Some(5));\nassert_eq!(u32::MAX.checked_mul(2), None);\n```", "id": 11309, "inner": { "function": { @@ -106288,26 +104936,41 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "wrapping_add", + "name": "checked_mul", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106370,10 +105033,10 @@ "11310": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -106386,7 +105049,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > u128::MAX` or `self + rhs < u128::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: u128::checked_add\n[`wrapping_add`]: u128::wrapping_add", + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5u32.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = u32::MAX.strict_mul(2);\n```", "id": 11310, "inner": { "function": { @@ -106399,7 +105062,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -106412,29 +105075,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": { - "u128::checked_add": 11307, - "u128::wrapping_add": 11309 - }, - "name": "unchecked_add", + "links": {}, + "name": "strict_mul", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106444,10 +105104,10 @@ "11311": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -106457,7 +105117,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u128.checked_add_signed(2), Some(3));\nassert_eq!(1u128.checked_add_signed(-2), None);\nassert_eq!((u128::MAX - 2).checked_add_signed(3), None);\n```", + "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", "id": 11311, "inner": { "function": { @@ -106483,41 +105143,26 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_add_signed", + "name": "wrapping_mul", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106527,10 +105172,10 @@ "11312": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" }, { "must_use": { @@ -106543,7 +105188,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u128.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u128.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (u128::MAX - 2).strict_add_signed(3);\n```", + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > u32::MAX` or `self * rhs < u32::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: u32::checked_mul\n[`wrapping_mul`]: u32::wrapping_mul", "id": 11312, "inner": { "function": { @@ -106556,7 +105201,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -106569,26 +105214,29 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": {}, - "name": "strict_add_signed", + "links": { + "u32::checked_mul": 11309, + "u32::wrapping_mul": 11311 + }, + "name": "unchecked_mul", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106598,7 +105246,7 @@ "11313": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -106611,7 +105259,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u128.checked_sub(1), Some(0));\nassert_eq!(0u128.checked_sub(1), None);\n```", + "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u32.checked_div(2), Some(64));\nassert_eq!(1u32.checked_div(0), None);\n```", "id": 11313, "inner": { "function": { @@ -106637,7 +105285,7 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], @@ -106649,7 +105297,7 @@ "args": [ { "type": { - "primitive": "u128" + "primitive": "u32" } } ], @@ -106664,14 +105312,14 @@ } }, "links": {}, - "name": "checked_sub", + "name": "checked_div", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106681,10 +105329,10 @@ "11314": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -106697,7 +105345,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u128.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0u128.strict_sub(1);\n```", + "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u32).strict_div(0);\n```", "id": 11314, "inner": { "function": { @@ -106723,26 +105371,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_sub", + "name": "strict_div", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106752,10 +105400,10 @@ "11315": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -106765,7 +105413,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100u128.wrapping_sub(100), 0);\nassert_eq!(100u128.wrapping_sub(u128::MAX), 101);\n```", + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u32.checked_div_euclid(2), Some(64));\nassert_eq!(1u32.checked_div_euclid(0), None);\n```", "id": 11315, "inner": { "function": { @@ -106791,26 +105439,41 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "wrapping_sub", + "name": "checked_div_euclid", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106820,10 +105483,10 @@ "11316": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -106836,7 +105499,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > u128::MAX` or `self - rhs < u128::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: u128::checked_sub\n[`wrapping_sub`]: u128::wrapping_sub", + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u32).strict_div_euclid(0);\n```", "id": 11316, "inner": { "function": { @@ -106849,7 +105512,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -106862,29 +105525,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": { - "u128::checked_sub": 11313, - "u128::wrapping_sub": 11315 - }, - "name": "unchecked_sub", + "links": {}, + "name": "strict_div_euclid", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106894,10 +105554,7 @@ "11317": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { @@ -106907,7 +105564,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u128.checked_sub_signed(2), None);\nassert_eq!(1u128.checked_sub_signed(-2), Some(3));\nassert_eq!((u128::MAX - 2).checked_sub_signed(-4), None);\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u32.checked_exact_div(2), Some(32));\nassert_eq!(64u32.checked_exact_div(32), Some(2));\nassert_eq!(64u32.checked_exact_div(0), None);\nassert_eq!(65u32.checked_exact_div(2), None);\n```", "id": 11317, "inner": { "function": { @@ -106933,7 +105590,7 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], @@ -106945,7 +105602,7 @@ "args": [ { "type": { - "primitive": "u128" + "primitive": "u32" } } ], @@ -106960,14 +105617,14 @@ } }, "links": {}, - "name": "checked_sub_signed", + "name": "checked_exact_div", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -106977,23 +105634,17 @@ "11318": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3u128.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u128.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (u128::MAX).strict_sub_signed(-1);\n```", + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u32.exact_div(2), 32);\nassert_eq!(64u32.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65u32.exact_div(2);\n```", "id": 11318, "inner": { "function": { @@ -107019,26 +105670,26 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_sub_signed", + "name": "exact_div", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107048,15 +105699,17 @@ "11319": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`i128`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10u128.checked_signed_diff(2), Some(8));\nassert_eq!(2u128.checked_signed_diff(10), Some(-8));\nassert_eq!(u128::MAX.checked_signed_diff(i128::MAX as u128), None);\nassert_eq!((i128::MAX as u128).checked_signed_diff(u128::MAX), Some(i128::MIN));\nassert_eq!((i128::MAX as u128 + 1).checked_signed_diff(0), None);\nassert_eq!(u128::MAX.checked_signed_diff(u128::MAX), Some(0));\n```", + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", "id": 11319, "inner": { "function": { @@ -107069,7 +105722,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -107082,43 +105735,28 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": { - "`i128`": 4826 + "Self::checked_exact_div": 11317 }, - "name": "checked_signed_diff", + "name": "unchecked_exact_div", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107223,10 +105861,10 @@ "11320": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -107236,7 +105874,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5u128.checked_mul(1), Some(5));\nassert_eq!(u128::MAX.checked_mul(2), None);\n```", + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u32.checked_rem(2), Some(1));\nassert_eq!(5u32.checked_rem(0), None);\n```", "id": 11320, "inner": { "function": { @@ -107262,7 +105900,7 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], @@ -107274,7 +105912,7 @@ "args": [ { "type": { - "primitive": "u128" + "primitive": "u32" } } ], @@ -107289,14 +105927,14 @@ } }, "links": {}, - "name": "checked_mul", + "name": "checked_rem", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107306,10 +105944,10 @@ "11321": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -107322,7 +105960,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5u128.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = u128::MAX.strict_mul(2);\n```", + "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u32.strict_rem(0);\n```", "id": 11321, "inner": { "function": { @@ -107348,26 +105986,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_mul", + "name": "strict_rem", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107377,10 +106015,10 @@ "11322": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -107390,7 +106028,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", + "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u32.checked_rem_euclid(2), Some(1));\nassert_eq!(5u32.checked_rem_euclid(0), None);\n```", "id": 11322, "inner": { "function": { @@ -107416,26 +106054,41 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "wrapping_mul", + "name": "checked_rem_euclid", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107445,10 +106098,10 @@ "11323": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -107461,7 +106114,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > u128::MAX` or `self * rhs < u128::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: u128::checked_mul\n[`wrapping_mul`]: u128::wrapping_mul", + "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u32.strict_rem_euclid(0);\n```", "id": 11323, "inner": { "function": { @@ -107474,7 +106127,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -107487,29 +106140,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": { - "u128::checked_mul": 11320, - "u128::wrapping_mul": 11322 - }, - "name": "unchecked_mul", + "links": {}, + "name": "strict_rem_euclid", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107519,20 +106169,15 @@ "11324": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u128.checked_div(2), Some(64));\nassert_eq!(1u128.checked_div(0), None);\n```", + "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_u32.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", "id": 11324, "inner": { "function": { @@ -107545,7 +106190,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -107556,43 +106201,28 @@ } ], [ - "rhs", + "other", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_div", + "name": "unchecked_disjoint_bitor", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107602,10 +106232,10 @@ "11325": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -107618,7 +106248,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u128).strict_div(0);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5u32.ilog(5), 1);\n```", "id": 11325, "inner": { "function": { @@ -107642,28 +106272,28 @@ } ], [ - "rhs", + "base", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_div", + "name": "ilog", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107673,20 +106303,23 @@ "11326": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u128.checked_div_euclid(2), Some(64));\nassert_eq!(1u128.checked_div_euclid(0), None);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10u32.ilog10(), 1);\n```", "id": 11326, "inner": { "function": { @@ -107708,45 +106341,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_div_euclid", + "name": "ilog10", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107756,23 +106368,20 @@ "11327": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u128).strict_div_euclid(0);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5u32.checked_ilog(5), Some(1));\n```", "id": 11327, "inner": { "function": { @@ -107796,28 +106405,43 @@ } ], [ - "rhs", + "base", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_div_euclid", + "name": "checked_ilog", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107827,7 +106451,10 @@ "11328": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -107837,7 +106464,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u128.checked_exact_div(2), Some(32));\nassert_eq!(64u128.checked_exact_div(32), Some(2));\nassert_eq!(64u128.checked_exact_div(0), None);\nassert_eq!(65u128.checked_exact_div(2), None);\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2u32.checked_ilog2(), Some(1));\n```", "id": 11328, "inner": { "function": { @@ -107859,12 +106486,6 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, @@ -107875,7 +106496,7 @@ "args": [ { "type": { - "primitive": "u128" + "primitive": "u32" } } ], @@ -107890,14 +106511,14 @@ } }, "links": {}, - "name": "checked_exact_div", + "name": "checked_ilog2", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -107907,7 +106528,10 @@ "11329": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -107917,7 +106541,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u128.exact_div(2), 32);\nassert_eq!(64u128.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65u128.exact_div(2);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10u32.checked_ilog10(), Some(1));\n```", "id": 11329, "inner": { "function": { @@ -107939,30 +106563,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "exact_div", + "name": "checked_ilog10", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -108007,74 +106640,7 @@ "11330": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", - "id": 11330, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u128" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u128" - } - } - } - }, - "links": { - "Self::checked_exact_div": 11328 - }, - "name": "unchecked_exact_div", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11331": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -108087,8 +106653,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u128.checked_rem(2), Some(1));\nassert_eq!(5u128.checked_rem(0), None);\n```", - "id": 11331, + "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0u32.checked_neg(), Some(0));\nassert_eq!(1u32.checked_neg(), None);\n```", + "id": 11330, "inner": { "function": { "generics": { @@ -108109,12 +106675,6 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, @@ -108125,7 +106685,7 @@ "args": [ { "type": { - "primitive": "u128" + "primitive": "u32" } } ], @@ -108140,27 +106700,27 @@ } }, "links": {}, - "name": "checked_rem", + "name": "checked_neg", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11332": { + "11331": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -108173,8 +106733,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u128.strict_rem(0);\n```", - "id": 11332, + "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0u32.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1u32.strict_neg();\n```", + "id": 11331, "inner": { "function": { "generics": { @@ -108195,43 +106755,37 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_rem", + "name": "strict_neg", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11333": { + "11332": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -108241,8 +106795,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u128.checked_rem_euclid(2), Some(1));\nassert_eq!(5u128.checked_rem_euclid(0), None);\n```", - "id": 11333, + "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1u32.checked_shl(4), Some(0x10));\nassert_eq!(0x10u32.checked_shl(129), None);\nassert_eq!(0x10u32.checked_shl(31), Some(0));\n```", + "id": 11332, "inner": { "function": { "generics": { @@ -108267,7 +106821,7 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], @@ -108279,7 +106833,7 @@ "args": [ { "type": { - "primitive": "u128" + "primitive": "u32" } } ], @@ -108294,27 +106848,27 @@ } }, "links": {}, - "name": "checked_rem_euclid", + "name": "checked_shl", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11334": { + "11333": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -108327,8 +106881,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u128.strict_rem_euclid(0);\n```", - "id": 11334, + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1u32.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u32.strict_shl(129);\n```", + "id": 11333, "inner": { "function": { "generics": { @@ -108353,45 +106907,50 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_rem_euclid", + "name": "strict_shl", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11335": { + "11334": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_u128.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", - "id": 11335, + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: u32::checked_shl", + "id": 11334, "inner": { "function": { "generics": { @@ -108414,54 +106973,118 @@ } ], [ - "other", + "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": {}, - "name": "unchecked_disjoint_bitor", + "links": { + "u32::checked_shl": 11332 + }, + "name": "unchecked_shl", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11336": { + "11335": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1u32.unbounded_shl(4), 0x10);\nassert_eq!(0x1u32.unbounded_shl(129), 0);\n```", + "id": 11335, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "unbounded_shl", + "span": { + "begin": [ + 1134, + 5 + ], + "end": [ + 1155, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11336": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { - "other": "#[attr = TrackCaller]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5u128.ilog(5), 1);\n```", + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`u32::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1u32.exact_shl(4), Some(0x10));\nassert_eq!(0x1u32.exact_shl(129), None);\n```", "id": 11336, "inner": { "function": { @@ -108485,28 +107108,43 @@ } ], [ - "base", + "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "ilog", + "name": "exact_shl", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -108516,23 +107154,17 @@ "11337": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10u128.ilog10(), 1);\n```", + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed `rhs` cannot be larger than\n`u32::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.leading_zeros() || rhs >=\nu32::BITS`\ni.e. when\n[`u32::exact_shl`]\nwould return `None`.", "id": 11337, "inner": { "function": { @@ -108545,7 +107177,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -108554,6 +107186,12 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, @@ -108563,15 +107201,17 @@ } } }, - "links": {}, - "name": "ilog10", + "links": { + "`u32::exact_shl`": 11336 + }, + "name": "unchecked_exact_shl", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -108581,10 +107221,10 @@ "11338": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -108594,7 +107234,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5u128.checked_ilog(5), Some(1));\n```", + "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10u32.checked_shr(4), Some(0x1));\nassert_eq!(0x10u32.checked_shr(129), None);\n```", "id": 11338, "inner": { "function": { @@ -108618,9 +107258,9 @@ } ], [ - "base", + "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], @@ -108647,14 +107287,14 @@ } }, "links": {}, - "name": "checked_ilog", + "name": "checked_shr", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -108664,20 +107304,23 @@ "11339": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2u128.checked_ilog2(), Some(1));\n```", + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10u32.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u32.strict_shr(129);\n```", "id": 11339, "inner": { "function": { @@ -108699,39 +107342,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_ilog2", + "name": "strict_shr", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -108794,20 +107428,20 @@ "11340": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10u128.checked_ilog10(), Some(1));\n```", + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: u32::checked_shr", "id": 11340, "inner": { "function": { @@ -108820,7 +107454,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -108829,39 +107463,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, - "links": {}, - "name": "checked_ilog10", + "links": { + "u32::checked_shr": 11338 + }, + "name": "unchecked_shr", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -108871,10 +107498,10 @@ "11341": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { @@ -108884,7 +107511,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0u128.checked_neg(), Some(0));\nassert_eq!(1u128.checked_neg(), None);\n```", + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10u32.unbounded_shr(4), 0x1);\nassert_eq!(0x10u32.unbounded_shr(129), 0);\n```", "id": 11341, "inner": { "function": { @@ -108906,39 +107533,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_neg", + "name": "unbounded_shr", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -108948,23 +107566,17 @@ "11342": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0u128.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1u128.strict_neg();\n", + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`u32::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10u32.exact_shr(4), Some(0x1));\nassert_eq!(0x10u32.exact_shr(5), None);\n```", "id": 11342, "inner": { "function": { @@ -108986,24 +107598,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_neg", + "name": "exact_shr", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109013,10 +107646,7 @@ "11343": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -109026,7 +107656,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1u128.checked_shl(4), Some(0x10));\nassert_eq!(0x10u128.checked_shl(129), None);\nassert_eq!(0x10u128.checked_shl(127), Some(0));\n```", + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`u32::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\nu32::BITS`\ni.e. when\n[`u32::exact_shr`]\nwould return `None`.", "id": 11343, "inner": { "function": { @@ -109039,7 +107669,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -109058,35 +107688,22 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, - "links": {}, - "name": "checked_shl", + "links": { + "`u32::exact_shr`": 11342 + }, + "name": "unchecked_exact_shr", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109096,23 +107713,20 @@ "11344": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1u128.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u128.strict_shl(129);\n```", + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2u32.checked_pow(5), Some(32));\nassert_eq!(u32::MAX.checked_pow(2), None);\n```", "id": 11344, "inner": { "function": { @@ -109136,7 +107750,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -109144,20 +107758,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_shl", + "name": "checked_pow", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109167,7 +107796,10 @@ "11345": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -109180,7 +107812,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: u128::checked_shl", + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2u32.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = u32::MAX.strict_pow(2);\n```", "id": 11345, "inner": { "function": { @@ -109193,7 +107825,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -109204,7 +107836,7 @@ } ], [ - "rhs", + "exp", { "primitive": "u32" } @@ -109212,22 +107844,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": { - "u128::checked_shl": 11343 - }, - "name": "unchecked_shl", + "links": {}, + "name": "strict_pow", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109237,10 +107867,10 @@ "11346": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -109250,7 +107880,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1u128.unbounded_shl(4), 0x10);\nassert_eq!(0x1u128.unbounded_shl(129), 0);\n```", + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u32.saturating_add(1), 101);\nassert_eq!(u32::MAX.saturating_add(127), u32::MAX);\n```", "id": 11346, "inner": { "function": { @@ -109282,20 +107912,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "unbounded_shl", + "name": "saturating_add", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109305,10 +107935,10 @@ "11347": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -109318,7 +107948,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10u128.checked_shr(4), Some(0x1));\nassert_eq!(0x10u128.checked_shr(129), None);\n```", + "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u32.saturating_add_signed(2), 3);\nassert_eq!(1u32.saturating_add_signed(-2), 0);\nassert_eq!((u32::MAX - 2).saturating_add_signed(4), u32::MAX);\n```", "id": 11347, "inner": { "function": { @@ -109344,41 +107974,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_shr", + "name": "saturating_add_signed", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109388,23 +108003,20 @@ "11348": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10u128.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u128.strict_shr(129);\n```", + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u32.saturating_sub(27), 73);\nassert_eq!(13u32.saturating_sub(127), 0);\n```", "id": 11348, "inner": { "function": { @@ -109436,20 +108048,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_shr", + "name": "saturating_sub", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109459,20 +108071,20 @@ "11349": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: u128::checked_shr", + "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u32.saturating_sub_signed(2), 0);\nassert_eq!(1u32.saturating_sub_signed(-2), 3);\nassert_eq!((u32::MAX - 2).saturating_sub_signed(-4), u32::MAX);\n```", "id": 11349, "inner": { "function": { @@ -109485,7 +108097,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -109498,28 +108110,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": { - "u128::checked_shr": 11347 - }, - "name": "unchecked_shr", + "links": {}, + "name": "saturating_sub_signed", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109624,10 +108234,10 @@ "11350": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -109637,7 +108247,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10u128.unbounded_shr(4), 0x1);\nassert_eq!(0x10u128.unbounded_shr(129), 0);\n```", + "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2u32.saturating_mul(10), 20);\nassert_eq!((u32::MAX).saturating_mul(10), u32::MAX);\n```", "id": 11350, "inner": { "function": { @@ -109669,20 +108279,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "unbounded_shr", + "name": "saturating_mul", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109692,20 +108302,23 @@ "11351": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2u128.checked_pow(5), Some(32));\nassert_eq!(u128::MAX.checked_pow(2), None);\n```", + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u32.saturating_div(2), 2);\n\n```", "id": 11351, "inner": { "function": { @@ -109729,7 +108342,7 @@ } ], [ - "exp", + "rhs", { "primitive": "u32" } @@ -109737,35 +108350,20 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_pow", + "name": "saturating_div", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109775,23 +108373,20 @@ "11352": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2u128.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = u128::MAX.strict_pow(2);\n```", + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4u32.saturating_pow(3), 64);\nassert_eq!(u32::MAX.saturating_pow(2), u32::MAX);\n```", "id": 11352, "inner": { "function": { @@ -109823,20 +108418,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_pow", + "name": "saturating_pow", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109846,10 +108441,10 @@ "11353": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -109859,7 +108454,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u128.saturating_add(1), 101);\nassert_eq!(u128::MAX.saturating_add(127), u128::MAX);\n```", + "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u32.wrapping_add_signed(2), 3);\nassert_eq!(1u32.wrapping_add_signed(-2), u32::MAX);\nassert_eq!((u32::MAX - 2).wrapping_add_signed(4), 1);\n```", "id": 11353, "inner": { "function": { @@ -109885,26 +108480,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_add", + "name": "wrapping_add_signed", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109914,10 +108509,10 @@ "11354": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -109927,7 +108522,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u128.saturating_add_signed(2), 3);\nassert_eq!(1u128.saturating_add_signed(-2), 0);\nassert_eq!((u128::MAX - 2).saturating_add_signed(4), u128::MAX);\n```", + "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u32.wrapping_sub_signed(2), u32::MAX);\nassert_eq!(1u32.wrapping_sub_signed(-2), 3);\nassert_eq!((u32::MAX - 2).wrapping_sub_signed(-4), 1);\n```", "id": 11354, "inner": { "function": { @@ -109953,26 +108548,26 @@ [ "rhs", { - "primitive": "i128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_add_signed", + "name": "wrapping_sub_signed", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -109982,20 +108577,23 @@ "11355": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u128.saturating_sub(27), 73);\nassert_eq!(13u128.saturating_sub(127), 0);\n```", + "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.wrapping_div(10), 10);\n```", "id": 11355, "inner": { "function": { @@ -110021,26 +108619,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_sub", + "name": "wrapping_div", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110050,20 +108648,23 @@ "11356": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u128.saturating_sub_signed(2), 0);\nassert_eq!(1u128.saturating_sub_signed(-2), 3);\nassert_eq!((u128::MAX - 2).saturating_sub_signed(-4), u128::MAX);\n```", + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.wrapping_div_euclid(10), 10);\n```", "id": 11356, "inner": { "function": { @@ -110089,26 +108690,26 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_sub_signed", + "name": "wrapping_div_euclid", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110118,20 +108719,23 @@ "11357": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2u128.saturating_mul(10), 20);\nassert_eq!((u128::MAX).saturating_mul(10), u128::MAX);\n```", + "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.wrapping_rem(10), 0);\n```", "id": 11357, "inner": { "function": { @@ -110157,26 +108761,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_mul", + "name": "wrapping_rem", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110186,10 +108790,10 @@ "11358": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -110202,7 +108806,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u128.saturating_div(2), 2);\n\n```", + "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u32.wrapping_rem_euclid(10), 0);\n```", "id": 11358, "inner": { "function": { @@ -110228,26 +108832,26 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_div", + "name": "wrapping_rem_euclid", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110257,10 +108861,10 @@ "11359": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -110270,7 +108874,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4u128.saturating_pow(3), 64);\nassert_eq!(u128::MAX.saturating_pow(2), u128::MAX);\n```", + "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_u32.wrapping_neg(), 0);\nassert_eq!(u32::MAX.wrapping_neg(), 1);\nassert_eq!(13_u32.wrapping_neg(), (!13) + 1);\nassert_eq!(42_u32.wrapping_neg(), !(42 - 1));\n```", "id": 11359, "inner": { "function": { @@ -110292,30 +108896,24 @@ { "generic": "Self" } - ], - [ - "exp", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "saturating_pow", + "name": "wrapping_neg", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110360,10 +108958,10 @@ "11360": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -110373,7 +108971,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u128.wrapping_add_signed(2), 3);\nassert_eq!(1u128.wrapping_add_signed(-2), u128::MAX);\nassert_eq!((u128::MAX - 2).wrapping_add_signed(4), 1);\n```", + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1u32.wrapping_shl(7), 128);\nassert_eq!(1u32.wrapping_shl(128), 1);\n```", "id": 11360, "inner": { "function": { @@ -110399,26 +108997,28 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": {}, - "name": "wrapping_add_signed", + "links": { + "Self::rotate_left": 11286 + }, + "name": "wrapping_shl", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110428,10 +109028,10 @@ "11361": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -110441,7 +109041,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u128.wrapping_sub_signed(2), u128::MAX);\nassert_eq!(1u128.wrapping_sub_signed(-2), 3);\nassert_eq!((u128::MAX - 2).wrapping_sub_signed(-4), 1);\n```", + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128u32.wrapping_shr(7), 1);\nassert_eq!(128u32.wrapping_shr(128), 128);\n```", "id": 11361, "inner": { "function": { @@ -110467,26 +109067,28 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": {}, - "name": "wrapping_sub_signed", + "links": { + "Self::rotate_right": 11287 + }, + "name": "wrapping_shr", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110496,23 +109098,20 @@ "11362": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.wrapping_div(10), 10);\n```", + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3u32.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", "id": 11362, "inner": { "function": { @@ -110536,28 +109135,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "wrapping_div", + "name": "wrapping_pow", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110567,23 +109166,20 @@ "11363": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.wrapping_div_euclid(10), 10);\n```", + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_add(2), (7, false));\nassert_eq!(u32::MAX.overflowing_add(1), (0, true));\n```", "id": 11363, "inner": { "function": { @@ -110609,26 +109205,33 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "tuple": [ + { + "primitive": "u32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "wrapping_div_euclid", + "name": "overflowing_add", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110638,24 +109241,96 @@ "11364": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u32.overflowing_add_signed(2), (3, false));\nassert_eq!(1u32.overflowing_add_signed(-2), (u32::MAX, true));\nassert_eq!((u32::MAX - 2).overflowing_add_signed(4), (1, true));\n```", + "id": 11364, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "i32" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "u32" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_add_signed", + "span": { + "begin": [ + 1134, + 5 + ], + "end": [ + 1155, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11365": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.wrapping_rem(10), 0);\n```", - "id": 11364, + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_sub(2), (3, false));\nassert_eq!(0u32.overflowing_sub(1), (u32::MAX, true));\n```", + "id": 11365, "inner": { "function": { "generics": { @@ -110680,53 +109355,57 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "tuple": [ + { + "primitive": "u32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "wrapping_rem", + "name": "overflowing_sub", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11365": { + "11366": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.wrapping_rem_euclid(10), 0);\n```", - "id": 11365, + "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u32.overflowing_sub_signed(2), (u32::MAX, true));\nassert_eq!(1u32.overflowing_sub_signed(-2), (3, false));\nassert_eq!((u32::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", + "id": 11366, "inner": { "function": { "generics": { @@ -110751,88 +109430,33 @@ [ "rhs", { - "primitive": "u128" + "primitive": "i32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" - } - } - } - }, - "links": {}, - "name": "wrapping_rem_euclid", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11366": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_u128.wrapping_neg(), 0);\nassert_eq!(u128::MAX.wrapping_neg(), 1);\nassert_eq!(13_u128.wrapping_neg(), (!13) + 1);\nassert_eq!(42_u128.wrapping_neg(), !(42 - 1));\n```", - "id": 11366, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", + "tuple": [ { - "generic": "Self" + "primitive": "u32" + }, + { + "primitive": "bool" } ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u128" } } } }, "links": {}, - "name": "wrapping_neg", + "name": "overflowing_sub_signed", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110842,10 +109466,10 @@ "11367": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" }, { "must_use": { @@ -110855,7 +109479,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1u128.wrapping_shl(7), 128);\nassert_eq!(1u128.wrapping_shl(128), 1);\n```", + "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100u32.abs_diff(80), 20u32);\nassert_eq!(100u32.abs_diff(110), 10u32);\n```", "id": 11367, "inner": { "function": { @@ -110879,7 +109503,7 @@ } ], [ - "rhs", + "other", { "primitive": "u32" } @@ -110887,22 +109511,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": { - "Self::rotate_left": 11299 - }, - "name": "wrapping_shl", + "links": {}, + "name": "abs_diff", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110912,10 +109534,10 @@ "11368": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -110925,7 +109547,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128u128.wrapping_shr(7), 1);\nassert_eq!(128u128.wrapping_shr(128), 128);\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you also need to add a value, then use [`Self::carrying_mul_add`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(u32::MAX.carrying_mul(u32::MAX, u32::MAX), (0, u32::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", "id": 11368, "inner": { "function": { @@ -110953,26 +109575,42 @@ { "primitive": "u32" } + ], + [ + "carry", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "tuple": [ + { + "primitive": "u32" + }, + { + "primitive": "u32" + } + ] } } } }, "links": { - "Self::rotate_right": 11300 + "Self::overflowing_mul": 11369, + "Self::wrapping_add": 11298, + "Self::wrapping_mul": 11311, + "`Self::carrying_mul_add`": 11370 }, - "name": "wrapping_shr", + "name": "carrying_mul", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -110982,10 +109620,10 @@ "11369": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -110995,7 +109633,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3u128.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\nIf you want the *value* of the overflow, rather than just *whether*\nan overflow occurred, see [`Self::carrying_mul`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", "id": 11369, "inner": { "function": { @@ -111019,7 +109657,7 @@ } ], [ - "exp", + "rhs", { "primitive": "u32" } @@ -111027,20 +109665,29 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "tuple": [ + { + "primitive": "u32" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "wrapping_pow", + "links": { + "`Self::carrying_mul`": 11368 + }, + "name": "overflowing_mul", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111105,11 +109752,11 @@ "name": "or_insert", "span": { "begin": [ - 2351, + 2346, 5 ], "end": [ - 2356, + 2351, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -111119,10 +109766,10 @@ "11370": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -111132,7 +109779,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_add(2), (7, false));\nassert_eq!(u128::MAX.overflowing_add(1), (0, true));\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nThis cannot overflow, as the double-width result has exactly enough\nspace for the largest possible result. This is equivalent to how, in\ndecimal, 9 × 9 + 9 + 9 = 81 + 18 = 99 = 9×10⁰ + 9×10¹ = 10² - 1.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `add` part, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(u32::MAX.carrying_mul_add(u32::MAX, u32::MAX, u32::MAX), (u32::MAX, u32::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xcffc982d);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xcffc982d)\n);\n```", "id": 11370, "inner": { "function": { @@ -111158,7 +109805,19 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" + } + ], + [ + "carry", + { + "primitive": "u32" + } + ], + [ + "add", + { + "primitive": "u32" } ] ], @@ -111166,25 +109825,27 @@ "output": { "tuple": [ { - "primitive": "u128" + "primitive": "u32" }, { - "primitive": "bool" + "primitive": "u32" } ] } } } }, - "links": {}, - "name": "overflowing_add", + "links": { + "`Self::carrying_mul`": 11368 + }, + "name": "carrying_mul_add", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111194,10 +109855,10 @@ "11371": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, { "must_use": { @@ -111207,7 +109868,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u128.overflowing_add_signed(2), (3, false));\nassert_eq!(1u128.overflowing_add_signed(-2), (u128::MAX, true));\nassert_eq!((u128::MAX - 2).overflowing_add_signed(4), (1, true));\n```", + "docs": "Calculates the complete double-width product `self * rhs`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order. As such,\n`a.widening_mul(b).0` produces the same result as `a.wrapping_mul(b)`.\n\nIf you also need to add a value and carry to the wide result, then you want\n[`Self::carrying_mul_add`] instead.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\nIf you just want to know *whether* the multiplication overflowed, then you\nwant [`Self::overflowing_mul`] instead.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5_u32.widening_mul(7), (35, 0));\nassert_eq!(u32::MAX.widening_mul(u32::MAX), (1, u32::MAX - 1));\n```\n\nCompared to other `*_mul` methods:\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(u32::widening_mul(1 << 31, 6), (0, 3));\nassert_eq!(u32::overflowing_mul(1 << 31, 6), (0, true));\nassert_eq!(u32::wrapping_mul(1 << 31, 6), 0);\nassert_eq!(u32::checked_mul(1 << 31, 6), None);\n```\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", "id": 11371, "inner": { "function": { @@ -111233,7 +109894,7 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], @@ -111241,25 +109902,29 @@ "output": { "tuple": [ { - "primitive": "u128" + "primitive": "u32" }, { - "primitive": "bool" + "primitive": "u32" } ] } } } }, - "links": {}, - "name": "overflowing_add_signed", + "links": { + "`Self::carrying_mul_add`": 11370, + "`Self::carrying_mul`": 11368, + "`Self::overflowing_mul`": 11369 + }, + "name": "widening_mul", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111269,7 +109934,7 @@ "11372": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -111278,11 +109943,14 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_sub(2), (3, false));\nassert_eq!(0u128.overflowing_sub(1), (u128::MAX, true));\n```", + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_div(2), (2, false));\n```", "id": 11372, "inner": { "function": { @@ -111308,7 +109976,7 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], @@ -111316,7 +109984,7 @@ "output": { "tuple": [ { - "primitive": "u128" + "primitive": "u32" }, { "primitive": "bool" @@ -111327,14 +109995,14 @@ } }, "links": {}, - "name": "overflowing_sub", + "name": "overflowing_div", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111344,20 +110012,23 @@ "11373": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u128.overflowing_sub_signed(2), (u128::MAX, true));\nassert_eq!(1u128.overflowing_sub_signed(-2), (3, false));\nassert_eq!((u128::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_div_euclid(2), (2, false));\n```", "id": 11373, "inner": { "function": { @@ -111383,7 +110054,7 @@ [ "rhs", { - "primitive": "i128" + "primitive": "u32" } ] ], @@ -111391,7 +110062,7 @@ "output": { "tuple": [ { - "primitive": "u128" + "primitive": "u32" }, { "primitive": "bool" @@ -111402,14 +110073,14 @@ } }, "links": {}, - "name": "overflowing_sub_signed", + "name": "overflowing_div_euclid", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111419,20 +110090,23 @@ "11374": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100u128.abs_diff(80), 20u128);\nassert_eq!(100u128.abs_diff(110), 10u128);\n```", + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_rem(2), (1, false));\n```", "id": 11374, "inner": { "function": { @@ -111456,28 +110130,35 @@ } ], [ - "other", + "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "tuple": [ + { + "primitive": "u32" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "abs_diff", + "name": "overflowing_rem", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111487,20 +110168,23 @@ "11375": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why why `u32`\nis used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", + "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u32.overflowing_rem_euclid(2), (1, false));\n```", "id": 11375, "inner": { "function": { @@ -111526,7 +110210,7 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], @@ -111534,7 +110218,7 @@ "output": { "tuple": [ { - "primitive": "u128" + "primitive": "u32" }, { "primitive": "bool" @@ -111545,14 +110229,14 @@ } }, "links": {}, - "name": "overflowing_mul", + "name": "overflowing_rem_euclid", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111562,10 +110246,10 @@ "11376": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -111575,7 +110259,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(u128::MAX.carrying_mul(u128::MAX, u128::MAX), (0, u128::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", + "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0u32.overflowing_neg(), (0, false));\nassert_eq!(2u32.overflowing_neg(), (-2i32 as u32, true));\n```", "id": 11376, "inner": { "function": { @@ -111597,48 +110281,31 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } - ], - [ - "carry", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { "tuple": [ { - "primitive": "u128" + "primitive": "u32" }, { - "primitive": "u128" + "primitive": "bool" } ] } } } }, - "links": { - "Self::overflowing_mul": 11375, - "Self::wrapping_add": 11309, - "Self::wrapping_mul": 11322, - "`Self::widening_mul`": 11377 - }, - "name": "carrying_mul", + "links": {}, + "name": "overflowing_neg", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111648,10 +110315,10 @@ "11377": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -111661,7 +110328,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1u32.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1u32.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10u32.overflowing_shl(31), (0, false));\n```", "id": 11377, "inner": { "function": { @@ -111687,7 +110354,7 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], @@ -111695,27 +110362,25 @@ "output": { "tuple": [ { - "primitive": "u128" + "primitive": "u32" }, { - "primitive": "u128" + "primitive": "bool" } ] } } } }, - "links": { - "`Self::carrying_mul`": 11376 - }, - "name": "widening_mul", + "links": {}, + "name": "overflowing_shl", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111725,10 +110390,10 @@ "11378": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -111738,7 +110403,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(u128::MAX.carrying_mul_add(u128::MAX, u128::MAX, u128::MAX), (u128::MAX, u128::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\n#![feature(bigint_helper_methods)]\n\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xCFFC982D);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xCFFC982D)\n);\n```", + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10u32.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10u32.overflowing_shr(132), (0x1, true));\n```", "id": 11378, "inner": { "function": { @@ -111764,19 +110429,7 @@ [ "rhs", { - "primitive": "u128" - } - ], - [ - "carry", - { - "primitive": "u128" - } - ], - [ - "add", - { - "primitive": "u128" + "primitive": "u32" } ] ], @@ -111784,28 +110437,25 @@ "output": { "tuple": [ { - "primitive": "u128" + "primitive": "u32" }, { - "primitive": "u128" + "primitive": "bool" } ] } } } }, - "links": { - "`Self::carrying_mul`": 11376, - "`Self::widening_mul`": 11377 - }, - "name": "carrying_mul_add", + "links": {}, + "name": "overflowing_shr", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111815,23 +110465,20 @@ "11379": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_div(2), (2, false));\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3u32.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", "id": 11379, "inner": { "function": { @@ -111855,9 +110502,9 @@ } ], [ - "rhs", + "exp", { - "primitive": "u128" + "primitive": "u32" } ] ], @@ -111865,7 +110512,7 @@ "output": { "tuple": [ { - "primitive": "u128" + "primitive": "u32" }, { "primitive": "bool" @@ -111876,14 +110523,14 @@ } }, "links": {}, - "name": "overflowing_div", + "name": "overflowing_pow", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -111978,11 +110625,11 @@ "name": "or_insert_with", "span": { "begin": [ - 2375, + 2370, 5 ], "end": [ - 2380, + 2375, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -111990,6 +110637,136 @@ "visibility": "public" }, "11380": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2u32.pow(5), 32);\n```", + "id": 11380, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "pow", + "span": { + "begin": [ + 1134, + 5 + ], + "end": [ + 1155, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11381": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10u32.isqrt(), 3);\n```", + "id": 11381, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "isqrt", + "span": { + "begin": [ + 1134, + 5 + ], + "end": [ + 1155, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11382": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" @@ -112008,8 +110785,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_div_euclid(2), (2, false));\n```", - "id": 11380, + "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u32.div_euclid(4), 1); // or any other integer type\n```", + "id": 11382, "inner": { "function": { "generics": { @@ -112034,119 +110811,37 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_div_euclid", + "name": "div_euclid", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11381": { + "11383": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" }, - { - "other": "#[attr = TrackCaller]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_rem(2), (1, false));\n```", - "id": 11381, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "u128" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "bool" - } - ] - } - } - } - }, - "links": {}, - "name": "overflowing_rem", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11382": { - "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, @@ -112164,8 +110859,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_rem_euclid(2), (1, false));\n```", - "id": 11382, + "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u32.rem_euclid(4), 3); // or any other integer type\n```", + "id": 11383, "inner": { "function": { "generics": { @@ -112190,125 +110885,49 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "rem_euclid", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11383": { + "11384": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0u128.overflowing_neg(), (0, false));\nassert_eq!(2u128.overflowing_neg(), (-2i32 as u128, true));\n```", - "id": 11383, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "bool" - } - ] - } - } - } - }, - "links": {}, - "name": "overflowing_neg", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11384": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1u128.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1u128.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10u128.overflowing_shl(127), (0, false));\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_u32.div_floor(4), 1);\n```", "id": 11384, "inner": { "function": { @@ -112340,27 +110959,20 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_shl", + "name": "div_floor", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -112370,20 +110982,23 @@ "11385": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10u128.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10u128.overflowing_shr(132), (0x1, true));\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_u32.div_ceil(4), 2);\n```", "id": 11385, "inner": { "function": { @@ -112415,27 +111030,20 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_shr", + "name": "div_ceil", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -112445,10 +111053,10 @@ "11386": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { @@ -112458,7 +111066,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3u128.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_u32.next_multiple_of(8), 16);\nassert_eq!(23_u32.next_multiple_of(8), 24);\n```", "id": 11386, "inner": { "function": { @@ -112482,7 +111090,7 @@ } ], [ - "exp", + "rhs", { "primitive": "u32" } @@ -112490,27 +111098,20 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "u128" - }, - { - "primitive": "bool" - } - ] + "primitive": "u32" } } } }, "links": {}, - "name": "overflowing_pow", + "name": "next_multiple_of", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -112520,10 +111121,10 @@ "11387": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { @@ -112533,7 +111134,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2u128.pow(5), 32);\n```", + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_u32.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_u32.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_u32.checked_next_multiple_of(0), None);\nassert_eq!(u32::MAX.checked_next_multiple_of(2), None);\n```", "id": 11387, "inner": { "function": { @@ -112557,7 +111158,7 @@ } ], [ - "exp", + "rhs", { "primitive": "u32" } @@ -112565,20 +111166,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "pow", + "name": "checked_next_multiple_of", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -112588,20 +111204,20 @@ "11388": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10u128.isqrt(), 3);\n```", + "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_u32.is_multiple_of(2));\nassert!(!5_u32.is_multiple_of(2));\n\nassert!(0_u32.is_multiple_of(0));\nassert!(!6_u32.is_multiple_of(0));\n```", "id": 11388, "inner": { "function": { @@ -112623,24 +111239,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "bool" } } } }, "links": {}, - "name": "isqrt", + "name": "is_multiple_of", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -112650,23 +111272,20 @@ "11389": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u128.div_euclid(4), 1); // or any other integer type\n```", + "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16u32.is_power_of_two());\nassert!(!10u32.is_power_of_two());\n```", "id": 11389, "inner": { "function": { @@ -112688,30 +111307,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "bool" } } } }, "links": {}, - "name": "div_euclid", + "name": "is_power_of_two", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -112816,11 +111429,11 @@ "name": "or_insert_with_key", "span": { "begin": [ - 2402, + 2397, 5 ], "end": [ - 2410, + 2405, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -112830,26 +111443,20 @@ "11390": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u128.rem_euclid(4), 3); // or any other integer type\n```", + "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2u32.next_power_of_two(), 2);\nassert_eq!(3u32.next_power_of_two(), 4);\nassert_eq!(0u32.next_power_of_two(), 1);\n```", "id": 11390, "inner": { "function": { @@ -112871,30 +111478,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "rem_euclid", + "name": "next_power_of_two", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -112904,20 +111505,20 @@ "11391": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_u128.div_floor(4), 1);\n```", + "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2u32.checked_next_power_of_two(), Some(2));\nassert_eq!(3u32.checked_next_power_of_two(), Some(4));\nassert_eq!(u32::MAX.checked_next_power_of_two(), None);\n```", "id": 11391, "inner": { "function": { @@ -112939,30 +111540,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "div_floor", + "name": "checked_next_power_of_two", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -112972,23 +111582,17 @@ "11392": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_u128.div_ceil(4), 2);\n```", + "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2u32.wrapping_next_power_of_two(), 2);\nassert_eq!(3u32.wrapping_next_power_of_two(), 4);\nassert_eq!(u32::MAX.wrapping_next_power_of_two(), 0);\n```", "id": 11392, "inner": { "function": { @@ -113010,30 +111614,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "div_ceil", + "name": "wrapping_next_power_of_two", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -113043,10 +111641,10 @@ "11393": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -113056,7 +111654,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_u128.next_multiple_of(8), 16);\nassert_eq!(23_u128.next_multiple_of(8), 24);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678u32.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78]);\n```", "id": 11393, "inner": { "function": { @@ -113078,30 +111676,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "next_multiple_of", + "name": "to_be_bytes", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -113111,10 +111708,10 @@ "11394": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -113124,7 +111721,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_u128.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_u128.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_u128.checked_next_multiple_of(0), None);\nassert_eq!(u128::MAX.checked_next_multiple_of(2), None);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678u32.to_le_bytes();\nassert_eq!(bytes, [0x78, 0x56, 0x34, 0x12]);\n```", "id": 11394, "inner": { "function": { @@ -113146,45 +111743,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } } } } } }, "links": {}, - "name": "checked_next_multiple_of", + "name": "to_le_bytes", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -113194,20 +111775,20 @@ "11395": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_u128.is_multiple_of(2));\nassert!(!5_u128.is_multiple_of(2));\n\nassert!(0_u128.is_multiple_of(0));\nassert!(!6_u128.is_multiple_of(0));\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12345678u32.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78]\n } else {\n [0x78, 0x56, 0x34, 0x12]\n }\n);\n```", "id": 11395, "inner": { "function": { @@ -113229,30 +111810,32 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "is_multiple_of", + "links": { + "Self::to_be_bytes": 11393, + "Self::to_le_bytes": 11394 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -113262,10 +111845,10 @@ "11396": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -113275,7 +111858,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16u128.is_power_of_two());\nassert!(!10u128.is_power_of_two());\n```", + "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n\n# Examples\n\n```\nlet value = u32::from_be_bytes([0x12, 0x34, 0x56, 0x78]);\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_u32(input: &mut &[u8]) -> u32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u32::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11396, "inner": { "function": { @@ -113293,28 +111876,33 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "u32" } } } }, "links": {}, - "name": "is_power_of_two", + "name": "from_be_bytes", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -113324,20 +111912,20 @@ "11397": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2u128.next_power_of_two(), 2);\nassert_eq!(3u128.next_power_of_two(), 4);\nassert_eq!(0u128.next_power_of_two(), 1);\n```", + "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n\n# Examples\n\n```\nlet value = u32::from_le_bytes([0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_u32(input: &mut &[u8]) -> u32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u32::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11397, "inner": { "function": { @@ -113355,28 +111943,33 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, "links": {}, - "name": "next_power_of_two", + "name": "from_le_bytes", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -113386,20 +111979,20 @@ "11398": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2u128.checked_next_power_of_two(), Some(2));\nassert_eq!(3u128.checked_next_power_of_two(), Some(4));\nassert_eq!(u128::MAX.checked_next_power_of_two(), None);\n```", + "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = u32::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78]\n} else {\n [0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x12345678);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_u32(input: &mut &[u8]) -> u32 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u32::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11398, "inner": { "function": { @@ -113417,43 +112010,36 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u128" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, - "links": {}, - "name": "checked_next_power_of_two", + "links": { + "Self::from_be_bytes": 11396, + "Self::from_le_bytes": 11397 + }, + "name": "from_ne_bytes", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -113463,17 +112049,21 @@ "11399": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" + "other": "#[rustc_diagnostic_item = \"u32_legacy_fn_min_value\"]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2u128.wrapping_next_power_of_two(), 2);\nassert_eq!(3u128.wrapping_next_power_of_two(), 4);\nassert_eq!(u128::MAX.wrapping_next_power_of_two(), 0);\n```", + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`u32::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", "id": 11399, "inner": { "function": { @@ -113489,30 +112079,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } }, - "links": {}, - "name": "wrapping_next_power_of_two", + "links": { + "`u32::MIN`": 11271 + }, + "name": "min_value", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -113536,8 +112121,8 @@ "use": { "id": 115, "is_glob": false, - "name": "Eq", - "source": "core::prelude::v1::Eq" + "name": "Hash", + "source": "core::prelude::v1::Hash" } }, "links": {}, @@ -113545,11 +112130,11 @@ "span": { "begin": [ 52, - 59 + 63 ], "end": [ 52, - 61 + 67 ], "filename": "std/src/prelude/v1.rs" }, @@ -113613,11 +112198,11 @@ "name": "key", "span": { "begin": [ - 2424, + 2419, 5 ], "end": [ - 2429, + 2424, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -113627,20 +112212,21 @@ "11400": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"u32_legacy_fn_max_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012u128.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]);\n```", + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`u32::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", "id": 11400, "inner": { "function": { @@ -113656,35 +112242,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "primitive": "u32" } } } }, - "links": {}, - "name": "to_be_bytes", + "links": { + "`u32::MAX`": 6042 + }, + "name": "max_value", "span": { "begin": [ - 1174, + 1134, 5 ], "end": [ - 1194, + 1155, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -113694,10 +112270,16 @@ "11401": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + "other": "#[doc(alias = \"average_floor\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[doc(alias = \"average\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" }, { "must_use": { @@ -113707,471 +112289,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012u128.to_le_bytes();\nassert_eq!(bytes, [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0u32.midpoint(4), 2);\nassert_eq!(1u32.midpoint(4), 2);\n```", "id": 11401, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } - } - } - } - }, - "links": {}, - "name": "to_le_bytes", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11402": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012u128.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]\n } else {\n [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", - "id": 11402, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } - } - } - } - }, - "links": { - "Self::to_be_bytes": 11400, - "Self::to_le_bytes": 11401 - }, - "name": "to_ne_bytes", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11403": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n\n# Examples\n\n```\nlet value = u128::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]);\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_u128(input: &mut &[u8]) -> u128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u128::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11403, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u128" - } - } - } - }, - "links": {}, - "name": "from_be_bytes", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11404": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n\n# Examples\n\n```\nlet value = u128::from_le_bytes([0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_u128(input: &mut &[u8]) -> u128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u128::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11404, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u128" - } - } - } - }, - "links": {}, - "name": "from_le_bytes", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11405": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = u128::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]\n} else {\n [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_u128(input: &mut &[u8]) -> u128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u128::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11405, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u128" - } - } - } - }, - "links": { - "Self::from_be_bytes": 11403, - "Self::from_le_bytes": 11404 - }, - "name": "from_ne_bytes", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11406": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"u128_legacy_fn_min_value\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`u128::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", - "id": 11406, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "primitive": "u128" - } - } - } - }, - "links": { - "`u128::MIN`": 11283 - }, - "name": "min_value", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11407": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"u128_legacy_fn_max_value\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`u128::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", - "id": 11407, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "primitive": "u128" - } - } - } - }, - "links": { - "`u128::MAX`": 11284 - }, - "name": "max_value", - "span": { - "begin": [ - 1174, - 5 - ], - "end": [ - 1194, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11408": { - "attrs": [ - { - "other": "#[doc(alias = \"average_floor\")]" - }, - { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0u128.midpoint(4), 2);\nassert_eq!(1u128.midpoint(4), 2);\n```", - "id": 11408, "inner": { "function": { "generics": { @@ -114196,13 +112315,13 @@ [ "rhs", { - "primitive": "u128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "u128" + "primitive": "u32" } } } @@ -114211,28 +112330,28 @@ "name": "midpoint", "span": { "begin": [ - 1195, + 1156, 5 ], "end": [ - 1195, - 38 + 1156, + 42 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11409": { + "11402": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 11409, + "id": 11402, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "u128" + "primitive": "u32" }, "generics": { "params": [], @@ -114242,11 +112361,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 11271, + 6042, + 11272, + 11273, + 11274, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, 11283, 11284, 11285, 11286, 11287, + 11288, 11289, 11290, 11291, @@ -114256,31 +112388,32 @@ 11295, 11296, 11297, - 11298, 11299, 11300, 11301, 11302, 11303, - 11304, 11305, 11306, 11307, 11308, + 11309, 11310, - 11311, 11312, 11313, 11314, + 11315, 11316, 11317, 11318, 11319, 11320, 11321, + 11322, 11323, 11324, 11325, + 11275, 11326, 11327, 11328, @@ -114292,7 +112425,6 @@ 11334, 11335, 11336, - 11288, 11337, 11338, 11339, @@ -114309,36 +112441,36 @@ 11350, 11351, 11352, + 11298, 11353, + 11304, 11354, + 11311, 11355, 11356, 11357, 11358, 11359, - 11309, 11360, - 11315, 11361, - 11322, 11362, 11363, + 10628, 11364, 11365, + 10632, 11366, 11367, - 11368, 11369, - 11370, - 10679, 11371, + 11368, + 11370, 11372, - 10683, 11373, 11374, 11375, - 11377, 11376, + 11377, 11378, 11379, 11380, @@ -114362,14 +112494,7 @@ 11398, 11399, 11400, - 11401, - 11402, - 11403, - 11404, - 11405, - 11406, - 11407, - 11408 + 11401 ], "provided_trait_methods": [], "trait": null @@ -114379,129 +112504,18 @@ "name": null, "span": { "begin": [ - 1173, + 1133, 1 ], "end": [ - 1173, - 10 + 1133, + 9 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "default" }, - "1141": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"entry_and_modify\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Provides in-place mutable access to an occupied entry before any\npotential inserts into the map.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\n\nmap.entry(\"poneyland\")\n .and_modify(|e| { *e += 1 })\n .or_insert(42);\nassert_eq!(map[\"poneyland\"], 42);\n\nmap.entry(\"poneyland\")\n .and_modify(|e| { *e += 1 })\n .or_insert(42);\nassert_eq!(map[\"poneyland\"], 43);\n```", - "id": 1141, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "V" - } - } - } - ], - "output": null - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } - } - } - }, - "links": {}, - "name": "and_modify", - "span": { - "begin": [ - 2453, - 5 - ], - "end": [ - 2464, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "11410": { + "11403": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" @@ -114512,8 +112526,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(u128::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(u128::from_str_radix(\"1 \", 10).is_err());\n```", - "id": 11410, + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(u32::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(u32::from_str_radix(\"1 \", 10).is_err());\n```", + "id": 11403, "inner": { "function": { "generics": { @@ -114556,14 +112570,14 @@ "args": [ { "type": { - "primitive": "u128" + "primitive": "u32" } }, { "type": { "resolved_path": { "args": null, - "id": 4784, + "id": 4786, "path": "ParseIntError" } } @@ -114583,18 +112597,18 @@ "name": "from_str_radix", "span": { "begin": [ - 1631, + 1667, 1 ], "end": [ - 1631, + 1667, 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11411": { + "11404": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" @@ -114602,8 +112616,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u128::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u128::from_ascii(b\"1 \").is_err());\n```", - "id": 11411, + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u32::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u32::from_ascii(b\"1 \").is_err());\n```", + "id": 11404, "inner": { "function": { "generics": { @@ -114642,14 +112656,14 @@ "args": [ { "type": { - "primitive": "u128" + "primitive": "u32" } }, { "type": { "resolved_path": { "args": null, - "id": 4784, + "id": 4786, "path": "ParseIntError" } } @@ -114669,18 +112683,18 @@ "name": "from_ascii", "span": { "begin": [ - 1631, + 1667, 1 ], "end": [ - 1631, + 1667, 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11412": { + "11405": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" @@ -114688,8 +112702,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u128::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u128::from_ascii_radix(b\"1 \", 10).is_err());\n```", - "id": 11412, + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u32::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u32::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "id": 11405, "inner": { "function": { "generics": { @@ -114734,14 +112748,14 @@ "args": [ { "type": { - "primitive": "u128" + "primitive": "u32" } }, { "type": { "resolved_path": { "args": null, - "id": 4784, + "id": 4786, "path": "ParseIntError" } } @@ -114761,28 +112775,28 @@ "name": "from_ascii_radix", "span": { "begin": [ - 1631, + 1667, 1 ], "end": [ - 1631, + 1667, 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11413": { + "11406": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 11413, + "id": 11406, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "u128" + "primitive": "u32" }, "generics": { "params": [], @@ -114792,9 +112806,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 11410, - 11411, - 11412 + 11403, + 11404, + 11405 ], "provided_trait_methods": [], "trait": null @@ -114804,18 +112818,18 @@ "name": null, "span": { "begin": [ - 1631, + 1667, 1 ], "end": [ - 1631, + 1667, 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "default" }, - "11414": { + "11407": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" @@ -114823,8 +112837,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0u128;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32u128;\nlet mut buf1 = NumBuffer::new();\nassert_eq!(n1.format_into(&mut buf1), \"32\");\n\nlet n2 = u128::MAX;\nlet mut buf2 = NumBuffer::new();\nassert_eq!(n2.format_into(&mut buf2), u128::MAX.to_string());\n```", - "id": 11414, + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0u32;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32u32;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = u32 :: MAX;\nassert_eq!(n2.format_into(&mut buf), u32 :: MAX.to_string());\n```", + "id": 11407, "inner": { "function": { "generics": { @@ -114859,14 +112873,14 @@ "args": [ { "type": { - "primitive": "u128" + "primitive": "u32" } } ], "constraints": [] } }, - "id": 10162, + "id": 10387, "path": "NumBuffer" } } @@ -114888,33 +112902,33 @@ } }, "links": { - "`NumBuffer`": 10162 + "`NumBuffer`": 10387 }, "name": "format_into", "span": { "begin": [ - 724, + 599, 5 ], "end": [ - 724, - 64 + 599, + 95 ], "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "public" }, - "11415": { + "11408": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 11415, + "id": 11408, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "u128" + "primitive": "u32" }, "generics": { "params": [], @@ -114924,7 +112938,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 11414 + 11407 ], "provided_trait_methods": [], "trait": null @@ -114934,89 +112948,162 @@ "name": null, "span": { "begin": [ - 602, - 1 + 599, + 5 ], "end": [ - 602, - 10 + 599, + 95 ], "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "default" }, - "11416": { + "11409": { "attrs": [ { - "other": "#[rustc_doc_primitive = \"isize\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "The pointer-sized signed integer type.\n\nThe size of this primitive is how many bytes it takes to reference any\nlocation in memory. For example, on a 32 bit target, this is 4 bytes\nand on a 64 bit target, this is 8 bytes.", - "id": 11416, + "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(u64::MIN, 0);\n```", + "id": 11409, "inner": { - "primitive": { - "impls": [ - 11552, - 11556, - 11558 - ], - "name": "isize" + "assoc_const": { + "type": { + "primitive": "u64" + }, + "value": "0" } }, "links": {}, - "name": "isize", + "name": "MIN", "span": { "begin": [ - 1488, - 1 + 1160, + 5 ], "end": [ - 1488, - 18 + 1181, + 6 ], - "filename": "std/src/../../core/src/primitive_docs.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11417": { + "1141": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"entry_and_modify\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "The smallest value that can be represented by this integer type\n(−263 on 64-bit targets).\n\n# Examples\n\n```\nassert_eq!(isize::MIN, -9223372036854775808);\n```", - "id": 11417, + "docs": "Provides in-place mutable access to an occupied entry before any\npotential inserts into the map.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\n\nmap.entry(\"poneyland\")\n .and_modify(|e| { *e += 1 })\n .or_insert(42);\nassert_eq!(map[\"poneyland\"], 42);\n\nmap.entry(\"poneyland\")\n .and_modify(|e| { *e += 1 })\n .or_insert(42);\nassert_eq!(map[\"poneyland\"], 43);\n```", + "id": 1141, "inner": { - "assoc_const": { - "type": { - "primitive": "isize" + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "V" + } + } + } + ], + "output": null + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } } }, "links": {}, - "name": "MIN", + "name": "and_modify", "span": { "begin": [ - 420, + 2448, 5 ], "end": [ - 439, + 2459, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "public" }, - "11418": { + "11410": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" @@ -115024,12 +113111,12 @@ ], "crate_id": 1, "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(263 − 1 on 64-bit targets).\n\n# Examples\n\n```\nassert_eq!(isize::MAX, 9223372036854775807);\n```", - "id": 11418, + "docs": "The largest value that can be represented by this integer type\n(264 − 1).\n\n# Examples\n\n```\nassert_eq!(u64::MAX, 18446744073709551615);\n```", + "id": 11410, "inner": { "assoc_const": { "type": { - "primitive": "isize" + "primitive": "u64" }, "value": "_" } @@ -115038,18 +113125,18 @@ "name": "MAX", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11419": { + "11411": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" @@ -115057,44 +113144,55 @@ ], "crate_id": 1, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(isize::BITS, 64);\n```", - "id": 11419, + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(u64::BITS, 64);\n```", + "id": 11411, "inner": { "assoc_const": { "type": { "primitive": "u32" }, - "value": "usize::BITS" + "value": "_" } }, "links": {}, "name": "BITS", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1142": { + "11412": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"entry_insert\"}}]" + "other": "#[doc(alias = \"popcount\")]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Sets the value of the entry, and returns an `OccupiedEntry`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, String> = HashMap::new();\nlet entry = map.entry(\"poneyland\").insert_entry(\"hoho\".to_string());\n\nassert_eq!(entry.key(), &\"poneyland\");\n```", - "id": 1142, + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100u64;\nassert_eq!(n.count_ones(), 3);\n\nlet max = u64::MAX;\nassert_eq!(max.count_ones(), 64);\n\nlet zero = 0u64;\nassert_eq!(zero.count_ones(), 0);\n```", + "id": 11412, "inner": { "function": { "generics": { @@ -115105,7 +113203,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -115115,69 +113213,34 @@ { "generic": "Self" } - ], - [ - "value", - { - "generic": "V" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1132, - "path": "OccupiedEntry" - } + "primitive": "u32" } } } }, "links": {}, - "name": "insert_entry", + "name": "count_ones", "span": { "begin": [ - 2480, + 1160, 5 ], "end": [ - 2488, + 1181, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11420": { + "11413": { "attrs": [ { - "other": "#[doc(alias = \"popcount\")]" - }, - { - "other": "#[doc(alias = \"popcnt\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -115190,8 +113253,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000isize;\n\nassert_eq!(n.count_ones(), 1);\n```\n", - "id": 11420, + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0u64;\nassert_eq!(zero.count_zeros(), 64);\n\nlet max = u64::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", + "id": 11413, "inner": { "function": { "generics": { @@ -115222,38 +113285,41 @@ } }, "links": {}, - "name": "count_ones", + "name": "count_zeros", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11421": { + "11414": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(isize::MAX.count_zeros(), 1);\n```", - "id": 11421, + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2u64.ilog2(), 1);\n```", + "id": 11414, "inner": { "function": { "generics": { @@ -115284,41 +113350,38 @@ } }, "links": {}, - "name": "count_zeros", + "name": "ilog2", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11422": { + "11415": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2isize.ilog2(), 1);\n```", - "id": 11422, + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = u64::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0u64;\nassert_eq!(zero.leading_zeros(), 64);\n\nlet max = u64::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: u64::ilog2", + "id": 11415, "inner": { "function": { "generics": { @@ -115348,25 +113411,27 @@ } } }, - "links": {}, - "name": "ilog2", + "links": { + "u64::ilog2": 11414 + }, + "name": "leading_zeros", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11423": { + "11416": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -115379,8 +113444,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1isize;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: isize::ilog2", - "id": 11423, + "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000u64;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0u64;\nassert_eq!(zero.trailing_zeros(), 64);\n\nlet max = u64::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", + "id": 11416, "inner": { "function": { "generics": { @@ -115410,30 +113475,28 @@ } } }, - "links": { - "isize::ilog2": 11422 - }, - "name": "leading_zeros", + "links": {}, + "name": "trailing_zeros", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11424": { + "11417": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" }, { "must_use": { @@ -115443,8 +113506,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4isize;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", - "id": 11424, + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(u64::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0u64;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = u64::MAX;\nassert_eq!(max.leading_ones(), 64);\n```", + "id": 11417, "inner": { "function": { "generics": { @@ -115475,21 +113538,21 @@ } }, "links": {}, - "name": "trailing_zeros", + "name": "leading_ones", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11425": { + "11418": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" @@ -115505,8 +113568,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1isize;\n\nassert_eq!(n.leading_ones(), 64);\n```", - "id": 11425, + "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111u64;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0u64;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = u64::MAX;\nassert_eq!(max.trailing_ones(), 64);\n```", + "id": 11418, "inner": { "function": { "generics": { @@ -115537,27 +113600,24 @@ } }, "links": {}, - "name": "leading_ones", + "name": "trailing_ones", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11426": { + "11419": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" }, { "must_use": { @@ -115567,8 +113627,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3isize;\n\nassert_eq!(n.trailing_ones(), 2);\n```", - "id": 11426, + "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_u64.bit_width(), 0);\nassert_eq!(0b111_u64.bit_width(), 3);\nassert_eq!(0b1110_u64.bit_width(), 4);\nassert_eq!(u64::MAX.bit_width(), 64);\n```", + "id": 11419, "inner": { "function": { "generics": { @@ -115599,21 +113659,107 @@ } }, "links": {}, - "name": "trailing_ones", + "name": "bit_width", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11427": { + "1142": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"entry_insert\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Sets the value of the entry, and returns an `OccupiedEntry`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, String> = HashMap::new();\nlet entry = map.entry(\"poneyland\").insert_entry(\"hoho\".to_string());\n\nassert_eq!(entry.key(), &\"poneyland\");\n```", + "id": 1142, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "value", + { + "generic": "V" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1132, + "path": "OccupiedEntry" + } + } + } + } + }, + "links": {}, + "name": "insert_entry", + "span": { + "begin": [ + 2475, + 5 + ], + "end": [ + 2483, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "11420": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" @@ -115626,8 +113772,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: isize = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_isize.isolate_highest_one(), 0);\n```", - "id": 11427, + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u64 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_u64.isolate_highest_one(), 0);\n```", + "id": 11420, "inner": { "function": { "generics": { @@ -115652,7 +113798,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -115661,18 +113807,18 @@ "name": "isolate_highest_one", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11428": { + "11421": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" @@ -115685,8 +113831,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: isize = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_isize.isolate_lowest_one(), 0);\n```", - "id": 11428, + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u64 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_u64.isolate_lowest_one(), 0);\n```", + "id": 11421, "inner": { "function": { "generics": { @@ -115711,7 +113857,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -115720,18 +113866,18 @@ "name": "isolate_lowest_one", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11429": { + "11422": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" @@ -115744,8 +113890,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_isize.highest_one(), None);\nassert_eq!(0x1_isize.highest_one(), Some(0));\nassert_eq!(0x10_isize.highest_one(), Some(4));\nassert_eq!(0x1f_isize.highest_one(), Some(4));\n```", - "id": 11429, + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u64.highest_one(), None);\nassert_eq!(0x1_u64.highest_one(), Some(0));\nassert_eq!(0x10_u64.highest_one(), Some(4));\nassert_eq!(0x1f_u64.highest_one(), Some(4));\n```", + "id": 11422, "inner": { "function": { "generics": { @@ -115794,116 +113940,18 @@ "name": "highest_one", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1143": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1143, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 776, - "path": "Entry" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 1137, - 1138, - 1139, - 1140, - 1141, - 1142 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2332, - 1 - ], - "end": [ - 2489, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "11430": { + "11423": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" @@ -115916,8 +113964,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_isize.lowest_one(), None);\nassert_eq!(0x1_isize.lowest_one(), Some(0));\nassert_eq!(0x10_isize.lowest_one(), Some(4));\nassert_eq!(0x1f_isize.lowest_one(), Some(0));\n```", - "id": 11430, + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u64.lowest_one(), None);\nassert_eq!(0x1_u64.lowest_one(), Some(0));\nassert_eq!(0x10_u64.lowest_one(), Some(4));\nassert_eq!(0x1f_u64.lowest_one(), Some(0));\n```", + "id": 11423, "inner": { "function": { "generics": { @@ -115966,18 +114014,18 @@ "name": "lowest_one", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11431": { + "11424": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" @@ -115993,8 +114041,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1isize;\n\nassert_eq!(n.cast_unsigned(), usize::MAX);\n```", - "id": 11431, + "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = u64::MAX;\n\nassert_eq!(n.cast_signed(), -1i64);\n```", + "id": 11424, "inner": { "function": { "generics": { @@ -116019,30 +114067,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "i64" } } } }, "links": {}, - "name": "cast_unsigned", + "name": "cast_signed", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11432": { + "11425": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -116055,8 +114103,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0xaa00000000006e1isize;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);\n```", - "id": 11432, + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0xaa00000000006e1u64;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);\n```", + "id": 11425, "inner": { "function": { "generics": { @@ -116087,7 +114135,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -116096,21 +114144,21 @@ "name": "rotate_left", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11433": { + "11426": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -116123,8 +114171,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x6e10aaisize;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);\n```", - "id": 11433, + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x6e10aau64;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);\n```", + "id": 11426, "inner": { "function": { "generics": { @@ -116155,7 +114203,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -116164,24 +114212,24 @@ "name": "rotate_right", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11434": { + "11427": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" }, { "must_use": { @@ -116191,8 +114239,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234567890123456isize;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);\n```", - "id": 11434, + "docs": "Performs a left funnel shift (concatenates `self` with `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value left\nby `n`, and most significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `<<` shifting operator or\n[`rotate_left`](Self::rotate_left), although `a.funnel_shl(a, n)` is *equivalent*\nto `a.rotate_left(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0xaa00000000006e1u64;\nlet b = 0x2fe78e45983acd98u64;\nlet m = 0x6e12fe;\n\nassert_eq!(a.funnel_shl(b, 12), m);\n```", + "id": 11427, "inner": { "function": { "generics": { @@ -116213,37 +114261,51 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u64" + } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, - "links": {}, - "name": "swap_bytes", + "links": { + "Self::rotate_left": 11425 + }, + "name": "funnel_shl", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11435": { + "11428": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" }, { "must_use": { @@ -116253,8 +114315,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234567890123456isize;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0isize.reverse_bits());\n```", - "id": 11435, + "docs": "Performs a right funnel shift (concatenates `self` and `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value right\nby `n`, and least significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `>>` shifting operator or\n[`rotate_right`](Self::rotate_right), although `a.funnel_shr(a, n)` is *equivalent*\nto `a.rotate_right(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0xaa00000000006e1u64;\nlet b = 0x2fe78e45983acd98u64;\nlet m = 0x6e12fe78e45983ac;\n\nassert_eq!(a.funnel_shr(b, 12), m);\n```", + "id": 11428, "inner": { "function": { "generics": { @@ -116275,48 +114337,62 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u64" + } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, - "links": {}, - "name": "reverse_bits", + "links": { + "Self::rotate_right": 11426 + }, + "name": "funnel_shr", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11436": { + "11429": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Aisize;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(isize::from_be(n), n)\n} else {\n assert_eq!(isize::from_be(n), n.swap_bytes())\n}\n```", - "id": 11436, + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234567890123456u64;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);\n```", + "id": 11429, "inner": { "function": { "generics": { @@ -116333,38 +114409,198 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "isize" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "from_be", + "name": "swap_bytes", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11437": { + "1143": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1143, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 776, + "path": "Entry" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 1137, + 1138, + 1139, + 1140, + 1141, + 1142 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2327, + 1 + ], + "end": [ + 2484, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "11430": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234567890123456u64;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0u64.reverse_bits());\n```", + "id": 11430, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u64" + } + } + } + }, + "links": {}, + "name": "reverse_bits", + "span": { + "begin": [ + 1160, + 5 + ], + "end": [ + 1181, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11431": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -116377,8 +114613,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Aisize;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(isize::from_le(n), n)\n} else {\n assert_eq!(isize::from_le(n), n.swap_bytes())\n}\n```", - "id": 11437, + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au64;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(u64::from_be(n), n)\n} else {\n assert_eq!(u64::from_be(n), n.swap_bytes())\n}\n```", + "id": 11431, "inner": { "function": { "generics": { @@ -116397,50 +114633,50 @@ [ "x", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "from_le", + "name": "from_be", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11438": { + "11432": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Aisize;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", - "id": 11438, + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au64;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(u64::from_le(n), n)\n} else {\n assert_eq!(u64::from_le(n), n.swap_bytes())\n}\n```", + "id": 11432, "inner": { "function": { "generics": { @@ -116457,38 +114693,38 @@ "sig": { "inputs": [ [ - "self", + "x", { - "generic": "Self" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "to_be", + "name": "from_le", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11439": { + "11433": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -116501,8 +114737,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Aisize;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", - "id": 11439, + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au64;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "id": 11433, "inner": { "function": { "generics": { @@ -116527,39 +114763,44 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "to_le", + "name": "to_be", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1144": { + "11434": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"entry_or_default\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Ensures a value is in the entry by inserting the default value if empty,\nand returns a mutable reference to the value in the entry.\n\n# Examples\n\n```\n# fn main() {\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, Option> = HashMap::new();\nmap.entry(\"poneyland\").or_default();\n\nassert_eq!(map[\"poneyland\"], None);\n# }\n```", - "id": 1144, + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au64;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "id": 11434, "inner": { "function": { "generics": { @@ -116570,7 +114811,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -116584,33 +114825,27 @@ ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": "'a", - "type": { - "generic": "V" - } - } + "primitive": "u64" } } } }, "links": {}, - "name": "or_default", + "name": "to_le", "span": { "begin": [ - 2509, + 1160, 5 ], "end": [ - 2514, + 1181, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11440": { + "11435": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" @@ -116626,8 +114861,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((isize::MAX - 2).checked_add(1), Some(isize::MAX - 1));\nassert_eq!((isize::MAX - 2).checked_add(3), None);\n```", - "id": 11440, + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((u64::MAX - 2).checked_add(1), Some(u64::MAX - 1));\nassert_eq!((u64::MAX - 2).checked_add(3), None);\n```", + "id": 11435, "inner": { "function": { "generics": { @@ -116652,7 +114887,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], @@ -116664,7 +114899,7 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u64" } } ], @@ -116682,24 +114917,24 @@ "name": "checked_add", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11441": { + "11436": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -116712,8 +114947,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((isize::MAX - 2).strict_add(1), isize::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (isize::MAX - 2).strict_add(3);\n```", - "id": 11441, + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((u64::MAX - 2).strict_add(1), u64::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (u64::MAX - 2).strict_add(3);\n```", + "id": 11436, "inner": { "function": { "generics": { @@ -116738,13 +114973,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -116753,21 +114988,21 @@ "name": "strict_add", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11442": { + "11437": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -116780,8 +115015,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_add(27), 127);\nassert_eq!(isize::MAX.wrapping_add(2), isize::MIN + 1);\n```", - "id": 11442, + "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200u64.wrapping_add(55), 255);\nassert_eq!(200u64.wrapping_add(u64::MAX), 199);\n```", + "id": 11437, "inner": { "function": { "generics": { @@ -116806,13 +115041,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -116821,18 +115056,18 @@ "name": "wrapping_add", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11443": { + "11438": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" @@ -116851,8 +115086,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > isize::MAX` or `self + rhs < isize::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: isize::checked_add\n[`wrapping_add`]: isize::wrapping_add", - "id": 11443, + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > u64::MAX` or `self + rhs < u64::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: u64::checked_add\n[`wrapping_add`]: u64::wrapping_add", + "id": 11438, "inner": { "function": { "generics": { @@ -116877,36 +115112,36 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": { - "isize::checked_add": 11440, - "isize::wrapping_add": 11442 + "u64::checked_add": 11435, + "u64::wrapping_add": 11437 }, "name": "unchecked_add", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11444": { + "11439": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" @@ -116922,8 +115157,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1isize.checked_add_unsigned(2), Some(3));\nassert_eq!((isize::MAX - 2).checked_add_unsigned(3), None);\n```", - "id": 11444, + "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u64.checked_add_signed(2), Some(3));\nassert_eq!(1u64.checked_add_signed(-2), None);\nassert_eq!((u64::MAX - 2).checked_add_signed(3), None);\n```", + "id": 11439, "inner": { "function": { "generics": { @@ -116948,7 +115183,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i64" } ] ], @@ -116960,7 +115195,7 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u64" } } ], @@ -116975,27 +115210,90 @@ } }, "links": {}, - "name": "checked_add_unsigned", + "name": "checked_add_signed", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11445": { + "1144": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"entry_or_default\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Ensures a value is in the entry by inserting the default value if empty,\nand returns a mutable reference to the value in the entry.\n\n# Examples\n\n```\n# fn main() {\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, Option> = HashMap::new();\nmap.entry(\"poneyland\").or_default();\n\nassert_eq!(map[\"poneyland\"], None);\n# }\n```", + "id": 1144, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + } + } + }, + "links": {}, + "name": "or_default", + "span": { + "begin": [ + 2504, + 5 + ], + "end": [ + 2509, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "11440": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -117008,8 +115306,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1isize.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (isize::MAX - 2).strict_add_unsigned(3);\n```", - "id": 11445, + "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u64.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u64.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (u64::MAX - 2).strict_add_signed(3);\n```", + "id": 11440, "inner": { "function": { "generics": { @@ -117034,33 +115332,33 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "strict_add_unsigned", + "name": "strict_add_signed", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11446": { + "11441": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" @@ -117076,8 +115374,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 2).checked_sub(1), Some(isize::MIN + 1));\nassert_eq!((isize::MIN + 2).checked_sub(3), None);\n```", - "id": 11446, + "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u64.checked_sub(1), Some(0));\nassert_eq!(0u64.checked_sub(1), None);\n```", + "id": 11441, "inner": { "function": { "generics": { @@ -117102,7 +115400,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], @@ -117114,7 +115412,7 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u64" } } ], @@ -117132,24 +115430,24 @@ "name": "checked_sub", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11447": { + "11442": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -117162,8 +115460,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 2).strict_sub(1), isize::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (isize::MIN + 2).strict_sub(3);\n```", - "id": 11447, + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u64.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0u64.strict_sub(1);\n```", + "id": 11442, "inner": { "function": { "generics": { @@ -117188,13 +115486,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -117203,21 +115501,21 @@ "name": "strict_sub", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11448": { + "11443": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -117230,8 +115528,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0isize.wrapping_sub(127), -127);\nassert_eq!((-2isize).wrapping_sub(isize::MAX), isize::MAX);\n```", - "id": 11448, + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100u64.wrapping_sub(100), 0);\nassert_eq!(100u64.wrapping_sub(u64::MAX), 101);\n```", + "id": 11443, "inner": { "function": { "generics": { @@ -117256,13 +115554,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -117271,18 +115569,18 @@ "name": "wrapping_sub", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11449": { + "11444": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" @@ -117301,8 +115599,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > isize::MAX` or `self - rhs < isize::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: isize::checked_sub\n[`wrapping_sub`]: isize::wrapping_sub", - "id": 11449, + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > u64::MAX` or `self - rhs < u64::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: u64::checked_sub\n[`wrapping_sub`]: u64::wrapping_sub", + "id": 11444, "inner": { "function": { "generics": { @@ -117327,147 +115625,42 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": { - "isize::checked_sub": 11446, - "isize::wrapping_sub": 11448 + "u64::checked_sub": 11441, + "u64::wrapping_sub": 11443 }, "name": "unchecked_sub", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1145": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1145, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 776, - "path": "Entry" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 109, - "path": "Default" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 1144 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2491, - 1 - ], - "end": [ - 2515, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "11450": { + "11445": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -117477,8 +115670,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1isize.checked_sub_unsigned(2), Some(-1));\nassert_eq!((isize::MIN + 2).checked_sub_unsigned(3), None);\n```", - "id": 11450, + "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u64.checked_sub_signed(2), None);\nassert_eq!(1u64.checked_sub_signed(-2), Some(3));\nassert_eq!((u64::MAX - 2).checked_sub_signed(-4), None);\n```", + "id": 11445, "inner": { "function": { "generics": { @@ -117503,7 +115696,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i64" } ] ], @@ -117515,7 +115708,7 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u64" } } ], @@ -117530,27 +115723,27 @@ } }, "links": {}, - "name": "checked_sub_unsigned", + "name": "checked_sub_signed", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11451": { + "11446": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -117563,8 +115756,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1isize.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (isize::MIN + 2).strict_sub_unsigned(3);\n```", - "id": 11451, + "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3u64.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u64.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (u64::MAX).strict_sub_signed(-1);\n```", + "id": 11446, "inner": { "function": { "generics": { @@ -117589,50 +115782,45 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "strict_sub_unsigned", + "name": "strict_sub_signed", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11452": { + "11447": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(isize::MAX.checked_mul(1), Some(isize::MAX));\nassert_eq!(isize::MAX.checked_mul(2), None);\n```", - "id": 11452, + "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`i64`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10u64.checked_signed_diff(2), Some(8));\nassert_eq!(2u64.checked_signed_diff(10), Some(-8));\nassert_eq!(u64::MAX.checked_signed_diff(i64::MAX as u64), None);\nassert_eq!((i64::MAX as u64).checked_signed_diff(u64::MAX), Some(i64::MIN));\nassert_eq!((i64::MAX as u64 + 1).checked_signed_diff(0), None);\nassert_eq!(u64::MAX.checked_signed_diff(u64::MAX), Some(0));\n```", + "id": 11447, "inner": { "function": { "generics": { @@ -117657,7 +115845,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], @@ -117669,7 +115857,7 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "i64" } } ], @@ -117683,42 +115871,41 @@ } } }, - "links": {}, - "name": "checked_mul", + "links": { + "`i64`": 4824 + }, + "name": "checked_signed_diff", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11453": { + "11448": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(isize::MAX.strict_mul(1), isize::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = isize::MAX.strict_mul(2);\n```", - "id": 11453, + "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5u64.checked_mul(1), Some(5));\nassert_eq!(u64::MAX.checked_mul(2), None);\n```", + "id": 11448, "inner": { "function": { "generics": { @@ -117743,36 +115930,227 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_mul", + "name": "checked_mul", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11454": { + "11449": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5u64.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = u64::MAX.strict_mul(2);\n```", + "id": 11449, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u64" + } + } + } + }, + "links": {}, + "name": "strict_mul", + "span": { + "begin": [ + 1160, + 5 + ], + "end": [ + 1181, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1145": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1145, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 776, + "path": "Entry" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 107, + "path": "Default" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 1144 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2486, + 1 + ], + "end": [ + 2510, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "11450": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -117785,8 +116163,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10isize.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", - "id": 11454, + "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", + "id": 11450, "inner": { "function": { "generics": { @@ -117811,13 +116189,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -117826,18 +116204,18 @@ "name": "wrapping_mul", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11455": { + "11451": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" @@ -117856,8 +116234,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > isize::MAX` or `self * rhs < isize::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: isize::checked_mul\n[`wrapping_mul`]: isize::wrapping_mul", - "id": 11455, + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > u64::MAX` or `self * rhs < u64::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: u64::checked_mul\n[`wrapping_mul`]: u64::wrapping_mul", + "id": 11451, "inner": { "function": { "generics": { @@ -117882,36 +116260,36 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": { - "isize::checked_mul": 11452, - "isize::wrapping_mul": 11454 + "u64::checked_mul": 11448, + "u64::wrapping_mul": 11450 }, "name": "unchecked_mul", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11456": { + "11452": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" @@ -117927,8 +116305,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 1).checked_div(-1), Some(9223372036854775807));\nassert_eq!(isize::MIN.checked_div(-1), None);\nassert_eq!((1isize).checked_div(0), None);\n```", - "id": 11456, + "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u64.checked_div(2), Some(64));\nassert_eq!(1u64.checked_div(0), None);\n```", + "id": 11452, "inner": { "function": { "generics": { @@ -117953,7 +116331,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], @@ -117965,7 +116343,7 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u64" } } ], @@ -117983,24 +116361,24 @@ "name": "checked_div", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11457": { + "11453": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -118013,8 +116391,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 1).strict_div(-1), 9223372036854775807);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1isize).strict_div(0);\n```", - "id": 11457, + "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u64).strict_div(0);\n```", + "id": 11453, "inner": { "function": { "generics": { @@ -118039,13 +116417,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -118054,18 +116432,18 @@ "name": "strict_div", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11458": { + "11454": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" @@ -118081,8 +116459,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 1).checked_div_euclid(-1), Some(9223372036854775807));\nassert_eq!(isize::MIN.checked_div_euclid(-1), None);\nassert_eq!((1isize).checked_div_euclid(0), None);\n```", - "id": 11458, + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u64.checked_div_euclid(2), Some(64));\nassert_eq!(1u64.checked_div_euclid(0), None);\n```", + "id": 11454, "inner": { "function": { "generics": { @@ -118107,7 +116485,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], @@ -118119,7 +116497,7 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u64" } } ], @@ -118137,24 +116515,24 @@ "name": "checked_div_euclid", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11459": { + "11455": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -118167,8 +116545,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 1).strict_div_euclid(-1), 9223372036854775807);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1isize).strict_div_euclid(0);\n```", - "id": 11459, + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u64).strict_div_euclid(0);\n```", + "id": 11455, "inner": { "function": { "generics": { @@ -118193,13 +116571,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -118208,11 +116586,306 @@ "name": "strict_div_euclid", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11456": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u64.checked_exact_div(2), Some(32));\nassert_eq!(64u64.checked_exact_div(32), Some(2));\nassert_eq!(64u64.checked_exact_div(0), None);\nassert_eq!(65u64.checked_exact_div(2), None);\n```", + "id": 11456, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_exact_div", + "span": { + "begin": [ + 1160, + 5 + ], + "end": [ + 1181, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11457": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u64.exact_div(2), 32);\nassert_eq!(64u64.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65u64.exact_div(2);\n```", + "id": 11457, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u64" + } + } + } + }, + "links": {}, + "name": "exact_div", + "span": { + "begin": [ + 1160, + 5 + ], + "end": [ + 1181, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11458": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "id": 11458, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u64" + } + } + } + }, + "links": { + "Self::checked_exact_div": 11456 + }, + "name": "unchecked_exact_div", + "span": { + "begin": [ + 1160, + 5 + ], + "end": [ + 1181, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11459": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u64.checked_rem(2), Some(1));\nassert_eq!(5u64.checked_rem(0), None);\n```", + "id": 11459, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_rem", + "span": { + "begin": [ + 1160, + 5 + ], + "end": [ + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -118350,17 +117023,23 @@ "11460": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((isize::MIN + 1).checked_exact_div(-1), Some(9223372036854775807));\nassert_eq!((-5isize).checked_exact_div(2), None);\nassert_eq!(isize::MIN.checked_exact_div(-1), None);\nassert_eq!((1isize).checked_exact_div(0), None);\n```", + "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u64.strict_rem(0);\n```", "id": 11460, "inner": { "function": { @@ -118386,41 +117065,26 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "isize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u64" } } } }, "links": {}, - "name": "checked_exact_div", + "name": "strict_rem", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -118430,7 +117094,10 @@ "11461": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -118440,7 +117107,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64isize.exact_div(2), 32);\nassert_eq!(64isize.exact_div(32), 2);\nassert_eq!((isize::MIN + 1).exact_div(-1), 9223372036854775807);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65isize.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = isize::MIN.exact_div(-1);\n```", + "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u64.checked_rem_euclid(2), Some(1));\nassert_eq!(5u64.checked_rem_euclid(0), None);\n```", "id": 11461, "inner": { "function": { @@ -118466,26 +117133,41 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "exact_div", + "name": "checked_rem_euclid", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -118495,17 +117177,23 @@ "11462": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == isize::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u64.strict_rem_euclid(0);\n```", "id": 11462, "inner": { "function": { @@ -118518,7 +117206,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -118531,28 +117219,26 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, - "links": { - "Self::checked_exact_div": 11460 - }, - "name": "unchecked_exact_div", + "links": {}, + "name": "strict_rem_euclid", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -118562,20 +117248,15 @@ "11463": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5isize.checked_rem(2), Some(1));\nassert_eq!(5isize.checked_rem(0), None);\nassert_eq!(isize::MIN.checked_rem(-1), None);\n```", + "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_u64.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", "id": 11463, "inner": { "function": { @@ -118588,7 +117269,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -118599,43 +117280,28 @@ } ], [ - "rhs", + "other", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "isize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u64" } } } }, "links": {}, - "name": "checked_rem", + "name": "unchecked_disjoint_bitor", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -118645,10 +117311,10 @@ "11464": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -118661,7 +117327,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5isize.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5isize.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_rem(-1);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5u64.ilog(5), 1);\n```", "id": 11464, "inner": { "function": { @@ -118685,28 +117351,28 @@ } ], [ - "rhs", + "base", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u32" } } } }, "links": {}, - "name": "strict_rem", + "name": "ilog", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -118716,20 +117382,23 @@ "11465": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5isize.checked_rem_euclid(2), Some(1));\nassert_eq!(5isize.checked_rem_euclid(0), None);\nassert_eq!(isize::MIN.checked_rem_euclid(-1), None);\n```", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10u64.ilog10(), 1);\n```", "id": 11465, "inner": { "function": { @@ -118751,45 +117420,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "isize" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "isize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u32" } } } }, "links": {}, - "name": "checked_rem_euclid", + "name": "ilog10", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -118799,23 +117447,20 @@ "11466": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5isize.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5isize.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_rem_euclid(-1);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5u64.checked_ilog(5), Some(1));\n```", "id": 11466, "inner": { "function": { @@ -118839,28 +117484,43 @@ } ], [ - "rhs", + "base", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_rem_euclid", + "name": "checked_ilog", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -118870,10 +117530,10 @@ "11467": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { @@ -118883,7 +117543,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5isize.checked_neg(), Some(-5));\nassert_eq!(isize::MIN.checked_neg(), None);\n```", + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2u64.checked_ilog2(), Some(1));\n```", "id": 11467, "inner": { "function": { @@ -118915,7 +117575,7 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u32" } } ], @@ -118930,14 +117590,14 @@ } }, "links": {}, - "name": "checked_neg", + "name": "checked_ilog2", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -118947,20 +117607,20 @@ "11468": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == isize::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: isize::checked_neg", + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10u64.checked_ilog10(), Some(1));\n```", "id": 11468, "inner": { "function": { @@ -118973,7 +117633,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -118986,22 +117646,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "isize::checked_neg": 11467 - }, - "name": "unchecked_neg", + "links": {}, + "name": "checked_ilog10", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119011,23 +117684,20 @@ "11469": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5isize.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_neg();\n", + "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0u64.checked_neg(), Some(0));\nassert_eq!(1u64.checked_neg(), None);\n```", "id": 11469, "inner": { "function": { @@ -119053,20 +117723,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_neg", + "name": "checked_neg", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119204,20 +117889,23 @@ "11470": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1isize.checked_shl(4), Some(0x10));\nassert_eq!(0x1isize.checked_shl(129), None);\nassert_eq!(0x10isize.checked_shl(63), Some(0));\n```", + "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0u64.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1u64.strict_neg();\n```", "id": 11470, "inner": { "function": { @@ -119239,45 +117927,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "isize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u64" } } } }, "links": {}, - "name": "checked_shl", + "name": "strict_neg", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119287,23 +117954,20 @@ "11471": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1isize.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1isize.strict_shl(129);\n```", + "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1u64.checked_shl(4), Some(0x10));\nassert_eq!(0x10u64.checked_shl(129), None);\nassert_eq!(0x10u64.checked_shl(63), Some(0));\n```", "id": 11471, "inner": { "function": { @@ -119335,20 +117999,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_shl", + "name": "checked_shl", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119358,7 +118037,10 @@ "11472": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -119371,7 +118053,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: isize::checked_shl", + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1u64.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u64.strict_shl(129);\n```", "id": 11472, "inner": { "function": { @@ -119384,7 +118066,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -119403,22 +118085,20 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, - "links": { - "isize::checked_shl": 11470 - }, - "name": "unchecked_shl", + "links": {}, + "name": "strict_shl", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119428,20 +118108,20 @@ "11473": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1isize.unbounded_shl(4), 0x10);\nassert_eq!(0x1isize.unbounded_shl(129), 0);\n```", + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: u64::checked_shl", "id": 11473, "inner": { "function": { @@ -119454,7 +118134,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -119473,20 +118153,22 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, - "links": {}, - "name": "unbounded_shl", + "links": { + "u64::checked_shl": 11471 + }, + "name": "unchecked_shl", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119496,10 +118178,10 @@ "11474": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { @@ -119509,7 +118191,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10isize.checked_shr(4), Some(0x1));\nassert_eq!(0x10isize.checked_shr(128), None);\n```", + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1u64.unbounded_shl(4), 0x10);\nassert_eq!(0x1u64.unbounded_shl(129), 0);\n```", "id": 11474, "inner": { "function": { @@ -119541,35 +118223,20 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "isize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u64" } } } }, "links": {}, - "name": "checked_shr", + "name": "unbounded_shl", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119579,23 +118246,17 @@ "11475": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10isize.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10isize.strict_shr(128);\n```", + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`u64::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1u64.exact_shl(4), Some(0x10));\nassert_eq!(0x1u64.exact_shl(129), None);\n```", "id": 11475, "inner": { "function": { @@ -119627,20 +118288,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_shr", + "name": "exact_shl", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119650,20 +118326,17 @@ "11476": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: isize::checked_shr", + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed `rhs` cannot be larger than\n`u64::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.leading_zeros() || rhs >=\nu64::BITS`\ni.e. when\n[`u64::exact_shl`]\nwould return `None`.", "id": 11476, "inner": { "function": { @@ -119695,22 +118368,22 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": { - "isize::checked_shr": 11474 + "`u64::exact_shl`": 11475 }, - "name": "unchecked_shr", + "name": "unchecked_exact_shl", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119720,10 +118393,10 @@ "11477": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -119733,7 +118406,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10isize.unbounded_shr(4), 0x1);\nassert_eq!(0x10isize.unbounded_shr(129), 0);\nassert_eq!(isize::MIN.unbounded_shr(129), -1);\n```", + "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10u64.checked_shr(4), Some(0x1));\nassert_eq!(0x10u64.checked_shr(129), None);\n```", "id": 11477, "inner": { "function": { @@ -119765,20 +118438,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "unbounded_shr", + "name": "checked_shr", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119788,20 +118476,23 @@ "11478": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5isize).checked_abs(), Some(5));\nassert_eq!(isize::MIN.checked_abs(), None);\n```", + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10u64.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u64.strict_shr(129);\n```", "id": 11478, "inner": { "function": { @@ -119823,39 +118514,30 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "isize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u64" } } } }, "links": {}, - "name": "checked_abs", + "name": "strict_shr", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -119865,10 +118547,7 @@ "11479": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { @@ -119881,7 +118560,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5isize).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_abs();\n```", + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: u64::checked_shr", "id": 11479, "inner": { "function": { @@ -119894,7 +118573,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -119903,24 +118582,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, - "links": {}, - "name": "strict_abs", + "links": { + "u64::checked_shr": 11477 + }, + "name": "unchecked_shr", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120003,7 +118690,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -120024,7 +118711,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -120037,10 +118724,10 @@ "11480": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { @@ -120050,7 +118737,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8isize.checked_pow(2), Some(64));\nassert_eq!(isize::MAX.checked_pow(2), None);\n```", + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10u64.unbounded_shr(4), 0x1);\nassert_eq!(0x10u64.unbounded_shr(129), 0);\n```", "id": 11480, "inner": { "function": { @@ -120074,7 +118761,7 @@ } ], [ - "exp", + "rhs", { "primitive": "u32" } @@ -120082,35 +118769,20 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "isize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u64" } } } }, "links": {}, - "name": "checked_pow", + "name": "unbounded_shr", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120120,23 +118792,17 @@ "11481": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8isize.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MAX.strict_pow(2);\n```", + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`u64::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10u64.exact_shr(4), Some(0x1));\nassert_eq!(0x10u64.exact_shr(5), None);\n```", "id": 11481, "inner": { "function": { @@ -120160,7 +118826,7 @@ } ], [ - "exp", + "rhs", { "primitive": "u32" } @@ -120168,20 +118834,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "strict_pow", + "name": "exact_shr", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120191,10 +118872,7 @@ "11482": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -120204,7 +118882,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10isize.checked_isqrt(), Some(3));\n```", + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`u64::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\nu64::BITS`\ni.e. when\n[`u64::exact_shr`]\nwould return `None`.", "id": 11482, "inner": { "function": { @@ -120217,7 +118895,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -120226,39 +118904,32 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "isize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u64" } } } }, - "links": {}, - "name": "checked_isqrt", + "links": { + "`u64::exact_shr`": 11481 + }, + "name": "unchecked_exact_shr", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120268,10 +118939,10 @@ "11483": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -120281,7 +118952,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100isize.saturating_add(1), 101);\nassert_eq!(isize::MAX.saturating_add(100), isize::MAX);\nassert_eq!(isize::MIN.saturating_add(-1), isize::MIN);\n```", + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2u64.checked_pow(5), Some(32));\nassert_eq!(u64::MAX.checked_pow(2), None);\n```", "id": 11483, "inner": { "function": { @@ -120305,28 +118976,43 @@ } ], [ - "rhs", + "exp", { - "primitive": "isize" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "saturating_add", + "name": "checked_pow", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120336,20 +119022,23 @@ "11484": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1isize.saturating_add_unsigned(2), 3);\nassert_eq!(isize::MAX.saturating_add_unsigned(100), isize::MAX);\n```", + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2u64.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = u64::MAX.strict_pow(2);\n```", "id": 11484, "inner": { "function": { @@ -120373,28 +119062,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "usize" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "saturating_add_unsigned", + "name": "strict_pow", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120417,7 +119106,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100isize.saturating_sub(127), -27);\nassert_eq!(isize::MIN.saturating_sub(100), isize::MIN);\nassert_eq!(isize::MAX.saturating_sub(-1), isize::MAX);\n```", + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u64.saturating_add(1), 101);\nassert_eq!(u64::MAX.saturating_add(127), u64::MAX);\n```", "id": 11485, "inner": { "function": { @@ -120443,26 +119132,26 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "saturating_sub", + "name": "saturating_add", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120485,7 +119174,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100isize.saturating_sub_unsigned(127), -27);\nassert_eq!(isize::MIN.saturating_sub_unsigned(100), isize::MIN);\n```", + "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u64.saturating_add_signed(2), 3);\nassert_eq!(1u64.saturating_add_signed(-2), 0);\nassert_eq!((u64::MAX - 2).saturating_add_signed(4), u64::MAX);\n```", "id": 11486, "inner": { "function": { @@ -120511,26 +119200,26 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "saturating_sub_unsigned", + "name": "saturating_add_signed", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120543,7 +119232,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -120553,7 +119242,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100isize.saturating_neg(), -100);\nassert_eq!((-100isize).saturating_neg(), 100);\nassert_eq!(isize::MIN.saturating_neg(), isize::MAX);\nassert_eq!(isize::MAX.saturating_neg(), isize::MIN + 1);\n```", + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u64.saturating_sub(27), 73);\nassert_eq!(13u64.saturating_sub(127), 0);\n```", "id": 11487, "inner": { "function": { @@ -120575,99 +119264,43 @@ { "generic": "Self" } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "isize" - } - } - } - }, - "links": {}, - "name": "saturating_neg", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11488": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100isize.saturating_abs(), 100);\nassert_eq!((-100isize).saturating_abs(), 100);\nassert_eq!(isize::MIN.saturating_abs(), isize::MAX);\nassert_eq!((isize::MIN + 1).saturating_abs(), isize::MAX);\n```", - "id": 11488, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "rhs", { - "generic": "Self" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "saturating_abs", + "name": "saturating_sub", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11489": { + "11488": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -120677,8 +119310,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10isize.saturating_mul(12), 120);\nassert_eq!(isize::MAX.saturating_mul(10), isize::MAX);\nassert_eq!(isize::MIN.saturating_mul(10), isize::MIN);\n```", - "id": 11489, + "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u64.saturating_sub_signed(2), 0);\nassert_eq!(1u64.saturating_sub_signed(-2), 3);\nassert_eq!((u64::MAX - 2).saturating_sub_signed(-4), u64::MAX);\n```", + "id": 11488, "inner": { "function": { "generics": { @@ -120703,13 +119336,81 @@ [ "rhs", { - "primitive": "isize" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" + } + } + } + }, + "links": {}, + "name": "saturating_sub_signed", + "span": { + "begin": [ + 1160, + 5 + ], + "end": [ + 1181, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11489": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2u64.saturating_mul(10), 20);\nassert_eq!((u64::MAX).saturating_mul(10), u64::MAX);\n```", + "id": 11489, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u64" } } } @@ -120718,11 +119419,11 @@ "name": "saturating_mul", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120848,11 +119549,14 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5isize.saturating_div(2), 2);\nassert_eq!(isize::MAX.saturating_div(-1), isize::MIN + 1);\nassert_eq!(isize::MIN.saturating_div(-1), isize::MAX);\n\n```", + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u64.saturating_div(2), 2);\n\n```", "id": 11490, "inner": { "function": { @@ -120878,13 +119582,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -120893,11 +119597,11 @@ "name": "saturating_div", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120920,7 +119624,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4isize).saturating_pow(3), -64);\nassert_eq!(isize::MIN.saturating_pow(2), isize::MAX);\nassert_eq!(isize::MIN.saturating_pow(3), isize::MIN);\n```", + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4u64.saturating_pow(3), 64);\nassert_eq!(u64::MAX.saturating_pow(2), u64::MAX);\n```", "id": 11491, "inner": { "function": { @@ -120952,7 +119656,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -120961,11 +119665,11 @@ "name": "saturating_pow", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -120988,7 +119692,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_add_unsigned(27), 127);\nassert_eq!(isize::MAX.wrapping_add_unsigned(2), isize::MIN + 1);\n```", + "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u64.wrapping_add_signed(2), 3);\nassert_eq!(1u64.wrapping_add_signed(-2), u64::MAX);\nassert_eq!((u64::MAX - 2).wrapping_add_signed(4), 1);\n```", "id": 11492, "inner": { "function": { @@ -121014,26 +119718,26 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "wrapping_add_unsigned", + "name": "wrapping_add_signed", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121043,10 +119747,10 @@ "11493": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -121056,7 +119760,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0isize.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2isize).wrapping_sub_unsigned(usize::MAX), -1);\n```", + "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u64.wrapping_sub_signed(2), u64::MAX);\nassert_eq!(1u64.wrapping_sub_signed(-2), 3);\nassert_eq!((u64::MAX - 2).wrapping_sub_signed(-4), 1);\n```", "id": 11493, "inner": { "function": { @@ -121082,26 +119786,26 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "wrapping_sub_unsigned", + "name": "wrapping_sub_signed", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121120,11 +119824,14 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", + "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.wrapping_div(10), 10);\n```", "id": 11494, "inner": { "function": { @@ -121150,13 +119857,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -121165,11 +119872,11 @@ "name": "wrapping_div", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121188,11 +119895,14 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.wrapping_div_euclid(10), 10);\n```", "id": 11495, "inner": { "function": { @@ -121218,13 +119928,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -121233,11 +119943,11 @@ "name": "wrapping_div_euclid", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121256,11 +119966,14 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", + "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.wrapping_rem(10), 0);\n```", "id": 11496, "inner": { "function": { @@ -121286,13 +119999,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -121301,11 +120014,11 @@ "name": "wrapping_rem", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121324,11 +120037,14 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", + "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u64.wrapping_rem_euclid(10), 0);\n```", "id": 11497, "inner": { "function": { @@ -121354,13 +120070,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -121369,11 +120085,11 @@ "name": "wrapping_rem_euclid", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121383,7 +120099,7 @@ "11498": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" @@ -121396,7 +120112,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_neg(), -100);\nassert_eq!((-100isize).wrapping_neg(), 100);\nassert_eq!(isize::MIN.wrapping_neg(), isize::MIN);\n```", + "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_u64.wrapping_neg(), 0);\nassert_eq!(u64::MAX.wrapping_neg(), 1);\nassert_eq!(13_u64.wrapping_neg(), (!13) + 1);\nassert_eq!(42_u64.wrapping_neg(), !(42 - 1));\n```", "id": 11498, "inner": { "function": { @@ -121422,7 +120138,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -121431,11 +120147,11 @@ "name": "wrapping_neg", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121445,7 +120161,7 @@ "11499": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" @@ -121458,7 +120174,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1isize).wrapping_shl(7), -128);\nassert_eq!((-1isize).wrapping_shl(128), -1);\n```", + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1u64.wrapping_shl(7), 128);\nassert_eq!(1u64.wrapping_shl(128), 1);\n```", "id": 11499, "inner": { "function": { @@ -121490,22 +120206,22 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": { - "Self::rotate_left": 11432 + "Self::rotate_left": 11425 }, "name": "wrapping_shl", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121587,7 +120303,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -121600,7 +120316,7 @@ "11500": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" @@ -121613,7 +120329,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128isize).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128u64.wrapping_shr(7), 1);\nassert_eq!(128u64.wrapping_shr(128), 128);\n```", "id": 11500, "inner": { "function": { @@ -121645,22 +120361,22 @@ ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": { - "Self::rotate_right": 11433 + "Self::rotate_right": 11426 }, "name": "wrapping_shr", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121670,10 +120386,10 @@ "11501": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -121683,7 +120399,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_abs(), 100);\nassert_eq!((-100isize).wrapping_abs(), 100);\nassert_eq!(isize::MIN.wrapping_abs(), isize::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3u64.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", "id": 11501, "inner": { "function": { @@ -121705,24 +120421,30 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "wrapping_abs", + "name": "wrapping_pow", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121732,10 +120454,10 @@ "11502": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -121745,7 +120467,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100isize.unsigned_abs(), 100usize);\nassert_eq!((-100isize).unsigned_abs(), 100usize);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_add(2), (7, false));\nassert_eq!(u64::MAX.overflowing_add(1), (0, true));\n```", "id": 11502, "inner": { "function": { @@ -121767,24 +120489,37 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "tuple": [ + { + "primitive": "u64" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "unsigned_abs", + "name": "overflowing_add", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121794,10 +120529,10 @@ "11503": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -121807,7 +120542,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3isize.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", + "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u64.overflowing_add_signed(2), (3, false));\nassert_eq!(1u64.overflowing_add_signed(-2), (u64::MAX, true));\nassert_eq!((u64::MAX - 2).overflowing_add_signed(4), (1, true));\n```", "id": 11503, "inner": { "function": { @@ -121831,28 +120566,35 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "i64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "tuple": [ + { + "primitive": "u64" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "wrapping_pow", + "name": "overflowing_add_signed", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121862,7 +120604,7 @@ "11504": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -121875,7 +120617,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_add(2), (7, false));\nassert_eq!(isize::MAX.overflowing_add(1), (isize::MIN, true));\n```", + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_sub(2), (3, false));\nassert_eq!(0u64.overflowing_sub(1), (u64::MAX, true));\n```", "id": 11504, "inner": { "function": { @@ -121901,7 +120643,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], @@ -121909,7 +120651,7 @@ "output": { "tuple": [ { - "primitive": "isize" + "primitive": "u64" }, { "primitive": "bool" @@ -121920,14 +120662,14 @@ } }, "links": {}, - "name": "overflowing_add", + "name": "overflowing_sub", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -121937,10 +120679,10 @@ "11505": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -121950,7 +120692,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 64-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 3 MAX (a = 3 × 2^64 + 2^64 - 1)\n// + 5 7 (b = 5 × 2^64 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^64 + 6)\n\nlet (a1, a0): (usize, usize) = (3, usize::MAX);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", + "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u64.overflowing_sub_signed(2), (u64::MAX, true));\nassert_eq!(1u64.overflowing_sub_signed(-2), (3, false));\nassert_eq!((u64::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", "id": 11505, "inner": { "function": { @@ -121976,13 +120718,7 @@ [ "rhs", { - "primitive": "usize" - } - ], - [ - "carry", - { - "primitive": "bool" + "primitive": "i64" } ] ], @@ -121990,7 +120726,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u64" }, { "primitive": "bool" @@ -122000,17 +120736,15 @@ } } }, - "links": { - "Self::overflowing_add": 11646 - }, - "name": "carrying_add", + "links": {}, + "name": "overflowing_sub_signed", "span": { "begin": [ - 1248, + 1160, 5 ], "end": [ - 1266, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122020,7 +120754,10 @@ "11506": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" }, { "must_use": { @@ -122030,7 +120767,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`usize::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^64 + 2^64 - 1)\n// + -5 9 (b = -5 × 2^64 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^64 + 8)\n\nlet (a1, a0): (isize, usize) = (10, usize::MAX);\nlet (b1, b0): (isize, usize) = (-5, 9);\nlet carry0 = false;\n\n// usize::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// isize::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", + "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100u64.abs_diff(80), 20u64);\nassert_eq!(100u64.abs_diff(110), 10u64);\n```", "id": 11506, "inner": { "function": { @@ -122054,44 +120791,28 @@ } ], [ - "rhs", - { - "primitive": "isize" - } - ], - [ - "carry", + "other", { - "primitive": "bool" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "isize" - }, - { - "primitive": "bool" - } - ] + "primitive": "u64" } } } }, - "links": { - "Self::overflowing_add": 11504, - "`usize::carrying_add`": 11505 - }, - "name": "carrying_add", + "links": {}, + "name": "abs_diff", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122101,10 +120822,10 @@ "11507": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -122114,7 +120835,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1isize.overflowing_add_unsigned(2), (3, false));\nassert_eq!((isize::MIN).overflowing_add_unsigned(usize::MAX), (isize::MAX, false));\nassert_eq!((isize::MAX - 2).overflowing_add_unsigned(3), (isize::MIN, true));\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you also need to add a value, then use [`Self::carrying_mul_add`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(u64::MAX.carrying_mul(u64::MAX, u64::MAX), (0, u64::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", "id": 11507, "inner": { "function": { @@ -122140,7 +120861,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u64" + } + ], + [ + "carry", + { + "primitive": "u64" } ] ], @@ -122148,25 +120875,30 @@ "output": { "tuple": [ { - "primitive": "isize" + "primitive": "u64" }, { - "primitive": "bool" + "primitive": "u64" } ] } } } }, - "links": {}, - "name": "overflowing_add_unsigned", + "links": { + "Self::overflowing_mul": 11508, + "Self::wrapping_add": 11437, + "Self::wrapping_mul": 11450, + "`Self::carrying_mul_add`": 11509 + }, + "name": "carrying_mul", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122176,7 +120908,7 @@ "11508": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -122189,7 +120921,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_sub(2), (3, false));\nassert_eq!(isize::MIN.overflowing_sub(1), (isize::MAX, true));\n```", + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\nIf you want the *value* of the overflow, rather than just *whether*\nan overflow occurred, see [`Self::carrying_mul`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", "id": 11508, "inner": { "function": { @@ -122215,7 +120947,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], @@ -122223,7 +120955,7 @@ "output": { "tuple": [ { - "primitive": "isize" + "primitive": "u64" }, { "primitive": "bool" @@ -122233,15 +120965,17 @@ } } }, - "links": {}, - "name": "overflowing_sub", + "links": { + "`Self::carrying_mul`": 11507 + }, + "name": "overflowing_mul", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122254,7 +120988,7 @@ "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -122264,7 +120998,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n\n// 9 6 (a = 9 × 2^64 + 6)\n// - 5 7 (b = 5 × 2^64 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (usize, usize) = (9, 6);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, usize::MAX));\n```", + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nThis cannot overflow, as the double-width result has exactly enough\nspace for the largest possible result. This is equivalent to how, in\ndecimal, 9 × 9 + 9 + 9 = 81 + 18 = 99 = 9×10⁰ + 9×10¹ = 10² - 1.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `add` part, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(u64::MAX.carrying_mul_add(u64::MAX, u64::MAX, u64::MAX), (u64::MAX, u64::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xcffc982d);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xcffc982d)\n);\n```", "id": 11509, "inner": { "function": { @@ -122290,13 +121024,19 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u64" } ], [ - "borrow", + "carry", { - "primitive": "bool" + "primitive": "u64" + } + ], + [ + "add", + { + "primitive": "u64" } ] ], @@ -122304,25 +121044,27 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u64" }, { - "primitive": "bool" + "primitive": "u64" } ] } } } }, - "links": {}, - "name": "borrowing_sub", + "links": { + "`Self::carrying_mul`": 11507 + }, + "name": "carrying_mul_add", "span": { "begin": [ - 1248, + 1160, 5 ], "end": [ - 1266, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122405,7 +121147,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -122426,7 +121168,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -122447,7 +121189,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -122459,6 +121201,9 @@ }, "11510": { "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" }, @@ -122470,7 +121215,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`usize::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^64 + 8)\n// - -5 9 (b = -5 × 2^64 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (isize, usize) = (6, 8);\nlet (b1, b0): (isize, usize) = (-5, 9);\nlet borrow0 = false;\n\n// usize::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// isize::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, usize::MAX));\n```", + "docs": "Calculates the complete double-width product `self * rhs`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order. As such,\n`a.widening_mul(b).0` produces the same result as `a.wrapping_mul(b)`.\n\nIf you also need to add a value and carry to the wide result, then you want\n[`Self::carrying_mul_add`] instead.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\nIf you just want to know *whether* the multiplication overflowed, then you\nwant [`Self::overflowing_mul`] instead.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5_u64.widening_mul(7), (35, 0));\nassert_eq!(u64::MAX.widening_mul(u64::MAX), (1, u64::MAX - 1));\n```\n\nCompared to other `*_mul` methods:\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(u64::widening_mul(1 << 63, 6), (0, 3));\nassert_eq!(u64::overflowing_mul(1 << 63, 6), (0, true));\nassert_eq!(u64::wrapping_mul(1 << 63, 6), 0);\nassert_eq!(u64::checked_mul(1 << 63, 6), None);\n```\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", "id": 11510, "inner": { "function": { @@ -122496,13 +121241,7 @@ [ "rhs", { - "primitive": "isize" - } - ], - [ - "borrow", - { - "primitive": "bool" + "primitive": "u64" } ] ], @@ -122510,10 +121249,10 @@ "output": { "tuple": [ { - "primitive": "isize" + "primitive": "u64" }, { - "primitive": "bool" + "primitive": "u64" } ] } @@ -122521,17 +121260,18 @@ } }, "links": { - "Self::overflowing_sub": 11508, - "`usize::borrowing_sub`": 11509 + "`Self::carrying_mul_add`": 11509, + "`Self::carrying_mul`": 11507, + "`Self::overflowing_mul`": 11508 }, - "name": "borrowing_sub", + "name": "widening_mul", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122541,20 +121281,23 @@ "11511": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1isize.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((isize::MAX).overflowing_sub_unsigned(usize::MAX), (isize::MIN, false));\nassert_eq!((isize::MIN + 2).overflowing_sub_unsigned(3), (isize::MAX, true));\n```", + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_div(2), (2, false));\n```", "id": 11511, "inner": { "function": { @@ -122580,7 +121323,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u64" } ] ], @@ -122588,7 +121331,7 @@ "output": { "tuple": [ { - "primitive": "isize" + "primitive": "u64" }, { "primitive": "bool" @@ -122599,14 +121342,14 @@ } }, "links": {}, - "name": "overflowing_sub_unsigned", + "name": "overflowing_div", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122616,20 +121359,23 @@ "11512": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_div_euclid(2), (2, false));\n```", "id": 11512, "inner": { "function": { @@ -122655,7 +121401,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], @@ -122663,7 +121409,7 @@ "output": { "tuple": [ { - "primitive": "isize" + "primitive": "u64" }, { "primitive": "bool" @@ -122674,14 +121420,14 @@ } }, "links": {}, - "name": "overflowing_mul", + "name": "overflowing_div_euclid", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122691,20 +121437,23 @@ "11513": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(isize::MAX.carrying_mul(isize::MAX, isize::MAX), (isize::MAX.unsigned_abs() + 1, isize::MAX / 2));\n```", + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_rem(2), (1, false));\n```", "id": 11513, "inner": { "function": { @@ -122730,13 +121479,7 @@ [ "rhs", { - "primitive": "isize" - } - ], - [ - "carry", - { - "primitive": "isize" + "primitive": "u64" } ] ], @@ -122744,27 +121487,25 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u64" }, { - "primitive": "isize" + "primitive": "bool" } ] } } } }, - "links": { - "`Self::widening_mul`": 11514 - }, - "name": "carrying_mul", + "links": {}, + "name": "overflowing_rem", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122774,20 +121515,23 @@ "11514": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", + "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u64.overflowing_rem_euclid(2), (1, false));\n```", "id": 11514, "inner": { "function": { @@ -122813,7 +121557,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], @@ -122821,27 +121565,25 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u64" }, { - "primitive": "isize" + "primitive": "bool" } ] } } } }, - "links": { - "`Self::carrying_mul`": 11513 - }, - "name": "widening_mul", + "links": {}, + "name": "overflowing_rem_euclid", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122851,10 +121593,10 @@ "11515": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -122864,7 +121606,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(isize::MAX.carrying_mul_add(isize::MAX, isize::MAX, isize::MAX), (usize::MAX, isize::MAX / 2));\n```", + "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0u64.overflowing_neg(), (0, false));\nassert_eq!(2u64.overflowing_neg(), (-2i32 as u64, true));\n```", "id": 11515, "inner": { "function": { @@ -122886,52 +121628,31 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "isize" - } - ], - [ - "carry", - { - "primitive": "isize" - } - ], - [ - "add", - { - "primitive": "isize" - } ] ], "is_c_variadic": false, "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u64" }, { - "primitive": "isize" + "primitive": "bool" } ] } } } }, - "links": { - "`Self::carrying_mul`": 11513, - "`Self::widening_mul`": 11514 - }, - "name": "carrying_mul_add", + "links": {}, + "name": "overflowing_neg", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -122941,7 +121662,7 @@ "11516": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" @@ -122954,7 +121675,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_div(2), (2, false));\nassert_eq!(isize::MIN.overflowing_div(-1), (isize::MIN, true));\n```", + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1u64.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1u64.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10u64.overflowing_shl(63), (0, false));\n```", "id": 11516, "inner": { "function": { @@ -122980,7 +121701,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u32" } ] ], @@ -122988,7 +121709,7 @@ "output": { "tuple": [ { - "primitive": "isize" + "primitive": "u64" }, { "primitive": "bool" @@ -122999,14 +121720,14 @@ } }, "links": {}, - "name": "overflowing_div", + "name": "overflowing_shl", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123016,10 +121737,10 @@ "11517": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -123029,7 +121750,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_div_euclid(2), (2, false));\nassert_eq!(isize::MIN.overflowing_div_euclid(-1), (isize::MIN, true));\n```", + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10u64.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10u64.overflowing_shr(132), (0x1, true));\n```", "id": 11517, "inner": { "function": { @@ -123055,7 +121776,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u32" } ] ], @@ -123063,7 +121784,7 @@ "output": { "tuple": [ { - "primitive": "isize" + "primitive": "u64" }, { "primitive": "bool" @@ -123074,14 +121795,14 @@ } }, "links": {}, - "name": "overflowing_div_euclid", + "name": "overflowing_shr", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123091,10 +121812,10 @@ "11518": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -123104,7 +121825,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_rem(2), (1, false));\nassert_eq!(isize::MIN.overflowing_rem(-1), (0, true));\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3u64.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", "id": 11518, "inner": { "function": { @@ -123128,9 +121849,9 @@ } ], [ - "rhs", + "exp", { - "primitive": "isize" + "primitive": "u32" } ] ], @@ -123138,7 +121859,7 @@ "output": { "tuple": [ { - "primitive": "isize" + "primitive": "u64" }, { "primitive": "bool" @@ -123149,14 +121870,14 @@ } }, "links": {}, - "name": "overflowing_rem", + "name": "overflowing_pow", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123166,23 +121887,20 @@ "11519": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_rem_euclid(2), (1, false));\nassert_eq!(isize::MIN.overflowing_rem_euclid(-1), (0, true));\n```", + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2u64.pow(5), 32);\n```", "id": 11519, "inner": { "function": { @@ -123206,35 +121924,28 @@ } ], [ - "rhs", + "exp", { - "primitive": "isize" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "isize" - }, - { - "primitive": "bool" - } - ] + "primitive": "u64" } } } }, "links": {}, - "name": "overflowing_rem_euclid", + "name": "pow", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123319,7 +122030,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -123335,7 +122046,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -123344,12 +122055,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -123358,10 +122069,10 @@ "11520": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" }, { "must_use": { @@ -123371,7 +122082,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2isize.overflowing_neg(), (-2, false));\nassert_eq!(isize::MIN.overflowing_neg(), (isize::MIN, true));\n```", + "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10u64.isqrt(), 3);\n```", "id": 11520, "inner": { "function": { @@ -123397,27 +122108,20 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "isize" - }, - { - "primitive": "bool" - } - ] + "primitive": "u64" } } } }, "links": {}, - "name": "overflowing_neg", + "name": "isqrt", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123427,20 +122131,23 @@ "11521": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1isize.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10isize.overflowing_shl(63), (0, false));\n```", + "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u64.div_euclid(4), 1); // or any other integer type\n```", "id": 11521, "inner": { "function": { @@ -123466,33 +122173,26 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "isize" - }, - { - "primitive": "bool" - } - ] + "primitive": "u64" } } } }, "links": {}, - "name": "overflowing_shl", + "name": "div_euclid", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123502,20 +122202,26 @@ "11522": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10isize.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", + "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u64.rem_euclid(4), 3); // or any other integer type\n```", "id": 11522, "inner": { "function": { @@ -123541,125 +122247,120 @@ [ "rhs", { - "primitive": "u32" + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u64" + } + } + } + }, + "links": {}, + "name": "rem_euclid", + "span": { + "begin": [ + 1160, + 5 + ], + "end": [ + 1181, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11523": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_u64.div_floor(4), 1);\n```", + "id": 11523, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "isize" - }, - { - "primitive": "bool" - } - ] + "primitive": "u64" } } } }, "links": {}, - "name": "overflowing_shr", + "name": "div_floor", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11523": { + "11524": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., isize::MIN for values of type isize),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10isize.overflowing_abs(), (10, false));\nassert_eq!((-10isize).overflowing_abs(), (10, false));\nassert_eq!((isize::MIN).overflowing_abs(), (isize::MIN, true));\n```", - "id": 11523, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "isize" - }, - { - "primitive": "bool" - } - ] - } - } - } - }, - "links": {}, - "name": "overflowing_abs", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11524": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3isize.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_u64.div_ceil(4), 2);\n```", "id": 11524, "inner": { "function": { @@ -123683,35 +122384,28 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "isize" - }, - { - "primitive": "bool" - } - ] + "primitive": "u64" } } } }, "links": {}, - "name": "overflowing_pow", + "name": "div_ceil", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123721,10 +122415,10 @@ "11525": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { @@ -123734,7 +122428,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: isize = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_u64.next_multiple_of(8), 16);\nassert_eq!(23_u64.next_multiple_of(8), 24);\n```", "id": 11525, "inner": { "function": { @@ -123758,28 +122452,28 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "pow", + "name": "next_multiple_of", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123789,23 +122483,20 @@ "11526": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10isize.isqrt(), 3);\n```", + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_u64.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_u64.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_u64.checked_next_multiple_of(0), None);\nassert_eq!(u64::MAX.checked_next_multiple_of(2), None);\n```", "id": 11526, "inner": { "function": { @@ -123827,24 +122518,45 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u64" + } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "isqrt", + "name": "checked_next_multiple_of", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123854,23 +122566,20 @@ "11527": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: isize = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", + "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_u64.is_multiple_of(2));\nassert!(!5_u64.is_multiple_of(2));\n\nassert!(0_u64.is_multiple_of(0));\nassert!(!6_u64.is_multiple_of(0));\n```", "id": 11527, "inner": { "function": { @@ -123896,26 +122605,26 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "bool" } } } }, "links": {}, - "name": "div_euclid", + "name": "is_multiple_of", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123925,26 +122634,20 @@ "11528": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: isize = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = isize::MIN.rem_euclid(-1);\n```", + "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16u64.is_power_of_two());\nassert!(!10u64.is_power_of_two());\n```", "id": 11528, "inner": { "function": { @@ -123966,30 +122669,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "isize" - } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "bool" } } } }, "links": {}, - "name": "rem_euclid", + "name": "is_power_of_two", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -123999,20 +122696,20 @@ "11529": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: isize = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", + "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2u64.next_power_of_two(), 2);\nassert_eq!(3u64.next_power_of_two(), 4);\nassert_eq!(0u64.next_power_of_two(), 1);\n```", "id": 11529, "inner": { "function": { @@ -124034,30 +122731,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "isize" - } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "div_floor", + "name": "next_power_of_two", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124142,7 +122833,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -124158,7 +122849,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -124167,12 +122858,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -124181,20 +122872,20 @@ "11530": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: isize = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", + "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2u64.checked_next_power_of_two(), Some(2));\nassert_eq!(3u64.checked_next_power_of_two(), Some(4));\nassert_eq!(u64::MAX.checked_next_power_of_two(), None);\n```", "id": 11530, "inner": { "function": { @@ -124216,30 +122907,39 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "isize" - } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "div_ceil", + "name": "checked_next_power_of_two", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124249,7 +122949,7 @@ "11531": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" }, { "must_use": { @@ -124259,7 +122959,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_isize.next_multiple_of(8), 16);\nassert_eq!(23_isize.next_multiple_of(8), 24);\nassert_eq!(16_isize.next_multiple_of(-8), 16);\nassert_eq!(23_isize.next_multiple_of(-8), 16);\nassert_eq!((-16_isize).next_multiple_of(8), -16);\nassert_eq!((-23_isize).next_multiple_of(8), -16);\nassert_eq!((-16_isize).next_multiple_of(-8), -16);\nassert_eq!((-23_isize).next_multiple_of(-8), -24);\n```", + "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2u64.wrapping_next_power_of_two(), 2);\nassert_eq!(3u64.wrapping_next_power_of_two(), 4);\nassert_eq!(u64::MAX.wrapping_next_power_of_two(), 0);\n```", "id": 11531, "inner": { "function": { @@ -124281,30 +122981,24 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "isize" - } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": {}, - "name": "next_multiple_of", + "name": "wrapping_next_power_of_two", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124314,7 +123008,10 @@ "11532": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { @@ -124324,7 +123021,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_isize.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_isize.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_isize.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_isize.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_isize).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_isize).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_isize).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_isize).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_isize.checked_next_multiple_of(0), None);\nassert_eq!(isize::MAX.checked_next_multiple_of(2), None);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456u64.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\n```", "id": 11532, "inner": { "function": { @@ -124346,45 +123043,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "isize" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "isize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } } } } } }, "links": {}, - "name": "checked_next_multiple_of", + "name": "to_be_bytes", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124394,23 +123075,20 @@ "11533": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5isize.ilog(5), 1);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456u64.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", "id": 11533, "inner": { "function": { @@ -124432,30 +123110,29 @@ { "generic": "Self" } - ], - [ - "base", - { - "primitive": "isize" - } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } } } }, "links": {}, - "name": "ilog", + "name": "to_le_bytes", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124465,23 +123142,20 @@ "11534": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10isize.ilog10(), 1);\n```", + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456u64.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n } else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", "id": 11534, "inner": { "function": { @@ -124507,20 +123181,28 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "ilog10", + "links": { + "Self::to_be_bytes": 11532, + "Self::to_le_bytes": 11533 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124530,20 +123212,20 @@ "11535": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5isize.checked_ilog(5), Some(1));\n```", + "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n\n# Examples\n\n```\nlet value = u64::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_u64(input: &mut &[u8]) -> u64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u64::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11535, "inner": { "function": { @@ -124561,49 +123243,33 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "base", + "bytes", { - "primitive": "isize" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u64" } } } }, "links": {}, - "name": "checked_ilog", + "name": "from_be_bytes", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124613,20 +123279,20 @@ "11536": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2isize.checked_ilog2(), Some(1));\n```", + "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n\n# Examples\n\n```\nlet value = u64::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_u64(input: &mut &[u8]) -> u64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u64::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11536, "inner": { "function": { @@ -124644,43 +123310,33 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u64" } } } }, "links": {}, - "name": "checked_ilog2", + "name": "from_le_bytes", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124690,20 +123346,20 @@ "11537": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10isize.checked_ilog10(), Some(1));\n```", + "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = u64::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_u64(input: &mut &[u8]) -> u64 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u64::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", "id": 11537, "inner": { "function": { @@ -124721,43 +123377,36 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "u64" } } } }, - "links": {}, - "name": "checked_ilog10", + "links": { + "Self::from_be_bytes": 11535, + "Self::from_le_bytes": 11536 + }, + "name": "from_ne_bytes", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124767,20 +123416,21 @@ "11538": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"u64_legacy_fn_min_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`isize::MIN`\ncannot be represented as an\n`isize`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`isize::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10isize.abs(), 10);\nassert_eq!((-10isize).abs(), 10);\n```", + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`u64::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", "id": 11538, "inner": { "function": { @@ -124796,32 +123446,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } }, "links": { - "Self::unsigned_abs": 11502 + "`u64::MIN`": 11409 }, - "name": "abs", + "name": "min_value", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124831,20 +123474,21 @@ "11539": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"u64_legacy_fn_max_value\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100isize.abs_diff(80), 20usize);\nassert_eq!(100isize.abs_diff(110), 10usize);\nassert_eq!((-100isize).abs_diff(80), 180usize);\nassert_eq!((-100isize).abs_diff(-120), 20usize);\nassert_eq!(isize::MIN.abs_diff(isize::MAX), usize::MAX);\n```", + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`u64::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", "id": 11539, "inner": { "function": { @@ -124860,36 +123504,25 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "isize" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u64" } } } }, - "links": {}, - "name": "abs_diff", + "links": { + "`u64::MAX`": 11410 + }, + "name": "max_value", "span": { "begin": [ - 420, + 1160, 5 ], "end": [ - 439, + 1181, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" @@ -124995,7 +123628,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -125020,11 +123653,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -125032,823 +123665,18 @@ "visibility": "default" }, "11540": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10isize.signum(), 1);\nassert_eq!(0isize.signum(), 0);\nassert_eq!((-10isize).signum(), -1);\n```", - "id": 11540, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "isize" - } - } - } - }, - "links": {}, - "name": "signum", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11541": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10isize.is_positive());\nassert!(!(-10isize).is_positive());\n```", - "id": 11541, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_positive", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11542": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10isize).is_negative());\nassert!(!10isize.is_negative());\n```", - "id": 11542, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_negative", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11543": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456isize.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\n```", - "id": 11543, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } - } - } - } - }, - "links": {}, - "name": "to_be_bytes", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11544": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456isize.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", - "id": 11544, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } - } - } - } - }, - "links": {}, - "name": "to_le_bytes", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11545": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456isize.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n } else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", - "id": 11545, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } - } - } - } - }, - "links": { - "Self::to_be_bytes": 11543, - "Self::to_le_bytes": 11544 - }, - "name": "to_ne_bytes", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11546": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = isize::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_isize(input: &mut &[u8]) -> isize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n isize::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11546, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "isize" - } - } - } - }, - "links": {}, - "name": "from_be_bytes", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11547": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = isize::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_isize(input: &mut &[u8]) -> isize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n isize::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11547, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "isize" - } - } - } - }, - "links": {}, - "name": "from_le_bytes", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11548": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = isize::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_isize(input: &mut &[u8]) -> isize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n isize::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11548, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "isize" - } - } - } - }, - "links": { - "Self::from_be_bytes": 11546, - "Self::from_le_bytes": 11547 - }, - "name": "from_ne_bytes", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11549": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"isize_legacy_fn_min_value\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, - "deprecation": { - "note": "replaced by the `MIN` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`isize::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", - "id": 11549, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "primitive": "isize" - } - } - } - }, - "links": { - "`isize::MIN`": 11417 - }, - "name": "min_value", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "1155": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1155, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 776, - "path": "Entry" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 791, - 28 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "11550": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"isize_legacy_fn_max_value\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, - "deprecation": { - "note": "replaced by the `MAX` associated constant on this type", - "since": "TBD" - }, - "docs": "New code should prefer to use\n[`isize::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", - "id": 11550, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "primitive": "isize" - } - } - } - }, - "links": { - "`isize::MAX`": 11418 - }, - "name": "max_value", - "span": { - "begin": [ - 420, - 5 - ], - "end": [ - 439, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11551": { "attrs": [ { "other": "#[doc(alias = \"average_floor\")]" }, - { - "other": "#[doc(alias = \"average_ceil\")]" - }, { "other": "#[doc(alias = \"average\")]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" }, { "must_use": { @@ -125858,8 +123686,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0isize.midpoint(4), 2);\nassert_eq!((-1isize).midpoint(2), 0);\nassert_eq!((-7isize).midpoint(0), -3);\nassert_eq!(0isize.midpoint(-7), -3);\nassert_eq!(0isize.midpoint(7), 3);\n```", - "id": 11551, + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0u64.midpoint(4), 2);\nassert_eq!(1u64.midpoint(4), 2);\n```", + "id": 11540, "inner": { "function": { "generics": { @@ -125884,13 +123712,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u64" } } } @@ -125899,28 +123727,28 @@ "name": "midpoint", "span": { "begin": [ - 440, + 1182, 5 ], "end": [ - 440, - 37 + 1182, + 43 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11552": { + "11541": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 11552, + "id": 11541, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "isize" + "primitive": "u64" }, "generics": { "params": [], @@ -125930,11 +123758,19 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 11409, + 11410, + 11411, + 11412, + 11413, + 11415, + 11416, 11417, 11418, 11419, 11420, 11421, + 11422, 11423, 11424, 11425, @@ -125949,21 +123785,21 @@ 11434, 11435, 11436, - 11437, 11438, 11439, 11440, 11441, - 11443, + 11442, 11444, 11445, 11446, 11447, + 11448, 11449, - 11450, 11451, 11452, 11453, + 11454, 11455, 11456, 11457, @@ -125974,6 +123810,7 @@ 11462, 11463, 11464, + 11414, 11465, 11466, 11467, @@ -126001,11 +123838,11 @@ 11489, 11490, 11491, - 11442, + 11437, 11492, - 11448, + 11443, 11493, - 11454, + 11450, 11494, 11495, 11496, @@ -126015,16 +123852,20 @@ 11500, 11501, 11502, + 10774, 11503, 11504, + 10778, + 11505, 11506, - 11507, 11508, 11510, + 11507, + 11509, 11511, 11512, - 11514, 11513, + 11514, 11515, 11516, 11517, @@ -126044,25 +123885,13 @@ 11531, 11532, 11533, - 11422, 11534, 11535, 11536, 11537, 11538, 11539, - 11540, - 11541, - 11542, - 11543, - 11544, - 11545, - 11546, - 11547, - 11548, - 11549, - 11550, - 11551 + 11540 ], "provided_trait_methods": [], "trait": null @@ -126072,18 +123901,18 @@ "name": null, "span": { "begin": [ - 419, + 1159, 1 ], "end": [ - 419, - 11 + 1159, + 9 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "default" }, - "11553": { + "11542": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" @@ -126094,8 +123923,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(isize::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(isize::from_str_radix(\"1 \", 10).is_err());\n```", - "id": 11553, + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(u64::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(u64::from_str_radix(\"1 \", 10).is_err());\n```", + "id": 11542, "inner": { "function": { "generics": { @@ -126138,14 +123967,14 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u64" } }, { "type": { "resolved_path": { "args": null, - "id": 4784, + "id": 4786, "path": "ParseIntError" } } @@ -126165,18 +123994,18 @@ "name": "from_str_radix", "span": { "begin": [ - 1630, + 1667, 1 ], "end": [ - 1630, - 56 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11554": { + "11543": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" @@ -126184,8 +124013,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(isize::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(isize::from_ascii(b\"1 \").is_err());\n```", - "id": 11554, + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u64::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u64::from_ascii(b\"1 \").is_err());\n```", + "id": 11543, "inner": { "function": { "generics": { @@ -126224,14 +124053,14 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u64" } }, { "type": { "resolved_path": { "args": null, - "id": 4784, + "id": 4786, "path": "ParseIntError" } } @@ -126251,18 +124080,18 @@ "name": "from_ascii", "span": { "begin": [ - 1630, + 1667, 1 ], "end": [ - 1630, - 56 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11555": { + "11544": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" @@ -126270,8 +124099,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(isize::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(isize::from_ascii_radix(b\"1 \", 10).is_err());\n```", - "id": 11555, + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u64::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u64::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "id": 11544, "inner": { "function": { "generics": { @@ -126316,14 +124145,14 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u64" } }, { "type": { "resolved_path": { "args": null, - "id": 4784, + "id": 4786, "path": "ParseIntError" } } @@ -126343,28 +124172,28 @@ "name": "from_ascii_radix", "span": { "begin": [ - 1630, + 1667, 1 ], "end": [ - 1630, - 56 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11556": { + "11545": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 11556, + "id": 11545, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "isize" + "primitive": "u64" }, "generics": { "params": [], @@ -126374,9 +124203,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 11553, - 11554, - 11555 + 11542, + 11543, + 11544 ], "provided_trait_methods": [], "trait": null @@ -126386,18 +124215,18 @@ "name": null, "span": { "begin": [ - 1630, + 1667, 1 ], "end": [ - 1630, - 56 + 1667, + 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "default" }, - "11557": { + "11546": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" @@ -126405,8 +124234,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0isize;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32isize;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = isize :: MAX;\nassert_eq!(n2.format_into(&mut buf), isize :: MAX.to_string());\n```", - "id": 11557, + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0u64;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32u64;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = u64 :: MAX;\nassert_eq!(n2.format_into(&mut buf), u64 :: MAX.to_string());\n```", + "id": 11546, "inner": { "function": { "generics": { @@ -126441,14 +124270,14 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "u64" } } ], "constraints": [] } }, - "id": 10162, + "id": 10387, "path": "NumBuffer" } } @@ -126470,33 +124299,33 @@ } }, "links": { - "`NumBuffer`": 10162 + "`NumBuffer`": 10387 }, "name": "format_into", "span": { "begin": [ - 562, + 599, 5 ], "end": [ - 562, + 599, 95 ], "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "public" }, - "11558": { + "11547": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 11558, + "id": 11547, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "isize" + "primitive": "u64" }, "generics": { "params": [], @@ -126506,7 +124335,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 11557 + 11546 ], "provided_trait_methods": [], "trait": null @@ -126516,18 +124345,18 @@ "name": null, "span": { "begin": [ - 562, + 599, 5 ], "end": [ - 562, + 599, 95 ], "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "default" }, - "11559": { + "11548": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" @@ -126535,12 +124364,12 @@ ], "crate_id": 1, "deprecation": null, - "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(usize::MIN, 0);\n```", - "id": 11559, + "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(u128::MIN, 0);\n```", + "id": 11548, "inner": { "assoc_const": { "type": { - "primitive": "usize" + "primitive": "u128" }, "value": "0" } @@ -126549,23 +124378,56 @@ "name": "MIN", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1156": { + "11549": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The largest value that can be represented by this integer type\n(2128 − 1).\n\n# Examples\n\n```\nassert_eq!(u128::MAX, 340282366920938463463374607431768211455);\n```", + "id": 11549, + "inner": { + "assoc_const": { + "type": { + "primitive": "u128" + }, + "value": "_" + } + }, + "links": {}, + "name": "MAX", + "span": { + "begin": [ + 1186, + 5 + ], + "end": [ + 1209, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1155": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1156, + "id": 1155, "inner": { "impl": { "blanket_impl": { @@ -126608,59 +124470,15 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 327 ], "provided_trait_methods": [], "trait": { @@ -126669,15 +124487,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 37, + "path": "From" } } }, @@ -126685,51 +124503,18 @@ "name": null, "span": { "begin": [ - 817, + 785, 1 ], "end": [ - 819, - 27 + 785, + 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "11560": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(264 − 1 on 64-bit targets).\n\n# Examples\n\n```\nassert_eq!(usize::MAX, 18446744073709551615);\n```", - "id": 11560, - "inner": { - "assoc_const": { - "type": { - "primitive": "usize" - }, - "value": "_" - } - }, - "links": {}, - "name": "MAX", - "span": { - "begin": [ - 1248, - 5 - ], - "end": [ - 1266, - 6 - ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" - }, - "visibility": "public" - }, - "11561": { + "11550": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" @@ -126737,8 +124522,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(usize::BITS, 64);\n```", - "id": 11561, + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(u128::BITS, 128);\n```", + "id": 11550, "inner": { "assoc_const": { "type": { @@ -126751,18 +124536,18 @@ "name": "BITS", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11562": { + "11551": { "attrs": [ { "other": "#[doc(alias = \"popcount\")]" @@ -126784,8 +124569,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100usize;\nassert_eq!(n.count_ones(), 3);\n\nlet max = usize::MAX;\nassert_eq!(max.count_ones(), 64);\n\nlet zero = 0usize;\nassert_eq!(zero.count_ones(), 0);\n```", - "id": 11562, + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100u128;\nassert_eq!(n.count_ones(), 3);\n\nlet max = u128::MAX;\nassert_eq!(max.count_ones(), 128);\n\nlet zero = 0u128;\nassert_eq!(zero.count_ones(), 0);\n```", + "id": 11551, "inner": { "function": { "generics": { @@ -126819,18 +124604,18 @@ "name": "count_ones", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11563": { + "11552": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" @@ -126846,8 +124631,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0usize;\nassert_eq!(zero.count_zeros(), 64);\n\nlet max = usize::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", - "id": 11563, + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0u128;\nassert_eq!(zero.count_zeros(), 128);\n\nlet max = u128::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", + "id": 11552, "inner": { "function": { "generics": { @@ -126881,18 +124666,18 @@ "name": "count_zeros", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11564": { + "11553": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" @@ -126911,8 +124696,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2usize.ilog2(), 1);\n```", - "id": 11564, + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2u128.ilog2(), 1);\n```", + "id": 11553, "inner": { "function": { "generics": { @@ -126946,18 +124731,18 @@ "name": "ilog2", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11565": { + "11554": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" @@ -126973,8 +124758,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = usize::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0usize;\nassert_eq!(zero.leading_zeros(), 64);\n\nlet max = usize::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: usize::ilog2", - "id": 11565, + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = u128::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0u128;\nassert_eq!(zero.leading_zeros(), 128);\n\nlet max = u128::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: u128::ilog2", + "id": 11554, "inner": { "function": { "generics": { @@ -127005,23 +124790,23 @@ } }, "links": { - "usize::ilog2": 11564 + "u128::ilog2": 11553 }, "name": "leading_zeros", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11566": { + "11555": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" @@ -127037,8 +124822,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000usize;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0usize;\nassert_eq!(zero.trailing_zeros(), 64);\n\nlet max = usize::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", - "id": 11566, + "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000u128;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0u128;\nassert_eq!(zero.trailing_zeros(), 128);\n\nlet max = u128::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", + "id": 11555, "inner": { "function": { "generics": { @@ -127072,18 +124857,18 @@ "name": "trailing_zeros", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11567": { + "11556": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" @@ -127099,8 +124884,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(usize::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0usize;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = usize::MAX;\nassert_eq!(max.leading_ones(), 64);\n```", - "id": 11567, + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(u128::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0u128;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = u128::MAX;\nassert_eq!(max.leading_ones(), 128);\n```", + "id": 11556, "inner": { "function": { "generics": { @@ -127134,18 +124919,18 @@ "name": "leading_ones", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11568": { + "11557": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" @@ -127161,8 +124946,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111usize;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0usize;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = usize::MAX;\nassert_eq!(max.trailing_ones(), 64);\n```", - "id": 11568, + "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111u128;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0u128;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = u128::MAX;\nassert_eq!(max.trailing_ones(), 128);\n```", + "id": 11557, "inner": { "function": { "generics": { @@ -127196,18 +124981,18 @@ "name": "trailing_ones", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11569": { + "11558": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" @@ -127220,8 +125005,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_usize.bit_width(), 0);\nassert_eq!(0b111_usize.bit_width(), 3);\nassert_eq!(0b1110_usize.bit_width(), 4);\nassert_eq!(usize::MAX.bit_width(), 64);\n```", - "id": 11569, + "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_u128.bit_width(), 0);\nassert_eq!(0b111_u128.bit_width(), 3);\nassert_eq!(0b1110_u128.bit_width(), 4);\nassert_eq!(u128::MAX.bit_width(), 128);\n```", + "id": 11558, "inner": { "function": { "generics": { @@ -127255,23 +125040,82 @@ "name": "bit_width", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1157": { + "11559": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u128 = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_u128.isolate_highest_one(), 0);\n```", + "id": 11559, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u128" + } + } + } + }, + "links": {}, + "name": "isolate_highest_one", + "span": { + "begin": [ + 1186, + 5 + ], + "end": [ + 1209, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1156": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1157, + "id": 1156, "inner": { "impl": { "blanket_impl": { @@ -127347,8 +125191,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 197, + "path": "TryFrom" } } } @@ -127365,8 +125209,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -127382,8 +125226,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 198, + "path": "TryInto" } } }, @@ -127391,18 +125235,18 @@ "name": null, "span": { "begin": [ - 833, + 811, 1 ], "end": [ - 835, - 24 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "11570": { + "11560": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" @@ -127415,8 +125259,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: usize = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_usize.isolate_highest_one(), 0);\n```", - "id": 11570, + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: u128 = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_u128.isolate_lowest_one(), 0);\n```", + "id": 11560, "inner": { "function": { "generics": { @@ -127441,30 +125285,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "isolate_highest_one", + "name": "isolate_lowest_one", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11571": { + "11561": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" }, { "must_use": { @@ -127474,8 +125318,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: usize = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_usize.isolate_lowest_one(), 0);\n```", - "id": 11571, + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u128.highest_one(), None);\nassert_eq!(0x1_u128.highest_one(), Some(0));\nassert_eq!(0x10_u128.highest_one(), Some(4));\nassert_eq!(0x1f_u128.highest_one(), Some(4));\n```", + "id": 11561, "inner": { "function": { "generics": { @@ -127500,27 +125344,42 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "isolate_lowest_one", + "name": "highest_one", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11572": { + "11562": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" @@ -127533,8 +125392,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_usize.highest_one(), None);\nassert_eq!(0x1_usize.highest_one(), Some(0));\nassert_eq!(0x10_usize.highest_one(), Some(4));\nassert_eq!(0x1f_usize.highest_one(), Some(4));\n```", - "id": 11572, + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_u128.lowest_one(), None);\nassert_eq!(0x1_u128.lowest_one(), Some(0));\nassert_eq!(0x10_u128.lowest_one(), Some(4));\nassert_eq!(0x1f_u128.lowest_one(), Some(0));\n```", + "id": 11562, "inner": { "function": { "generics": { @@ -127580,24 +125439,27 @@ } }, "links": {}, - "name": "highest_one", + "name": "lowest_one", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11573": { + "11563": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" }, { "must_use": { @@ -127607,8 +125469,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_usize.lowest_one(), None);\nassert_eq!(0x1_usize.lowest_one(), Some(0));\nassert_eq!(0x10_usize.lowest_one(), Some(4));\nassert_eq!(0x1f_usize.lowest_one(), Some(0));\n```", - "id": 11573, + "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = u128::MAX;\n\nassert_eq!(n.cast_signed(), -1i128);\n```", + "id": 11563, "inner": { "function": { "generics": { @@ -127633,48 +125495,33 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "i128" } } } }, "links": {}, - "name": "lowest_one", + "name": "cast_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11574": { + "11564": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -127684,8 +125531,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = usize::MAX;\n\nassert_eq!(n.cast_signed(), -1isize);\n```", - "id": 11574, + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0x13f40000000000000000000000004f76u128;\nlet m = 0x4f7613f4;\n\nassert_eq!(n.rotate_left(16), m);\n```", + "id": 11564, "inner": { "function": { "generics": { @@ -127706,31 +125553,37 @@ { "generic": "Self" } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "isize" + "primitive": "u128" } } } }, "links": {}, - "name": "cast_signed", + "name": "rotate_left", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11575": { + "11565": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" @@ -127746,8 +125599,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0xaa00000000006e1usize;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);\n```", - "id": 11575, + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x4f7613f4u128;\nlet m = 0x13f40000000000000000000000004f76;\n\nassert_eq!(n.rotate_right(16), m);\n```", + "id": 11565, "inner": { "function": { "generics": { @@ -127778,33 +125631,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "rotate_left", + "name": "rotate_right", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11576": { + "11566": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" }, { "must_use": { @@ -127814,8 +125667,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x6e10aausize;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);\n```", - "id": 11576, + "docs": "Performs a left funnel shift (concatenates `self` with `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value left\nby `n`, and most significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `<<` shifting operator or\n[`rotate_left`](Self::rotate_left), although `a.funnel_shl(a, n)` is *equivalent*\nto `a.rotate_left(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0x13f40000000000000000000000004f76u128;\nlet b = 0x2fe78e45983acd98039000008736273u128;\nlet m = 0x4f7602fe;\n\nassert_eq!(a.funnel_shl(b, 16), m);\n```", + "id": 11566, "inner": { "function": { "generics": { @@ -127837,6 +125690,12 @@ "generic": "Self" } ], + [ + "rhs", + { + "primitive": "u128" + } + ], [ "n", { @@ -127846,33 +125705,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, - "links": {}, - "name": "rotate_right", + "links": { + "Self::rotate_left": 11564 + }, + "name": "funnel_shl", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11577": { + "11567": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" }, { "must_use": { @@ -127882,8 +125743,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234567890123456usize;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);\n```", - "id": 11577, + "docs": "Performs a right funnel shift (concatenates `self` and `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value right\nby `n`, and least significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `>>` shifting operator or\n[`rotate_right`](Self::rotate_right), although `a.funnel_shr(a, n)` is *equivalent*\nto `a.rotate_right(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0x13f40000000000000000000000004f76u128;\nlet b = 0x2fe78e45983acd98039000008736273u128;\nlet m = 0x4f7602fe78e45983acd9803900000873;\n\nassert_eq!(a.funnel_shr(b, 16), m);\n```", + "id": 11567, "inner": { "function": { "generics": { @@ -127904,37 +125765,51 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "u128" + } + ], + [ + "n", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, - "links": {}, - "name": "swap_bytes", + "links": { + "Self::rotate_right": 11565 + }, + "name": "funnel_shr", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11578": { + "11568": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -127944,8 +125819,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234567890123456usize;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0usize.reverse_bits());\n```", - "id": 11578, + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x12345678901234567890123456789012u128;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x12907856341290785634129078563412);\n```", + "id": 11568, "inner": { "function": { "generics": { @@ -127970,44 +125845,44 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "reverse_bits", + "name": "swap_bytes", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11579": { + "11569": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(usize::from_be(n), n)\n} else {\n assert_eq!(usize::from_be(n), n.swap_bytes())\n}\n```", - "id": 11579, + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x12345678901234567890123456789012u128;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x48091e6a2c48091e6a2c48091e6a2c48);\nassert_eq!(0, 0u128.reverse_bits());\n```", + "id": 11569, "inner": { "function": { "generics": { @@ -128024,40 +125899,40 @@ "sig": { "inputs": [ [ - "x", + "self", { - "primitive": "usize" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "from_be", + "name": "reverse_bits", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1158": { + "1157": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1158, + "id": 1157, "inner": { "impl": { "blanket_impl": { @@ -128100,30 +125975,48 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -128133,13 +126026,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 332, + 334 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 341, - "path": "Any" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, @@ -128147,18 +126052,18 @@ "name": null, "span": { "begin": [ - 138, + 827, 1 ], "end": [ - 138, - 36 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "11580": { + "11570": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" @@ -128174,8 +126079,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(usize::from_le(n), n)\n} else {\n assert_eq!(usize::from_le(n), n.swap_bytes())\n}\n```", - "id": 11580, + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au128;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(u128::from_be(n), n)\n} else {\n assert_eq!(u128::from_be(n), n.swap_bytes())\n}\n```", + "id": 11570, "inner": { "function": { "generics": { @@ -128194,13 +126099,75 @@ [ "x", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" + } + } + } + }, + "links": {}, + "name": "from_be", + "span": { + "begin": [ + 1186, + 5 + ], + "end": [ + 1209, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11571": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au128;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(u128::from_le(n), n)\n} else {\n assert_eq!(u128::from_le(n), n.swap_bytes())\n}\n```", + "id": 11571, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "x", + { + "primitive": "u128" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u128" } } } @@ -128209,18 +126176,18 @@ "name": "from_le", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11581": { + "11572": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" @@ -128236,8 +126203,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", - "id": 11581, + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au128;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "id": 11572, "inner": { "function": { "generics": { @@ -128262,7 +126229,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -128271,18 +126238,18 @@ "name": "to_be", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11582": { + "11573": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" @@ -128298,8 +126265,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", - "id": 11582, + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Au128;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "id": 11573, "inner": { "function": { "generics": { @@ -128324,7 +126291,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -128333,18 +126300,18 @@ "name": "to_le", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11583": { + "11574": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" @@ -128360,8 +126327,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((usize::MAX - 2).checked_add(1), Some(usize::MAX - 1));\nassert_eq!((usize::MAX - 2).checked_add(3), None);\n```", - "id": 11583, + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((u128::MAX - 2).checked_add(1), Some(u128::MAX - 1));\nassert_eq!((u128::MAX - 2).checked_add(3), None);\n```", + "id": 11574, "inner": { "function": { "generics": { @@ -128386,7 +126353,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -128398,7 +126365,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -128416,24 +126383,24 @@ "name": "checked_add", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11584": { + "11575": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -128446,8 +126413,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((usize::MAX - 2).strict_add(1), usize::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (usize::MAX - 2).strict_add(3);\n```", - "id": 11584, + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((u128::MAX - 2).strict_add(1), u128::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (u128::MAX - 2).strict_add(3);\n```", + "id": 11575, "inner": { "function": { "generics": { @@ -128472,13 +126439,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -128487,18 +126454,18 @@ "name": "strict_add", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11585": { + "11576": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" @@ -128514,8 +126481,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200usize.wrapping_add(55), 255);\nassert_eq!(200usize.wrapping_add(usize::MAX), 199);\n```", - "id": 11585, + "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200u128.wrapping_add(55), 255);\nassert_eq!(200u128.wrapping_add(u128::MAX), 199);\n```", + "id": 11576, "inner": { "function": { "generics": { @@ -128540,13 +126507,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -128555,18 +126522,18 @@ "name": "wrapping_add", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11586": { + "11577": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" @@ -128585,8 +126552,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > usize::MAX` or `self + rhs < usize::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: usize::checked_add\n[`wrapping_add`]: usize::wrapping_add", - "id": 11586, + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > u128::MAX` or `self + rhs < u128::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: u128::checked_add\n[`wrapping_add`]: u128::wrapping_add", + "id": 11577, "inner": { "function": { "generics": { @@ -128611,36 +126578,36 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": { - "usize::checked_add": 11583, - "usize::wrapping_add": 11585 + "u128::checked_add": 11574, + "u128::wrapping_add": 11576 }, "name": "unchecked_add", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11587": { + "11578": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" @@ -128656,8 +126623,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1usize.checked_add_signed(2), Some(3));\nassert_eq!(1usize.checked_add_signed(-2), None);\nassert_eq!((usize::MAX - 2).checked_add_signed(3), None);\n```", - "id": 11587, + "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u128.checked_add_signed(2), Some(3));\nassert_eq!(1u128.checked_add_signed(-2), None);\nassert_eq!((u128::MAX - 2).checked_add_signed(3), None);\n```", + "id": 11578, "inner": { "function": { "generics": { @@ -128682,7 +126649,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "i128" } ] ], @@ -128694,7 +126661,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -128712,24 +126679,24 @@ "name": "checked_add_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11588": { + "11579": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -128742,8 +126709,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1usize.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1usize.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (usize::MAX - 2).strict_add_signed(3);\n```", - "id": 11588, + "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u128.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u128.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (u128::MAX - 2).strict_add_signed(3);\n```", + "id": 11579, "inner": { "function": { "generics": { @@ -128768,13 +126735,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -128783,18 +126750,124 @@ "name": "strict_add_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11589": { + "1158": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1158, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 776, + "path": "Entry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "11580": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" @@ -128810,8 +126883,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1usize.checked_sub(1), Some(0));\nassert_eq!(0usize.checked_sub(1), None);\n```", - "id": 11589, + "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u128.checked_sub(1), Some(0));\nassert_eq!(0u128.checked_sub(1), None);\n```", + "id": 11580, "inner": { "function": { "generics": { @@ -128836,7 +126909,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -128848,7 +126921,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -128866,109 +126939,24 @@ "name": "checked_sub", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1159": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1159, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1803, - 5 - ], - "end": [ - 1808, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "11590": { + "11581": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -128981,8 +126969,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1usize.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0usize.strict_sub(1);\n```", - "id": 11590, + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1u128.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0u128.strict_sub(1);\n```", + "id": 11581, "inner": { "function": { "generics": { @@ -129007,13 +126995,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -129022,18 +127010,18 @@ "name": "strict_sub", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11591": { + "11582": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" @@ -129049,8 +127037,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100usize.wrapping_sub(100), 0);\nassert_eq!(100usize.wrapping_sub(usize::MAX), 101);\n```", - "id": 11591, + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100u128.wrapping_sub(100), 0);\nassert_eq!(100u128.wrapping_sub(u128::MAX), 101);\n```", + "id": 11582, "inner": { "function": { "generics": { @@ -129075,13 +127063,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -129090,18 +127078,18 @@ "name": "wrapping_sub", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11592": { + "11583": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" @@ -129120,8 +127108,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > usize::MAX` or `self - rhs < usize::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: usize::checked_sub\n[`wrapping_sub`]: usize::wrapping_sub", - "id": 11592, + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > u128::MAX` or `self - rhs < u128::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: u128::checked_sub\n[`wrapping_sub`]: u128::wrapping_sub", + "id": 11583, "inner": { "function": { "generics": { @@ -129146,36 +127134,36 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": { - "usize::checked_sub": 11589, - "usize::wrapping_sub": 11591 + "u128::checked_sub": 11580, + "u128::wrapping_sub": 11582 }, "name": "unchecked_sub", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11593": { + "11584": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" @@ -129191,8 +127179,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1usize.checked_sub_signed(2), None);\nassert_eq!(1usize.checked_sub_signed(-2), Some(3));\nassert_eq!((usize::MAX - 2).checked_sub_signed(-4), None);\n```", - "id": 11593, + "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1u128.checked_sub_signed(2), None);\nassert_eq!(1u128.checked_sub_signed(-2), Some(3));\nassert_eq!((u128::MAX - 2).checked_sub_signed(-4), None);\n```", + "id": 11584, "inner": { "function": { "generics": { @@ -129217,7 +127205,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "i128" } ] ], @@ -129229,7 +127217,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -129247,24 +127235,24 @@ "name": "checked_sub_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11594": { + "11585": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -129277,8 +127265,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3usize.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1usize.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (usize::MAX).strict_sub_signed(-1);\n```", - "id": 11594, + "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3u128.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1u128.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (u128::MAX).strict_sub_signed(-1);\n```", + "id": 11585, "inner": { "function": { "generics": { @@ -129303,13 +127291,13 @@ [ "rhs", { - "primitive": "isize" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -129318,30 +127306,30 @@ "name": "strict_sub_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11595": { + "11586": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"unsigned_signed_diff\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`isize`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10usize.checked_signed_diff(2), Some(8));\nassert_eq!(2usize.checked_signed_diff(10), Some(-8));\nassert_eq!(usize::MAX.checked_signed_diff(isize::MAX as usize), None);\nassert_eq!((isize::MAX as usize).checked_signed_diff(usize::MAX), Some(isize::MIN));\nassert_eq!((isize::MAX as usize + 1).checked_signed_diff(0), None);\nassert_eq!(usize::MAX.checked_signed_diff(usize::MAX), Some(0));\n```", - "id": 11595, + "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`i128`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10u128.checked_signed_diff(2), Some(8));\nassert_eq!(2u128.checked_signed_diff(10), Some(-8));\nassert_eq!(u128::MAX.checked_signed_diff(i128::MAX as u128), None);\nassert_eq!((i128::MAX as u128).checked_signed_diff(u128::MAX), Some(i128::MIN));\nassert_eq!((i128::MAX as u128 + 1).checked_signed_diff(0), None);\nassert_eq!(u128::MAX.checked_signed_diff(u128::MAX), Some(0));\n```", + "id": 11586, "inner": { "function": { "generics": { @@ -129366,7 +127354,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -129378,7 +127366,7 @@ "args": [ { "type": { - "primitive": "isize" + "primitive": "i128" } } ], @@ -129393,23 +127381,23 @@ } }, "links": { - "`isize`": 11416 + "`i128`": 4828 }, "name": "checked_signed_diff", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11596": { + "11587": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" @@ -129425,8 +127413,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5usize.checked_mul(1), Some(5));\nassert_eq!(usize::MAX.checked_mul(2), None);\n```", - "id": 11596, + "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5u128.checked_mul(1), Some(5));\nassert_eq!(u128::MAX.checked_mul(2), None);\n```", + "id": 11587, "inner": { "function": { "generics": { @@ -129451,7 +127439,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -129463,7 +127451,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -129481,24 +127469,24 @@ "name": "checked_mul", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11597": { + "11588": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -129511,8 +127499,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5usize.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = usize::MAX.strict_mul(2);\n```", - "id": 11597, + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5u128.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = u128::MAX.strict_mul(2);\n```", + "id": 11588, "inner": { "function": { "generics": { @@ -129537,13 +127525,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -129552,18 +127540,18 @@ "name": "strict_mul", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11598": { + "11589": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" @@ -129580,7 +127568,7 @@ "crate_id": 1, "deprecation": null, "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", - "id": 11598, + "id": 11589, "inner": { "function": { "generics": { @@ -129605,13 +127593,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -129620,38 +127608,23 @@ "name": "wrapping_mul", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11599": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - }, - { - "other": "#[attr = TrackCaller]" - } - ], - "crate_id": 1, + "1159": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > usize::MAX` or `self * rhs < usize::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: usize::checked_mul\n[`wrapping_mul`]: usize::wrapping_mul", - "id": 11599, + "docs": null, + "id": 1159, "inner": { "function": { "generics": { @@ -129662,203 +127635,150 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": true + "is_const": false, + "is_unsafe": false }, "sig": { "inputs": [ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "rhs", + "f", { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, "output": { - "primitive": "usize" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, - "links": { - "usize::checked_mul": 11596, - "usize::wrapping_mul": 11598 - }, - "name": "unchecked_mul", + "links": {}, + "name": "fmt", "span": { "begin": [ - 1248, + 1803, 5 ], "end": [ - 1266, + 1808, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "116": { + "11590": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 116, - "inner": { - "use": { - "id": 117, - "is_glob": false, - "name": "Hash", - "source": "core::prelude::v1::Hash" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 52, - 63 - ], - "end": [ - 52, - 67 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1160": { - "attrs": [ + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"debug_hash_map\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1160, + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > u128::MAX` or `self * rhs < u128::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: u128::checked_mul\n[`wrapping_mul`]: u128::wrapping_mul", + "id": 11590, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 776, - "path": "Entry" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 1159 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u128" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u128" + } } } }, - "links": {}, - "name": null, + "links": { + "u128::checked_mul": 11587, + "u128::wrapping_mul": 11589 + }, + "name": "unchecked_mul", "span": { "begin": [ - 1802, - 1 + 1186, + 5 ], "end": [ - 1809, - 2 + 1209, + 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11600": { + "11591": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" @@ -129874,8 +127794,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128usize.checked_div(2), Some(64));\nassert_eq!(1usize.checked_div(0), None);\n```", - "id": 11600, + "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u128.checked_div(2), Some(64));\nassert_eq!(1u128.checked_div(0), None);\n```", + "id": 11591, "inner": { "function": { "generics": { @@ -129900,7 +127820,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -129912,7 +127832,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -129930,24 +127850,24 @@ "name": "checked_div", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11601": { + "11592": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -129960,8 +127880,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1usize).strict_div(0);\n```", - "id": 11601, + "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u128).strict_div(0);\n```", + "id": 11592, "inner": { "function": { "generics": { @@ -129986,13 +127906,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -130001,18 +127921,18 @@ "name": "strict_div", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11602": { + "11593": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" @@ -130028,8 +127948,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128usize.checked_div_euclid(2), Some(64));\nassert_eq!(1usize.checked_div_euclid(0), None);\n```", - "id": 11602, + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128u128.checked_div_euclid(2), Some(64));\nassert_eq!(1u128.checked_div_euclid(0), None);\n```", + "id": 11593, "inner": { "function": { "generics": { @@ -130054,7 +127974,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -130066,7 +127986,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -130084,24 +128004,24 @@ "name": "checked_div_euclid", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11603": { + "11594": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -130114,8 +128034,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1usize).strict_div_euclid(0);\n```", - "id": 11603, + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1u128).strict_div_euclid(0);\n```", + "id": 11594, "inner": { "function": { "generics": { @@ -130140,13 +128060,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -130155,18 +128075,18 @@ "name": "strict_div_euclid", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11604": { + "11595": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" @@ -130179,8 +128099,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64usize.checked_exact_div(2), Some(32));\nassert_eq!(64usize.checked_exact_div(32), Some(2));\nassert_eq!(64usize.checked_exact_div(0), None);\nassert_eq!(65usize.checked_exact_div(2), None);\n```", - "id": 11604, + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u128.checked_exact_div(2), Some(32));\nassert_eq!(64u128.checked_exact_div(32), Some(2));\nassert_eq!(64u128.checked_exact_div(0), None);\nassert_eq!(65u128.checked_exact_div(2), None);\n```", + "id": 11595, "inner": { "function": { "generics": { @@ -130205,7 +128125,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -130217,7 +128137,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -130235,18 +128155,18 @@ "name": "checked_exact_div", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11605": { + "11596": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" @@ -130259,8 +128179,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64usize.exact_div(2), 32);\nassert_eq!(64usize.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65usize.exact_div(2);\n```", - "id": 11605, + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64u128.exact_div(2), 32);\nassert_eq!(64u128.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65u128.exact_div(2);\n```", + "id": 11596, "inner": { "function": { "generics": { @@ -130285,13 +128205,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -130300,18 +128220,18 @@ "name": "exact_div", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11606": { + "11597": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" @@ -130325,7 +128245,7 @@ "crate_id": 1, "deprecation": null, "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", - "id": 11606, + "id": 11597, "inner": { "function": { "generics": { @@ -130350,35 +128270,35 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": { - "Self::checked_exact_div": 11604 + "Self::checked_exact_div": 11595 }, "name": "unchecked_exact_div", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11607": { + "11598": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" @@ -130394,8 +128314,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5usize.checked_rem(2), Some(1));\nassert_eq!(5usize.checked_rem(0), None);\n```", - "id": 11607, + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u128.checked_rem(2), Some(1));\nassert_eq!(5u128.checked_rem(0), None);\n```", + "id": 11598, "inner": { "function": { "generics": { @@ -130420,7 +128340,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -130432,7 +128352,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -130450,24 +128370,24 @@ "name": "checked_rem", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11608": { + "11599": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -130480,8 +128400,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5usize.strict_rem(0);\n```", - "id": 11608, + "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u128.strict_rem(0);\n```", + "id": 11599, "inner": { "function": { "generics": { @@ -130506,13 +128426,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -130521,18 +128441,171 @@ "name": "strict_rem", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11609": { + "116": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 116, + "inner": { + "use": { + "id": 117, + "is_glob": false, + "name": "Ord", + "source": "core::prelude::v1::Ord" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 52, + 69 + ], + "end": [ + 52, + 72 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1160": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"debug_hash_map\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1160, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 776, + "path": "Entry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 1159 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1802, + 1 + ], + "end": [ + 1809, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "11600": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" @@ -130548,8 +128621,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5usize.checked_rem_euclid(2), Some(1));\nassert_eq!(5usize.checked_rem_euclid(0), None);\n```", - "id": 11609, + "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5u128.checked_rem_euclid(2), Some(1));\nassert_eq!(5u128.checked_rem_euclid(0), None);\n```", + "id": 11600, "inner": { "function": { "generics": { @@ -130574,7 +128647,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -130586,7 +128659,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -130604,24 +128677,24 @@ "name": "checked_rem_euclid", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11610": { + "11601": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -130634,8 +128707,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5usize.strict_rem_euclid(0);\n```", - "id": 11610, + "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5u128.strict_rem_euclid(0);\n```", + "id": 11601, "inner": { "function": { "generics": { @@ -130660,13 +128733,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -130675,18 +128748,18 @@ "name": "strict_rem_euclid", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11611": { + "11602": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" @@ -130697,8 +128770,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_usize.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", - "id": 11611, + "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_u128.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", + "id": 11602, "inner": { "function": { "generics": { @@ -130723,13 +128796,13 @@ [ "other", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -130738,18 +128811,18 @@ "name": "unchecked_disjoint_bitor", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11612": { + "11603": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" @@ -130768,8 +128841,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5usize.ilog(5), 1);\n```", - "id": 11612, + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5u128.ilog(5), 1);\n```", + "id": 11603, "inner": { "function": { "generics": { @@ -130794,7 +128867,7 @@ [ "base", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -130809,18 +128882,18 @@ "name": "ilog", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11613": { + "11604": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" @@ -130839,8 +128912,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10usize.ilog10(), 1);\n```", - "id": 11613, + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10u128.ilog10(), 1);\n```", + "id": 11604, "inner": { "function": { "generics": { @@ -130874,18 +128947,18 @@ "name": "ilog10", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11614": { + "11605": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" @@ -130901,8 +128974,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5usize.checked_ilog(5), Some(1));\n```", - "id": 11614, + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5u128.checked_ilog(5), Some(1));\n```", + "id": 11605, "inner": { "function": { "generics": { @@ -130927,7 +129000,7 @@ [ "base", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -130957,18 +129030,18 @@ "name": "checked_ilog", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11615": { + "11606": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" @@ -130984,8 +129057,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2usize.checked_ilog2(), Some(1));\n```", - "id": 11615, + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2u128.checked_ilog2(), Some(1));\n```", + "id": 11606, "inner": { "function": { "generics": { @@ -131034,18 +129107,18 @@ "name": "checked_ilog2", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11616": { + "11607": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" @@ -131061,8 +129134,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10usize.checked_ilog10(), Some(1));\n```", - "id": 11616, + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10u128.checked_ilog10(), Some(1));\n```", + "id": 11607, "inner": { "function": { "generics": { @@ -131111,18 +129184,18 @@ "name": "checked_ilog10", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11617": { + "11608": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" @@ -131138,8 +129211,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0usize.checked_neg(), Some(0));\nassert_eq!(1usize.checked_neg(), None);\n```", - "id": 11617, + "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0u128.checked_neg(), Some(0));\nassert_eq!(1u128.checked_neg(), None);\n```", + "id": 11608, "inner": { "function": { "generics": { @@ -131170,7 +129243,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -131188,24 +129261,24 @@ "name": "checked_neg", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11618": { + "11609": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -131218,8 +129291,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0usize.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1usize.strict_neg();\n", - "id": 11618, + "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0u128.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1u128.strict_neg();\n```", + "id": 11609, "inner": { "function": { "generics": { @@ -131244,7 +129317,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -131253,18 +129326,18 @@ "name": "strict_neg", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11619": { + "11610": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" @@ -131280,8 +129353,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1usize.checked_shl(4), Some(0x10));\nassert_eq!(0x10usize.checked_shl(129), None);\nassert_eq!(0x10usize.checked_shl(63), Some(0));\n```", - "id": 11619, + "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1u128.checked_shl(4), Some(0x10));\nassert_eq!(0x10u128.checked_shl(129), None);\nassert_eq!(0x10u128.checked_shl(127), Some(0));\n```", + "id": 11610, "inner": { "function": { "generics": { @@ -131318,7 +129391,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -131336,30 +129409,38 @@ "name": "checked_shl", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1162": { + "11611": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"map_entry_keys\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Gets a reference to the key in the entry.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\nassert_eq!(map.entry(\"poneyland\").key(), &\"poneyland\");\n```", - "id": 1162, + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1u128.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u128.strict_shl(129);\n```", + "id": 11611, "inner": { "function": { "generics": { @@ -131370,7 +129451,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -131378,51 +129459,42 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "K" - } - } + "primitive": "u128" } } } }, "links": {}, - "name": "key", + "name": "strict_shl", "span": { "begin": [ - 2531, + 1186, 5 ], "end": [ - 2533, + 1209, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11620": { + "11612": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" }, { "must_use": { @@ -131435,8 +129507,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1usize.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10usize.strict_shl(129);\n```", - "id": 11620, + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: u128::checked_shl", + "id": 11612, "inner": { "function": { "generics": { @@ -131448,7 +129520,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -131467,44 +129539,46 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, - "links": {}, - "name": "strict_shl", + "links": { + "u128::checked_shl": 11610 + }, + "name": "unchecked_shl", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11621": { + "11613": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: usize::checked_shl", - "id": 11621, + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1u128.unbounded_shl(4), 0x10);\nassert_eq!(0x1u128.unbounded_shl(129), 0);\n```", + "id": 11613, "inner": { "function": { "generics": { @@ -131516,7 +129590,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -131535,35 +129609,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, - "links": { - "usize::checked_shl": 11619 - }, - "name": "unchecked_shl", + "links": {}, + "name": "unbounded_shl", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11622": { + "11614": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -131573,8 +129642,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1usize.unbounded_shl(4), 0x10);\nassert_eq!(0x1usize.unbounded_shl(129), 0);\n```", - "id": 11622, + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`u128::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1u128.exact_shl(4), Some(0x10));\nassert_eq!(0x1u128.exact_shl(129), None);\n```", + "id": 11614, "inner": { "function": { "generics": { @@ -131605,27 +129674,109 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "unbounded_shl", + "name": "exact_shl", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11623": { + "11615": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed `rhs` cannot be larger than\n`u128::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.leading_zeros() || rhs >=\nu128::BITS`\ni.e. when\n[`u128::exact_shl`]\nwould return `None`.", + "id": 11615, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u128" + } + } + } + }, + "links": { + "`u128::exact_shl`": 11614 + }, + "name": "unchecked_exact_shl", + "span": { + "begin": [ + 1186, + 5 + ], + "end": [ + 1209, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11616": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" @@ -131641,8 +129792,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10usize.checked_shr(4), Some(0x1));\nassert_eq!(0x10usize.checked_shr(129), None);\n```", - "id": 11623, + "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10u128.checked_shr(4), Some(0x1));\nassert_eq!(0x10u128.checked_shr(129), None);\n```", + "id": 11616, "inner": { "function": { "generics": { @@ -131679,7 +129830,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -131697,24 +129848,24 @@ "name": "checked_shr", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11624": { + "11617": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { "must_use": { @@ -131727,8 +129878,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10usize.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10usize.strict_shr(129);\n```", - "id": 11624, + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10u128.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10u128.strict_shr(129);\n```", + "id": 11617, "inner": { "function": { "generics": { @@ -131759,7 +129910,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -131768,18 +129919,18 @@ "name": "strict_shr", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11625": { + "11618": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" @@ -131795,8 +129946,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: usize::checked_shr", - "id": 11625, + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: u128::checked_shr", + "id": 11618, "inner": { "function": { "generics": { @@ -131827,29 +129978,29 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": { - "usize::checked_shr": 11623 + "u128::checked_shr": 11616 }, "name": "unchecked_shr", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11626": { + "11619": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" @@ -131865,8 +130016,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10usize.unbounded_shr(4), 0x1);\nassert_eq!(0x10usize.unbounded_shr(129), 0);\n```", - "id": 11626, + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10u128.unbounded_shr(4), 0x1);\nassert_eq!(0x10u128.unbounded_shr(129), 0);\n```", + "id": 11619, "inner": { "function": { "generics": { @@ -131897,7 +130048,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -131906,24 +130057,90 @@ "name": "unbounded_shr", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11627": { + "1162": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"map_entry_keys\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Gets a reference to the key in the entry.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\nassert_eq!(map.entry(\"poneyland\").key(), &\"poneyland\");\n```", + "id": 1162, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "K" + } + } + } + } + } + }, + "links": {}, + "name": "key", + "span": { + "begin": [ + 2526, + 5 + ], + "end": [ + 2528, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "11620": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { @@ -131933,8 +130150,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2usize.checked_pow(5), Some(32));\nassert_eq!(usize::MAX.checked_pow(2), None);\n```", - "id": 11627, + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`u128::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10u128.exact_shr(4), Some(0x1));\nassert_eq!(0x10u128.exact_shr(5), None);\n```", + "id": 11620, "inner": { "function": { "generics": { @@ -131957,7 +130174,7 @@ } ], [ - "exp", + "rhs", { "primitive": "u32" } @@ -131971,7 +130188,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -131986,41 +130203,35 @@ } }, "links": {}, - "name": "checked_pow", + "name": "exact_shr", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11628": { + "11621": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"strict_overflow_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2usize.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = usize::MAX.strict_pow(2);\n```", - "id": 11628, + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`u128::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\nu128::BITS`\ni.e. when\n[`u128::exact_shr`]\nwould return `None`.", + "id": 11621, "inner": { "function": { "generics": { @@ -132032,7 +130243,7 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -132043,7 +130254,7 @@ } ], [ - "exp", + "rhs", { "primitive": "u32" } @@ -132051,33 +130262,35 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, - "links": {}, - "name": "strict_pow", + "links": { + "`u128::exact_shr`": 11620 + }, + "name": "unchecked_exact_shr", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11629": { + "11622": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -132087,8 +130300,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100usize.saturating_add(1), 101);\nassert_eq!(usize::MAX.saturating_add(127), usize::MAX);\n```", - "id": 11629, + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2u128.checked_pow(5), Some(32));\nassert_eq!(u128::MAX.checked_pow(2), None);\n```", + "id": 11622, "inner": { "function": { "generics": { @@ -132111,47 +130324,70 @@ } ], [ - "rhs", + "exp", { - "primitive": "usize" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u128" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "saturating_add", + "name": "checked_pow", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1163": { + "11623": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"map_entry_recover_keys2\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Take the ownership of the key and value from the map.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nif let Entry::Occupied(o) = map.entry(\"poneyland\") {\n // We delete the entry from the map.\n o.remove_entry();\n}\n\nassert_eq!(map.contains_key(\"poneyland\"), false);\n```", - "id": 1163, + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2u128.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = u128::MAX.strict_pow(2);\n```", + "id": 11623, "inner": { "function": { "generics": { @@ -132162,7 +130398,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -132172,44 +130408,43 @@ { "generic": "Self" } + ], + [ + "exp", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] + "primitive": "u128" } } } }, "links": {}, - "name": "remove_entry", + "name": "strict_pow", "span": { "begin": [ - 2555, + 1186, 5 ], "end": [ - 2557, + 1209, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11630": { + "11624": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -132219,8 +130454,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1usize.saturating_add_signed(2), 3);\nassert_eq!(1usize.saturating_add_signed(-2), 0);\nassert_eq!((usize::MAX - 2).saturating_add_signed(4), usize::MAX);\n```", - "id": 11630, + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u128.saturating_add(1), 101);\nassert_eq!(u128::MAX.saturating_add(127), u128::MAX);\n```", + "id": 11624, "inner": { "function": { "generics": { @@ -132245,39 +130480,39 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "saturating_add_signed", + "name": "saturating_add", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11631": { + "11625": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -132287,8 +130522,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100usize.saturating_sub(27), 73);\nassert_eq!(13usize.saturating_sub(127), 0);\n```", - "id": 11631, + "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u128.saturating_add_signed(2), 3);\nassert_eq!(1u128.saturating_add_signed(-2), 0);\nassert_eq!((u128::MAX - 2).saturating_add_signed(4), u128::MAX);\n```", + "id": 11625, "inner": { "function": { "generics": { @@ -132313,39 +130548,39 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "saturating_sub", + "name": "saturating_add_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11632": { + "11626": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -132355,8 +130590,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1usize.saturating_sub_signed(2), 0);\nassert_eq!(1usize.saturating_sub_signed(-2), 3);\nassert_eq!((usize::MAX - 2).saturating_sub_signed(-4), usize::MAX);\n```", - "id": 11632, + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100u128.saturating_sub(27), 73);\nassert_eq!(13u128.saturating_sub(127), 0);\n```", + "id": 11626, "inner": { "function": { "generics": { @@ -132381,39 +130616,39 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "saturating_sub_signed", + "name": "saturating_sub", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11633": { + "11627": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -132423,8 +130658,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2usize.saturating_mul(10), 20);\nassert_eq!((usize::MAX).saturating_mul(10), usize::MAX);\n```", - "id": 11633, + "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1u128.saturating_sub_signed(2), 0);\nassert_eq!(1u128.saturating_sub_signed(-2), 3);\nassert_eq!((u128::MAX - 2).saturating_sub_signed(-4), u128::MAX);\n```", + "id": 11627, "inner": { "function": { "generics": { @@ -132449,53 +130684,50 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "saturating_mul", + "name": "saturating_sub_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11634": { + "11628": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5usize.saturating_div(2), 2);\n\n```", - "id": 11634, + "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2u128.saturating_mul(10), 20);\nassert_eq!((u128::MAX).saturating_mul(10), u128::MAX);\n```", + "id": 11628, "inner": { "function": { "generics": { @@ -132520,50 +130752,53 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "saturating_div", + "name": "saturating_mul", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11635": { + "11629": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4usize.saturating_pow(3), 64);\nassert_eq!(usize::MAX.saturating_pow(2), usize::MAX);\n```", - "id": 11635, + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u128.saturating_div(2), 2);\n\n```", + "id": 11629, "inner": { "function": { "generics": { @@ -132586,41 +130821,105 @@ } ], [ - "exp", + "rhs", { - "primitive": "u32" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "saturating_pow", + "name": "saturating_div", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11636": { + "1163": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"map_entry_recover_keys2\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Take the ownership of the key and value from the map.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nif let Entry::Occupied(o) = map.entry(\"poneyland\") {\n // We delete the entry from the map.\n o.remove_entry();\n}\n\nassert_eq!(map.contains_key(\"poneyland\"), false);\n```", + "id": 1163, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] + } + } + } + }, + "links": {}, + "name": "remove_entry", + "span": { + "begin": [ + 2550, + 5 + ], + "end": [ + 2552, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "11630": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -132630,8 +130929,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1usize.wrapping_add_signed(2), 3);\nassert_eq!(1usize.wrapping_add_signed(-2), usize::MAX);\nassert_eq!((usize::MAX - 2).wrapping_add_signed(4), 1);\n```", - "id": 11636, + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4u128.saturating_pow(3), 64);\nassert_eq!(u128::MAX.saturating_pow(2), u128::MAX);\n```", + "id": 11630, "inner": { "function": { "generics": { @@ -132654,41 +130953,41 @@ } ], [ - "rhs", + "exp", { - "primitive": "isize" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "wrapping_add_signed", + "name": "saturating_pow", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11637": { + "11631": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -132698,8 +130997,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1usize.wrapping_sub_signed(2), usize::MAX);\nassert_eq!(1usize.wrapping_sub_signed(-2), 3);\nassert_eq!((usize::MAX - 2).wrapping_sub_signed(-4), 1);\n```", - "id": 11637, + "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u128.wrapping_add_signed(2), 3);\nassert_eq!(1u128.wrapping_add_signed(-2), u128::MAX);\nassert_eq!((u128::MAX - 2).wrapping_add_signed(4), 1);\n```", + "id": 11631, "inner": { "function": { "generics": { @@ -132724,53 +131023,50 @@ [ "rhs", { - "primitive": "isize" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "wrapping_sub_signed", + "name": "wrapping_add_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11638": { + "11632": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { "reason": "this returns the result of the operation, without modifying the original" } - }, - { - "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.wrapping_div(10), 10);\n```", - "id": 11638, + "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1u128.wrapping_sub_signed(2), u128::MAX);\nassert_eq!(1u128.wrapping_sub_signed(-2), 3);\nassert_eq!((u128::MAX - 2).wrapping_sub_signed(-4), 1);\n```", + "id": 11632, "inner": { "function": { "generics": { @@ -132795,39 +131091,39 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "wrapping_div", + "name": "wrapping_sub_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11639": { + "11633": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" }, { "must_use": { @@ -132840,8 +131136,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.wrapping_div_euclid(10), 10);\n```", - "id": 11639, + "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.wrapping_div(10), 10);\n```", + "id": 11633, "inner": { "function": { "generics": { @@ -132866,45 +131162,53 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "wrapping_div_euclid", + "name": "wrapping_div", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1164": { + "11634": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Gets a reference to the value in the entry.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nif let Entry::Occupied(o) = map.entry(\"poneyland\") {\n assert_eq!(o.get(), &12);\n}\n```", - "id": 1164, + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.wrapping_div_euclid(10), 10);\n```", + "id": 11634, "inner": { "function": { "generics": { @@ -132915,7 +131219,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -132923,45 +131227,39 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "V" - } - } + "primitive": "u128" } } } }, "links": {}, - "name": "get", + "name": "wrapping_div_euclid", "span": { "begin": [ - 2576, + 1186, 5 ], "end": [ - 2578, + 1209, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11640": { + "11635": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" @@ -132980,8 +131278,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.wrapping_rem(10), 0);\n```", - "id": 11640, + "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.wrapping_rem(10), 0);\n```", + "id": 11635, "inner": { "function": { "generics": { @@ -133006,13 +131304,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -133021,18 +131319,18 @@ "name": "wrapping_rem", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11641": { + "11636": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" @@ -133051,8 +131349,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.wrapping_rem_euclid(10), 0);\n```", - "id": 11641, + "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100u128.wrapping_rem_euclid(10), 0);\n```", + "id": 11636, "inner": { "function": { "generics": { @@ -133077,13 +131375,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -133092,18 +131390,18 @@ "name": "wrapping_rem_euclid", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11642": { + "11637": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" @@ -133119,8 +131417,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_usize.wrapping_neg(), 0);\nassert_eq!(usize::MAX.wrapping_neg(), 1);\nassert_eq!(13_usize.wrapping_neg(), (!13) + 1);\nassert_eq!(42_usize.wrapping_neg(), !(42 - 1));\n```", - "id": 11642, + "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_u128.wrapping_neg(), 0);\nassert_eq!(u128::MAX.wrapping_neg(), 1);\nassert_eq!(13_u128.wrapping_neg(), (!13) + 1);\nassert_eq!(42_u128.wrapping_neg(), !(42 - 1));\n```", + "id": 11637, "inner": { "function": { "generics": { @@ -133145,7 +131443,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -133154,18 +131452,18 @@ "name": "wrapping_neg", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11643": { + "11638": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" @@ -133181,8 +131479,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1usize.wrapping_shl(7), 128);\nassert_eq!(1usize.wrapping_shl(128), 1);\n```", - "id": 11643, + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1u128.wrapping_shl(7), 128);\nassert_eq!(1u128.wrapping_shl(128), 1);\n```", + "id": 11638, "inner": { "function": { "generics": { @@ -133213,29 +131511,29 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": { - "Self::rotate_left": 11575 + "Self::rotate_left": 11564 }, "name": "wrapping_shl", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11644": { + "11639": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" @@ -133251,8 +131549,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128usize.wrapping_shr(7), 1);\nassert_eq!(128usize.wrapping_shr(128), 128);\n```", - "id": 11644, + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128u128.wrapping_shr(7), 1);\nassert_eq!(128u128.wrapping_shr(128), 128);\n```", + "id": 11639, "inner": { "function": { "generics": { @@ -133283,46 +131581,41 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": { - "Self::rotate_right": 11576 + "Self::rotate_right": 11565 }, "name": "wrapping_shr", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11645": { + "1164": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3usize.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", - "id": 11645, + "docs": "Gets a reference to the value in the entry.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nif let Entry::Occupied(o) = map.entry(\"poneyland\") {\n assert_eq!(o.get(), &12);\n}\n```", + "id": 1164, "inner": { "function": { "generics": { @@ -133333,7 +131626,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -133341,45 +131634,51 @@ [ "self", { - "generic": "Self" - } - ], - [ - "exp", - { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "V" + } + } } } } }, "links": {}, - "name": "wrapping_pow", + "name": "get", "span": { "begin": [ - 1248, + 2571, 5 ], "end": [ - 1266, + 2573, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "public" }, - "11646": { + "11640": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" }, { "must_use": { @@ -133389,8 +131688,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_add(2), (7, false));\nassert_eq!(usize::MAX.overflowing_add(1), (0, true));\n```", - "id": 11646, + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3u128.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", + "id": 11640, "inner": { "function": { "generics": { @@ -133413,48 +131712,41 @@ } ], [ - "rhs", + "exp", { - "primitive": "usize" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "usize" - }, - { - "primitive": "bool" - } - ] + "primitive": "u128" } } } }, "links": {}, - "name": "overflowing_add", + "name": "wrapping_pow", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11647": { + "11641": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -133464,8 +131756,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1usize.overflowing_add_signed(2), (3, false));\nassert_eq!(1usize.overflowing_add_signed(-2), (usize::MAX, true));\nassert_eq!((usize::MAX - 2).overflowing_add_signed(4), (1, true));\n```", - "id": 11647, + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_add(2), (7, false));\nassert_eq!(u128::MAX.overflowing_add(1), (0, true));\n```", + "id": 11641, "inner": { "function": { "generics": { @@ -133490,7 +131782,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u128" } ] ], @@ -133498,7 +131790,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -133509,27 +131801,27 @@ } }, "links": {}, - "name": "overflowing_add_signed", + "name": "overflowing_add", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11648": { + "11642": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" }, { "must_use": { @@ -133539,8 +131831,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_sub(2), (3, false));\nassert_eq!(0usize.overflowing_sub(1), (usize::MAX, true));\n```", - "id": 11648, + "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u128.overflowing_add_signed(2), (3, false));\nassert_eq!(1u128.overflowing_add_signed(-2), (u128::MAX, true));\nassert_eq!((u128::MAX - 2).overflowing_add_signed(4), (1, true));\n```", + "id": 11642, "inner": { "function": { "generics": { @@ -133565,7 +131857,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "i128" } ] ], @@ -133573,7 +131865,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -133584,27 +131876,27 @@ } }, "links": {}, - "name": "overflowing_sub", + "name": "overflowing_add_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11649": { + "11643": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -133614,8 +131906,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1usize.overflowing_sub_signed(2), (usize::MAX, true));\nassert_eq!(1usize.overflowing_sub_signed(-2), (3, false));\nassert_eq!((usize::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", - "id": 11649, + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_sub(2), (3, false));\nassert_eq!(0u128.overflowing_sub(1), (u128::MAX, true));\n```", + "id": 11643, "inner": { "function": { "generics": { @@ -133640,7 +131932,7 @@ [ "rhs", { - "primitive": "isize" + "primitive": "u128" } ] ], @@ -133648,7 +131940,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -133659,92 +131951,27 @@ } }, "links": {}, - "name": "overflowing_sub_signed", + "name": "overflowing_sub", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1165": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Converts the `OccupiedEntry` into a mutable reference to the value in the entry\nwith a lifetime bound to the map itself.\n\nIf you need multiple references to the `OccupiedEntry`, see [`get_mut`].\n\n[`get_mut`]: Self::get_mut\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nassert_eq!(map[\"poneyland\"], 12);\nif let Entry::Occupied(o) = map.entry(\"poneyland\") {\n *o.into_mut() += 10;\n}\n\nassert_eq!(map[\"poneyland\"], 22);\n```", - "id": 1165, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": "'a", - "type": { - "generic": "V" - } - } - } - } - } - }, - "links": { - "Self::get_mut": 1166 - }, - "name": "into_mut", - "span": { - "begin": [ - 2638, - 5 - ], - "end": [ - 2640, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "11650": { + "11644": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" }, { "must_use": { @@ -133754,8 +131981,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100usize.abs_diff(80), 20usize);\nassert_eq!(100usize.abs_diff(110), 10usize);\n```", - "id": 11650, + "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1u128.overflowing_sub_signed(2), (u128::MAX, true));\nassert_eq!(1u128.overflowing_sub_signed(-2), (3, false));\nassert_eq!((u128::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", + "id": 11644, "inner": { "function": { "generics": { @@ -133778,41 +132005,48 @@ } ], [ - "other", + "rhs", { - "primitive": "usize" + "primitive": "i128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "tuple": [ + { + "primitive": "u128" + }, + { + "primitive": "bool" + } + ] } } } }, "links": {}, - "name": "abs_diff", + "name": "overflowing_sub_signed", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11651": { + "11645": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" }, { "must_use": { @@ -133822,8 +132056,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why why `u32`\nis used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", - "id": 11651, + "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100u128.abs_diff(80), 20u128);\nassert_eq!(100u128.abs_diff(110), 10u128);\n```", + "id": 11645, "inner": { "function": { "generics": { @@ -133846,48 +132080,41 @@ } ], [ - "rhs", + "other", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "usize" - }, - { - "primitive": "bool" - } - ] + "primitive": "u128" } } } }, "links": {}, - "name": "overflowing_mul", + "name": "abs_diff", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11652": { + "11646": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -133897,8 +132124,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(usize::MAX.carrying_mul(usize::MAX, usize::MAX), (0, usize::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", - "id": 11652, + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you also need to add a value, then use [`Self::carrying_mul_add`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(u128::MAX.carrying_mul(u128::MAX, u128::MAX), (0, u128::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", + "id": 11646, "inner": { "function": { "generics": { @@ -133923,13 +132150,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ], [ "carry", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -133937,10 +132164,10 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { - "primitive": "usize" + "primitive": "u128" } ] } @@ -133948,32 +132175,32 @@ } }, "links": { - "Self::overflowing_mul": 11651, - "Self::wrapping_add": 11585, - "Self::wrapping_mul": 11598, - "`Self::widening_mul`": 11653 + "Self::overflowing_mul": 11647, + "Self::wrapping_add": 11576, + "Self::wrapping_mul": 11589, + "`Self::carrying_mul_add`": 11648 }, "name": "carrying_mul", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11653": { + "11647": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" }, { "must_use": { @@ -133983,8 +132210,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", - "id": 11653, + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\nIf you want the *value* of the overflow, rather than just *whether*\nan overflow occurred, see [`Self::carrying_mul`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", + "id": 11647, "inner": { "function": { "generics": { @@ -134009,7 +132236,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -134017,10 +132244,10 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { - "primitive": "usize" + "primitive": "bool" } ] } @@ -134028,29 +132255,29 @@ } }, "links": { - "`Self::carrying_mul`": 11652 + "`Self::carrying_mul`": 11646 }, - "name": "widening_mul", + "name": "overflowing_mul", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11654": { + "11648": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" }, { "must_use": { @@ -134060,8 +132287,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(usize::MAX.carrying_mul_add(usize::MAX, usize::MAX, usize::MAX), (usize::MAX, usize::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\n#![feature(bigint_helper_methods)]\n\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xCFFC982D);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xCFFC982D)\n);\n```", - "id": 11654, + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nThis cannot overflow, as the double-width result has exactly enough\nspace for the largest possible result. This is equivalent to how, in\ndecimal, 9 × 9 + 9 + 9 = 81 + 18 = 99 = 9×10⁰ + 9×10¹ = 10² - 1.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `add` part, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(u128::MAX.carrying_mul_add(u128::MAX, u128::MAX, u128::MAX), (u128::MAX, u128::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xcffc982d);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xcffc982d)\n);\n```", + "id": 11648, "inner": { "function": { "generics": { @@ -134086,19 +132313,19 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ], [ "carry", { - "primitive": "usize" + "primitive": "u128" } ], [ "add", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -134106,10 +132333,10 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { - "primitive": "usize" + "primitive": "u128" } ] } @@ -134117,24 +132344,167 @@ } }, "links": { - "`Self::carrying_mul`": 11652, - "`Self::widening_mul`": 11653 + "`Self::carrying_mul`": 11646 }, "name": "carrying_mul_add", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11655": { + "11649": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the complete double-width product `self * rhs`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order. As such,\n`a.widening_mul(b).0` produces the same result as `a.wrapping_mul(b)`.\n\nIf you also need to add a value and carry to the wide result, then you want\n[`Self::carrying_mul_add`] instead.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\nIf you just want to know *whether* the multiplication overflowed, then you\nwant [`Self::overflowing_mul`] instead.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5_u128.widening_mul(7), (35, 0));\nassert_eq!(u128::MAX.widening_mul(u128::MAX), (1, u128::MAX - 1));\n```\n\nCompared to other `*_mul` methods:\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(u128::widening_mul(1 << 127, 6), (0, 3));\nassert_eq!(u128::overflowing_mul(1 << 127, 6), (0, true));\nassert_eq!(u128::wrapping_mul(1 << 127, 6), 0);\nassert_eq!(u128::checked_mul(1 << 127, 6), None);\n```\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", + "id": 11649, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u128" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "u128" + }, + { + "primitive": "u128" + } + ] + } + } + } + }, + "links": { + "`Self::carrying_mul_add`": 11648, + "`Self::carrying_mul`": 11646, + "`Self::overflowing_mul`": 11647 + }, + "name": "widening_mul", + "span": { + "begin": [ + 1186, + 5 + ], + "end": [ + 1209, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1165": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Converts the `OccupiedEntry` into a mutable reference to the value in the entry\nwith a lifetime bound to the map itself.\n\nIf you need multiple references to the `OccupiedEntry`, see [`get_mut`].\n\n[`get_mut`]: Self::get_mut\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nassert_eq!(map[\"poneyland\"], 12);\nif let Entry::Occupied(o) = map.entry(\"poneyland\") {\n *o.into_mut() += 10;\n}\n\nassert_eq!(map[\"poneyland\"], 22);\n```", + "id": 1165, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + } + } + }, + "links": { + "Self::get_mut": 1166 + }, + "name": "into_mut", + "span": { + "begin": [ + 2633, + 5 + ], + "end": [ + 2635, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "11650": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" @@ -134153,8 +132523,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_div(2), (2, false));\n```", - "id": 11655, + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_div(2), (2, false));\n```", + "id": 11650, "inner": { "function": { "generics": { @@ -134179,7 +132549,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -134187,7 +132557,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -134201,18 +132571,18 @@ "name": "overflowing_div", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11656": { + "11651": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" @@ -134231,8 +132601,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_div_euclid(2), (2, false));\n```", - "id": 11656, + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_div_euclid(2), (2, false));\n```", + "id": 11651, "inner": { "function": { "generics": { @@ -134257,7 +132627,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -134265,7 +132635,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -134279,18 +132649,18 @@ "name": "overflowing_div_euclid", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11657": { + "11652": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" @@ -134309,8 +132679,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_rem(2), (1, false));\n```", - "id": 11657, + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_rem(2), (1, false));\n```", + "id": 11652, "inner": { "function": { "generics": { @@ -134335,7 +132705,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -134343,7 +132713,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -134357,18 +132727,18 @@ "name": "overflowing_rem", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11658": { + "11653": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" @@ -134387,8 +132757,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_rem_euclid(2), (1, false));\n```", - "id": 11658, + "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5u128.overflowing_rem_euclid(2), (1, false));\n```", + "id": 11653, "inner": { "function": { "generics": { @@ -134413,7 +132783,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -134421,7 +132791,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -134435,18 +132805,18 @@ "name": "overflowing_rem_euclid", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11659": { + "11654": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" @@ -134462,8 +132832,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0usize.overflowing_neg(), (0, false));\nassert_eq!(2usize.overflowing_neg(), (-2i32 as usize, true));\n```", - "id": 11659, + "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0u128.overflowing_neg(), (0, false));\nassert_eq!(2u128.overflowing_neg(), (-2i32 as u128, true));\n```", + "id": 11654, "inner": { "function": { "generics": { @@ -134490,7 +132860,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -134504,89 +132874,18 @@ "name": "overflowing_neg", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1166": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Gets a mutable reference to the value in the entry.\n\nIf you need a reference to the `OccupiedEntry` which may outlive the\ndestruction of the `Entry` value, see [`into_mut`].\n\n[`into_mut`]: Self::into_mut\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nassert_eq!(map[\"poneyland\"], 12);\nif let Entry::Occupied(mut o) = map.entry(\"poneyland\") {\n *o.get_mut() += 10;\n assert_eq!(*o.get(), 22);\n\n // We can use the same Entry multiple times.\n *o.get_mut() += 2;\n}\n\nassert_eq!(map[\"poneyland\"], 24);\n```", - "id": 1166, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "V" - } - } - } - } - } - }, - "links": { - "Self::into_mut": 1165 - }, - "name": "get_mut", - "span": { - "begin": [ - 2609, - 5 - ], - "end": [ - 2611, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "11660": { + "11655": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" @@ -134602,8 +132901,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1usize.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1usize.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10usize.overflowing_shl(63), (0, false));\n```", - "id": 11660, + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1u128.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1u128.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10u128.overflowing_shl(127), (0, false));\n```", + "id": 11655, "inner": { "function": { "generics": { @@ -134636,7 +132935,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -134650,18 +132949,18 @@ "name": "overflowing_shl", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11661": { + "11656": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" @@ -134677,8 +132976,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10usize.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10usize.overflowing_shr(132), (0x1, true));\n```", - "id": 11661, + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10u128.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10u128.overflowing_shr(132), (0x1, true));\n```", + "id": 11656, "inner": { "function": { "generics": { @@ -134711,7 +133010,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -134725,18 +133024,18 @@ "name": "overflowing_shr", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11662": { + "11657": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" @@ -134752,8 +133051,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3usize.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", - "id": 11662, + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3u128.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", + "id": 11657, "inner": { "function": { "generics": { @@ -134786,7 +133085,7 @@ "output": { "tuple": [ { - "primitive": "usize" + "primitive": "u128" }, { "primitive": "bool" @@ -134800,18 +133099,18 @@ "name": "overflowing_pow", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11663": { + "11658": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" @@ -134827,8 +133126,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2usize.pow(5), 32);\n```", - "id": 11663, + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2u128.pow(5), 32);\n```", + "id": 11658, "inner": { "function": { "generics": { @@ -134859,7 +133158,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -134868,18 +133167,18 @@ "name": "pow", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11664": { + "11659": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" @@ -134895,8 +133194,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10usize.isqrt(), 3);\n```", - "id": 11664, + "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10u128.isqrt(), 3);\n```", + "id": 11659, "inner": { "function": { "generics": { @@ -134921,7 +133220,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -134930,38 +133229,30 @@ "name": "isqrt", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11665": { + "1166": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7usize.div_euclid(4), 1); // or any other integer type\n```", - "id": 11665, + "docs": "Gets a mutable reference to the value in the entry.\n\nIf you need a reference to the `OccupiedEntry` which may outlive the\ndestruction of the `Entry` value, see [`into_mut`].\n\n[`into_mut`]: Self::into_mut\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nassert_eq!(map[\"poneyland\"], 12);\nif let Entry::Occupied(mut o) = map.entry(\"poneyland\") {\n *o.get_mut() += 10;\n assert_eq!(*o.get(), 22);\n\n // We can use the same Entry multiple times.\n *o.get_mut() += 2;\n}\n\nassert_eq!(map[\"poneyland\"], 24);\n```", + "id": 1166, "inner": { "function": { "generics": { @@ -134972,7 +133263,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -134980,43 +133271,48 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "usize" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "V" + } + } } } } }, - "links": {}, - "name": "div_euclid", + "links": { + "Self::into_mut": 1165 + }, + "name": "get_mut", "span": { "begin": [ - 1248, + 2604, 5 ], "end": [ - 1266, + 2606, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "public" }, - "11666": { + "11660": { "attrs": [ - { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, @@ -135034,8 +133330,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7usize.rem_euclid(4), 3); // or any other integer type\n```", - "id": 11666, + "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u128.div_euclid(4), 1); // or any other integer type\n```", + "id": 11660, "inner": { "function": { "generics": { @@ -135060,36 +133356,42 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "rem_euclid", + "name": "div_euclid", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11667": { + "11661": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "must_use": { @@ -135102,8 +133404,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_usize.div_floor(4), 1);\n```", - "id": 11667, + "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7u128.rem_euclid(4), 3); // or any other integer type\n```", + "id": 11661, "inner": { "function": { "generics": { @@ -135128,39 +133430,36 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "div_floor", + "name": "rem_euclid", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11668": { + "11662": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" }, { "must_use": { @@ -135173,8 +133472,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_usize.div_ceil(4), 2);\n```", - "id": 11668, + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_u128.div_floor(4), 1);\n```", + "id": 11662, "inner": { "function": { "generics": { @@ -135199,33 +133498,33 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "div_ceil", + "name": "div_floor", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11669": { + "11663": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" @@ -135237,12 +133536,15 @@ "must_use": { "reason": "this returns the result of the operation, without modifying the original" } + }, + { + "other": "#[attr = TrackCaller]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_usize.next_multiple_of(8), 16);\nassert_eq!(23_usize.next_multiple_of(8), 24);\n```", - "id": 11669, + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_u128.div_ceil(4), 2);\n```", + "id": 11663, "inner": { "function": { "generics": { @@ -135267,45 +133569,50 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": {}, - "name": "next_multiple_of", + "name": "div_ceil", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1167": { + "11664": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Sets the value of the entry, and returns the entry's old value.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nif let Entry::Occupied(mut o) = map.entry(\"poneyland\") {\n assert_eq!(o.insert(15), 12);\n}\n\nassert_eq!(map[\"poneyland\"], 15);\n```", - "id": 1167, + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_u128.next_multiple_of(8), 16);\nassert_eq!(23_u128.next_multiple_of(8), 24);\n```", + "id": 11664, "inner": { "function": { "generics": { @@ -135316,7 +133623,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -135324,45 +133631,39 @@ [ "self", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ - "value", + "rhs", { - "generic": "V" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "generic": "V" + "primitive": "u128" } } } }, "links": {}, - "name": "insert", + "name": "next_multiple_of", "span": { "begin": [ - 2661, + 1186, 5 ], "end": [ - 2663, + 1209, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11670": { + "11665": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" @@ -135378,8 +133679,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_usize.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_usize.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_usize.checked_next_multiple_of(0), None);\nassert_eq!(usize::MAX.checked_next_multiple_of(2), None);\n```", - "id": 11670, + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_u128.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_u128.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_u128.checked_next_multiple_of(0), None);\nassert_eq!(u128::MAX.checked_next_multiple_of(2), None);\n```", + "id": 11665, "inner": { "function": { "generics": { @@ -135404,7 +133705,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -135416,7 +133717,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -135434,18 +133735,18 @@ "name": "checked_next_multiple_of", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11671": { + "11666": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" @@ -135461,8 +133762,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_usize.is_multiple_of(2));\nassert!(!5_usize.is_multiple_of(2));\n\nassert!(0_usize.is_multiple_of(0));\nassert!(!6_usize.is_multiple_of(0));\n```", - "id": 11671, + "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_u128.is_multiple_of(2));\nassert!(!5_u128.is_multiple_of(2));\n\nassert!(0_u128.is_multiple_of(0));\nassert!(!6_u128.is_multiple_of(0));\n```", + "id": 11666, "inner": { "function": { "generics": { @@ -135487,7 +133788,7 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], @@ -135502,18 +133803,18 @@ "name": "is_multiple_of", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11672": { + "11667": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" @@ -135529,8 +133830,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16usize.is_power_of_two());\nassert!(!10usize.is_power_of_two());\n```", - "id": 11672, + "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16u128.is_power_of_two());\nassert!(!10u128.is_power_of_two());\n```", + "id": 11667, "inner": { "function": { "generics": { @@ -135564,18 +133865,18 @@ "name": "is_power_of_two", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11673": { + "11668": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" @@ -135591,8 +133892,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2usize.next_power_of_two(), 2);\nassert_eq!(3usize.next_power_of_two(), 4);\nassert_eq!(0usize.next_power_of_two(), 1);\n```", - "id": 11673, + "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2u128.next_power_of_two(), 2);\nassert_eq!(3u128.next_power_of_two(), 4);\nassert_eq!(0u128.next_power_of_two(), 1);\n```", + "id": 11668, "inner": { "function": { "generics": { @@ -135617,7 +133918,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -135626,18 +133927,18 @@ "name": "next_power_of_two", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11674": { + "11669": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" @@ -135653,8 +133954,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2usize.checked_next_power_of_two(), Some(2));\nassert_eq!(3usize.checked_next_power_of_two(), Some(4));\nassert_eq!(usize::MAX.checked_next_power_of_two(), None);\n```", - "id": 11674, + "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2u128.checked_next_power_of_two(), Some(2));\nassert_eq!(3u128.checked_next_power_of_two(), Some(4));\nassert_eq!(u128::MAX.checked_next_power_of_two(), None);\n```", + "id": 11669, "inner": { "function": { "generics": { @@ -135685,7 +133986,7 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], @@ -135703,32 +134004,30 @@ "name": "checked_next_power_of_two", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11675": { + "1167": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2usize.wrapping_next_power_of_two(), 2);\nassert_eq!(3usize.wrapping_next_power_of_two(), 4);\nassert_eq!(usize::MAX.wrapping_next_power_of_two(), 0);\n```", - "id": 11675, + "docs": "Sets the value of the entry, and returns the entry's old value.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nif let Entry::Occupied(mut o) = map.entry(\"poneyland\") {\n assert_eq!(o.insert(15), 12);\n}\n\nassert_eq!(map[\"poneyland\"], 15);\n```", + "id": 1167, "inner": { "function": { "generics": { @@ -135739,7 +134038,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -135747,39 +134046,48 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "value", + { + "generic": "V" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "generic": "V" } } } }, "links": {}, - "name": "wrapping_next_power_of_two", + "name": "insert", "span": { "begin": [ - 1248, + 2656, 5 ], "end": [ - 1266, + 2658, 6 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "public" }, - "11676": { + "11670": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" }, { "must_use": { @@ -135789,8 +134097,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456usize.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\n```", - "id": 11676, + "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2u128.wrapping_next_power_of_two(), 2);\nassert_eq!(3u128.wrapping_next_power_of_two(), 4);\nassert_eq!(u128::MAX.wrapping_next_power_of_two(), 0);\n```", + "id": 11670, "inner": { "function": { "generics": { @@ -135815,32 +134123,27 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "primitive": "u128" } } } }, "links": {}, - "name": "to_be_bytes", + "name": "wrapping_next_power_of_two", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11677": { + "11671": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" @@ -135856,8 +134159,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456usize.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", - "id": 11677, + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012u128.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]);\n```", + "id": 11671, "inner": { "function": { "generics": { @@ -135883,7 +134186,7 @@ "is_c_variadic": false, "output": { "array": { - "len": "8", + "len": "16", "type": { "primitive": "u8" } @@ -135893,21 +134196,21 @@ } }, "links": {}, - "name": "to_le_bytes", + "name": "to_be_bytes", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11678": { + "11672": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" @@ -135923,8 +134226,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456usize.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n } else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", - "id": 11678, + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012u128.to_le_bytes();\nassert_eq!(bytes, [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", + "id": 11672, "inner": { "function": { "generics": { @@ -135950,7 +134253,7 @@ "is_c_variadic": false, "output": { "array": { - "len": "8", + "len": "16", "type": { "primitive": "u8" } @@ -135959,25 +134262,22 @@ } } }, - "links": { - "Self::to_be_bytes": 11676, - "Self::to_le_bytes": 11677 - }, - "name": "to_ne_bytes", + "links": {}, + "name": "to_le_bytes", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11679": { + "11673": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" @@ -135987,14 +134287,14 @@ }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = usize::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_usize(input: &mut &[u8]) -> usize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n usize::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11679, + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x12345678901234567890123456789012u128.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]\n } else {\n [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", + "id": 11673, "inner": { "function": { "generics": { @@ -136011,52 +134311,60 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "from_be_bytes", + "links": { + "Self::to_be_bytes": 11671, + "Self::to_le_bytes": 11672 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1168": { + "11674": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": null + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Takes the value out of the entry, and returns it.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nif let Entry::Occupied(o) = map.entry(\"poneyland\") {\n assert_eq!(o.remove(), 12);\n}\n\nassert_eq!(map.contains_key(\"poneyland\"), false);\n```", - "id": 1168, + "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n\n# Examples\n\n```\nlet value = u128::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]);\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_u128(input: &mut &[u8]) -> u128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u128::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", + "id": 11674, "inner": { "function": { "generics": { @@ -136067,41 +134375,46 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "16", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "V" + "primitive": "u128" } } } }, "links": {}, - "name": "remove", + "name": "from_be_bytes", "span": { "begin": [ - 2684, + 1186, 5 ], "end": [ - 2686, + 1209, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11680": { + "11675": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" @@ -136117,8 +134430,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = usize::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_usize(input: &mut &[u8]) -> usize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n usize::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11680, + "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n\n# Examples\n\n```\nlet value = u128::from_le_bytes([0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_u128(input: &mut &[u8]) -> u128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u128::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", + "id": 11675, "inner": { "function": { "generics": { @@ -136138,7 +134451,7 @@ "bytes", { "array": { - "len": "8", + "len": "16", "type": { "primitive": "u8" } @@ -136148,7 +134461,7 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -136157,18 +134470,18 @@ "name": "from_le_bytes", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11681": { + "11676": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" @@ -136184,8 +134497,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = usize::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_usize(input: &mut &[u8]) -> usize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n usize::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", - "id": 11681, + "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n\n# Examples\n\n```\nlet value = u128::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]\n} else {\n [0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x12345678901234567890123456789012);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_u128(input: &mut &[u8]) -> u128 {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n u128::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", + "id": 11676, "inner": { "function": { "generics": { @@ -136205,7 +134518,7 @@ "bytes", { "array": { - "len": "8", + "len": "16", "type": { "primitive": "u8" } @@ -136215,33 +134528,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": { - "Self::from_be_bytes": 11679, - "Self::from_le_bytes": 11680 + "Self::from_be_bytes": 11674, + "Self::from_le_bytes": 11675 }, "name": "from_ne_bytes", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11682": { + "11677": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"usize_legacy_fn_min_value\"]" + "other": "#[rustc_diagnostic_item = \"u128_legacy_fn_min_value\"]" }, { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" @@ -136255,8 +134568,8 @@ "note": "replaced by the `MIN` associated constant on this type", "since": "TBD" }, - "docs": "New code should prefer to use\n[`usize::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", - "id": 11682, + "docs": "New code should prefer to use\n[`u128::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", + "id": 11677, "inner": { "function": { "generics": { @@ -136274,32 +134587,32 @@ "inputs": [], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": { - "`usize::MIN`": 11559 + "`u128::MIN`": 11548 }, "name": "min_value", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11683": { + "11678": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"usize_legacy_fn_max_value\"]" + "other": "#[rustc_diagnostic_item = \"u128_legacy_fn_max_value\"]" }, { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" @@ -136313,8 +134626,8 @@ "note": "replaced by the `MAX` associated constant on this type", "since": "TBD" }, - "docs": "New code should prefer to use\n[`usize::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", - "id": 11683, + "docs": "New code should prefer to use\n[`u128::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", + "id": 11678, "inner": { "function": { "generics": { @@ -136332,29 +134645,29 @@ "inputs": [], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } }, "links": { - "`usize::MAX`": 11560 + "`u128::MAX`": 11549 }, "name": "max_value", "span": { "begin": [ - 1248, + 1186, 5 ], "end": [ - 1266, + 1209, 6 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11684": { + "11679": { "attrs": [ { "other": "#[doc(alias = \"average_floor\")]" @@ -136376,8 +134689,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0usize.midpoint(4), 2);\nassert_eq!(1usize.midpoint(4), 2);\n```", - "id": 11684, + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0u128.midpoint(4), 2);\nassert_eq!(1u128.midpoint(4), 2);\n```", + "id": 11679, "inner": { "function": { "generics": { @@ -136402,13 +134715,13 @@ [ "rhs", { - "primitive": "usize" + "primitive": "u128" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "u128" } } } @@ -136417,28 +134730,85 @@ "name": "midpoint", "span": { "begin": [ - 1267, + 1210, 5 ], "end": [ - 1267, - 45 + 1210, + 38 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11685": { + "1168": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Takes the value out of the entry, and returns it.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nmap.entry(\"poneyland\").or_insert(12);\n\nif let Entry::Occupied(o) = map.entry(\"poneyland\") {\n assert_eq!(o.remove(), 12);\n}\n\nassert_eq!(map.contains_key(\"poneyland\"), false);\n```", + "id": 1168, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "V" + } + } + } + }, + "links": {}, + "name": "remove", + "span": { + "begin": [ + 2679, + 5 + ], + "end": [ + 2681, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "11680": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 11685, + "id": 11680, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "usize" + "primitive": "u128" }, "generics": { "params": [], @@ -136448,11 +134818,22 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 11548, + 11549, + 11550, + 11551, + 11552, + 11554, + 11555, + 11556, + 11557, + 11558, 11559, 11560, 11561, 11562, 11563, + 11564, 11565, 11566, 11567, @@ -136464,31 +134845,32 @@ 11573, 11574, 11575, - 11576, 11577, 11578, 11579, 11580, 11581, - 11582, 11583, 11584, + 11585, 11586, 11587, 11588, - 11589, 11590, + 11591, 11592, 11593, 11594, 11595, 11596, 11597, + 11598, 11599, 11600, 11601, 11602, 11603, + 11553, 11604, 11605, 11606, @@ -136498,7 +134880,6 @@ 11610, 11611, 11612, - 11564, 11613, 11614, 11615, @@ -136517,34 +134898,34 @@ 11628, 11629, 11630, + 11576, 11631, + 11582, 11632, + 11589, 11633, 11634, 11635, - 11585, 11636, - 11591, 11637, - 11598, 11638, 11639, 11640, 11641, + 10920, 11642, 11643, + 10924, 11644, 11645, - 11646, - 11505, 11647, - 11648, - 11509, 11649, + 11646, + 11648, 11650, 11651, - 11653, 11652, + 11653, 11654, 11655, 11656, @@ -136570,12 +134951,7 @@ 11676, 11677, 11678, - 11679, - 11680, - 11681, - 11682, - 11683, - 11684 + 11679 ], "provided_trait_methods": [], "trait": null @@ -136585,18 +134961,18 @@ "name": null, "span": { "begin": [ - 1247, + 1185, 1 ], "end": [ - 1247, - 11 + 1185, + 10 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "default" }, - "11686": { + "11681": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" @@ -136607,8 +134983,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\nassert_eq!(usize::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(usize::from_str_radix(\"1 \", 10).is_err());\n```", - "id": 11686, + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(u128::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(u128::from_str_radix(\"1 \", 10).is_err());\n```", + "id": 11681, "inner": { "function": { "generics": { @@ -136651,14 +135027,14 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } }, { "type": { "resolved_path": { "args": null, - "id": 4784, + "id": 4786, "path": "ParseIntError" } } @@ -136678,18 +135054,18 @@ "name": "from_str_radix", "span": { "begin": [ - 1631, + 1667, 1 ], "end": [ - 1631, + 1667, 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11687": { + "11682": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" @@ -136697,8 +135073,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(usize::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(usize::from_ascii(b\"1 \").is_err());\n```", - "id": 11687, + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u128::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u128::from_ascii(b\"1 \").is_err());\n```", + "id": 11682, "inner": { "function": { "generics": { @@ -136737,14 +135113,14 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } }, { "type": { "resolved_path": { "args": null, - "id": 4784, + "id": 4786, "path": "ParseIntError" } } @@ -136764,18 +135140,18 @@ "name": "from_ascii", "span": { "begin": [ - 1631, + 1667, 1 ], "end": [ - 1631, + 1667, 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11688": { + "11683": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" @@ -136783,8 +135159,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(usize::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(usize::from_ascii_radix(b\"1 \", 10).is_err());\n```", - "id": 11688, + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(u128::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(u128::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "id": 11683, "inner": { "function": { "generics": { @@ -136829,14 +135205,14 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } }, { "type": { "resolved_path": { "args": null, - "id": 4784, + "id": 4786, "path": "ParseIntError" } } @@ -136856,28 +135232,28 @@ "name": "from_ascii_radix", "span": { "begin": [ - 1631, + 1667, 1 ], "end": [ - 1631, + 1667, 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11689": { + "11684": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 11689, + "id": 11684, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "usize" + "primitive": "u128" }, "generics": { "params": [], @@ -136887,9 +135263,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 11686, - 11687, - 11688 + 11681, + 11682, + 11683 ], "provided_trait_methods": [], "trait": null @@ -136899,117 +135275,18 @@ "name": null, "span": { "begin": [ - 1631, + 1667, 1 ], "end": [ - 1631, + 1667, 58 ], "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "default" }, - "1169": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1169, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1132, - "path": "OccupiedEntry" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 1162, - 1163, - 1164, - 1166, - 1165, - 1167, - 1168 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2517, - 1 - ], - "end": [ - 2687, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "11690": { + "11685": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" @@ -137017,8 +135294,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0usize;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32usize;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = usize :: MAX;\nassert_eq!(n2.format_into(&mut buf), usize :: MAX.to_string());\n```", - "id": 11690, + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0u128;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32u128;\nlet mut buf1 = NumBuffer::new();\nassert_eq!(n1.format_into(&mut buf1), \"32\");\n\nlet n2 = u128::MAX;\nlet mut buf2 = NumBuffer::new();\nassert_eq!(n2.format_into(&mut buf2), u128::MAX.to_string());\n```", + "id": 11685, "inner": { "function": { "generics": { @@ -137053,14 +135330,14 @@ "args": [ { "type": { - "primitive": "usize" + "primitive": "u128" } } ], "constraints": [] } }, - "id": 10162, + "id": 10387, "path": "NumBuffer" } } @@ -137082,33 +135359,33 @@ } }, "links": { - "`NumBuffer`": 10162 + "`NumBuffer`": 10387 }, "name": "format_into", "span": { "begin": [ - 562, + 761, 5 ], "end": [ - 562, - 95 + 761, + 64 ], "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "public" }, - "11691": { + "11686": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 11691, + "id": 11686, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "usize" + "primitive": "u128" }, "generics": { "params": [], @@ -137118,7 +135395,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 11690 + 11685 ], "provided_trait_methods": [], "trait": null @@ -137128,27 +135405,21 @@ "name": null, "span": { "begin": [ - 562, - 5 + 639, + 1 ], "end": [ - 562, - 95 + 639, + 10 ], "filename": "checkouts/rust/library/core/src/fmt/num.rs" }, "visibility": "default" }, - "11692": { + "11687": { "attrs": [ { - "other": "#[rustc_doc_primitive = \"reference\"]" - }, - { - "other": "#[doc(alias = \"&\")]" - }, - { - "other": "#[doc(alias = \"&mut\")]" + "other": "#[rustc_doc_primitive = \"isize\"]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -137156,180 +135427,144 @@ ], "crate_id": 0, "deprecation": null, - "docs": "References, `&T` and `&mut T`.\n\nA reference represents a borrow of some owned value. You can get one by using the `&` or `&mut`\noperators on a value, or by using a [`ref`](../std/keyword.ref.html) or\n[ref](../std/keyword.ref.html) [mut](../std/keyword.mut.html) pattern.\n\nFor those familiar with pointers, a reference is just a pointer that is assumed to be\naligned, not null, and pointing to memory containing a valid value of `T` - for example,\n&[bool] can only point to an allocation containing the integer values `1`\n([`true`](../std/keyword.true.html)) or `0` ([`false`](../std/keyword.false.html)), but\ncreating a &[bool] that points to an allocation containing\nthe value `3` causes undefined behavior.\nIn fact, [Option]\\<&T> has the same memory representation as a\nnullable but aligned pointer, and can be passed across FFI boundaries as such.\n\nIn most cases, references can be used much like the original value. Field access, method\ncalling, and indexing work the same (save for mutability rules, of course). In addition, the\ncomparison operators transparently defer to the referent's implementation, allowing references\nto be compared the same as owned values.\n\nReferences have a lifetime attached to them, which represents the scope for which the borrow is\nvalid. A lifetime is said to \"outlive\" another one if its representative scope is as long or\nlonger than the other. The `'static` lifetime is the longest lifetime, which represents the\ntotal life of the program. For example, string literals have a `'static` lifetime because the\ntext data is embedded into the binary of the program, rather than in an allocation that needs\nto be dynamically managed.\n\n`&mut T` references can be freely coerced into `&T` references with the same referent type, and\nreferences with longer lifetimes can be freely coerced into references with shorter ones.\n\nReference equality by address, instead of comparing the values pointed to, is accomplished via\nimplicit reference-pointer coercion and raw pointer equality via [`ptr::eq`], while\n[`PartialEq`] compares values.\n\n```\nuse std::ptr;\n\nlet five = 5;\nlet other_five = 5;\nlet five_ref = &five;\nlet same_five_ref = &five;\nlet other_five_ref = &other_five;\n\nassert!(five_ref == same_five_ref);\nassert!(five_ref == other_five_ref);\n\nassert!(ptr::eq(five_ref, same_five_ref));\nassert!(!ptr::eq(five_ref, other_five_ref));\n```\n\nFor more information on how to use references, see [the book's section on \"References and\nBorrowing\"][book-refs].\n\n[book-refs]: ../book/ch04-02-references-and-borrowing.html\n\n# Trait implementations\n\nThe following traits are implemented for all `&T`, regardless of the type of its referent:\n\n* [`Copy`]\n* [`Clone`] \\(Note that this will not defer to `T`'s `Clone` implementation if it exists!)\n* [`Deref`]\n* [`Borrow`]\n* [`fmt::Pointer`]\n\n[`Deref`]: ops::Deref\n[`Borrow`]: borrow::Borrow\n\n`&mut T` references get all of the above except `Copy` and `Clone` (to prevent creating\nmultiple simultaneous mutable borrows), plus the following, regardless of the type of its\nreferent:\n\n* [`DerefMut`]\n* [`BorrowMut`]\n\n[`DerefMut`]: ops::DerefMut\n[`BorrowMut`]: borrow::BorrowMut\n[bool]: prim@bool\n\nThe following traits are implemented on `&T` references if the underlying `T` also implements\nthat trait:\n\n* All the traits in [`std::fmt`] except [`fmt::Pointer`] (which is implemented regardless of the type of its referent) and [`fmt::Write`]\n* [`PartialOrd`]\n* [`Ord`]\n* [`PartialEq`]\n* [`Eq`]\n* [`AsRef`]\n* [`Fn`] \\(in addition, `&T` references get [`FnMut`] and [`FnOnce`] if `T: Fn`)\n* [`Hash`]\n* [`ToSocketAddrs`]\n* [`Sync`]\n\n[`std::fmt`]: fmt\n[`Hash`]: hash::Hash\n[`ToSocketAddrs`]: ../std/net/trait.ToSocketAddrs.html\n\n`&mut T` references get all of the above except `ToSocketAddrs`, plus the following, if `T`\nimplements that trait:\n\n* [`AsMut`]\n* [`FnMut`] \\(in addition, `&mut T` references get [`FnOnce`] if `T: FnMut`)\n* [`fmt::Write`]\n* [`Iterator`]\n* [`DoubleEndedIterator`]\n* [`ExactSizeIterator`]\n* [`FusedIterator`]\n* [`TrustedLen`]\n* [`Send`]\n* [`io::Write`]\n* [`Read`]\n* [`Seek`]\n* [`BufRead`]\n\n[`FusedIterator`]: iter::FusedIterator\n[`TrustedLen`]: iter::TrustedLen\n[`Seek`]: ../std/io/trait.Seek.html\n[`BufRead`]: ../std/io/trait.BufRead.html\n[`Read`]: ../std/io/trait.Read.html\n[`io::Write`]: ../std/io/trait.Write.html\n\nIn addition, `&T` references implement [`Send`] if and only if `T` implements [`Sync`].\n\nNote that due to method call deref coercion, simply calling a trait method will act like they\nwork on references as well as they do on owned values! The implementations described here are\nmeant for generic contexts, where the final type `T` is a type parameter or otherwise not\nlocally known.\n\n# Safety\n\nFor all types, `T: ?Sized`, and for all `t: &T` or `t: &mut T`, when such values cross an API\nboundary, the following invariants must generally be upheld:\n\n* `t` is non-null\n* `t` is aligned to `align_of_val(t)`\n* if `size_of_val(t) > 0`, then `t` is dereferenceable for `size_of_val(t)` many bytes\n\nIf `t` points at address `a`, being \"dereferenceable\" for N bytes means that the memory range\n`[a, a + N)` is all contained within a single [allocation].\n\nFor instance, this means that unsafe code in a safe function may assume these invariants are\nensured of arguments passed by the caller, and it may assume that these invariants are ensured\nof return values from any safe functions it calls.\n\nFor the other direction, things are more complicated: when unsafe code passes arguments\nto safe functions or returns values from safe functions, they generally must *at least*\nnot violate these invariants. The full requirements are stronger, as the reference generally\nmust point to data that is safe to use at type `T`.\n\nIt is not decided yet whether unsafe code may violate these invariants temporarily on internal\ndata. As a consequence, unsafe code which violates these invariants temporarily on internal data\nmay be unsound or become unsound in future versions of Rust depending on how this question is\ndecided.\n\n[allocation]: ptr#allocation", - "id": 11692, + "docs": "The pointer-sized signed integer type.\n\nThe size of this primitive is how many bytes it takes to reference any\nlocation in memory. For example, on a 32 bit target, this is 4 bytes\nand on a 64 bit target, this is 8 bytes.", + "id": 11687, "inner": { "primitive": { "impls": [ - 815, - 1309, - 1976, - 6558 + 11827, + 11831, + 11833 ], - "name": "reference" + "name": "isize" } }, - "links": { - "Option": 51, - "`AsMut`": 33, - "`AsRef`": 35, - "`Clone`": 99, - "`Copy`": 103, - "`DoubleEndedIterator`": 41, - "`Eq`": 113, - "`ExactSizeIterator`": 43, - "`FnMut`": 13, - "`FnOnce`": 15, - "`Fn`": 11, - "`Iterator`": 49, - "`Ord`": 119, - "`PartialEq`": 123, - "`PartialOrd`": 127, - "`Send`": 1, - "`Sync`": 5, - "`fmt::Pointer`": 9184, - "`fmt::Write`": 2023, - "`ptr::eq`": 9183, - "borrow::Borrow": 323, - "borrow::BorrowMut": 326, - "fmt": 6957, - "hash::Hash": 539, - "iter::FusedIterator": 878, - "iter::TrustedLen": 9185, - "ops::Deref": 1969, - "ops::DerefMut": 1989, - "prim@bool": 9182, - "ptr#allocation": 9144 - }, - "name": "reference", + "links": {}, + "name": "isize", "span": { "begin": [ - 1660, + 1488, 1 ], "end": [ - 1660, - 16 + 1488, + 18 ], "filename": "std/src/../../core/src/primitive_docs.rs" }, "visibility": "public" }, - "11693": { + "11688": { "attrs": [ { - "other": "#[rustc_doc_primitive = \"fn\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Function pointers, like `fn(usize) -> bool`.\n\n*See also the traits [`Fn`], [`FnMut`], and [`FnOnce`].*\n\nFunction pointers are pointers that point to *code*, not data. They can be called\njust like functions. Like references, function pointers are, among other things, assumed to\nnot be null, so if you want to pass a function pointer over FFI and be able to accommodate null\npointers, make your type [`Option`](core::option#options-and-pointers-nullable-pointers)\nwith your required signature.\n\nNote that FFI requires additional care to ensure that the ABI for both sides of the call match.\nThe exact requirements are not currently documented.\n\n### Safety\n\nPlain function pointers are obtained by casting either plain functions, or closures that don't\ncapture an environment:\n\n```\nfn add_one(x: usize) -> usize {\n x + 1\n}\n\nlet ptr: fn(usize) -> usize = add_one;\nassert_eq!(ptr(5), 6);\n\nlet clos: fn(usize) -> usize = |x| x + 5;\nassert_eq!(clos(5), 10);\n```\n\nIn addition to varying based on their signature, function pointers come in two flavors: safe\nand unsafe. Plain `fn()` function pointers can only point to safe functions,\nwhile `unsafe fn()` function pointers can point to safe or unsafe functions.\n\n```\nfn add_one(x: usize) -> usize {\n x + 1\n}\n\nunsafe fn add_one_unsafely(x: usize) -> usize {\n x + 1\n}\n\nlet safe_ptr: fn(usize) -> usize = add_one;\n\n//ERROR: mismatched types: expected normal fn, found unsafe fn\n//let bad_ptr: fn(usize) -> usize = add_one_unsafely;\n\nlet unsafe_ptr: unsafe fn(usize) -> usize = add_one_unsafely;\nlet really_safe_ptr: unsafe fn(usize) -> usize = add_one;\n```\n\n### ABI\n\nOn top of that, function pointers can vary based on what ABI they use. This\nis achieved by adding the `extern` keyword before the type, followed by the\nABI in question. The default ABI is \"Rust\", i.e., `fn()` is the exact same\ntype as `extern \"Rust\" fn()`. A pointer to a function with C ABI would have\ntype `extern \"C\" fn()`.\n\n`extern \"ABI\" { ... }` blocks declare functions with ABI \"ABI\". The default\nhere is \"C\", i.e., functions declared in an `extern {...}` block have \"C\"\nABI.\n\nFor more information and a list of supported ABIs, see [the nomicon's\nsection on foreign calling conventions][nomicon-abi].\n\n[nomicon-abi]: ../nomicon/ffi.html#foreign-calling-conventions\n\n### Variadic functions\n\nExtern function declarations with the \"C\" or \"cdecl\" ABIs can also be *variadic*, allowing them\nto be called with a variable number of arguments. Normal Rust functions, even those with an\n`extern \"ABI\"`, cannot be variadic. For more information, see [the nomicon's section on\nvariadic functions][nomicon-variadic].\n\n[nomicon-variadic]: ../nomicon/ffi.html#variadic-functions\n\n### Creating function pointers\n\nWhen `bar` is the name of a function, then the expression `bar` is *not* a\nfunction pointer. Rather, it denotes a value of an unnameable type that\nuniquely identifies the function `bar`. The value is zero-sized because the\ntype already identifies the function. This has the advantage that \"calling\"\nthe value (it implements the `Fn*` traits) does not require dynamic\ndispatch.\n\nThis zero-sized type *coerces* to a regular function pointer. For example:\n\n```rust\nfn bar(x: i32) {}\n\nlet not_bar_ptr = bar; // `not_bar_ptr` is zero-sized, uniquely identifying `bar`\nassert_eq!(size_of_val(¬_bar_ptr), 0);\n\nlet bar_ptr: fn(i32) = not_bar_ptr; // force coercion to function pointer\nassert_eq!(size_of_val(&bar_ptr), size_of::());\n\nlet footgun = &bar; // this is a shared reference to the zero-sized type identifying `bar`\n```\n\nThe last line shows that `&bar` is not a function pointer either. Rather, it\nis a reference to the function-specific ZST. `&bar` is basically never what you\nwant when `bar` is a function.\n\n### Casting to and from integers\n\nYou can cast function pointers directly to integers:\n\n```rust\nlet fnptr: fn(i32) -> i32 = |x| x+2;\nlet fnptr_addr = fnptr as usize;\n```\n\nHowever, a direct cast back is not possible. You need to use `transmute`:\n\n```rust\n# #[cfg(not(miri))] { // FIXME: use strict provenance APIs once they are stable, then remove this `cfg`\n# let fnptr: fn(i32) -> i32 = |x| x+2;\n# let fnptr_addr = fnptr as usize;\nlet fnptr = fnptr_addr as *const ();\nlet fnptr: fn(i32) -> i32 = unsafe { std::mem::transmute(fnptr) };\nassert_eq!(fnptr(40), 42);\n# }\n```\n\nCrucially, we `as`-cast to a raw pointer before `transmute`ing to a function pointer.\nThis avoids an integer-to-pointer `transmute`, which can be problematic.\nTransmuting between raw pointers and function pointers (i.e., two pointer types) is fine.\n\nNote that all of this is not portable to platforms where function pointers and data pointers\nhave different sizes.\n\n### ABI compatibility\n\nGenerally, when a function is declared with one signature and called via a function pointer with\na different signature, the two signatures must be *ABI-compatible* or else calling the function\nvia that function pointer is Undefined Behavior. ABI compatibility is a lot stricter than merely\nhaving the same memory layout; for example, even if `i32` and `f32` have the same size and\nalignment, they might be passed in different registers and hence not be ABI-compatible.\n\nABI compatibility as a concern only arises in code that alters the type of function pointers,\nand code that imports functions via `extern` blocks. Altering the type of function pointers is\nwildly unsafe (as in, a lot more unsafe than even [`transmute_copy`][mem::transmute_copy]), and\nshould only occur in the most exceptional circumstances. Most Rust code just imports functions\nvia `use`. So, most likely you do not have to worry about ABI compatibility.\n\nBut assuming such circumstances, what are the rules? For this section, we are only considering\nthe ABI of direct Rust-to-Rust calls (with both definition and callsite visible to the\nRust compiler), not linking in general -- once functions are imported via `extern` blocks, there\nare more things to consider that we do not go into here. Note that this also applies to\npassing/calling functions across language boundaries via function pointers.\n\n**Nothing in this section should be taken as a guarantee for non-Rust-to-Rust calls, even with\ntypes from `core::ffi` or `libc`**.\n\nFor two signatures to be considered *ABI-compatible*, they must use a compatible ABI string,\nmust take the same number of arguments, and the individual argument types and the return types\nmust be ABI-compatible. The ABI string is declared via `extern \"ABI\" fn(...) -> ...`; note that\n`fn name(...) -> ...` implicitly uses the `\"Rust\"` ABI string and `extern fn name(...) -> ...`\nimplicitly uses the `\"C\"` ABI string.\n\nThe ABI strings are guaranteed to be compatible if they are the same, or if the caller ABI\nstring is `$X-unwind` and the callee ABI string is `$X`, where `$X` is one of the following:\n\"C\", \"aapcs\", \"fastcall\", \"stdcall\", \"system\", \"sysv64\", \"thiscall\", \"vectorcall\", \"win64\".\n\nThe following types are guaranteed to be ABI-compatible:\n\n- `*const T`, `*mut T`, `&T`, `&mut T`, `Box` (specifically, only `Box`), and\n `NonNull` are all ABI-compatible with each other for all `T`. They are also ABI-compatible\n with each other for _different_ `T` if they have the same metadata type (`::Metadata`).\n- `usize` is ABI-compatible with the `uN` integer type of the same size, and likewise `isize` is\n ABI-compatible with the `iN` integer type of the same size.\n- `char` is ABI-compatible with `u32`.\n- Any two `fn` (function pointer) types are ABI-compatible with each other if they have the same\n ABI string or the ABI string only differs in a trailing `-unwind`, independent of the rest of\n their signature. (This means you can pass `fn()` to a function expecting `fn(i32)`, and the\n call will be valid ABI-wise. The callee receives the result of transmuting the function pointer\n from `fn()` to `fn(i32)`; that transmutation is itself a well-defined operation, it's just\n almost certainly UB to later call that function pointer.)\n- Any two types with size 0 and alignment 1 are ABI-compatible.\n- A `repr(transparent)` type `T` is ABI-compatible with its unique non-trivial field, i.e., the\n unique field that doesn't have size 0 and alignment 1 (if there is such a field).\n- `i32` is ABI-compatible with `NonZero`, and similar for all other integer types.\n- If `T` is guaranteed to be subject to the [null pointer\n optimization](option/index.html#representation), and `E` is an enum satisfying the following\n requirements, then `T` and `E` are ABI-compatible. Such an enum `E` is called \"option-like\".\n - The enum `E` uses the [`Rust` representation], and is not modified by the `align` or\n `packed` representation modifiers.\n - The enum `E` has exactly two variants.\n - One variant has exactly one field, of type `T`.\n - All fields of the other variant are zero-sized with 1-byte alignment.\n\nFurthermore, ABI compatibility satisfies the following general properties:\n\n- Every type is ABI-compatible with itself.\n- If `T1` and `T2` are ABI-compatible and `T2` and `T3` are ABI-compatible, then so are `T1` and\n `T3` (i.e., ABI-compatibility is transitive).\n- If `T1` and `T2` are ABI-compatible, then so are `T2` and `T1` (i.e., ABI-compatibility is\n symmetric).\n\nMore signatures can be ABI-compatible on specific targets, but that should not be relied upon\nsince it is not portable and not a stable guarantee.\n\nNoteworthy cases of types *not* being ABI-compatible in general are:\n* `bool` vs `u8`, `i32` vs `u32`, `char` vs `i32`: on some targets, the calling conventions for\n these types differ in terms of what they guarantee for the remaining bits in the register that\n are not used by the value.\n* `i32` vs `f32` are not compatible either, as has already been mentioned above.\n* `struct Foo(u32)` and `u32` are not compatible (without `repr(transparent)`) since structs are\n aggregate types and often passed in a different way than primitives like `i32`.\n\nNote that these rules describe when two completely known types are ABI-compatible. When\nconsidering ABI compatibility of a type declared in another crate (including the standard\nlibrary), consider that any type that has a private field or the `#[non_exhaustive]` attribute\nmay change its layout as a non-breaking update unless documented otherwise -- so for instance,\neven if such a type is a 1-ZST or `repr(transparent)` right now, this might change with any\nlibrary version bump.\n\nIf the declared signature and the signature of the function pointer are ABI-compatible, then the\nfunction call behaves as if every argument was [`transmute`d][mem::transmute] from the\ntype in the function pointer to the type at the function declaration, and the return value is\n[`transmute`d][mem::transmute] from the type in the declaration to the type in the\npointer. All the usual caveats and concerns around transmutation apply; for instance, if the\nfunction expects a `NonZero` and the function pointer uses the ABI-compatible type\n`Option>`, and the value used for the argument is `None`, then this call is Undefined\nBehavior since transmuting `None::>` to `NonZero` violates the non-zero\nrequirement.\n\n### Trait implementations\n\nIn this documentation the shorthand `fn(T₁, T₂, …, Tₙ)` is used to represent non-variadic\nfunction pointers of varying length. Note that this is a convenience notation to avoid\nrepetitive documentation, not valid Rust syntax.\n\nThe following traits are implemented for function pointers with any number of arguments and\nany ABI.\n\n* [`PartialEq`]\n* [`Eq`]\n* [`PartialOrd`]\n* [`Ord`]\n* [`Hash`]\n* [`Pointer`]\n* [`Debug`]\n* [`Clone`]\n* [`Copy`]\n* [`Send`]\n* [`Sync`]\n* [`Unpin`]\n* [`UnwindSafe`]\n* [`RefUnwindSafe`]\n\nNote that while this type implements `PartialEq`, comparing function pointers is unreliable:\npointers to the same function can compare inequal (because functions are duplicated in multiple\ncodegen units), and pointers to *different* functions can compare equal (since identical\nfunctions can be deduplicated within a codegen unit).\n\n[`Hash`]: hash::Hash\n[`Pointer`]: fmt::Pointer\n[`UnwindSafe`]: panic::UnwindSafe\n[`RefUnwindSafe`]: panic::RefUnwindSafe\n[`Rust` representation]: \n\nIn addition, all *safe* function pointers implement [`Fn`], [`FnMut`], and [`FnOnce`], because\nthese traits are specially known to the compiler.", - "id": 11693, + "docs": "The smallest value that can be represented by this integer type\n(−263 on 64-bit targets).\n\n# Examples\n\n```\nassert_eq!(isize::MIN, -9223372036854775808);\n```", + "id": 11688, "inner": { - "primitive": { - "impls": [ - 11694, - 11695, - 11696, - 11697, - 11698, - 11699, - 11700, - 11701, - 11702, - 11704, - 11706, - 11708, - 11710, - 11711, - 11712, - 11713, - 11714, - 11715, - 11718, - 11720, - 11722, - 11731, - 11732 - ], - "name": "fn" + "assoc_const": { + "type": { + "primitive": "isize" + }, + "value": "_" } }, - "links": { - "`Clone`": 99, - "`Copy`": 103, - "`Debug`": 107, - "`Eq`": 113, - "`FnMut`": 13, - "`FnOnce`": 15, - "`Fn`": 11, - "`Ord`": 119, - "`PartialEq`": 123, - "`PartialOrd`": 127, - "`Send`": 1, - "`Sync`": 5, - "`Unpin`": 7, - "core::option#options-and-pointers-nullable-pointers": 195, - "fmt::Pointer": 9184, - "hash::Hash": 539, - "mem::transmute": 9188, - "mem::transmute_copy": 9187, - "panic::RefUnwindSafe": 320, - "panic::UnwindSafe": 318 + "links": {}, + "name": "MIN", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "name": "fn", + "visibility": "public" + }, + "11689": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The largest value that can be represented by this integer type\n(263 − 1 on 64-bit targets).\n\n# Examples\n\n```\nassert_eq!(isize::MAX, 9223372036854775807);\n```", + "id": 11689, + "inner": { + "assoc_const": { + "type": { + "primitive": "isize" + }, + "value": "_" + } + }, + "links": {}, + "name": "MAX", "span": { "begin": [ - 1932, - 1 + 420, + 5 ], "end": [ - 1932, - 15 + 439, + 6 ], - "filename": "std/src/../../core/src/primitive_docs.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "11694": { + "1169": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 11694, + "id": 1169, "inner": { "impl": { "blanket_impl": null, "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ { - "generic": "T" + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" + ], + "constraints": [] } - } + }, + "id": 1132, + "path": "OccupiedEntry" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -137338,7 +135573,7 @@ "is_synthetic": false } }, - "name": "Ret" + "name": "K" }, { "kind": { @@ -137348,407 +135583,637 @@ "is_synthetic": false } }, - "name": "T" + "name": "V" } ], "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 1162, + 1163, + 1164, + 1166, + 1165, + 1167, + 1168 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 2512, + 1 + ], + "end": [ + 2682, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, "visibility": "default" }, - "11695": { - "attrs": [], - "crate_id": 0, + "11690": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11695, + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(isize::BITS, 64);\n```", + "id": 11690, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "assoc_const": { + "type": { + "primitive": "u32" }, + "value": "usize::BITS" + } + }, + "links": {}, + "name": "BITS", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11691": { + "attrs": [ + { + "other": "#[doc(alias = \"popcount\")]" + }, + { + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b100_0000isize;\n\nassert_eq!(n.count_ones(), 1);\n```\n", + "id": 11691, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Ret" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "count_ones", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11692": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nassert_eq!(isize::MAX.count_zeros(), 1);\n```", + "id": 11692, + "inner": { + "function": { + "generics": { + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "count_zeros", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" }, - "11696": { - "attrs": [], - "crate_id": 0, + "11693": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11696, + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Examples\n\n```\nassert_eq!(2isize.ilog2(), 1);\n```", + "id": 11693, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" } + } + } + }, + "links": {}, + "name": "ilog2", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11694": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = -1isize;\n\nassert_eq!(n.leading_zeros(), 0);\n```\n[`ilog2`]: isize::ilog2", + "id": 11694, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": { + "isize::ilog2": 11693 + }, + "name": "leading_zeros", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11695": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of trailing zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -4isize;\n\nassert_eq!(n.trailing_zeros(), 2);\n```", + "id": 11695, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Ret" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "trailing_zeros", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11696": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = -1isize;\n\nassert_eq!(n.leading_ones(), 64);\n```", + "id": 11696, + "inner": { + "function": { + "generics": { + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "leading_ones", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" }, "11697": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns the number of trailing ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 3isize;\n\nassert_eq!(n.trailing_ones(), 2);\n```", "id": 11697, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Ret" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "trailing_ones", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" }, "11698": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: isize = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_isize.isolate_highest_one(), 0);\n```", "id": 11698, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Ret" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "isolate_highest_one", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" }, "11699": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: isize = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_isize.isolate_lowest_one(), 0);\n```", "id": 11699, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Ret" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "isolate_lowest_one", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" }, "1170": { "attrs": [], @@ -137879,338 +136344,232 @@ "visibility": "default" }, "11700": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_isize.highest_one(), None);\nassert_eq!(0x1_isize.highest_one(), Some(0));\nassert_eq!(0x10_isize.highest_one(), Some(4));\nassert_eq!(0x1f_isize.highest_one(), Some(4));\n```", "id": 11700, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" } } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 323, - "path": "Borrow" + } } } }, "links": {}, - "name": null, + "name": "highest_one", "span": { "begin": [ - 209, - 1 + 420, + 5 ], "end": [ - 209, - 32 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11701": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_isize.lowest_one(), None);\nassert_eq!(0x1_isize.lowest_one(), Some(0));\nassert_eq!(0x10_isize.lowest_one(), Some(4));\nassert_eq!(0x1f_isize.lowest_one(), Some(0));\n```", "id": 11701, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" } } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 326, - "path": "BorrowMut" + } } } }, "links": {}, - "name": null, + "name": "lowest_one", "span": { "begin": [ - 217, - 1 + 420, + 5 ], "end": [ - 217, - 35 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11702": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns the bit pattern of `self` reinterpreted as an unsigned integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = -1isize;\n\nassert_eq!(n.cast_unsigned(), usize::MAX);\n```", "id": 11702, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 422 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } } } }, "links": {}, - "name": null, + "name": "cast_unsigned", "span": { "begin": [ - 516, - 1 + 420, + 5 ], "end": [ - 516, - 42 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11703": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0xaa00000000006e1isize;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);\n```", "id": 11703, "inner": { "function": { @@ -138222,7 +136581,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -138230,262 +136589,186 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ - "other", + "n", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "F" - } - } + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "isize" } } } }, "links": {}, - "name": "eq", + "name": "rotate_left", "span": { "begin": [ - 2521, + 420, 5 ], "end": [ - 2521, - 39 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11704": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x6e10aaisize;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);\n```", "id": 11704, "inner": { - "impl": { - "blanket_impl": { - "generic": "F" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 11705, - "path": "FnPtr" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11703 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" + ], + [ + "n", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "rotate_right", "span": { "begin": [ - 2519, - 1 + 420, + 5 ], "end": [ - 2519, - 31 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11706": { - "attrs": [], - "crate_id": 0, + "11705": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11706, + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234567890123456isize;\n\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);\n```", + "id": 11705, "inner": { - "impl": { - "blanket_impl": { - "generic": "F" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 11705, - "path": "FnPtr" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], - "trait": { - "args": null, - "id": 113, - "path": "Eq" + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "swap_bytes", "span": { "begin": [ - 2526, - 1 + 420, + 5 ], "end": [ - 2526, - 24 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11707": { - "attrs": [], + "11706": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11707, + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234567890123456isize;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0isize.reverse_bits());\n```", + "id": 11706, "inner": { "function": { "generics": { @@ -138496,7 +136779,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -138504,166 +136787,112 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "F" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "Ordering" - } + "primitive": "isize" } } } }, "links": {}, - "name": "cmp", + "name": "reverse_bits", "span": { "begin": [ - 2538, + 420, 5 ], "end": [ - 2538, - 44 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11708": { - "attrs": [], - "crate_id": 0, + "11707": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11708, + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Aisize;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(isize::from_be(n), n)\n} else {\n assert_eq!(isize::from_be(n), n.swap_bytes())\n}\n```", + "id": 11707, "inner": { - "impl": { - "blanket_impl": { - "generic": "F" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 11705, - "path": "FnPtr" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } + "sig": { + "inputs": [ + [ + "x", + { + "primitive": "isize" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11707 - ], - "provided_trait_methods": [ - "max", - "min", - "clamp" - ], - "trait": { - "args": null, - "id": 119, - "path": "Ord" + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "from_be", "span": { "begin": [ - 2536, - 1 + 420, + 5 ], "end": [ - 2536, - 25 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11709": { - "attrs": [], + "11708": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11709, + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Aisize;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(isize::from_le(n), n)\n} else {\n assert_eq!(isize::from_le(n), n.swap_bytes())\n}\n```", + "id": 11708, "inner": { "function": { "generics": { @@ -138674,76 +136903,101 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", + "x", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "F" - } - } + "primitive": "isize" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "Ordering" - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "isize" } } } }, "links": {}, - "name": "partial_cmp", + "name": "from_le", "span": { "begin": [ - 2531, + 420, 5 ], "end": [ - 2531, - 60 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" + }, + "11709": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Aisize;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "id": 11709, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "to_be", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" }, "1171": { "attrs": [], @@ -138874,721 +137128,466 @@ "visibility": "default" }, "11710": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_conversions\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are swapped.\n\n# Examples\n\n```\nlet n = 0x1Aisize;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", "id": 11710, "inner": { - "impl": { - "blanket_impl": { - "generic": "F" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 11705, - "path": "FnPtr" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11709 - ], - "provided_trait_methods": [ - "lt", - "le", - "gt", - "ge", - "__chaining_lt", - "__chaining_le", - "__chaining_gt", - "__chaining_ge" - ], - "trait": { - "args": null, - "id": 127, - "path": "PartialOrd" + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "to_le", "span": { "begin": [ - 2529, - 1 + 420, + 5 ], "end": [ - 2529, - 32 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11711": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((isize::MAX - 2).checked_add(1), Some(isize::MAX - 1));\nassert_eq!((isize::MAX - 2).checked_add(3), None);\n```", "id": 11711, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" } } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 39, - "path": "Into" + } } } }, "links": {}, - "name": null, + "name": "checked_add", "span": { "begin": [ - 773, - 1 + 420, + 5 ], "end": [ - 775, - 24 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11712": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((isize::MAX - 2).strict_add(1), isize::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (isize::MAX - 2).strict_add(3);\n```", "id": 11712, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "strict_add", "span": { "begin": [ - 791, - 1 + 420, + 5 ], "end": [ - 791, - 28 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11713": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Wrapping (modular) addition. Computes `self + rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_add(27), 127);\nassert_eq!(isize::MAX.wrapping_add(2), isize::MIN + 1);\n```", "id": 11713, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "wrapping_add", "span": { "begin": [ - 817, - 1 + 420, + 5 ], "end": [ - 819, - 27 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11714": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > isize::MAX` or `self + rhs < isize::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: isize::checked_add\n[`wrapping_add`]: isize::wrapping_add", "id": 11714, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, - "links": {}, - "name": null, + "links": { + "isize::checked_add": 11711, + "isize::wrapping_add": 11713 + }, + "name": "unchecked_add", "span": { "begin": [ - 833, - 1 + 420, + 5 ], "end": [ - 835, - 24 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11715": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Checked addition with an unsigned integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1isize.checked_add_unsigned(2), Some(3));\nassert_eq!((isize::MAX - 2).checked_add_unsigned(3), None);\n```", "id": 11715, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" } } - } - ], - "generic_params": [], - "type": { - "generic": "T" + ], + "constraints": [] } - } + }, + "id": 51, + "path": "Option" } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + } } } }, "links": {}, - "name": null, + "name": "checked_add_unsigned", "span": { "begin": [ - 138, - 1 + 420, + 5 ], "end": [ - 138, - 36 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11716": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Strict addition with an unsigned integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1isize.strict_add_unsigned(2), 3);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (isize::MAX - 2).strict_add_unsigned(3);\n```", "id": 11716, "inner": { "function": { @@ -139600,7 +137599,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -139608,38 +137607,81 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ - "f", + "rhs", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "Formatter" - } - } - } + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "strict_add_unsigned", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11717": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer subtraction. Computes `self - rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 2).checked_sub(1), Some(isize::MIN + 1));\nassert_eq!((isize::MIN + 2).checked_sub(3), None);\n```", + "id": 11717, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" } ] ], @@ -139651,151 +137693,123 @@ "args": [ { "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 11717, - "path": "Error" - } + "primitive": "isize" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "fmt", + "name": "checked_sub", "span": { "begin": [ - 2559, + 420, 5 ], "end": [ - 2559, - 61 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11718": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 2).strict_sub(1), isize::MIN + 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (isize::MIN + 2).strict_sub(3);\n```", "id": 11718, "inner": { - "impl": { - "blanket_impl": { - "generic": "F" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 11705, - "path": "FnPtr" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11716 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "strict_sub", "span": { "begin": [ - 2558, - 1 + 420, + 5 ], "end": [ - 2558, - 32 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11719": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the\nboundary of the type.\n\n# Examples\n\n```\nassert_eq!(0isize.wrapping_sub(127), -127);\nassert_eq!((-2isize).wrapping_sub(isize::MAX), isize::MAX);\n```", "id": 11719, "inner": { "function": { @@ -139807,7 +137821,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -139815,86 +137829,37 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ - "f", + "rhs", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "Formatter" - } - } - } + "primitive": "isize" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 11717, - "path": "Error" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "primitive": "isize" } } } }, "links": {}, - "name": "fmt", + "name": "wrapping_sub", "span": { "begin": [ - 2552, + 420, 5 ], "end": [ - 2552, - 61 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "1172": { "attrs": [], @@ -139971,7 +137936,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -139982,157 +137947,108 @@ "visibility": "default" }, "11720": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > isize::MAX` or `self - rhs < isize::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: isize::checked_sub\n[`wrapping_sub`]: isize::wrapping_sub", "id": 11720, "inner": { - "impl": { - "blanket_impl": { - "generic": "F" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 11705, - "path": "FnPtr" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11719 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 9184, - "path": "Pointer" + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, - "links": {}, - "name": null, + "links": { + "isize::checked_sub": 11717, + "isize::wrapping_sub": 11719 + }, + "name": "unchecked_sub", "span": { "begin": [ - 2551, - 1 + 420, + 5 ], "end": [ - 2551, - 34 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, "11721": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Checked subtraction with an unsigned integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1isize.checked_sub_unsigned(2), Some(-1));\nassert_eq!((isize::MIN + 2).checked_sub_unsigned(3), None);\n```", "id": 11721, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "HH" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 537, - "path": "Hasher" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "HH" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -140140,238 +138056,153 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ - "state", + "rhs", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "HH" - } - } + "primitive": "usize" } ] ], "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "hash", - "span": { - "begin": [ - 2545, - 5 - ], - "end": [ - 2545, - 53 - ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" - }, - "visibility": "default" - }, - "11722": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 11722, - "inner": { - "impl": { - "blanket_impl": { - "generic": "F" - }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" - } - } - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 11705, - "path": "FnPtr" + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" } } - } - ], - "generic_params": [], - "type": { - "generic": "F" + ], + "constraints": [] } - } + }, + "id": 51, + "path": "Option" } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11721 - ], - "provided_trait_methods": [ - "hash_slice" - ], - "trait": { - "args": null, - "id": 539, - "path": "Hash" + } } } }, "links": {}, - "name": null, + "name": "checked_sub_unsigned", "span": { "begin": [ - 2544, - 1 + 420, + 5 ], "end": [ - 2544, - 32 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11723": { - "attrs": [], + "11722": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11723, + "docs": "Strict subtraction with an unsigned integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1isize.strict_sub_unsigned(2), -1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (isize::MIN + 2).strict_sub_unsigned(3);\n```", + "id": 11722, "inner": { - "assoc_type": { - "bounds": [], + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - }, - "id": 11724, - "path": "CharPredicateSearcher" + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" } } } }, "links": {}, - "name": "Searcher", + "name": "strict_sub_unsigned", "span": { "begin": [ - 946, + 420, 5 ], "end": [ - 946, - 98 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/str/pattern.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11725": { - "attrs": [], + "11723": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11725, + "docs": "Checked integer multiplication. Computes `self * rhs`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(isize::MAX.checked_mul(1), Some(isize::MAX));\nassert_eq!(isize::MAX.checked_mul(2), None);\n```", + "id": 11723, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -140383,15 +138214,9 @@ } ], [ - "haystack", + "rhs", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "primitive": "str" - } - } + "primitive": "isize" } ] ], @@ -140401,66 +138226,69 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { - "generic": "F" + "primitive": "isize" } } ], "constraints": [] } }, - "id": 11724, - "path": "CharPredicateSearcher" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "into_searcher", + "name": "checked_mul", "span": { "begin": [ - 946, + 420, 5 ], "end": [ - 946, - 98 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/str/pattern.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11726": { - "attrs": [], + "11724": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11726, + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(isize::MAX.strict_mul(1), isize::MAX);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = isize::MAX.strict_mul(2);\n```", + "id": 11724, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -140472,66 +138300,63 @@ } ], [ - "haystack", + "rhs", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "primitive": "str" - } - } + "primitive": "isize" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "isize" } } } }, "links": {}, - "name": "is_contained_in", + "name": "strict_mul", "span": { "begin": [ - 946, + 420, 5 ], "end": [ - 946, - 98 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/str/pattern.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11727": { - "attrs": [], + "11725": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11727, + "docs": "Wrapping (modular) multiplication. Computes `self * rhs`, wrapping around at\nthe boundary of the type.\n\n# Examples\n\n```\nassert_eq!(10isize.wrapping_mul(12), 120);\nassert_eq!(11i8.wrapping_mul(12), -124);\n```", + "id": 11725, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -140543,67 +138368,67 @@ } ], [ - "haystack", + "rhs", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "primitive": "str" - } - } + "primitive": "isize" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "isize" } } } }, "links": {}, - "name": "is_prefix_of", + "name": "wrapping_mul", "span": { "begin": [ - 946, + 420, 5 ], "end": [ - 946, - 98 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/str/pattern.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11728": { - "attrs": [], + "11726": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11728, + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > isize::MAX` or `self * rhs < isize::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: isize::checked_mul\n[`wrapping_mul`]: isize::wrapping_mul", + "id": 11726, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, - "is_unsafe": false + "is_const": true, + "is_unsafe": true }, "sig": { "inputs": [ @@ -140614,136 +138439,152 @@ } ], [ - "haystack", + "rhs", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "primitive": "str" - } - } + "primitive": "isize" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "primitive": "str" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "isize" } } } }, - "links": {}, - "name": "strip_prefix_of", + "links": { + "isize::checked_mul": 11723, + "isize::wrapping_mul": 11725 + }, + "name": "unchecked_mul", "span": { "begin": [ - 946, + 420, 5 ], "end": [ - 946, - 98 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/str/pattern.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11729": { - "attrs": [], - "crate_id": 1, - "deprecation": null, - "docs": null, - "id": 11729, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } + "11727": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer division. Computes `self / rhs`, returning `None` if `rhs == 0`\nor the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 1).checked_div(-1), Some(9223372036854775807));\nassert_eq!(isize::MIN.checked_div(-1), None);\nassert_eq!((1isize).checked_div(0), None);\n```", + "id": 11727, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" } } - } - ], - "generic_params": [], - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 11724, - "path": "CharPredicateSearcher" - } + ], + "constraints": [] } - } + }, + "id": 51, + "path": "Option" } - ] + } + } + } + }, + "links": {}, + "name": "checked_div", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11728": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict integer division. Computes `self / rhs`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 1).strict_div(-1), 9223372036854775807);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_div(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1isize).strict_div(0);\n```", + "id": 11728, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -140755,39 +138596,116 @@ } ], [ - "haystack", + "rhs", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "primitive": "str" - } - } + "primitive": "isize" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "isize" } } } }, "links": {}, - "name": "is_suffix_of", + "name": "strict_div", "span": { "begin": [ - 946, + 420, 5 ], "end": [ - 946, - 98 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/str/pattern.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" + }, + "11729": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`,\nreturning `None` if `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 1).checked_div_euclid(-1), Some(9223372036854775807));\nassert_eq!(isize::MIN.checked_div_euclid(-1), None);\nassert_eq!((1isize).checked_div_euclid(0), None);\n```", + "id": 11729, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_div_euclid", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" }, "1173": { "attrs": [], @@ -140875,80 +138793,102 @@ "visibility": "default" }, "11730": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`, panicking\nif overflow occurred.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type.\n\n# Examples\n\n```\nassert_eq!((isize::MIN + 1).strict_div_euclid(-1), 9223372036854775807);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_div_euclid(-1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1isize).strict_div_euclid(0);\n```", "id": 11730, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" - } - } - } - ], - "generic_params": [], - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 11724, - "path": "CharPredicateSearcher" - } - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "strict_div_euclid", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11731": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!((isize::MIN + 1).checked_exact_div(-1), Some(9223372036854775807));\nassert_eq!((-5isize).checked_exact_div(2), None);\nassert_eq!(isize::MIN.checked_exact_div(-1), None);\nassert_eq!((1isize).checked_exact_div(0), None);\n```", + "id": 11731, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -140960,15 +138900,9 @@ } ], [ - "haystack", + "rhs", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "primitive": "str" - } - } + "primitive": "isize" } ] ], @@ -140980,13 +138914,7 @@ "args": [ { "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "primitive": "str" - } - } + "primitive": "isize" } } ], @@ -141001,251 +138929,600 @@ } }, "links": {}, - "name": "strip_suffix_of", + "name": "checked_exact_div", "span": { "begin": [ - 946, + 420, 5 ], "end": [ - 946, - 98 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/str/pattern.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11731": { - "attrs": [], - "crate_id": 0, + "11732": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11731, + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0`, the division results in overflow,\nor `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64isize.exact_div(2), 32);\nassert_eq!(64isize.exact_div(32), 2);\nassert_eq!((isize::MIN + 1).exact_div(-1), 9223372036854775807);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65isize.exact_div(2);\n```\n```should_panic\n#![feature(exact_div)]\nlet _ = isize::MIN.exact_div(-1);\n```", + "id": 11732, "inner": { - "impl": { - "blanket_impl": { - "generic": "F" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" } + } + } + }, + "links": {}, + "name": "exact_div", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11733": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0`, `self % rhs != 0`, or\n`self == isize::MIN && rhs == -1`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "id": 11733, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": { + "Self::checked_exact_div": 11731 + }, + "name": "unchecked_exact_div", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11734": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None` if\n`rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5isize.checked_rem(2), Some(1));\nassert_eq!(5isize.checked_rem(0), None);\nassert_eq!(isize::MIN.checked_rem(-1), None);\n```", + "id": 11734, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "primitive": "char" - } - ], - "output": { - "primitive": "bool" - } - } - }, - "id": 13, - "path": "FnMut" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" } } - } - ], - "generic_params": [], - "type": { - "generic": "F" + ], + "constraints": [] } - } + }, + "id": 51, + "path": "Option" } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 11723, - 11725, - 11726, - 11727, - 11728, - 11729, - 11730 - ], - "provided_trait_methods": [ - "is_contained_in", - "is_prefix_of", - "is_suffix_of", - "strip_prefix_of", - "strip_suffix_of", - "as_utf8_pattern" - ], - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" + } } } }, "links": {}, - "name": null, + "name": "checked_rem", "span": { "begin": [ - 942, - 1 + 420, + 5 ], "end": [ - 944, - 28 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/str/pattern.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11732": { - "attrs": [], - "crate_id": 0, + "11735": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 11732, + "docs": "Strict integer remainder. Computes `self % rhs`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5isize.strict_rem(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5isize.strict_rem(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_rem(-1);\n```", + "id": 11735, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Ret" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" } - }, + } + } + }, + "links": {}, + "name": "strict_rem", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11736": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked Euclidean remainder. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0` or the division results in overflow.\n\n# Examples\n\n```\nassert_eq!(5isize.checked_rem_euclid(2), Some(1));\nassert_eq!(5isize.checked_rem_euclid(0), None);\nassert_eq!(isize::MIN.checked_rem_euclid(-1), None);\n```", + "id": 11736, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + } + ], + "constraints": [] } }, - "name": "T" + "id": 51, + "path": "Option" } + } + } + } + }, + "links": {}, + "name": "checked_rem_euclid", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11737": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict Euclidean remainder. Computes `self.rem_euclid(rhs)`, panicking if\nthe division results in overflow.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\nThe only case where such an overflow can occur is `x % y` for `MIN / -1` on a\nsigned type (where `MIN` is the negative minimal value), which is invalid due to implementation artifacts.\n\n# Examples\n\n```\nassert_eq!(5isize.strict_rem_euclid(2), 1);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5isize.strict_rem_euclid(0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_rem_euclid(-1);\n```", + "id": 11737, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "strict_rem_euclid", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11738": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked negation. Computes `-self`, returning `None` if `self == MIN`.\n\n# Examples\n\n```\nassert_eq!(5isize.checked_neg(), Some(-5));\nassert_eq!(isize::MIN.checked_neg(), None);\n```", + "id": 11738, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" } } - } - ], - "generic_params": [], - "type": { - "generic": "T" + ], + "constraints": [] } - } + }, + "id": 51, + "path": "Option" } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" + } } } }, "links": {}, - "name": null, + "name": "checked_neg", "span": { "begin": [ - 82, - 1 + 420, + 5 ], "end": [ - 84, - 14 + 439, + 6 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" + }, + "11739": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_neg\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked negation. Computes `-self`, assuming overflow cannot occur.\n\n# Safety\n\nThis results in undefined behavior when\n`self == isize::MIN`,\ni.e. when [`checked_neg`] would return `None`.\n\n[`checked_neg`]: isize::checked_neg", + "id": 11739, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": { + "isize::checked_neg": 11738 + }, + "name": "unchecked_neg", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" }, "1174": { "attrs": [], @@ -141322,7 +139599,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -141332,6 +139609,734 @@ "span": null, "visibility": "default" }, + "11740": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict negation. Computes `-self`, panicking if `self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5isize.strict_neg(), -5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_neg();\n```", + "id": 11740, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "strict_neg", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11741": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked shift left. Computes `self << rhs`, returning `None` if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1isize.checked_shl(4), Some(0x10));\nassert_eq!(0x1isize.checked_shl(129), None);\nassert_eq!(0x10isize.checked_shl(63), Some(0));\n```", + "id": 11741, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_shl", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11742": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1isize.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x1isize.strict_shl(129);\n```", + "id": 11742, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "strict_shl", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11743": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: isize::checked_shl", + "id": 11743, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": { + "isize::checked_shl": 11741 + }, + "name": "unchecked_shl", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11744": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1isize.unbounded_shl(4), 0x10);\nassert_eq!(0x1isize.unbounded_shl(129), 0);\n```", + "id": 11744, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "unbounded_shl", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11745": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any bits that would be shifted out differ from the resulting sign bit\nor if `rhs` >=\n`isize::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1isize.exact_shl(4), Some(0x10));\nassert_eq!(0x1isize.exact_shl(isize::BITS - 2), Some(1 << isize::BITS - 2));\nassert_eq!(0x1isize.exact_shl(isize::BITS - 1), None);\nassert_eq!((-0x2isize).exact_shl(isize::BITS - 2), Some(-0x2 << isize::BITS - 2));\nassert_eq!((-0x2isize).exact_shl(isize::BITS - 1), None);\n```", + "id": 11745, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "exact_shl", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11746": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`isize::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs >= self.leading_zeros() && rhs >=\nself.leading_ones()` i.e. when\n[`isize::exact_shl`]\nwould return `None`.", + "id": 11746, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": { + "`isize::exact_shl`": 11745 + }, + "name": "unchecked_exact_shl", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11747": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10isize.checked_shr(4), Some(0x1));\nassert_eq!(0x10isize.checked_shr(128), None);\n```", + "id": 11747, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_shr", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11748": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10isize.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10isize.strict_shr(128);\n```", + "id": 11748, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "strict_shr", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11749": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: isize::checked_shr", + "id": 11749, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": { + "isize::checked_shr": 11747 + }, + "name": "unchecked_shr", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, "1175": { "attrs": [], "crate_id": 0, @@ -141408,7 +140413,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -141429,7 +140434,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -141450,7 +140455,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -141460,1324 +140465,736 @@ "span": null, "visibility": "default" }, - "1176": { - "attrs": [], - "crate_id": 0, + "11750": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1176, + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, which yields `0` for a positive number,\nand `-1` for a negative number.\n\n# Examples\n\n```\nassert_eq!(0x10isize.unbounded_shr(4), 0x1);\nassert_eq!(0x10isize.unbounded_shr(129), 0);\nassert_eq!(isize::MIN.unbounded_shr(129), -1);\n```", + "id": 11750, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - }, - "id": 1132, - "path": "OccupiedEntry" + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" } - }, + } + } + }, + "links": {}, + "name": "unbounded_shr", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11751": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`isize::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10isize.exact_shr(4), Some(0x1));\nassert_eq!(0x10isize.exact_shr(5), None);\n```", + "id": 11751, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" } } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 323, - "path": "Borrow" + } } } }, "links": {}, - "name": null, + "name": "exact_shr", "span": { "begin": [ - 209, - 1 + 420, + 5 ], "end": [ - 209, - 32 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1177": { - "attrs": [], - "crate_id": 0, + "11752": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1177, + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`isize::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\nisize::BITS`\ni.e. when\n[`isize::exact_shr`]\nwould return `None`.", + "id": 11752, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - }, - "id": 1132, - "path": "OccupiedEntry" + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" } - }, + } + } + }, + "links": { + "`isize::exact_shr`": 11751 + }, + "name": "unchecked_exact_shr", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11753": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked absolute value. Computes `self.abs()`, returning `None` if\n`self == MIN`.\n\n# Examples\n\n```\nassert_eq!((-5isize).checked_abs(), Some(5));\nassert_eq!(isize::MIN.checked_abs(), None);\n```", + "id": 11753, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" } } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 326, - "path": "BorrowMut" + } } } }, "links": {}, - "name": null, + "name": "checked_abs", "span": { "begin": [ - 217, - 1 + 420, + 5 ], "end": [ - 217, - 35 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "11774": { + "11754": { "attrs": [ { - "other": "#[(not(restricted_std), stable(feature = \"rust1\", since = \"1.0.0\"))]" - }, - { - "other": "#[(restricted_std,\nunstable(feature = \"restricted_std\", issue = \"none\", reason =\n\"You have attempted to use a standard library built for a platform that it doesn't \\\n know how to support. Consider building it for a known environment, disabling it with \\\n `#![no_std]` or overriding this warning by enabling this feature.\"))]" - }, - { - "other": "#[rustc_preserve_ub_checks]" - }, - { - "other": "#[doc(html_playground_url = \"https://play.rust-lang.org/\",\nissue_tracker_base_url = \"https://github.com/rust-lang/rust/issues/\",\ntest(no_crate_inject, attr(deny(warnings))),\ntest(attr(allow(dead_code, deprecated, unused_variables, unused_mut))))]" - }, - { - "other": "#[doc(rust_logo)]" - }, - { - "other": "#[doc(cfg_hide(not(test), no_global_oom_handling,\nnot(no_global_oom_handling)))]" - }, - { - "other": "#[no_std]" - }, - { - "other": "#[needs_panic_runtime]" - }, - { - "other": "#[warn(deprecated_in_future)]" - }, - { - "other": "#[warn(missing_docs)]" - }, - { - "other": "#[warn(missing_debug_implementations)]" - }, - { - "other": "#[allow(explicit_outlives_requirements)]" - }, - { - "other": "#[allow(unused_lifetimes)]" - }, - { - "other": "#[allow(internal_features)]" - }, - { - "other": "#[deny(fuzzy_provenance_casts)]" - }, - { - "other": "#[deny(unsafe_op_in_unsafe_fn)]" - }, - { - "other": "#[allow(rustdoc::redundant_explicit_links)]" - }, - { - "other": "#[warn(rustdoc::unescaped_backticks)]" - }, - { - "other": "#[deny(ffi_unwind_calls)]" - }, - { - "other": "#[allow(unused_features)]" - }, - { - "other": "#[(test,\nfeature(internal_output_capture, print_internals, update_panic_count, rt))]" - }, - { - "other": "#[(all(target_vendor = \"fortanix\", target_env = \"sgx\"),\nfeature(slice_index_methods, coerce_unsized, sgx_platform))]" - }, - { - "other": "#[(any(windows, target_os = \"uefi\"), feature(round_char_boundary))]" - }, - { - "other": "#[(target_family = \"wasm\", feature(stdarch_wasm_atomic_wait))]" - }, - { - "other": "#[(target_arch = \"wasm64\", feature(simd_wasm64))]" - }, - { - "other": "#[feature(alloc_error_handler)]" - }, - { - "other": "#[feature(allocator_internals)]" - }, - { - "other": "#[feature(allow_internal_unsafe)]" - }, - { - "other": "#[feature(allow_internal_unstable)]" - }, - { - "other": "#[feature(asm_experimental_arch)]" - }, - { - "other": "#[feature(autodiff)]" - }, - { - "other": "#[feature(cfg_sanitizer_cfi)]" - }, - { - "other": "#[feature(cfg_target_thread_local)]" - }, - { - "other": "#[feature(cfi_encoding)]" - }, - { - "other": "#[feature(char_max_len)]" - }, - { - "other": "#[feature(const_trait_impl)]" - }, - { - "other": "#[feature(core_float_math)]" - }, - { - "other": "#[feature(decl_macro)]" - }, - { - "other": "#[feature(deprecated_suggestion)]" - }, - { - "other": "#[feature(derive_const)]" - }, - { - "other": "#[feature(doc_cfg)]" - }, - { - "other": "#[feature(doc_cfg_hide)]" - }, - { - "other": "#[feature(doc_masked)]" - }, - { - "other": "#[feature(doc_notable_trait)]" - }, - { - "other": "#[feature(dropck_eyepatch)]" - }, - { - "other": "#[feature(extended_varargs_abi_support)]" - }, - { - "other": "#[feature(f16)]" - }, - { - "other": "#[feature(f128)]" - }, - { - "other": "#[feature(ffi_const)]" - }, - { - "other": "#[feature(formatting_options)]" - }, - { - "other": "#[feature(hash_map_internals)]" - }, - { - "other": "#[feature(hash_map_macro)]" - }, - { - "other": "#[feature(if_let_guard)]" - }, - { - "other": "#[feature(intra_doc_pointers)]" - }, - { - "other": "#[feature(iter_advance_by)]" - }, - { - "other": "#[feature(iter_next_chunk)]" - }, - { - "other": "#[feature(lang_items)]" - }, - { - "other": "#[feature(link_cfg)]" - }, - { - "other": "#[feature(linkage)]" - }, - { - "other": "#[feature(macro_metavar_expr_concat)]" - }, - { - "other": "#[feature(maybe_uninit_fill)]" - }, - { - "other": "#[feature(min_specialization)]" - }, - { - "other": "#[feature(must_not_suspend)]" - }, - { - "other": "#[feature(needs_panic_runtime)]" - }, - { - "other": "#[feature(negative_impls)]" - }, - { - "other": "#[feature(never_type)]" - }, - { - "other": "#[feature(optimize_attribute)]" - }, - { - "other": "#[feature(prelude_import)]" - }, - { - "other": "#[feature(rustc_attrs)]" - }, - { - "other": "#[feature(rustdoc_internals)]" - }, - { - "other": "#[feature(staged_api)]" - }, - { - "other": "#[feature(stmt_expr_attributes)]" - }, - { - "other": "#[feature(strict_provenance_lints)]" - }, - { - "other": "#[feature(thread_local)]" - }, - { - "other": "#[feature(try_blocks)]" - }, - { - "other": "#[feature(try_trait_v2)]" - }, - { - "other": "#[feature(type_alias_impl_trait)]" - }, - { - "other": "#[feature(bstr)]" - }, - { - "other": "#[feature(bstr_internals)]" - }, - { - "other": "#[feature(cast_maybe_uninit)]" - }, - { - "other": "#[feature(cfg_select)]" - }, - { - "other": "#[feature(char_internals)]" - }, - { - "other": "#[feature(clone_to_uninit)]" - }, - { - "other": "#[feature(const_cmp)]" - }, - { - "other": "#[feature(const_ops)]" - }, - { - "other": "#[feature(const_option_ops)]" - }, - { - "other": "#[feature(const_try)]" - }, - { - "other": "#[feature(core_intrinsics)]" - }, - { - "other": "#[feature(core_io_borrowed_buf)]" - }, - { - "other": "#[feature(drop_guard)]" - }, - { - "other": "#[feature(duration_constants)]" - }, - { - "other": "#[feature(error_generic_member_access)]" - }, - { - "other": "#[feature(error_iter)]" - }, - { - "other": "#[feature(exact_size_is_empty)]" - }, - { - "other": "#[feature(exclusive_wrapper)]" - }, - { - "other": "#[feature(extend_one)]" - }, - { - "other": "#[feature(float_algebraic)]" - }, - { - "other": "#[feature(float_gamma)]" - }, - { - "other": "#[feature(float_minimum_maximum)]" - }, - { - "other": "#[feature(fmt_internals)]" - }, - { - "other": "#[feature(generic_atomic)]" - }, - { - "other": "#[feature(hasher_prefixfree_extras)]" - }, - { - "other": "#[feature(hashmap_internals)]" - }, - { - "other": "#[feature(hint_must_use)]" - }, - { - "other": "#[feature(ip)]" - }, - { - "other": "#[feature(lazy_get)]" - }, - { - "other": "#[feature(maybe_uninit_slice)]" - }, - { - "other": "#[feature(maybe_uninit_write_slice)]" - }, - { - "other": "#[feature(panic_can_unwind)]" - }, - { - "other": "#[feature(panic_internals)]" - }, - { - "other": "#[feature(pin_coerce_unsized_trait)]" - }, - { - "other": "#[feature(pointer_is_aligned_to)]" - }, - { - "other": "#[feature(portable_simd)]" - }, - { - "other": "#[feature(ptr_as_uninit)]" - }, - { - "other": "#[feature(ptr_mask)]" - }, - { - "other": "#[feature(random)]" - }, - { - "other": "#[feature(slice_internals)]" - }, - { - "other": "#[feature(slice_ptr_get)]" - }, - { - "other": "#[feature(slice_range)]" - }, - { - "other": "#[feature(std_internals)]" - }, - { - "other": "#[feature(str_internals)]" - }, - { - "other": "#[feature(strict_provenance_atomic_ptr)]" - }, - { - "other": "#[feature(sync_unsafe_cell)]" - }, - { - "other": "#[feature(temporary_niche_types)]" - }, - { - "other": "#[feature(ub_checks)]" - }, - { - "other": "#[feature(used_with_arg)]" - }, - { - "other": "#[feature(alloc_layout_extra)]" - }, - { - "other": "#[feature(allocator_api)]" - }, - { - "other": "#[feature(get_mut_unchecked)]" - }, - { - "other": "#[feature(map_try_insert)]" - }, - { - "other": "#[feature(new_zeroed_alloc)]" - }, - { - "other": "#[feature(slice_concat_trait)]" - }, - { - "other": "#[feature(thin_box)]" - }, - { - "other": "#[feature(try_reserve_kind)]" - }, - { - "other": "#[feature(try_with_capacity)]" - }, - { - "other": "#[feature(unique_rc_arc)]" - }, - { - "other": "#[feature(vec_into_raw_parts)]" - }, - { - "other": "#[feature(panic_unwind)]" - }, - { - "other": "#[feature(stdarch_internal)]" - }, - { - "other": "#[feature(assert_matches)]" - }, - { - "other": "#[feature(async_iterator)]" - }, - { - "other": "#[feature(c_variadic)]" - }, - { - "other": "#[feature(cfg_accessible)]" - }, - { - "other": "#[feature(cfg_eval)]" - }, - { - "other": "#[feature(concat_bytes)]" - }, - { - "other": "#[feature(const_format_args)]" - }, - { - "other": "#[feature(custom_test_frameworks)]" - }, - { - "other": "#[feature(edition_panic)]" - }, - { - "other": "#[feature(format_args_nl)]" - }, - { - "other": "#[feature(log_syntax)]" - }, - { - "other": "#[feature(test)]" - }, - { - "other": "#[feature(trace_macros)]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" }, { - "other": "#[feature(io_const_error)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" }, { - "other": "#[default_lib_allocator]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = TrackCaller]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "# The Rust Standard Library\n\nThe Rust Standard Library is the foundation of portable Rust software, a\nset of minimal and battle-tested shared abstractions for the [broader Rust\necosystem][crates.io]. It offers core types, like [`Vec`] and\n[`Option`], library-defined [operations on language\nprimitives](#primitives), [standard macros](#macros), [I/O] and\n[multithreading], among [many other things][other].\n\n`std` is available to all Rust crates by default. Therefore, the\nstandard library can be accessed in [`use`] statements through the path\n`std`, as in [`use std::env`].\n\n# How to read this documentation\n\nIf you already know the name of what you are looking for, the fastest way to\nfind it is to use the search\nbar at the top of the page.\n\nOtherwise, you may want to jump to one of these useful sections:\n\n* [`std::*` modules](#modules)\n* [Primitive types](#primitives)\n* [Standard macros](#macros)\n* [The Rust Prelude]\n\nIf this is your first time, the documentation for the standard library is\nwritten to be casually perused. Clicking on interesting things should\ngenerally lead you to interesting places. Still, there are important bits\nyou don't want to miss, so read on for a tour of the standard library and\nits documentation!\n\nOnce you are familiar with the contents of the standard library you may\nbegin to find the verbosity of the prose distracting. At this stage in your\ndevelopment you may want to press the\n\" Summary\"\nbutton near the top of the page to collapse it into a more skimmable view.\n\nWhile you are looking at the top of the page, also notice the\n\"Source\" link. Rust's API documentation comes with the source\ncode and you are encouraged to read it. The standard library source is\ngenerally high quality and a peek behind the curtains is\noften enlightening.\n\n# What is in the standard library documentation?\n\nFirst of all, The Rust Standard Library is divided into a number of focused\nmodules, [all listed further down this page](#modules). These modules are\nthe bedrock upon which all of Rust is forged, and they have mighty names\nlike [`std::slice`] and [`std::cmp`]. Modules' documentation typically\nincludes an overview of the module along with examples, and are a smart\nplace to start familiarizing yourself with the library.\n\nSecond, implicit methods on [primitive types] are documented here. This can\nbe a source of confusion for two reasons:\n\n1. While primitives are implemented by the compiler, the standard library\n implements methods directly on the primitive types (and it is the only\n library that does so), which are [documented in the section on\n primitives](#primitives).\n2. The standard library exports many modules *with the same name as\n primitive types*. These define additional items related to the primitive\n type, but not the all-important methods.\n\nSo for example there is a [page for the primitive type\n`i32`](primitive::i32) that lists all the methods that can be called on\n32-bit integers (very useful), and there is a [page for the module\n`std::i32`] that documents the constant values [`MIN`] and [`MAX`] (rarely\nuseful).\n\nNote the documentation for the primitives [`str`] and [`[T]`][prim@slice] (also\ncalled 'slice'). Many method calls on [`String`] and [`Vec`] are actually\ncalls to methods on [`str`] and [`[T]`][prim@slice] respectively, via [deref\ncoercions][deref-coercions].\n\nThird, the standard library defines [The Rust Prelude], a small collection\nof items - mostly traits - that are imported into every module of every\ncrate. The traits in the prelude are pervasive, making the prelude\ndocumentation a good entry point to learning about the library.\n\nAnd finally, the standard library exports a number of standard macros, and\n[lists them on this page](#macros) (technically, not all of the standard\nmacros are defined by the standard library - some are defined by the\ncompiler - but they are documented here the same). Like the prelude, the\nstandard macros are imported by default into all crates.\n\n# Contributing changes to the documentation\n\nCheck out the Rust contribution guidelines [here](\nhttps://rustc-dev-guide.rust-lang.org/contributing.html#writing-documentation).\nThe source for this documentation can be found on\n[GitHub](https://github.com/rust-lang/rust) in the 'library/std/' directory.\nTo contribute changes, make sure you read the guidelines first, then submit\npull-requests for your suggested changes.\n\nContributions are appreciated! If you see a part of the docs that can be\nimproved, submit a PR, or chat with us first on [Discord][rust-discord]\n#docs.\n\n# A Tour of The Rust Standard Library\n\nThe rest of this crate documentation is dedicated to pointing out notable\nfeatures of The Rust Standard Library.\n\n## Containers and collections\n\nThe [`option`] and [`result`] modules define optional and error-handling\ntypes, [`Option`] and [`Result`]. The [`iter`] module defines\nRust's iterator trait, [`Iterator`], which works with the [`for`] loop to\naccess collections.\n\nThe standard library exposes three common ways to deal with contiguous\nregions of memory:\n\n* [`Vec`] - A heap-allocated *vector* that is resizable at runtime.\n* [`[T; N]`][prim@array] - An inline *array* with a fixed size at compile time.\n* [`[T]`][prim@slice] - A dynamically sized *slice* into any other kind of contiguous\n storage, whether heap-allocated or not.\n\nSlices can only be handled through some kind of *pointer*, and as such come\nin many flavors such as:\n\n* `&[T]` - *shared slice*\n* `&mut [T]` - *mutable slice*\n* [`Box<[T]>`][owned slice] - *owned slice*\n\n[`str`], a UTF-8 string slice, is a primitive type, and the standard library\ndefines many methods for it. Rust [`str`]s are typically accessed as\nimmutable references: `&str`. Use the owned [`String`] for building and\nmutating strings.\n\nFor converting to strings use the [`format!`] macro, and for converting from\nstrings use the [`FromStr`] trait.\n\nData may be shared by placing it in a reference-counted box or the [`Rc`]\ntype, and if further contained in a [`Cell`] or [`RefCell`], may be mutated\nas well as shared. Likewise, in a concurrent setting it is common to pair an\natomically-reference-counted box, [`Arc`], with a [`Mutex`] to get the same\neffect.\n\nThe [`collections`] module defines maps, sets, linked lists and other\ntypical collection types, including the common [`HashMap`].\n\n## Platform abstractions and I/O\n\nBesides basic data types, the standard library is largely concerned with\nabstracting over differences in common platforms, most notably Windows and\nUnix derivatives.\n\nCommon types of I/O, including [files], [TCP], and [UDP], are defined in\nthe [`io`], [`fs`], and [`net`] modules.\n\nThe [`thread`] module contains Rust's threading abstractions. [`sync`]\ncontains further primitive shared memory types, including [`atomic`], [`mpmc`] and\n[`mpsc`], which contains the channel types for message passing.\n\n# Use before and after `main()`\n\nMany parts of the standard library are expected to work before and after `main()`;\nbut this is not guaranteed or ensured by tests. It is recommended that you write your own tests\nand run them on each platform you wish to support.\nThis means that use of `std` before/after main, especially of features that interact with the\nOS or global state, is exempted from stability and portability guarantees and instead only\nprovided on a best-effort basis. Nevertheless bug reports are appreciated.\n\nOn the other hand `core` and `alloc` are most likely to work in such environments with\nthe caveat that any hookable behavior such as panics, oom handling or allocators will also\ndepend on the compatibility of the hooks.\n\nSome features may also behave differently outside main, e.g. stdio could become unbuffered,\nsome panics might turn into aborts, backtraces might not get symbolicated or similar.\n\nNon-exhaustive list of known limitations:\n\n- after-main use of thread-locals, which also affects additional features:\n - [`thread::current()`]\n- under UNIX, before main, file descriptors 0, 1, and 2 may be unchanged\n (they are guaranteed to be open during main,\n and are opened to /dev/null O_RDWR if they weren't open on program start)\n\n\n[I/O]: io\n[`MIN`]: i32::MIN\n[`MAX`]: i32::MAX\n[page for the module `std::i32`]: crate::i32\n[TCP]: net::TcpStream\n[The Rust Prelude]: prelude\n[UDP]: net::UdpSocket\n[`Arc`]: sync::Arc\n[owned slice]: boxed\n[`Cell`]: cell::Cell\n[`FromStr`]: str::FromStr\n[`HashMap`]: collections::HashMap\n[`Mutex`]: sync::Mutex\n[`Option`]: option::Option\n[`Rc`]: rc::Rc\n[`RefCell`]: cell::RefCell\n[`Result`]: result::Result\n[`Vec`]: vec::Vec\n[`atomic`]: sync::atomic\n[`for`]: ../book/ch03-05-control-flow.html#looping-through-a-collection-with-for\n[`str`]: prim@str\n[`mpmc`]: sync::mpmc\n[`mpsc`]: sync::mpsc\n[`std::cmp`]: cmp\n[`std::slice`]: mod@slice\n[`use std::env`]: env/index.html\n[`use`]: ../book/ch07-02-defining-modules-to-control-scope-and-privacy.html\n[crates.io]: https://crates.io\n[deref-coercions]: ../book/ch15-02-deref.html#implicit-deref-coercions-with-functions-and-methods\n[files]: fs::File\n[multithreading]: thread\n[other]: #what-is-in-the-standard-library-documentation\n[primitive types]: ../book/ch03-02-data-types.html\n[rust-discord]: https://discord.gg/rust-lang\n[array]: prim@array\n[slice]: prim@slice", - "id": 11774, + "docs": "Strict absolute value. Computes `self.abs()`, panicking if\n`self == MIN`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((-5isize).strict_abs(), 5);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MIN.strict_abs();\n```", + "id": 11754, "inner": { - "module": { - "is_crate": true, - "is_stripped": false, - "items": [ - 166, - 232, - 236, - 268, - 300, - 607, - 656, - 726, - 731, - 733, - 1870, - 1911, - 1934, - 2424, - 3042, - 501, - 4769, - 4811, - 6198, - 6274, - 6277, - 6510, - 5390, - 7198, - 8490, - 8626, - 8671, - 8676, - 8681, - 8704, - 9083, - 9136, - 9235, - 9237, - 9239, - 9241, - 9242, - 9244, - 9245, - 9246, - 9247, - 9248, - 9249, - 9251, - 9253, - 9255, - 9257, - 9259, - 9261, - 9263, - 9265, - 9266, - 9267, - 9268, - 9269, - 9270, - 9272, - 9273, - 9275, - 9276, - 9278, - 9280, - 9282, - 9284, - 9286, - 9288, - 9290, - 9291, - 9292, - 9293, - 9294, - 9296, - 9297, - 9298, - 9299, - 9300, - 9302, - 9303, - 9305, - 9306, - 9308, - 9310, - 9312, - 9313, - 9315, - 9316, - 9317, - 9318, - 9319, - 9321, - 9322, - 9323, - 9324, - 9325, - 9326, - 9327, - 9328, - 9329, - 9330, - 9331, - 9332, - 9333, - 9334, - 9336, - 9338, - 9340, - 9342, - 9344, - 9346, - 9348, - 9350, - 9351, - 492, - 9355, - 4419, - 9354, - 9356, - 9357, - 9358, - 376, - 9182, - 9197, - 2397, - 9140, - 4832, - 9450, - 3999, - 1928, - 9151, - 235, - 267, - 299, - 231, - 4812, - 4816, - 3367, - 4822, - 4826, - 2398, - 2404, - 4820, - 4824, - 4828, - 11416, - 769, - 11692, - 11693 - ] + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } } }, - "links": { - "`Iterator`": 49, - "`String`": 161, - "`collections`": 733, - "`format!`": 2328, - "`fs`": 2424, - "`io`": 501, - "`iter`": 194, - "`net`": 4769, - "`option`": 195, - "`result`": 196, - "`sync`": 8490, - "`thread::current()`": 371, - "`thread`": 607, - "boxed": 186, - "cell::Cell": 378, - "cell::RefCell": 380, - "cmp": 191, - "collections::HashMap": 738, - "crate::i32": 9256, - "fs::File": 2413, - "i32::MAX": 11773, - "i32::MIN": 11772, - "io": 501, - "mod@slice": 205, - "net::TcpStream": 3047, - "net::UdpSocket": 4437, - "option::Option": 51, - "prelude": 166, - "prim@array": 9450, - "prim@slice": 3999, - "prim@str": 1928, - "primitive::i32": 3367, - "rc::Rc": 2030, - "result::Result": 57, - "str::FromStr": 2072, - "sync::Arc": 606, - "sync::Mutex": 495, - "sync::atomic": 350, - "sync::mpmc": 7249, - "sync::mpsc": 493, - "thread": 607, - "vec::Vec": 165 - }, - "name": "std", + "links": {}, + "name": "strict_abs", "span": { "begin": [ - 1, - 1 + 420, + 5 ], "end": [ - 775, - 29 + 439, + 6 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1178": { - "attrs": [], - "crate_id": 0, + "11755": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1178, + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(8isize.checked_pow(2), Some(64));\nassert_eq!(isize::MAX.checked_pow(2), None);\n```", + "id": 11755, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1132, - "path": "OccupiedEntry" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" } } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 39, - "path": "Into" + } } } }, "links": {}, - "name": null, + "name": "checked_pow", "span": { "begin": [ - 773, - 1 + 420, + 5 ], "end": [ - 775, - 24 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1179": { - "attrs": [], - "crate_id": 0, + "11756": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1179, + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(8isize.strict_pow(2), 64);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = isize::MAX.strict_pow(2);\n```", + "id": 11756, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - }, - "id": 1132, - "path": "OccupiedEntry" + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" } - }, + } + } + }, + "links": {}, + "name": "strict_pow", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11757": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the square root of the number, rounded down.\n\nReturns `None` if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10isize.checked_isqrt(), Some(3));\n```", + "id": 11757, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 37, - "path": "From" + } } } }, "links": {}, - "name": null, + "name": "checked_isqrt", "span": { "begin": [ - 791, - 1 + 420, + 5 ], "end": [ - 791, - 28 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "118": { + "11758": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 118, + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at the numeric\nbounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100isize.saturating_add(1), 101);\nassert_eq!(isize::MAX.saturating_add(100), isize::MAX);\nassert_eq!(isize::MIN.saturating_add(-1), isize::MIN);\n```", + "id": 11758, "inner": { - "use": { - "id": 119, - "is_glob": false, - "name": "Ord", - "source": "core::prelude::v1::Ord" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } } }, "links": {}, - "name": null, + "name": "saturating_add", "span": { "begin": [ - 52, - 69 + 420, + 5 ], "end": [ - 52, - 72 + 439, + 6 ], - "filename": "std/src/prelude/v1.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1180": { - "attrs": [], - "crate_id": 0, + "11759": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1180, + "docs": "Saturating addition with an unsigned integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1isize.saturating_add_unsigned(2), 3);\nassert_eq!(isize::MAX.saturating_add_unsigned(100), isize::MAX);\n```", + "id": 11759, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1132, - "path": "OccupiedEntry" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "saturating_add_unsigned", "span": { "begin": [ - 817, - 1 + 420, + 5 ], "end": [ - 819, - 27 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1181": { + "1176": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1181, + "id": 1176, "inner": { "impl": { "blanket_impl": { @@ -142820,16 +141237,6 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ @@ -142839,29 +141246,18 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -142871,8 +141267,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 319 ], "provided_trait_methods": [], "trait": { @@ -142881,15 +141276,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 321, + "path": "Borrow" } } }, @@ -142897,129 +141292,103 @@ "name": null, "span": { "begin": [ - 833, + 212, 1 ], "end": [ - 835, - 24 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1182": { - "attrs": [], - "crate_id": 0, + "11760": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1182, + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100isize.saturating_sub(127), -27);\nassert_eq!(isize::MIN.saturating_sub(100), isize::MIN);\nassert_eq!(isize::MAX.saturating_sub(-1), isize::MAX);\n```", + "id": 11760, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1132, - "path": "OccupiedEntry" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "saturating_sub", "span": { "begin": [ - 138, - 1 + 420, + 5 ], "end": [ - 138, - 36 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1183": { - "attrs": [], - "crate_id": 0, + "11761": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1183, + "docs": "Saturating subtraction with an unsigned integer. Computes `self - rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100isize.saturating_sub_unsigned(127), -27);\nassert_eq!(isize::MIN.saturating_sub_unsigned(100), isize::MIN);\n```", + "id": 11761, "inner": { "function": { "generics": { @@ -143030,7 +141399,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -143038,197 +141407,118 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ - "f", + "rhs", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + "primitive": "isize" } } } }, "links": {}, - "name": "fmt", + "name": "saturating_sub_unsigned", "span": { "begin": [ - 1820, + 420, 5 ], "end": [ - 1825, + 439, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1184": { + "11762": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"debug_hash_map\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1184, + "docs": "Saturating integer negation. Computes `-self`, returning `MAX` if `self == MIN`\ninstead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100isize.saturating_neg(), -100);\nassert_eq!((-100isize).saturating_neg(), 100);\nassert_eq!(isize::MIN.saturating_neg(), isize::MAX);\nassert_eq!(isize::MAX.saturating_neg(), isize::MIN + 1);\n```", + "id": 11762, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1132, - "path": "OccupiedEntry" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 1183 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "saturating_neg", "span": { "begin": [ - 1819, - 1 + 420, + 5 ], "end": [ - 1826, - 2 + 439, + 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1186": { + "11763": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"map_entry_keys\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"saturating_neg\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Gets a reference to the key that would be used when inserting a value\nthrough the `VacantEntry`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nassert_eq!(map.entry(\"poneyland\").key(), &\"poneyland\");\n```", - "id": 1186, + "docs": "Saturating absolute value. Computes `self.abs()`, returning `MAX` if `self ==\nMIN` instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100isize.saturating_abs(), 100);\nassert_eq!((-100isize).saturating_abs(), 100);\nassert_eq!(isize::MIN.saturating_abs(), isize::MAX);\nassert_eq!((isize::MIN + 1).saturating_abs(), isize::MAX);\n```", + "id": 11763, "inner": { "function": { "generics": { @@ -143239,7 +141529,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -143247,57 +141537,50 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "K" - } - } + "primitive": "isize" } } } }, "links": {}, - "name": "key", + "name": "saturating_abs", "span": { "begin": [ - 2703, + 420, 5 ], "end": [ - 2705, + 439, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1187": { + "11764": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"map_entry_recover_keys2\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Take ownership of the key.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\n\nif let Entry::Vacant(v) = map.entry(\"poneyland\") {\n v.into_key();\n}\n```", - "id": 1187, + "docs": "Saturating integer multiplication. Computes `self * rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(10isize.saturating_mul(12), 120);\nassert_eq!(isize::MAX.saturating_mul(10), isize::MAX);\nassert_eq!(isize::MIN.saturating_mul(10), isize::MIN);\n```", + "id": 11764, "inner": { "function": { "generics": { @@ -143308,7 +141591,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -143318,43 +141601,54 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "isize" + } ] ], "is_c_variadic": false, "output": { - "generic": "K" + "primitive": "isize" } } } }, "links": {}, - "name": "into_key", + "name": "saturating_mul", "span": { "begin": [ - 2723, + 420, 5 ], "end": [ - 2725, + 439, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1188": { + "11765": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Sets the value of the entry with the `VacantEntry`'s key,\nand returns a mutable reference to it.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\n\nif let Entry::Vacant(o) = map.entry(\"poneyland\") {\n o.insert(37);\n}\nassert_eq!(map[\"poneyland\"], 37);\n```", - "id": 1188, + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5isize.saturating_div(2), 2);\nassert_eq!(isize::MAX.saturating_div(-1), isize::MIN + 1);\nassert_eq!(isize::MIN.saturating_div(-1), isize::MAX);\n\n```", + "id": 11765, "inner": { "function": { "generics": { @@ -143365,7 +141659,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -143377,53 +141671,52 @@ } ], [ - "value", + "rhs", { - "generic": "V" + "primitive": "isize" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": "'a", - "type": { - "generic": "V" - } - } + "primitive": "isize" } } } }, "links": {}, - "name": "insert", + "name": "saturating_div", "span": { "begin": [ - 2745, + 420, 5 ], "end": [ - 2747, + 439, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1189": { + "11766": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"entry_insert\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Sets the value of the entry with the `VacantEntry`'s key,\nand returns an `OccupiedEntry`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\n\nif let Entry::Vacant(o) = map.entry(\"poneyland\") {\n o.insert_entry(37);\n}\nassert_eq!(map[\"poneyland\"], 37);\n```", - "id": 1189, + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!((-4isize).saturating_pow(3), -64);\nassert_eq!(isize::MIN.saturating_pow(2), isize::MAX);\nassert_eq!(isize::MIN.saturating_pow(3), isize::MIN);\n```", + "id": 11766, "inner": { "function": { "generics": { @@ -143434,7 +141727,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -143446,850 +141739,244 @@ } ], [ - "value", + "exp", { - "generic": "V" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1132, - "path": "OccupiedEntry" - } + "primitive": "isize" } } } }, "links": {}, - "name": "insert_entry", + "name": "saturating_pow", "span": { "begin": [ - 2767, + 420, 5 ], "end": [ - 2770, + 439, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1190": { - "attrs": [], - "crate_id": 0, + "11767": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1190, + "docs": "Wrapping (modular) addition with an unsigned integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_add_unsigned(27), 127);\nassert_eq!(isize::MAX.wrapping_add_unsigned(2), isize::MIN + 1);\n```", + "id": 11767, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1135, - "path": "VacantEntry" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 1186, - 1187, - 1188, - 1189 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } } }, "links": {}, - "name": null, + "name": "wrapping_add_unsigned", "span": { "begin": [ - 2689, - 1 + 420, + 5 ], "end": [ - 2771, - 2 + 439, + 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1191": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1191, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1135, - "path": "VacantEntry" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" + "11768": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" } } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "1192": { - "attrs": [], - "crate_id": 0, + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1192, + "docs": "Wrapping (modular) subtraction with an unsigned integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(0isize.wrapping_sub_unsigned(127), -127);\nassert_eq!((-2isize).wrapping_sub_unsigned(usize::MAX), -1);\n```", + "id": 11768, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1135, - "path": "VacantEntry" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] + "params": [], + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "1193": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1193, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1135, - "path": "VacantEntry" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "1194": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1194, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] + ], + [ + "rhs", + { + "primitive": "usize" } - }, - "id": 1135, - "path": "VacantEntry" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "wrapping_sub_unsigned", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" }, - "1195": { - "attrs": [], - "crate_id": 0, + "11769": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1195, + "docs": "Wrapping (modular) division. Computes `self / rhs`, wrapping around at the\nboundary of the type.\n\nThe only case where such wrapping can occur is when one divides `MIN / -1` on a signed type (where\n`MIN` is the negative minimal value for the type); this is equivalent to `-MIN`, a positive value\nthat is too large to represent in the type. In such a case, this function returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_div(10), 10);\nassert_eq!((-128i8).wrapping_div(-1), -128);\n```", + "id": 11769, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1135, - "path": "VacantEntry" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": true, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "1196": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1196, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1135, - "path": "VacantEntry" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } + ], + [ + "rhs", + { + "primitive": "isize" } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "wrapping_div", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" }, - "1197": { + "1177": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1197, + "id": 1177, "inner": { "impl": { "blanket_impl": { @@ -144317,8 +142004,8 @@ "constraints": [] } }, - "id": 1135, - "path": "VacantEntry" + "id": 1132, + "path": "OccupiedEntry" } }, "generics": { @@ -144362,7 +142049,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 322 ], "provided_trait_methods": [], "trait": { @@ -144378,8 +142065,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 324, + "path": "BorrowMut" } } }, @@ -144387,572 +142074,696 @@ "name": null, "span": { "begin": [ - 209, + 221, 1 ], "end": [ - 209, - 32 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1198": { - "attrs": [], - "crate_id": 0, + "11770": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1198, + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`,\nwrapping around at the boundary of the type.\n\nWrapping will only occur in `MIN / -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). This is equivalent to `-MIN`, a positive value that is too large to represent in the\ntype. In this case, this method returns `MIN` itself.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_div_euclid(10), 10);\nassert_eq!((-128i8).wrapping_div_euclid(-1), -128);\n```", + "id": 11770, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1135, - "path": "VacantEntry" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "wrapping_div_euclid", "span": { "begin": [ - 217, - 1 + 420, + 5 ], "end": [ - 217, - 35 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1199": { - "attrs": [], - "crate_id": 0, + "11771": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1199, + "docs": "Wrapping (modular) remainder. Computes `self % rhs`, wrapping around at the\nboundary of the type.\n\nSuch wrap-around never actually occurs mathematically; implementation artifacts make `x % y`\ninvalid for `MIN / -1` on a signed type (where `MIN` is the negative minimal value). In such a case,\nthis function returns `0`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_rem(10), 0);\nassert_eq!((-128i8).wrapping_rem(-1), 0);\n```", + "id": 11771, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1135, - "path": "VacantEntry" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "wrapping_rem", "span": { "begin": [ - 773, - 1 + 420, + 5 ], "end": [ - 775, - 24 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "12": { + "11772": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 12, + "docs": "Wrapping Euclidean remainder. Computes `self.rem_euclid(rhs)`, wrapping around\nat the boundary of the type.\n\nWrapping will only occur in `MIN % -1` on a signed type (where `MIN` is the negative minimal value\nfor the type). In this case, this method returns 0.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_rem_euclid(10), 0);\nassert_eq!((-128i8).wrapping_rem_euclid(-1), 0);\n```", + "id": 11772, "inner": { - "use": { - "id": 13, - "is_glob": false, - "name": "FnMut", - "source": "crate::ops::FnMut" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } } }, "links": {}, - "name": null, + "name": "wrapping_rem_euclid", "span": { "begin": [ - 16, - 32 + 420, + 5 ], "end": [ - 16, - 37 + 439, + 6 ], - "filename": "std/src/prelude/v1.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "120": { + "11773": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 120, + "docs": "Wrapping (modular) negation. Computes `-self`, wrapping around at the boundary\nof the type.\n\nThe only case where such wrapping can occur is when one negates `MIN` on a signed type (where `MIN`\nis the negative minimal value for the type); this is a positive value that is too large to represent\nin the type. In such a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_neg(), -100);\nassert_eq!((-100isize).wrapping_neg(), 100);\nassert_eq!(isize::MIN.wrapping_neg(), isize::MIN);\n```", + "id": 11773, "inner": { - "use": { - "id": 121, - "is_glob": false, - "name": "Ord", - "source": "core::prelude::v1::Ord" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } } }, "links": {}, - "name": null, + "name": "wrapping_neg", "span": { "begin": [ - 52, - 69 + 420, + 5 ], "end": [ - 52, - 72 + 439, + 6 ], - "filename": "std/src/prelude/v1.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "1200": { - "attrs": [], - "crate_id": 0, + "11774": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1200, + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`, where `mask` removes\nany high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the RHS of a wrapping shift-left is restricted to\nthe range of the type, rather than the bits shifted out of the LHS being returned to the other end.\nThe primitive integer types all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-1isize).wrapping_shl(7), -128);\nassert_eq!((-1isize).wrapping_shl(128), -1);\n```", + "id": 11774, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - }, - "id": 1135, - "path": "VacantEntry" + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" } - }, + } + } + }, + "links": { + "Self::rotate_left": 11703 + }, + "name": "wrapping_shl", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11775": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`, where `mask`\nremoves any high-order bits of `rhs` that would cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the RHS of a wrapping shift-right is restricted\nto the range of the type, rather than the bits shifted out of the LHS being returned to the other\nend. The primitive integer types all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!((-128isize).wrapping_shr(7), -1);\nassert_eq!((-128i16).wrapping_shr(64), -128);\n```", + "id": 11775, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": { + "Self::rotate_right": 11704 + }, + "name": "wrapping_shr", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11776": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) absolute value. Computes `self.abs()`, wrapping around at\nthe boundary of the type.\n\nThe only case where such wrapping can occur is when one takes the absolute value of the negative\nminimal value for the type; this is a positive value that is too large to represent in the type. In\nsuch a case, this function returns `MIN` itself.\n\n# Examples\n\n```\nassert_eq!(100isize.wrapping_abs(), 100);\nassert_eq!((-100isize).wrapping_abs(), 100);\nassert_eq!(isize::MIN.wrapping_abs(), isize::MIN);\nassert_eq!((-128i8).wrapping_abs() as u8, 128);\n```", + "id": 11776, + "inner": { + "function": { + "generics": { + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } } } }, "links": {}, - "name": null, + "name": "wrapping_abs", "span": { "begin": [ - 791, - 1 + 420, + 5 ], "end": [ - 791, - 28 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1201": { - "attrs": [], - "crate_id": 0, + "11777": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"unsigned_abs\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1201, + "docs": "Computes the absolute value of `self` without any wrapping\nor panicking.\n\n\n# Examples\n\n```\nassert_eq!(100isize.unsigned_abs(), 100usize);\nassert_eq!((-100isize).unsigned_abs(), 100usize);\nassert_eq!((-128i8).unsigned_abs(), 128u8);\n```", + "id": 11777, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - }, - "id": 1135, - "path": "VacantEntry" + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" } + } + } + }, + "links": {}, + "name": "unsigned_abs", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11778": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3isize.wrapping_pow(4), 81);\nassert_eq!(3i8.wrapping_pow(5), -13);\nassert_eq!(3i8.wrapping_pow(6), -39);\n```", + "id": 11778, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "wrapping_pow", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11779": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would have\noccurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_add(2), (7, false));\nassert_eq!(isize::MAX.overflowing_add(1), (isize::MIN, true));\n```", + "id": 11779, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + ] + } } } }, "links": {}, - "name": null, + "name": "overflowing_add", "span": { "begin": [ - 817, - 1 + 420, + 5 ], "end": [ - 819, - 27 + 439, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1202": { + "1178": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1202, + "id": 1178, "inner": { "impl": { "blanket_impl": { @@ -144980,8 +142791,8 @@ "constraints": [] } }, - "id": 1135, - "path": "VacantEntry" + "id": 1132, + "path": "OccupiedEntry" } }, "generics": { @@ -145028,8 +142839,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 37, + "path": "From" } } } @@ -145046,8 +142857,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 325 ], "provided_trait_methods": [], "trait": { @@ -145063,8 +142873,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 39, + "path": "Into" } } }, @@ -145072,129 +142882,115 @@ "name": null, "span": { "begin": [ - 833, + 767, 1 ], "end": [ - 835, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1203": { - "attrs": [], - "crate_id": 0, + "11780": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1203, + "docs": "Calculates `self` + `rhs` + `carry` and returns a tuple containing\nthe sum and the output carry (in that order).\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns an output integer and a carry-out bit. This allows\nchaining together multiple additions to create a wider addition, and\ncan be useful for bignum addition.\n\nThis can be thought of as a 64-bit \"full adder\", in the electronics sense.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add), and the output carry is\nequal to the overflow flag. Note that although carry and overflow\nflags are similar for unsigned integers, they are different for\nsigned integers.\n\n# Examples\n\n```\n// 3 MAX (a = 3 × 2^64 + 2^64 - 1)\n// + 5 7 (b = 5 × 2^64 + 7)\n// ---------\n// 9 6 (sum = 9 × 2^64 + 6)\n\nlet (a1, a0): (usize, usize) = (3, usize::MAX);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet carry0 = false;\n\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\nlet (sum1, carry2) = a1.carrying_add(b1, carry1);\nassert_eq!(carry2, false);\n\nassert_eq!((sum1, sum0), (9, 6));\n```", + "id": 11780, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1135, - "path": "VacantEntry" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ], + [ + "carry", + { + "primitive": "bool" + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + ] + } } } }, - "links": {}, - "name": null, + "links": { + "Self::overflowing_add": 11927 + }, + "name": "carrying_add", "span": { "begin": [ - 138, - 1 + 1269, + 5 ], "end": [ - 138, - 36 + 1290, + 6 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1204": { - "attrs": [], - "crate_id": 0, + "11781": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1204, + "docs": "Calculates `self` + `rhs` + `carry` and checks for overflow.\n\nPerforms \"ternary addition\" of two integer operands and a carry-in\nbit, and returns a tuple of the sum along with a boolean indicating\nwhether an arithmetic overflow would occur. On overflow, the wrapped\nvalue is returned.\n\nThis allows chaining together multiple additions to create a wider\naddition, and can be useful for bignum addition. This method should\nonly be used for the most significant word; for the less significant\nwords the unsigned method\n[`usize::carrying_add`]\nshould be used.\n\nThe output boolean returned by this method is *not* a carry flag,\nand should *not* be added to a more significant word.\n\nIf the input carry is false, this method is equivalent to\n[`overflowing_add`](Self::overflowing_add).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 10 MAX (a = 10 × 2^64 + 2^64 - 1)\n// + -5 9 (b = -5 × 2^64 + 9)\n// ---------\n// 6 8 (sum = 6 × 2^64 + 8)\n\nlet (a1, a0): (isize, usize) = (10, usize::MAX);\nlet (b1, b0): (isize, usize) = (-5, 9);\nlet carry0 = false;\n\n// usize::carrying_add for the less significant words\nlet (sum0, carry1) = a0.carrying_add(b0, carry0);\nassert_eq!(carry1, true);\n\n// isize::carrying_add for the most significant word\nlet (sum1, overflow) = a1.carrying_add(b1, carry1);\nassert_eq!(overflow, false);\n\nassert_eq!((sum1, sum0), (6, 8));\n```", + "id": 11781, "inner": { "function": { "generics": { @@ -145205,7 +143001,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -145213,119 +143009,20292 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ - "f", + "rhs", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } + "primitive": "isize" + } + ], + [ + "carry", + { + "primitive": "bool" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] } } } }, - "links": {}, - "name": "fmt", + "links": { + "Self::overflowing_add": 11779, + "`usize::carrying_add`": 11780 + }, + "name": "carrying_add", "span": { "begin": [ - 1837, + 420, 5 ], "end": [ - 1839, + 439, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "1205": { + "11782": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"debug_hash_map\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 1205, + "docs": "Calculates `self` + `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1isize.overflowing_add_unsigned(2), (3, false));\nassert_eq!((isize::MIN).overflowing_add_unsigned(usize::MAX), (isize::MAX, false));\nassert_eq!((isize::MAX - 2).overflowing_add_unsigned(3), (isize::MIN, true));\n```", + "id": 11782, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 1135, - "path": "VacantEntry" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_add_unsigned", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11783": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_sub(2), (3, false));\nassert_eq!(isize::MIN.overflowing_sub(1), (isize::MAX, true));\n```", + "id": 11783, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_sub", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11784": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates `self` − `rhs` − `borrow` and returns a tuple\ncontaining the difference and the output borrow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns an output\ninteger and a borrow-out bit. This allows chaining together multiple\nsubtractions to create a wider subtraction, and can be useful for\nbignum subtraction.\n\n# Examples\n\n```\n// 9 6 (a = 9 × 2^64 + 6)\n// - 5 7 (b = 5 × 2^64 + 7)\n// ---------\n// 3 MAX (diff = 3 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (usize, usize) = (9, 6);\nlet (b1, b0): (usize, usize) = (5, 7);\nlet borrow0 = false;\n\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\nlet (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(borrow2, false);\n\nassert_eq!((diff1, diff0), (3, usize::MAX));\n```", + "id": 11784, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ], + [ + "borrow", + { + "primitive": "bool" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "borrowing_sub", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11785": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates `self` − `rhs` − `borrow` and checks for\noverflow.\n\nPerforms \"ternary subtraction\" by subtracting both an integer\noperand and a borrow-in bit from `self`, and returns a tuple of the\ndifference along with a boolean indicating whether an arithmetic\noverflow would occur. On overflow, the wrapped value is returned.\n\nThis allows chaining together multiple subtractions to create a\nwider subtraction, and can be useful for bignum subtraction. This\nmethod should only be used for the most significant word; for the\nless significant words the unsigned method\n[`usize::borrowing_sub`]\nshould be used.\n\nThe output boolean returned by this method is *not* a borrow flag,\nand should *not* be subtracted from a more significant word.\n\nIf the input borrow is false, this method is equivalent to\n[`overflowing_sub`](Self::overflowing_sub).\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\n// Only the most significant word is signed.\n//\n// 6 8 (a = 6 × 2^64 + 8)\n// - -5 9 (b = -5 × 2^64 + 9)\n// ---------\n// 10 MAX (diff = 10 × 2^64 + 2^64 - 1)\n\nlet (a1, a0): (isize, usize) = (6, 8);\nlet (b1, b0): (isize, usize) = (-5, 9);\nlet borrow0 = false;\n\n// usize::borrowing_sub for the less significant words\nlet (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);\nassert_eq!(borrow1, true);\n\n// isize::borrowing_sub for the most significant word\nlet (diff1, overflow) = a1.borrowing_sub(b1, borrow1);\nassert_eq!(overflow, false);\n\nassert_eq!((diff1, diff0), (10, usize::MAX));\n```", + "id": 11785, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ], + [ + "borrow", + { + "primitive": "bool" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": { + "Self::overflowing_sub": 11783, + "`usize::borrowing_sub`": 11784 + }, + "name": "borrowing_sub", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11786": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates `self` - `rhs` with an unsigned `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1isize.overflowing_sub_unsigned(2), (-1, false));\nassert_eq!((isize::MAX).overflowing_sub_unsigned(usize::MAX), (isize::MIN, false));\nassert_eq!((isize::MIN + 2).overflowing_sub_unsigned(3), (isize::MAX, true));\n```", + "id": 11786, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_sub_unsigned", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11787": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow\nwould occur. If an overflow would have occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));\n```", + "id": 11787, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_mul", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11788": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `carry`, then you can use [`Self::widening_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul(-2, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul(-2, 10), (0, 0));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul(-10, 10), (2884901898, -3));\nassert_eq!(isize::MAX.carrying_mul(isize::MAX, isize::MAX), (isize::MAX.unsigned_abs() + 1, isize::MAX / 2));\n```", + "id": 11788, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ], + [ + "carry", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "isize" + } + ] + } + } + } + }, + "links": { + "`Self::widening_mul`": 11789 + }, + "name": "carrying_mul", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11789": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the complete product `self * rhs` without the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.widening_mul(-2), (4294967286, -1));\nassert_eq!(1_000_000_000i32.widening_mul(-10), (2884901888, -3));\n```", + "id": 11789, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "isize" + } + ] + } + } + } + }, + "links": { + "`Self::carrying_mul`": 11788 + }, + "name": "widening_mul", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1179": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1179, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1132, + "path": "OccupiedEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 785, + 1 + ], + "end": [ + 785, + 28 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "11790": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need either `carry`, then you can use [`Self::widening_mul`] instead,\nand if you only need one `carry`, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `i32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5i32.carrying_mul_add(-2, 0, 0), (4294967286, -1));\nassert_eq!(5i32.carrying_mul_add(-2, 10, 10), (10, 0));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 0, 0), (2884901888, -3));\nassert_eq!(1_000_000_000i32.carrying_mul_add(-10, 10, 10), (2884901908, -3));\nassert_eq!(isize::MAX.carrying_mul_add(isize::MAX, isize::MAX, isize::MAX), (usize::MAX, isize::MAX / 2));\n```", + "id": 11790, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ], + [ + "carry", + { + "primitive": "isize" + } + ], + [ + "add", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "isize" + } + ] + } + } + } + }, + "links": { + "`Self::carrying_mul`": 11788, + "`Self::widening_mul`": 11789 + }, + "name": "carrying_mul_add", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11791": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then self is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_div(2), (2, false));\nassert_eq!(isize::MIN.overflowing_div(-1), (isize::MIN, true));\n```", + "id": 11791, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_div", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11792": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would\noccur. If an overflow would occur then `self` is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_div_euclid(2), (2, false));\nassert_eq!(isize::MIN.overflowing_div_euclid(-1), (isize::MIN, true));\n```", + "id": 11792, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_div_euclid", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11793": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_rem(2), (1, false));\nassert_eq!(isize::MIN.overflowing_rem(-1), (0, true));\n```", + "id": 11793, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_rem", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11794": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Overflowing Euclidean remainder. Calculates `self.rem_euclid(rhs)`.\n\nReturns a tuple of the remainder after dividing along with a boolean indicating whether an\narithmetic overflow would occur. If an overflow would occur then 0 is returned.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5isize.overflowing_rem_euclid(2), (1, false));\nassert_eq!(isize::MIN.overflowing_rem_euclid(-1), (0, true));\n```", + "id": 11794, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_rem_euclid", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11795": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Negates self, overflowing if this is equal to the minimum value.\n\nReturns a tuple of the negated version of self along with a boolean indicating whether an overflow\nhappened. If `self` is the minimum value (e.g., `i32::MIN` for values of type `i32`), then the\nminimum value will be returned again and `true` will be returned for an overflow happening.\n\n# Examples\n\n```\nassert_eq!(2isize.overflowing_neg(), (-2, false));\nassert_eq!(isize::MIN.overflowing_neg(), (isize::MIN, true));\n```", + "id": 11795, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_neg", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11796": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1isize.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1i32.overflowing_shl(36), (0x10, true));\nassert_eq!(0x10isize.overflowing_shl(63), (0, false));\n```", + "id": 11796, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_shl", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11797": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean indicating whether the shift\nvalue was larger than or equal to the number of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then used to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10isize.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10i32.overflowing_shr(36), (0x1, true));\n```", + "id": 11797, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_shr", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11798": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"no_panic_abs\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Computes the absolute value of `self`.\n\nReturns a tuple of the absolute version of self along with a boolean indicating whether an overflow\nhappened. If self is the minimum value\n(e.g., isize::MIN for values of type isize),\nthen the minimum value will be returned again and true will be returned\nfor an overflow happening.\n\n# Examples\n\n```\nassert_eq!(10isize.overflowing_abs(), (10, false));\nassert_eq!((-10isize).overflowing_abs(), (10, false));\nassert_eq!((isize::MIN).overflowing_abs(), (isize::MIN, true));\n```", + "id": 11798, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_abs", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11799": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3isize.overflowing_pow(4), (81, false));\nassert_eq!(3i8.overflowing_pow(5), (-13, true));\n```", + "id": 11799, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "isize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_pow", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "118": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 118, + "inner": { + "use": { + "id": 119, + "is_glob": false, + "name": "Ord", + "source": "core::prelude::v1::Ord" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 52, + 69 + ], + "end": [ + 52, + 72 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1180": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1180, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1132, + "path": "OccupiedEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 811, + 1 + ], + "end": [ + 813, + 27 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "11800": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nlet x: isize = 2; // or any other integer type\n\nassert_eq!(x.pow(5), 32);\n```", + "id": 11800, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "pow", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11801": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the square root of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is negative.\n\n# Examples\n\n```\nassert_eq!(10isize.isqrt(), 3);\n```", + "id": 11801, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "isqrt", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11802": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the quotient of Euclidean division of `self` by `rhs`.\n\nThis computes the integer `q` such that `self = q * rhs + r`, with\n`r = self.rem_euclid(rhs)` and `0 <= r < abs(rhs)`.\n\nIn other words, the result is `self / rhs` rounded to the integer `q`\nsuch that `self >= q * rhs`.\nIf `self > 0`, this is equal to rounding towards zero (the default in Rust);\nif `self < 0`, this is equal to rounding away from zero (towards +/- infinity).\nIf `rhs > 0`, this is equal to rounding towards -infinity;\nif `rhs < 0`, this is equal to rounding towards +infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: isize = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1\nassert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1\nassert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2\nassert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2\n```", + "id": 11802, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "div_euclid", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11803": { + "attrs": [ + { + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nThis is done as if by the Euclidean division algorithm -- given\n`r = self.rem_euclid(rhs)`, the result satisfies\n`self = rhs * self.div_euclid(rhs) + r` and `0 <= r < abs(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN` and\n`rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\nlet a: isize = 7; // or any other integer type\nlet b = 4;\n\nassert_eq!(a.rem_euclid(b), 3);\nassert_eq!((-a).rem_euclid(b), 1);\nassert_eq!(a.rem_euclid(-b), 3);\nassert_eq!((-a).rem_euclid(-b), 1);\n```\n\nThis will panic:\n```should_panic\nlet _ = isize::MIN.rem_euclid(-1);\n```", + "id": 11803, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "rem_euclid", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11804": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: isize = 8;\nlet b = 3;\n\nassert_eq!(a.div_floor(b), 2);\nassert_eq!(a.div_floor(-b), -3);\nassert_eq!((-a).div_floor(b), -3);\nassert_eq!((-a).div_floor(-b), 2);\n```", + "id": 11804, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "div_floor", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11805": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero or if `self` is `Self::MIN`\nand `rhs` is -1. This behavior is not affected by the `overflow-checks` flag.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nlet a: isize = 8;\nlet b = 3;\n\nassert_eq!(a.div_ceil(b), 3);\nassert_eq!(a.div_ceil(-b), -2);\nassert_eq!((-a).div_ceil(b), -2);\nassert_eq!((-a).div_ceil(-b), 3);\n```", + "id": 11805, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "div_ceil", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11806": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_isize.next_multiple_of(8), 16);\nassert_eq!(23_isize.next_multiple_of(8), 24);\nassert_eq!(16_isize.next_multiple_of(-8), 16);\nassert_eq!(23_isize.next_multiple_of(-8), 16);\nassert_eq!((-16_isize).next_multiple_of(8), -16);\nassert_eq!((-23_isize).next_multiple_of(8), -16);\nassert_eq!((-16_isize).next_multiple_of(-8), -16);\nassert_eq!((-23_isize).next_multiple_of(-8), -24);\n```", + "id": 11806, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "next_multiple_of", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11807": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "If `rhs` is positive, calculates the smallest value greater than or\nequal to `self` that is a multiple of `rhs`. If `rhs` is negative,\ncalculates the largest value less than or equal to `self` that is a\nmultiple of `rhs`. Returns `None` if `rhs` is zero or the operation\nwould result in overflow.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(16_isize.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_isize.checked_next_multiple_of(8), Some(24));\nassert_eq!(16_isize.checked_next_multiple_of(-8), Some(16));\nassert_eq!(23_isize.checked_next_multiple_of(-8), Some(16));\nassert_eq!((-16_isize).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-23_isize).checked_next_multiple_of(8), Some(-16));\nassert_eq!((-16_isize).checked_next_multiple_of(-8), Some(-16));\nassert_eq!((-23_isize).checked_next_multiple_of(-8), Some(-24));\nassert_eq!(1_isize.checked_next_multiple_of(0), None);\nassert_eq!(isize::MAX.checked_next_multiple_of(2), None);\n```", + "id": 11807, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_next_multiple_of", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11808": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero,\nor if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5isize.ilog(5), 1);\n```", + "id": 11808, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "base", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "ilog", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11809": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is less than or equal to zero.\n\n# Example\n\n```\nassert_eq!(10isize.ilog10(), 1);\n```", + "id": 11809, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "ilog10", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1181": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1181, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1132, + "path": "OccupiedEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "11810": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is negative or zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5isize.checked_ilog(5), Some(1));\n```", + "id": 11810, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "base", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_ilog", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11811": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Examples\n\n```\nassert_eq!(2isize.checked_ilog2(), Some(1));\n```", + "id": 11811, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_ilog2", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11812": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is negative or zero.\n\n# Example\n\n```\nassert_eq!(10isize.checked_ilog10(), Some(1));\n```", + "id": 11812, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_ilog10", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11813": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Computes the absolute value of `self`.\n\n# Overflow behavior\n\nThe absolute value of\n`isize::MIN`\ncannot be represented as an\n`isize`,\nand attempting to calculate it will cause an overflow. This means\nthat code in debug mode will trigger a panic on this case and\noptimized code will return\n`isize::MIN`\nwithout a panic. If you do not want this behavior, consider\nusing [`unsigned_abs`](Self::unsigned_abs) instead.\n\n# Examples\n\n```\nassert_eq!(10isize.abs(), 10);\nassert_eq!((-10isize).abs(), 10);\n```", + "id": 11813, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": { + "Self::unsigned_abs": 11777 + }, + "name": "abs", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11814": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Computes the absolute difference between `self` and `other`.\n\nThis function always returns the correct answer without overflow or\npanics by returning an unsigned integer.\n\n# Examples\n\n```\nassert_eq!(100isize.abs_diff(80), 20usize);\nassert_eq!(100isize.abs_diff(110), 10usize);\nassert_eq!((-100isize).abs_diff(80), 180usize);\nassert_eq!((-100isize).abs_diff(-120), 20usize);\nassert_eq!(isize::MIN.abs_diff(isize::MAX), usize::MAX);\n```", + "id": 11814, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "other", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "abs_diff", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11815": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_int_sign\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns a number representing sign of `self`.\n\n - `0` if the number is zero\n - `1` if the number is positive\n - `-1` if the number is negative\n\n# Examples\n\n```\nassert_eq!(10isize.signum(), 1);\nassert_eq!(0isize.signum(), 0);\nassert_eq!((-10isize).signum(), -1);\n```", + "id": 11815, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "signum", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11816": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns `true` if `self` is positive and `false` if the number is zero or\nnegative.\n\n# Examples\n\n```\nassert!(10isize.is_positive());\nassert!(!(-10isize).is_positive());\n```", + "id": 11816, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_positive", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11817": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_int_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns `true` if `self` is negative and `false` if the number is zero or\npositive.\n\n# Examples\n\n```\nassert!((-10isize).is_negative());\nassert!(!10isize.is_negative());\n```", + "id": 11817, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_negative", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11818": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456isize.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\n```", + "id": 11818, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + } + } + }, + "links": {}, + "name": "to_be_bytes", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11819": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456isize.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", + "id": 11819, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + } + } + }, + "links": {}, + "name": "to_le_bytes", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1182": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1182, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1132, + "path": "OccupiedEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "11820": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456isize.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n } else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", + "id": 11820, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + } + } + }, + "links": { + "Self::to_be_bytes": 11818, + "Self::to_le_bytes": 11819 + }, + "name": "to_ne_bytes", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11821": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Creates an integer value from its representation as a byte array in\nbig endian.\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = isize::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_isize(input: &mut &[u8]) -> isize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n isize::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", + "id": 11821, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "bytes", + { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "from_be_bytes", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11822": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Creates an integer value from its representation as a byte array in\nlittle endian.\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = isize::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_isize(input: &mut &[u8]) -> isize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n isize::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", + "id": 11822, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "bytes", + { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "from_le_bytes", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11823": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Creates an integer value from its memory representation as a byte\narray in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = isize::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_isize(input: &mut &[u8]) -> isize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n isize::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", + "id": 11823, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "bytes", + { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": { + "Self::from_be_bytes": 11821, + "Self::from_le_bytes": 11822 + }, + "name": "from_ne_bytes", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11824": { + "attrs": [ + { + "other": "#[rustc_diagnostic_item = \"isize_legacy_fn_min_value\"]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_min_value\", promotable: true}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 1, + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`isize::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", + "id": 11824, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": { + "`isize::MIN`": 11688 + }, + "name": "min_value", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11825": { + "attrs": [ + { + "other": "#[rustc_diagnostic_item = \"isize_legacy_fn_max_value\"]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 1, + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`isize::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", + "id": 11825, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": { + "`isize::MAX`": 11689 + }, + "name": "max_value", + "span": { + "begin": [ + 420, + 5 + ], + "end": [ + 439, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11826": { + "attrs": [ + { + "other": "#[doc(alias = \"average_floor\")]" + }, + { + "other": "#[doc(alias = \"average_ceil\")]" + }, + { + "other": "#[doc(alias = \"average\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"num_midpoint_signed\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large signed integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0isize.midpoint(4), 2);\nassert_eq!((-1isize).midpoint(2), 0);\nassert_eq!((-7isize).midpoint(0), -3);\nassert_eq!(0isize.midpoint(-7), -3);\nassert_eq!(0isize.midpoint(7), 3);\n```", + "id": 11826, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "midpoint", + "span": { + "begin": [ + 440, + 5 + ], + "end": [ + 440, + 37 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11827": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 11827, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "isize" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11688, + 11689, + 11690, + 11691, + 11692, + 11694, + 11695, + 11696, + 11697, + 11698, + 11699, + 11700, + 11701, + 11702, + 11703, + 11704, + 11705, + 11706, + 11707, + 11708, + 11709, + 11710, + 11711, + 11712, + 11714, + 11715, + 11716, + 11717, + 11718, + 11720, + 11721, + 11722, + 11723, + 11724, + 11726, + 11727, + 11728, + 11729, + 11730, + 11731, + 11732, + 11733, + 11734, + 11735, + 11736, + 11737, + 11738, + 11739, + 11740, + 11741, + 11742, + 11743, + 11744, + 11745, + 11746, + 11747, + 11748, + 11749, + 11750, + 11751, + 11752, + 11753, + 11754, + 11755, + 11756, + 11757, + 11758, + 11759, + 11760, + 11761, + 11762, + 11763, + 11764, + 11765, + 11766, + 11713, + 11767, + 11719, + 11768, + 11725, + 11769, + 11770, + 11771, + 11772, + 11773, + 11774, + 11775, + 11776, + 11777, + 11778, + 11779, + 11781, + 11782, + 11783, + 11785, + 11786, + 11787, + 11789, + 11788, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11800, + 11801, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11808, + 11693, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11818, + 11819, + 11820, + 11821, + 11822, + 11823, + 11824, + 11825, + 11826 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 419, + 1 + ], + "end": [ + 419, + 11 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "default" + }, + "11828": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(isize::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(isize::from_str_radix(\"1 \", 10).is_err());\n```", + "id": 11828, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "src", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ], + [ + "radix", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": {}, + "name": "from_str_radix", + "span": { + "begin": [ + 1666, + 1 + ], + "end": [ + 1666, + 56 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11829": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(isize::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(isize::from_ascii(b\"1 \").is_err());\n```", + "id": 11829, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "src", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": {}, + "name": "from_ascii", + "span": { + "begin": [ + 1666, + 1 + ], + "end": [ + 1666, + 56 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1183": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1183, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 1820, + 5 + ], + "end": [ + 1825, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "11830": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` or `-` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(isize::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(isize::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "id": 11830, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "src", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ], + [ + "radix", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": {}, + "name": "from_ascii_radix", + "span": { + "begin": [ + 1666, + 1 + ], + "end": [ + 1666, + 56 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11831": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 11831, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "isize" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11828, + 11829, + 11830 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1666, + 1 + ], + "end": [ + 1666, + 56 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "default" + }, + "11832": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0isize;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32isize;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = isize :: MAX;\nassert_eq!(n2.format_into(&mut buf), isize :: MAX.to_string());\n```", + "id": 11832, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + } + ], + "constraints": [] + } + }, + "id": 10387, + "path": "NumBuffer" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } + } + }, + "links": { + "`NumBuffer`": 10387 + }, + "name": "format_into", + "span": { + "begin": [ + 599, + 5 + ], + "end": [ + 599, + 95 + ], + "filename": "checkouts/rust/library/core/src/fmt/num.rs" + }, + "visibility": "public" + }, + "11833": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 11833, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "isize" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11832 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 599, + 5 + ], + "end": [ + 599, + 95 + ], + "filename": "checkouts/rust/library/core/src/fmt/num.rs" + }, + "visibility": "default" + }, + "11834": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The smallest value that can be represented by this integer type.\n\n# Examples\n\n```\nassert_eq!(usize::MIN, 0);\n```", + "id": 11834, + "inner": { + "assoc_const": { + "type": { + "primitive": "usize" + }, + "value": "0" + } + }, + "links": {}, + "name": "MIN", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11835": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The largest value that can be represented by this integer type\n(264 − 1 on 64-bit targets).\n\n# Examples\n\n```\nassert_eq!(usize::MAX, 18446744073709551615);\n```", + "id": 11835, + "inner": { + "assoc_const": { + "type": { + "primitive": "usize" + }, + "value": "_" + } + }, + "links": {}, + "name": "MAX", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11836": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"int_bits_const\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The size of this integer type in bits.\n\n# Examples\n\n```\nassert_eq!(usize::BITS, 64);\n```", + "id": 11836, + "inner": { + "assoc_const": { + "type": { + "primitive": "u32" + }, + "value": "_" + } + }, + "links": {}, + "name": "BITS", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11837": { + "attrs": [ + { + "other": "#[doc(alias = \"popcount\")]" + }, + { + "other": "#[doc(alias = \"popcnt\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = 0b01001100usize;\nassert_eq!(n.count_ones(), 3);\n\nlet max = usize::MAX;\nassert_eq!(max.count_ones(), 64);\n\nlet zero = 0usize;\nassert_eq!(zero.count_ones(), 0);\n```", + "id": 11837, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "count_ones", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11838": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of zeros in the binary representation of `self`.\n\n# Examples\n\n```\nlet zero = 0usize;\nassert_eq!(zero.count_zeros(), 64);\n\nlet max = usize::MAX;\nassert_eq!(max.count_zeros(), 0);\n```", + "id": 11838, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "count_zeros", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11839": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Examples\n\n```\nassert_eq!(2usize.ilog2(), 1);\n```", + "id": 11839, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "ilog2", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1184": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"debug_hash_map\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1184, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1132, + "path": "OccupiedEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 1183 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1819, + 1 + ], + "end": [ + 1826, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "11840": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of leading zeros in the binary representation of `self`.\n\nDepending on what you're doing with the value, you might also be interested in the\n[`ilog2`] function which returns a consistent number, even if the type widens.\n\n# Examples\n\n```\nlet n = usize::MAX >> 2;\nassert_eq!(n.leading_zeros(), 2);\n\nlet zero = 0usize;\nassert_eq!(zero.leading_zeros(), 64);\n\nlet max = usize::MAX;\nassert_eq!(max.leading_zeros(), 0);\n```\n[`ilog2`]: usize::ilog2", + "id": 11840, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": { + "usize::ilog2": 11839 + }, + "name": "leading_zeros", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11841": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of trailing zeros in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b0101000usize;\nassert_eq!(n.trailing_zeros(), 3);\n\nlet zero = 0usize;\nassert_eq!(zero.trailing_zeros(), 64);\n\nlet max = usize::MAX;\nassert_eq!(max.trailing_zeros(), 0);\n```", + "id": 11841, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "trailing_zeros", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11842": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of leading ones in the binary representation of `self`.\n\n# Examples\n\n```\nlet n = !(usize::MAX >> 2);\nassert_eq!(n.leading_ones(), 2);\n\nlet zero = 0usize;\nassert_eq!(zero.leading_ones(), 0);\n\nlet max = usize::MAX;\nassert_eq!(max.leading_ones(), 64);\n```", + "id": 11842, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "leading_ones", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11843": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"leading_trailing_ones\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the number of trailing ones in the binary representation\nof `self`.\n\n# Examples\n\n```\nlet n = 0b1010111usize;\nassert_eq!(n.trailing_ones(), 3);\n\nlet zero = 0usize;\nassert_eq!(zero.trailing_ones(), 0);\n\nlet max = usize::MAX;\nassert_eq!(max.trailing_ones(), 64);\n```", + "id": 11843, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "trailing_ones", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11844": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142326, is_soft: false}, feature: \"uint_bit_width\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the minimum number of bits required to represent `self`.\n\nThis method returns zero if `self` is zero.\n\n# Examples\n\n```\n#![feature(uint_bit_width)]\n\nassert_eq!(0_usize.bit_width(), 0);\nassert_eq!(0b111_usize.bit_width(), 3);\nassert_eq!(0b1110_usize.bit_width(), 4);\nassert_eq!(usize::MAX.bit_width(), 64);\n```", + "id": 11844, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "bit_width", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11845": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns `self` with only the most significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: usize = 0b_01100100;\n\nassert_eq!(n.isolate_highest_one(), 0b_01000000);\nassert_eq!(0_usize.isolate_highest_one(), 0);\n```", + "id": 11845, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "isolate_highest_one", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11846": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136909, is_soft: false},\nfeature: \"isolate_most_least_significant_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns `self` with only the least significant bit set, or `0` if\nthe input is `0`.\n\n# Examples\n\n```\n#![feature(isolate_most_least_significant_one)]\n\nlet n: usize = 0b_01100100;\n\nassert_eq!(n.isolate_lowest_one(), 0b_00000100);\nassert_eq!(0_usize.isolate_lowest_one(), 0);\n```", + "id": 11846, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "isolate_lowest_one", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11847": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the index of the highest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_usize.highest_one(), None);\nassert_eq!(0x1_usize.highest_one(), Some(0));\nassert_eq!(0x10_usize.highest_one(), Some(4));\nassert_eq!(0x1f_usize.highest_one(), Some(4));\n```", + "id": 11847, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "highest_one", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11848": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145203, is_soft: false}, feature: \"int_lowest_highest_one\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the index of the lowest bit set to one in `self`, or `None`\nif `self` is `0`.\n\n# Examples\n\n```\n#![feature(int_lowest_highest_one)]\n\nassert_eq!(0x0_usize.lowest_one(), None);\nassert_eq!(0x1_usize.lowest_one(), Some(0));\nassert_eq!(0x10_usize.lowest_one(), Some(4));\nassert_eq!(0x1f_usize.lowest_one(), Some(0));\n```", + "id": 11848, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "lowest_one", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11849": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"integer_sign_cast\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the bit pattern of `self` reinterpreted as a signed integer of the same size.\n\nThis produces the same result as an `as` cast, but ensures that the bit-width remains\nthe same.\n\n# Examples\n\n```\nlet n = usize::MAX;\n\nassert_eq!(n.cast_signed(), -1isize);\n```", + "id": 11849, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "isize" + } + } + } + }, + "links": {}, + "name": "cast_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11850": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Shifts the bits to the left by a specified amount, `n`,\nwrapping the truncated bits to the end of the resulting integer.\n\nPlease note this isn't the same operation as the `<<` shifting operator!\n\n# Examples\n\n```\nlet n = 0xaa00000000006e1usize;\nlet m = 0x6e10aa;\n\nassert_eq!(n.rotate_left(12), m);\n```", + "id": 11850, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "n", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "rotate_left", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11851": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Shifts the bits to the right by a specified amount, `n`,\nwrapping the truncated bits to the beginning of the resulting\ninteger.\n\nPlease note this isn't the same operation as the `>>` shifting operator!\n\n# Examples\n\n```\nlet n = 0x6e10aausize;\nlet m = 0xaa00000000006e1;\n\nassert_eq!(n.rotate_right(12), m);\n```", + "id": 11851, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "n", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "rotate_right", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11852": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Performs a left funnel shift (concatenates `self` with `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value left\nby `n`, and most significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `<<` shifting operator or\n[`rotate_left`](Self::rotate_left), although `a.funnel_shl(a, n)` is *equivalent*\nto `a.rotate_left(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0xaa00000000006e1usize;\nlet b = 0x2fe78e45983acd98usize;\nlet m = 0x6e12fe;\n\nassert_eq!(a.funnel_shl(b, 12), m);\n```", + "id": 11852, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ], + [ + "n", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "Self::rotate_left": 11850 + }, + "name": "funnel_shl", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11853": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145686, is_soft: false}, feature: \"funnel_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Performs a right funnel shift (concatenates `self` and `rhs`, with `self`\nmaking up the most significant half, then shifts the combined value right\nby `n`, and least significant half is extracted to produce the result).\n\nPlease note this isn't the same operation as the `>>` shifting operator or\n[`rotate_right`](Self::rotate_right), although `a.funnel_shr(a, n)` is *equivalent*\nto `a.rotate_right(n)`.\n\n# Panics\n\nIf `n` is greater than or equal to the number of bits in `self`\n\n# Examples\n\nBasic usage:\n\n```\n#![feature(funnel_shifts)]\nlet a = 0xaa00000000006e1usize;\nlet b = 0x2fe78e45983acd98usize;\nlet m = 0x6e12fe78e45983ac;\n\nassert_eq!(a.funnel_shr(b, 12), m);\n```", + "id": 11853, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ], + [ + "n", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "Self::rotate_right": 11851 + }, + "name": "funnel_shr", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11854": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Reverses the byte order of the integer.\n\n# Examples\n\n```\nlet n = 0x1234567890123456usize;\nlet m = n.swap_bytes();\n\nassert_eq!(m, 0x5634129078563412);\n```", + "id": 11854, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "swap_bytes", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11855": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"reverse_bits\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Reverses the order of bits in the integer. The least significant bit becomes the most significant bit,\n second least-significant bit becomes second most-significant bit, etc.\n\n# Examples\n\n```\nlet n = 0x1234567890123456usize;\nlet m = n.reverse_bits();\n\nassert_eq!(m, 0x6a2c48091e6a2c48);\nassert_eq!(0, 0usize.reverse_bits());\n```", + "id": 11855, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "reverse_bits", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11856": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts an integer from big endian to the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(usize::from_be(n), n)\n} else {\n assert_eq!(usize::from_be(n), n.swap_bytes())\n}\n```", + "id": 11856, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "x", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "from_be", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11857": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts an integer from little endian to the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(usize::from_le(n), n)\n} else {\n assert_eq!(usize::from_le(n), n.swap_bytes())\n}\n```", + "id": 11857, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "x", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "from_le", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11858": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts `self` to big endian from the target's endianness.\n\nOn big endian this is a no-op. On little endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Ausize;\n\nif cfg!(target_endian = \"big\") {\n assert_eq!(n.to_be(), n)\n} else {\n assert_eq!(n.to_be(), n.swap_bytes())\n}\n```", + "id": 11858, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "to_be", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11859": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts `self` to little endian from the target's endianness.\n\nOn little endian this is a no-op. On big endian the bytes are\nswapped.\n\n# Examples\n\n```\nlet n = 0x1Ausize;\n\nif cfg!(target_endian = \"little\") {\n assert_eq!(n.to_le(), n)\n} else {\n assert_eq!(n.to_le(), n.swap_bytes())\n}\n```", + "id": 11859, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "to_le", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1186": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"map_entry_keys\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Gets a reference to the key that would be used when inserting a value\nthrough the `VacantEntry`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\nassert_eq!(map.entry(\"poneyland\").key(), &\"poneyland\");\n```", + "id": 1186, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "K" + } + } + } + } + } + }, + "links": {}, + "name": "key", + "span": { + "begin": [ + 2698, + 5 + ], + "end": [ + 2700, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "11860": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer addition. Computes `self + rhs`, returning `None`\nif overflow occurred.\n\n# Examples\n\n```\nassert_eq!((usize::MAX - 2).checked_add(1), Some(usize::MAX - 1));\nassert_eq!((usize::MAX - 2).checked_add(3), None);\n```", + "id": 11860, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_add", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11861": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict integer addition. Computes `self + rhs`, panicking\nif overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!((usize::MAX - 2).strict_add(1), usize::MAX - 1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = (usize::MAX - 2).strict_add(3);\n```", + "id": 11861, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_add", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11862": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) addition. Computes `self + rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(200usize.wrapping_add(55), 255);\nassert_eq!(200usize.wrapping_add(usize::MAX), 199);\n```", + "id": 11862, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_add", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11863": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked integer addition. Computes `self + rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_add(y)` is semantically equivalent to calling\n`x.`[`checked_add`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_add`].\n\n# Safety\n\nThis results in undefined behavior when\n`self + rhs > usize::MAX` or `self + rhs < usize::MIN`,\ni.e. when [`checked_add`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_add`]: usize::checked_add\n[`wrapping_add`]: usize::wrapping_add", + "id": 11863, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "usize::checked_add": 11860, + "usize::wrapping_add": 11862 + }, + "name": "unchecked_add", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11864": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked addition with a signed integer. Computes `self + rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1usize.checked_add_signed(2), Some(3));\nassert_eq!(1usize.checked_add_signed(-2), None);\nassert_eq!((usize::MAX - 2).checked_add_signed(3), None);\n```", + "id": 11864, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_add_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11865": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict addition with a signed integer. Computes `self + rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1usize.strict_add_signed(2), 3);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1usize.strict_add_signed(-2);\n```\n\n```should_panic\nlet _ = (usize::MAX - 2).strict_add_signed(3);\n```", + "id": 11865, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_add_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11866": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer subtraction. Computes `self - rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1usize.checked_sub(1), Some(0));\nassert_eq!(0usize.checked_sub(1), None);\n```", + "id": 11866, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_sub", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11867": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict integer subtraction. Computes `self - rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(1usize.strict_sub(1), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0usize.strict_sub(1);\n```", + "id": 11867, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_sub", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11868": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) subtraction. Computes `self - rhs`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(100usize.wrapping_sub(100), 0);\nassert_eq!(100usize.wrapping_sub(usize::MAX), 101);\n```", + "id": 11868, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_sub", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11869": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked integer subtraction. Computes `self - rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_sub(y)` is semantically equivalent to calling\n`x.`[`checked_sub`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_sub`].\n\nIf you find yourself writing code like this:\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif foo >= bar {\n // SAFETY: just checked it will not overflow\n let diff = unsafe { foo.unchecked_sub(bar) };\n // ... use diff ...\n}\n```\n\nConsider changing it to\n\n```\n# let foo = 30_u32;\n# let bar = 20;\nif let Some(diff) = foo.checked_sub(bar) {\n // ... use diff ...\n}\n```\n\nAs that does exactly the same thing -- including telling the optimizer\nthat the subtraction cannot overflow -- but avoids needing `unsafe`.\n\n# Safety\n\nThis results in undefined behavior when\n`self - rhs > usize::MAX` or `self - rhs < usize::MIN`,\ni.e. when [`checked_sub`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_sub`]: usize::checked_sub\n[`wrapping_sub`]: usize::wrapping_sub", + "id": 11869, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "usize::checked_sub": 11866, + "usize::wrapping_sub": 11868 + }, + "name": "unchecked_sub", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1187": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"map_entry_recover_keys2\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Take ownership of the key.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\n\nif let Entry::Vacant(v) = map.entry(\"poneyland\") {\n v.into_key();\n}\n```", + "id": 1187, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "K" + } + } + } + }, + "links": {}, + "name": "into_key", + "span": { + "begin": [ + 2718, + 5 + ], + "end": [ + 2720, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "11870": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked subtraction with a signed integer. Computes `self - rhs`,\nreturning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(1usize.checked_sub_signed(2), None);\nassert_eq!(1usize.checked_sub_signed(-2), Some(3));\nassert_eq!((usize::MAX - 2).checked_sub_signed(-4), None);\n```", + "id": 11870, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_sub_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11871": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict subtraction with a signed integer. Computes `self - rhs`,\npanicking if overflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(3usize.strict_sub_signed(2), 1);\n```\n\nThe following panic because of overflow:\n\n```should_panic\nlet _ = 1usize.strict_sub_signed(2);\n```\n\n```should_panic\nlet _ = (usize::MAX).strict_sub_signed(-1);\n```", + "id": 11871, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_sub_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11872": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_signed_diff\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer subtraction. Computes `self - rhs` and checks if the result fits into an [`isize`], returning `None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(10usize.checked_signed_diff(2), Some(8));\nassert_eq!(2usize.checked_signed_diff(10), Some(-8));\nassert_eq!(usize::MAX.checked_signed_diff(isize::MAX as usize), None);\nassert_eq!((isize::MAX as usize).checked_signed_diff(usize::MAX), Some(isize::MIN));\nassert_eq!((isize::MAX as usize + 1).checked_signed_diff(0), None);\nassert_eq!(usize::MAX.checked_signed_diff(usize::MAX), Some(0));\n```", + "id": 11872, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "isize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": { + "`isize`": 11687 + }, + "name": "checked_signed_diff", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11873": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer multiplication. Computes `self * rhs`, returning\n`None` if overflow occurred.\n\n# Examples\n\n```\nassert_eq!(5usize.checked_mul(1), Some(5));\nassert_eq!(usize::MAX.checked_mul(2), None);\n```", + "id": 11873, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_mul", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11874": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict integer multiplication. Computes `self * rhs`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(5usize.strict_mul(1), 5);\n```\n\nThe following panics because of overflow:\n\n``` should_panic\nlet _ = usize::MAX.strict_mul(2);\n```", + "id": 11874, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_mul", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11875": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) multiplication. Computes `self *\nrhs`, wrapping around at the boundary of the type.\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u8` is used.\n\n```\nassert_eq!(10u8.wrapping_mul(12), 120);\nassert_eq!(25u8.wrapping_mul(12), 44);\n```", + "id": 11875, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_mul", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11876": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"unchecked_math\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked integer multiplication. Computes `self * rhs`, assuming overflow\ncannot occur.\n\nCalling `x.unchecked_mul(y)` is semantically equivalent to calling\n`x.`[`checked_mul`]`(y).`[`unwrap_unchecked`]`()`.\n\nIf you're just trying to avoid the panic in debug mode, then **do not**\nuse this. Instead, you're looking for [`wrapping_mul`].\n\n# Safety\n\nThis results in undefined behavior when\n`self * rhs > usize::MAX` or `self * rhs < usize::MIN`,\ni.e. when [`checked_mul`] would return `None`.\n\n[`unwrap_unchecked`]: option/enum.Option.html#method.unwrap_unchecked\n[`checked_mul`]: usize::checked_mul\n[`wrapping_mul`]: usize::wrapping_mul", + "id": 11876, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "usize::checked_mul": 11873, + "usize::wrapping_mul": 11875 + }, + "name": "unchecked_mul", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11877": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer division. Computes `self / rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128usize.checked_div(2), Some(64));\nassert_eq!(1usize.checked_div(0), None);\n```", + "id": 11877, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_div", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11878": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict integer division. Computes `self / rhs`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.strict_div(10), 10);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1usize).strict_div(0);\n```", + "id": 11878, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_div", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11879": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked Euclidean division. Computes `self.div_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(128usize.checked_div_euclid(2), Some(64));\nassert_eq!(1usize.checked_div_euclid(0), None);\n```", + "id": 11879, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_div_euclid", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1188": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Sets the value of the entry with the `VacantEntry`'s key,\nand returns a mutable reference to it.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\n\nif let Entry::Vacant(o) = map.entry(\"poneyland\") {\n o.insert(37);\n}\nassert_eq!(map[\"poneyland\"], 37);\n```", + "id": 1188, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "value", + { + "generic": "V" + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + } + } + }, + "links": {}, + "name": "insert", + "span": { + "begin": [ + 2740, + 5 + ], + "end": [ + 2742, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "11880": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict Euclidean division. Computes `self.div_euclid(rhs)`.\n\nStrict division on unsigned types is just normal division. There's no\nway overflow could ever happen. This function exists so that all\noperations are accounted for in the strict operations. Since, for the\npositive integers, all common definitions of division are equal, this\nis exactly equal to `self.strict_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.strict_div_euclid(10), 10);\n```\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = (1usize).strict_div_euclid(0);\n```", + "id": 11880, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_div_euclid", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11881": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer division without remainder. Computes `self / rhs`,\nreturning `None` if `rhs == 0` or if `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64usize.checked_exact_div(2), Some(32));\nassert_eq!(64usize.checked_exact_div(32), Some(2));\nassert_eq!(64usize.checked_exact_div(0), None);\nassert_eq!(65usize.checked_exact_div(2), None);\n```", + "id": 11881, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_exact_div", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11882": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer division without remainder. Computes `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs == 0` or `self % rhs != 0`.\n\n# Examples\n\n```\n#![feature(exact_div)]\nassert_eq!(64usize.exact_div(2), 32);\nassert_eq!(64usize.exact_div(32), 2);\n```\n\n```should_panic\n#![feature(exact_div)]\nlet _ = 65usize.exact_div(2);\n```", + "id": 11882, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "exact_div", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11883": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139911, is_soft: false}, feature: \"exact_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked integer division without remainder. Computes `self / rhs`.\n\n# Safety\n\nThis results in undefined behavior when `rhs == 0` or `self % rhs != 0`,\ni.e. when [`checked_exact_div`](Self::checked_exact_div) would return `None`.", + "id": 11883, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "Self::checked_exact_div": 11881 + }, + "name": "unchecked_exact_div", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11884": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_checked_int_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked integer remainder. Computes `self % rhs`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5usize.checked_rem(2), Some(1));\nassert_eq!(5usize.checked_rem(0), None);\n```", + "id": 11884, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_rem", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11885": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict integer remainder. Computes `self % rhs`.\n\nStrict remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.strict_rem(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5usize.strict_rem(0);\n```", + "id": 11885, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_rem", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11886": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked Euclidean modulo. Computes `self.rem_euclid(rhs)`, returning `None`\nif `rhs == 0`.\n\n# Examples\n\n```\nassert_eq!(5usize.checked_rem_euclid(2), Some(1));\nassert_eq!(5usize.checked_rem_euclid(0), None);\n```", + "id": 11886, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_rem_euclid", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11887": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nStrict modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way overflow could ever happen.\nThis function exists so that all operations are accounted for in the\nstrict operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.strict_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.strict_rem_euclid(10), 0);\n```\n\nThe following panics because of division by zero:\n\n```should_panic\nlet _ = 5usize.strict_rem_euclid(0);\n```", + "id": 11887, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_rem_euclid", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11888": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135758, is_soft: false}, feature: \"disjoint_bitor\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Same value as `self | other`, but UB if any bit position is set in both inputs.\n\nThis is a situational micro-optimization for places where you'd rather\nuse addition on some platforms and bitwise or on other platforms, based\non exactly which instructions combine better with whatever else you're\ndoing. Note that there's no reason to bother using this for places\nwhere it's clear from the operations involved that they can't overlap.\nFor example, if you're combining `u16`s into a `u32` with\n`((a as u32) << 16) | (b as u32)`, that's fine, as the backend will\nknow those sides of the `|` are disjoint without needing help.\n\n# Examples\n\n```\n#![feature(disjoint_bitor)]\n\n// SAFETY: `1` and `4` have no bits in common.\nunsafe {\n assert_eq!(1_usize.unchecked_disjoint_bitor(4), 5);\n}\n```\n\n# Safety\n\nRequires that `(self & other) == 0`, otherwise it's immediate UB.\n\nEquivalently, requires that `(self | other) == (self + other)`.", + "id": 11888, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "other", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "unchecked_disjoint_bitor", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11889": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nThis method might not be optimized owing to implementation details;\n`ilog2` can produce results more efficiently for base 2, and `ilog10`\ncan produce results more efficiently for base 10.\n\n# Panics\n\nThis function will panic if `self` is zero, or if `base` is less than 2.\n\n# Examples\n\n```\nassert_eq!(5usize.ilog(5), 1);\n```", + "id": 11889, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "base", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "ilog", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1189": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"entry_insert\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Sets the value of the entry with the `VacantEntry`'s key,\nand returns an `OccupiedEntry`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::collections::hash_map::Entry;\n\nlet mut map: HashMap<&str, u32> = HashMap::new();\n\nif let Entry::Vacant(o) = map.entry(\"poneyland\") {\n o.insert_entry(37);\n}\nassert_eq!(map[\"poneyland\"], 37);\n```", + "id": 1189, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "value", + { + "generic": "V" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1132, + "path": "OccupiedEntry" + } + } + } + } + }, + "links": {}, + "name": "insert_entry", + "span": { + "begin": [ + 2762, + 5 + ], + "end": [ + 2765, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "11890": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\n# Panics\n\nThis function will panic if `self` is zero.\n\n# Example\n\n```\nassert_eq!(10usize.ilog10(), 1);\n```", + "id": 11890, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "ilog10", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11891": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the logarithm of the number with respect to an arbitrary base,\nrounded down.\n\nReturns `None` if the number is zero, or if the base is not at least 2.\n\nThis method might not be optimized owing to implementation details;\n`checked_ilog2` can produce results more efficiently for base 2, and\n`checked_ilog10` can produce results more efficiently for base 10.\n\n# Examples\n\n```\nassert_eq!(5usize.checked_ilog(5), Some(1));\n```", + "id": 11891, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "base", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_ilog", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11892": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the base 2 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(2usize.checked_ilog2(), Some(1));\n```", + "id": 11892, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_ilog2", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11893": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"int_log\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the base 10 logarithm of the number, rounded down.\n\nReturns `None` if the number is zero.\n\n# Examples\n\n```\nassert_eq!(10usize.checked_ilog10(), Some(1));\n```", + "id": 11893, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_ilog10", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11894": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked negation. Computes `-self`, returning `None` unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Examples\n\n```\nassert_eq!(0usize.checked_neg(), Some(0));\nassert_eq!(1usize.checked_neg(), None);\n```", + "id": 11894, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_neg", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11895": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict negation. Computes `-self`, panicking unless `self ==\n0`.\n\nNote that negating any positive integer will overflow.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0usize.strict_neg(), 0);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 1usize.strict_neg();\n```", + "id": 11895, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_neg", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11896": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked shift left. Computes `self << rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x1usize.checked_shl(4), Some(0x10));\nassert_eq!(0x10usize.checked_shl(129), None);\nassert_eq!(0x10usize.checked_shl(63), Some(0));\n```", + "id": 11896, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_shl", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11897": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict shift left. Computes `self << rhs`, panicking if `rhs` is larger\nthan or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x1usize.strict_shl(4), 0x10);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10usize.strict_shl(129);\n```", + "id": 11897, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_shl", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11898": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked shift left. Computes `self << rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shl`] would return `None`.\n\n[`checked_shl`]: usize::checked_shl", + "id": 11898, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "usize::checked_shl": 11896 + }, + "name": "unchecked_shl", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11899": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unbounded shift left. Computes `self << rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x1usize.unbounded_shl(4), 0x10);\nassert_eq!(0x1usize.unbounded_shl(129), 0);\n```", + "id": 11899, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "unbounded_shl", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1190": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1190, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 1186, + 1187, + 1188, + 1189 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2684, + 1 + ], + "end": [ + 2766, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "11900": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Exact shift left. Computes `self << rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`usize::BITS`.\nOtherwise, returns `Some(self << rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x1usize.exact_shl(4), Some(0x10));\nassert_eq!(0x1usize.exact_shl(129), None);\n```", + "id": 11900, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "exact_shl", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11901": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked exact shift left. Computes `self << rhs`, assuming the operation can be\nlosslessly reversed `rhs` cannot be larger than\n`usize::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.leading_zeros() || rhs >=\nusize::BITS`\ni.e. when\n[`usize::exact_shl`]\nwould return `None`.", + "id": 11901, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "`usize::exact_shl`": 11900 + }, + "name": "unchecked_exact_shl", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11902": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_checked_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked shift right. Computes `self >> rhs`, returning `None`\nif `rhs` is larger than or equal to the number of bits in `self`.\n\n# Examples\n\n```\nassert_eq!(0x10usize.checked_shr(4), Some(0x1));\nassert_eq!(0x10usize.checked_shr(129), None);\n```", + "id": 11902, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_shr", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11903": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict shift right. Computes `self >> rhs`, panicking `rhs` is\nlarger than or equal to the number of bits in `self`.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(0x10usize.strict_shr(4), 0x1);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = 0x10usize.strict_shr(129);\n```", + "id": 11903, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_shr", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11904": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"niche optimization path\"),\nissue: 85122, is_soft: false}, feature: \"unchecked_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked shift right. Computes `self >> rhs`, assuming that\n`rhs` is less than the number of bits in `self`.\n\n# Safety\n\nThis results in undefined behavior if `rhs` is larger than\nor equal to the number of bits in `self`,\ni.e. when [`checked_shr`] would return `None`.\n\n[`checked_shr`]: usize::checked_shr", + "id": 11904, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "usize::checked_shr": 11902 + }, + "name": "unchecked_shr", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11905": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unbounded_shifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unbounded shift right. Computes `self >> rhs`, without bounding the value of `rhs`.\n\nIf `rhs` is larger or equal to the number of bits in `self`,\nthe entire value is shifted out, and `0` is returned.\n\n# Examples\n\n```\nassert_eq!(0x10usize.unbounded_shr(4), 0x1);\nassert_eq!(0x10usize.unbounded_shr(129), 0);\n```", + "id": 11905, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "unbounded_shr", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11906": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Exact shift right. Computes `self >> rhs` as long as it can be reversed losslessly.\n\nReturns `None` if any non-zero bits would be shifted out or if `rhs` >=\n`usize::BITS`.\nOtherwise, returns `Some(self >> rhs)`.\n\n# Examples\n\n```\n#![feature(exact_bitshifts)]\n\nassert_eq!(0x10usize.exact_shr(4), Some(0x1));\nassert_eq!(0x10usize.exact_shr(5), None);\n```", + "id": 11906, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "exact_shr", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11907": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144336, is_soft: false}, feature: \"exact_bitshifts\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Unchecked exact shift right. Computes `self >> rhs`, assuming the operation can be\nlosslessly reversed and `rhs` cannot be larger than\n`usize::BITS`.\n\n# Safety\n\nThis results in undefined behavior when `rhs > self.trailing_zeros() || rhs >=\nusize::BITS`\ni.e. when\n[`usize::exact_shr`]\nwould return `None`.", + "id": 11907, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "`usize::exact_shr`": 11906 + }, + "name": "unchecked_exact_shr", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11908": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checked exponentiation. Computes `self.pow(exp)`, returning `None` if\noverflow occurred.\n\n# Examples\n\n```\nassert_eq!(2usize.checked_pow(5), Some(32));\nassert_eq!(usize::MAX.checked_pow(2), None);\n```", + "id": 11908, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_pow", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11909": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"strict_overflow_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Strict exponentiation. Computes `self.pow(exp)`, panicking if\noverflow occurred.\n\n# Panics\n\n## Overflow behavior\n\nThis function will always panic on overflow, regardless of whether overflow checks are enabled.\n\n# Examples\n\n```\nassert_eq!(2usize.strict_pow(5), 32);\n```\n\nThe following panics because of overflow:\n\n```should_panic\nlet _ = usize::MAX.strict_pow(2);\n```", + "id": 11909, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "strict_pow", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1191": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1191, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11910": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Saturating integer addition. Computes `self + rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100usize.saturating_add(1), 101);\nassert_eq!(usize::MAX.saturating_add(127), usize::MAX);\n```", + "id": 11910, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "saturating_add", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11911": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Saturating addition with a signed integer. Computes `self + rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1usize.saturating_add_signed(2), 3);\nassert_eq!(1usize.saturating_add_signed(-2), 0);\nassert_eq!((usize::MAX - 2).saturating_add_signed(4), usize::MAX);\n```", + "id": 11911, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "saturating_add_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11912": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Saturating integer subtraction. Computes `self - rhs`, saturating\nat the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(100usize.saturating_sub(27), 73);\nassert_eq!(13usize.saturating_sub(127), 0);\n```", + "id": 11912, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "saturating_sub", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11913": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Saturating integer subtraction. Computes `self` - `rhs`, saturating at\nthe numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(1usize.saturating_sub_signed(2), 0);\nassert_eq!(1usize.saturating_sub_signed(-2), 3);\nassert_eq!((usize::MAX - 2).saturating_sub_signed(-4), usize::MAX);\n```", + "id": 11913, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "saturating_sub_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11914": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_saturating_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Saturating integer multiplication. Computes `self * rhs`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(2usize.saturating_mul(10), 20);\nassert_eq!((usize::MAX).saturating_mul(10), usize::MAX);\n```", + "id": 11914, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "saturating_mul", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11915": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"saturating_div\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Saturating integer division. Computes `self / rhs`, saturating at the\nnumeric bounds instead of overflowing.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5usize.saturating_div(2), 2);\n\n```", + "id": 11915, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "saturating_div", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11916": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Saturating integer exponentiation. Computes `self.pow(exp)`,\nsaturating at the numeric bounds instead of overflowing.\n\n# Examples\n\n```\nassert_eq!(4usize.saturating_pow(3), 64);\nassert_eq!(usize::MAX.saturating_pow(2), usize::MAX);\n```", + "id": 11916, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "saturating_pow", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11917": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) addition with a signed integer. Computes\n`self + rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1usize.wrapping_add_signed(2), 3);\nassert_eq!(1usize.wrapping_add_signed(-2), usize::MAX);\nassert_eq!((usize::MAX - 2).wrapping_add_signed(4), 1);\n```", + "id": 11917, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_add_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11918": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) subtraction with a signed integer. Computes\n`self - rhs`, wrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(1usize.wrapping_sub_signed(2), usize::MAX);\nassert_eq!(1usize.wrapping_sub_signed(-2), 3);\nassert_eq!((usize::MAX - 2).wrapping_sub_signed(-4), 1);\n```", + "id": 11918, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_sub_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11919": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) division. Computes `self / rhs`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.wrapping_div(10), 10);\n```", + "id": 11919, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_div", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1192": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1192, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11920": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping Euclidean division. Computes `self.div_euclid(rhs)`.\n\nWrapped division on unsigned types is just normal division. There's\nno way wrapping could ever happen. This function exists so that all\noperations are accounted for in the wrapping operations. Since, for\nthe positive integers, all common definitions of division are equal,\nthis is exactly equal to `self.wrapping_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.wrapping_div_euclid(10), 10);\n```", + "id": 11920, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_div_euclid", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11921": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_wrapping_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) remainder. Computes `self % rhs`.\n\nWrapped remainder calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.wrapping_rem(10), 0);\n```", + "id": 11921, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_rem", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11922": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping Euclidean modulo. Computes `self.rem_euclid(rhs)`.\n\nWrapped modulo calculation on unsigned types is just the regular\nremainder calculation. There's no way wrapping could ever happen.\nThis function exists so that all operations are accounted for in the\nwrapping operations. Since, for the positive integers, all common\ndefinitions of division are equal, this is exactly equal to\n`self.wrapping_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(100usize.wrapping_rem_euclid(10), 0);\n```", + "id": 11922, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_rem_euclid", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11923": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) negation. Computes `-self`,\nwrapping around at the boundary of the type.\n\nSince unsigned types do not have negative equivalents\nall applications of this function will wrap (except for `-0`).\nFor values smaller than the corresponding signed type's maximum\nthe result is the same as casting the corresponding signed value.\nAny larger values are equivalent to `MAX + 1 - (val - MAX - 1)` where\n`MAX` is the corresponding signed type's maximum.\n\n# Examples\n\n```\nassert_eq!(0_usize.wrapping_neg(), 0);\nassert_eq!(usize::MAX.wrapping_neg(), 1);\nassert_eq!(13_usize.wrapping_neg(), (!13) + 1);\nassert_eq!(42_usize.wrapping_neg(), !(42 - 1));\n```", + "id": 11923, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_neg", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11924": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Panic-free bitwise shift-left; yields `self << mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-left; the\nRHS of a wrapping shift-left is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_left`](Self::rotate_left) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(1usize.wrapping_shl(7), 128);\nassert_eq!(1usize.wrapping_shl(128), 1);\n```", + "id": 11924, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "Self::rotate_left": 11850 + }, + "name": "wrapping_shl", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11925": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"num_wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Panic-free bitwise shift-right; yields `self >> mask(rhs)`,\nwhere `mask` removes any high-order bits of `rhs` that\nwould cause the shift to exceed the bitwidth of the type.\n\nNote that this is *not* the same as a rotate-right; the\nRHS of a wrapping shift-right is restricted to the range\nof the type, rather than the bits shifted out of the LHS\nbeing returned to the other end. The primitive integer\ntypes all implement a [`rotate_right`](Self::rotate_right) function,\nwhich may be what you want instead.\n\n# Examples\n\n```\nassert_eq!(128usize.wrapping_shr(7), 1);\nassert_eq!(128usize.wrapping_shr(128), 128);\n```", + "id": 11925, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "Self::rotate_right": 11851 + }, + "name": "wrapping_shr", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11926": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Wrapping (modular) exponentiation. Computes `self.pow(exp)`,\nwrapping around at the boundary of the type.\n\n# Examples\n\n```\nassert_eq!(3usize.wrapping_pow(5), 243);\nassert_eq!(3u8.wrapping_pow(6), 217);\n```", + "id": 11926, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_pow", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11927": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates `self` + `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_add(2), (7, false));\nassert_eq!(usize::MAX.overflowing_add(1), (0, true));\n```", + "id": 11927, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_add", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11928": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"mixed_integer_ops\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates `self` + `rhs` with a signed `rhs`.\n\nReturns a tuple of the addition along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1usize.overflowing_add_signed(2), (3, false));\nassert_eq!(1usize.overflowing_add_signed(-2), (usize::MAX, true));\nassert_eq!((usize::MAX - 2).overflowing_add_signed(4), (1, true));\n```", + "id": 11928, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_add_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11929": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates `self` - `rhs`.\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_sub(2), (3, false));\nassert_eq!(0usize.overflowing_sub(1), (usize::MAX, true));\n```", + "id": 11929, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_sub", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1193": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1193, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11930": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"mixed_integer_ops_unsigned_sub\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates `self` - `rhs` with a signed `rhs`\n\nReturns a tuple of the subtraction along with a boolean indicating\nwhether an arithmetic overflow would occur. If an overflow would\nhave occurred then the wrapped value is returned.\n\n# Examples\n\n```\nassert_eq!(1usize.overflowing_sub_signed(2), (usize::MAX, true));\nassert_eq!(1usize.overflowing_sub_signed(-2), (3, false));\nassert_eq!((usize::MAX - 2).overflowing_sub_signed(-4), (1, true));\n```", + "id": 11930, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "isize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_sub_signed", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11931": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"int_abs_diff\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Computes the absolute difference between `self` and `other`.\n\n# Examples\n\n```\nassert_eq!(100usize.abs_diff(80), 20usize);\nassert_eq!(100usize.abs_diff(110), 10usize);\n```", + "id": 11931, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "other", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "abs_diff", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11932": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the \"full multiplication\" `self * rhs + carry`\nwithout the possibility to overflow.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you also need to add a value, then use [`Self::carrying_mul_add`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.carrying_mul(2, 0), (10, 0));\nassert_eq!(5u32.carrying_mul(2, 10), (20, 0));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));\nassert_eq!(usize::MAX.carrying_mul(usize::MAX, usize::MAX), (0, usize::MAX));\n```\n\nThis is the core operation needed for scalar multiplication when\nimplementing it for wider-than-native types.\n\n```\n#![feature(bigint_helper_methods)]\nfn scalar_mul_eq(little_endian_digits: &mut Vec, multiplicand: u16) {\n let mut carry = 0;\n for d in little_endian_digits.iter_mut() {\n (*d, carry) = d.carrying_mul(multiplicand, carry);\n }\n if carry != 0 {\n little_endian_digits.push(carry);\n }\n}\n\nlet mut v = vec![10, 20];\nscalar_mul_eq(&mut v, 3);\nassert_eq!(v, [30, 60]);\n\nassert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);\nlet mut v = vec![0x4321, 0x8765];\nscalar_mul_eq(&mut v, 0xFEED);\nassert_eq!(v, [0xE38D, 0xD159, 0x86D3]);\n```\n\nIf `carry` is zero, this is similar to [`overflowing_mul`](Self::overflowing_mul),\nexcept that it gives the value of the overflow instead of just whether one happened:\n\n```\n#![feature(bigint_helper_methods)]\nlet r = u8::carrying_mul(7, 13, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));\nlet r = u8::carrying_mul(13, 42, 0);\nassert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));\n```\n\nThe value of the first field in the returned tuple matches what you'd get\nby combining the [`wrapping_mul`](Self::wrapping_mul) and\n[`wrapping_add`](Self::wrapping_add) methods:\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(\n 789_u16.carrying_mul(456, 123).0,\n 789_u16.wrapping_mul(456).wrapping_add(123),\n);\n```", + "id": 11932, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ], + [ + "carry", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "usize" + } + ] + } + } + } + }, + "links": { + "Self::overflowing_mul": 11933, + "Self::wrapping_add": 11862, + "Self::wrapping_mul": 11875, + "`Self::carrying_mul_add`": 11934 + }, + "name": "carrying_mul", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11933": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the multiplication of `self` and `rhs`.\n\nReturns a tuple of the multiplication along with a boolean\nindicating whether an arithmetic overflow would occur. If an\noverflow would have occurred then the wrapped value is returned.\n\nIf you want the *value* of the overflow, rather than just *whether*\nan overflow occurred, see [`Self::carrying_mul`].\n\n# Examples\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\nassert_eq!(5u32.overflowing_mul(2), (10, false));\nassert_eq!(1_000_000_000u32.overflowing_mul(10), (1410065408, true));\n```", + "id": 11933, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": { + "`Self::carrying_mul`": 11932 + }, + "name": "overflowing_mul", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11934": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"unsigned_bigint_helpers\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the \"full multiplication\" `self * rhs + carry1 + carry2`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order.\n\nThis cannot overflow, as the double-width result has exactly enough\nspace for the largest possible result. This is equivalent to how, in\ndecimal, 9 × 9 + 9 + 9 = 81 + 18 = 99 = 9×10⁰ + 9×10¹ = 10² - 1.\n\nPerforms \"long multiplication\" which takes in an extra amount to add, and may return an\nadditional amount of overflow. This allows for chaining together multiple\nmultiplications to create \"big integers\" which represent larger values.\n\nIf you don't need the `add` part, then you can use [`Self::carrying_mul`] instead.\n\n# Examples\n\nPlease note that this example is shared between integer types,\nwhich explains why `u32` is used here.\n\n```\nassert_eq!(5u32.carrying_mul_add(2, 0, 0), (10, 0));\nassert_eq!(5u32.carrying_mul_add(2, 10, 10), (30, 0));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 0, 0), (1410065408, 2));\nassert_eq!(1_000_000_000u32.carrying_mul_add(10, 10, 10), (1410065428, 2));\nassert_eq!(usize::MAX.carrying_mul_add(usize::MAX, usize::MAX, usize::MAX), (usize::MAX, usize::MAX));\n```\n\nThis is the core per-digit operation for \"grade school\" O(n²) multiplication.\n\nPlease note that this example is shared between integer types,\nusing `u8` for simplicity of the demonstration.\n\n```\nfn quadratic_mul(a: [u8; N], b: [u8; N]) -> [u8; N] {\n let mut out = [0; N];\n for j in 0..N {\n let mut carry = 0;\n for i in 0..(N - j) {\n (out[j + i], carry) = u8::carrying_mul_add(a[i], b[j], out[j + i], carry);\n }\n }\n out\n}\n\n// -1 * -1 == 1\nassert_eq!(quadratic_mul([0xFF; 3], [0xFF; 3]), [1, 0, 0]);\n\nassert_eq!(u32::wrapping_mul(0x9e3779b9, 0x7f4a7c15), 0xcffc982d);\nassert_eq!(\n quadratic_mul(u32::to_le_bytes(0x9e3779b9), u32::to_le_bytes(0x7f4a7c15)),\n u32::to_le_bytes(0xcffc982d)\n);\n```", + "id": 11934, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ], + [ + "carry", + { + "primitive": "usize" + } + ], + [ + "add", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "usize" + } + ] + } + } + } + }, + "links": { + "`Self::carrying_mul`": 11932 + }, + "name": "carrying_mul_add", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11935": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 85532, is_soft: false}, feature: \"bigint_helper_methods\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the complete double-width product `self * rhs`.\n\nThis returns the low-order (wrapping) bits and the high-order (overflow) bits\nof the result as two separate values, in that order. As such,\n`a.widening_mul(b).0` produces the same result as `a.wrapping_mul(b)`.\n\nIf you also need to add a value and carry to the wide result, then you want\n[`Self::carrying_mul_add`] instead.\n\nIf you also need to add a carry to the wide result, then you want\n[`Self::carrying_mul`] instead.\n\nIf you just want to know *whether* the multiplication overflowed, then you\nwant [`Self::overflowing_mul`] instead.\n\n# Examples\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5_usize.widening_mul(7), (35, 0));\nassert_eq!(usize::MAX.widening_mul(usize::MAX), (1, usize::MAX - 1));\n```\n\nCompared to other `*_mul` methods:\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(usize::widening_mul(1 << 63, 6), (0, 3));\nassert_eq!(usize::overflowing_mul(1 << 63, 6), (0, true));\nassert_eq!(usize::wrapping_mul(1 << 63, 6), 0);\nassert_eq!(usize::checked_mul(1 << 63, 6), None);\n```\n\nPlease note that this example is shared among integer types, which is why `u32` is used.\n\n```\n#![feature(bigint_helper_methods)]\nassert_eq!(5u32.widening_mul(2), (10, 0));\nassert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));\n```", + "id": 11935, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "usize" + } + ] + } + } + } + }, + "links": { + "`Self::carrying_mul_add`": 11934, + "`Self::carrying_mul`": 11932, + "`Self::overflowing_mul`": 11933 + }, + "name": "widening_mul", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11936": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the divisor when `self` is divided by `rhs`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_div(2), (2, false));\n```", + "id": 11936, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_div", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11937": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the quotient of Euclidean division `self.div_euclid(rhs)`.\n\nReturns a tuple of the divisor along with a boolean indicating\nwhether an arithmetic overflow would occur. Note that for unsigned\nintegers overflow never occurs, so the second value is always\n`false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self.overflowing_div(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_div_euclid(2), (2, false));\n```", + "id": 11937, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_div_euclid", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11938": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_overflowing_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the remainder when `self` is divided by `rhs`.\n\nReturns a tuple of the remainder after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_rem(2), (1, false));\n```", + "id": 11938, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_rem", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11939": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the remainder `self.rem_euclid(rhs)` as if by Euclidean division.\n\nReturns a tuple of the modulo after dividing along with a boolean\nindicating whether an arithmetic overflow would occur. Note that for\nunsigned integers overflow never occurs, so the second value is\nalways `false`.\nSince, for the positive integers, all common\ndefinitions of division are equal, this operation\nis exactly equal to `self.overflowing_rem(rhs)`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(5usize.overflowing_rem_euclid(2), (1, false));\n```", + "id": 11939, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_rem_euclid", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1194": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1194, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11940": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Negates self in an overflowing fashion.\n\nReturns `!self + 1` using wrapping operations to return the value\nthat represents the negation of this unsigned value. Note that for\npositive unsigned values overflow always occurs, but negating 0 does\nnot overflow.\n\n# Examples\n\n```\nassert_eq!(0usize.overflowing_neg(), (0, false));\nassert_eq!(2usize.overflowing_neg(), (-2i32 as usize, true));\n```", + "id": 11940, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_neg", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11941": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Shifts self left by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x1usize.overflowing_shl(4), (0x10, false));\nassert_eq!(0x1usize.overflowing_shl(132), (0x10, true));\nassert_eq!(0x10usize.overflowing_shl(63), (0, false));\n```", + "id": 11941, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_shl", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11942": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_wrapping_math\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"wrapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Shifts self right by `rhs` bits.\n\nReturns a tuple of the shifted version of self along with a boolean\nindicating whether the shift value was larger than or equal to the\nnumber of bits. If the shift value is too large, then value is\nmasked (N-1) where N is the number of bits, and this value is then\nused to perform the shift.\n\n# Examples\n\n```\nassert_eq!(0x10usize.overflowing_shr(4), (0x1, false));\nassert_eq!(0x10usize.overflowing_shr(132), (0x1, true));\n```", + "id": 11942, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_shr", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11943": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"no_panic_pow\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\nReturns a tuple of the exponentiation along with a bool indicating\nwhether an overflow happened.\n\n# Examples\n\n```\nassert_eq!(3usize.overflowing_pow(5), (243, false));\nassert_eq!(3u8.overflowing_pow(6), (217, true));\n```", + "id": 11943, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "primitive": "bool" + } + ] + } + } + } + }, + "links": {}, + "name": "overflowing_pow", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11944": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Raises self to the power of `exp`, using exponentiation by squaring.\n\n# Examples\n\n```\nassert_eq!(2usize.pow(5), 32);\n```", + "id": 11944, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "exp", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "pow", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11945": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"isqrt\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the square root of the number, rounded down.\n\n# Examples\n\n```\nassert_eq!(10usize.isqrt(), 3);\n```", + "id": 11945, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "isqrt", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11946": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Performs Euclidean division.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self / rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7usize.div_euclid(4), 1); // or any other integer type\n```", + "id": 11946, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "div_euclid", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11947": { + "attrs": [ + { + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_euclidean_int_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the least remainder of `self (mod rhs)`.\n\nSince, for the positive integers, all common\ndefinitions of division are equal, this\nis exactly equal to `self % rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7usize.rem_euclid(4), 3); // or any other integer type\n```", + "id": 11947, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "rem_euclid", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11948": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88581, is_soft: false}, feature: \"int_roundings\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards negative infinity.\n\nThis is the same as performing `self / rhs` for all unsigned integers.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\n#![feature(int_roundings)]\nassert_eq!(7_usize.div_floor(4), 1);\n```", + "id": 11948, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "div_floor", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11949": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the quotient of `self` and `rhs`, rounding the result towards positive infinity.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n# Examples\n\n```\nassert_eq!(7_usize.div_ceil(4), 2);\n```", + "id": 11949, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "div_ceil", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1195": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1195, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11950": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`.\n\n# Panics\n\nThis function will panic if `rhs` is zero.\n\n## Overflow behavior\n\nOn overflow, this function will panic if overflow checks are enabled (default in debug\nmode) and wrap if overflow checks are disabled (default in release mode).\n\n# Examples\n\n```\nassert_eq!(16_usize.next_multiple_of(8), 16);\nassert_eq!(23_usize.next_multiple_of(8), 24);\n```", + "id": 11950, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "next_multiple_of", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11951": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"int_roundings1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the smallest value greater than or equal to `self` that\nis a multiple of `rhs`. Returns `None` if `rhs` is zero or the\noperation would result in overflow.\n\n# Examples\n\n```\nassert_eq!(16_usize.checked_next_multiple_of(8), Some(16));\nassert_eq!(23_usize.checked_next_multiple_of(8), Some(24));\nassert_eq!(1_usize.checked_next_multiple_of(0), None);\nassert_eq!(usize::MAX.checked_next_multiple_of(2), None);\n```", + "id": 11951, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_next_multiple_of", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11952": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"unsigned_is_multiple_of\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns `true` if `self` is an integer multiple of `rhs`, and false otherwise.\n\nThis function is equivalent to `self % rhs == 0`, except that it will not panic\nfor `rhs == 0`. Instead, `0.is_multiple_of(0) == true`, and for any non-zero `n`,\n`n.is_multiple_of(0) == false`.\n\n# Examples\n\n```\nassert!(6_usize.is_multiple_of(2));\nassert!(!5_usize.is_multiple_of(2));\n\nassert!(0_usize.is_multiple_of(0));\nassert!(!6_usize.is_multiple_of(0));\n```", + "id": 11952, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_multiple_of", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11953": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_is_power_of_two\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.\n\n# Examples\n\n```\nassert!(16usize.is_power_of_two());\nassert!(!10usize.is_power_of_two());\n```", + "id": 11953, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_power_of_two", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11954": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the smallest power of two greater than or equal to `self`.\n\nWhen return value overflows (i.e., `self > (1 << (N-1))` for type\n`uN`), it panics in debug mode and the return value is wrapped to 0 in\nrelease mode (the only situation in which this method can return 0).\n\n# Examples\n\n```\nassert_eq!(2usize.next_power_of_two(), 2);\nassert_eq!(3usize.next_power_of_two(), 4);\nassert_eq!(0usize.next_power_of_two(), 1);\n```", + "id": 11954, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "next_power_of_two", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11955": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"const_int_pow\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the smallest power of two greater than or equal to `self`. If\nthe next power of two is greater than the type's maximum value,\n`None` is returned, otherwise the power of two is wrapped in `Some`.\n\n# Examples\n\n```\nassert_eq!(2usize.checked_next_power_of_two(), Some(2));\nassert_eq!(3usize.checked_next_power_of_two(), Some(4));\nassert_eq!(usize::MAX.checked_next_power_of_two(), None);\n```", + "id": 11955, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "checked_next_power_of_two", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11956": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"needs decision on wrapping behavior\"),\nissue: 32463, is_soft: false}, feature: \"wrapping_next_power_of_two\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the smallest power of two greater than or equal to `n`. If\nthe next power of two is greater than the type's maximum value,\nthe return value is wrapped to `0`.\n\n# Examples\n\n```\n#![feature(wrapping_next_power_of_two)]\n\nassert_eq!(2usize.wrapping_next_power_of_two(), 2);\nassert_eq!(3usize.wrapping_next_power_of_two(), 4);\nassert_eq!(usize::MAX.wrapping_next_power_of_two(), 0);\n```", + "id": 11956, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "wrapping_next_power_of_two", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11957": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the memory representation of this integer as a byte array in\nbig-endian (network) byte order.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456usize.to_be_bytes();\nassert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\n```", + "id": 11957, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + } + } + }, + "links": {}, + "name": "to_be_bytes", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11958": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the memory representation of this integer as a byte array in\nlittle-endian byte order.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456usize.to_le_bytes();\nassert_eq!(bytes, [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\n```", + "id": 11958, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + } + } + }, + "links": {}, + "name": "to_le_bytes", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11959": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns the memory representation of this integer as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate,\ninstead.\n\n\n**Note**: This function returns an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n[`to_be_bytes`]: Self::to_be_bytes\n[`to_le_bytes`]: Self::to_le_bytes\n\n# Examples\n\n```\nlet bytes = 0x1234567890123456usize.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n } else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n }\n);\n```", + "id": 11959, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + } + } + }, + "links": { + "Self::to_be_bytes": 11957, + "Self::to_le_bytes": 11958 + }, + "name": "to_ne_bytes", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1196": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1196, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11960": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Creates a native endian integer value from its representation\nas a byte array in big endian.\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = usize::from_be_bytes([0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_be_usize(input: &mut &[u8]) -> usize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n usize::from_be_bytes(int_bytes.try_into().unwrap())\n}\n```", + "id": 11960, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "bytes", + { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "from_be_bytes", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11961": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Creates a native endian integer value from its representation\nas a byte array in little endian.\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = usize::from_le_bytes([0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]);\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_le_usize(input: &mut &[u8]) -> usize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n usize::from_le_bytes(int_bytes.try_into().unwrap())\n}\n```", + "id": 11961, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "bytes", + { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "from_le_bytes", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11962": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"const_int_conversion\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"int_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Creates a native endian integer value from its memory representation\nas a byte array in native endianness.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: Self::from_be_bytes\n[`from_le_bytes`]: Self::from_le_bytes\n\n\n**Note**: This function takes an array of length 2, 4 or 8 bytes\ndepending on the target pointer size.\n\n# Examples\n\n```\nlet value = usize::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]\n} else {\n [0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]\n});\nassert_eq!(value, 0x1234567890123456);\n```\n\nWhen starting from a slice rather than an array, fallible conversion APIs can be used:\n\n```\nfn read_ne_usize(input: &mut &[u8]) -> usize {\n let (int_bytes, rest) = input.split_at(size_of::());\n *input = rest;\n usize::from_ne_bytes(int_bytes.try_into().unwrap())\n}\n```", + "id": 11962, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "bytes", + { + "array": { + "len": "8", + "type": { + "primitive": "u8" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "Self::from_be_bytes": 11960, + "Self::from_le_bytes": 11961 + }, + "name": "from_ne_bytes", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11963": { + "attrs": [ + { + "other": "#[rustc_diagnostic_item = \"usize_legacy_fn_min_value\"]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 1, + "deprecation": { + "note": "replaced by the `MIN` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`usize::MIN`] instead.\n\nReturns the smallest value that can be represented by this integer type.", + "id": 11963, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "`usize::MIN`": 11834 + }, + "name": "min_value", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11964": { + "attrs": [ + { + "other": "#[rustc_diagnostic_item = \"usize_legacy_fn_max_value\"]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_max_value\", promotable: true}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 1, + "deprecation": { + "note": "replaced by the `MAX` associated constant on this type", + "since": "TBD" + }, + "docs": "New code should prefer to use\n[`usize::MAX`] instead.\n\nReturns the largest value that can be represented by this integer type.", + "id": 11964, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "`usize::MAX`": 11835 + }, + "name": "max_value", + "span": { + "begin": [ + 1269, + 5 + ], + "end": [ + 1290, + 6 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11965": { + "attrs": [ + { + "other": "#[doc(alias = \"average_floor\")]" + }, + { + "other": "#[doc(alias = \"average\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\n`midpoint(a, b)` is `(a + b) / 2` as if it were performed in a\nsufficiently-large unsigned integral type. This implies that the result is\nalways rounded towards zero and that no overflow will ever occur.\n\n# Examples\n\n```\nassert_eq!(0usize.midpoint(4), 2);\nassert_eq!(1usize.midpoint(4), 2);\n```", + "id": 11965, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "midpoint", + "span": { + "begin": [ + 1291, + 5 + ], + "end": [ + 1291, + 45 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11966": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 11966, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "usize" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11834, + 11835, + 11836, + 11837, + 11838, + 11840, + 11841, + 11842, + 11843, + 11844, + 11845, + 11846, + 11847, + 11848, + 11849, + 11850, + 11851, + 11852, + 11853, + 11854, + 11855, + 11856, + 11857, + 11858, + 11859, + 11860, + 11861, + 11863, + 11864, + 11865, + 11866, + 11867, + 11869, + 11870, + 11871, + 11872, + 11873, + 11874, + 11876, + 11877, + 11878, + 11879, + 11880, + 11881, + 11882, + 11883, + 11884, + 11885, + 11886, + 11887, + 11888, + 11889, + 11839, + 11890, + 11891, + 11892, + 11893, + 11894, + 11895, + 11896, + 11897, + 11898, + 11899, + 11900, + 11901, + 11902, + 11903, + 11904, + 11905, + 11906, + 11907, + 11908, + 11909, + 11910, + 11911, + 11912, + 11913, + 11914, + 11915, + 11916, + 11862, + 11917, + 11868, + 11918, + 11875, + 11919, + 11920, + 11921, + 11922, + 11923, + 11924, + 11925, + 11926, + 11927, + 11780, + 11928, + 11929, + 11784, + 11930, + 11931, + 11933, + 11935, + 11932, + 11934, + 11936, + 11937, + 11938, + 11939, + 11940, + 11941, + 11942, + 11943, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11952, + 11953, + 11954, + 11955, + 11956, + 11957, + 11958, + 11959, + 11960, + 11961, + 11962, + 11963, + 11964, + 11965 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1268, + 1 + ], + "end": [ + 1268, + 11 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "default" + }, + "11967": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"const_int_from_str\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Parses an integer from a string slice with digits in a given base.\n\nThe string is expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# See also\nIf the string to be parsed is in base 10 (decimal),\n[`from_str`] or [`str::parse`] can also be used.\n\n[`from_str`]: #method.from_str\n[`str::parse`]: primitive.str.html#method.parse\n\n# Examples\n\n```\nassert_eq!(usize::from_str_radix(\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\nassert!(usize::from_str_radix(\"1 \", 10).is_err());\n```", + "id": 11967, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "src", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ], + [ + "radix", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": {}, + "name": "from_str_radix", + "span": { + "begin": [ + 1667, + 1 + ], + "end": [ + 1667, + 58 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11968": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Parses an integer from an ASCII-byte slice with decimal digits.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(usize::from_ascii(b\"+10\"), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(usize::from_ascii(b\"1 \").is_err());\n```", + "id": 11968, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "src", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": {}, + "name": "from_ascii", + "span": { + "begin": [ + 1667, + 1 + ], + "end": [ + 1667, + 58 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "11969": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134821, is_soft: false}, feature: \"int_from_ascii\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Parses an integer from an ASCII-byte slice with digits in a given base.\n\nThe characters are expected to be an optional\n `+` \nsign followed by only digits. Leading and trailing non-digit characters (including\nwhitespace) represent an error. Underscores (which are accepted in Rust literals)\nalso represent an error.\n\nDigits are a subset of these characters, depending on `radix`:\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Panics\n\nThis function panics if `radix` is not in the range from 2 to 36.\n\n# Examples\n\n```\n#![feature(int_from_ascii)]\n\nassert_eq!(usize::from_ascii_radix(b\"A\", 16), Ok(10));\n```\nTrailing space returns error:\n```\n# #![feature(int_from_ascii)]\n#\nassert!(usize::from_ascii_radix(b\"1 \", 10).is_err());\n```", + "id": 11969, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "src", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ], + [ + "radix", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 4786, + "path": "ParseIntError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": {}, + "name": "from_ascii_radix", + "span": { + "begin": [ + 1667, + 1 + ], + "end": [ + 1667, + 58 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "public" + }, + "1197": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1197, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "11970": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 11970, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "usize" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11967, + 11968, + 11969 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1667, + 1 + ], + "end": [ + 1667, + 58 + ], + "filename": "checkouts/rust/library/core/src/num/mod.rs" + }, + "visibility": "default" + }, + "11971": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 138215, is_soft: false}, feature: \"int_format_into\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Allows users to write an integer (in signed decimal format) into a variable `buf` of\ntype [`NumBuffer`] that is passed by the caller by mutable reference.\n\n# Examples\n\n```\n#![feature(int_format_into)]\nuse core::fmt::NumBuffer;\n\nlet n = 0usize;\nlet mut buf = NumBuffer::new();\nassert_eq!(n.format_into(&mut buf), \"0\");\n\nlet n1 = 32usize;\nassert_eq!(n1.format_into(&mut buf), \"32\");\n\nlet n2 = usize :: MAX;\nassert_eq!(n2.format_into(&mut buf), usize :: MAX.to_string());\n```", + "id": 11971, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 10387, + "path": "NumBuffer" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } + } + }, + "links": { + "`NumBuffer`": 10387 + }, + "name": "format_into", + "span": { + "begin": [ + 599, + 5 + ], + "end": [ + 599, + 95 + ], + "filename": "checkouts/rust/library/core/src/fmt/num.rs" + }, + "visibility": "public" + }, + "11972": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 11972, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "usize" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11971 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 599, + 5 + ], + "end": [ + 599, + 95 + ], + "filename": "checkouts/rust/library/core/src/fmt/num.rs" + }, + "visibility": "default" + }, + "11973": { + "attrs": [ + { + "other": "#[rustc_doc_primitive = \"reference\"]" + }, + { + "other": "#[doc(alias = \"&\")]" + }, + { + "other": "#[doc(alias = \"&mut\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "References, `&T` and `&mut T`.\n\nA reference represents a borrow of some owned value. You can get one by using the `&` or `&mut`\noperators on a value, or by using a [`ref`](../std/keyword.ref.html) or\n[ref](../std/keyword.ref.html) [mut](../std/keyword.mut.html) pattern.\n\nFor those familiar with pointers, a reference is just a pointer that is assumed to be\naligned, not null, and pointing to memory containing a valid value of `T` - for example,\n&[bool] can only point to an allocation containing the integer values `1`\n([`true`](../std/keyword.true.html)) or `0` ([`false`](../std/keyword.false.html)), but\ncreating a &[bool] that points to an allocation containing\nthe value `3` causes undefined behavior.\nIn fact, [Option]\\<&T> has the same memory representation as a\nnullable but aligned pointer, and can be passed across FFI boundaries as such.\n\nIn most cases, references can be used much like the original value. Field access, method\ncalling, and indexing work the same (save for mutability rules, of course). In addition, the\ncomparison operators transparently defer to the referent's implementation, allowing references\nto be compared the same as owned values.\n\nReferences have a lifetime attached to them, which represents the scope for which the borrow is\nvalid. A lifetime is said to \"outlive\" another one if its representative scope is as long or\nlonger than the other. The `'static` lifetime is the longest lifetime, which represents the\ntotal life of the program. For example, string literals have a `'static` lifetime because the\ntext data is embedded into the binary of the program, rather than in an allocation that needs\nto be dynamically managed.\n\n`&mut T` references can be freely coerced into `&T` references with the same referent type, and\nreferences with longer lifetimes can be freely coerced into references with shorter ones.\n\nReference equality by address, instead of comparing the values pointed to, is accomplished via\nimplicit reference-pointer coercion and raw pointer equality via [`ptr::eq`], while\n[`PartialEq`] compares values.\n\n```\nuse std::ptr;\n\nlet five = 5;\nlet other_five = 5;\nlet five_ref = &five;\nlet same_five_ref = &five;\nlet other_five_ref = &other_five;\n\nassert!(five_ref == same_five_ref);\nassert!(five_ref == other_five_ref);\n\nassert!(ptr::eq(five_ref, same_five_ref));\nassert!(!ptr::eq(five_ref, other_five_ref));\n```\n\nFor more information on how to use references, see [the book's section on \"References and\nBorrowing\"][book-refs].\n\n[book-refs]: ../book/ch04-02-references-and-borrowing.html\n\n# Trait implementations\n\nThe following traits are implemented for all `&T`, regardless of the type of its referent:\n\n* [`Copy`]\n* [`Clone`] \\(Note that this will not defer to `T`'s `Clone` implementation if it exists!)\n* [`Deref`]\n* [`Borrow`]\n* [`fmt::Pointer`]\n\n[`Deref`]: ops::Deref\n[`Borrow`]: borrow::Borrow\n\n`&mut T` references get all of the above except `Copy` and `Clone` (to prevent creating\nmultiple simultaneous mutable borrows), plus the following, regardless of the type of its\nreferent:\n\n* [`DerefMut`]\n* [`BorrowMut`]\n\n[`DerefMut`]: ops::DerefMut\n[`BorrowMut`]: borrow::BorrowMut\n[bool]: prim@bool\n\nThe following traits are implemented on `&T` references if the underlying `T` also implements\nthat trait:\n\n* All the traits in [`std::fmt`] except [`fmt::Pointer`] (which is implemented regardless of the type of its referent) and [`fmt::Write`]\n* [`PartialOrd`]\n* [`Ord`]\n* [`PartialEq`]\n* [`Eq`]\n* [`AsRef`]\n* [`Fn`] \\(in addition, `&T` references get [`FnMut`] and [`FnOnce`] if `T: Fn`)\n* [`Hash`]\n* [`ToSocketAddrs`]\n* [`Sync`]\n\n[`std::fmt`]: fmt\n[`Hash`]: hash::Hash\n[`ToSocketAddrs`]: ../std/net/trait.ToSocketAddrs.html\n\n`&mut T` references get all of the above except `ToSocketAddrs`, plus the following, if `T`\nimplements that trait:\n\n* [`AsMut`]\n* [`FnMut`] \\(in addition, `&mut T` references get [`FnOnce`] if `T: FnMut`)\n* [`fmt::Write`]\n* [`Iterator`]\n* [`DoubleEndedIterator`]\n* [`ExactSizeIterator`]\n* [`FusedIterator`]\n* [`TrustedLen`]\n* [`Send`]\n* [`io::Write`]\n* [`Read`]\n* [`Seek`]\n* [`BufRead`]\n\n[`FusedIterator`]: iter::FusedIterator\n[`TrustedLen`]: iter::TrustedLen\n[`Seek`]: ../std/io/trait.Seek.html\n[`BufRead`]: ../std/io/trait.BufRead.html\n[`Read`]: ../std/io/trait.Read.html\n[`io::Write`]: ../std/io/trait.Write.html\n\nIn addition, `&T` references implement [`Send`] if and only if `T` implements [`Sync`].\n\nNote that due to method call deref coercion, simply calling a trait method will act like they\nwork on references as well as they do on owned values! The implementations described here are\nmeant for generic contexts, where the final type `T` is a type parameter or otherwise not\nlocally known.\n\n# Safety\n\nFor all types, `T: ?Sized`, and for all `t: &T` or `t: &mut T`, when such values cross an API\nboundary, the following invariants must generally be upheld:\n\n* `t` is non-null\n* `t` is aligned to `align_of_val(t)`\n* if `size_of_val(t) > 0`, then `t` is dereferenceable for `size_of_val(t)` many bytes\n\nIf `t` points at address `a`, being \"dereferenceable\" for N bytes means that the memory range\n`[a, a + N)` is all contained within a single [allocation].\n\nFor instance, this means that unsafe code in a safe function may assume these invariants are\nensured of arguments passed by the caller, and it may assume that these invariants are ensured\nof return values from any safe functions it calls.\n\nFor the other direction, things are more complicated: when unsafe code passes arguments\nto safe functions or returns values from safe functions, they generally must *at least*\nnot violate these invariants. The full requirements are stronger, as the reference generally\nmust point to data that is safe to use at type `T`.\n\nIt is not decided yet whether unsafe code may violate these invariants temporarily on internal\ndata. As a consequence, unsafe code which violates these invariants temporarily on internal data\nmay be unsound or become unsound in future versions of Rust depending on how this question is\ndecided.\n\n[allocation]: ptr#allocation", + "id": 11973, + "inner": { + "primitive": { + "impls": [ + 815, + 1308, + 1974, + 6597 + ], + "name": "reference" + } + }, + "links": { + "Option": 51, + "`AsMut`": 33, + "`AsRef`": 35, + "`Clone`": 97, + "`Copy`": 101, + "`DoubleEndedIterator`": 41, + "`Eq`": 111, + "`ExactSizeIterator`": 43, + "`FnMut`": 13, + "`FnOnce`": 15, + "`Fn`": 11, + "`Iterator`": 49, + "`Ord`": 117, + "`PartialEq`": 121, + "`PartialOrd`": 125, + "`Send`": 1, + "`Sync`": 5, + "`fmt::Pointer`": 9406, + "`fmt::Write`": 2021, + "`ptr::eq`": 9405, + "borrow::Borrow": 321, + "borrow::BorrowMut": 324, + "fmt": 6995, + "hash::Hash": 539, + "iter::FusedIterator": 878, + "iter::TrustedLen": 9407, + "ops::Deref": 1967, + "ops::DerefMut": 1987, + "prim@bool": 9404, + "ptr#allocation": 9366 + }, + "name": "reference", + "span": { + "begin": [ + 1660, + 1 + ], + "end": [ + 1660, + 16 + ], + "filename": "std/src/../../core/src/primitive_docs.rs" + }, + "visibility": "public" + }, + "11974": { + "attrs": [ + { + "other": "#[rustc_doc_primitive = \"fn\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Function pointers, like `fn(usize) -> bool`.\n\n*See also the traits [`Fn`], [`FnMut`], and [`FnOnce`].*\n\nFunction pointers are pointers that point to *code*, not data. They can be called\njust like functions. Like references, function pointers are, among other things, assumed to\nnot be null, so if you want to pass a function pointer over FFI and be able to accommodate null\npointers, make your type [`Option`](core::option#options-and-pointers-nullable-pointers)\nwith your required signature.\n\nNote that FFI requires additional care to ensure that the ABI for both sides of the call match.\nThe exact requirements are not currently documented.\n\n### Safety\n\nPlain function pointers are obtained by casting either plain functions, or closures that don't\ncapture an environment:\n\n```\nfn add_one(x: usize) -> usize {\n x + 1\n}\n\nlet ptr: fn(usize) -> usize = add_one;\nassert_eq!(ptr(5), 6);\n\nlet clos: fn(usize) -> usize = |x| x + 5;\nassert_eq!(clos(5), 10);\n```\n\nIn addition to varying based on their signature, function pointers come in two flavors: safe\nand unsafe. Plain `fn()` function pointers can only point to safe functions,\nwhile `unsafe fn()` function pointers can point to safe or unsafe functions.\n\n```\nfn add_one(x: usize) -> usize {\n x + 1\n}\n\nunsafe fn add_one_unsafely(x: usize) -> usize {\n x + 1\n}\n\nlet safe_ptr: fn(usize) -> usize = add_one;\n\n//ERROR: mismatched types: expected normal fn, found unsafe fn\n//let bad_ptr: fn(usize) -> usize = add_one_unsafely;\n\nlet unsafe_ptr: unsafe fn(usize) -> usize = add_one_unsafely;\nlet really_safe_ptr: unsafe fn(usize) -> usize = add_one;\n```\n\n### ABI\n\nOn top of that, function pointers can vary based on what ABI they use. This\nis achieved by adding the `extern` keyword before the type, followed by the\nABI in question. The default ABI is \"Rust\", i.e., `fn()` is the exact same\ntype as `extern \"Rust\" fn()`. A pointer to a function with C ABI would have\ntype `extern \"C\" fn()`.\n\n`extern \"ABI\" { ... }` blocks declare functions with ABI \"ABI\". The default\nhere is \"C\", i.e., functions declared in an `extern {...}` block have \"C\"\nABI.\n\nFor more information and a list of supported ABIs, see [the nomicon's\nsection on foreign calling conventions][nomicon-abi].\n\n[nomicon-abi]: ../nomicon/ffi.html#foreign-calling-conventions\n\n### Variadic functions\n\nExtern function declarations with the \"C\" or \"cdecl\" ABIs can also be *variadic*, allowing them\nto be called with a variable number of arguments. Normal Rust functions, even those with an\n`extern \"ABI\"`, cannot be variadic. For more information, see [the nomicon's section on\nvariadic functions][nomicon-variadic].\n\n[nomicon-variadic]: ../nomicon/ffi.html#variadic-functions\n\n### Creating function pointers\n\nWhen `bar` is the name of a function, then the expression `bar` is *not* a\nfunction pointer. Rather, it denotes a value of an unnameable type that\nuniquely identifies the function `bar`. The value is zero-sized because the\ntype already identifies the function. This has the advantage that \"calling\"\nthe value (it implements the `Fn*` traits) does not require dynamic\ndispatch.\n\nThis zero-sized type *coerces* to a regular function pointer. For example:\n\n```rust\nfn bar(x: i32) {}\n\nlet not_bar_ptr = bar; // `not_bar_ptr` is zero-sized, uniquely identifying `bar`\nassert_eq!(size_of_val(¬_bar_ptr), 0);\n\nlet bar_ptr: fn(i32) = not_bar_ptr; // force coercion to function pointer\nassert_eq!(size_of_val(&bar_ptr), size_of::());\n\nlet footgun = &bar; // this is a shared reference to the zero-sized type identifying `bar`\n```\n\nThe last line shows that `&bar` is not a function pointer either. Rather, it\nis a reference to the function-specific ZST. `&bar` is basically never what you\nwant when `bar` is a function.\n\n### Casting to and from integers\n\nYou can cast function pointers directly to integers:\n\n```rust\nlet fnptr: fn(i32) -> i32 = |x| x+2;\nlet fnptr_addr = fnptr as usize;\n```\n\nHowever, a direct cast back is not possible. You need to use `transmute`:\n\n```rust\n# #[cfg(not(miri))] { // FIXME: use strict provenance APIs once they are stable, then remove this `cfg`\n# let fnptr: fn(i32) -> i32 = |x| x+2;\n# let fnptr_addr = fnptr as usize;\nlet fnptr = fnptr_addr as *const ();\nlet fnptr: fn(i32) -> i32 = unsafe { std::mem::transmute(fnptr) };\nassert_eq!(fnptr(40), 42);\n# }\n```\n\nCrucially, we `as`-cast to a raw pointer before `transmute`ing to a function pointer.\nThis avoids an integer-to-pointer `transmute`, which can be problematic.\nTransmuting between raw pointers and function pointers (i.e., two pointer types) is fine.\n\nNote that all of this is not portable to platforms where function pointers and data pointers\nhave different sizes.\n\n### ABI compatibility\n\nGenerally, when a function is declared with one signature and called via a function pointer with\na different signature, the two signatures must be *ABI-compatible* or else calling the function\nvia that function pointer is Undefined Behavior. ABI compatibility is a lot stricter than merely\nhaving the same memory layout; for example, even if `i32` and `f32` have the same size and\nalignment, they might be passed in different registers and hence not be ABI-compatible.\n\nABI compatibility as a concern only arises in code that alters the type of function pointers,\nand code that imports functions via `extern` blocks. Altering the type of function pointers is\nwildly unsafe (as in, a lot more unsafe than even [`transmute_copy`][mem::transmute_copy]), and\nshould only occur in the most exceptional circumstances. Most Rust code just imports functions\nvia `use`. So, most likely you do not have to worry about ABI compatibility.\n\nBut assuming such circumstances, what are the rules? For this section, we are only considering\nthe ABI of direct Rust-to-Rust calls (with both definition and callsite visible to the\nRust compiler), not linking in general -- once functions are imported via `extern` blocks, there\nare more things to consider that we do not go into here. Note that this also applies to\npassing/calling functions across language boundaries via function pointers.\n\n**Nothing in this section should be taken as a guarantee for non-Rust-to-Rust calls, even with\ntypes from `core::ffi` or `libc`**.\n\nFor two signatures to be considered *ABI-compatible*, they must use a compatible ABI string,\nmust take the same number of arguments, and the individual argument types and the return types\nmust be ABI-compatible. The ABI string is declared via `extern \"ABI\" fn(...) -> ...`; note that\n`fn name(...) -> ...` implicitly uses the `\"Rust\"` ABI string and `extern fn name(...) -> ...`\nimplicitly uses the `\"C\"` ABI string.\n\nThe ABI strings are guaranteed to be compatible if they are the same, or if the caller ABI\nstring is `$X-unwind` and the callee ABI string is `$X`, where `$X` is one of the following:\n\"C\", \"aapcs\", \"fastcall\", \"stdcall\", \"system\", \"sysv64\", \"thiscall\", \"vectorcall\", \"win64\".\n\nThe following types are guaranteed to be ABI-compatible:\n\n- `*const T`, `*mut T`, `&T`, `&mut T`, `Box` (specifically, only `Box`), and\n `NonNull` are all ABI-compatible with each other for all `T`. They are also ABI-compatible\n with each other for _different_ `T` if they have the same metadata type (`::Metadata`).\n- `usize` is ABI-compatible with the `uN` integer type of the same size, and likewise `isize` is\n ABI-compatible with the `iN` integer type of the same size.\n- `char` is ABI-compatible with `u32`.\n- Any two `fn` (function pointer) types are ABI-compatible with each other if they have the same\n ABI string or the ABI string only differs in a trailing `-unwind`, independent of the rest of\n their signature. (This means you can pass `fn()` to a function expecting `fn(i32)`, and the\n call will be valid ABI-wise. The callee receives the result of transmuting the function pointer\n from `fn()` to `fn(i32)`; that transmutation is itself a well-defined operation, it's just\n almost certainly UB to later call that function pointer.)\n- Any two types with size 0 and alignment 1 are ABI-compatible.\n- A `repr(transparent)` type `T` is ABI-compatible with its unique non-trivial field, i.e., the\n unique field that doesn't have size 0 and alignment 1 (if there is such a field).\n- `i32` is ABI-compatible with `NonZero`, and similar for all other integer types.\n- If `T` is guaranteed to be subject to the [null pointer\n optimization](option/index.html#representation), and `E` is an enum satisfying the following\n requirements, then `T` and `E` are ABI-compatible. Such an enum `E` is called \"option-like\".\n - The enum `E` uses the [`Rust` representation], and is not modified by the `align` or\n `packed` representation modifiers.\n - The enum `E` has exactly two variants.\n - One variant has exactly one field, of type `T`.\n - All fields of the other variant are zero-sized with 1-byte alignment.\n\nFurthermore, ABI compatibility satisfies the following general properties:\n\n- Every type is ABI-compatible with itself.\n- If `T1` and `T2` are ABI-compatible and `T2` and `T3` are ABI-compatible, then so are `T1` and\n `T3` (i.e., ABI-compatibility is transitive).\n- If `T1` and `T2` are ABI-compatible, then so are `T2` and `T1` (i.e., ABI-compatibility is\n symmetric).\n\nMore signatures can be ABI-compatible on specific targets, but that should not be relied upon\nsince it is not portable and not a stable guarantee.\n\nNoteworthy cases of types *not* being ABI-compatible in general are:\n* `bool` vs `u8`, `i32` vs `u32`, `char` vs `i32`: on some targets, the calling conventions for\n these types differ in terms of what they guarantee for the remaining bits in the register that\n are not used by the value.\n* `i32` vs `f32` are not compatible either, as has already been mentioned above.\n* `struct Foo(u32)` and `u32` are not compatible (without `repr(transparent)`) since structs are\n aggregate types and often passed in a different way than primitives like `i32`.\n\nNote that these rules describe when two completely known types are ABI-compatible. When\nconsidering ABI compatibility of a type declared in another crate (including the standard\nlibrary), consider that any type that has a private field or the `#[non_exhaustive]` attribute\nmay change its layout as a non-breaking update unless documented otherwise -- so for instance,\neven if such a type is a 1-ZST or `repr(transparent)` right now, this might change with any\nlibrary version bump.\n\nIf the declared signature and the signature of the function pointer are ABI-compatible, then the\nfunction call behaves as if every argument was [`transmute`d][mem::transmute] from the\ntype in the function pointer to the type at the function declaration, and the return value is\n[`transmute`d][mem::transmute] from the type in the declaration to the type in the\npointer. All the usual caveats and concerns around transmutation apply; for instance, if the\nfunction expects a `NonZero` and the function pointer uses the ABI-compatible type\n`Option>`, and the value used for the argument is `None`, then this call is Undefined\nBehavior since transmuting `None::>` to `NonZero` violates the non-zero\nrequirement.\n\n### Trait implementations\n\nIn this documentation the shorthand `fn(T₁, T₂, …, Tₙ)` is used to represent non-variadic\nfunction pointers of varying length. Note that this is a convenience notation to avoid\nrepetitive documentation, not valid Rust syntax.\n\nThe following traits are implemented for function pointers with any number of arguments and\nany ABI.\n\n* [`PartialEq`]\n* [`Eq`]\n* [`PartialOrd`]\n* [`Ord`]\n* [`Hash`]\n* [`Pointer`]\n* [`Debug`]\n* [`Clone`]\n* [`Copy`]\n* [`Send`]\n* [`Sync`]\n* [`Unpin`]\n* [`UnwindSafe`]\n* [`RefUnwindSafe`]\n\nNote that while this type implements `PartialEq`, comparing function pointers is unreliable:\npointers to the same function can compare inequal (because functions are duplicated in multiple\ncodegen units), and pointers to *different* functions can compare equal (since identical\nfunctions can be deduplicated within a codegen unit).\n\n[`Hash`]: hash::Hash\n[`Pointer`]: fmt::Pointer\n[`UnwindSafe`]: panic::UnwindSafe\n[`RefUnwindSafe`]: panic::RefUnwindSafe\n[`Rust` representation]: \n\nIn addition, all *safe* function pointers implement [`Fn`], [`FnMut`], and [`FnOnce`], because\nthese traits are specially known to the compiler.", + "id": 11974, + "inner": { + "primitive": { + "impls": [ + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11985, + 11987, + 11989, + 11991, + 11992, + 11993, + 11994, + 11995, + 11996, + 11999, + 12001, + 12003, + 12012, + 12013 + ], + "name": "fn" + } + }, + "links": { + "`Clone`": 97, + "`Copy`": 101, + "`Debug`": 105, + "`Eq`": 111, + "`FnMut`": 13, + "`FnOnce`": 15, + "`Fn`": 11, + "`Ord`": 117, + "`PartialEq`": 121, + "`PartialOrd`": 125, + "`Send`": 1, + "`Sync`": 5, + "`Unpin`": 7, + "core::option#options-and-pointers-nullable-pointers": 193, + "fmt::Pointer": 9406, + "hash::Hash": 539, + "mem::transmute": 9410, + "mem::transmute_copy": 9409, + "panic::RefUnwindSafe": 318, + "panic::UnwindSafe": 316 + }, + "name": "fn", + "span": { + "begin": [ + 1932, + 1 + ], + "end": [ + 1932, + 15 + ], + "filename": "std/src/../../core/src/primitive_docs.rs" + }, + "visibility": "public" + }, + "11975": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11975, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Ret" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11976": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11976, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Ret" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11977": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11977, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Ret" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11978": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11978, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Ret" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11979": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11979, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Ret" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "1198": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1198, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "11980": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11980, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Ret" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "11981": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11981, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "11982": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11982, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "11983": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11983, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 422 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 424, + "path": "CloneToUninit" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 515, + 1 + ], + "end": [ + 515, + 42 + ], + "filename": "checkouts/rust/library/core/src/clone.rs" + }, + "visibility": "default" + }, + "11984": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 11984, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "F" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "eq", + "span": { + "begin": [ + 2561, + 5 + ], + "end": [ + 2561, + 39 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "11985": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11985, + "inner": { + "impl": { + "blanket_impl": { + "generic": "F" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 11986, + "path": "FnPtr" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11984 + ], + "provided_trait_methods": [ + "ne" + ], + "trait": { + "args": null, + "id": 121, + "path": "PartialEq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2559, + 1 + ], + "end": [ + 2559, + 31 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "11987": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11987, + "inner": { + "impl": { + "blanket_impl": { + "generic": "F" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 11986, + "path": "FnPtr" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" + ], + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2566, + 1 + ], + "end": [ + 2566, + 24 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "11988": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 11988, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "F" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 2007, + "path": "Ordering" + } + } + } + } + }, + "links": {}, + "name": "cmp", + "span": { + "begin": [ + 2578, + 5 + ], + "end": [ + 2578, + 44 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "11989": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11989, + "inner": { + "impl": { + "blanket_impl": { + "generic": "F" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 11986, + "path": "FnPtr" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11988 + ], + "provided_trait_methods": [ + "max", + "min", + "clamp" + ], + "trait": { + "args": null, + "id": 117, + "path": "Ord" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2576, + 1 + ], + "end": [ + 2576, + 25 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "1199": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1199, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "11990": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 11990, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "F" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 2007, + "path": "Ordering" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "partial_cmp", + "span": { + "begin": [ + 2571, + 5 + ], + "end": [ + 2571, + 60 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "11991": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11991, + "inner": { + "impl": { + "blanket_impl": { + "generic": "F" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 11986, + "path": "FnPtr" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11990 + ], + "provided_trait_methods": [ + "lt", + "le", + "gt", + "ge", + "__chaining_lt", + "__chaining_le", + "__chaining_gt", + "__chaining_ge" + ], + "trait": { + "args": null, + "id": 125, + "path": "PartialOrd" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2569, + 1 + ], + "end": [ + 2569, + 32 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "11992": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11992, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "11993": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11993, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 785, + 1 + ], + "end": [ + 785, + 28 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "11994": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11994, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 811, + 1 + ], + "end": [ + 813, + 27 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "11995": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11995, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "11996": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11996, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "11997": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 11997, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 11998, + "path": "Error" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 2599, + 5 + ], + "end": [ + 2599, + 61 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "11999": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 11999, + "inner": { + "impl": { + "blanket_impl": { + "generic": "F" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 11986, + "path": "FnPtr" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 11997 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2598, + 1 + ], + "end": [ + 2598, + 32 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "12": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 12, + "inner": { + "use": { + "id": 13, + "is_glob": false, + "name": "FnMut", + "source": "crate::ops::FnMut" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 16, + 32 + ], + "end": [ + 16, + 37 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "120": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 120, + "inner": { + "use": { + "id": 121, + "is_glob": false, + "name": "PartialEq", + "source": "core::prelude::v1::PartialEq" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 52, + 74 + ], + "end": [ + 52, + 83 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1200": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1200, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 785, + 1 + ], + "end": [ + 785, + 28 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "12000": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 12000, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 11998, + "path": "Error" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 2592, + 5 + ], + "end": [ + 2592, + 61 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "12001": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 12001, + "inner": { + "impl": { + "blanket_impl": { + "generic": "F" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 11986, + "path": "FnPtr" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 12000 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 9406, + "path": "Pointer" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2591, + 1 + ], + "end": [ + 2591, + 34 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "12002": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 12002, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "HH" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 537, + "path": "Hasher" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "HH" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "state", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "HH" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "hash", + "span": { + "begin": [ + 2585, + 5 + ], + "end": [ + 2585, + 53 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "12003": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 12003, + "inner": { + "impl": { + "blanket_impl": { + "generic": "F" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 11986, + "path": "FnPtr" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 12002 + ], + "provided_trait_methods": [ + "hash_slice" + ], + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2584, + 1 + ], + "end": [ + 2584, + 32 + ], + "filename": "checkouts/rust/library/core/src/ptr/mod.rs" + }, + "visibility": "default" + }, + "12004": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 12004, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 12005, + "path": "CharPredicateSearcher" + } + } + } + }, + "links": {}, + "name": "Searcher", + "span": { + "begin": [ + 946, + 5 + ], + "end": [ + 946, + 98 + ], + "filename": "checkouts/rust/library/core/src/str/pattern.rs" + }, + "visibility": "default" + }, + "12006": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 12006, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "haystack", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "primitive": "str" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 12005, + "path": "CharPredicateSearcher" + } + } + } + } + }, + "links": {}, + "name": "into_searcher", + "span": { + "begin": [ + 946, + 5 + ], + "end": [ + 946, + 98 + ], + "filename": "checkouts/rust/library/core/src/str/pattern.rs" + }, + "visibility": "default" + }, + "12007": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 12007, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "haystack", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "primitive": "str" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_contained_in", + "span": { + "begin": [ + 946, + 5 + ], + "end": [ + 946, + 98 + ], + "filename": "checkouts/rust/library/core/src/str/pattern.rs" + }, + "visibility": "default" + }, + "12008": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 12008, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "haystack", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "primitive": "str" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_prefix_of", + "span": { + "begin": [ + 946, + 5 + ], + "end": [ + 946, + 98 + ], + "filename": "checkouts/rust/library/core/src/str/pattern.rs" + }, + "visibility": "default" + }, + "12009": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 12009, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "haystack", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "primitive": "str" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "primitive": "str" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "strip_prefix_of", + "span": { + "begin": [ + 946, + 5 + ], + "end": [ + 946, + 98 + ], + "filename": "checkouts/rust/library/core/src/str/pattern.rs" + }, + "visibility": "default" + }, + "1201": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1201, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 811, + 1 + ], + "end": [ + 813, + 27 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "12010": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 12010, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 12005, + "path": "CharPredicateSearcher" + } + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "haystack", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "primitive": "str" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_suffix_of", + "span": { + "begin": [ + 946, + 5 + ], + "end": [ + 946, + 98 + ], + "filename": "checkouts/rust/library/core/src/str/pattern.rs" + }, + "visibility": "default" + }, + "12011": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 12011, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 12005, + "path": "CharPredicateSearcher" + } + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "haystack", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "primitive": "str" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "primitive": "str" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "strip_suffix_of", + "span": { + "begin": [ + 946, + 5 + ], + "end": [ + 946, + 98 + ], + "filename": "checkouts/rust/library/core/src/str/pattern.rs" + }, + "visibility": "default" + }, + "12012": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 12012, + "inner": { + "impl": { + "blanket_impl": { + "generic": "F" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "primitive": "char" + } + ], + "output": { + "primitive": "bool" + } + } + }, + "id": 13, + "path": "FnMut" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 12004, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011 + ], + "provided_trait_methods": [ + "is_contained_in", + "is_prefix_of", + "is_suffix_of", + "strip_prefix_of", + "strip_suffix_of", + "as_utf8_pattern" + ], + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 942, + 1 + ], + "end": [ + 944, + 28 + ], + "filename": "checkouts/rust/library/core/src/str/pattern.rs" + }, + "visibility": "default" + }, + "12013": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 12013, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Ret" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 85, + 1 + ], + "end": [ + 87, + 14 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "1202": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1202, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "1203": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1203, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "1204": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1204, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 1837, + 5 + ], + "end": [ + 1839, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "1205": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"debug_hash_map\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1205, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 1135, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, "path": "Debug" } } @@ -145359,7 +163328,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -145379,6 +163348,672 @@ }, "visibility": "default" }, + "12054": { + "attrs": [ + { + "other": "#[(not(restricted_std), stable(feature = \"rust1\", since = \"1.0.0\"))]" + }, + { + "other": "#[(restricted_std,\nunstable(feature = \"restricted_std\", issue = \"none\", reason =\n\"You have attempted to use a standard library built for a platform that it doesn't \\\n know how to support. Consider building it for a known environment, disabling it with \\\n `#![no_std]` or overriding this warning by enabling this feature.\"))]" + }, + { + "other": "#[rustc_preserve_ub_checks]" + }, + { + "other": "#[doc(html_playground_url = \"https://play.rust-lang.org/\",\nissue_tracker_base_url = \"https://github.com/rust-lang/rust/issues/\",\ntest(no_crate_inject, attr(deny(warnings))),\ntest(attr(allow(dead_code, deprecated, unused_variables, unused_mut))))]" + }, + { + "other": "#[doc(rust_logo)]" + }, + { + "other": "#[doc(auto_cfg(hide(no_global_oom_handling)))]" + }, + { + "other": "#[needs_panic_runtime]" + }, + { + "other": "#[warn(deprecated_in_future)]" + }, + { + "other": "#[warn(missing_docs)]" + }, + { + "other": "#[warn(missing_debug_implementations)]" + }, + { + "other": "#[allow(explicit_outlives_requirements)]" + }, + { + "other": "#[allow(unused_lifetimes)]" + }, + { + "other": "#[allow(internal_features)]" + }, + { + "other": "#[deny(fuzzy_provenance_casts)]" + }, + { + "other": "#[deny(unsafe_op_in_unsafe_fn)]" + }, + { + "other": "#[allow(rustdoc::redundant_explicit_links)]" + }, + { + "other": "#[warn(rustdoc::unescaped_backticks)]" + }, + { + "other": "#[deny(ffi_unwind_calls)]" + }, + { + "other": "#[allow(unused_features)]" + }, + { + "other": "#[(test,\nfeature(internal_output_capture, print_internals, update_panic_count, rt))]" + }, + { + "other": "#[(all(target_vendor = \"fortanix\", target_env = \"sgx\"),\nfeature(slice_index_methods, coerce_unsized, sgx_platform))]" + }, + { + "other": "#[(target_family = \"wasm\", feature(stdarch_wasm_atomic_wait))]" + }, + { + "other": "#[(target_arch = \"wasm64\", feature(simd_wasm64))]" + }, + { + "other": "#[feature(alloc_error_handler)]" + }, + { + "other": "#[feature(allocator_internals)]" + }, + { + "other": "#[feature(allow_internal_unsafe)]" + }, + { + "other": "#[feature(allow_internal_unstable)]" + }, + { + "other": "#[feature(asm_experimental_arch)]" + }, + { + "other": "#[feature(autodiff)]" + }, + { + "other": "#[feature(cfg_sanitizer_cfi)]" + }, + { + "other": "#[feature(cfg_target_thread_local)]" + }, + { + "other": "#[feature(cfi_encoding)]" + }, + { + "other": "#[feature(char_max_len)]" + }, + { + "other": "#[feature(const_trait_impl)]" + }, + { + "other": "#[feature(core_float_math)]" + }, + { + "other": "#[feature(decl_macro)]" + }, + { + "other": "#[feature(deprecated_suggestion)]" + }, + { + "other": "#[feature(doc_cfg)]" + }, + { + "other": "#[feature(doc_masked)]" + }, + { + "other": "#[feature(doc_notable_trait)]" + }, + { + "other": "#[feature(dropck_eyepatch)]" + }, + { + "other": "#[feature(f16)]" + }, + { + "other": "#[feature(f128)]" + }, + { + "other": "#[feature(ffi_const)]" + }, + { + "other": "#[feature(formatting_options)]" + }, + { + "other": "#[feature(funnel_shifts)]" + }, + { + "other": "#[feature(if_let_guard)]" + }, + { + "other": "#[feature(intra_doc_pointers)]" + }, + { + "other": "#[feature(iter_advance_by)]" + }, + { + "other": "#[feature(iter_next_chunk)]" + }, + { + "other": "#[feature(lang_items)]" + }, + { + "other": "#[feature(link_cfg)]" + }, + { + "other": "#[feature(linkage)]" + }, + { + "other": "#[feature(macro_metavar_expr_concat)]" + }, + { + "other": "#[feature(maybe_uninit_fill)]" + }, + { + "other": "#[feature(min_specialization)]" + }, + { + "other": "#[feature(must_not_suspend)]" + }, + { + "other": "#[feature(needs_panic_runtime)]" + }, + { + "other": "#[feature(negative_impls)]" + }, + { + "other": "#[feature(never_type)]" + }, + { + "other": "#[feature(optimize_attribute)]" + }, + { + "other": "#[feature(prelude_import)]" + }, + { + "other": "#[feature(rustc_attrs)]" + }, + { + "other": "#[feature(rustdoc_internals)]" + }, + { + "other": "#[feature(staged_api)]" + }, + { + "other": "#[feature(stmt_expr_attributes)]" + }, + { + "other": "#[feature(strict_provenance_lints)]" + }, + { + "other": "#[feature(thread_local)]" + }, + { + "other": "#[feature(try_blocks)]" + }, + { + "other": "#[feature(try_trait_v2)]" + }, + { + "other": "#[feature(type_alias_impl_trait)]" + }, + { + "other": "#[feature(bstr)]" + }, + { + "other": "#[feature(bstr_internals)]" + }, + { + "other": "#[feature(cast_maybe_uninit)]" + }, + { + "other": "#[feature(cfg_select)]" + }, + { + "other": "#[feature(char_internals)]" + }, + { + "other": "#[feature(clone_to_uninit)]" + }, + { + "other": "#[feature(const_convert)]" + }, + { + "other": "#[feature(const_mul_add)]" + }, + { + "other": "#[feature(core_intrinsics)]" + }, + { + "other": "#[feature(core_io_borrowed_buf)]" + }, + { + "other": "#[feature(drop_guard)]" + }, + { + "other": "#[feature(duration_constants)]" + }, + { + "other": "#[feature(error_generic_member_access)]" + }, + { + "other": "#[feature(error_iter)]" + }, + { + "other": "#[feature(exact_size_is_empty)]" + }, + { + "other": "#[feature(exclusive_wrapper)]" + }, + { + "other": "#[feature(extend_one)]" + }, + { + "other": "#[feature(float_algebraic)]" + }, + { + "other": "#[feature(float_gamma)]" + }, + { + "other": "#[feature(float_minimum_maximum)]" + }, + { + "other": "#[feature(fmt_internals)]" + }, + { + "other": "#[feature(fn_ptr_trait)]" + }, + { + "other": "#[feature(generic_atomic)]" + }, + { + "other": "#[feature(hasher_prefixfree_extras)]" + }, + { + "other": "#[feature(hashmap_internals)]" + }, + { + "other": "#[feature(hint_must_use)]" + }, + { + "other": "#[feature(int_from_ascii)]" + }, + { + "other": "#[feature(ip)]" + }, + { + "other": "#[feature(lazy_get)]" + }, + { + "other": "#[feature(maybe_uninit_slice)]" + }, + { + "other": "#[feature(maybe_uninit_write_slice)]" + }, + { + "other": "#[feature(panic_can_unwind)]" + }, + { + "other": "#[feature(panic_internals)]" + }, + { + "other": "#[feature(pin_coerce_unsized_trait)]" + }, + { + "other": "#[feature(pointer_is_aligned_to)]" + }, + { + "other": "#[feature(portable_simd)]" + }, + { + "other": "#[feature(ptr_as_uninit)]" + }, + { + "other": "#[feature(ptr_mask)]" + }, + { + "other": "#[feature(random)]" + }, + { + "other": "#[feature(slice_internals)]" + }, + { + "other": "#[feature(slice_ptr_get)]" + }, + { + "other": "#[feature(slice_range)]" + }, + { + "other": "#[feature(slice_split_once)]" + }, + { + "other": "#[feature(std_internals)]" + }, + { + "other": "#[feature(str_internals)]" + }, + { + "other": "#[feature(sync_unsafe_cell)]" + }, + { + "other": "#[feature(temporary_niche_types)]" + }, + { + "other": "#[feature(ub_checks)]" + }, + { + "other": "#[feature(used_with_arg)]" + }, + { + "other": "#[feature(alloc_layout_extra)]" + }, + { + "other": "#[feature(allocator_api)]" + }, + { + "other": "#[feature(get_mut_unchecked)]" + }, + { + "other": "#[feature(map_try_insert)]" + }, + { + "other": "#[feature(slice_concat_trait)]" + }, + { + "other": "#[feature(thin_box)]" + }, + { + "other": "#[feature(try_reserve_kind)]" + }, + { + "other": "#[feature(try_with_capacity)]" + }, + { + "other": "#[feature(unique_rc_arc)]" + }, + { + "other": "#[feature(vec_into_raw_parts)]" + }, + { + "other": "#[feature(wtf8_internals)]" + }, + { + "other": "#[feature(panic_unwind)]" + }, + { + "other": "#[feature(stdarch_internal)]" + }, + { + "other": "#[feature(assert_matches)]" + }, + { + "other": "#[feature(async_iterator)]" + }, + { + "other": "#[feature(c_variadic)]" + }, + { + "other": "#[feature(cfg_accessible)]" + }, + { + "other": "#[feature(cfg_eval)]" + }, + { + "other": "#[feature(concat_bytes)]" + }, + { + "other": "#[feature(const_format_args)]" + }, + { + "other": "#[feature(custom_test_frameworks)]" + }, + { + "other": "#[feature(edition_panic)]" + }, + { + "other": "#[feature(format_args_nl)]" + }, + { + "other": "#[feature(log_syntax)]" + }, + { + "other": "#[feature(test)]" + }, + { + "other": "#[feature(trace_macros)]" + }, + { + "other": "#[feature(io_const_error)]" + }, + { + "other": "#[default_lib_allocator]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = NoStd]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "# The Rust Standard Library\n\nThe Rust Standard Library is the foundation of portable Rust software, a\nset of minimal and battle-tested shared abstractions for the [broader Rust\necosystem][crates.io]. It offers core types, like [`Vec`] and\n[`Option`], library-defined [operations on language\nprimitives](#primitives), [standard macros](#macros), [I/O] and\n[multithreading], among [many other things][other].\n\n`std` is available to all Rust crates by default. Therefore, the\nstandard library can be accessed in [`use`] statements through the path\n`std`, as in [`use std::env`].\n\n# How to read this documentation\n\nIf you already know the name of what you are looking for, the fastest way to\nfind it is to use the search\nbutton at the top of the page.\n\nOtherwise, you may want to jump to one of these useful sections:\n\n* [`std::*` modules](#modules)\n* [Primitive types](#primitives)\n* [Standard macros](#macros)\n* [The Rust Prelude]\n\nIf this is your first time, the documentation for the standard library is\nwritten to be casually perused. Clicking on interesting things should\ngenerally lead you to interesting places. Still, there are important bits\nyou don't want to miss, so read on for a tour of the standard library and\nits documentation!\n\nOnce you are familiar with the contents of the standard library you may\nbegin to find the verbosity of the prose distracting. At this stage in your\ndevelopment you may want to press the\n\" Summary\"\nbutton near the top of the page to collapse it into a more skimmable view.\n\nWhile you are looking at the top of the page, also notice the\n\"Source\" link. Rust's API documentation comes with the source\ncode and you are encouraged to read it. The standard library source is\ngenerally high quality and a peek behind the curtains is\noften enlightening.\n\n# What is in the standard library documentation?\n\nFirst of all, The Rust Standard Library is divided into a number of focused\nmodules, [all listed further down this page](#modules). These modules are\nthe bedrock upon which all of Rust is forged, and they have mighty names\nlike [`std::slice`] and [`std::cmp`]. Modules' documentation typically\nincludes an overview of the module along with examples, and are a smart\nplace to start familiarizing yourself with the library.\n\nSecond, implicit methods on [primitive types] are documented here. This can\nbe a source of confusion for two reasons:\n\n1. While primitives are implemented by the compiler, the standard library\n implements methods directly on the primitive types (and it is the only\n library that does so), which are [documented in the section on\n primitives](#primitives).\n2. The standard library exports many modules *with the same name as\n primitive types*. These define additional items related to the primitive\n type, but not the all-important methods.\n\nSo for example there is a [page for the primitive type\n`char`](primitive::char) that lists all the methods that can be called on\ncharacters (very useful), and there is a [page for the module\n`std::char`](crate::char) that documents iterator and error types created by these methods\n(rarely useful).\n\nNote the documentation for the primitives [`str`] and [`[T]`][prim@slice] (also\ncalled 'slice'). Many method calls on [`String`] and [`Vec`] are actually\ncalls to methods on [`str`] and [`[T]`][prim@slice] respectively, via [deref\ncoercions][deref-coercions].\n\nThird, the standard library defines [The Rust Prelude], a small collection\nof items - mostly traits - that are imported into every module of every\ncrate. The traits in the prelude are pervasive, making the prelude\ndocumentation a good entry point to learning about the library.\n\nAnd finally, the standard library exports a number of standard macros, and\n[lists them on this page](#macros) (technically, not all of the standard\nmacros are defined by the standard library - some are defined by the\ncompiler - but they are documented here the same). Like the prelude, the\nstandard macros are imported by default into all crates.\n\n# Contributing changes to the documentation\n\nCheck out the Rust contribution guidelines [here](\nhttps://rustc-dev-guide.rust-lang.org/contributing.html#writing-documentation).\nThe source for this documentation can be found on\n[GitHub](https://github.com/rust-lang/rust) in the 'library/std/' directory.\nTo contribute changes, make sure you read the guidelines first, then submit\npull-requests for your suggested changes.\n\nContributions are appreciated! If you see a part of the docs that can be\nimproved, submit a PR, or chat with us first on [Zulip][rust-zulip]\n#docs.\n\n# A Tour of The Rust Standard Library\n\nThe rest of this crate documentation is dedicated to pointing out notable\nfeatures of The Rust Standard Library.\n\n## Containers and collections\n\nThe [`option`] and [`result`] modules define optional and error-handling\ntypes, [`Option`] and [`Result`]. The [`iter`] module defines\nRust's iterator trait, [`Iterator`], which works with the [`for`] loop to\naccess collections.\n\nThe standard library exposes three common ways to deal with contiguous\nregions of memory:\n\n* [`Vec`] - A heap-allocated *vector* that is resizable at runtime.\n* [`[T; N]`][prim@array] - An inline *array* with a fixed size at compile time.\n* [`[T]`][prim@slice] - A dynamically sized *slice* into any other kind of contiguous\n storage, whether heap-allocated or not.\n\nSlices can only be handled through some kind of *pointer*, and as such come\nin many flavors such as:\n\n* `&[T]` - *shared slice*\n* `&mut [T]` - *mutable slice*\n* [`Box<[T]>`][owned slice] - *owned slice*\n\n[`str`], a UTF-8 string slice, is a primitive type, and the standard library\ndefines many methods for it. Rust [`str`]s are typically accessed as\nimmutable references: `&str`. Use the owned [`String`] for building and\nmutating strings.\n\nFor converting to strings use the [`format!`] macro, and for converting from\nstrings use the [`FromStr`] trait.\n\nData may be shared by placing it in a reference-counted box or the [`Rc`]\ntype, and if further contained in a [`Cell`] or [`RefCell`], may be mutated\nas well as shared. Likewise, in a concurrent setting it is common to pair an\natomically-reference-counted box, [`Arc`], with a [`Mutex`] to get the same\neffect.\n\nThe [`collections`] module defines maps, sets, linked lists and other\ntypical collection types, including the common [`HashMap`].\n\n## Platform abstractions and I/O\n\nBesides basic data types, the standard library is largely concerned with\nabstracting over differences in common platforms, most notably Windows and\nUnix derivatives.\n\nCommon types of I/O, including [files], [TCP], and [UDP], are defined in\nthe [`io`], [`fs`], and [`net`] modules.\n\nThe [`thread`] module contains Rust's threading abstractions. [`sync`]\ncontains further primitive shared memory types, including [`atomic`], [`mpmc`] and\n[`mpsc`], which contains the channel types for message passing.\n\n# Use before and after `main()`\n\nMany parts of the standard library are expected to work before and after `main()`;\nbut this is not guaranteed or ensured by tests. It is recommended that you write your own tests\nand run them on each platform you wish to support.\nThis means that use of `std` before/after main, especially of features that interact with the\nOS or global state, is exempted from stability and portability guarantees and instead only\nprovided on a best-effort basis. Nevertheless bug reports are appreciated.\n\nOn the other hand `core` and `alloc` are most likely to work in such environments with\nthe caveat that any hookable behavior such as panics, oom handling or allocators will also\ndepend on the compatibility of the hooks.\n\nSome features may also behave differently outside main, e.g. stdio could become unbuffered,\nsome panics might turn into aborts, backtraces might not get symbolicated or similar.\n\nNon-exhaustive list of known limitations:\n\n- after-main use of thread-locals, which also affects additional features:\n - [`thread::current()`]\n- under UNIX, before main, file descriptors 0, 1, and 2 may be unchanged\n (they are guaranteed to be open during main,\n and are opened to /dev/null O_RDWR if they weren't open on program start)\n\n\n[I/O]: io\n[TCP]: net::TcpStream\n[The Rust Prelude]: prelude\n[UDP]: net::UdpSocket\n[`Arc`]: sync::Arc\n[owned slice]: boxed\n[`Cell`]: cell::Cell\n[`FromStr`]: str::FromStr\n[`HashMap`]: collections::HashMap\n[`Mutex`]: sync::Mutex\n[`Option`]: option::Option\n[`Rc`]: rc::Rc\n[`RefCell`]: cell::RefCell\n[`Result`]: result::Result\n[`Vec`]: vec::Vec\n[`atomic`]: sync::atomic\n[`for`]: ../book/ch03-05-control-flow.html#looping-through-a-collection-with-for\n[`str`]: prim@str\n[`mpmc`]: sync::mpmc\n[`mpsc`]: sync::mpsc\n[`std::cmp`]: cmp\n[`std::slice`]: mod@slice\n[`use std::env`]: env/index.html\n[`use`]: ../book/ch07-02-defining-modules-to-control-scope-and-privacy.html\n[crates.io]: https://crates.io\n[deref-coercions]: ../book/ch15-02-deref.html#implicit-deref-coercions-with-functions-and-methods\n[files]: fs::File\n[multithreading]: thread\n[other]: #what-is-in-the-standard-library-documentation\n[primitive types]: ../book/ch03-02-data-types.html\n[rust-zulip]: https://rust-lang.zulipchat.com/\n[array]: prim@array\n[slice]: prim@slice", + "id": 12054, + "inner": { + "module": { + "is_crate": true, + "is_stripped": false, + "items": [ + 164, + 230, + 234, + 266, + 298, + 607, + 656, + 726, + 731, + 733, + 1868, + 1909, + 1932, + 2422, + 3044, + 502, + 4771, + 4813, + 6231, + 6307, + 6310, + 6543, + 5395, + 7236, + 8715, + 8850, + 8895, + 8900, + 8905, + 8928, + 9305, + 9358, + 9458, + 9460, + 9462, + 9464, + 9465, + 9467, + 9468, + 9469, + 9470, + 9471, + 9472, + 9474, + 9476, + 9478, + 9480, + 9482, + 9484, + 9486, + 9488, + 9489, + 9490, + 9491, + 9492, + 9493, + 9495, + 9496, + 9498, + 9499, + 9501, + 9503, + 9505, + 9507, + 9509, + 9511, + 9513, + 9514, + 9515, + 9516, + 9517, + 9519, + 9520, + 9521, + 9522, + 9523, + 9525, + 9526, + 9528, + 9529, + 9531, + 9533, + 9535, + 9536, + 9538, + 9539, + 9540, + 9541, + 9542, + 9544, + 9545, + 9546, + 9547, + 9548, + 9549, + 9550, + 9551, + 9552, + 9553, + 9554, + 9555, + 9556, + 9558, + 9560, + 9562, + 9564, + 9566, + 9568, + 9570, + 9572, + 9573, + 493, + 9577, + 4418, + 9576, + 9578, + 9579, + 376, + 9404, + 9419, + 2395, + 9362, + 4834, + 9671, + 3998, + 1926, + 9373, + 233, + 265, + 297, + 229, + 4814, + 4818, + 3366, + 4824, + 4828, + 2396, + 2402, + 4822, + 4826, + 4830, + 11687, + 769, + 11973, + 11974 + ] + } + }, + "links": { + "`Iterator`": 49, + "`String`": 159, + "`collections`": 733, + "`format!`": 2326, + "`fs`": 2422, + "`io`": 502, + "`iter`": 192, + "`net`": 4771, + "`option`": 193, + "`result`": 194, + "`sync`": 8715, + "`thread::current()`": 371, + "`thread`": 607, + "boxed": 184, + "cell::Cell": 378, + "cell::RefCell": 380, + "cmp": 189, + "collections::HashMap": 738, + "crate::char": 9466, + "fs::File": 2411, + "io": 502, + "mod@slice": 203, + "net::TcpStream": 3049, + "net::UdpSocket": 4438, + "option::Option": 51, + "prelude": 164, + "prim@array": 9671, + "prim@slice": 3998, + "prim@str": 1926, + "primitive::char": 2395, + "rc::Rc": 2028, + "result::Result": 57, + "str::FromStr": 2070, + "sync::Arc": 606, + "sync::Mutex": 496, + "sync::atomic": 348, + "sync::mpmc": 7287, + "sync::mpsc": 494, + "thread": 607, + "vec::Vec": 163 + }, + "name": "std", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 767, + 29 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, "1206": { "attrs": [], "crate_id": 0, @@ -145786,7 +164421,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -145807,7 +164442,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -145999,7 +164634,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -146085,7 +164720,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -146106,7 +164741,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -146127,7 +164762,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -146215,7 +164850,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -146231,7 +164866,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -146240,12 +164875,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -146329,7 +164964,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -146345,7 +164980,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -146354,12 +164989,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -146464,7 +165099,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -146489,11 +165124,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -146556,7 +165191,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -146581,11 +165216,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -146673,7 +165308,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -146691,8 +165326,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -146708,7 +165343,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -146717,11 +165352,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -146827,8 +165462,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -146844,7 +165479,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -146853,11 +165488,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -146981,12 +165616,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -147100,7 +165735,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -147109,11 +165744,11 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" @@ -147171,7 +165806,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -147183,7 +165818,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -147256,7 +165891,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -147278,7 +165913,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -147302,7 +165937,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -147354,251 +165989,60 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1866, - 5 - ], - "end": [ - 1874, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "1225": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 82766, is_soft: false}, feature: \"map_try_insert\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1225, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 785, - "path": "OccupiedError" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 1224 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1865, - 1 - ], - "end": [ - 1875, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "1226": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1226, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "description", + "name": "fmt", "span": { "begin": [ - 1880, + 1866, 5 ], "end": [ - 1882, + 1874, 6 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "1227": { + "1225": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 82766, is_soft: false}, feature: \"map_try_insert\"}}]" @@ -147607,7 +166051,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1227, + "id": 1225, "inner": { "impl": { "blanket_impl": null, @@ -147657,8 +166101,8 @@ "modifier": "none", "trait": { "args": null, - "id": 346, - "path": "fmt::Debug" + "id": 344, + "path": "Debug" } } } @@ -147679,8 +166123,8 @@ "modifier": "none", "trait": { "args": null, - "id": 346, - "path": "fmt::Debug" + "id": 344, + "path": "Debug" } } } @@ -147698,8 +166142,131 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1226 + 1224 ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1865, + 1 + ], + "end": [ + 1875, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "1226": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 82766, is_soft: false}, feature: \"map_try_insert\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1226, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 785, + "path": "OccupiedError" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], "provided_trait_methods": [ "source", "type_id", @@ -147722,19 +166289,19 @@ 1 ], "end": [ - 1883, - 2 + 1878, + 66 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "1228": { + "1227": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1228, + "id": 1227, "inner": { "module": { "is_crate": false, @@ -147766,14 +166333,14 @@ 1 ], "end": [ - 2894, + 2889, 2 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "public" }, - "1230": { + "1229": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"HashSet\")]" @@ -147788,7 +166355,7 @@ "crate_id": 0, "deprecation": null, "docs": "A [hash set] implemented as a `HashMap` where the value is `()`.\n\nAs with the [`HashMap`] type, a `HashSet` requires that the elements\nimplement the [`Eq`] and [`Hash`] traits. This can frequently be achieved by\nusing `#[derive(PartialEq, Eq, Hash)]`. If you implement these yourself,\nit is important that the following property holds:\n\n```text\nk1 == k2 -> hash(k1) == hash(k2)\n```\n\nIn other words, if two keys are equal, their hashes must be equal.\nViolating this property is a logic error.\n\nIt is also a logic error for a key to be modified in such a way that the key's\nhash, as determined by the [`Hash`] trait, or its equality, as determined by\nthe [`Eq`] trait, changes while it is in the map. This is normally only\npossible through [`Cell`], [`RefCell`], global state, I/O, or unsafe code.\n\nThe behavior resulting from either logic error is not specified, but will\nbe encapsulated to the `HashSet` that observed the logic error and not\nresult in undefined behavior. This could include panics, incorrect results,\naborts, memory leaks, and non-termination.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n// Type inference lets us omit an explicit type signature (which\n// would be `HashSet` in this example).\nlet mut books = HashSet::new();\n\n// Add some books.\nbooks.insert(\"A Dance With Dragons\".to_string());\nbooks.insert(\"To Kill a Mockingbird\".to_string());\nbooks.insert(\"The Odyssey\".to_string());\nbooks.insert(\"The Great Gatsby\".to_string());\n\n// Check for a specific one.\nif !books.contains(\"The Winds of Winter\") {\n println!(\"We have {} books, but The Winds of Winter ain't one.\",\n books.len());\n}\n\n// Remove a book.\nbooks.remove(\"The Odyssey\");\n\n// Iterate over everything.\nfor book in &books {\n println!(\"{book}\");\n}\n```\n\nThe easiest way to use `HashSet` with a custom type is to derive\n[`Eq`] and [`Hash`]. We must also derive [`PartialEq`],\nwhich is required if [`Eq`] is derived.\n\n```\nuse std::collections::HashSet;\n#[derive(Hash, Eq, PartialEq, Debug)]\nstruct Viking {\n name: String,\n power: usize,\n}\n\nlet mut vikings = HashSet::new();\n\nvikings.insert(Viking { name: \"Einar\".to_string(), power: 9 });\nvikings.insert(Viking { name: \"Einar\".to_string(), power: 9 });\nvikings.insert(Viking { name: \"Olaf\".to_string(), power: 4 });\nvikings.insert(Viking { name: \"Harald\".to_string(), power: 8 });\n\n// Use derived implementation to print the vikings.\nfor x in &vikings {\n println!(\"{x:?}\");\n}\n```\n\nA `HashSet` with a known list of items can be initialized from an array:\n\n```\nuse std::collections::HashSet;\n\nlet viking_names = HashSet::from([\"Einar\", \"Olaf\", \"Harald\"]);\n```\n\n[hash set]: crate::collections#use-the-set-variant-of-any-of-these-maps-when\n[`HashMap`]: crate::collections::HashMap\n[`RefCell`]: crate::cell::RefCell\n[`Cell`]: crate::cell::Cell\n\n# Usage in `const` and `static`\n\nLike `HashMap`, `HashSet` is randomly seeded: each `HashSet` instance uses a different seed,\nwhich means that `HashSet::new` cannot be used in const context. To construct a `HashSet` in the\ninitializer of a `const` or `static` item, you will have to use a different hasher that does not\ninvolve a random seed, as demonstrated in the following example. **A `HashSet` constructed this\nway is not resistant against HashDoS!**\n\n```rust\nuse std::collections::HashSet;\nuse std::hash::{BuildHasherDefault, DefaultHasher};\nuse std::sync::Mutex;\n\nconst EMPTY_SET: HashSet> =\n HashSet::with_hasher(BuildHasherDefault::new());\nstatic SET: Mutex>> =\n Mutex::new(HashSet::with_hasher(BuildHasherDefault::new()));\n```", - "id": 1230, + "id": 1229, "inner": { "struct": { "generics": { @@ -147823,8 +166390,9 @@ "where_predicates": [] }, "impls": [ - 1233, - 1248, + 1232, + 1247, + 1273, 1274, 1275, 1276, @@ -147840,22 +166408,21 @@ 1286, 1287, 1288, - 1289, - 1292, + 1291, + 1293, 1294, - 1295, - 1297, - 1299, - 1301, - 1305, - 1309, - 1311, - 1314, - 1318, - 1322, - 1326, - 1331, - 1336 + 1296, + 1298, + 1300, + 1304, + 1308, + 1310, + 1313, + 1317, + 1321, + 1325, + 1330, + 1335 ], "kind": { "plain": { @@ -147866,9 +166433,9 @@ } }, "links": { - "`Eq`": 113, + "`Eq`": 111, "`Hash`": 539, - "`PartialEq`": 123, + "`PartialEq`": 121, "crate::cell::Cell": 378, "crate::cell::RefCell": 380, "crate::collections#use-the-set-variant-of-any-of-these-maps-when": 733, @@ -147888,7 +166455,7 @@ }, "visibility": "public" }, - "1231": { + "1230": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -147905,7 +166472,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an empty `HashSet`.\n\nThe hash set is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet set: HashSet = HashSet::new();\n```", - "id": 1231, + "id": 1230, "inner": { "function": { "generics": { @@ -147945,7 +166512,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -147967,7 +166534,7 @@ }, "visibility": "public" }, - "1232": { + "1231": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -147984,7 +166551,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an empty `HashSet` with at least the specified capacity.\n\nThe hash set will be able to hold at least `capacity` elements without\nreallocating. This method is allowed to allocate for more elements than\n`capacity`. If `capacity` is zero, the hash set will not allocate.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet set: HashSet = HashSet::with_capacity(10);\nassert!(set.capacity() >= 10);\n```", - "id": 1232, + "id": 1231, "inner": { "function": { "generics": { @@ -148031,7 +166598,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -148053,12 +166620,12 @@ }, "visibility": "public" }, - "1233": { + "1232": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1233, + "id": 1232, "inner": { "impl": { "blanket_impl": null, @@ -148085,7 +166652,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -148108,8 +166675,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1231, - 1232 + 1230, + 1231 ], "provided_trait_methods": [], "trait": null @@ -148130,7 +166697,7 @@ }, "visibility": "default" }, - "1234": { + "1233": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -148142,7 +166709,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of elements the set can hold without reallocating.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet set: HashSet = HashSet::with_capacity(100);\nassert!(set.capacity() >= 100);\n```", - "id": 1234, + "id": 1233, "inner": { "function": { "generics": { @@ -148193,7 +166760,7 @@ }, "visibility": "public" }, - "1235": { + "1234": { "attrs": [ { "other": "#[rustc_lint_query_instability]" @@ -148214,7 +166781,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator visiting all elements in arbitrary order.\nThe iterator element type is `&'a T`.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\");\nset.insert(\"b\");\n\n// Will print in an arbitrary order.\nfor x in set.iter() {\n println!(\"{x}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over set takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", - "id": 1235, + "id": 1234, "inner": { "function": { "generics": { @@ -148261,7 +166828,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } } @@ -148283,7 +166850,7 @@ }, "visibility": "public" }, - "1236": { + "1235": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"hashset_iter_ty\")]" @@ -148298,7 +166865,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over the items of a `HashSet`.\n\nThis `struct` is created by the [`iter`] method on [`HashSet`].\nSee its documentation for more.\n\n[`iter`]: HashSet::iter\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\n\nlet mut iter = a.iter();\n```", - "id": 1236, + "id": 1235, "inner": { "struct": { "generics": { @@ -148329,6 +166896,7 @@ "where_predicates": [] }, "impls": [ + 1337, 1338, 1339, 1340, @@ -148344,13 +166912,12 @@ 1350, 1351, 1352, - 1353, - 1355, - 1357, - 1363, + 1354, + 1356, + 1362, + 1364, 1365, - 1366, - 1368 + 1367 ], "kind": { "plain": { @@ -148361,8 +166928,8 @@ } }, "links": { - "HashSet::iter": 1235, - "`HashSet`": 1230 + "HashSet::iter": 1234, + "`HashSet`": 1229 }, "name": "Iter", "span": { @@ -148378,7 +166945,7 @@ }, "visibility": "public" }, - "1237": { + "1236": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -148390,7 +166957,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of elements in the set.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert_eq!(v.len(), 0);\nv.insert(1);\nassert_eq!(v.len(), 1);\n```", - "id": 1237, + "id": 1236, "inner": { "function": { "generics": { @@ -148441,7 +167008,7 @@ }, "visibility": "public" }, - "1238": { + "1237": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -148453,7 +167020,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the set contains no elements.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert!(v.is_empty());\nv.insert(1);\nassert!(!v.is_empty());\n```", - "id": 1238, + "id": 1237, "inner": { "function": { "generics": { @@ -148504,7 +167071,7 @@ }, "visibility": "public" }, - "1239": { + "1238": { "attrs": [ { "other": "#[rustc_lint_query_instability]" @@ -148519,7 +167086,7 @@ "crate_id": 0, "deprecation": null, "docs": "Clears the set, returning all elements as an iterator. Keeps the\nallocated memory for reuse.\n\nIf the returned iterator is dropped before being fully consumed, it\ndrops the remaining elements. The returned iterator keeps a mutable\nborrow on the set to optimize its implementation.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert!(!set.is_empty());\n\n// print 1, 2, 3 in an arbitrary order\nfor i in set.drain() {\n println!(\"{i}\");\n}\n\nassert!(set.is_empty());\n```", - "id": 1239, + "id": 1238, "inner": { "function": { "generics": { @@ -148566,7 +167133,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } } @@ -148588,43 +167155,7 @@ }, "visibility": "public" }, - "124": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 124, - "inner": { - "use": { - "id": 125, - "is_glob": false, - "name": "PartialEq", - "source": "core::prelude::v1::PartialEq" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 52, - 74 - ], - "end": [ - 52, - 83 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1240": { + "1239": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"hashset_drain_ty\")]" @@ -148639,7 +167170,7 @@ "crate_id": 0, "deprecation": null, "docs": "A draining iterator over the items of a `HashSet`.\n\nThis `struct` is created by the [`drain`] method on [`HashSet`].\nSee its documentation for more.\n\n[`drain`]: HashSet::drain\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut a = HashSet::from([1, 2, 3]);\n\nlet mut drain = a.drain();\n```", - "id": 1240, + "id": 1239, "inner": { "struct": { "generics": { @@ -148670,6 +167201,7 @@ "where_predicates": [] }, "impls": [ + 1397, 1398, 1399, 1400, @@ -148683,11 +167215,10 @@ 1408, 1409, 1410, - 1411, - 1416, + 1415, + 1417, 1418, - 1419, - 1421 + 1420 ], "kind": { "plain": { @@ -148698,8 +167229,8 @@ } }, "links": { - "HashSet::drain": 1239, - "`HashSet`": 1230 + "HashSet::drain": 1238, + "`HashSet`": 1229 }, "name": "Drain", "span": { @@ -148715,7 +167246,43 @@ }, "visibility": "public" }, - "1241": { + "124": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 124, + "inner": { + "use": { + "id": 125, + "is_glob": false, + "name": "PartialOrd", + "source": "core::prelude::v1::PartialOrd" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 52, + 85 + ], + "end": [ + 52, + 95 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1240": { "attrs": [ { "other": "#[rustc_lint_query_instability]" @@ -148727,7 +167294,7 @@ "crate_id": 0, "deprecation": null, "docs": "Retains only the elements specified by the predicate.\n\nIn other words, remove all elements `e` for which `f(&e)` returns `false`.\nThe elements are visited in unsorted (and unspecified) order.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3, 4, 5, 6]);\nset.retain(|&k| k % 2 == 0);\nassert_eq!(set, HashSet::from([2, 4, 6]));\n```\n\n# Performance\n\nIn the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", - "id": 1241, + "id": 1240, "inner": { "function": { "generics": { @@ -148832,7 +167399,7 @@ }, "visibility": "public" }, - "1242": { + "1241": { "attrs": [ { "other": "#[rustc_lint_query_instability]" @@ -148847,7 +167414,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an iterator which uses a closure to determine if an element should be removed.\n\nIf the closure returns `true`, the element is removed from the set and\nyielded. If the closure returns `false`, or panics, the element remains\nin the set and will not be yielded.\n\nIf the returned `ExtractIf` is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse [`retain`] with a negated predicate if you do not need the returned iterator.\n\n[`retain`]: HashSet::retain\n\n# Examples\n\nSplitting a set into even and odd values, reusing the original set:\n\n```\nuse std::collections::HashSet;\n\nlet mut set: HashSet = (0..8).collect();\nlet extracted: HashSet = set.extract_if(|v| v % 2 == 0).collect();\n\nlet mut evens = extracted.into_iter().collect::>();\nlet mut odds = set.into_iter().collect::>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);\n```", - "id": 1242, + "id": 1241, "inner": { "function": { "generics": { @@ -148955,7 +167522,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } } @@ -148963,7 +167530,7 @@ } }, "links": { - "HashSet::retain": 1241 + "HashSet::retain": 1240 }, "name": "extract_if", "span": { @@ -148979,7 +167546,7 @@ }, "visibility": "public" }, - "1243": { + "1242": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 88, patch: 0})}, feature: \"hash_extract_if\"}}]" @@ -148988,7 +167555,7 @@ "crate_id": 0, "deprecation": null, "docs": "A draining, filtering iterator over the items of a `HashSet`.\n\nThis `struct` is created by the [`extract_if`] method on [`HashSet`].\n\n[`extract_if`]: HashSet::extract_if\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut a = HashSet::from([1, 2, 3]);\n\nlet mut extract_ifed = a.extract_if(|v| v % 2 == 0);\n```", - "id": 1243, + "id": 1242, "inner": { "struct": { "generics": { @@ -149025,6 +167592,7 @@ "where_predicates": [] }, "impls": [ + 1422, 1423, 1424, 1425, @@ -149038,10 +167606,9 @@ 1433, 1434, 1435, - 1436, + 1439, 1440, - 1441, - 1443 + 1442 ], "kind": { "plain": { @@ -149052,8 +167619,8 @@ } }, "links": { - "HashSet::extract_if": 1242, - "`HashSet`": 1230 + "HashSet::extract_if": 1241, + "`HashSet`": 1229 }, "name": "ExtractIf", "span": { @@ -149069,7 +167636,7 @@ }, "visibility": "public" }, - "1244": { + "1243": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -149081,7 +167648,7 @@ "crate_id": 0, "deprecation": null, "docs": "Clears the set, removing all values.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut v = HashSet::new();\nv.insert(1);\nv.clear();\nassert!(v.is_empty());\n```", - "id": 1244, + "id": 1243, "inner": { "function": { "generics": { @@ -149130,7 +167697,7 @@ }, "visibility": "public" }, - "1245": { + "1244": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_collections_with_hasher\",\npromotable: false}}]" @@ -149145,7 +167712,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new empty hash set which will use the given hasher to hash\nkeys.\n\nThe hash set is also created with the default initial capacity.\n\nWarning: `hasher` is normally randomly generated, and\nis designed to allow `HashSet`s to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.\n\nThe `hash_builder` passed should implement the [`BuildHasher`] trait for\nthe `HashSet` to be useful, see its documentation for details.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_hasher(s);\nset.insert(2);\n```", - "id": 1245, + "id": 1244, "inner": { "function": { "generics": { @@ -149188,7 +167755,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -149212,7 +167779,7 @@ }, "visibility": "public" }, - "1246": { + "1245": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"hashmap_build_hasher\"}}]" @@ -149224,7 +167791,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an empty `HashSet` with at least the specified capacity, using\n`hasher` to hash the keys.\n\nThe hash set will be able to hold at least `capacity` elements without\nreallocating. This method is allowed to allocate for more elements than\n`capacity`. If `capacity` is zero, the hash set will not allocate.\n\nWarning: `hasher` is normally randomly generated, and\nis designed to allow `HashSet`s to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.\n\nThe `hash_builder` passed should implement the [`BuildHasher`] trait for\nthe `HashSet` to be useful, see its documentation for details.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_capacity_and_hasher(10, s);\nset.insert(1);\n```", - "id": 1246, + "id": 1245, "inner": { "function": { "generics": { @@ -149273,7 +167840,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -149297,7 +167864,7 @@ }, "visibility": "public" }, - "1247": { + "1246": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"hashmap_public_hasher\"}}]" @@ -149309,7 +167876,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a reference to the set's [`BuildHasher`].\n\n# Examples\n\n```\nuse std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet set: HashSet = HashSet::with_hasher(hasher);\nlet hasher: &RandomState = set.hasher();\n```", - "id": 1247, + "id": 1246, "inner": { "function": { "generics": { @@ -149368,12 +167935,12 @@ }, "visibility": "public" }, - "1248": { + "1247": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1248, + "id": 1247, "inner": { "impl": { "blanket_impl": null, @@ -149396,7 +167963,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -149429,17 +167996,17 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1233, 1234, - 1235, + 1236, 1237, 1238, - 1239, - 1242, 1241, + 1240, + 1243, 1244, 1245, - 1246, - 1247 + 1246 ], "provided_trait_methods": [], "trait": null @@ -149460,7 +168027,7 @@ }, "visibility": "default" }, - "1249": { + "1248": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -149472,7 +168039,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reserves capacity for at least `additional` more elements to be inserted\nin the `HashSet`. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling `reserve`,\ncapacity will be greater than or equal to `self.len() + additional`.\nDoes nothing if capacity is already sufficient.\n\n# Panics\n\nPanics if the new allocation size overflows `usize`.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet mut set: HashSet = HashSet::new();\nset.reserve(10);\nassert!(set.capacity() >= 10);\n```", - "id": 1249, + "id": 1248, "inner": { "function": { "generics": { @@ -149527,7 +168094,7 @@ }, "visibility": "public" }, - "1250": { + "1249": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"try_reserve\"}}]" @@ -149539,7 +168106,7 @@ "crate_id": 0, "deprecation": null, "docs": "Tries to reserve capacity for at least `additional` more elements to be inserted\nin the `HashSet`. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling `try_reserve`,\ncapacity will be greater than or equal to `self.len() + additional` if\nit returns `Ok(())`.\nDoes nothing if capacity is already sufficient.\n\n# Errors\n\nIf the capacity overflows, or the allocator reports a failure, then an error\nis returned.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet mut set: HashSet = HashSet::new();\nset.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");\n```", - "id": 1250, + "id": 1249, "inner": { "function": { "generics": { @@ -149620,7 +168187,7 @@ }, "visibility": "public" }, - "1251": { + "1250": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -149632,7 +168199,7 @@ "crate_id": 0, "deprecation": null, "docs": "Shrinks the capacity of the set as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to_fit();\nassert!(set.capacity() >= 2);\n```", - "id": 1251, + "id": 1250, "inner": { "function": { "generics": { @@ -149681,7 +168248,7 @@ }, "visibility": "public" }, - "1252": { + "1251": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"shrink_to\"}}]" @@ -149693,7 +168260,7 @@ "crate_id": 0, "deprecation": null, "docs": "Shrinks the capacity of the set with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.\n\nIf the current capacity is less than the lower limit, this is a no-op.\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to(10);\nassert!(set.capacity() >= 10);\nset.shrink_to(0);\nassert!(set.capacity() >= 2);\n```", - "id": 1252, + "id": 1251, "inner": { "function": { "generics": { @@ -149748,7 +168315,7 @@ }, "visibility": "public" }, - "1253": { + "1252": { "attrs": [ { "other": "#[rustc_lint_query_instability]" @@ -149763,7 +168330,7 @@ "crate_id": 0, "deprecation": null, "docs": "Visits the values representing the difference,\ni.e., the values that are in `self` but not in `other`.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Can be seen as `a - b`.\nfor x in a.difference(&b) {\n println!(\"{x}\"); // Print 1\n}\n\nlet diff: HashSet<_> = a.difference(&b).collect();\nassert_eq!(diff, [1].iter().collect());\n\n// Note that difference is not symmetric,\n// and `b - a` means something else:\nlet diff: HashSet<_> = b.difference(&a).collect();\nassert_eq!(diff, [4].iter().collect());\n```", - "id": 1253, + "id": 1252, "inner": { "function": { "generics": { @@ -149825,7 +168392,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -149856,7 +168423,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } } @@ -149878,7 +168445,7 @@ }, "visibility": "public" }, - "1254": { + "1253": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -149892,7 +168459,7 @@ "crate_id": 0, "deprecation": null, "docs": "A lazy iterator producing elements in the difference of `HashSet`s.\n\nThis `struct` is created by the [`difference`] method on [`HashSet`].\nSee its documentation for more.\n\n[`difference`]: HashSet::difference\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\nlet mut difference = a.difference(&b);\n```", - "id": 1254, + "id": 1253, "inner": { "struct": { "generics": { @@ -149937,6 +168504,7 @@ "where_predicates": [] }, "impls": [ + 1473, 1474, 1475, 1476, @@ -149952,11 +168520,10 @@ 1486, 1487, 1488, - 1489, - 1491, + 1490, + 1495, 1496, - 1497, - 1499 + 1498 ], "kind": { "plain": { @@ -149967,8 +168534,8 @@ } }, "links": { - "HashSet::difference": 1253, - "`HashSet`": 1230 + "HashSet::difference": 1252, + "`HashSet`": 1229 }, "name": "Difference", "span": { @@ -149984,7 +168551,7 @@ }, "visibility": "public" }, - "1255": { + "1254": { "attrs": [ { "other": "#[rustc_lint_query_instability]" @@ -149999,7 +168566,7 @@ "crate_id": 0, "deprecation": null, "docs": "Visits the values representing the symmetric difference,\ni.e., the values that are in `self` or in `other` but not in both.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 4 in arbitrary order.\nfor x in a.symmetric_difference(&b) {\n println!(\"{x}\");\n}\n\nlet diff1: HashSet<_> = a.symmetric_difference(&b).collect();\nlet diff2: HashSet<_> = b.symmetric_difference(&a).collect();\n\nassert_eq!(diff1, diff2);\nassert_eq!(diff1, [1, 4].iter().collect());\n```", - "id": 1255, + "id": 1254, "inner": { "function": { "generics": { @@ -150061,7 +168628,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -150092,7 +168659,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } } @@ -150114,7 +168681,7 @@ }, "visibility": "public" }, - "1256": { + "1255": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -150128,7 +168695,7 @@ "crate_id": 0, "deprecation": null, "docs": "A lazy iterator producing elements in the symmetric difference of `HashSet`s.\n\nThis `struct` is created by the [`symmetric_difference`] method on\n[`HashSet`]. See its documentation for more.\n\n[`symmetric_difference`]: HashSet::symmetric_difference\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\nlet mut intersection = a.symmetric_difference(&b);\n```", - "id": 1256, + "id": 1255, "inner": { "struct": { "generics": { @@ -150173,6 +168740,7 @@ "where_predicates": [] }, "impls": [ + 1500, 1501, 1502, 1503, @@ -150188,11 +168756,10 @@ 1513, 1514, 1515, - 1516, - 1518, + 1517, + 1522, 1523, - 1524, - 1526 + 1525 ], "kind": { "plain": { @@ -150203,8 +168770,8 @@ } }, "links": { - "HashSet::symmetric_difference": 1255, - "`HashSet`": 1230 + "HashSet::symmetric_difference": 1254, + "`HashSet`": 1229 }, "name": "SymmetricDifference", "span": { @@ -150220,7 +168787,7 @@ }, "visibility": "public" }, - "1257": { + "1256": { "attrs": [ { "other": "#[rustc_lint_query_instability]" @@ -150235,7 +168802,7 @@ "crate_id": 0, "deprecation": null, "docs": "Visits the values representing the intersection,\ni.e., the values that are both in `self` and `other`.\n\nWhen an equal element is present in `self` and `other`\nthen the resulting `Intersection` may yield references to\none or the other. This can be relevant if `T` contains fields which\nare not compared by its `Eq` implementation, and may hold different\nvalue between the two equal copies of `T` in the two sets.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 2, 3 in arbitrary order.\nfor x in a.intersection(&b) {\n println!(\"{x}\");\n}\n\nlet intersection: HashSet<_> = a.intersection(&b).collect();\nassert_eq!(intersection, [2, 3].iter().collect());\n```", - "id": 1257, + "id": 1256, "inner": { "function": { "generics": { @@ -150297,7 +168864,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -150328,7 +168895,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } } @@ -150350,7 +168917,7 @@ }, "visibility": "public" }, - "1258": { + "1257": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -150364,7 +168931,7 @@ "crate_id": 0, "deprecation": null, "docs": "A lazy iterator producing elements in the intersection of `HashSet`s.\n\nThis `struct` is created by the [`intersection`] method on [`HashSet`].\nSee its documentation for more.\n\n[`intersection`]: HashSet::intersection\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\nlet mut intersection = a.intersection(&b);\n```", - "id": 1258, + "id": 1257, "inner": { "struct": { "generics": { @@ -150409,6 +168976,7 @@ "where_predicates": [] }, "impls": [ + 1445, 1446, 1447, 1448, @@ -150424,11 +168992,10 @@ 1458, 1459, 1460, - 1461, - 1463, - 1468, - 1470, - 1471 + 1462, + 1467, + 1469, + 1470 ], "kind": { "plain": { @@ -150439,8 +169006,8 @@ } }, "links": { - "HashSet::intersection": 1257, - "`HashSet`": 1230 + "HashSet::intersection": 1256, + "`HashSet`": 1229 }, "name": "Intersection", "span": { @@ -150456,7 +169023,7 @@ }, "visibility": "public" }, - "1259": { + "1258": { "attrs": [ { "other": "#[rustc_lint_query_instability]" @@ -150471,7 +169038,7 @@ "crate_id": 0, "deprecation": null, "docs": "Visits the values representing the union,\ni.e., all the values in `self` or `other`, without duplicates.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 2, 3, 4 in arbitrary order.\nfor x in a.union(&b) {\n println!(\"{x}\");\n}\n\nlet union: HashSet<_> = a.union(&b).collect();\nassert_eq!(union, [1, 2, 3, 4].iter().collect());\n```", - "id": 1259, + "id": 1258, "inner": { "function": { "generics": { @@ -150533,7 +169100,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -150564,7 +169131,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } } @@ -150586,43 +169153,7 @@ }, "visibility": "public" }, - "126": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 126, - "inner": { - "use": { - "id": 127, - "is_glob": false, - "name": "PartialOrd", - "source": "core::prelude::v1::PartialOrd" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 52, - 85 - ], - "end": [ - 52, - 95 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1260": { + "1259": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -150636,7 +169167,7 @@ "crate_id": 0, "deprecation": null, "docs": "A lazy iterator producing elements in the union of `HashSet`s.\n\nThis `struct` is created by the [`union`] method on [`HashSet`].\nSee its documentation for more.\n\n[`union`]: HashSet::union\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\nlet mut union_iter = a.union(&b);\n```", - "id": 1260, + "id": 1259, "inner": { "struct": { "generics": { @@ -150681,6 +169212,7 @@ "where_predicates": [] }, "impls": [ + 1527, 1528, 1529, 1530, @@ -150696,11 +169228,10 @@ 1540, 1541, 1542, - 1543, + 1544, 1545, - 1546, - 1548, - 1554 + 1547, + 1553 ], "kind": { "plain": { @@ -150711,8 +169242,8 @@ } }, "links": { - "HashSet::union": 1259, - "`HashSet`": 1230 + "HashSet::union": 1258, + "`HashSet`": 1229 }, "name": "Union", "span": { @@ -150728,7 +169259,43 @@ }, "visibility": "public" }, - "1261": { + "126": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 126, + "inner": { + "use": { + "id": 127, + "is_glob": false, + "name": "PartialOrd", + "source": "core::prelude::v1::PartialOrd" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 52, + 85 + ], + "end": [ + 52, + 95 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1260": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -150740,7 +169307,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the set contains a value.\n\nThe value may be any borrowed form of the set's value type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe value type.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.contains(&1), true);\nassert_eq!(set.contains(&4), false);\n```", - "id": 1261, + "id": 1260, "inner": { "function": { "generics": { @@ -150777,7 +169344,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -150809,7 +169376,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -150876,7 +169443,7 @@ } }, "links": { - "`Eq`": 113, + "`Eq`": 111, "`Hash`": 539 }, "name": "contains", @@ -150893,7 +169460,7 @@ }, "visibility": "public" }, - "1262": { + "1261": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"set_recovery\"}}]" @@ -150905,7 +169472,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a reference to the value in the set, if any, that is equal to the given value.\n\nThe value may be any borrowed form of the set's value type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe value type.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.get(&2), Some(&2));\nassert_eq!(set.get(&4), None);\n```", - "id": 1262, + "id": 1261, "inner": { "function": { "generics": { @@ -150942,7 +169509,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -150974,7 +169541,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -151062,7 +169629,7 @@ } }, "links": { - "`Eq`": 113, + "`Eq`": 111, "`Hash`": 539 }, "name": "get", @@ -151079,7 +169646,7 @@ }, "visibility": "public" }, - "1263": { + "1262": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -151091,7 +169658,7 @@ "crate_id": 0, "deprecation": null, "docs": "Inserts the given `value` into the set if it is not present, then\nreturns a reference to the value in the set.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.len(), 3);\nassert_eq!(set.get_or_insert(2), &2);\nassert_eq!(set.get_or_insert(100), &100);\nassert_eq!(set.len(), 4); // 100 was inserted\n```", - "id": 1263, + "id": 1262, "inner": { "function": { "generics": { @@ -151154,7 +169721,7 @@ }, "visibility": "public" }, - "1264": { + "1263": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -151166,7 +169733,7 @@ "crate_id": 0, "deprecation": null, "docs": "Inserts a value computed from `f` into the set if the given `value` is\nnot present, then returns a reference to the value in the set.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet = [\"cat\", \"dog\", \"horse\"]\n .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n let value = set.get_or_insert_with(pet, str::to_owned);\n assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted\n```", - "id": 1264, + "id": 1263, "inner": { "function": { "generics": { @@ -151213,7 +169780,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -151245,7 +169812,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -151376,7 +169943,7 @@ }, "visibility": "public" }, - "1265": { + "1264": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -151388,7 +169955,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the given value's corresponding entry in the set for in-place manipulation.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\nuse std::collections::hash_set::Entry::*;\n\nlet mut singles = HashSet::new();\nlet mut dupes = HashSet::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n if let Vacant(dupe_entry) = dupes.entry(ch) {\n // We haven't already seen a duplicate, so\n // check if we've at least seen it once.\n match singles.entry(ch) {\n Vacant(single_entry) => {\n // We found a new character for the first time.\n single_entry.insert()\n }\n Occupied(single_entry) => {\n // We've already seen this once, \"move\" it to dupes.\n single_entry.remove();\n dupe_entry.insert();\n }\n }\n }\n}\n\nassert!(!singles.contains(&'t') && dupes.contains(&'t'));\nassert!(singles.contains(&'u') && !dupes.contains(&'u'));\nassert!(!singles.contains(&'v') && !dupes.contains(&'v'));\n```", - "id": 1265, + "id": 1264, "inner": { "function": { "generics": { @@ -151446,7 +170013,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } } @@ -151468,7 +170035,7 @@ }, "visibility": "public" }, - "1266": { + "1265": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -151477,7 +170044,7 @@ "crate_id": 0, "deprecation": null, "docs": "A view into a single entry in a set, which may either be vacant or occupied.\n\nThis `enum` is constructed from the [`entry`] method on [`HashSet`].\n\n[`HashSet`]: struct.HashSet.html\n[`entry`]: struct.HashSet.html#method.entry\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::hash_set::HashSet;\n\nlet mut set = HashSet::new();\nset.extend([\"a\", \"b\", \"c\"]);\nassert_eq!(set.len(), 3);\n\n// Existing value (insert)\nlet entry = set.entry(\"a\");\nlet _raw_o = entry.insert();\nassert_eq!(set.len(), 3);\n// Nonexistent value (insert)\nset.entry(\"d\").insert();\n\n// Existing value (or_insert)\nset.entry(\"b\").or_insert();\n// Nonexistent value (or_insert)\nset.entry(\"e\").or_insert();\n\nprintln!(\"Our HashSet: {:?}\", set);\n\nlet mut vec: Vec<_> = set.iter().copied().collect();\n// The `Iter` iterator produces items in arbitrary order, so the\n// items must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\", \"d\", \"e\"]);\n```", - "id": 1266, + "id": 1265, "inner": { "enum": { "generics": { @@ -151515,6 +170082,7 @@ }, "has_stripped_variants": false, "impls": [ + 1563, 1564, 1565, 1566, @@ -151528,12 +170096,11 @@ 1574, 1575, 1576, - 1577, - 1579 + 1578 ], "variants": [ - 1557, - 1560 + 1556, + 1559 ] } }, @@ -151552,7 +170119,7 @@ }, "visibility": "public" }, - "1267": { + "1266": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -151561,7 +170128,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if `self` has no elements in common with `other`.\nThis is equivalent to checking for an empty intersection.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet mut b = HashSet::new();\n\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(4);\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(1);\nassert_eq!(a.is_disjoint(&b), false);\n```", - "id": 1267, + "id": 1266, "inner": { "function": { "generics": { @@ -151614,7 +170181,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -151644,7 +170211,7 @@ }, "visibility": "public" }, - "1268": { + "1267": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -151653,7 +170220,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the set is a subset of another,\ni.e., `other` contains at least all the values in `self`.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet sup = HashSet::from([1, 2, 3]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_subset(&sup), true);\nset.insert(2);\nassert_eq!(set.is_subset(&sup), true);\nset.insert(4);\nassert_eq!(set.is_subset(&sup), false);\n```", - "id": 1268, + "id": 1267, "inner": { "function": { "generics": { @@ -151706,7 +170273,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -151736,7 +170303,7 @@ }, "visibility": "public" }, - "1269": { + "1268": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -151748,7 +170315,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the set is a superset of another,\ni.e., `self` contains at least all the values in `other`.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet sub = HashSet::from([1, 2]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(0);\nset.insert(1);\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(2);\nassert_eq!(set.is_superset(&sub), true);\n```", - "id": 1269, + "id": 1268, "inner": { "function": { "generics": { @@ -151801,7 +170368,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -151831,7 +170398,7 @@ }, "visibility": "public" }, - "1270": { + "1269": { "attrs": [ { "other": "#[attr = Confusables {symbols: [\"push\", \"append\", \"put\"]}]" @@ -151846,7 +170413,7 @@ "crate_id": 0, "deprecation": null, "docs": "Adds a value to the set.\n\nReturns whether the value was newly inserted. That is:\n\n- If the set did not previously contain this value, `true` is returned.\n- If the set already contained this value, `false` is returned,\n and the set is not modified: original value is not replaced,\n and the value passed as argument is dropped.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nassert_eq!(set.insert(2), true);\nassert_eq!(set.insert(2), false);\nassert_eq!(set.len(), 1);\n```", - "id": 1270, + "id": 1269, "inner": { "function": { "generics": { @@ -151903,7 +170470,7 @@ }, "visibility": "public" }, - "1271": { + "1270": { "attrs": [ { "other": "#[attr = Confusables {symbols: [\"swap\"]}]" @@ -151918,7 +170485,7 @@ "crate_id": 0, "deprecation": null, "docs": "Adds a value to the set, replacing the existing value, if any, that is equal to the given\none. Returns the replaced value.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut set = HashSet::new();\nset.insert(Vec::::new());\n\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 0);\nset.replace(Vec::with_capacity(10));\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 10);\n```", - "id": 1271, + "id": 1270, "inner": { "function": { "generics": { @@ -151990,7 +170557,7 @@ }, "visibility": "public" }, - "1272": { + "1271": { "attrs": [ { "other": "#[attr = Confusables {symbols: [\"delete\", \"take\"]}]" @@ -152005,7 +170572,7 @@ "crate_id": 0, "deprecation": null, "docs": "Removes a value from the set. Returns whether the value was\npresent in the set.\n\nThe value may be any borrowed form of the set's value type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe value type.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nset.insert(2);\nassert_eq!(set.remove(&2), true);\nassert_eq!(set.remove(&2), false);\n```", - "id": 1272, + "id": 1271, "inner": { "function": { "generics": { @@ -152042,7 +170609,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -152074,7 +170641,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -152141,7 +170708,7 @@ } }, "links": { - "`Eq`": 113, + "`Eq`": 111, "`Hash`": 539 }, "name": "remove", @@ -152158,7 +170725,7 @@ }, "visibility": "public" }, - "1273": { + "1272": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"set_recovery\"}}]" @@ -152170,7 +170737,7 @@ "crate_id": 0, "deprecation": null, "docs": "Removes and returns the value in the set, if any, that is equal to the given one.\n\nThe value may be any borrowed form of the set's value type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe value type.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.take(&2), Some(2));\nassert_eq!(set.take(&2), None);\n```", - "id": 1273, + "id": 1272, "inner": { "function": { "generics": { @@ -152207,7 +170774,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -152239,7 +170806,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -152321,7 +170888,7 @@ } }, "links": { - "`Eq`": 113, + "`Eq`": 111, "`Hash`": 539 }, "name": "take", @@ -152338,12 +170905,12 @@ }, "visibility": "public" }, - "1274": { + "1273": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1274, + "id": 1273, "inner": { "impl": { "blanket_impl": null, @@ -152366,7 +170933,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -152403,7 +170970,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -152453,26 +171020,26 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1248, 1249, 1250, 1251, 1252, - 1253, - 1255, - 1257, - 1259, + 1254, + 1256, + 1258, + 1260, 1261, 1262, 1263, 1264, - 1265, + 1266, 1267, 1268, 1269, 1270, 1271, - 1272, - 1273 + 1272 ], "provided_trait_methods": [], "trait": null @@ -152493,12 +171060,12 @@ }, "visibility": "default" }, - "1275": { + "1274": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1275, + "id": 1274, "inner": { "impl": { "blanket_impl": null, @@ -152521,7 +171088,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -152610,12 +171177,12 @@ "span": null, "visibility": "default" }, - "1276": { + "1275": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1276, + "id": 1275, "inner": { "impl": { "blanket_impl": null, @@ -152638,7 +171205,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -152727,12 +171294,12 @@ "span": null, "visibility": "default" }, - "1277": { + "1276": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1277, + "id": 1276, "inner": { "impl": { "blanket_impl": null, @@ -152755,7 +171322,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -152792,7 +171359,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -152813,7 +171380,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -152823,12 +171390,12 @@ "span": null, "visibility": "default" }, - "1278": { + "1277": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1278, + "id": 1277, "inner": { "impl": { "blanket_impl": null, @@ -152851,7 +171418,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -152940,12 +171507,12 @@ "span": null, "visibility": "default" }, - "1279": { + "1278": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1279, + "id": 1278, "inner": { "impl": { "blanket_impl": null, @@ -152968,7 +171535,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -153005,7 +171572,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -153026,7 +171593,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -153047,7 +171614,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -153057,48 +171624,12 @@ "span": null, "visibility": "default" }, - "128": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 128, - "inner": { - "use": { - "id": 129, - "is_glob": false, - "name": "PartialOrd", - "source": "core::prelude::v1::PartialOrd" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 52, - 85 - ], - "end": [ - 52, - 95 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1280": { + "1279": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1280, + "id": 1279, "inner": { "impl": { "blanket_impl": null, @@ -153121,7 +171652,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -153158,7 +171689,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -153179,7 +171710,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -153200,7 +171731,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -153210,12 +171741,48 @@ "span": null, "visibility": "default" }, - "1281": { + "128": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"`concat_bytes` is not stable enough for use and is subject to change\"),\nissue: 87555, is_soft: false}, feature: \"concat_bytes\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 128, + "inner": { + "use": { + "id": 129, + "is_glob": false, + "name": "concat_bytes", + "source": "core::prelude::v1::concat_bytes" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 61, + 1 + ], + "end": [ + 61, + 41 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1280": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1281, + "id": 1280, "inner": { "impl": { "blanket_impl": { @@ -153240,7 +171807,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -153285,7 +171852,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -153301,7 +171868,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -153310,23 +171877,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1282": { + "1281": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1282, + "id": 1281, "inner": { "impl": { "blanket_impl": { @@ -153351,7 +171918,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -153396,7 +171963,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -153412,7 +171979,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -153421,23 +171988,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1283": { + "1282": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1283, + "id": 1282, "inner": { "impl": { "blanket_impl": { @@ -153462,7 +172029,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -153489,7 +172056,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -153521,23 +172088,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "1284": { + "1283": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1284, + "id": 1283, "inner": { "impl": { "blanket_impl": { @@ -153562,7 +172129,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -153628,7 +172195,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -153653,23 +172220,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1285": { + "1284": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1285, + "id": 1284, "inner": { "impl": { "blanket_impl": { @@ -153694,7 +172261,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -153717,7 +172284,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -153742,23 +172309,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1286": { + "1285": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1286, + "id": 1285, "inner": { "impl": { "blanket_impl": { @@ -153783,7 +172350,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -153831,7 +172398,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -153849,8 +172416,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -153866,7 +172433,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -153875,23 +172442,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1287": { + "1286": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1287, + "id": 1286, "inner": { "impl": { "blanket_impl": { @@ -153916,7 +172483,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -153982,8 +172549,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -153999,7 +172566,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -154008,23 +172575,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1288": { + "1287": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1288, + "id": 1287, "inner": { "impl": { "blanket_impl": { @@ -154049,7 +172616,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -154097,12 +172664,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -154122,12 +172689,12 @@ }, "visibility": "default" }, - "1289": { + "1288": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1289, + "id": 1288, "inner": { "impl": { "blanket_impl": { @@ -154152,7 +172719,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -154179,7 +172746,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -154206,7 +172773,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -154215,18 +172782,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "1290": { + "1289": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -154235,7 +172802,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1290, + "id": 1289, "inner": { "function": { "generics": { @@ -154286,7 +172853,7 @@ }, "visibility": "default" }, - "1291": { + "1290": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -154295,7 +172862,7 @@ "crate_id": 0, "deprecation": null, "docs": "Overwrites the contents of `self` with a clone of the contents of `source`.\n\nThis method is preferred over simply assigning `source.clone()` to `self`,\nas it avoids reallocation if possible.", - "id": 1291, + "id": 1290, "inner": { "function": { "generics": { @@ -154356,7 +172923,7 @@ }, "visibility": "default" }, - "1292": { + "1291": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -154365,7 +172932,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1292, + "id": 1291, "inner": { "impl": { "blanket_impl": null, @@ -154388,7 +172955,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -154425,7 +172992,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -154446,7 +173013,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -154464,15 +173031,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1290, - 1291 + 1289, + 1290 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -154492,12 +173059,12 @@ }, "visibility": "default" }, - "1293": { + "1292": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1293, + "id": 1292, "inner": { "function": { "generics": { @@ -154550,7 +173117,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -154580,7 +173147,7 @@ }, "visibility": "default" }, - "1294": { + "1293": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -154589,7 +173156,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1294, + "id": 1293, "inner": { "impl": { "blanket_impl": null, @@ -154612,7 +173179,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -154649,7 +173216,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -154699,14 +173266,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1293 + 1292 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -154726,7 +173293,7 @@ }, "visibility": "default" }, - "1295": { + "1294": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -154735,7 +173302,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1295, + "id": 1294, "inner": { "impl": { "blanket_impl": null, @@ -154758,7 +173325,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -154795,7 +173362,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -154850,7 +173417,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -154870,12 +173437,12 @@ }, "visibility": "default" }, - "1296": { + "1295": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1296, + "id": 1295, "inner": { "function": { "generics": { @@ -154921,7 +173488,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -154933,7 +173500,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -154955,7 +173522,7 @@ }, "visibility": "default" }, - "1297": { + "1296": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -154964,7 +173531,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1297, + "id": 1296, "inner": { "impl": { "blanket_impl": null, @@ -154987,7 +173554,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -155024,7 +173591,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -155042,12 +173609,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1296 + 1295 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -155067,7 +173634,7 @@ }, "visibility": "default" }, - "1298": { + "1297": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -155076,7 +173643,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1298, + "id": 1297, "inner": { "function": { "generics": { @@ -155159,7 +173726,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -155181,7 +173748,7 @@ }, "visibility": "default" }, - "1299": { + "1298": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -155190,7 +173757,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1299, + "id": 1298, "inner": { "impl": { "blanket_impl": null, @@ -155213,7 +173780,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -155250,7 +173817,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -155293,7 +173860,7 @@ "modifier": "none", "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -155311,7 +173878,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1298 + 1297 ], "provided_trait_methods": [], "trait": { @@ -155327,7 +173894,7 @@ "constraints": [] } }, - "id": 201, + "id": 199, "path": "FromIterator" } } @@ -155347,48 +173914,12 @@ }, "visibility": "default" }, - "130": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"`concat_bytes` is not stable enough for use and is subject to change\"),\nissue: 87555, is_soft: false}, feature: \"concat_bytes\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 130, - "inner": { - "use": { - "id": 131, - "is_glob": false, - "name": "concat_bytes", - "source": "core::prelude::v1::concat_bytes" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 61, - 1 - ], - "end": [ - 61, - 41 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1300": { + "1299": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Converts a `[T; N]` into a `HashSet`.\n\nIf the array contains any equal values,\nall but one will be dropped.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet set1 = HashSet::from([1, 2, 3, 4]);\nlet set2: HashSet<_> = [1, 2, 3, 4].into();\nassert_eq!(set1, set2);\n```", - "id": 1300, + "id": 1299, "inner": { "function": { "generics": { @@ -155438,7 +173969,40 @@ }, "visibility": "default" }, - "1301": { + "130": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 130, + "inner": { + "use": { + "id": 131, + "is_glob": false, + "name": "alloc_error_handler", + "source": "core::prelude::v1::alloc_error_handler" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 67, + 5 + ], + "end": [ + 67, + 24 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1300": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"std_collections_from_array\"}}]" @@ -155447,7 +174011,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1301, + "id": 1300, "inner": { "impl": { "blanket_impl": null, @@ -155474,7 +174038,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -155512,7 +174076,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -155541,7 +174105,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1300 + 1299 ], "provided_trait_methods": [], "trait": { @@ -155582,7 +174146,7 @@ }, "visibility": "default" }, - "1302": { + "1301": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -155591,7 +174155,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1302, + "id": 1301, "inner": { "function": { "generics": { @@ -155686,7 +174250,7 @@ }, "visibility": "default" }, - "1303": { + "1302": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -155695,7 +174259,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1303, + "id": 1302, "inner": { "function": { "generics": { @@ -155750,7 +174314,7 @@ }, "visibility": "default" }, - "1304": { + "1303": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -155759,7 +174323,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1304, + "id": 1303, "inner": { "function": { "generics": { @@ -155814,7 +174378,7 @@ }, "visibility": "default" }, - "1305": { + "1304": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -155823,7 +174387,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1305, + "id": 1304, "inner": { "impl": { "blanket_impl": null, @@ -155846,7 +174410,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -155883,7 +174447,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -155933,9 +174497,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1301, 1302, - 1303, - 1304 + 1303 ], "provided_trait_methods": [ "extend_one", @@ -155975,7 +174539,7 @@ }, "visibility": "default" }, - "1306": { + "1305": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -155984,7 +174548,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1306, + "id": 1305, "inner": { "function": { "generics": { @@ -156085,7 +174649,7 @@ }, "visibility": "default" }, - "1307": { + "1306": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -156094,7 +174658,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1307, + "id": 1306, "inner": { "function": { "generics": { @@ -156155,7 +174719,7 @@ }, "visibility": "default" }, - "1308": { + "1307": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -156164,7 +174728,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1308, + "id": 1307, "inner": { "function": { "generics": { @@ -156219,7 +174783,7 @@ }, "visibility": "default" }, - "1309": { + "1308": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"hash_extend_copy\"}}]" @@ -156228,7 +174792,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1309, + "id": 1308, "inner": { "impl": { "blanket_impl": null, @@ -156251,7 +174815,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -156299,7 +174863,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -156321,7 +174885,7 @@ "modifier": "none", "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -156360,9 +174924,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1305, 1306, - 1307, - 1308 + 1307 ], "provided_trait_methods": [ "extend_one", @@ -156408,7 +174972,7 @@ }, "visibility": "default" }, - "1310": { + "1309": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -156417,7 +174981,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an empty `HashSet` with the `Default` value for the hasher.", - "id": 1310, + "id": 1309, "inner": { "function": { "generics": { @@ -156453,7 +175017,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -156475,7 +175039,7 @@ }, "visibility": "default" }, - "1311": { + "1310": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -156484,7 +175048,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1311, + "id": 1310, "inner": { "impl": { "blanket_impl": null, @@ -156507,7 +175071,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -156544,7 +175108,7 @@ "modifier": "none", "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -156562,12 +175126,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1310 + 1309 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -156587,12 +175151,12 @@ }, "visibility": "default" }, - "1312": { + "1311": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1312, + "id": 1311, "inner": { "assoc_type": { "bounds": [], @@ -156619,7 +175183,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -156640,12 +175204,12 @@ }, "visibility": "default" }, - "1313": { + "1312": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns the union of `self` and `rhs` as a new `HashSet`.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([3, 4, 5]);\n\nlet set = &a | &b;\n\nlet mut i = 0;\nlet expected = [1, 2, 3, 4, 5];\nfor x in &set {\n assert!(expected.contains(x));\n i += 1;\n}\nassert_eq!(i, expected.len());\n```", - "id": 1313, + "id": 1312, "inner": { "function": { "generics": { @@ -156692,7 +175256,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -156720,7 +175284,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -156742,7 +175306,7 @@ }, "visibility": "default" }, - "1314": { + "1313": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -156751,7 +175315,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1314, + "id": 1313, "inner": { "impl": { "blanket_impl": null, @@ -156778,7 +175342,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -156817,7 +175381,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -156839,7 +175403,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -156871,7 +175435,7 @@ "modifier": "none", "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -156889,8 +175453,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1312, - 1313 + 1311, + 1312 ], "provided_trait_methods": [], "trait": { @@ -156921,7 +175485,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -156932,7 +175496,7 @@ "constraints": [] } }, - "id": 1315, + "id": 1314, "path": "BitOr" } } @@ -156952,12 +175516,12 @@ }, "visibility": "default" }, - "1316": { + "1315": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1316, + "id": 1315, "inner": { "assoc_type": { "bounds": [], @@ -156984,7 +175548,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157005,12 +175569,12 @@ }, "visibility": "default" }, - "1317": { + "1316": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns the intersection of `self` and `rhs` as a new `HashSet`.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([2, 3, 4]);\n\nlet set = &a & &b;\n\nlet mut i = 0;\nlet expected = [2, 3];\nfor x in &set {\n assert!(expected.contains(x));\n i += 1;\n}\nassert_eq!(i, expected.len());\n```", - "id": 1317, + "id": 1316, "inner": { "function": { "generics": { @@ -157057,7 +175621,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157085,7 +175649,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157107,7 +175671,7 @@ }, "visibility": "default" }, - "1318": { + "1317": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -157116,7 +175680,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1318, + "id": 1317, "inner": { "impl": { "blanket_impl": null, @@ -157143,7 +175707,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157182,7 +175746,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -157204,7 +175768,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -157236,7 +175800,7 @@ "modifier": "none", "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -157254,8 +175818,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1316, - 1317 + 1315, + 1316 ], "provided_trait_methods": [], "trait": { @@ -157286,7 +175850,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157297,7 +175861,7 @@ "constraints": [] } }, - "id": 1319, + "id": 1318, "path": "BitAnd" } } @@ -157317,45 +175881,12 @@ }, "visibility": "default" }, - "132": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 132, - "inner": { - "use": { - "id": 133, - "is_glob": false, - "name": "alloc_error_handler", - "source": "core::prelude::v1::alloc_error_handler" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 67, - 5 - ], - "end": [ - 67, - 24 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1320": { + "1319": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1320, + "id": 1319, "inner": { "assoc_type": { "bounds": [], @@ -157382,7 +175913,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157403,12 +175934,45 @@ }, "visibility": "default" }, - "1321": { + "132": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 132, + "inner": { + "use": { + "id": 133, + "is_glob": false, + "name": "bench", + "source": "core::prelude::v1::bench" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 67, + 26 + ], + "end": [ + 67, + 31 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1320": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns the symmetric difference of `self` and `rhs` as a new `HashSet`.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([3, 4, 5]);\n\nlet set = &a ^ &b;\n\nlet mut i = 0;\nlet expected = [1, 2, 4, 5];\nfor x in &set {\n assert!(expected.contains(x));\n i += 1;\n}\nassert_eq!(i, expected.len());\n```", - "id": 1321, + "id": 1320, "inner": { "function": { "generics": { @@ -157455,7 +176019,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157483,7 +176047,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157505,7 +176069,7 @@ }, "visibility": "default" }, - "1322": { + "1321": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -157514,7 +176078,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1322, + "id": 1321, "inner": { "impl": { "blanket_impl": null, @@ -157541,7 +176105,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157580,7 +176144,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -157602,7 +176166,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -157634,7 +176198,7 @@ "modifier": "none", "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -157652,8 +176216,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1320, - 1321 + 1319, + 1320 ], "provided_trait_methods": [], "trait": { @@ -157684,7 +176248,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157695,7 +176259,7 @@ "constraints": [] } }, - "id": 1323, + "id": 1322, "path": "BitXor" } } @@ -157715,12 +176279,12 @@ }, "visibility": "default" }, - "1324": { + "1323": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1324, + "id": 1323, "inner": { "assoc_type": { "bounds": [], @@ -157747,7 +176311,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157768,12 +176332,12 @@ }, "visibility": "default" }, - "1325": { + "1324": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns the difference of `self` and `rhs` as a new `HashSet`.\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([3, 4, 5]);\n\nlet set = &a - &b;\n\nlet mut i = 0;\nlet expected = [1, 2];\nfor x in &set {\n assert!(expected.contains(x));\n i += 1;\n}\nassert_eq!(i, expected.len());\n```", - "id": 1325, + "id": 1324, "inner": { "function": { "generics": { @@ -157820,7 +176384,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157848,7 +176412,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157870,7 +176434,7 @@ }, "visibility": "default" }, - "1326": { + "1325": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -157879,7 +176443,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1326, + "id": 1325, "inner": { "impl": { "blanket_impl": null, @@ -157906,7 +176470,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -157945,7 +176509,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -157967,7 +176531,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -157999,7 +176563,7 @@ "modifier": "none", "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -158017,8 +176581,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1324, - 1325 + 1323, + 1324 ], "provided_trait_methods": [], "trait": { @@ -158049,7 +176613,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -158060,7 +176624,7 @@ "constraints": [] } }, - "id": 1327, + "id": 1326, "path": "Sub" } } @@ -158080,12 +176644,12 @@ }, "visibility": "default" }, - "1328": { + "1327": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1328, + "id": 1327, "inner": { "assoc_type": { "bounds": [], @@ -158119,12 +176683,12 @@ }, "visibility": "default" }, - "1329": { + "1328": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1329, + "id": 1328, "inner": { "assoc_type": { "bounds": [], @@ -158149,7 +176713,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } } @@ -158170,7 +176734,7 @@ }, "visibility": "default" }, - "1330": { + "1329": { "attrs": [ { "other": "#[rustc_lint_query_instability]" @@ -158182,7 +176746,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1330, + "id": 1329, "inner": { "function": { "generics": { @@ -158223,7 +176787,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } } @@ -158245,7 +176809,7 @@ }, "visibility": "default" }, - "1331": { + "1330": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -158254,7 +176818,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1331, + "id": 1330, "inner": { "impl": { "blanket_impl": null, @@ -158281,7 +176845,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } } @@ -158324,9 +176888,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1327, 1328, - 1329, - 1330 + 1329 ], "provided_trait_methods": [], "trait": { @@ -158351,12 +176915,12 @@ }, "visibility": "default" }, - "1332": { + "1331": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1332, + "id": 1331, "inner": { "assoc_type": { "bounds": [], @@ -158384,12 +176948,12 @@ }, "visibility": "default" }, - "1333": { + "1332": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1333, + "id": 1332, "inner": { "assoc_type": { "bounds": [], @@ -158411,7 +176975,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } } @@ -158432,7 +176996,7 @@ }, "visibility": "default" }, - "1334": { + "1333": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -158441,7 +177005,7 @@ "crate_id": 0, "deprecation": null, "docs": "An owning iterator over the items of a `HashSet`.\n\nThis `struct` is created by the [`into_iter`] method on [`HashSet`]\n(provided by the [`IntoIterator`] trait). See its documentation for more.\n\n[`into_iter`]: IntoIterator::into_iter\n\n# Examples\n\n```\nuse std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\n\nlet mut iter = a.into_iter();\n```", - "id": 1334, + "id": 1333, "inner": { "struct": { "generics": { @@ -158460,6 +177024,7 @@ "where_predicates": [] }, "impls": [ + 1369, 1370, 1371, 1372, @@ -158473,12 +177038,11 @@ 1380, 1381, 1382, - 1383, - 1385, - 1391, + 1384, + 1390, + 1392, 1393, - 1394, - 1396 + 1395 ], "kind": { "plain": { @@ -158490,7 +177054,7 @@ }, "links": { "IntoIterator::into_iter": 908, - "`HashSet`": 1230, + "`HashSet`": 1229, "`IntoIterator`": 47 }, "name": "IntoIter", @@ -158507,7 +177071,7 @@ }, "visibility": "public" }, - "1335": { + "1334": { "attrs": [ { "other": "#[rustc_lint_query_instability]" @@ -158519,7 +177083,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a consuming iterator, that is, one that moves each value out\nof the set in arbitrary order. The set cannot be used after calling\nthis.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\".to_string());\nset.insert(\"b\".to_string());\n\n// Not possible to collect to a Vec with a regular `.iter()`.\nlet v: Vec = set.into_iter().collect();\n\n// Will print in an arbitrary order.\nfor x in &v {\n println!(\"{x}\");\n}\n```", - "id": 1335, + "id": 1334, "inner": { "function": { "generics": { @@ -158557,7 +177121,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } } @@ -158579,7 +177143,7 @@ }, "visibility": "default" }, - "1336": { + "1335": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -158588,7 +177152,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1336, + "id": 1335, "inner": { "impl": { "blanket_impl": null, @@ -158611,7 +177175,7 @@ "constraints": [] } }, - "id": 1230, + "id": 1229, "path": "HashSet" } }, @@ -158644,9 +177208,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1331, 1332, - 1333, - 1335 + 1334 ], "provided_trait_methods": [], "trait": { @@ -158671,12 +177235,12 @@ }, "visibility": "default" }, - "1338": { + "1337": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1338, + "id": 1337, "inner": { "impl": { "blanket_impl": null, @@ -158697,7 +177261,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -158763,12 +177327,12 @@ "span": null, "visibility": "default" }, - "1339": { + "1338": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1339, + "id": 1338, "inner": { "impl": { "blanket_impl": null, @@ -158789,7 +177353,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -158855,45 +177419,12 @@ "span": null, "visibility": "default" }, - "134": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 134, - "inner": { - "use": { - "id": 135, - "is_glob": false, - "name": "bench", - "source": "core::prelude::v1::bench" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 67, - 26 - ], - "end": [ - 67, - 31 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1340": { + "1339": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1340, + "id": 1339, "inner": { "impl": { "blanket_impl": null, @@ -158914,7 +177445,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -158948,7 +177479,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -158958,12 +177489,45 @@ "span": null, "visibility": "default" }, - "1341": { + "134": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 134, + "inner": { + "use": { + "id": 135, + "is_glob": false, + "name": "derive", + "source": "core::prelude::v1::derive" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 67, + 33 + ], + "end": [ + 67, + 39 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1340": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1341, + "id": 1340, "inner": { "impl": { "blanket_impl": null, @@ -158984,7 +177548,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -159028,12 +177592,12 @@ "span": null, "visibility": "default" }, - "1342": { + "1341": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1342, + "id": 1341, "inner": { "impl": { "blanket_impl": null, @@ -159054,7 +177618,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -159089,7 +177653,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -159110,7 +177674,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -159120,12 +177684,12 @@ "span": null, "visibility": "default" }, - "1343": { + "1342": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1343, + "id": 1342, "inner": { "impl": { "blanket_impl": null, @@ -159146,7 +177710,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -159181,7 +177745,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -159202,7 +177766,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -159212,12 +177776,12 @@ "span": null, "visibility": "default" }, - "1344": { + "1343": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1344, + "id": 1343, "inner": { "impl": { "blanket_impl": { @@ -159240,7 +177804,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -159285,7 +177849,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -159301,7 +177865,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -159310,23 +177874,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1345": { + "1344": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1345, + "id": 1344, "inner": { "impl": { "blanket_impl": { @@ -159349,7 +177913,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -159394,7 +177958,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -159410,7 +177974,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -159419,23 +177983,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1346": { + "1345": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1346, + "id": 1345, "inner": { "impl": { "blanket_impl": { @@ -159458,7 +178022,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -159485,7 +178049,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -159517,23 +178081,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "1347": { + "1346": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1347, + "id": 1346, "inner": { "impl": { "blanket_impl": { @@ -159556,7 +178120,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -159622,7 +178186,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -159647,23 +178211,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1348": { + "1347": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1348, + "id": 1347, "inner": { "impl": { "blanket_impl": { @@ -159686,7 +178250,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -159709,7 +178273,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -159734,23 +178298,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1349": { + "1348": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1349, + "id": 1348, "inner": { "impl": { "blanket_impl": { @@ -159773,7 +178337,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -159821,7 +178385,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -159839,8 +178403,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -159856,7 +178420,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -159865,23 +178429,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1350": { + "1349": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1350, + "id": 1349, "inner": { "impl": { "blanket_impl": { @@ -159904,7 +178468,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -159970,8 +178534,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -159987,7 +178551,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -159996,23 +178560,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1351": { + "1350": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1351, + "id": 1350, "inner": { "impl": { "blanket_impl": { @@ -160035,7 +178599,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -160083,12 +178647,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -160108,12 +178672,12 @@ }, "visibility": "default" }, - "1352": { + "1351": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1352, + "id": 1351, "inner": { "impl": { "blanket_impl": { @@ -160136,7 +178700,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -160208,12 +178772,12 @@ }, "visibility": "default" }, - "1353": { + "1352": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1353, + "id": 1352, "inner": { "impl": { "blanket_impl": { @@ -160236,7 +178800,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -160263,7 +178827,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -160290,7 +178854,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -160299,18 +178863,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "1354": { + "1353": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -160319,7 +178883,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1354, + "id": 1353, "inner": { "function": { "generics": { @@ -160357,7 +178921,7 @@ }, "visibility": "default" }, - "1355": { + "1354": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"default_iters_hash\"}}]" @@ -160366,7 +178930,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1355, + "id": 1354, "inner": { "impl": { "blanket_impl": null, @@ -160387,7 +178951,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -160410,12 +178974,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1354 + 1353 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -160435,7 +178999,7 @@ }, "visibility": "default" }, - "1356": { + "1355": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -160444,7 +179008,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1356, + "id": 1355, "inner": { "function": { "generics": { @@ -160495,7 +179059,7 @@ }, "visibility": "default" }, - "1357": { + "1356": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -160504,7 +179068,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1357, + "id": 1356, "inner": { "impl": { "blanket_impl": null, @@ -160525,7 +179089,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -160548,14 +179112,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1356 + 1355 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -160575,12 +179139,12 @@ }, "visibility": "default" }, - "1358": { + "1357": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1358, + "id": 1357, "inner": { "assoc_type": { "bounds": [], @@ -160614,7 +179178,7 @@ }, "visibility": "default" }, - "1359": { + "1358": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -160623,7 +179187,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1359, + "id": 1358, "inner": { "function": { "generics": { @@ -160695,40 +179259,7 @@ }, "visibility": "default" }, - "136": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 136, - "inner": { - "use": { - "id": 137, - "is_glob": false, - "name": "derive", - "source": "core::prelude::v1::derive" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 67, - 33 - ], - "end": [ - 67, - 39 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1360": { + "1359": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -160737,7 +179268,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1360, + "id": 1359, "inner": { "function": { "generics": { @@ -160810,7 +179341,40 @@ }, "visibility": "default" }, - "1361": { + "136": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 136, + "inner": { + "use": { + "id": 137, + "is_glob": false, + "name": "global_allocator", + "source": "core::prelude::v1::global_allocator" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 67, + 41 + ], + "end": [ + 67, + 57 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1360": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -160819,7 +179383,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1361, + "id": 1360, "inner": { "function": { "generics": { @@ -160864,7 +179428,7 @@ }, "visibility": "default" }, - "1362": { + "1361": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -160873,7 +179437,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1362, + "id": 1361, "inner": { "function": { "generics": { @@ -161019,7 +179583,7 @@ }, "visibility": "default" }, - "1363": { + "1362": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -161028,7 +179592,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1363, + "id": 1362, "inner": { "impl": { "blanket_impl": null, @@ -161049,7 +179613,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -161080,11 +179644,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1357, 1358, 1359, 1360, - 1361, - 1362 + 1361 ], "provided_trait_methods": [ "next_chunk", @@ -161186,7 +179750,7 @@ }, "visibility": "default" }, - "1364": { + "1363": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -161195,7 +179759,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1364, + "id": 1363, "inner": { "function": { "generics": { @@ -161246,7 +179810,7 @@ }, "visibility": "default" }, - "1365": { + "1364": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -161255,7 +179819,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1365, + "id": 1364, "inner": { "impl": { "blanket_impl": null, @@ -161276,7 +179840,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -161299,7 +179863,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1364 + 1363 ], "provided_trait_methods": [ "len", @@ -161327,7 +179891,7 @@ }, "visibility": "default" }, - "1366": { + "1365": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" @@ -161336,7 +179900,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1366, + "id": 1365, "inner": { "impl": { "blanket_impl": null, @@ -161357,7 +179921,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -161403,12 +179967,12 @@ }, "visibility": "default" }, - "1367": { + "1366": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1367, + "id": 1366, "inner": { "function": { "generics": { @@ -161454,7 +180018,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -161466,7 +180030,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -161488,7 +180052,7 @@ }, "visibility": "default" }, - "1368": { + "1367": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -161497,7 +180061,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1368, + "id": 1367, "inner": { "impl": { "blanket_impl": null, @@ -161518,7 +180082,7 @@ "constraints": [] } }, - "id": 1236, + "id": 1235, "path": "Iter" } }, @@ -161534,7 +180098,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -161553,12 +180117,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1367 + 1366 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -161578,12 +180142,12 @@ }, "visibility": "default" }, - "1370": { + "1369": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1370, + "id": 1369, "inner": { "impl": { "blanket_impl": null, @@ -161601,7 +180165,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -161659,12 +180223,12 @@ "span": null, "visibility": "default" }, - "1371": { + "1370": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1371, + "id": 1370, "inner": { "impl": { "blanket_impl": null, @@ -161682,7 +180246,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -161740,12 +180304,12 @@ "span": null, "visibility": "default" }, - "1372": { + "1371": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1372, + "id": 1371, "inner": { "impl": { "blanket_impl": null, @@ -161763,7 +180327,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -161789,7 +180353,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -161799,12 +180363,12 @@ "span": null, "visibility": "default" }, - "1373": { + "1372": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1373, + "id": 1372, "inner": { "impl": { "blanket_impl": null, @@ -161822,7 +180386,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -161880,12 +180444,12 @@ "span": null, "visibility": "default" }, - "1374": { + "1373": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1374, + "id": 1373, "inner": { "impl": { "blanket_impl": null, @@ -161903,7 +180467,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -161930,7 +180494,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -161941,7 +180505,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -161962,7 +180526,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -161972,12 +180536,12 @@ "span": null, "visibility": "default" }, - "1375": { + "1374": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1375, + "id": 1374, "inner": { "impl": { "blanket_impl": null, @@ -161995,7 +180559,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -162022,7 +180586,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -162043,7 +180607,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -162053,12 +180617,12 @@ "span": null, "visibility": "default" }, - "1376": { + "1375": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1376, + "id": 1375, "inner": { "impl": { "blanket_impl": { @@ -162078,7 +180642,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -162123,7 +180687,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -162139,7 +180703,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -162148,23 +180712,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1377": { + "1376": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1377, + "id": 1376, "inner": { "impl": { "blanket_impl": { @@ -162184,7 +180748,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -162229,7 +180793,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -162245,7 +180809,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -162254,23 +180818,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1378": { + "1377": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1378, + "id": 1377, "inner": { "impl": { "blanket_impl": { @@ -162290,7 +180854,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -162356,7 +180920,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -162381,23 +180945,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1379": { + "1378": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1379, + "id": 1378, "inner": { "impl": { "blanket_impl": { @@ -162417,7 +180981,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -162440,7 +181004,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -162465,56 +181029,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "138": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 138, - "inner": { - "use": { - "id": 139, - "is_glob": false, - "name": "global_allocator", - "source": "core::prelude::v1::global_allocator" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 67, - 41 - ], - "end": [ - 67, - 57 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1380": { + "1379": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1380, + "id": 1379, "inner": { "impl": { "blanket_impl": { @@ -162534,7 +181065,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -162582,7 +181113,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -162600,8 +181131,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -162617,7 +181148,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -162626,23 +181157,56 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1381": { + "138": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 138, + "inner": { + "use": { + "id": 139, + "is_glob": false, + "name": "test", + "source": "core::prelude::v1::test" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 67, + 59 + ], + "end": [ + 67, + 63 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1380": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1381, + "id": 1380, "inner": { "impl": { "blanket_impl": { @@ -162662,7 +181226,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -162728,8 +181292,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -162745,7 +181309,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -162754,23 +181318,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1382": { + "1381": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1382, + "id": 1381, "inner": { "impl": { "blanket_impl": { @@ -162790,7 +181354,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -162838,12 +181402,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -162863,12 +181427,12 @@ }, "visibility": "default" }, - "1383": { + "1382": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1383, + "id": 1382, "inner": { "impl": { "blanket_impl": { @@ -162888,7 +181452,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -162960,7 +181524,7 @@ }, "visibility": "default" }, - "1384": { + "1383": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -162969,7 +181533,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1384, + "id": 1383, "inner": { "function": { "generics": { @@ -163007,7 +181571,7 @@ }, "visibility": "default" }, - "1385": { + "1384": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"default_iters_hash\"}}]" @@ -163016,7 +181580,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1385, + "id": 1384, "inner": { "impl": { "blanket_impl": null, @@ -163034,7 +181598,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -163057,12 +181621,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1384 + 1383 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -163082,12 +181646,12 @@ }, "visibility": "default" }, - "1386": { + "1385": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1386, + "id": 1385, "inner": { "assoc_type": { "bounds": [], @@ -163115,7 +181679,7 @@ }, "visibility": "default" }, - "1387": { + "1386": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -163124,7 +181688,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1387, + "id": 1386, "inner": { "function": { "generics": { @@ -163190,7 +181754,7 @@ }, "visibility": "default" }, - "1388": { + "1387": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -163199,7 +181763,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1388, + "id": 1387, "inner": { "function": { "generics": { @@ -163272,7 +181836,7 @@ }, "visibility": "default" }, - "1389": { + "1388": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -163281,7 +181845,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1389, + "id": 1388, "inner": { "function": { "generics": { @@ -163326,7 +181890,7 @@ }, "visibility": "default" }, - "1390": { + "1389": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -163335,7 +181899,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1390, + "id": 1389, "inner": { "function": { "generics": { @@ -163481,7 +182045,7 @@ }, "visibility": "default" }, - "1391": { + "1390": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -163490,7 +182054,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1391, + "id": 1390, "inner": { "impl": { "blanket_impl": null, @@ -163508,7 +182072,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -163531,11 +182095,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1385, 1386, 1387, 1388, - 1389, - 1390 + 1389 ], "provided_trait_methods": [ "next_chunk", @@ -163637,7 +182201,7 @@ }, "visibility": "default" }, - "1392": { + "1391": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -163646,7 +182210,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1392, + "id": 1391, "inner": { "function": { "generics": { @@ -163697,7 +182261,7 @@ }, "visibility": "default" }, - "1393": { + "1392": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -163706,7 +182270,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1393, + "id": 1392, "inner": { "impl": { "blanket_impl": null, @@ -163724,7 +182288,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -163747,7 +182311,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1392 + 1391 ], "provided_trait_methods": [ "len", @@ -163775,7 +182339,7 @@ }, "visibility": "default" }, - "1394": { + "1393": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" @@ -163784,7 +182348,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1394, + "id": 1393, "inner": { "impl": { "blanket_impl": null, @@ -163802,7 +182366,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -163848,12 +182412,12 @@ }, "visibility": "default" }, - "1395": { + "1394": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1395, + "id": 1394, "inner": { "function": { "generics": { @@ -163899,7 +182463,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -163911,7 +182475,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -163933,7 +182497,7 @@ }, "visibility": "default" }, - "1396": { + "1395": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -163942,7 +182506,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1396, + "id": 1395, "inner": { "impl": { "blanket_impl": null, @@ -163960,7 +182524,7 @@ "constraints": [] } }, - "id": 1334, + "id": 1333, "path": "IntoIter" } }, @@ -163976,7 +182540,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -163995,12 +182559,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1395 + 1394 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -164020,12 +182584,12 @@ }, "visibility": "default" }, - "1398": { + "1397": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1398, + "id": 1397, "inner": { "impl": { "blanket_impl": null, @@ -164046,7 +182610,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -164112,12 +182676,12 @@ "span": null, "visibility": "default" }, - "1399": { + "1398": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1399, + "id": 1398, "inner": { "impl": { "blanket_impl": null, @@ -164138,7 +182702,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -164204,81 +182768,12 @@ "span": null, "visibility": "default" }, - "14": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 14, - "inner": { - "use": { - "id": 15, - "is_glob": false, - "name": "FnOnce", - "source": "crate::ops::FnOnce" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 16, - 39 - ], - "end": [ - 16, - 45 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "140": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 140, - "inner": { - "use": { - "id": 141, - "is_glob": false, - "name": "test", - "source": "core::prelude::v1::test" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 67, - 59 - ], - "end": [ - 67, - 63 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1400": { + "1399": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1400, + "id": 1399, "inner": { "impl": { "blanket_impl": null, @@ -164299,7 +182794,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -164333,7 +182828,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -164343,12 +182838,81 @@ "span": null, "visibility": "default" }, - "1401": { + "14": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 14, + "inner": { + "use": { + "id": 15, + "is_glob": false, + "name": "FnOnce", + "source": "crate::ops::FnOnce" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 16, + 39 + ], + "end": [ + 16, + 45 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "140": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 140, + "inner": { + "use": { + "id": 141, + "is_glob": false, + "name": "test_case", + "source": "core::prelude::v1::test_case" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 67, + 65 + ], + "end": [ + 67, + 74 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1400": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1401, + "id": 1400, "inner": { "impl": { "blanket_impl": null, @@ -164369,7 +182933,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -164413,12 +182977,12 @@ "span": null, "visibility": "default" }, - "1402": { + "1401": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1402, + "id": 1401, "inner": { "impl": { "blanket_impl": null, @@ -164439,7 +183003,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -164474,7 +183038,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -164495,7 +183059,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -164505,12 +183069,12 @@ "span": null, "visibility": "default" }, - "1403": { + "1402": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1403, + "id": 1402, "inner": { "impl": { "blanket_impl": null, @@ -164531,7 +183095,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -164566,7 +183130,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -164587,7 +183151,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -164597,12 +183161,12 @@ "span": null, "visibility": "default" }, - "1404": { + "1403": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1404, + "id": 1403, "inner": { "impl": { "blanket_impl": { @@ -164625,7 +183189,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -164670,7 +183234,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -164686,7 +183250,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -164695,23 +183259,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1405": { + "1404": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1405, + "id": 1404, "inner": { "impl": { "blanket_impl": { @@ -164734,7 +183298,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -164779,7 +183343,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -164795,7 +183359,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -164804,23 +183368,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1406": { + "1405": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1406, + "id": 1405, "inner": { "impl": { "blanket_impl": { @@ -164843,7 +183407,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -164909,7 +183473,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -164934,23 +183498,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1407": { + "1406": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1407, + "id": 1406, "inner": { "impl": { "blanket_impl": { @@ -164973,7 +183537,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -164996,7 +183560,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -165021,23 +183585,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1408": { + "1407": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1408, + "id": 1407, "inner": { "impl": { "blanket_impl": { @@ -165060,7 +183624,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -165108,7 +183672,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -165126,8 +183690,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -165143,7 +183707,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -165152,23 +183716,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1409": { + "1408": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1409, + "id": 1408, "inner": { "impl": { "blanket_impl": { @@ -165191,7 +183755,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -165257,8 +183821,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -165274,7 +183838,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -165283,23 +183847,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1410": { + "1409": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1410, + "id": 1409, "inner": { "impl": { "blanket_impl": { @@ -165322,7 +183886,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -165370,12 +183934,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -165395,12 +183959,12 @@ }, "visibility": "default" }, - "1411": { + "1410": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1411, + "id": 1410, "inner": { "impl": { "blanket_impl": { @@ -165423,7 +183987,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -165495,12 +184059,12 @@ }, "visibility": "default" }, - "1412": { + "1411": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1412, + "id": 1411, "inner": { "assoc_type": { "bounds": [], @@ -165528,7 +184092,7 @@ }, "visibility": "default" }, - "1413": { + "1412": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -165537,7 +184101,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1413, + "id": 1412, "inner": { "function": { "generics": { @@ -165603,7 +184167,7 @@ }, "visibility": "default" }, - "1414": { + "1413": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -165612,7 +184176,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1414, + "id": 1413, "inner": { "function": { "generics": { @@ -165685,7 +184249,7 @@ }, "visibility": "default" }, - "1415": { + "1414": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -165694,7 +184258,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1415, + "id": 1414, "inner": { "function": { "generics": { @@ -165840,7 +184404,7 @@ }, "visibility": "default" }, - "1416": { + "1415": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -165849,7 +184413,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1416, + "id": 1415, "inner": { "impl": { "blanket_impl": null, @@ -165870,7 +184434,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -165901,10 +184465,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1411, 1412, 1413, - 1414, - 1415 + 1414 ], "provided_trait_methods": [ "next_chunk", @@ -166006,7 +184570,7 @@ }, "visibility": "default" }, - "1417": { + "1416": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -166015,7 +184579,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1417, + "id": 1416, "inner": { "function": { "generics": { @@ -166066,7 +184630,7 @@ }, "visibility": "default" }, - "1418": { + "1417": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -166075,7 +184639,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1418, + "id": 1417, "inner": { "impl": { "blanket_impl": null, @@ -166096,7 +184660,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -166119,7 +184683,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1417 + 1416 ], "provided_trait_methods": [ "len", @@ -166147,7 +184711,7 @@ }, "visibility": "default" }, - "1419": { + "1418": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" @@ -166156,7 +184720,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1419, + "id": 1418, "inner": { "impl": { "blanket_impl": null, @@ -166177,7 +184741,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -166223,45 +184787,12 @@ }, "visibility": "default" }, - "142": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 142, - "inner": { - "use": { - "id": 143, - "is_glob": false, - "name": "test_case", - "source": "core::prelude::v1::test_case" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 67, - 65 - ], - "end": [ - 67, - 74 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1420": { + "1419": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1420, + "id": 1419, "inner": { "function": { "generics": { @@ -166307,7 +184838,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -166319,7 +184850,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -166341,7 +184872,40 @@ }, "visibility": "default" }, - "1421": { + "142": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 118304, is_soft: false}, feature: \"derive_const\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 142, + "inner": { + "use": { + "id": 143, + "is_glob": false, + "name": "derive_const", + "source": "core::prelude::v1::derive_const" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 71, + 1 + ], + "end": [ + 71, + 41 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1420": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -166350,7 +184914,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1421, + "id": 1420, "inner": { "impl": { "blanket_impl": null, @@ -166371,7 +184935,7 @@ "constraints": [] } }, - "id": 1240, + "id": 1239, "path": "Drain" } }, @@ -166387,7 +184951,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -166406,12 +184970,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1420 + 1419 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -166431,12 +184995,12 @@ }, "visibility": "default" }, - "1423": { + "1422": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1423, + "id": 1422, "inner": { "impl": { "blanket_impl": null, @@ -166462,7 +185026,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -166559,12 +185123,12 @@ "span": null, "visibility": "default" }, - "1424": { + "1423": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1424, + "id": 1423, "inner": { "impl": { "blanket_impl": null, @@ -166590,7 +185154,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -166687,12 +185251,12 @@ "span": null, "visibility": "default" }, - "1425": { + "1424": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1425, + "id": 1424, "inner": { "impl": { "blanket_impl": null, @@ -166718,7 +185282,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -166763,7 +185327,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -166784,7 +185348,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -166794,12 +185358,12 @@ "span": null, "visibility": "default" }, - "1426": { + "1425": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1426, + "id": 1425, "inner": { "impl": { "blanket_impl": null, @@ -166825,7 +185389,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -166901,12 +185465,12 @@ "span": null, "visibility": "default" }, - "1427": { + "1426": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1427, + "id": 1426, "inner": { "impl": { "blanket_impl": null, @@ -166932,7 +185496,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -166976,7 +185540,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -166986,12 +185550,12 @@ "span": null, "visibility": "default" }, - "1428": { + "1427": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1428, + "id": 1427, "inner": { "impl": { "blanket_impl": null, @@ -167017,7 +185581,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -167062,7 +185626,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -167083,7 +185647,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -167104,7 +185668,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -167114,12 +185678,12 @@ "span": null, "visibility": "default" }, - "1429": { + "1428": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1429, + "id": 1428, "inner": { "impl": { "blanket_impl": { @@ -167147,7 +185711,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -167192,7 +185756,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -167208,7 +185772,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -167217,23 +185781,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1430": { + "1429": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1430, + "id": 1429, "inner": { "impl": { "blanket_impl": { @@ -167261,7 +185825,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -167306,7 +185870,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -167322,7 +185886,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -167331,23 +185895,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1431": { + "1430": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1431, + "id": 1430, "inner": { "impl": { "blanket_impl": { @@ -167375,7 +185939,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -167441,7 +186005,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -167466,23 +186030,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1432": { + "1431": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1432, + "id": 1431, "inner": { "impl": { "blanket_impl": { @@ -167510,7 +186074,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -167533,7 +186097,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -167558,23 +186122,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1433": { + "1432": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1433, + "id": 1432, "inner": { "impl": { "blanket_impl": { @@ -167602,7 +186166,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -167650,7 +186214,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -167668,8 +186232,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -167685,7 +186249,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -167694,23 +186258,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1434": { + "1433": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1434, + "id": 1433, "inner": { "impl": { "blanket_impl": { @@ -167738,7 +186302,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -167804,8 +186368,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -167821,7 +186385,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -167830,23 +186394,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1435": { + "1434": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1435, + "id": 1434, "inner": { "impl": { "blanket_impl": { @@ -167874,7 +186438,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -167922,12 +186486,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -167947,12 +186511,12 @@ }, "visibility": "default" }, - "1436": { + "1435": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1436, + "id": 1435, "inner": { "impl": { "blanket_impl": { @@ -167980,7 +186544,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -168052,12 +186616,12 @@ }, "visibility": "default" }, - "1437": { + "1436": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1437, + "id": 1436, "inner": { "assoc_type": { "bounds": [], @@ -168085,7 +186649,7 @@ }, "visibility": "default" }, - "1438": { + "1437": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -168094,7 +186658,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1438, + "id": 1437, "inner": { "function": { "generics": { @@ -168160,7 +186724,7 @@ }, "visibility": "default" }, - "1439": { + "1438": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -168169,7 +186733,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1439, + "id": 1438, "inner": { "function": { "generics": { @@ -168242,40 +186806,7 @@ }, "visibility": "default" }, - "144": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 118304, is_soft: false}, feature: \"derive_const\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 144, - "inner": { - "use": { - "id": 145, - "is_glob": false, - "name": "derive_const", - "source": "core::prelude::v1::derive_const" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 71, - 1 - ], - "end": [ - 71, - 41 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1440": { + "1439": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 88, patch: 0})}, feature: \"hash_extract_if\"}}]" @@ -168284,7 +186815,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1440, + "id": 1439, "inner": { "impl": { "blanket_impl": null, @@ -168310,7 +186841,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -168382,9 +186913,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1436, 1437, - 1438, - 1439 + 1438 ], "provided_trait_methods": [ "next_chunk", @@ -168486,7 +187017,40 @@ }, "visibility": "default" }, - "1441": { + "144": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"`cfg_accessible` is not fully implemented\"),\nissue: 64797, is_soft: false}, feature: \"cfg_accessible\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 144, + "inner": { + "use": { + "id": 145, + "is_glob": false, + "name": "cfg_accessible", + "source": "core::prelude::v1::cfg_accessible" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 79, + 1 + ], + "end": [ + 79, + 43 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1440": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 88, patch: 0})}, feature: \"hash_extract_if\"}}]" @@ -168495,7 +187059,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1441, + "id": 1440, "inner": { "impl": { "blanket_impl": null, @@ -168521,7 +187085,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -168616,12 +187180,12 @@ }, "visibility": "default" }, - "1442": { + "1441": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1442, + "id": 1441, "inner": { "function": { "generics": { @@ -168667,7 +187231,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -168679,7 +187243,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -168701,7 +187265,7 @@ }, "visibility": "default" }, - "1443": { + "1442": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 88, patch: 0})}, feature: \"hash_extract_if\"}}]" @@ -168710,7 +187274,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1443, + "id": 1442, "inner": { "impl": { "blanket_impl": null, @@ -168736,7 +187300,7 @@ "constraints": [] } }, - "id": 1243, + "id": 1242, "path": "ExtractIf" } }, @@ -168773,7 +187337,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -168791,12 +187355,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1442 + 1441 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -168816,12 +187380,12 @@ }, "visibility": "default" }, - "1446": { + "1445": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1446, + "id": 1445, "inner": { "impl": { "blanket_impl": null, @@ -168847,7 +187411,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -168944,12 +187508,12 @@ "span": null, "visibility": "default" }, - "1447": { + "1446": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1447, + "id": 1446, "inner": { "impl": { "blanket_impl": null, @@ -168975,7 +187539,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -169072,12 +187636,12 @@ "span": null, "visibility": "default" }, - "1448": { + "1447": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1448, + "id": 1447, "inner": { "impl": { "blanket_impl": null, @@ -169103,7 +187667,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -169147,7 +187711,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -169157,12 +187721,12 @@ "span": null, "visibility": "default" }, - "1449": { + "1448": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1449, + "id": 1448, "inner": { "impl": { "blanket_impl": null, @@ -169188,7 +187752,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -169242,12 +187806,12 @@ "span": null, "visibility": "default" }, - "1450": { + "1449": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1450, + "id": 1449, "inner": { "impl": { "blanket_impl": null, @@ -169273,7 +187837,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -169318,7 +187882,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -169339,7 +187903,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -169360,7 +187924,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -169370,12 +187934,12 @@ "span": null, "visibility": "default" }, - "1451": { + "1450": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1451, + "id": 1450, "inner": { "impl": { "blanket_impl": null, @@ -169401,7 +187965,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -169446,7 +188010,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -169467,7 +188031,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -169488,7 +188052,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -169498,12 +188062,12 @@ "span": null, "visibility": "default" }, - "1452": { + "1451": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1452, + "id": 1451, "inner": { "impl": { "blanket_impl": { @@ -169531,7 +188095,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -169576,7 +188140,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -169592,7 +188156,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -169601,23 +188165,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1453": { + "1452": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1453, + "id": 1452, "inner": { "impl": { "blanket_impl": { @@ -169645,7 +188209,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -169690,7 +188254,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -169706,7 +188270,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -169715,23 +188279,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1454": { + "1453": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1454, + "id": 1453, "inner": { "impl": { "blanket_impl": { @@ -169759,7 +188323,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -169786,7 +188350,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -169818,23 +188382,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "1455": { + "1454": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1455, + "id": 1454, "inner": { "impl": { "blanket_impl": { @@ -169862,7 +188426,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -169928,7 +188492,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -169953,23 +188517,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1456": { + "1455": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1456, + "id": 1455, "inner": { "impl": { "blanket_impl": { @@ -169997,7 +188561,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -170020,7 +188584,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -170045,23 +188609,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1457": { + "1456": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1457, + "id": 1456, "inner": { "impl": { "blanket_impl": { @@ -170089,7 +188653,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -170137,7 +188701,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -170155,8 +188719,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -170172,7 +188736,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -170181,23 +188745,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1458": { + "1457": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1458, + "id": 1457, "inner": { "impl": { "blanket_impl": { @@ -170225,7 +188789,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -170291,8 +188855,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -170308,7 +188872,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -170317,23 +188881,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1459": { + "1458": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1459, + "id": 1458, "inner": { "impl": { "blanket_impl": { @@ -170361,7 +188925,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -170409,12 +188973,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -170434,45 +188998,12 @@ }, "visibility": "default" }, - "146": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"`cfg_accessible` is not fully implemented\"),\nissue: 64797, is_soft: false}, feature: \"cfg_accessible\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 146, - "inner": { - "use": { - "id": 147, - "is_glob": false, - "name": "cfg_accessible", - "source": "core::prelude::v1::cfg_accessible" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 79, - 1 - ], - "end": [ - 79, - 43 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1460": { + "1459": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1460, + "id": 1459, "inner": { "impl": { "blanket_impl": { @@ -170500,7 +189031,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -170572,12 +189103,45 @@ }, "visibility": "default" }, - "1461": { + "146": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"`cfg_eval` is a recently implemented feature\"),\nissue: 82679, is_soft: false}, feature: \"cfg_eval\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 146, + "inner": { + "use": { + "id": 147, + "is_glob": false, + "name": "cfg_eval", + "source": "core::prelude::v1::cfg_eval" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 87, + 1 + ], + "end": [ + 87, + 37 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1460": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1461, + "id": 1460, "inner": { "impl": { "blanket_impl": { @@ -170605,7 +189169,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -170632,7 +189196,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -170659,7 +189223,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -170668,18 +189232,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "1462": { + "1461": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -170688,7 +189252,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1462, + "id": 1461, "inner": { "function": { "generics": { @@ -170739,7 +189303,7 @@ }, "visibility": "default" }, - "1463": { + "1462": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -170748,7 +189312,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1463, + "id": 1462, "inner": { "impl": { "blanket_impl": null, @@ -170774,7 +189338,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -170807,14 +189371,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1462 + 1461 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -170834,12 +189398,12 @@ }, "visibility": "default" }, - "1464": { + "1463": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1464, + "id": 1463, "inner": { "assoc_type": { "bounds": [], @@ -170873,7 +189437,7 @@ }, "visibility": "default" }, - "1465": { + "1464": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -170882,7 +189446,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1465, + "id": 1464, "inner": { "function": { "generics": { @@ -170954,7 +189518,7 @@ }, "visibility": "default" }, - "1466": { + "1465": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -170963,7 +189527,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1466, + "id": 1465, "inner": { "function": { "generics": { @@ -171036,7 +189600,7 @@ }, "visibility": "default" }, - "1467": { + "1466": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -171045,7 +189609,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1467, + "id": 1466, "inner": { "function": { "generics": { @@ -171191,7 +189755,7 @@ }, "visibility": "default" }, - "1468": { + "1467": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -171200,7 +189764,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1468, + "id": 1467, "inner": { "impl": { "blanket_impl": null, @@ -171226,7 +189790,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -171271,7 +189835,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -171321,10 +189885,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1463, 1464, 1465, - 1466, - 1467 + 1466 ], "provided_trait_methods": [ "next_chunk", @@ -171426,12 +189990,12 @@ }, "visibility": "default" }, - "1469": { + "1468": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1469, + "id": 1468, "inner": { "function": { "generics": { @@ -171477,7 +190041,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -171489,7 +190053,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -171511,7 +190075,7 @@ }, "visibility": "default" }, - "1470": { + "1469": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -171520,7 +190084,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1470, + "id": 1469, "inner": { "impl": { "blanket_impl": null, @@ -171546,7 +190110,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -171583,7 +190147,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -171594,7 +190158,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -171644,12 +190208,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1469 + 1468 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -171669,7 +190233,7 @@ }, "visibility": "default" }, - "1471": { + "1470": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" @@ -171678,7 +190242,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1471, + "id": 1470, "inner": { "impl": { "blanket_impl": null, @@ -171704,7 +190268,7 @@ "constraints": [] } }, - "id": 1258, + "id": 1257, "path": "Intersection" } }, @@ -171741,7 +190305,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -171814,12 +190378,12 @@ }, "visibility": "default" }, - "1474": { + "1473": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1474, + "id": 1473, "inner": { "impl": { "blanket_impl": null, @@ -171845,7 +190409,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -171942,12 +190506,12 @@ "span": null, "visibility": "default" }, - "1475": { + "1474": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1475, + "id": 1474, "inner": { "impl": { "blanket_impl": null, @@ -171973,7 +190537,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -172070,12 +190634,12 @@ "span": null, "visibility": "default" }, - "1476": { + "1475": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1476, + "id": 1475, "inner": { "impl": { "blanket_impl": null, @@ -172101,7 +190665,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -172145,7 +190709,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -172155,12 +190719,12 @@ "span": null, "visibility": "default" }, - "1477": { + "1476": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1477, + "id": 1476, "inner": { "impl": { "blanket_impl": null, @@ -172186,7 +190750,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -172240,12 +190804,12 @@ "span": null, "visibility": "default" }, - "1478": { + "1477": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1478, + "id": 1477, "inner": { "impl": { "blanket_impl": null, @@ -172271,7 +190835,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -172316,7 +190880,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -172337,7 +190901,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -172358,7 +190922,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -172368,12 +190932,12 @@ "span": null, "visibility": "default" }, - "1479": { + "1478": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1479, + "id": 1478, "inner": { "impl": { "blanket_impl": null, @@ -172399,7 +190963,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -172444,7 +191008,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -172465,7 +191029,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -172486,7 +191050,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -172496,45 +191060,12 @@ "span": null, "visibility": "default" }, - "148": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"`cfg_eval` is a recently implemented feature\"),\nissue: 82679, is_soft: false}, feature: \"cfg_eval\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 148, - "inner": { - "use": { - "id": 149, - "is_glob": false, - "name": "cfg_eval", - "source": "core::prelude::v1::cfg_eval" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 87, - 1 - ], - "end": [ - 87, - 37 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1480": { + "1479": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1480, + "id": 1479, "inner": { "impl": { "blanket_impl": { @@ -172562,7 +191093,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -172607,7 +191138,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -172623,7 +191154,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -172632,23 +191163,56 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1481": { + "148": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"placeholder syntax for type ascription\"),\nissue: 23416, is_soft: false}, feature: \"type_ascription\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 148, + "inner": { + "use": { + "id": 149, + "is_glob": false, + "name": "type_ascribe", + "source": "core::prelude::v1::type_ascribe" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 95, + 1 + ], + "end": [ + 95, + 41 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1480": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1481, + "id": 1480, "inner": { "impl": { "blanket_impl": { @@ -172676,7 +191240,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -172721,7 +191285,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -172737,7 +191301,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -172746,23 +191310,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1482": { + "1481": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1482, + "id": 1481, "inner": { "impl": { "blanket_impl": { @@ -172790,7 +191354,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -172817,7 +191381,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -172849,23 +191413,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "1483": { + "1482": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1483, + "id": 1482, "inner": { "impl": { "blanket_impl": { @@ -172893,7 +191457,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -172959,7 +191523,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -172984,23 +191548,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1484": { + "1483": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1484, + "id": 1483, "inner": { "impl": { "blanket_impl": { @@ -173028,7 +191592,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -173051,7 +191615,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -173076,23 +191640,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1485": { + "1484": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1485, + "id": 1484, "inner": { "impl": { "blanket_impl": { @@ -173120,7 +191684,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -173168,7 +191732,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -173186,8 +191750,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -173203,7 +191767,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -173212,23 +191776,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1486": { + "1485": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1486, + "id": 1485, "inner": { "impl": { "blanket_impl": { @@ -173256,7 +191820,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -173322,8 +191886,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -173339,7 +191903,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -173348,23 +191912,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1487": { + "1486": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1487, + "id": 1486, "inner": { "impl": { "blanket_impl": { @@ -173392,7 +191956,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -173440,12 +192004,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -173465,12 +192029,12 @@ }, "visibility": "default" }, - "1488": { + "1487": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1488, + "id": 1487, "inner": { "impl": { "blanket_impl": { @@ -173498,7 +192062,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -173570,12 +192134,12 @@ }, "visibility": "default" }, - "1489": { + "1488": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1489, + "id": 1488, "inner": { "impl": { "blanket_impl": { @@ -173603,7 +192167,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -173630,7 +192194,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -173657,7 +192221,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -173666,18 +192230,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "1490": { + "1489": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -173686,7 +192250,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1490, + "id": 1489, "inner": { "function": { "generics": { @@ -173737,7 +192301,7 @@ }, "visibility": "default" }, - "1491": { + "1490": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -173746,7 +192310,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1491, + "id": 1490, "inner": { "impl": { "blanket_impl": null, @@ -173772,7 +192336,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -173805,14 +192369,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1490 + 1489 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -173832,12 +192396,12 @@ }, "visibility": "default" }, - "1492": { + "1491": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1492, + "id": 1491, "inner": { "assoc_type": { "bounds": [], @@ -173871,7 +192435,7 @@ }, "visibility": "default" }, - "1493": { + "1492": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -173880,7 +192444,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1493, + "id": 1492, "inner": { "function": { "generics": { @@ -173952,7 +192516,7 @@ }, "visibility": "default" }, - "1494": { + "1493": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -173961,7 +192525,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1494, + "id": 1493, "inner": { "function": { "generics": { @@ -174034,7 +192598,7 @@ }, "visibility": "default" }, - "1495": { + "1494": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -174043,7 +192607,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1495, + "id": 1494, "inner": { "function": { "generics": { @@ -174189,7 +192753,7 @@ }, "visibility": "default" }, - "1496": { + "1495": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -174198,7 +192762,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1496, + "id": 1495, "inner": { "impl": { "blanket_impl": null, @@ -174224,7 +192788,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -174269,7 +192833,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -174319,10 +192883,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1491, 1492, 1493, - 1494, - 1495 + 1494 ], "provided_trait_methods": [ "next_chunk", @@ -174424,7 +192988,7 @@ }, "visibility": "default" }, - "1497": { + "1496": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" @@ -174433,7 +192997,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1497, + "id": 1496, "inner": { "impl": { "blanket_impl": null, @@ -174459,7 +193023,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -174496,7 +193060,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -174569,12 +193133,12 @@ }, "visibility": "default" }, - "1498": { + "1497": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1498, + "id": 1497, "inner": { "function": { "generics": { @@ -174620,7 +193184,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -174632,7 +193196,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -174654,7 +193218,7 @@ }, "visibility": "default" }, - "1499": { + "1498": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -174663,7 +193227,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1499, + "id": 1498, "inner": { "impl": { "blanket_impl": null, @@ -174689,7 +193253,7 @@ "constraints": [] } }, - "id": 1254, + "id": 1253, "path": "Difference" } }, @@ -174726,7 +193290,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -174737,7 +193301,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -174787,12 +193351,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1498 + 1497 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -174815,7 +193379,7 @@ "150": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"placeholder syntax for type ascription\"),\nissue: 23416, is_soft: false}, feature: \"type_ascription\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"placeholder syntax for deref patterns\"),\nissue: 87121, is_soft: false}, feature: \"deref_patterns\"}}]" } ], "crate_id": 0, @@ -174826,31 +193390,31 @@ "use": { "id": 151, "is_glob": false, - "name": "type_ascribe", - "source": "core::prelude::v1::type_ascribe" + "name": "deref", + "source": "core::prelude::v1::deref" } }, "links": {}, "name": null, "span": { "begin": [ - 95, + 103, 1 ], "end": [ - 95, - 41 + 103, + 34 ], "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "1501": { + "1500": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1501, + "id": 1500, "inner": { "impl": { "blanket_impl": null, @@ -174876,7 +193440,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -174973,12 +193537,12 @@ "span": null, "visibility": "default" }, - "1502": { + "1501": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1502, + "id": 1501, "inner": { "impl": { "blanket_impl": null, @@ -175004,7 +193568,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -175101,12 +193665,12 @@ "span": null, "visibility": "default" }, - "1503": { + "1502": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1503, + "id": 1502, "inner": { "impl": { "blanket_impl": null, @@ -175132,7 +193696,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -175176,7 +193740,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -175186,12 +193750,12 @@ "span": null, "visibility": "default" }, - "1504": { + "1503": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1504, + "id": 1503, "inner": { "impl": { "blanket_impl": null, @@ -175217,7 +193781,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -175271,12 +193835,12 @@ "span": null, "visibility": "default" }, - "1505": { + "1504": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1505, + "id": 1504, "inner": { "impl": { "blanket_impl": null, @@ -175302,7 +193866,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -175347,7 +193911,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -175368,7 +193932,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -175389,7 +193953,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -175399,12 +193963,12 @@ "span": null, "visibility": "default" }, - "1506": { + "1505": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1506, + "id": 1505, "inner": { "impl": { "blanket_impl": null, @@ -175430,7 +193994,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -175475,7 +194039,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -175496,7 +194060,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -175517,7 +194081,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -175527,12 +194091,12 @@ "span": null, "visibility": "default" }, - "1507": { + "1506": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1507, + "id": 1506, "inner": { "impl": { "blanket_impl": { @@ -175560,7 +194124,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -175605,7 +194169,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -175621,7 +194185,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -175630,23 +194194,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1508": { + "1507": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1508, + "id": 1507, "inner": { "impl": { "blanket_impl": { @@ -175674,7 +194238,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -175719,7 +194283,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -175735,7 +194299,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -175744,23 +194308,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1509": { + "1508": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1509, + "id": 1508, "inner": { "impl": { "blanket_impl": { @@ -175788,7 +194352,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -175815,7 +194379,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -175847,23 +194411,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "1510": { + "1509": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1510, + "id": 1509, "inner": { "impl": { "blanket_impl": { @@ -175891,7 +194455,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -175957,7 +194521,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -175982,23 +194546,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1511": { + "1510": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1511, + "id": 1510, "inner": { "impl": { "blanket_impl": { @@ -176026,7 +194590,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -176049,7 +194613,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -176074,23 +194638,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1512": { + "1511": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1512, + "id": 1511, "inner": { "impl": { "blanket_impl": { @@ -176118,7 +194682,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -176166,7 +194730,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -176184,8 +194748,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -176201,7 +194765,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -176210,23 +194774,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1513": { + "1512": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1513, + "id": 1512, "inner": { "impl": { "blanket_impl": { @@ -176254,7 +194818,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -176320,8 +194884,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -176337,7 +194901,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -176346,23 +194910,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1514": { + "1513": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1514, + "id": 1513, "inner": { "impl": { "blanket_impl": { @@ -176390,7 +194954,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -176438,12 +195002,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -176463,12 +195027,12 @@ }, "visibility": "default" }, - "1515": { + "1514": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1515, + "id": 1514, "inner": { "impl": { "blanket_impl": { @@ -176496,7 +195060,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -176568,12 +195132,12 @@ }, "visibility": "default" }, - "1516": { + "1515": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1516, + "id": 1515, "inner": { "impl": { "blanket_impl": { @@ -176601,7 +195165,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -176628,7 +195192,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -176655,7 +195219,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -176664,18 +195228,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "1517": { + "1516": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -176684,7 +195248,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1517, + "id": 1516, "inner": { "function": { "generics": { @@ -176735,7 +195299,7 @@ }, "visibility": "default" }, - "1518": { + "1517": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -176744,7 +195308,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1518, + "id": 1517, "inner": { "impl": { "blanket_impl": null, @@ -176770,7 +195334,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -176803,14 +195367,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1517 + 1516 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -176830,12 +195394,12 @@ }, "visibility": "default" }, - "1519": { + "1518": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1519, + "id": 1518, "inner": { "assoc_type": { "bounds": [], @@ -176869,40 +195433,7 @@ }, "visibility": "default" }, - "152": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"placeholder syntax for deref patterns\"),\nissue: 87121, is_soft: false}, feature: \"deref_patterns\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 152, - "inner": { - "use": { - "id": 153, - "is_glob": false, - "name": "deref", - "source": "core::prelude::v1::deref" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 103, - 1 - ], - "end": [ - 103, - 34 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1520": { + "1519": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -176911,7 +195442,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1520, + "id": 1519, "inner": { "function": { "generics": { @@ -176983,7 +195514,40 @@ }, "visibility": "default" }, - "1521": { + "152": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"`type_alias_impl_trait` has open design concerns\"),\nissue: 63063, is_soft: false}, feature: \"type_alias_impl_trait\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 152, + "inner": { + "use": { + "id": 153, + "is_glob": false, + "name": "define_opaque", + "source": "core::prelude::v1::define_opaque" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 111, + 1 + ], + "end": [ + 111, + 42 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1520": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -176992,7 +195556,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1521, + "id": 1520, "inner": { "function": { "generics": { @@ -177065,7 +195629,7 @@ }, "visibility": "default" }, - "1522": { + "1521": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -177074,7 +195638,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1522, + "id": 1521, "inner": { "function": { "generics": { @@ -177220,7 +195784,7 @@ }, "visibility": "default" }, - "1523": { + "1522": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -177229,7 +195793,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1523, + "id": 1522, "inner": { "impl": { "blanket_impl": null, @@ -177255,7 +195819,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -177300,7 +195864,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -177350,10 +195914,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1518, 1519, 1520, - 1521, - 1522 + 1521 ], "provided_trait_methods": [ "next_chunk", @@ -177455,7 +196019,7 @@ }, "visibility": "default" }, - "1524": { + "1523": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" @@ -177464,7 +196028,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1524, + "id": 1523, "inner": { "impl": { "blanket_impl": null, @@ -177490,7 +196054,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -177527,7 +196091,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -177600,12 +196164,12 @@ }, "visibility": "default" }, - "1525": { + "1524": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1525, + "id": 1524, "inner": { "function": { "generics": { @@ -177651,7 +196215,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -177663,7 +196227,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -177685,7 +196249,7 @@ }, "visibility": "default" }, - "1526": { + "1525": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -177694,7 +196258,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1526, + "id": 1525, "inner": { "impl": { "blanket_impl": null, @@ -177720,7 +196284,7 @@ "constraints": [] } }, - "id": 1256, + "id": 1255, "path": "SymmetricDifference" } }, @@ -177757,7 +196321,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -177768,7 +196332,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -177818,12 +196382,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1525 + 1524 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -177843,12 +196407,12 @@ }, "visibility": "default" }, - "1528": { + "1527": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1528, + "id": 1527, "inner": { "impl": { "blanket_impl": null, @@ -177874,7 +196438,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -177971,12 +196535,12 @@ "span": null, "visibility": "default" }, - "1529": { + "1528": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1529, + "id": 1528, "inner": { "impl": { "blanket_impl": null, @@ -178002,7 +196566,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -178099,12 +196663,12 @@ "span": null, "visibility": "default" }, - "1530": { + "1529": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1530, + "id": 1529, "inner": { "impl": { "blanket_impl": null, @@ -178130,7 +196694,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -178174,7 +196738,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -178184,12 +196748,12 @@ "span": null, "visibility": "default" }, - "1531": { + "1530": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1531, + "id": 1530, "inner": { "impl": { "blanket_impl": null, @@ -178215,7 +196779,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -178269,12 +196833,12 @@ "span": null, "visibility": "default" }, - "1532": { + "1531": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1532, + "id": 1531, "inner": { "impl": { "blanket_impl": null, @@ -178300,7 +196864,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -178345,7 +196909,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -178366,7 +196930,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -178387,7 +196951,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -178397,12 +196961,12 @@ "span": null, "visibility": "default" }, - "1533": { + "1532": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1533, + "id": 1532, "inner": { "impl": { "blanket_impl": null, @@ -178428,7 +196992,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -178473,7 +197037,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -178494,7 +197058,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -178515,7 +197079,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -178525,12 +197089,12 @@ "span": null, "visibility": "default" }, - "1534": { + "1533": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1534, + "id": 1533, "inner": { "impl": { "blanket_impl": { @@ -178558,7 +197122,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -178603,7 +197167,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -178619,7 +197183,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -178628,23 +197192,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1535": { + "1534": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1535, + "id": 1534, "inner": { "impl": { "blanket_impl": { @@ -178672,7 +197236,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -178717,7 +197281,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -178733,7 +197297,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -178742,23 +197306,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1536": { + "1535": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1536, + "id": 1535, "inner": { "impl": { "blanket_impl": { @@ -178786,7 +197350,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -178813,7 +197377,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -178845,23 +197409,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "1537": { + "1536": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1537, + "id": 1536, "inner": { "impl": { "blanket_impl": { @@ -178889,7 +197453,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -178955,7 +197519,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -178980,23 +197544,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1538": { + "1537": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1538, + "id": 1537, "inner": { "impl": { "blanket_impl": { @@ -179024,7 +197588,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -179047,7 +197611,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -179072,23 +197636,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1539": { + "1538": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1539, + "id": 1538, "inner": { "impl": { "blanket_impl": { @@ -179116,7 +197680,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -179164,7 +197728,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -179182,8 +197746,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -179199,7 +197763,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -179208,56 +197772,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "154": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"`type_alias_impl_trait` has open design concerns\"),\nissue: 63063, is_soft: false}, feature: \"type_alias_impl_trait\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 154, - "inner": { - "use": { - "id": 155, - "is_glob": false, - "name": "define_opaque", - "source": "core::prelude::v1::define_opaque" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 111, - 1 - ], - "end": [ - 111, - 42 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1540": { + "1539": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1540, + "id": 1539, "inner": { "impl": { "blanket_impl": { @@ -179285,7 +197816,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -179351,8 +197882,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -179368,7 +197899,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -179377,23 +197908,59 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1541": { + "154": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 154, + "inner": { + "use": { + "id": 155, + "is_glob": false, + "name": "ToOwned", + "source": "crate::borrow::ToOwned" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 120, + 1 + ], + "end": [ + 120, + 32 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1540": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1541, + "id": 1540, "inner": { "impl": { "blanket_impl": { @@ -179421,7 +197988,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -179469,12 +198036,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -179494,12 +198061,12 @@ }, "visibility": "default" }, - "1542": { + "1541": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1542, + "id": 1541, "inner": { "impl": { "blanket_impl": { @@ -179527,7 +198094,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -179599,12 +198166,12 @@ }, "visibility": "default" }, - "1543": { + "1542": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1543, + "id": 1542, "inner": { "impl": { "blanket_impl": { @@ -179632,7 +198199,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -179659,7 +198226,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -179686,7 +198253,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -179695,18 +198262,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "1544": { + "1543": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -179715,7 +198282,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1544, + "id": 1543, "inner": { "function": { "generics": { @@ -179766,7 +198333,7 @@ }, "visibility": "default" }, - "1545": { + "1544": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -179775,7 +198342,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1545, + "id": 1544, "inner": { "impl": { "blanket_impl": null, @@ -179801,7 +198368,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -179834,14 +198401,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1544 + 1543 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -179861,7 +198428,7 @@ }, "visibility": "default" }, - "1546": { + "1545": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" @@ -179870,7 +198437,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1546, + "id": 1545, "inner": { "impl": { "blanket_impl": null, @@ -179896,7 +198463,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -179933,7 +198500,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -180006,12 +198573,12 @@ }, "visibility": "default" }, - "1547": { + "1546": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1547, + "id": 1546, "inner": { "function": { "generics": { @@ -180057,7 +198624,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -180069,7 +198636,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -180091,7 +198658,7 @@ }, "visibility": "default" }, - "1548": { + "1547": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -180100,7 +198667,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1548, + "id": 1547, "inner": { "impl": { "blanket_impl": null, @@ -180126,7 +198693,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -180163,7 +198730,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -180174,7 +198741,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -180224,12 +198791,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1547 + 1546 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -180249,12 +198816,12 @@ }, "visibility": "default" }, - "1549": { + "1548": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1549, + "id": 1548, "inner": { "assoc_type": { "bounds": [], @@ -180288,7 +198855,7 @@ }, "visibility": "default" }, - "1550": { + "1549": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -180297,7 +198864,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1550, + "id": 1549, "inner": { "function": { "generics": { @@ -180369,7 +198936,7 @@ }, "visibility": "default" }, - "1551": { + "1550": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -180378,7 +198945,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1551, + "id": 1550, "inner": { "function": { "generics": { @@ -180451,7 +199018,7 @@ }, "visibility": "default" }, - "1552": { + "1551": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -180460,7 +199027,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1552, + "id": 1551, "inner": { "function": { "generics": { @@ -180505,7 +199072,7 @@ }, "visibility": "default" }, - "1553": { + "1552": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -180514,7 +199081,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1553, + "id": 1552, "inner": { "function": { "generics": { @@ -180660,7 +199227,7 @@ }, "visibility": "default" }, - "1554": { + "1553": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -180669,7 +199236,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1554, + "id": 1553, "inner": { "impl": { "blanket_impl": null, @@ -180695,7 +199262,7 @@ "constraints": [] } }, - "id": 1260, + "id": 1259, "path": "Union" } }, @@ -180740,7 +199307,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -180790,11 +199357,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1548, 1549, 1550, 1551, - 1552, - 1553 + 1552 ], "provided_trait_methods": [ "next_chunk", @@ -180896,12 +199463,12 @@ }, "visibility": "default" }, - "1555": { + "1554": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1555, + "id": 1554, "inner": { "struct_field": { "resolved_path": { @@ -180925,7 +199492,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } } @@ -180945,7 +199512,7 @@ }, "visibility": "default" }, - "1556": { + "1555": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -180954,7 +199521,7 @@ "crate_id": 0, "deprecation": null, "docs": "A view into an occupied entry in a `HashSet`.\nIt is part of the [`Entry`] enum.\n\n[`Entry`]: enum.Entry.html\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::hash_set::{Entry, HashSet};\n\nlet mut set = HashSet::new();\nset.extend([\"a\", \"b\", \"c\"]);\n\nlet _entry_o = set.entry(\"a\").insert();\nassert_eq!(set.len(), 3);\n\n// Existing key\nmatch set.entry(\"a\") {\n Entry::Vacant(_) => unreachable!(),\n Entry::Occupied(view) => {\n assert_eq!(view.get(), &\"a\");\n }\n}\n\nassert_eq!(set.len(), 3);\n\n// Existing key (take)\nmatch set.entry(\"c\") {\n Entry::Vacant(_) => unreachable!(),\n Entry::Occupied(view) => {\n assert_eq!(view.remove(), \"c\");\n }\n}\nassert_eq!(set.get(&\"c\"), None);\nassert_eq!(set.len(), 2);\n```", - "id": 1556, + "id": 1555, "inner": { "struct": { "generics": { @@ -180991,6 +199558,7 @@ "where_predicates": [] }, "impls": [ + 1582, 1583, 1584, 1585, @@ -181004,8 +199572,7 @@ 1593, 1594, 1595, - 1596, - 1598 + 1597 ], "kind": { "plain": { @@ -181030,18 +199597,18 @@ }, "visibility": "public" }, - "1557": { + "1556": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "An occupied entry.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::hash_set::{Entry, HashSet};\n\nlet mut set = HashSet::from([\"a\", \"b\"]);\n\nmatch set.entry(\"a\") {\n Entry::Vacant(_) => unreachable!(),\n Entry::Occupied(_) => { }\n}\n```", - "id": 1557, + "id": 1556, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 1555 + 1554 ] } } @@ -181061,12 +199628,12 @@ }, "visibility": "default" }, - "1558": { + "1557": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1558, + "id": 1557, "inner": { "struct_field": { "resolved_path": { @@ -181090,7 +199657,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } } @@ -181110,7 +199677,7 @@ }, "visibility": "default" }, - "1559": { + "1558": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -181119,7 +199686,7 @@ "crate_id": 0, "deprecation": null, "docs": "A view into a vacant entry in a `HashSet`.\nIt is part of the [`Entry`] enum.\n\n[`Entry`]: enum.Entry.html\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::hash_set::{Entry, HashSet};\n\nlet mut set = HashSet::<&str>::new();\n\nlet entry_v = match set.entry(\"a\") {\n Entry::Vacant(view) => view,\n Entry::Occupied(_) => unreachable!(),\n};\nentry_v.insert();\nassert!(set.contains(\"a\") && set.len() == 1);\n\n// Nonexistent key (insert)\nmatch set.entry(\"b\") {\n Entry::Vacant(view) => view.insert(),\n Entry::Occupied(_) => unreachable!(),\n}\nassert!(set.contains(\"b\") && set.len() == 2);\n```", - "id": 1559, + "id": 1558, "inner": { "struct": { "generics": { @@ -181156,6 +199723,7 @@ "where_predicates": [] }, "impls": [ + 1602, 1603, 1604, 1605, @@ -181169,8 +199737,7 @@ 1613, 1614, 1615, - 1616, - 1618 + 1617 ], "kind": { "plain": { @@ -181195,54 +199762,18 @@ }, "visibility": "public" }, - "156": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 156, - "inner": { - "use": { - "id": 157, - "is_glob": false, - "name": "ToOwned", - "source": "crate::borrow::ToOwned" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 120, - 1 - ], - "end": [ - 120, - 32 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1560": { + "1559": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "A vacant entry.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::hash_set::{Entry, HashSet};\n\nlet mut set = HashSet::new();\n\nmatch set.entry(\"a\") {\n Entry::Occupied(_) => unreachable!(),\n Entry::Vacant(_) => { }\n}\n```", - "id": 1560, + "id": 1559, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 1558 + 1557 ] } } @@ -181262,7 +199793,43 @@ }, "visibility": "default" }, - "1561": { + "156": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 156, + "inner": { + "use": { + "id": 157, + "is_glob": false, + "name": "Box", + "source": "crate::boxed::Box" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 123, + 1 + ], + "end": [ + 123, + 27 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1560": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -181274,7 +199841,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the value of the entry, and returns an OccupiedEntry.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::new();\nlet entry = set.entry(\"horseyland\").insert();\n\nassert_eq!(entry.get(), &\"horseyland\");\n```", - "id": 1561, + "id": 1560, "inner": { "function": { "generics": { @@ -181363,7 +199930,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } } @@ -181385,7 +199952,7 @@ }, "visibility": "public" }, - "1562": { + "1561": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -181397,7 +199964,7 @@ "crate_id": 0, "deprecation": null, "docs": "Ensures a value is in the entry by inserting if it was vacant.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\n// nonexistent key\nset.entry(\"poneyland\").or_insert();\nassert!(set.contains(\"poneyland\"));\n\n// existing key\nset.entry(\"poneyland\").or_insert();\nassert!(set.contains(\"poneyland\"));\nassert_eq!(set.len(), 1);\n```", - "id": 1562, + "id": 1561, "inner": { "function": { "generics": { @@ -181483,7 +200050,7 @@ }, "visibility": "public" }, - "1563": { + "1562": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -181495,7 +200062,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a reference to this entry's value.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::new();\nset.entry(\"poneyland\").or_insert();\n\n// existing key\nassert_eq!(set.entry(\"poneyland\").get(), &\"poneyland\");\n// nonexistent key\nassert_eq!(set.entry(\"horseland\").get(), &\"horseland\");\n```", - "id": 1563, + "id": 1562, "inner": { "function": { "generics": { @@ -181552,12 +200119,12 @@ }, "visibility": "public" }, - "1564": { + "1563": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1564, + "id": 1563, "inner": { "impl": { "blanket_impl": null, @@ -181583,7 +200150,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -181624,9 +200191,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1560, 1561, - 1562, - 1563 + 1562 ], "provided_trait_methods": [], "trait": null @@ -181647,12 +200214,12 @@ }, "visibility": "default" }, - "1565": { + "1564": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1565, + "id": 1564, "inner": { "impl": { "blanket_impl": null, @@ -181678,7 +200245,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -181775,12 +200342,12 @@ "span": null, "visibility": "default" }, - "1566": { + "1565": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1566, + "id": 1565, "inner": { "impl": { "blanket_impl": null, @@ -181806,7 +200373,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -181903,12 +200470,12 @@ "span": null, "visibility": "default" }, - "1567": { + "1566": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1567, + "id": 1566, "inner": { "impl": { "blanket_impl": null, @@ -181934,7 +200501,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -181979,7 +200546,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -182000,7 +200567,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -182010,12 +200577,12 @@ "span": null, "visibility": "default" }, - "1568": { + "1567": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1568, + "id": 1567, "inner": { "impl": { "blanket_impl": null, @@ -182041,7 +200608,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -182117,12 +200684,12 @@ "span": null, "visibility": "default" }, - "1569": { + "1568": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1569, + "id": 1568, "inner": { "impl": { "blanket_impl": null, @@ -182148,7 +200715,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -182192,7 +200759,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -182202,12 +200769,12 @@ "span": null, "visibility": "default" }, - "1570": { + "1569": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1570, + "id": 1569, "inner": { "impl": { "blanket_impl": null, @@ -182233,7 +200800,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -182278,7 +200845,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -182299,7 +200866,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -182320,7 +200887,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -182330,12 +200897,12 @@ "span": null, "visibility": "default" }, - "1571": { + "1570": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1571, + "id": 1570, "inner": { "impl": { "blanket_impl": { @@ -182363,7 +200930,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -182408,7 +200975,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -182424,7 +200991,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -182433,23 +201000,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1572": { + "1571": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1572, + "id": 1571, "inner": { "impl": { "blanket_impl": { @@ -182477,7 +201044,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -182522,7 +201089,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -182538,7 +201105,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -182547,23 +201114,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1573": { + "1572": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1573, + "id": 1572, "inner": { "impl": { "blanket_impl": { @@ -182591,7 +201158,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -182657,7 +201224,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -182682,23 +201249,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1574": { + "1573": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1574, + "id": 1573, "inner": { "impl": { "blanket_impl": { @@ -182726,7 +201293,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -182749,7 +201316,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -182774,23 +201341,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1575": { + "1574": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1575, + "id": 1574, "inner": { "impl": { "blanket_impl": { @@ -182818,7 +201385,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -182866,7 +201433,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -182884,8 +201451,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -182901,7 +201468,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -182910,23 +201477,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1576": { + "1575": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1576, + "id": 1575, "inner": { "impl": { "blanket_impl": { @@ -182954,7 +201521,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -183020,8 +201587,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -183037,7 +201604,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -183046,23 +201613,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1577": { + "1576": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1577, + "id": 1576, "inner": { "impl": { "blanket_impl": { @@ -183090,7 +201657,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -183138,12 +201705,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -183163,12 +201730,12 @@ }, "visibility": "default" }, - "1578": { + "1577": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1578, + "id": 1577, "inner": { "function": { "generics": { @@ -183214,7 +201781,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -183226,7 +201793,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -183248,7 +201815,7 @@ }, "visibility": "default" }, - "1579": { + "1578": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -183257,7 +201824,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1579, + "id": 1578, "inner": { "impl": { "blanket_impl": null, @@ -183283,7 +201850,7 @@ "constraints": [] } }, - "id": 1266, + "id": 1265, "path": "Entry" } }, @@ -183299,7 +201866,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -183328,12 +201895,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1578 + 1577 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -183370,26 +201937,26 @@ "use": { "id": 159, "is_glob": false, - "name": "Box", - "source": "crate::boxed::Box" + "name": "String", + "source": "crate::string::String" } }, "links": {}, "name": null, "span": { "begin": [ - 123, - 1 + 126, + 25 ], "end": [ - 123, - 27 + 126, + 31 ], "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "1581": { + "1580": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -183401,7 +201968,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets a reference to the value in the entry.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::hash_set::{Entry, HashSet};\n\nlet mut set = HashSet::new();\nset.entry(\"poneyland\").or_insert();\n\nmatch set.entry(\"poneyland\") {\n Entry::Vacant(_) => panic!(),\n Entry::Occupied(entry) => assert_eq!(entry.get(), &\"poneyland\"),\n}\n```", - "id": 1581, + "id": 1580, "inner": { "function": { "generics": { @@ -183458,7 +202025,7 @@ }, "visibility": "public" }, - "1582": { + "1581": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -183470,7 +202037,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes the value out of the entry, and returns it.\nKeeps the allocated memory for reuse.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\nuse std::collections::hash_set::Entry;\n\nlet mut set = HashSet::new();\n// The set is empty\nassert!(set.is_empty() && set.capacity() == 0);\n\nset.entry(\"poneyland\").or_insert();\nlet capacity_before_remove = set.capacity();\n\nif let Entry::Occupied(o) = set.entry(\"poneyland\") {\n assert_eq!(o.remove(), \"poneyland\");\n}\n\nassert_eq!(set.contains(\"poneyland\"), false);\n// Now set hold none elements but capacity is equal to the old one\nassert!(set.len() == 0 && set.capacity() == capacity_before_remove);\n```", - "id": 1582, + "id": 1581, "inner": { "function": { "generics": { @@ -183515,12 +202082,12 @@ }, "visibility": "public" }, - "1583": { + "1582": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1583, + "id": 1582, "inner": { "impl": { "blanket_impl": null, @@ -183546,7 +202113,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -183579,8 +202146,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1581, - 1582 + 1580, + 1581 ], "provided_trait_methods": [], "trait": null @@ -183601,12 +202168,12 @@ }, "visibility": "default" }, - "1584": { + "1583": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1584, + "id": 1583, "inner": { "impl": { "blanket_impl": null, @@ -183632,7 +202199,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -183729,12 +202296,12 @@ "span": null, "visibility": "default" }, - "1585": { + "1584": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1585, + "id": 1584, "inner": { "impl": { "blanket_impl": null, @@ -183760,7 +202327,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -183857,12 +202424,12 @@ "span": null, "visibility": "default" }, - "1586": { + "1585": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1586, + "id": 1585, "inner": { "impl": { "blanket_impl": null, @@ -183888,7 +202455,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -183932,7 +202499,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -183942,12 +202509,12 @@ "span": null, "visibility": "default" }, - "1587": { + "1586": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1587, + "id": 1586, "inner": { "impl": { "blanket_impl": null, @@ -183973,7 +202540,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -184027,12 +202594,12 @@ "span": null, "visibility": "default" }, - "1588": { + "1587": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1588, + "id": 1587, "inner": { "impl": { "blanket_impl": null, @@ -184058,7 +202625,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -184102,7 +202669,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -184112,12 +202679,12 @@ "span": null, "visibility": "default" }, - "1589": { + "1588": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1589, + "id": 1588, "inner": { "impl": { "blanket_impl": null, @@ -184143,7 +202710,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -184188,7 +202755,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -184209,7 +202776,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -184230,7 +202797,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -184240,12 +202807,12 @@ "span": null, "visibility": "default" }, - "1590": { + "1589": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1590, + "id": 1589, "inner": { "impl": { "blanket_impl": { @@ -184273,7 +202840,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -184318,7 +202885,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -184334,7 +202901,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -184343,23 +202910,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1591": { + "1590": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1591, + "id": 1590, "inner": { "impl": { "blanket_impl": { @@ -184387,7 +202954,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -184432,7 +202999,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -184448,7 +203015,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -184457,23 +203024,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1592": { + "1591": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1592, + "id": 1591, "inner": { "impl": { "blanket_impl": { @@ -184501,7 +203068,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -184567,7 +203134,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -184592,23 +203159,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1593": { + "1592": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1593, + "id": 1592, "inner": { "impl": { "blanket_impl": { @@ -184636,7 +203203,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -184659,7 +203226,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -184684,23 +203251,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1594": { + "1593": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1594, + "id": 1593, "inner": { "impl": { "blanket_impl": { @@ -184728,7 +203295,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -184776,7 +203343,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -184794,8 +203361,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -184811,7 +203378,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -184820,23 +203387,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1595": { + "1594": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1595, + "id": 1594, "inner": { "impl": { "blanket_impl": { @@ -184864,7 +203431,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -184930,8 +203497,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -184947,7 +203514,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -184956,23 +203523,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1596": { + "1595": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1596, + "id": 1595, "inner": { "impl": { "blanket_impl": { @@ -185000,7 +203567,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -185048,12 +203615,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -185073,12 +203640,12 @@ }, "visibility": "default" }, - "1597": { + "1596": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1597, + "id": 1596, "inner": { "function": { "generics": { @@ -185124,7 +203691,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -185136,7 +203703,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -185158,7 +203725,7 @@ }, "visibility": "default" }, - "1598": { + "1597": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -185167,7 +203734,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1598, + "id": 1597, "inner": { "impl": { "blanket_impl": null, @@ -185193,7 +203760,7 @@ "constraints": [] } }, - "id": 1556, + "id": 1555, "path": "OccupiedEntry" } }, @@ -185209,7 +203776,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -185238,12 +203805,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1597 + 1596 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -185263,6 +203830,75 @@ }, "visibility": "default" }, + "1599": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Gets a reference to the value that would be used when inserting\nthrough the `VacantEntry`.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::new();\nassert_eq!(set.entry(\"poneyland\").get(), &\"poneyland\");\n```", + "id": 1599, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } + } + }, + "links": {}, + "name": "get", + "span": { + "begin": [ + 2272, + 5 + ], + "end": [ + 2274, + 6 + ], + "filename": "std/src/collections/hash/set.rs" + }, + "visibility": "public" + }, "16": { "attrs": [ { @@ -185316,8 +203952,8 @@ "use": { "id": 161, "is_glob": false, - "name": "String", - "source": "crate::string::String" + "name": "ToString", + "source": "crate::string::ToString" } }, "links": {}, @@ -185325,86 +203961,17 @@ "span": { "begin": [ 126, - 25 + 33 ], "end": [ 126, - 31 + 41 ], "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, "1600": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Gets a reference to the value that would be used when inserting\nthrough the `VacantEntry`.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::new();\nassert_eq!(set.entry(\"poneyland\").get(), &\"poneyland\");\n```", - "id": 1600, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - } - }, - "links": {}, - "name": "get", - "span": { - "begin": [ - 2272, - 5 - ], - "end": [ - 2274, - 6 - ], - "filename": "std/src/collections/hash/set.rs" - }, - "visibility": "public" - }, - "1601": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -185416,7 +203983,7 @@ "crate_id": 0, "deprecation": null, "docs": "Take ownership of the value.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::hash_set::{Entry, HashSet};\n\nlet mut set = HashSet::new();\n\nmatch set.entry(\"poneyland\") {\n Entry::Occupied(_) => panic!(),\n Entry::Vacant(v) => assert_eq!(v.into_value(), \"poneyland\"),\n}\n```", - "id": 1601, + "id": 1600, "inner": { "function": { "generics": { @@ -185461,7 +204028,7 @@ }, "visibility": "public" }, - "1602": { + "1601": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -185473,7 +204040,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the value of the entry with the VacantEntry's value.\n\n# Examples\n\n```\n#![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\nuse std::collections::hash_set::Entry;\n\nlet mut set = HashSet::new();\n\nif let Entry::Vacant(o) = set.entry(\"poneyland\") {\n o.insert();\n}\nassert!(set.contains(\"poneyland\"));\n```", - "id": 1602, + "id": 1601, "inner": { "function": { "generics": { @@ -185559,12 +204126,12 @@ }, "visibility": "public" }, - "1603": { + "1602": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1603, + "id": 1602, "inner": { "impl": { "blanket_impl": null, @@ -185590,7 +204157,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -185631,9 +204198,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1599, 1600, - 1601, - 1602 + 1601 ], "provided_trait_methods": [], "trait": null @@ -185654,140 +204221,12 @@ }, "visibility": "default" }, - "1604": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1604, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 1559, - "path": "VacantEntry" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "S" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "S" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "1605": { + "1603": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1605, + "id": 1603, "inner": { "impl": { "blanket_impl": null, @@ -185813,7 +204252,135 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "S" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "1604": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1604, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 1558, "path": "VacantEntry" } }, @@ -185910,12 +204477,12 @@ "span": null, "visibility": "default" }, - "1606": { + "1605": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1606, + "id": 1605, "inner": { "impl": { "blanket_impl": null, @@ -185941,7 +204508,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -185986,7 +204553,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -186007,7 +204574,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -186017,12 +204584,12 @@ "span": null, "visibility": "default" }, - "1607": { + "1606": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1607, + "id": 1606, "inner": { "impl": { "blanket_impl": null, @@ -186048,7 +204615,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -186124,12 +204691,12 @@ "span": null, "visibility": "default" }, - "1608": { + "1607": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1608, + "id": 1607, "inner": { "impl": { "blanket_impl": null, @@ -186155,7 +204722,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -186199,7 +204766,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -186209,12 +204776,12 @@ "span": null, "visibility": "default" }, - "1609": { + "1608": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1609, + "id": 1608, "inner": { "impl": { "blanket_impl": null, @@ -186240,7 +204807,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -186285,7 +204852,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -186306,7 +204873,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -186327,7 +204894,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -186337,6 +204904,120 @@ "span": null, "visibility": "default" }, + "1609": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1609, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 1558, + "path": "VacantEntry" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, "1610": { "attrs": [], "crate_id": 0, @@ -186370,7 +205051,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -186415,7 +205096,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 322 ], "provided_trait_methods": [], "trait": { @@ -186431,8 +205112,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 324, + "path": "BorrowMut" } } }, @@ -186440,12 +205121,12 @@ "name": null, "span": { "begin": [ - 209, + 221, 1 ], "end": [ - 209, - 32 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -186484,121 +205165,7 @@ "constraints": [] } }, - "id": 1559, - "path": "VacantEntry" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "1612": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1612, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -186664,7 +205231,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -186689,23 +205256,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1613": { + "1612": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1613, + "id": 1612, "inner": { "impl": { "blanket_impl": { @@ -186733,7 +205300,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -186756,7 +205323,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -186781,23 +205348,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1614": { + "1613": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1614, + "id": 1613, "inner": { "impl": { "blanket_impl": { @@ -186825,7 +205392,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -186873,7 +205440,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -186891,8 +205458,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -186908,7 +205475,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -186917,23 +205484,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1615": { + "1614": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1615, + "id": 1614, "inner": { "impl": { "blanket_impl": { @@ -186961,7 +205528,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -187027,8 +205594,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -187044,7 +205611,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -187053,23 +205620,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1616": { + "1615": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1616, + "id": 1615, "inner": { "impl": { "blanket_impl": { @@ -187097,7 +205664,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -187145,12 +205712,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -187170,12 +205737,12 @@ }, "visibility": "default" }, - "1617": { + "1616": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1617, + "id": 1616, "inner": { "function": { "generics": { @@ -187221,7 +205788,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -187233,7 +205800,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -187255,7 +205822,7 @@ }, "visibility": "default" }, - "1618": { + "1617": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 60896, is_soft: false}, feature: \"hash_set_entry\"}}]" @@ -187264,7 +205831,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1618, + "id": 1617, "inner": { "impl": { "blanket_impl": null, @@ -187290,7 +205857,7 @@ "constraints": [] } }, - "id": 1559, + "id": 1558, "path": "VacantEntry" } }, @@ -187306,7 +205873,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -187335,12 +205902,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1617 + 1616 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -187360,29 +205927,29 @@ }, "visibility": "default" }, - "1619": { + "1618": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1619, + "id": 1618, "inner": { "module": { "is_crate": false, "is_stripped": true, "items": [ - 1230, - 1236, - 1334, - 1240, - 1243, - 1258, - 1254, - 1256, - 1260, - 1266, - 1556, - 1559 + 1229, + 1235, + 1333, + 1239, + 1242, + 1257, + 1253, + 1255, + 1259, + 1265, + 1555, + 1558 ] } }, @@ -187418,26 +205985,26 @@ "use": { "id": 163, "is_glob": false, - "name": "ToString", - "source": "crate::string::ToString" + "name": "Vec", + "source": "crate::vec::Vec" } }, "links": {}, "name": null, "span": { "begin": [ - 126, - 33 + 129, + 1 ], "end": [ - 126, - 41 + 129, + 25 ], "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "1621": { + "1620": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"hashmap_build_hasher\"}}]" @@ -187446,10 +206013,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1621, + "id": 1620, "inner": { "use": { - "id": 1622, + "id": 1621, "is_glob": false, "name": "DefaultHasher", "source": "crate::hash::random::DefaultHasher" @@ -187470,7 +206037,7 @@ }, "visibility": "public" }, - "1622": { + "1621": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -187482,7 +206049,7 @@ "crate_id": 0, "deprecation": null, "docs": "The default [`Hasher`] used by [`RandomState`].\n\nThe internal algorithm is not specified, and so it and its hashes should\nnot be relied upon over releases.", - "id": 1622, + "id": 1621, "inner": { "struct": { "generics": { @@ -187490,8 +206057,6 @@ "where_predicates": [] }, "impls": [ - 3011, - 3012, 3013, 3014, 3015, @@ -187506,10 +206071,12 @@ 3024, 3025, 3026, + 3027, 3028, 3030, 3032, - 3036 + 3034, + 3038 ], "kind": { "tuple": [ @@ -187536,7 +206103,7 @@ }, "visibility": "public" }, - "1623": { + "1622": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"hashmap_build_hasher\"}}]" @@ -187545,7 +206112,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1623, + "id": 1622, "inner": { "use": { "id": 739, @@ -187569,7 +206136,7 @@ }, "visibility": "public" }, - "1624": { + "1623": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187578,10 +206145,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1624, + "id": 1623, "inner": { "use": { - "id": 1228, + "id": 1227, "is_glob": true, "name": "map", "source": "super::hash::map" @@ -187602,7 +206169,7 @@ }, "visibility": "public" }, - "1625": { + "1624": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187611,15 +206178,15 @@ "crate_id": 0, "deprecation": null, "docs": "A hash map implemented with quadratic probing and SIMD lookup.", - "id": 1625, + "id": 1624, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 1621, - 1623, - 1624 + 1620, + 1622, + 1623 ] } }, @@ -187638,7 +206205,7 @@ }, "visibility": "public" }, - "1626": { + "1625": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187647,10 +206214,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1626, + "id": 1625, "inner": { "use": { - "id": 1619, + "id": 1618, "is_glob": true, "name": "set", "source": "super::hash::set" @@ -187671,7 +206238,7 @@ }, "visibility": "public" }, - "1627": { + "1626": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187680,13 +206247,13 @@ "crate_id": 0, "deprecation": null, "docs": "A hash set implemented as a `HashMap` where the value is `()`.", - "id": 1627, + "id": 1626, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 1626 + 1625 ] } }, @@ -187705,7 +206272,7 @@ }, "visibility": "public" }, - "1628": { + "1627": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"try_reserve\"}}]" @@ -187714,7 +206281,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1628, + "id": 1627, "inner": { "use": { "id": 772, @@ -187738,7 +206305,7 @@ }, "visibility": "public" }, - "1629": { + "1628": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"Uncertain how much info should be exposed\"),\nissue: 48043, is_soft: false}, feature: \"try_reserve_kind\"}}]" @@ -187747,10 +206314,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1629, + "id": 1628, "inner": { "use": { - "id": 1630, + "id": 1629, "is_glob": false, "name": "TryReserveErrorKind", "source": "alloc_crate::collections::TryReserveErrorKind" @@ -187771,7 +206338,7 @@ }, "visibility": "public" }, - "1631": { + "1630": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187780,10 +206347,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1631, + "id": 1630, "inner": { "use": { - "id": 1632, + "id": 1631, "is_glob": false, "name": "BTreeMap", "source": "alloc_crate::collections::BTreeMap" @@ -187804,7 +206371,7 @@ }, "visibility": "public" }, - "1633": { + "1632": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187813,10 +206380,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1633, + "id": 1632, "inner": { "use": { - "id": 1634, + "id": 1633, "is_glob": false, "name": "BTreeSet", "source": "alloc_crate::collections::BTreeSet" @@ -187837,7 +206404,7 @@ }, "visibility": "public" }, - "1635": { + "1634": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187846,10 +206413,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1635, + "id": 1634, "inner": { "use": { - "id": 1636, + "id": 1635, "is_glob": false, "name": "BinaryHeap", "source": "alloc_crate::collections::BinaryHeap" @@ -187870,7 +206437,7 @@ }, "visibility": "public" }, - "1637": { + "1636": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187879,10 +206446,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1637, + "id": 1636, "inner": { "use": { - "id": 1638, + "id": 1637, "is_glob": false, "name": "LinkedList", "source": "alloc_crate::collections::LinkedList" @@ -187903,7 +206470,7 @@ }, "visibility": "public" }, - "1639": { + "1638": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187912,10 +206479,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1639, + "id": 1638, "inner": { "use": { - "id": 1640, + "id": 1639, "is_glob": false, "name": "VecDeque", "source": "alloc_crate::collections::VecDeque" @@ -187939,7 +206506,7 @@ "164": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[(rustfmt, rustfmt::skip)]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187947,32 +206514,111 @@ ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "# The Rust Prelude\n\nRust comes with a variety of things in its standard library. However, if\nyou had to manually import every single thing that you used, it would be\nvery verbose. But importing a lot of things that a program never uses isn't\ngood either. A balance needs to be struck.\n\nThe *prelude* is the list of things that Rust automatically imports into\nevery Rust program. It's kept as small as possible, and is focused on\nthings, particularly traits, which are used in almost every single Rust\nprogram.\n\n# Other preludes\n\nPreludes can be seen as a pattern to make using multiple types more\nconvenient. As such, you'll find other preludes in the standard library,\nsuch as [`std::io::prelude`]. Various libraries in the Rust ecosystem may\nalso define their own preludes.\n\n[`std::io::prelude`]: crate::io::prelude\n\nThe difference between 'the prelude' and these other preludes is that they\nare not automatically `use`'d, and must be imported manually. This is still\neasier than importing all of their constituent components.\n\n# Prelude contents\n\nThe items included in the prelude depend on the edition of the crate.\nThe first version of the prelude is used in Rust 2015 and Rust 2018,\nand lives in [`std::prelude::v1`].\n[`std::prelude::rust_2015`] and [`std::prelude::rust_2018`] re-export this prelude.\nIt re-exports the following:\n\n* [std::marker]::{[Copy], [Send], [Sized], [Sync], [Unpin]},\n marker traits that indicate fundamental properties of types.\n* [std::ops]::{[Fn], [FnMut], [FnOnce]}, and their analogous\n async traits, [std::ops]::{[AsyncFn], [AsyncFnMut], [AsyncFnOnce]}.\n* [std::ops]::[Drop], for implementing destructors.\n* [std::mem]::[drop], a convenience function for explicitly\n dropping a value.\n* [std::mem]::{[size_of], [size_of_val]}, to get the size of\n a type or value.\n* [std::mem]::{[align_of], [align_of_val]}, to get the\n alignment of a type or value.\n* [std::boxed]::[Box], a way to allocate values on the heap.\n* [std::borrow]::[ToOwned], the conversion trait that defines\n [`to_owned`], the generic method for creating an owned type from a\n borrowed type.\n* [std::clone]::[Clone], the ubiquitous trait that defines\n [`clone`][Clone::clone], the method for producing a copy of a value.\n* [std::cmp]::{[PartialEq], [PartialOrd], [Eq], [Ord]}, the\n comparison traits, which implement the comparison operators and are often\n seen in trait bounds.\n* [std::convert]::{[AsRef], [AsMut], [Into], [From]}, generic\n conversions, used by savvy API authors to create overloaded methods.\n* [std::default]::[Default], types that have default values.\n* [std::iter]::{[Iterator], [Extend], [IntoIterator], [DoubleEndedIterator], [ExactSizeIterator]},\n iterators of various\n kinds.\n* [std::option]::[Option]::{[self][Option], [Some], [None]}, a\n type which expresses the presence or absence of a value. This type is so\n commonly used, its variants are also exported.\n* [std::result]::[Result]::{[self][Result], [Ok], [Err]}, a type\n for functions that may succeed or fail. Like [`Option`], its variants are\n exported as well.\n* [std::string]::{[String], [ToString]}, heap-allocated strings.\n* [std::vec]::[Vec], a growable, heap-allocated vector.\n\nThe prelude used in Rust 2021, [`std::prelude::rust_2021`], includes all of the above,\nand in addition re-exports:\n\n* [std::convert]::{[TryFrom], [TryInto]}.\n* [std::iter]::[FromIterator].\n\nThe prelude used in Rust 2024, [`std::prelude::rust_2024`], includes all of the above,\nand in addition re-exports:\n\n* [std::future]::{[Future], [IntoFuture]}.\n\n[std::borrow]: crate::borrow\n[std::boxed]: crate::boxed\n[std::clone]: crate::clone\n[std::cmp]: crate::cmp\n[std::convert]: crate::convert\n[std::default]: crate::default\n[std::future]: crate::future\n[std::iter]: crate::iter\n[std::marker]: crate::marker\n[std::mem]: crate::mem\n[std::ops]: crate::ops\n[std::option]: crate::option\n[`std::prelude::v1`]: v1\n[`std::prelude::rust_2015`]: rust_2015\n[`std::prelude::rust_2018`]: rust_2018\n[`std::prelude::rust_2021`]: rust_2021\n[`std::prelude::rust_2024`]: rust_2024\n[std::result]: crate::result\n[std::slice]: crate::slice\n[std::string]: crate::string\n[std::vec]: mod@crate::vec\n[`to_owned`]: crate::borrow::ToOwned::to_owned\n[book-closures]: ../../book/ch13-01-closures.html\n[book-dtor]: ../../book/ch15-03-drop.html\n[book-enums]: ../../book/ch06-01-defining-an-enum.html\n[book-iter]: ../../book/ch13-02-iterators.html\n[Future]: crate::future::Future\n[IntoFuture]: crate::future::IntoFuture", "id": 164, "inner": { - "use": { - "id": 165, - "is_glob": false, - "name": "Vec", - "source": "crate::vec::Vec" + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 165, + 167, + 169, + 173, + 177 + ] } }, - "links": {}, - "name": null, + "links": { + "AsMut": 33, + "AsRef": 35, + "AsyncFn": 17, + "AsyncFnMut": 19, + "AsyncFnOnce": 21, + "Box": 157, + "Clone": 97, + "Clone::clone": 188, + "Copy": 101, + "Default": 107, + "DoubleEndedIterator": 41, + "Drop": 9, + "Eq": 111, + "Err": 59, + "ExactSizeIterator": 43, + "Extend": 45, + "Fn": 11, + "FnMut": 13, + "FnOnce": 15, + "From": 37, + "FromIterator": 199, + "Into": 39, + "IntoIterator": 47, + "Iterator": 49, + "None": 53, + "Ok": 61, + "Option": 51, + "Ord": 117, + "PartialEq": 121, + "PartialOrd": 125, + "Result": 57, + "Send": 1, + "Sized": 3, + "Some": 55, + "String": 159, + "Sync": 5, + "ToOwned": 155, + "ToString": 161, + "TryFrom": 197, + "TryInto": 198, + "Unpin": 7, + "Vec": 163, + "`Option`": 51, + "align_of": 25, + "align_of_val": 27, + "crate::borrow": 185, + "crate::borrow::ToOwned::to_owned": 186, + "crate::boxed": 184, + "crate::clone": 187, + "crate::cmp": 189, + "crate::convert": 190, + "crate::default": 191, + "crate::future": 200, + "crate::future::Future": 201, + "crate::future::IntoFuture": 202, + "crate::io::prelude": 180, + "crate::iter": 192, + "crate::marker": 181, + "crate::mem": 183, + "crate::ops": 182, + "crate::option": 193, + "crate::result": 194, + "crate::slice": 203, + "crate::string": 195, + "drop": 23, + "mod@crate::vec": 196, + "rust_2015": 167, + "rust_2018": 169, + "rust_2021": 173, + "rust_2024": 177, + "size_of": 29, + "size_of_val": 31, + "v1": 165 + }, + "name": "prelude", "span": { "begin": [ - 129, + 1, 1 ], "end": [ - 129, - 25 + 177, + 2 ], - "filename": "std/src/prelude/v1.rs" + "filename": "std/src/prelude/mod.rs" }, "visibility": "public" }, - "1641": { + "1640": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -187981,10 +206627,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1641, + "id": 1640, "inner": { "use": { - "id": 1642, + "id": 1641, "is_glob": false, "name": "binary_heap", "source": "alloc_crate::collections::binary_heap" @@ -188005,7 +206651,7 @@ }, "visibility": "public" }, - "1643": { + "1642": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -188014,10 +206660,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1643, + "id": 1642, "inner": { "use": { - "id": 1644, + "id": 1643, "is_glob": false, "name": "btree_map", "source": "alloc_crate::collections::btree_map" @@ -188038,7 +206684,7 @@ }, "visibility": "public" }, - "1645": { + "1644": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -188047,10 +206693,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1645, + "id": 1644, "inner": { "use": { - "id": 1646, + "id": 1645, "is_glob": false, "name": "btree_set", "source": "alloc_crate::collections::btree_set" @@ -188071,7 +206717,7 @@ }, "visibility": "public" }, - "1647": { + "1646": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -188080,10 +206726,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1647, + "id": 1646, "inner": { "use": { - "id": 1648, + "id": 1647, "is_glob": false, "name": "linked_list", "source": "alloc_crate::collections::linked_list" @@ -188104,7 +206750,7 @@ }, "visibility": "public" }, - "1649": { + "1648": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -188113,10 +206759,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1649, + "id": 1648, "inner": { "use": { - "id": 1650, + "id": 1649, "is_glob": false, "name": "vec_deque", "source": "alloc_crate::collections::vec_deque" @@ -188137,7 +206783,127 @@ }, "visibility": "public" }, - "1651": { + "165": { + "attrs": [ + { + "other": "#[(rustfmt, rustfmt::skip)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The first version of the prelude of The Rust Standard Library.\n\nSee the [module-level documentation](super) for more.", + "id": 165, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 0, + 2, + 4, + 6, + 8, + 10, + 12, + 14, + 16, + 18, + 20, + 22, + 24, + 26, + 28, + 30, + 32, + 34, + 36, + 38, + 40, + 42, + 44, + 46, + 48, + 50, + 52, + 54, + 56, + 58, + 60, + 62, + 64, + 66, + 68, + 70, + 72, + 74, + 76, + 78, + 80, + 82, + 84, + 86, + 88, + 90, + 92, + 94, + 96, + 98, + 100, + 102, + 104, + 106, + 108, + 110, + 112, + 114, + 116, + 118, + 120, + 122, + 124, + 126, + 128, + 130, + 132, + 134, + 136, + 138, + 140, + 142, + 144, + 146, + 148, + 150, + 152, + 154, + 156, + 158, + 160, + 162 + ] + } + }, + "links": { + "super": 164 + }, + "name": "v1", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 129, + 25 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "1650": { "attrs": [ { "other": "#[doc(inline)]" @@ -188149,7 +206915,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1651, + "id": 1650, "inner": { "use": { "id": 738, @@ -188173,7 +206939,7 @@ }, "visibility": "public" }, - "1652": { + "1651": { "attrs": [ { "other": "#[doc(inline)]" @@ -188185,10 +206951,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1652, + "id": 1651, "inner": { "use": { - "id": 1230, + "id": 1229, "is_glob": false, "name": "HashSet", "source": "self::hash_set::HashSet" @@ -188209,7 +206975,7 @@ }, "visibility": "public" }, - "1655": { + "1654": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -188218,7 +206984,7 @@ "crate_id": 0, "deprecation": null, "docs": "A string describing the architecture of the CPU that is currently in use.\nAn example value may be: `\"x86\"`, `\"arm\"` or `\"riscv64\"`.\n\n
Full list of possible values\n\n* `\"x86\"`\n* `\"x86_64\"`\n* `\"arm\"`\n* `\"aarch64\"`\n* `\"m68k\"`\n* `\"mips\"`\n* `\"mips32r6\"`\n* `\"mips64\"`\n* `\"mips64r6\"`\n* `\"csky\"`\n* `\"powerpc\"`\n* `\"powerpc64\"`\n* `\"riscv32\"`\n* `\"riscv64\"`\n* `\"s390x\"`\n* `\"sparc\"`\n* `\"sparc64\"`\n* `\"hexagon\"`\n* `\"loongarch32\"`\n* `\"loongarch64\"`\n\n
", - "id": 1655, + "id": 1654, "inner": { "constant": { "const": { @@ -188241,18 +207007,18 @@ "name": "ARCH", "span": { "begin": [ - 1054, + 1046, 5 ], "end": [ - 1054, + 1046, 49 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1656": { + "1655": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -188261,7 +207027,7 @@ "crate_id": 0, "deprecation": null, "docs": "A string describing the family of the operating system.\nAn example value may be: `\"unix\"`, or `\"windows\"`.\n\nThis value may be an empty string if the family is unknown.\n\n
Full list of possible values\n\n* `\"unix\"`\n* `\"windows\"`\n* `\"itron\"`\n* `\"wasm\"`\n* `\"\"`\n\n
", - "id": 1656, + "id": 1655, "inner": { "constant": { "const": { @@ -188284,18 +207050,18 @@ "name": "FAMILY", "span": { "begin": [ - 1071, + 1063, 5 ], "end": [ - 1071, + 1063, 41 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1657": { + "1656": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -188303,8 +207069,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "A string describing the specific operating system in use.\nAn example value may be: `\"linux\"`, or `\"freebsd\"`.\n\n
Full list of possible values\n\n* `\"linux\"`\n* `\"windows\"`\n* `\"macos\"`\n* `\"android\"`\n* `\"ios\"`\n* `\"openbsd\"`\n* `\"freebsd\"`\n* `\"netbsd\"`\n* `\"wasi\"`\n* `\"hermit\"`\n* `\"aix\"`\n* `\"apple\"`\n* `\"dragonfly\"`\n* `\"emscripten\"`\n* `\"espidf\"`\n* `\"fortanix\"`\n* `\"uefi\"`\n* `\"fuchsia\"`\n* `\"haiku\"`\n* `\"hermit\"`\n* `\"watchos\"`\n* `\"visionos\"`\n* `\"tvos\"`\n* `\"horizon\"`\n* `\"hurd\"`\n* `\"illumos\"`\n* `\"l4re\"`\n* `\"nto\"`\n* `\"redox\"`\n* `\"solaris\"`\n* `\"solid_asp3`\n* `\"vita\"`\n* `\"vxworks\"`\n* `\"xous\"`\n\n
", - "id": 1657, + "docs": "A string describing the specific operating system in use.\nAn example value may be: `\"linux\"`, or `\"freebsd\"`.\n\n
Full list of possible values\n\n* `\"linux\"`\n* `\"windows\"`\n* `\"macos\"`\n* `\"android\"`\n* `\"ios\"`\n* `\"openbsd\"`\n* `\"freebsd\"`\n* `\"netbsd\"`\n* `\"wasi\"`\n* `\"hermit\"`\n* `\"aix\"`\n* `\"apple\"`\n* `\"dragonfly\"`\n* `\"emscripten\"`\n* `\"espidf\"`\n* `\"fortanix\"`\n* `\"uefi\"`\n* `\"fuchsia\"`\n* `\"haiku\"`\n* `\"hermit\"`\n* `\"watchos\"`\n* `\"visionos\"`\n* `\"tvos\"`\n* `\"horizon\"`\n* `\"hurd\"`\n* `\"illumos\"`\n* `\"l4re\"`\n* `\"nto\"`\n* `\"redox\"`\n* `\"solaris\"`\n* `\"solid_asp3`\n* `\"vexos\"`\n* `\"vita\"`\n* `\"vxworks\"`\n* `\"xous\"`\n\n
", + "id": 1656, "inner": { "constant": { "const": { @@ -188327,18 +207093,18 @@ "name": "OS", "span": { "begin": [ - 1115, + 1108, 5 ], "end": [ - 1115, + 1108, 33 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1658": { + "1657": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -188347,7 +207113,7 @@ "crate_id": 0, "deprecation": null, "docs": "Specifies the filename prefix, if any, used for shared libraries on this platform.\nThis is either `\"lib\"` or an empty string. (`\"\"`).", - "id": 1658, + "id": 1657, "inner": { "constant": { "const": { @@ -188370,18 +207136,18 @@ "name": "DLL_PREFIX", "span": { "begin": [ - 1120, + 1113, 5 ], "end": [ - 1120, + 1113, 49 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1659": { + "1658": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -188390,7 +207156,7 @@ "crate_id": 0, "deprecation": null, "docs": "Specifies the file extension, if any, used for shared libraries on this platform that goes after the dot.\nAn example value may be: `\"so\"`, `\"elf\"`, or `\"dll\"`.\n\n
Full list of possible values\n\n* `\"so\"`\n* `\"dylib\"`\n* `\"dll\"`\n* `\"sgxs\"`\n* `\"a\"`\n* `\"elf\"`\n* `\"wasm\"`\n* `\"\"` (an empty string)\n\n
", - "id": 1659, + "id": 1658, "inner": { "constant": { "const": { @@ -188413,133 +207179,18 @@ "name": "DLL_EXTENSION", "span": { "begin": [ - 1145, + 1138, 5 ], "end": [ - 1145, + 1138, 55 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "166": { - "attrs": [ - { - "other": "#[(rustfmt, rustfmt::skip)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "# The Rust Prelude\n\nRust comes with a variety of things in its standard library. However, if\nyou had to manually import every single thing that you used, it would be\nvery verbose. But importing a lot of things that a program never uses isn't\ngood either. A balance needs to be struck.\n\nThe *prelude* is the list of things that Rust automatically imports into\nevery Rust program. It's kept as small as possible, and is focused on\nthings, particularly traits, which are used in almost every single Rust\nprogram.\n\n# Other preludes\n\nPreludes can be seen as a pattern to make using multiple types more\nconvenient. As such, you'll find other preludes in the standard library,\nsuch as [`std::io::prelude`]. Various libraries in the Rust ecosystem may\nalso define their own preludes.\n\n[`std::io::prelude`]: crate::io::prelude\n\nThe difference between 'the prelude' and these other preludes is that they\nare not automatically `use`'d, and must be imported manually. This is still\neasier than importing all of their constituent components.\n\n# Prelude contents\n\nThe items included in the prelude depend on the edition of the crate.\nThe first version of the prelude is used in Rust 2015 and Rust 2018,\nand lives in [`std::prelude::v1`].\n[`std::prelude::rust_2015`] and [`std::prelude::rust_2018`] re-export this prelude.\nIt re-exports the following:\n\n* [std::marker]::{[Copy], [Send], [Sized], [Sync], [Unpin]},\n marker traits that indicate fundamental properties of types.\n* [std::ops]::{[Fn], [FnMut], [FnOnce]}, and their analogous\n async traits, [std::ops]::{[AsyncFn], [AsyncFnMut], [AsyncFnOnce]}.\n* [std::ops]::[Drop], for implementing destructors.\n* [std::mem]::[drop], a convenience function for explicitly\n dropping a value.\n* [std::mem]::{[size_of], [size_of_val]}, to get the size of\n a type or value.\n* [std::mem]::{[align_of], [align_of_val]}, to get the\n alignment of a type or value.\n* [std::boxed]::[Box], a way to allocate values on the heap.\n* [std::borrow]::[ToOwned], the conversion trait that defines\n [`to_owned`], the generic method for creating an owned type from a\n borrowed type.\n* [std::clone]::[Clone], the ubiquitous trait that defines\n [`clone`][Clone::clone], the method for producing a copy of a value.\n* [std::cmp]::{[PartialEq], [PartialOrd], [Eq], [Ord]}, the\n comparison traits, which implement the comparison operators and are often\n seen in trait bounds.\n* [std::convert]::{[AsRef], [AsMut], [Into], [From]}, generic\n conversions, used by savvy API authors to create overloaded methods.\n* [std::default]::[Default], types that have default values.\n* [std::iter]::{[Iterator], [Extend], [IntoIterator], [DoubleEndedIterator], [ExactSizeIterator]},\n iterators of various\n kinds.\n* [std::option]::[Option]::{[self][Option], [Some], [None]}, a\n type which expresses the presence or absence of a value. This type is so\n commonly used, its variants are also exported.\n* [std::result]::[Result]::{[self][Result], [Ok], [Err]}, a type\n for functions that may succeed or fail. Like [`Option`], its variants are\n exported as well.\n* [std::string]::{[String], [ToString]}, heap-allocated strings.\n* [std::vec]::[Vec], a growable, heap-allocated vector.\n\nThe prelude used in Rust 2021, [`std::prelude::rust_2021`], includes all of the above,\nand in addition re-exports:\n\n* [std::convert]::{[TryFrom], [TryInto]}.\n* [std::iter]::[FromIterator].\n\nThe prelude used in Rust 2024, [`std::prelude::rust_2024`], includes all of the above,\nand in addition re-exports:\n\n* [std::future]::{[Future], [IntoFuture]}.\n\n[std::borrow]: crate::borrow\n[std::boxed]: crate::boxed\n[std::clone]: crate::clone\n[std::cmp]: crate::cmp\n[std::convert]: crate::convert\n[std::default]: crate::default\n[std::future]: crate::future\n[std::iter]: crate::iter\n[std::marker]: crate::marker\n[std::mem]: crate::mem\n[std::ops]: crate::ops\n[std::option]: crate::option\n[`std::prelude::v1`]: v1\n[`std::prelude::rust_2015`]: rust_2015\n[`std::prelude::rust_2018`]: rust_2018\n[`std::prelude::rust_2021`]: rust_2021\n[`std::prelude::rust_2024`]: rust_2024\n[std::result]: crate::result\n[std::slice]: crate::slice\n[std::string]: crate::string\n[std::vec]: mod@crate::vec\n[`to_owned`]: crate::borrow::ToOwned::to_owned\n[book-closures]: ../../book/ch13-01-closures.html\n[book-dtor]: ../../book/ch15-03-drop.html\n[book-enums]: ../../book/ch06-01-defining-an-enum.html\n[book-iter]: ../../book/ch13-02-iterators.html\n[Future]: crate::future::Future\n[IntoFuture]: crate::future::IntoFuture", - "id": 166, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 167, - 169, - 171, - 175, - 179 - ] - } - }, - "links": { - "AsMut": 33, - "AsRef": 35, - "AsyncFn": 17, - "AsyncFnMut": 19, - "AsyncFnOnce": 21, - "Box": 159, - "Clone": 99, - "Clone::clone": 190, - "Copy": 103, - "Default": 109, - "DoubleEndedIterator": 41, - "Drop": 9, - "Eq": 113, - "Err": 59, - "ExactSizeIterator": 43, - "Extend": 45, - "Fn": 11, - "FnMut": 13, - "FnOnce": 15, - "From": 37, - "FromIterator": 201, - "Into": 39, - "IntoIterator": 47, - "Iterator": 49, - "None": 53, - "Ok": 61, - "Option": 51, - "Ord": 119, - "PartialEq": 123, - "PartialOrd": 127, - "Result": 57, - "Send": 1, - "Sized": 3, - "Some": 55, - "String": 161, - "Sync": 5, - "ToOwned": 157, - "ToString": 163, - "TryFrom": 199, - "TryInto": 200, - "Unpin": 7, - "Vec": 165, - "`Option`": 51, - "align_of": 25, - "align_of_val": 27, - "crate::borrow": 187, - "crate::borrow::ToOwned::to_owned": 188, - "crate::boxed": 186, - "crate::clone": 189, - "crate::cmp": 191, - "crate::convert": 192, - "crate::default": 193, - "crate::future": 202, - "crate::future::Future": 203, - "crate::future::IntoFuture": 204, - "crate::io::prelude": 182, - "crate::iter": 194, - "crate::marker": 183, - "crate::mem": 185, - "crate::ops": 184, - "crate::option": 195, - "crate::result": 196, - "crate::slice": 205, - "crate::string": 197, - "drop": 23, - "mod@crate::vec": 198, - "rust_2015": 169, - "rust_2018": 171, - "rust_2021": 175, - "rust_2024": 179, - "size_of": 29, - "size_of_val": 31, - "v1": 167 - }, - "name": "prelude", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 177, - 2 - ], - "filename": "std/src/prelude/mod.rs" - }, - "visibility": "public" - }, - "1660": { + "1659": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -188548,7 +207199,7 @@ "crate_id": 0, "deprecation": null, "docs": "Specifies the filename suffix, if any, used for shared libraries on this platform.\nAn example value may be: `\".so\"`, `\".elf\"`, or `\".dll\"`.\n\nThe possible values are identical to those of [`DLL_EXTENSION`], but with the leading period included.", - "id": 1660, + "id": 1659, "inner": { "constant": { "const": { @@ -188568,23 +207219,59 @@ } }, "links": { - "`DLL_EXTENSION`": 1659 + "`DLL_EXTENSION`": 1658 }, "name": "DLL_SUFFIX", "span": { "begin": [ - 1127, + 1120, 5 ], "end": [ - 1127, + 1120, 49 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1661": { + "166": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2015\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 166, + "inner": { + "use": { + "id": 165, + "is_glob": true, + "name": "v1", + "source": "super::v1" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 123, + 5 + ], + "end": [ + 123, + 26 + ], + "filename": "std/src/prelude/mod.rs" + }, + "visibility": "public" + }, + "1660": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -188592,8 +207279,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Specifies the file extension, if any, used for executable binaries on this platform.\nAn example value may be: `\"exe\"`, or an empty string (`\"\"`).\n\n
Full list of possible values\n\n* `\"exe\"`\n* `\"efi\"`\n* `\"js\"`\n* `\"sgxs\"`\n* `\"elf\"`\n* `\"wasm\"`\n* `\"\"` (an empty string)\n\n
", - "id": 1661, + "docs": "Specifies the file extension, if any, used for executable binaries on this platform.\nAn example value may be: `\"exe\"`, or an empty string (`\"\"`).\n\n
Full list of possible values\n\n* `\"bin\"`\n* `\"exe\"`\n* `\"efi\"`\n* `\"js\"`\n* `\"sgxs\"`\n* `\"elf\"`\n* `\"wasm\"`\n* `\"\"` (an empty string)\n\n
", + "id": 1660, "inner": { "constant": { "const": { @@ -188616,18 +207303,18 @@ "name": "EXE_EXTENSION", "span": { "begin": [ - 1169, + 1163, 5 ], "end": [ - 1169, + 1163, 55 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1662": { + "1661": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -188636,7 +207323,7 @@ "crate_id": 0, "deprecation": null, "docs": "Specifies the filename suffix, if any, used for executable binaries on this platform.\nAn example value may be: `\".exe\"`, or `\".efi\"`.\n\nThe possible values are identical to those of [`EXE_EXTENSION`], but with the leading period included.", - "id": 1662, + "id": 1661, "inner": { "constant": { "const": { @@ -188656,23 +207343,23 @@ } }, "links": { - "`EXE_EXTENSION`": 1661 + "`EXE_EXTENSION`": 1660 }, "name": "EXE_SUFFIX", "span": { "begin": [ - 1152, + 1145, 5 ], "end": [ - 1152, + 1145, 49 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1663": { + "1662": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -188681,20 +207368,20 @@ "crate_id": 0, "deprecation": null, "docs": "Constants associated with the current target", - "id": 1663, + "id": 1662, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ + 1654, 1655, 1656, 1657, - 1658, - 1660, 1659, - 1662, - 1661 + 1658, + 1661, + 1660 ] } }, @@ -188702,18 +207389,18 @@ "name": "consts", "span": { "begin": [ - 1023, + 1015, 1 ], "end": [ - 1023, + 1015, 15 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1664": { + "1663": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"PathBuf\")]" @@ -188728,7 +207415,7 @@ "crate_id": 0, "deprecation": null, "docs": "An owned, mutable path (akin to [`String`]).\n\nThis type provides methods like [`push`] and [`set_extension`] that mutate\nthe path in place. It also implements [`Deref`] to [`Path`], meaning that\nall methods on [`Path`] slices are available on `PathBuf` values as well.\n\n[`push`]: PathBuf::push\n[`set_extension`]: PathBuf::set_extension\n\nMore details about the overall approach can be found in\nthe [module documentation](self).\n\n# Examples\n\nYou can use [`push`] to build up a `PathBuf` from\ncomponents:\n\n```\nuse std::path::PathBuf;\n\nlet mut path = PathBuf::new();\n\npath.push(r\"C:\\\");\npath.push(\"windows\");\npath.push(\"system32\");\n\npath.set_extension(\"dll\");\n```\n\nHowever, [`push`] is best used for dynamic situations. This is a better way\nto do this when you know all of the components ahead of time:\n\n```\nuse std::path::PathBuf;\n\nlet path: PathBuf = [r\"C:\\\", \"windows\", \"system32.dll\"].iter().collect();\n```\n\nWe can still do better than this! Since these are all strings, we can use\n`From::from`:\n\n```\nuse std::path::PathBuf;\n\nlet path = PathBuf::from(r\"C:\\windows\\system32.dll\");\n```\n\nWhich method works best depends on what kind of situation you're in.\n\nNote that `PathBuf` does not always sanitize arguments, for example\n[`push`] allows paths built from strings which include separators:\n\n```\nuse std::path::PathBuf;\n\nlet mut path = PathBuf::new();\n\npath.push(r\"C:\\\");\npath.push(\"windows\");\npath.push(r\"..\\otherdir\");\npath.push(\"system32\");\n```\n\nThe behavior of `PathBuf` may be changed to a panic on such inputs\nin the future. [`Extend::extend`] should be used to add multi-part paths.", - "id": 1664, + "id": 1663, "inner": { "struct": { "generics": { @@ -188736,54 +207423,34 @@ "where_predicates": [] }, "impls": [ - 6533, - 6534, - 6535, - 6536, - 6537, - 6538, - 6539, - 6540, - 6541, - 6542, - 6543, - 6544, - 6545, - 6546, - 6547, - 6548, - 6549, - 6552, - 6554, - 6556, - 6558, - 2098, - 2100, - 6560, - 6563, - 6565, - 6568, - 6570, + 6572, 6573, + 6574, 6575, + 6576, 6577, + 6578, 6579, + 6580, 6581, + 6582, 6583, + 6584, 6585, + 6586, 6587, - 6589, + 6588, 6591, 6593, 6595, 6597, + 2096, + 2098, 6599, - 6601, 6602, 6604, - 6606, - 2266, - 6608, + 6607, + 6609, 6612, 6614, 6616, @@ -188797,6 +207464,27 @@ 6632, 6634, 6636, + 6638, + 6640, + 6641, + 6643, + 6645, + 2264, + 6647, + 6651, + 6653, + 6655, + 6657, + 6659, + 6661, + 6663, + 6665, + 6667, + 6669, + 6671, + 6673, + 6675, + 2270, 2272, 2274, 2276, @@ -188804,15 +207492,14 @@ 2280, 2282, 2284, - 2286, - 6638, - 6640, - 6642, - 6644, + 6677, + 6679, + 6681, + 6683, + 2102, 2104, 2106, - 2108, - 2110 + 2108 ], "kind": { "plain": { @@ -188823,13 +207510,13 @@ } }, "links": { - "PathBuf::push": 6508, - "PathBuf::set_extension": 6509, - "`Deref`": 1969, - "`Extend::extend`": 1654, - "`Path`": 1667, - "`String`": 161, - "self": 6510 + "PathBuf::push": 6541, + "PathBuf::set_extension": 6542, + "`Deref`": 1967, + "`Extend::extend`": 1653, + "`Path`": 1666, + "`String`": 159, + "self": 6543 }, "name": "PathBuf", "span": { @@ -188845,7 +207532,7 @@ }, "visibility": "public" }, - "1665": { + "1664": { "attrs": [ { "other": "#[doc(alias = \"pwd\")]" @@ -188863,7 +207550,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the current working directory as a [`PathBuf`].\n\n# Platform-specific behavior\n\nThis function [currently] corresponds to the `getcwd` function on Unix\nand the `GetCurrentDirectoryW` function on Windows.\n\n[currently]: crate::io#platform-specific-behavior\n\n# Errors\n\nReturns an [`Err`] if the current working directory value is invalid.\nPossible cases:\n\n* Current directory does not exist.\n* There are insufficient permissions to access the current directory.\n\n# Examples\n\n```\nuse std::env;\n\nfn main() -> std::io::Result<()> {\n let path = env::current_dir()?;\n println!(\"The current directory is {}\", path.display());\n Ok(())\n}\n```", - "id": 1665, + "id": 1664, "inner": { "function": { "generics": { @@ -188889,7 +207576,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "crate::path::PathBuf" } } @@ -188898,7 +207585,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -188907,8 +207594,8 @@ }, "links": { "`Err`": 59, - "`PathBuf`": 1664, - "crate::io#platform-specific-behavior": 501 + "`PathBuf`": 1663, + "crate::io#platform-specific-behavior": 502 }, "name": "current_dir", "span": { @@ -188924,7 +207611,7 @@ }, "visibility": "public" }, - "1666": { + "1665": { "attrs": [ { "other": "#[doc(alias = \"chdir\", alias = \"SetCurrentDirectory\", alias =\n\"SetCurrentDirectoryW\")]" @@ -188936,7 +207623,7 @@ "crate_id": 0, "deprecation": null, "docs": "Changes the current working directory to the specified path.\n\n# Platform-specific behavior\n\nThis function [currently] corresponds to the `chdir` function on Unix\nand the `SetCurrentDirectoryW` function on Windows.\n\nReturns an [`Err`] if the operation fails.\n\n[currently]: crate::io#platform-specific-behavior\n\n# Examples\n\n```\nuse std::env;\nuse std::path::Path;\n\nlet root = Path::new(\"/\");\nassert!(env::set_current_dir(&root).is_ok());\nprintln!(\"Successfully changed working directory to {}!\", root.display());\n```", - "id": 1666, + "id": 1665, "inner": { "function": { "generics": { @@ -188957,7 +207644,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -189012,7 +207699,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -189021,7 +207708,7 @@ }, "links": { "`Err`": 59, - "crate::io#platform-specific-behavior": 501 + "crate::io#platform-specific-behavior": 502 }, "name": "set_current_dir", "span": { @@ -189037,7 +207724,7 @@ }, "visibility": "public" }, - "1667": { + "1666": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"Path\")]" @@ -189060,7 +207747,7 @@ "crate_id": 0, "deprecation": null, "docs": "A slice of a path (akin to [`str`]).\n\nThis type supports a number of operations for inspecting a path, including\nbreaking the path into its components (separated by `/` on Unix and by either\n`/` or `\\` on Windows), extracting the file name, determining whether the path\nis absolute, and so on.\n\nThis is an *unsized* type, meaning that it must always be used behind a\npointer like `&` or [`Box`]. For an owned version of this type,\nsee [`PathBuf`].\n\nMore details about the overall approach can be found in\nthe [module documentation](self).\n\n# Examples\n\n```\nuse std::path::Path;\nuse std::ffi::OsStr;\n\n// Note: this example does work on Windows\nlet path = Path::new(\"./foo/bar.txt\");\n\nlet parent = path.parent();\nassert_eq!(parent, Some(Path::new(\"./foo\")));\n\nlet file_stem = path.file_stem();\nassert_eq!(file_stem, Some(OsStr::new(\"bar\")));\n\nlet extension = path.extension();\nassert_eq!(extension, Some(OsStr::new(\"txt\")));\n```", - "id": 1667, + "id": 1666, "inner": { "struct": { "generics": { @@ -189068,68 +207755,69 @@ "where_predicates": [] }, "impls": [ - 6679, - 6680, - 6681, - 6682, - 6683, - 6684, - 6685, - 6686, - 6687, - 6688, - 6689, - 6404, - 6433, - 6472, - 6691, - 6693, - 6695, - 6556, - 6697, - 6577, - 6699, - 6701, - 6703, - 6705, - 6707, - 6711, - 6713, - 2268, - 6715, - 6717, + 6718, 6719, + 6720, 6721, + 6722, 6723, + 6724, 6725, + 6726, 6727, 6728, + 6437, + 6466, + 6505, 6730, 6732, 6734, - 2270, + 6595, 6736, - 2102, + 6616, 6738, 6740, - 6608, + 6742, 6744, - 6614, - 6616, - 6618, - 6620, - 6622, - 6624, - 6626, - 6628, 6746, - 6748, 6750, 6752, + 2266, 6754, 6756, 6758, 6760, + 6762, + 6764, + 6766, + 6767, + 6769, + 6771, + 6773, + 2268, + 6775, + 2100, + 6777, + 6779, + 6647, + 6783, + 6653, + 6655, + 6657, + 6659, + 6661, + 6663, + 6665, + 6667, + 6785, + 6787, + 6789, + 6791, + 6793, + 6795, + 6797, + 6799, + 2286, 2288, 2290, 2292, @@ -189137,27 +207825,26 @@ 2296, 2298, 2300, - 2302, - 6762, - 6764, - 6766, - 6768, + 6801, + 6803, + 6805, + 6807, + 2110, 2112, 2114, 2116, - 2118, + 2302, 2304, 2306, 2308, - 2310, - 6770, - 6772, - 6774, - 6776, + 6809, + 6811, + 6813, + 6815, + 2118, 2120, 2122, - 2124, - 2126 + 2124 ], "kind": { "plain": { @@ -189168,26 +207855,26 @@ } }, "links": { - "`Box`": 159, - "`PathBuf`": 1664, - "`str`": 1928, - "self": 6510 + "`Box`": 157, + "`PathBuf`": 1663, + "`str`": 1926, + "self": 6543 }, "name": "Path", "span": { "begin": [ - 2212, + 2303, 1 ], "end": [ - 2214, + 2305, 2 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "1669": { + "1668": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -189201,7 +207888,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns an iterator of (variable, value) pairs of strings, for all the\nenvironment variables of the current process.\n\nThe returned iterator contains a snapshot of the process's environment\nvariables at the time of this invocation. Modifications to environment\nvariables afterwards will not be reflected in the returned iterator.\n\n# Panics\n\nWhile iterating, the returned iterator will panic if any key or value in the\nenvironment is not valid unicode. If this is not desired, consider using\n[`env::vars_os()`].\n\n# Examples\n\n```\n// Print all environment variables.\nfor (key, value) in std::env::vars() {\n println!(\"{key}: {value}\");\n}\n```\n\n[`env::vars_os()`]: vars_os", - "id": 1669, + "id": 1668, "inner": { "function": { "generics": { @@ -189221,7 +207908,7 @@ "output": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } } @@ -189229,7 +207916,7 @@ } }, "links": { - "vars_os": 1692 + "vars_os": 1691 }, "name": "vars", "span": { @@ -189245,128 +207932,7 @@ }, "visibility": "public" }, - "167": { - "attrs": [ - { - "other": "#[(rustfmt, rustfmt::skip)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The first version of the prelude of The Rust Standard Library.\n\nSee the [module-level documentation](super) for more.", - "id": 167, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 0, - 2, - 4, - 6, - 8, - 10, - 12, - 14, - 16, - 18, - 20, - 22, - 24, - 26, - 28, - 30, - 32, - 34, - 36, - 38, - 40, - 42, - 44, - 46, - 48, - 50, - 52, - 54, - 56, - 58, - 60, - 62, - 64, - 66, - 68, - 70, - 72, - 74, - 76, - 78, - 80, - 82, - 84, - 86, - 88, - 90, - 92, - 94, - 96, - 98, - 100, - 102, - 104, - 106, - 108, - 110, - 112, - 114, - 116, - 118, - 120, - 122, - 124, - 126, - 128, - 130, - 132, - 134, - 136, - 138, - 140, - 142, - 144, - 146, - 148, - 150, - 152, - 154, - 156, - 158, - 160, - 162, - 164 - ] - } - }, - "links": { - "super": 166 - }, - "name": "v1", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 129, - 25 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1670": { + "1669": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -189375,7 +207941,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over a snapshot of the environment variables of this process.\n\nThis structure is created by [`env::vars()`]. See its documentation for more.\n\n[`env::vars()`]: vars", - "id": 1670, + "id": 1669, "inner": { "struct": { "generics": { @@ -189383,6 +207949,7 @@ "where_predicates": [] }, "impls": [ + 1670, 1671, 1672, 1673, @@ -189396,9 +207963,8 @@ 1681, 1682, 1683, - 1684, - 1688, - 1690 + 1687, + 1689 ], "kind": { "plain": { @@ -189409,7 +207975,7 @@ } }, "links": { - "vars": 1669 + "vars": 1668 }, "name": "Vars", "span": { @@ -189425,19 +207991,55 @@ }, "visibility": "public" }, - "1671": { + "167": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2015\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The 2015 version of the prelude of The Rust Standard Library.\n\nSee the [module-level documentation](self) for more.", + "id": 167, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 166 + ] + } + }, + "links": { + "self": 164 + }, + "name": "rust_2015", + "span": { + "begin": [ + 120, + 1 + ], + "end": [ + 120, + 18 + ], + "filename": "std/src/prelude/mod.rs" + }, + "visibility": "public" + }, + "1670": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1671, + "id": 1670, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -189462,19 +208064,19 @@ "span": null, "visibility": "default" }, - "1672": { + "1671": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1672, + "id": 1671, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -189499,19 +208101,19 @@ "span": null, "visibility": "default" }, - "1673": { + "1672": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1673, + "id": 1672, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -189526,7 +208128,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -189536,19 +208138,19 @@ "span": null, "visibility": "default" }, - "1674": { + "1673": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1674, + "id": 1673, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -189573,19 +208175,19 @@ "span": null, "visibility": "default" }, - "1675": { + "1674": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1675, + "id": 1674, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -189600,7 +208202,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -189610,19 +208212,19 @@ "span": null, "visibility": "default" }, - "1676": { + "1675": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1676, + "id": 1675, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -189637,7 +208239,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -189647,12 +208249,12 @@ "span": null, "visibility": "default" }, - "1677": { + "1676": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1677, + "id": 1676, "inner": { "impl": { "blanket_impl": { @@ -189661,7 +208263,7 @@ "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -189706,7 +208308,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -189722,7 +208324,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -189731,23 +208333,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1678": { + "1677": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1678, + "id": 1677, "inner": { "impl": { "blanket_impl": { @@ -189756,7 +208358,7 @@ "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -189801,7 +208403,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -189817,7 +208419,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -189826,23 +208428,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1679": { + "1678": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1679, + "id": 1678, "inner": { "impl": { "blanket_impl": { @@ -189851,7 +208453,7 @@ "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -189917,7 +208519,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -189942,59 +208544,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "168": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2015\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 168, - "inner": { - "use": { - "id": 167, - "is_glob": true, - "name": "v1", - "source": "super::v1" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 123, - 5 - ], - "end": [ - 123, - 26 - ], - "filename": "std/src/prelude/mod.rs" - }, - "visibility": "public" - }, - "1680": { + "1679": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1680, + "id": 1679, "inner": { "impl": { "blanket_impl": { @@ -190003,7 +208569,7 @@ "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -190026,7 +208592,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -190051,23 +208617,59 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1681": { + "168": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2018\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 168, + "inner": { + "use": { + "id": 165, + "is_glob": true, + "name": "v1", + "source": "super::v1" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 133, + 5 + ], + "end": [ + 133, + 26 + ], + "filename": "std/src/prelude/mod.rs" + }, + "visibility": "public" + }, + "1680": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1681, + "id": 1680, "inner": { "impl": { "blanket_impl": { @@ -190076,7 +208678,7 @@ "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -190124,7 +208726,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -190142,8 +208744,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -190159,7 +208761,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -190168,23 +208770,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1682": { + "1681": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1682, + "id": 1681, "inner": { "impl": { "blanket_impl": { @@ -190193,7 +208795,7 @@ "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -190259,8 +208861,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -190276,7 +208878,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -190285,23 +208887,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1683": { + "1682": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1683, + "id": 1682, "inner": { "impl": { "blanket_impl": { @@ -190310,7 +208912,7 @@ "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -190358,12 +208960,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -190383,12 +208985,12 @@ }, "visibility": "default" }, - "1684": { + "1683": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1684, + "id": 1683, "inner": { "impl": { "blanket_impl": { @@ -190397,7 +208999,7 @@ "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -190469,12 +209071,12 @@ }, "visibility": "default" }, - "1685": { + "1684": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1685, + "id": 1684, "inner": { "assoc_type": { "bounds": [], @@ -190487,14 +209089,14 @@ { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } }, { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -190517,12 +209119,12 @@ }, "visibility": "default" }, - "1686": { + "1685": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1686, + "id": 1685, "inner": { "function": { "generics": { @@ -190563,14 +209165,14 @@ { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } }, { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -190603,12 +209205,12 @@ }, "visibility": "default" }, - "1687": { + "1686": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1687, + "id": 1686, "inner": { "function": { "generics": { @@ -190681,7 +209283,7 @@ }, "visibility": "default" }, - "1688": { + "1687": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -190690,14 +209292,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1688, + "id": 1687, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -190709,9 +209311,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1684, 1685, - 1686, - 1687 + 1686 ], "provided_trait_methods": [ "next_chunk", @@ -190813,12 +209415,12 @@ }, "visibility": "default" }, - "1689": { + "1688": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1689, + "id": 1688, "inner": { "function": { "generics": { @@ -190864,7 +209466,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -190876,7 +209478,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -190898,43 +209500,7 @@ }, "visibility": "default" }, - "169": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2015\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The 2015 version of the prelude of The Rust Standard Library.\n\nSee the [module-level documentation](self) for more.", - "id": 169, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 168 - ] - } - }, - "links": { - "self": 166 - }, - "name": "rust_2015", - "span": { - "begin": [ - 120, - 1 - ], - "end": [ - 120, - 18 - ], - "filename": "std/src/prelude/mod.rs" - }, - "visibility": "public" - }, - "1690": { + "1689": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -190943,14 +209509,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1690, + "id": 1689, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1670, + "id": 1669, "path": "Vars" } }, @@ -190962,12 +209528,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1689 + 1688 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -190987,7 +209553,43 @@ }, "visibility": "default" }, - "1692": { + "169": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2018\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The 2018 version of the prelude of The Rust Standard Library.\n\nSee the [module-level documentation](self) for more.", + "id": 169, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 168 + ] + } + }, + "links": { + "self": 164 + }, + "name": "rust_2018", + "span": { + "begin": [ + 130, + 1 + ], + "end": [ + 130, + 18 + ], + "filename": "std/src/prelude/mod.rs" + }, + "visibility": "public" + }, + "1691": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -191001,7 +209603,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns an iterator of (variable, value) pairs of OS strings, for all the\nenvironment variables of the current process.\n\nThe returned iterator contains a snapshot of the process's environment\nvariables at the time of this invocation. Modifications to environment\nvariables afterwards will not be reflected in the returned iterator.\n\nNote that the returned iterator will not check if the environment variables\nare valid Unicode. If you want to panic on invalid UTF-8,\nuse the [`vars`] function instead.\n\n# Examples\n\n```\n// Print all environment variables.\nfor (key, value) in std::env::vars_os() {\n println!(\"{key:?}: {value:?}\");\n}\n```", - "id": 1692, + "id": 1691, "inner": { "function": { "generics": { @@ -191021,7 +209623,7 @@ "output": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } } @@ -191029,7 +209631,7 @@ } }, "links": { - "`vars`": 1669 + "`vars`": 1668 }, "name": "vars_os", "span": { @@ -191045,7 +209647,7 @@ }, "visibility": "public" }, - "1693": { + "1692": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -191054,7 +209656,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over a snapshot of the environment variables of this process.\n\nThis structure is created by [`env::vars_os()`]. See its documentation for more.\n\n[`env::vars_os()`]: vars_os", - "id": 1693, + "id": 1692, "inner": { "struct": { "generics": { @@ -191062,6 +209664,7 @@ "where_predicates": [] }, "impls": [ + 1693, 1694, 1695, 1696, @@ -191075,9 +209678,8 @@ 1704, 1705, 1706, - 1707, - 1712, - 1714 + 1711, + 1713 ], "kind": { "plain": { @@ -191088,7 +209690,7 @@ } }, "links": { - "vars_os": 1692 + "vars_os": 1691 }, "name": "VarsOs", "span": { @@ -191104,19 +209706,19 @@ }, "visibility": "public" }, - "1694": { + "1693": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1694, + "id": 1693, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191141,19 +209743,19 @@ "span": null, "visibility": "default" }, - "1695": { + "1694": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1695, + "id": 1694, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191178,19 +209780,19 @@ "span": null, "visibility": "default" }, - "1696": { + "1695": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1696, + "id": 1695, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191205,7 +209807,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -191215,19 +209817,19 @@ "span": null, "visibility": "default" }, - "1697": { + "1696": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1697, + "id": 1696, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191252,19 +209854,19 @@ "span": null, "visibility": "default" }, - "1698": { + "1697": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1698, + "id": 1697, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191279,7 +209881,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -191289,19 +209891,19 @@ "span": null, "visibility": "default" }, - "1699": { + "1698": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1699, + "id": 1698, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191316,7 +209918,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -191326,48 +209928,12 @@ "span": null, "visibility": "default" }, - "170": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2018\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 170, - "inner": { - "use": { - "id": 167, - "is_glob": true, - "name": "v1", - "source": "super::v1" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 133, - 5 - ], - "end": [ - 133, - 26 - ], - "filename": "std/src/prelude/mod.rs" - }, - "visibility": "public" - }, - "1700": { + "1699": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1700, + "id": 1699, "inner": { "impl": { "blanket_impl": { @@ -191376,7 +209942,7 @@ "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191421,7 +209987,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -191437,7 +210003,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -191446,23 +210012,59 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1701": { + "170": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2021\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 170, + "inner": { + "use": { + "id": 165, + "is_glob": true, + "name": "v1", + "source": "super::v1" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 143, + 5 + ], + "end": [ + 143, + 26 + ], + "filename": "std/src/prelude/mod.rs" + }, + "visibility": "public" + }, + "1700": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1701, + "id": 1700, "inner": { "impl": { "blanket_impl": { @@ -191471,7 +210073,7 @@ "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191516,7 +210118,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -191532,7 +210134,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -191541,23 +210143,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1702": { + "1701": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1702, + "id": 1701, "inner": { "impl": { "blanket_impl": { @@ -191566,7 +210168,7 @@ "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191632,7 +210234,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -191657,23 +210259,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1703": { + "1702": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1703, + "id": 1702, "inner": { "impl": { "blanket_impl": { @@ -191682,7 +210284,7 @@ "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191705,7 +210307,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -191730,23 +210332,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1704": { + "1703": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1704, + "id": 1703, "inner": { "impl": { "blanket_impl": { @@ -191755,7 +210357,7 @@ "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191803,7 +210405,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -191821,8 +210423,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -191838,7 +210440,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -191847,23 +210449,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1705": { + "1704": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1705, + "id": 1704, "inner": { "impl": { "blanket_impl": { @@ -191872,7 +210474,7 @@ "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -191938,8 +210540,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -191955,7 +210557,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -191964,23 +210566,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1706": { + "1705": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1706, + "id": 1705, "inner": { "impl": { "blanket_impl": { @@ -191989,7 +210591,7 @@ "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -192037,12 +210639,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -192062,12 +210664,12 @@ }, "visibility": "default" }, - "1707": { + "1706": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1707, + "id": 1706, "inner": { "impl": { "blanket_impl": { @@ -192076,7 +210678,7 @@ "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -192148,12 +210750,12 @@ }, "visibility": "default" }, - "1708": { + "1707": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1708, + "id": 1707, "inner": { "assoc_type": { "bounds": [], @@ -192166,14 +210768,14 @@ { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -192196,7 +210798,7 @@ }, "visibility": "default" }, - "1709": { + "1708": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"OsString\")]" @@ -192211,7 +210813,7 @@ "crate_id": 0, "deprecation": null, "docs": "A type that can represent owned, mutable platform-native strings, but is\ncheaply inter-convertible with Rust strings.\n\nThe need for this type arises from the fact that:\n\n* On Unix systems, strings are often arbitrary sequences of non-zero\n bytes, in many cases interpreted as UTF-8.\n\n* On Windows, strings are often arbitrary sequences of non-zero 16-bit\n values, interpreted as UTF-16 when it is valid to do so.\n\n* In Rust, strings are always valid UTF-8, which may contain zeros.\n\n`OsString` and [`OsStr`] bridge this gap by simultaneously representing Rust\nand platform-native string values, and in particular allowing a Rust string\nto be converted into an \"OS\" string with no cost if possible. A consequence\nof this is that `OsString` instances are *not* `NUL` terminated; in order\nto pass to e.g., Unix system call, you should create a [`CStr`].\n\n`OsString` is to &[OsStr] as [`String`] is to &[str]: the former\nin each pair are owned strings; the latter are borrowed\nreferences.\n\nNote, `OsString` and [`OsStr`] internally do not necessarily hold strings in\nthe form native to the platform; While on Unix, strings are stored as a\nsequence of 8-bit values, on Windows, where strings are 16-bit value based\nas just discussed, strings are also actually stored as a sequence of 8-bit\nvalues, encoded in a less-strict variant of UTF-8. This is useful to\nunderstand when handling capacity and length values.\n\n# Capacity of `OsString`\n\nCapacity uses units of UTF-8 bytes for OS strings which were created from valid unicode, and\nuses units of bytes in an unspecified encoding for other contents. On a given target, all\n`OsString` and `OsStr` values use the same units for capacity, so the following will work:\n```\nuse std::ffi::{OsStr, OsString};\n\nfn concat_os_strings(a: &OsStr, b: &OsStr) -> OsString {\n let mut ret = OsString::with_capacity(a.len() + b.len()); // This will allocate\n ret.push(a); // This will not allocate further\n ret.push(b); // This will not allocate further\n ret\n}\n```\n\n# Creating an `OsString`\n\n**From a Rust string**: `OsString` implements\n[From]<[String]>, so you can use my_string.[into]\\() to\ncreate an `OsString` from a normal Rust string.\n\n**From slices:** Just like you can start with an empty Rust\n[`String`] and then [`String::push_str`] some &[str]\nsub-string slices into it, you can create an empty `OsString` with\nthe [`OsString::new`] method and then push string slices into it with the\n[`OsString::push`] method.\n\n# Extracting a borrowed reference to the whole OS string\n\nYou can use the [`OsString::as_os_str`] method to get an &[OsStr] from\nan `OsString`; this is effectively a borrowed reference to the\nwhole string.\n\n# Conversions\n\nSee the [module's toplevel documentation about conversions][conversions] for a discussion on\nthe traits which `OsString` implements for [conversions] from/to native representations.\n\n[`CStr`]: crate::ffi::CStr\n[conversions]: super#conversions\n[into]: Into::into", - "id": 1709, + "id": 1708, "inner": { "struct": { "generics": { @@ -192219,6 +210821,8 @@ "where_predicates": [] }, "impls": [ + 1951, + 1952, 1953, 1954, 1955, @@ -192231,36 +210835,35 @@ 1962, 1963, 1964, - 1965, 1966, - 1968, - 1971, + 1969, + 1970, 1972, 1974, - 1976, + 1978, 1980, - 1982, + 1984, 1986, - 1988, - 1991, + 1989, + 1992, 1994, 1996, 1998, 2000, 2002, 2004, - 2006, - 2007, + 2005, + 2012, 2014, 2016, 2018, 2020, - 2022, + 2023, 2025, 2027, - 2029, - 2032, - 2036, + 2030, + 2034, + 2037, 2039, 2041, 2043, @@ -192276,17 +210879,17 @@ 2063, 2065, 2067, - 2069, + 2071, 2073, 2075, 2077, 2079, 2081, 2083, - 2085, - 2088, - 2092, - 2095, + 2086, + 2090, + 2093, + 2096, 2098, 2100, 2102, @@ -192304,8 +210907,7 @@ 2126, 2128, 2130, - 2132, - 2134 + 2132 ], "kind": { "plain": { @@ -192317,18 +210919,18 @@ }, "links": { "From": 37, - "Into::into": 1929, - "OsStr": 1720, - "String": 161, - "`OsStr`": 1720, - "`OsString::as_os_str`": 1933, - "`OsString::new`": 1931, - "`OsString::push`": 1932, - "`String::push_str`": 1930, - "`String`": 161, - "crate::ffi::CStr": 1921, - "str": 1928, - "super#conversions": 1934 + "Into::into": 1927, + "OsStr": 1719, + "String": 159, + "`OsStr`": 1719, + "`OsString::as_os_str`": 1931, + "`OsString::new`": 1929, + "`OsString::push`": 1930, + "`String::push_str`": 1928, + "`String`": 159, + "crate::ffi::CStr": 1919, + "str": 1926, + "super#conversions": 1932 }, "name": "OsString", "span": { @@ -192344,48 +210946,12 @@ }, "visibility": "public" }, - "171": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2018\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The 2018 version of the prelude of The Rust Standard Library.\n\nSee the [module-level documentation](self) for more.", - "id": 171, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 170 - ] - } - }, - "links": { - "self": 166 - }, - "name": "rust_2018", - "span": { - "begin": [ - 130, - 1 - ], - "end": [ - 130, - 18 - ], - "filename": "std/src/prelude/mod.rs" - }, - "visibility": "public" - }, - "1710": { + "1709": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1710, + "id": 1709, "inner": { "function": { "generics": { @@ -192426,14 +210992,14 @@ { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -192466,12 +211032,48 @@ }, "visibility": "default" }, - "1711": { + "171": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2021\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 171, + "inner": { + "use": { + "id": 172, + "is_glob": true, + "name": "rust_2021", + "source": "core::prelude::rust_2021" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 147, + 5 + ], + "end": [ + 147, + 41 + ], + "filename": "std/src/prelude/mod.rs" + }, + "visibility": "public" + }, + "1710": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1711, + "id": 1710, "inner": { "function": { "generics": { @@ -192544,7 +211146,7 @@ }, "visibility": "default" }, - "1712": { + "1711": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -192553,14 +211155,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1712, + "id": 1711, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -192572,9 +211174,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1708, - 1710, - 1711 + 1707, + 1709, + 1710 ], "provided_trait_methods": [ "next_chunk", @@ -192676,12 +211278,12 @@ }, "visibility": "default" }, - "1713": { + "1712": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1713, + "id": 1712, "inner": { "function": { "generics": { @@ -192727,7 +211329,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -192739,7 +211341,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -192761,7 +211363,7 @@ }, "visibility": "default" }, - "1714": { + "1713": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -192770,14 +211372,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1714, + "id": 1713, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1693, + "id": 1692, "path": "VarsOs" } }, @@ -192789,12 +211391,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1713 + 1712 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -192814,7 +211416,7 @@ }, "visibility": "default" }, - "1715": { + "1714": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -192823,7 +211425,7 @@ "crate_id": 0, "deprecation": null, "docs": "The specified environment variable was not present in the current\nprocess's environment.", - "id": 1715, + "id": 1714, "inner": { "variant": { "discriminant": null, @@ -192845,7 +211447,7 @@ }, "visibility": "default" }, - "1716": { + "1715": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -192854,13 +211456,13 @@ "crate_id": 0, "deprecation": null, "docs": "The specified environment variable was found, but it did not contain\nvalid unicode data. The found data is returned as a payload of this\nvariant.", - "id": 1716, + "id": 1715, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 1722 + 1721 ] } } @@ -192880,7 +211482,7 @@ }, "visibility": "default" }, - "1717": { + "1716": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -192894,7 +211496,7 @@ "crate_id": 0, "deprecation": null, "docs": "Fetches the environment variable `key` from the current process, returning\n[`None`] if the variable isn't set or if there is another error.\n\nIt may return `None` if the environment variable's name contains\nthe equal sign character (`=`) or the NUL character.\n\nNote that this function will not check if the environment variable\nis valid Unicode. If you want to have an error on invalid UTF-8,\nuse the [`var`] function instead.\n\n# Examples\n\n```\nuse std::env;\n\nlet key = \"HOME\";\nmatch env::var_os(key) {\n Some(val) => println!(\"{key}: {val:?}\"),\n None => println!(\"{key} is not defined in the environment.\")\n}\n```\n\nIf expecting a delimited variable (such as `PATH`), [`split_paths`]\ncan be used to separate items.", - "id": 1717, + "id": 1716, "inner": { "function": { "generics": { @@ -192915,7 +211517,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -192965,7 +211567,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } } @@ -192983,8 +211585,8 @@ }, "links": { "`None`": 53, - "`split_paths`": 1721, - "`var`": 1718 + "`split_paths`": 1720, + "`var`": 1717 }, "name": "var_os", "span": { @@ -193000,7 +211602,7 @@ }, "visibility": "public" }, - "1718": { + "1717": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -193009,7 +211611,7 @@ "crate_id": 0, "deprecation": null, "docs": "Fetches the environment variable `key` from the current process.\n\n# Errors\n\nReturns [`VarError::NotPresent`] if:\n- The variable is not set.\n- The variable's name contains an equal sign or NUL (`'='` or `'\\0'`).\n\nReturns [`VarError::NotUnicode`] if the variable's value is not valid\nUnicode. If this is not desired, consider using [`var_os`].\n\nUse [`env!`] or [`option_env!`] instead if you want to check environment\nvariables at compile time.\n\n# Examples\n\n```\nuse std::env;\n\nlet key = \"HOME\";\nmatch env::var(key) {\n Ok(val) => println!(\"{key}: {val:?}\"),\n Err(e) => println!(\"couldn't interpret {key}: {e}\"),\n}\n```", - "id": 1718, + "id": 1717, "inner": { "function": { "generics": { @@ -193030,7 +211632,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -193080,7 +211682,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -193089,7 +211691,7 @@ "type": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } } @@ -193106,11 +211708,11 @@ } }, "links": { - "`VarError::NotPresent`": 1715, - "`VarError::NotUnicode`": 1716, + "`VarError::NotPresent`": 1714, + "`VarError::NotUnicode`": 1715, "`env!`": 73, - "`option_env!`": 93, - "`var_os`": 1717 + "`option_env!`": 91, + "`var_os`": 1716 }, "name": "var", "span": { @@ -193126,7 +211728,7 @@ }, "visibility": "public" }, - "1719": { + "1718": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -193135,7 +211737,7 @@ "crate_id": 0, "deprecation": null, "docs": "The error type for operations interacting with environment variables.\nPossibly returned from [`env::var()`].\n\n[`env::var()`]: var", - "id": 1719, + "id": 1718, "inner": { "enum": { "generics": { @@ -193144,6 +211746,7 @@ }, "has_stripped_variants": false, "impls": [ + 1722, 1723, 1724, 1725, @@ -193159,23 +211762,22 @@ 1735, 1736, 1737, - 1738, + 1739, 1740, - 1741, + 1742, 1743, - 1744, - 1746, - 1748, - 1750 + 1745, + 1747, + 1748 ], "variants": [ - 1715, - 1716 + 1714, + 1715 ] } }, "links": { - "var": 1718 + "var": 1717 }, "name": "VarError", "span": { @@ -193191,43 +211793,7 @@ }, "visibility": "public" }, - "172": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2021\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 172, - "inner": { - "use": { - "id": 167, - "is_glob": true, - "name": "v1", - "source": "super::v1" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 143, - 5 - ], - "end": [ - 143, - 26 - ], - "filename": "std/src/prelude/mod.rs" - }, - "visibility": "public" - }, - "1720": { + "1719": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"OsStr\")]" @@ -193250,7 +211816,7 @@ "crate_id": 0, "deprecation": null, "docs": "Borrowed reference to an OS string (see [`OsString`]).\n\nThis type represents a borrowed reference to a string in the operating system's preferred\nrepresentation.\n\n`&OsStr` is to [`OsString`] as &[str] is to [`String`]: the\nformer in each pair are borrowed references; the latter are owned strings.\n\nSee the [module's toplevel documentation about conversions][conversions] for a discussion on\nthe traits which `OsStr` implements for [conversions] from/to native representations.\n\n[conversions]: super#conversions", - "id": 1720, + "id": 1719, "inner": { "struct": { "generics": { @@ -193258,6 +211824,8 @@ "where_predicates": [] }, "impls": [ + 2152, + 2153, 2154, 2155, 2156, @@ -193267,29 +211835,28 @@ 2160, 2161, 2162, - 2163, 2164, 2166, 2168, + 2025, 2170, - 2027, 2172, 2174, 2176, 2178, 2180, 2182, - 2184, + 2186, 2188, 2190, 2192, 2194, 2196, - 2198, - 2199, + 2197, + 2203, 2205, 2207, - 2209, + 2041, 2043, 2045, 2047, @@ -193297,7 +211864,7 @@ 2051, 2053, 2055, - 2057, + 2209, 2211, 2213, 2215, @@ -193307,22 +211874,22 @@ 2223, 2225, 2227, - 2229, - 2232, - 2067, + 2230, + 2065, + 2235, 2237, + 2067, 2239, - 2069, 2241, - 2243, - 2077, - 2083, - 2246, - 2250, - 2254, - 2257, - 2260, - 2263, + 2075, + 2081, + 2244, + 2248, + 2252, + 2255, + 2258, + 2261, + 2264, 2266, 2268, 2270, @@ -193352,8 +211919,7 @@ 2318, 2320, 2322, - 2324, - 2326 + 2324 ], "kind": { "plain": { @@ -193364,10 +211930,10 @@ } }, "links": { - "`OsString`": 1709, - "`String`": 161, - "str": 1928, - "super#conversions": 1934 + "`OsString`": 1708, + "`String`": 159, + "str": 1926, + "super#conversions": 1932 }, "name": "OsStr", "span": { @@ -193383,7 +211949,7 @@ }, "visibility": "public" }, - "1721": { + "1720": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -193392,7 +211958,7 @@ "crate_id": 0, "deprecation": null, "docs": "Parses input according to platform conventions for the `PATH`\nenvironment variable.\n\nReturns an iterator over the paths contained in `unparsed`. The iterator\nelement type is [`PathBuf`].\n\nOn most Unix platforms, the separator is `:` and on Windows it is `;`. This\nalso performs unquoting on Windows.\n\n[`join_paths`] can be used to recombine elements.\n\n# Panics\n\nThis will panic on systems where there is no delimited `PATH` variable,\nsuch as UEFI.\n\n# Examples\n\n```\nuse std::env;\n\nlet key = \"PATH\";\nmatch env::var_os(key) {\n Some(paths) => {\n for path in env::split_paths(&paths) {\n println!(\"'{}'\", path.display());\n }\n }\n None => println!(\"{key} is not defined in the environment.\")\n}\n```", - "id": 1721, + "id": 1720, "inner": { "function": { "generics": { @@ -193413,7 +211979,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -193483,7 +212049,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } } @@ -193491,24 +212057,24 @@ } }, "links": { - "`PathBuf`": 1664, - "`join_paths`": 1779 + "`PathBuf`": 1663, + "`join_paths`": 1777 }, "name": "split_paths", "span": { "begin": [ - 490, + 482, 1 ], "end": [ - 492, + 484, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1722": { + "1721": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -193517,12 +212083,12 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1722, + "id": 1721, "inner": { "struct_field": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } } @@ -193542,19 +212108,19 @@ }, "visibility": "default" }, - "1723": { + "1722": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1723, + "id": 1722, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -193579,19 +212145,19 @@ "span": null, "visibility": "default" }, - "1724": { + "1723": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1724, + "id": 1723, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -193616,19 +212182,19 @@ "span": null, "visibility": "default" }, - "1725": { + "1724": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1725, + "id": 1724, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -193643,7 +212209,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -193653,19 +212219,19 @@ "span": null, "visibility": "default" }, - "1726": { + "1725": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1726, + "id": 1725, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -193690,19 +212256,19 @@ "span": null, "visibility": "default" }, - "1727": { + "1726": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1727, + "id": 1726, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -193717,7 +212283,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -193727,19 +212293,19 @@ "span": null, "visibility": "default" }, - "1728": { + "1727": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1728, + "id": 1727, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -193754,7 +212320,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -193764,12 +212330,12 @@ "span": null, "visibility": "default" }, - "1729": { + "1728": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1729, + "id": 1728, "inner": { "impl": { "blanket_impl": { @@ -193778,7 +212344,7 @@ "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -193823,7 +212389,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -193839,7 +212405,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -193848,59 +212414,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "173": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2021\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 173, - "inner": { - "use": { - "id": 174, - "is_glob": true, - "name": "rust_2021", - "source": "core::prelude::rust_2021" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 147, - 5 - ], - "end": [ - 147, - 41 - ], - "filename": "std/src/prelude/mod.rs" - }, - "visibility": "public" - }, - "1730": { + "1729": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1730, + "id": 1729, "inner": { "impl": { "blanket_impl": { @@ -193909,7 +212439,7 @@ "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -193954,7 +212484,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -193970,7 +212500,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -193979,23 +212509,60 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1731": { + "173": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2021\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The 2021 version of the prelude of The Rust Standard Library.\n\nSee the [module-level documentation](self) for more.", + "id": 173, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 170, + 171 + ] + } + }, + "links": { + "self": 164 + }, + "name": "rust_2021", + "span": { + "begin": [ + 140, + 1 + ], + "end": [ + 140, + 18 + ], + "filename": "std/src/prelude/mod.rs" + }, + "visibility": "public" + }, + "1730": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1731, + "id": 1730, "inner": { "impl": { "blanket_impl": { @@ -194004,7 +212571,7 @@ "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -194031,7 +212598,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -194063,23 +212630,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "1732": { + "1731": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1732, + "id": 1731, "inner": { "impl": { "blanket_impl": { @@ -194088,7 +212655,7 @@ "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -194154,7 +212721,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -194179,23 +212746,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1733": { + "1732": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1733, + "id": 1732, "inner": { "impl": { "blanket_impl": { @@ -194204,7 +212771,7 @@ "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -194227,7 +212794,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -194252,23 +212819,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1734": { + "1733": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1734, + "id": 1733, "inner": { "impl": { "blanket_impl": { @@ -194277,7 +212844,7 @@ "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -194325,7 +212892,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -194343,8 +212910,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -194360,7 +212927,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -194369,23 +212936,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1735": { + "1734": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1735, + "id": 1734, "inner": { "impl": { "blanket_impl": { @@ -194394,7 +212961,7 @@ "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -194460,8 +213027,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -194477,7 +213044,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -194486,23 +213053,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1736": { + "1735": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1736, + "id": 1735, "inner": { "impl": { "blanket_impl": { @@ -194511,7 +213078,7 @@ "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -194559,12 +213126,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -194584,12 +213151,12 @@ }, "visibility": "default" }, - "1737": { + "1736": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1737, + "id": 1736, "inner": { "impl": { "blanket_impl": { @@ -194598,7 +213165,7 @@ "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -194625,7 +213192,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -194652,7 +213219,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -194661,23 +213228,23 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "1738": { + "1737": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1738, + "id": 1737, "inner": { "impl": { "blanket_impl": { @@ -194686,7 +213253,7 @@ "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -194747,7 +213314,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -194756,18 +213323,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "1739": { + "1738": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -194776,7 +213343,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1739, + "id": 1738, "inner": { "function": { "generics": { @@ -194822,7 +213389,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -194834,7 +213401,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -194856,7 +213423,7 @@ }, "visibility": "default" }, - "1740": { + "1739": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -194866,14 +213433,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1740, + "id": 1739, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -194885,12 +213452,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1739 + 1738 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -194910,7 +213477,43 @@ }, "visibility": "default" }, - "1741": { + "174": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 174, + "inner": { + "use": { + "id": 165, + "is_glob": true, + "name": "v1", + "source": "super::v1" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 157, + 5 + ], + "end": [ + 157, + 26 + ], + "filename": "std/src/prelude/mod.rs" + }, + "visibility": "public" + }, + "1740": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -194920,14 +213523,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1741, + "id": 1740, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -194962,7 +213565,7 @@ }, "visibility": "default" }, - "1742": { + "1741": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -194971,7 +213574,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1742, + "id": 1741, "inner": { "function": { "generics": { @@ -195008,7 +213611,7 @@ "type": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } } @@ -195038,7 +213641,7 @@ }, "visibility": "default" }, - "1743": { + "1742": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -195048,14 +213651,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1743, + "id": 1742, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -195067,14 +213670,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1742 + 1741 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -195094,7 +213697,7 @@ }, "visibility": "default" }, - "1744": { + "1743": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -195104,14 +213707,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1744, + "id": 1743, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -195128,7 +213731,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -195148,7 +213751,7 @@ }, "visibility": "default" }, - "1745": { + "1744": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -195157,7 +213760,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1745, + "id": 1744, "inner": { "function": { "generics": { @@ -195190,7 +213793,7 @@ "output": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } } @@ -195212,7 +213815,7 @@ }, "visibility": "default" }, - "1746": { + "1745": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -195222,14 +213825,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1746, + "id": 1745, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -195241,14 +213844,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1745 + 1744 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -195268,154 +213871,12 @@ }, "visibility": "default" }, - "1747": { + "1746": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1747, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 288, - 5 - ], - "end": [ - 295, - 6 - ], - "filename": "std/src/env.rs" - }, - "visibility": "default" - }, - "1748": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1748, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 1719, - "path": "VarError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 1747 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 287, - 1 - ], - "end": [ - 296, - 2 - ], - "filename": "std/src/env.rs" - }, - "visibility": "default" - }, - "1749": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1749, + "id": 1746, "inner": { "function": { "generics": { @@ -195442,74 +213903,113 @@ } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "description", + "name": "fmt", "span": { "begin": [ - 301, + 288, 5 ], "end": [ - 306, + 295, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "175": { + "1747": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"prelude_2021\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "The 2021 version of the prelude of The Rust Standard Library.\n\nSee the [module-level documentation](self) for more.", - "id": 175, + "docs": null, + "id": 1747, "inner": { - "module": { - "is_crate": false, - "is_stripped": false, + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 1718, + "path": "VarError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, "items": [ - 172, - 173 - ] + 1746 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 436, + "path": "Display" + } } }, - "links": { - "self": 166 - }, - "name": "rust_2021", + "links": {}, + "name": null, "span": { "begin": [ - 140, + 287, 1 ], "end": [ - 140, - 18 + 296, + 2 ], - "filename": "std/src/prelude/mod.rs" + "filename": "std/src/env.rs" }, - "visibility": "public" + "visibility": "default" }, - "1750": { + "1748": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -195518,14 +214018,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1750, + "id": 1748, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1719, + "id": 1718, "path": "VarError" } }, @@ -195536,9 +214036,7 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 1749 - ], + "items": [], "provided_trait_methods": [ "source", "type_id", @@ -195561,14 +214059,14 @@ 1 ], "end": [ - 307, - 2 + 299, + 27 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1751": { + "1749": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -195576,8 +214074,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "A trait for objects which can be converted or resolved to one or more\n[`SocketAddr`] values.\n\nThis trait is used for generic address resolution when constructing network\nobjects. By default it is implemented for the following types:\n\n * [`SocketAddr`]: [`to_socket_addrs`] is the identity function.\n\n * [`SocketAddrV4`], [`SocketAddrV6`], ([IpAddr], [u16]),\n ([Ipv4Addr], [u16]), ([Ipv6Addr], [u16]):\n [`to_socket_addrs`] constructs a [`SocketAddr`] trivially.\n\n * (&[str], [u16]): &[str] should be either a string representation\n of an [`IpAddr`] address as expected by [`FromStr`] implementation or a host\n name. [`u16`] is the port number.\n\n * &[str]: the string should be either a string representation of a\n [`SocketAddr`] as expected by its [`FromStr`] implementation or a string like\n `:` pair where `` is a [`u16`] value.\n\nThis trait allows constructing network objects like [`TcpStream`] or\n[`UdpSocket`] easily with values of various types for the bind/connection\naddress. It is needed because sometimes one type is more appropriate than\nthe other: for simple uses a string like `\"localhost:12345\"` is much nicer\nthan manual construction of the corresponding [`SocketAddr`], but sometimes\n[`SocketAddr`] value is *the* main source of the address, and converting it to\nsome other type (e.g., a string) just for it to be converted back to\n[`SocketAddr`] in constructor methods is pointless.\n\nAddresses returned by the operating system that are not IP addresses are\nsilently ignored.\n\n[`FromStr`]: crate::str::FromStr \"std::str::FromStr\"\n[`TcpStream`]: crate::net::TcpStream \"net::TcpStream\"\n[`to_socket_addrs`]: ToSocketAddrs::to_socket_addrs\n[`UdpSocket`]: crate::net::UdpSocket \"net::UdpSocket\"\n\n# Examples\n\nCreating a [`SocketAddr`] iterator that yields one item:\n\n```\nuse std::net::{ToSocketAddrs, SocketAddr};\n\nlet addr = SocketAddr::from(([127, 0, 0, 1], 443));\nlet mut addrs_iter = addr.to_socket_addrs().unwrap();\n\nassert_eq!(Some(addr), addrs_iter.next());\nassert!(addrs_iter.next().is_none());\n```\n\nCreating a [`SocketAddr`] iterator from a hostname:\n\n```no_run\nuse std::net::{SocketAddr, ToSocketAddrs};\n\n// assuming 'localhost' resolves to 127.0.0.1\nlet mut addrs_iter = \"localhost:443\".to_socket_addrs().unwrap();\nassert_eq!(addrs_iter.next(), Some(SocketAddr::from(([127, 0, 0, 1], 443))));\nassert!(addrs_iter.next().is_none());\n\n// assuming 'foo' does not resolve\nassert!(\"foo:443\".to_socket_addrs().is_err());\n```\n\nCreating a [`SocketAddr`] iterator that yields multiple items:\n\n```\nuse std::net::{SocketAddr, ToSocketAddrs};\n\nlet addr1 = SocketAddr::from(([0, 0, 0, 0], 80));\nlet addr2 = SocketAddr::from(([127, 0, 0, 1], 443));\nlet addrs = vec![addr1, addr2];\n\nlet mut addrs_iter = (&addrs[..]).to_socket_addrs().unwrap();\n\nassert_eq!(Some(addr1), addrs_iter.next());\nassert_eq!(Some(addr2), addrs_iter.next());\nassert!(addrs_iter.next().is_none());\n```\n\nAttempting to create a [`SocketAddr`] iterator from an improperly formatted\nsocket address `&str` (missing the port):\n\n```\nuse std::io;\nuse std::net::ToSocketAddrs;\n\nlet err = \"127.0.0.1\".to_socket_addrs().unwrap_err();\nassert_eq!(err.kind(), io::ErrorKind::InvalidInput);\n```\n\n[`TcpStream::connect`] is an example of a function that utilizes\n`ToSocketAddrs` as a trait bound on its parameter in order to accept\ndifferent types:\n\n```no_run\nuse std::net::{TcpStream, Ipv4Addr};\n\nlet stream = TcpStream::connect((\"127.0.0.1\", 443));\n// or\nlet stream = TcpStream::connect(\"127.0.0.1:443\");\n// or\nlet stream = TcpStream::connect((Ipv4Addr::new(127, 0, 0, 1), 443));\n```\n\n[`TcpStream::connect`]: crate::net::TcpStream::connect", - "id": 1751, + "docs": "A trait for objects which can be converted or resolved to one or more\n[`SocketAddr`] values.\n\nThis trait is used for generic address resolution when constructing network\nobjects. By default it is implemented for the following types:\n\n * [`SocketAddr`]: [`to_socket_addrs`] is the identity function.\n\n * [`SocketAddrV4`], [`SocketAddrV6`], ([IpAddr], [u16]),\n ([Ipv4Addr], [u16]), ([Ipv6Addr], [u16]):\n [`to_socket_addrs`] constructs a [`SocketAddr`] trivially.\n\n * (&[str], [u16]): &[str] should be either a string representation\n of an [`IpAddr`] address as expected by [`FromStr`] implementation or a host\n name. [`u16`] is the port number.\n\n * &[str]: the string should be either a string representation of a\n [`SocketAddr`] as expected by its [`FromStr`] implementation or a string like\n `:` pair where `` is a [`u16`] value.\n\n * &[[SocketAddr]]: all [`SocketAddr`] values in the slice will be used.\n\nThis trait allows constructing network objects like [`TcpStream`] or\n[`UdpSocket`] easily with values of various types for the bind/connection\naddress. It is needed because sometimes one type is more appropriate than\nthe other: for simple uses a string like `\"localhost:12345\"` is much nicer\nthan manual construction of the corresponding [`SocketAddr`], but sometimes\n[`SocketAddr`] value is *the* main source of the address, and converting it to\nsome other type (e.g., a string) just for it to be converted back to\n[`SocketAddr`] in constructor methods is pointless.\n\nAddresses returned by the operating system that are not IP addresses are\nsilently ignored.\n\n[`FromStr`]: crate::str::FromStr \"std::str::FromStr\"\n[`TcpStream`]: crate::net::TcpStream \"net::TcpStream\"\n[`to_socket_addrs`]: ToSocketAddrs::to_socket_addrs\n[`UdpSocket`]: crate::net::UdpSocket \"net::UdpSocket\"\n\n# Examples\n\nCreating a [`SocketAddr`] iterator that yields one item:\n\n```\nuse std::net::{ToSocketAddrs, SocketAddr};\n\nlet addr = SocketAddr::from(([127, 0, 0, 1], 443));\nlet mut addrs_iter = addr.to_socket_addrs().unwrap();\n\nassert_eq!(Some(addr), addrs_iter.next());\nassert!(addrs_iter.next().is_none());\n```\n\nCreating a [`SocketAddr`] iterator from a hostname:\n\n```no_run\nuse std::net::{SocketAddr, ToSocketAddrs};\n\n// assuming 'localhost' resolves to 127.0.0.1\nlet mut addrs_iter = \"localhost:443\".to_socket_addrs().unwrap();\nassert_eq!(addrs_iter.next(), Some(SocketAddr::from(([127, 0, 0, 1], 443))));\nassert!(addrs_iter.next().is_none());\n\n// assuming 'foo' does not resolve\nassert!(\"foo:443\".to_socket_addrs().is_err());\n```\n\nCreating a [`SocketAddr`] iterator that yields multiple items:\n\n```\nuse std::net::{SocketAddr, ToSocketAddrs};\n\nlet addr1 = SocketAddr::from(([0, 0, 0, 0], 80));\nlet addr2 = SocketAddr::from(([127, 0, 0, 1], 443));\nlet addrs = vec![addr1, addr2];\n\nlet mut addrs_iter = (&addrs[..]).to_socket_addrs().unwrap();\n\nassert_eq!(Some(addr1), addrs_iter.next());\nassert_eq!(Some(addr2), addrs_iter.next());\nassert!(addrs_iter.next().is_none());\n```\n\nAttempting to create a [`SocketAddr`] iterator from an improperly formatted\nsocket address `&str` (missing the port):\n\n```\nuse std::io;\nuse std::net::ToSocketAddrs;\n\nlet err = \"127.0.0.1\".to_socket_addrs().unwrap_err();\nassert_eq!(err.kind(), io::ErrorKind::InvalidInput);\n```\n\n[`TcpStream::connect`] is an example of a function that utilizes\n`ToSocketAddrs` as a trait bound on its parameter in order to accept\ndifferent types:\n\n```no_run\nuse std::net::{TcpStream, Ipv4Addr};\n\nlet stream = TcpStream::connect((\"127.0.0.1\", 443));\n// or\nlet stream = TcpStream::connect(\"127.0.0.1:443\");\n// or\nlet stream = TcpStream::connect((Ipv4Addr::new(127, 0, 0, 1), 443));\n```\n\n[`TcpStream::connect`]: crate::net::TcpStream::connect", + "id": 1749, "inner": { "trait": { "bounds": [], @@ -195586,60 +214084,97 @@ "where_predicates": [] }, "implementations": [ - 4442, - 4445, - 4448, - 4451, - 4454, - 4457, - 4461, - 4464, - 4467, - 4472, - 4475, - 4478 + 4443, + 4446, + 4449, + 4452, + 4455, + 4458, + 4462, + 4465, + 4468, + 4473, + 4476, + 4479 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 4435, - 4436 + 4436, + 4437 ] } }, "links": { - "IpAddr": 4421, - "Ipv4Addr": 4425, - "Ipv6Addr": 4427, - "ToSocketAddrs::to_socket_addrs": 4436, - "`IpAddr`": 4421, - "`SocketAddrV4`": 4432, - "`SocketAddrV6`": 4434, - "`SocketAddr`": 4430, - "`u16`": 2404, - "crate::net::TcpStream": 3047, - "crate::net::TcpStream::connect": 4438, - "crate::net::UdpSocket": 4437, - "crate::str::FromStr": 2072, - "str": 1928, - "u16": 2404 + "IpAddr": 4422, + "Ipv4Addr": 4426, + "Ipv6Addr": 4428, + "SocketAddr": 4431, + "ToSocketAddrs::to_socket_addrs": 4437, + "`IpAddr`": 4422, + "`SocketAddrV4`": 4433, + "`SocketAddrV6`": 4435, + "`SocketAddr`": 4431, + "`u16`": 2402, + "crate::net::TcpStream": 3049, + "crate::net::TcpStream::connect": 4439, + "crate::net::UdpSocket": 4438, + "crate::str::FromStr": 2070, + "str": 1926, + "u16": 2402 }, "name": "ToSocketAddrs", "span": { "begin": [ - 120, + 121, 1 ], "end": [ - 135, + 136, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "public" }, - "1752": { + "175": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"prelude_2024\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 175, + "inner": { + "use": { + "id": 176, + "is_glob": true, + "name": "rust_2024", + "source": "core::prelude::rust_2024" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 161, + 5 + ], + "end": [ + 161, + 41 + ], + "filename": "std/src/prelude/mod.rs" + }, + "visibility": "public" + }, + "1750": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -195648,7 +214183,7 @@ "crate_id": 0, "deprecation": null, "docs": "Inserts or updates an explicit environment variable mapping.\n\nThis method allows you to add an environment variable mapping to the spawned process or\noverwrite a previously set value. You can use [`Command::envs`] to set multiple environment\nvariables simultaneously.\n\nChild processes will inherit environment variables from their parent process by default.\nEnvironment variables explicitly set using [`Command::env`] take precedence over inherited\nvariables. You can disable environment variable inheritance entirely using\n[`Command::env_clear`] or for a single key using [`Command::env_remove`].\n\nNote that environment variable names are case-insensitive (but\ncase-preserving) on Windows and case-sensitive on all other platforms.\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nCommand::new(\"ls\")\n .env(\"PATH\", \"/bin\")\n .spawn()\n .expect(\"ls command failed to start\");\n```", - "id": 1752, + "id": 1750, "inner": { "function": { "generics": { @@ -195690,7 +214225,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -195726,7 +214261,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -195791,7 +214326,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } } @@ -195801,26 +214336,26 @@ } }, "links": { - "`Command::env_clear`": 1755, - "`Command::env_remove`": 1754, - "`Command::env`": 1752, - "`Command::envs`": 6931 + "`Command::env_clear`": 1753, + "`Command::env_remove`": 1752, + "`Command::env`": 1750, + "`Command::envs`": 6969 }, "name": "env", "span": { "begin": [ - 800, + 811, 5 ], "end": [ - 807, + 818, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "1753": { + "1751": { "attrs": [ { "other": "#[rustc_deprecated_safe_2024(audit_that =\n\"the environment access only happens in single-threaded code\")]" @@ -195832,7 +214367,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the environment variable `key` to the value `value` for the currently running\nprocess.\n\n# Safety\n\nThis function is safe to call in a single-threaded program.\n\nThis function is also always safe to call on Windows, in single-threaded\nand multi-threaded programs.\n\nIn multi-threaded programs on other operating systems, the only safe option is\nto not use `set_var` or `remove_var` at all.\n\nThe exact requirement is: you\nmust ensure that there are no other threads concurrently writing or\n*reading*(!) the environment through functions or global variables other\nthan the ones in this module. The problem is that these operating systems\ndo not provide a thread-safe way to read the environment, and most C\nlibraries, including libc itself, do not advertise which functions read\nfrom the environment. Even functions from the Rust standard library may\nread the environment without going through this module, e.g. for DNS\nlookups from [`std::net::ToSocketAddrs`]. No stable guarantee is made about\nwhich functions may read from the environment in future versions of a\nlibrary. All this makes it not practically possible for you to guarantee\nthat no other thread will read the environment, so the only safe option is\nto not use `set_var` or `remove_var` in multi-threaded programs at all.\n\nDiscussion of this unsafety on Unix may be found in:\n\n - [Austin Group Bugzilla (for POSIX)](https://austingroupbugs.net/view.php?id=188)\n - [GNU C library Bugzilla](https://sourceware.org/bugzilla/show_bug.cgi?id=15607#c2)\n\nTo pass an environment variable to a child process, you can instead use [`Command::env`].\n\n[`std::net::ToSocketAddrs`]: crate::net::ToSocketAddrs\n[`Command::env`]: crate::process::Command::env\n\n# Panics\n\nThis function may panic if `key` is empty, contains an ASCII equals sign `'='`\nor the NUL character `'\\0'`, or when `value` contains the NUL character.\n\n# Examples\n\n```\nuse std::env;\n\nlet key = \"KEY\";\nunsafe {\n env::set_var(key, \"VALUE\");\n}\nassert_eq!(env::var(key), Ok(\"VALUE\".to_string()));\n```", - "id": 1753, + "id": 1751, "inner": { "function": { "generics": { @@ -195853,7 +214388,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -195890,7 +214425,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -195942,24 +214477,24 @@ } }, "links": { - "crate::net::ToSocketAddrs": 1751, - "crate::process::Command::env": 1752 + "crate::net::ToSocketAddrs": 1749, + "crate::process::Command::env": 1750 }, "name": "set_var", "span": { "begin": [ - 366, + 358, 1 ], "end": [ - 371, + 363, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1754": { + "1752": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -195968,7 +214503,7 @@ "crate_id": 0, "deprecation": null, "docs": "Removes an explicitly set environment variable and prevents inheriting it from a parent\nprocess.\n\nThis method will remove the explicit value of an environment variable set via\n[`Command::env`] or [`Command::envs`]. In addition, it will prevent the spawned child\nprocess from inheriting that environment variable from its parent process.\n\nAfter calling [`Command::env_remove`], the value associated with its key from\n[`Command::get_envs`] will be [`None`].\n\nTo clear all explicitly set environment variables and disable all environment variable\ninheritance, you can use [`Command::env_clear`].\n\n# Examples\n\nPrevent any inherited `GIT_DIR` variable from changing the target of the `git` command,\nwhile allowing all other variables, like `GIT_AUTHOR_NAME`.\n\n```no_run\nuse std::process::Command;\n\nCommand::new(\"git\")\n .arg(\"commit\")\n .env_remove(\"GIT_DIR\")\n .spawn()?;\n# std::io::Result::Ok(())\n```", - "id": 1754, + "id": 1752, "inner": { "function": { "generics": { @@ -195989,7 +214524,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -196049,7 +214584,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } } @@ -196059,28 +214594,28 @@ } }, "links": { - "`Command::env_clear`": 1755, - "`Command::env_remove`": 1754, - "`Command::env`": 1752, - "`Command::envs`": 6931, - "`Command::get_envs`": 6932, + "`Command::env_clear`": 1753, + "`Command::env_remove`": 1752, + "`Command::env`": 1750, + "`Command::envs`": 6969, + "`Command::get_envs`": 6970, "`None`": 53 }, "name": "env_remove", "span": { "begin": [ - 884, + 895, 5 ], "end": [ - 887, + 898, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "1755": { + "1753": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -196089,7 +214624,7 @@ "crate_id": 0, "deprecation": null, "docs": "Clears all explicitly set environment variables and prevents inheriting any parent process\nenvironment variables.\n\nThis method will remove all explicitly added environment variables set via [`Command::env`]\nor [`Command::envs`]. In addition, it will prevent the spawned child process from inheriting\nany environment variable from its parent process.\n\nAfter calling [`Command::env_clear`], the iterator from [`Command::get_envs`] will be\nempty.\n\nYou can use [`Command::env_remove`] to clear a single mapping.\n\n# Examples\n\nThe behavior of `sort` is affected by `LANG` and `LC_*` environment variables.\nClearing the environment makes `sort`'s behavior independent of the parent processes' language.\n\n```no_run\nuse std::process::Command;\n\nCommand::new(\"sort\")\n .arg(\"file.txt\")\n .env_clear()\n .spawn()?;\n# std::io::Result::Ok(())\n```", - "id": 1755, + "id": 1753, "inner": { "function": { "generics": { @@ -196126,7 +214661,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } } @@ -196136,27 +214671,27 @@ } }, "links": { - "`Command::env_clear`": 1755, - "`Command::env_remove`": 1754, - "`Command::env`": 1752, - "`Command::envs`": 6931, - "`Command::get_envs`": 6932 + "`Command::env_clear`": 1753, + "`Command::env_remove`": 1752, + "`Command::env`": 1750, + "`Command::envs`": 6969, + "`Command::get_envs`": 6970 }, "name": "env_clear", "span": { "begin": [ - 916, + 927, 5 ], "end": [ - 919, + 930, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "1756": { + "1754": { "attrs": [ { "other": "#[rustc_deprecated_safe_2024(audit_that =\n\"the environment access only happens in single-threaded code\")]" @@ -196168,7 +214703,7 @@ "crate_id": 0, "deprecation": null, "docs": "Removes an environment variable from the environment of the currently running process.\n\n# Safety\n\nThis function is safe to call in a single-threaded program.\n\nThis function is also always safe to call on Windows, in single-threaded\nand multi-threaded programs.\n\nIn multi-threaded programs on other operating systems, the only safe option is\nto not use `set_var` or `remove_var` at all.\n\nThe exact requirement is: you\nmust ensure that there are no other threads concurrently writing or\n*reading*(!) the environment through functions or global variables other\nthan the ones in this module. The problem is that these operating systems\ndo not provide a thread-safe way to read the environment, and most C\nlibraries, including libc itself, do not advertise which functions read\nfrom the environment. Even functions from the Rust standard library may\nread the environment without going through this module, e.g. for DNS\nlookups from [`std::net::ToSocketAddrs`]. No stable guarantee is made about\nwhich functions may read from the environment in future versions of a\nlibrary. All this makes it not practically possible for you to guarantee\nthat no other thread will read the environment, so the only safe option is\nto not use `set_var` or `remove_var` in multi-threaded programs at all.\n\nDiscussion of this unsafety on Unix may be found in:\n\n - [Austin Group Bugzilla](https://austingroupbugs.net/view.php?id=188)\n - [GNU C library Bugzilla](https://sourceware.org/bugzilla/show_bug.cgi?id=15607#c2)\n\nTo prevent a child process from inheriting an environment variable, you can\ninstead use [`Command::env_remove`] or [`Command::env_clear`].\n\n[`std::net::ToSocketAddrs`]: crate::net::ToSocketAddrs\n[`Command::env_remove`]: crate::process::Command::env_remove\n[`Command::env_clear`]: crate::process::Command::env_clear\n\n# Panics\n\nThis function may panic if `key` is empty, contains an ASCII equals sign\n`'='` or the NUL character `'\\0'`, or when the value contains the NUL\ncharacter.\n\n# Examples\n\n```no_run\nuse std::env;\n\nlet key = \"KEY\";\nunsafe {\n env::set_var(key, \"VALUE\");\n}\nassert_eq!(env::var(key), Ok(\"VALUE\".to_string()));\n\nunsafe {\n env::remove_var(key);\n}\nassert!(env::var(key).is_err());\n```", - "id": 1756, + "id": 1754, "inner": { "function": { "generics": { @@ -196189,7 +214724,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -196235,25 +214770,25 @@ } }, "links": { - "crate::net::ToSocketAddrs": 1751, - "crate::process::Command::env_clear": 1755, - "crate::process::Command::env_remove": 1754 + "crate::net::ToSocketAddrs": 1749, + "crate::process::Command::env_clear": 1753, + "crate::process::Command::env_remove": 1752 }, "name": "remove_var", "span": { "begin": [ - 437, + 429, 1 ], "end": [ - 441, + 433, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1758": { + "1756": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -196267,7 +214802,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator that splits an environment variable into paths according to\nplatform-specific conventions.\n\nThe iterator element type is [`PathBuf`].\n\nThis structure is created by [`env::split_paths()`]. See its\ndocumentation for more.\n\n[`env::split_paths()`]: split_paths", - "id": 1758, + "id": 1756, "inner": { "struct": { "generics": { @@ -196284,6 +214819,8 @@ "where_predicates": [] }, "impls": [ + 1757, + 1758, 1759, 1760, 1761, @@ -196296,10 +214833,8 @@ 1768, 1769, 1770, - 1771, - 1772, - 1776, - 1778 + 1774, + 1776 ], "kind": { "plain": { @@ -196310,29 +214845,29 @@ } }, "links": { - "`PathBuf`": 1664, - "split_paths": 1721 + "`PathBuf`": 1663, + "split_paths": 1720 }, "name": "SplitPaths", "span": { "begin": [ - 454, + 446, 1 ], "end": [ - 456, + 448, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1759": { + "1757": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1759, + "id": 1757, "inner": { "impl": { "blanket_impl": null, @@ -196348,7 +214883,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -196382,48 +214917,12 @@ "span": null, "visibility": "default" }, - "176": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 176, - "inner": { - "use": { - "id": 167, - "is_glob": true, - "name": "v1", - "source": "super::v1" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 157, - 5 - ], - "end": [ - 157, - 26 - ], - "filename": "std/src/prelude/mod.rs" - }, - "visibility": "public" - }, - "1760": { + "1758": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1760, + "id": 1758, "inner": { "impl": { "blanket_impl": null, @@ -196439,7 +214938,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -196473,12 +214972,12 @@ "span": null, "visibility": "default" }, - "1761": { + "1759": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1761, + "id": 1759, "inner": { "impl": { "blanket_impl": null, @@ -196494,7 +214993,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -196518,7 +215017,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -196528,12 +215027,12 @@ "span": null, "visibility": "default" }, - "1762": { + "1760": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1762, + "id": 1760, "inner": { "impl": { "blanket_impl": null, @@ -196549,7 +215048,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -196583,12 +215082,12 @@ "span": null, "visibility": "default" }, - "1763": { + "1761": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1763, + "id": 1761, "inner": { "impl": { "blanket_impl": null, @@ -196604,7 +215103,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -196628,7 +215127,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -196638,12 +215137,12 @@ "span": null, "visibility": "default" }, - "1764": { + "1762": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1764, + "id": 1762, "inner": { "impl": { "blanket_impl": null, @@ -196659,7 +215158,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -196683,7 +215182,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -196693,12 +215192,12 @@ "span": null, "visibility": "default" }, - "1765": { + "1763": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1765, + "id": 1763, "inner": { "impl": { "blanket_impl": { @@ -196716,7 +215215,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -196761,7 +215260,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -196777,7 +215276,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -196786,23 +215285,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1766": { + "1764": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1766, + "id": 1764, "inner": { "impl": { "blanket_impl": { @@ -196820,7 +215319,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -196865,7 +215364,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -196881,7 +215380,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -196890,23 +215389,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1767": { + "1765": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1767, + "id": 1765, "inner": { "impl": { "blanket_impl": { @@ -196924,7 +215423,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -196990,7 +215489,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -197015,23 +215514,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1768": { + "1766": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1768, + "id": 1766, "inner": { "impl": { "blanket_impl": { @@ -197049,7 +215548,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -197072,7 +215571,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -197097,23 +215596,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1769": { + "1767": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1769, + "id": 1767, "inner": { "impl": { "blanket_impl": { @@ -197131,7 +215630,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -197179,7 +215678,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -197197,8 +215696,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -197214,7 +215713,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -197223,59 +215722,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "177": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"prelude_2024\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 177, - "inner": { - "use": { - "id": 178, - "is_glob": true, - "name": "rust_2024", - "source": "core::prelude::rust_2024" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 161, - 5 - ], - "end": [ - 161, - 41 - ], - "filename": "std/src/prelude/mod.rs" - }, - "visibility": "public" - }, - "1770": { + "1768": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1770, + "id": 1768, "inner": { "impl": { "blanket_impl": { @@ -197293,7 +215756,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -197359,8 +215822,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -197376,7 +215839,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -197385,23 +215848,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1771": { + "1769": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1771, + "id": 1769, "inner": { "impl": { "blanket_impl": { @@ -197419,7 +215882,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -197467,12 +215930,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -197492,12 +215955,49 @@ }, "visibility": "default" }, - "1772": { + "177": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"prelude_2024\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The 2024 version of the prelude of The Rust Standard Library.\n\nSee the [module-level documentation](self) for more.", + "id": 177, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 174, + 175 + ] + } + }, + "links": { + "self": 164 + }, + "name": "rust_2024", + "span": { + "begin": [ + 154, + 1 + ], + "end": [ + 154, + 18 + ], + "filename": "std/src/prelude/mod.rs" + }, + "visibility": "public" + }, + "1770": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1772, + "id": 1770, "inner": { "impl": { "blanket_impl": { @@ -197515,7 +216015,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -197587,12 +216087,12 @@ }, "visibility": "default" }, - "1773": { + "1771": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1773, + "id": 1771, "inner": { "assoc_type": { "bounds": [], @@ -197603,7 +216103,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -197613,23 +216113,23 @@ "name": "Item", "span": { "begin": [ - 496, + 488, 5 ], "end": [ - 496, + 488, 25 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1774": { + "1772": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1774, + "id": 1772, "inner": { "function": { "generics": { @@ -197668,7 +216168,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -197688,23 +216188,23 @@ "name": "next", "span": { "begin": [ - 497, + 489, 5 ], "end": [ - 499, + 491, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1775": { + "1773": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1775, + "id": 1773, "inner": { "function": { "generics": { @@ -197766,18 +216266,18 @@ "name": "size_hint", "span": { "begin": [ - 500, + 492, 5 ], "end": [ - 502, + 494, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1776": { + "1774": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -197786,7 +216286,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1776, + "id": 1774, "inner": { "impl": { "blanket_impl": null, @@ -197802,7 +216302,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -197823,9 +216323,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1773, - 1774, - 1775 + 1771, + 1772, + 1773 ], "provided_trait_methods": [ "next_chunk", @@ -197916,23 +216416,23 @@ "name": null, "span": { "begin": [ - 495, + 487, 1 ], "end": [ - 503, + 495, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1777": { + "1775": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1777, + "id": 1775, "inner": { "function": { "generics": { @@ -197978,7 +216478,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -197990,7 +216490,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -198001,18 +216501,18 @@ "name": "fmt", "span": { "begin": [ - 507, + 499, 5 ], "end": [ - 509, + 501, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1778": { + "1776": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -198021,7 +216521,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1778, + "id": 1776, "inner": { "impl": { "blanket_impl": null, @@ -198037,7 +216537,7 @@ "constraints": [] } }, - "id": 1758, + "id": 1756, "path": "SplitPaths" } }, @@ -198049,12 +216549,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1777 + 1775 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -198063,18 +216563,18 @@ "name": null, "span": { "begin": [ - 506, + 498, 1 ], "end": [ - 510, + 502, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1779": { + "1777": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -198083,7 +216583,7 @@ "crate_id": 0, "deprecation": null, "docs": "Joins a collection of [`Path`]s appropriately for the `PATH`\nenvironment variable.\n\n# Errors\n\nReturns an [`Err`] (containing an error message) if one of the input\n[`Path`]s contains an invalid character for constructing the `PATH`\nvariable (a double quote on Windows or a colon on Unix), or if the system\ndoes not have a `PATH`-like variable (e.g. UEFI or WASI).\n\n# Examples\n\nJoining paths on a Unix-like platform:\n\n```\nuse std::env;\nuse std::ffi::OsString;\nuse std::path::Path;\n\nfn main() -> Result<(), env::JoinPathsError> {\n# if cfg!(unix) {\n let paths = [Path::new(\"/bin\"), Path::new(\"/usr/bin\")];\n let path_os_string = env::join_paths(paths.iter())?;\n assert_eq!(path_os_string, OsString::from(\"/bin:/usr/bin\"));\n# }\n Ok(())\n}\n```\n\nJoining a path containing a colon on a Unix-like platform results in an\nerror:\n\n```\n# if cfg!(unix) {\nuse std::env;\nuse std::path::Path;\n\nlet paths = [Path::new(\"/bin\"), Path::new(\"/usr/bi:n\")];\nassert!(env::join_paths(paths.iter()).is_err());\n# }\n```\n\nUsing `env::join_paths()` with [`env::split_paths()`] to append an item to\nthe `PATH` environment variable:\n\n```\nuse std::env;\nuse std::path::PathBuf;\n\nfn main() -> Result<(), env::JoinPathsError> {\n if let Some(path) = env::var_os(\"PATH\") {\n let mut paths = env::split_paths(&path).collect::>();\n paths.push(PathBuf::from(\"/home/xyz/bin\"));\n let new_path = env::join_paths(paths)?;\n unsafe { env::set_var(\"PATH\", &new_path); }\n }\n\n Ok(())\n}\n```\n\n[`env::split_paths()`]: split_paths", - "id": 1779, + "id": 1777, "inner": { "function": { "generics": { @@ -198163,7 +216663,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -198212,7 +216712,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } } @@ -198221,7 +216721,7 @@ "type": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } } @@ -198239,24 +216739,24 @@ }, "links": { "`Err`": 59, - "`Path`": 1667, - "split_paths": 1721 + "`Path`": 1666, + "split_paths": 1720 }, "name": "join_paths", "span": { "begin": [ - 585, + 577, 1 ], "end": [ - 591, + 583, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1781": { + "1779": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -198265,7 +216765,7 @@ "crate_id": 0, "deprecation": null, "docs": "The error type for operations on the `PATH` variable. Possibly returned from\n[`env::join_paths()`].\n\n[`env::join_paths()`]: join_paths", - "id": 1781, + "id": 1779, "inner": { "struct": { "generics": { @@ -198273,6 +216773,8 @@ "where_predicates": [] }, "impls": [ + 1780, + 1781, 1782, 1783, 1784, @@ -198285,11 +216787,9 @@ 1791, 1792, 1793, - 1794, 1795, 1797, - 1799, - 1801 + 1799 ], "kind": { "plain": { @@ -198300,35 +216800,35 @@ } }, "links": { - "join_paths": 1779 + "join_paths": 1777 }, "name": "JoinPathsError", "span": { "begin": [ - 518, + 510, 1 ], "end": [ - 520, + 512, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1782": { + "1780": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1782, + "id": 1780, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -198353,19 +216853,19 @@ "span": null, "visibility": "default" }, - "1783": { + "1781": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1783, + "id": 1781, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -198390,19 +216890,19 @@ "span": null, "visibility": "default" }, - "1784": { + "1782": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1784, + "id": 1782, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -198417,7 +216917,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -198427,19 +216927,19 @@ "span": null, "visibility": "default" }, - "1785": { + "1783": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1785, + "id": 1783, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -198464,19 +216964,19 @@ "span": null, "visibility": "default" }, - "1786": { + "1784": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1786, + "id": 1784, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -198491,7 +216991,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -198501,19 +217001,19 @@ "span": null, "visibility": "default" }, - "1787": { + "1785": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1787, + "id": 1785, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -198528,7 +217028,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -198538,12 +217038,12 @@ "span": null, "visibility": "default" }, - "1788": { + "1786": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1788, + "id": 1786, "inner": { "impl": { "blanket_impl": { @@ -198552,7 +217052,7 @@ "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -198597,7 +217097,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -198613,7 +217113,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -198622,23 +217122,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1789": { + "1787": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1789, + "id": 1787, "inner": { "impl": { "blanket_impl": { @@ -198647,7 +217147,7 @@ "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -198692,7 +217192,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -198708,7 +217208,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -198717,60 +217217,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "179": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"prelude_2024\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The 2024 version of the prelude of The Rust Standard Library.\n\nSee the [module-level documentation](self) for more.", - "id": 179, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 176, - 177 - ] - } - }, - "links": { - "self": 166 - }, - "name": "rust_2024", - "span": { - "begin": [ - 154, - 1 - ], - "end": [ - 154, - 18 - ], - "filename": "std/src/prelude/mod.rs" - }, - "visibility": "public" - }, - "1790": { + "1788": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1790, + "id": 1788, "inner": { "impl": { "blanket_impl": { @@ -198779,7 +217242,7 @@ "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -198845,7 +217308,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -198870,23 +217333,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1791": { + "1789": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1791, + "id": 1789, "inner": { "impl": { "blanket_impl": { @@ -198895,7 +217358,7 @@ "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -198918,7 +217381,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -198943,23 +217406,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1792": { + "1790": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1792, + "id": 1790, "inner": { "impl": { "blanket_impl": { @@ -198968,7 +217431,7 @@ "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -199016,7 +217479,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -199034,8 +217497,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -199051,7 +217514,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -199060,23 +217523,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1793": { + "1791": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1793, + "id": 1791, "inner": { "impl": { "blanket_impl": { @@ -199085,7 +217548,7 @@ "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -199151,8 +217614,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -199168,7 +217631,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -199177,23 +217640,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1794": { + "1792": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1794, + "id": 1792, "inner": { "impl": { "blanket_impl": { @@ -199202,7 +217665,7 @@ "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -199250,12 +217713,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -199275,12 +217738,12 @@ }, "visibility": "default" }, - "1795": { + "1793": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1795, + "id": 1793, "inner": { "impl": { "blanket_impl": { @@ -199289,7 +217752,7 @@ "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -199350,7 +217813,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -199359,18 +217822,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "1796": { + "1794": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -199379,7 +217842,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1796, + "id": 1794, "inner": { "function": { "generics": { @@ -199425,7 +217888,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -199437,7 +217900,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -199448,18 +217911,18 @@ "name": "fmt", "span": { "begin": [ - 516, + 508, 10 ], "end": [ - 516, + 508, 15 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1797": { + "1795": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -199469,14 +217932,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1797, + "id": 1795, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -199488,12 +217951,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1796 + 1794 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -199502,23 +217965,23 @@ "name": null, "span": { "begin": [ - 516, + 508, 10 ], "end": [ - 516, + 508, 15 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1798": { + "1796": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1798, + "id": 1796, "inner": { "function": { "generics": { @@ -199564,7 +218027,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -199576,7 +218039,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -199587,18 +218050,18 @@ "name": "fmt", "span": { "begin": [ - 595, + 587, 5 ], "end": [ - 597, + 589, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1799": { + "1797": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -199607,14 +218070,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1799, + "id": 1797, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -199626,7 +218089,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1798 + 1796 ], "provided_trait_methods": [], "trait": { @@ -199640,54 +218103,18 @@ "name": null, "span": { "begin": [ - 594, + 586, 1 ], "end": [ - 598, + 590, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "18": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"async_closure\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 18, - "inner": { - "use": { - "id": 19, - "is_glob": false, - "name": "AsyncFnMut", - "source": "crate::ops::AsyncFnMut" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 19, - 31 - ], - "end": [ - 19, - 41 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "1800": { + "1798": { "attrs": [ { "other": "#[allow(deprecated, deprecated_in_future)]" @@ -199696,7 +218123,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1800, + "id": 1798, "inner": { "function": { "generics": { @@ -199742,18 +218169,18 @@ "name": "description", "span": { "begin": [ - 603, + 595, 5 ], "end": [ - 605, + 597, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1801": { + "1799": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -199762,14 +218189,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1801, + "id": 1799, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1781, + "id": 1779, "path": "JoinPathsError" } }, @@ -199781,7 +218208,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1800 + 1798 ], "provided_trait_methods": [ "source", @@ -199801,18 +218228,91 @@ "name": null, "span": { "begin": [ - 601, + 593, 1 ], "end": [ - 606, + 598, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1802": { + "18": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"async_closure\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 18, + "inner": { + "use": { + "id": 19, + "is_glob": false, + "name": "AsyncFnMut", + "source": "crate::ops::AsyncFnMut" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 19, + 31 + ], + "end": [ + 19, + 41 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "180": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The I/O Prelude.\n\nThe purpose of this module is to alleviate imports of many common I/O traits\nby adding a glob import to the top of I/O heavy modules:\n\n```\n# #![allow(unused_imports)]\nuse std::io::prelude::*;\n```", + "id": 180, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 3549, + 3550, + 3551, + 3552 + ] + } + }, + "links": {}, + "name": "prelude", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 14, + 45 + ], + "filename": "std/src/io/prelude.rs" + }, + "visibility": "public" + }, + "1800": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -199826,7 +218326,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the path of the current user's home directory if known.\n\nThis may return `None` if getting the directory fails or if the platform does not have user home directories.\n\nFor storing user data and configuration it is often preferable to use more specific directories.\nFor example, [XDG Base Directories] on Unix or the `LOCALAPPDATA` and `APPDATA` environment variables on Windows.\n\n[XDG Base Directories]: https://specifications.freedesktop.org/basedir-spec/latest/\n\n# Unix\n\n- Returns the value of the 'HOME' environment variable if it is set\n (and not an empty string).\n- Otherwise, it tries to determine the home directory by invoking the `getpwuid_r` function\n using the UID of the current user. An empty home directory field returned from the\n `getpwuid_r` function is considered to be a valid value.\n- Returns `None` if the current user has no entry in the /etc/passwd file.\n\n# Windows\n\n- Returns the value of the 'USERPROFILE' environment variable if it is set, and is not an empty string.\n- Otherwise, [`GetUserProfileDirectory`][msdn] is used to return the path. This may change in the future.\n\n[msdn]: https://docs.microsoft.com/en-us/windows/win32/api/userenv/nf-userenv-getuserprofiledirectorya\n\nIn UWP (Universal Windows Platform) targets this function is unimplemented and always returns `None`.\n\nBefore Rust 1.85.0, this function used to return the value of the 'HOME' environment variable\non Windows, which in Cygwin or Mingw environments could return non-standard paths like `/home/you`\ninstead of `C:\\Users\\you`.\n\n# Examples\n\n```\nuse std::env;\n\nmatch env::home_dir() {\n Some(path) => println!(\"Your home directory, probably: {}\", path.display()),\n None => println!(\"Impossible to get your home dir!\"),\n}\n```", - "id": 1802, + "id": 1800, "inner": { "function": { "generics": { @@ -199852,7 +218352,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "crate::path::PathBuf" } } @@ -199872,18 +218372,18 @@ "name": "home_dir", "span": { "begin": [ - 651, + 643, 1 ], "end": [ - 653, + 645, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1803": { + "1801": { "attrs": [ { "other": "#[doc(alias = \"GetTempPath\", alias = \"GetTempPath2\")]" @@ -199900,7 +218400,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the path of a temporary directory.\n\nThe temporary directory may be shared among users, or between processes\nwith different privileges; thus, the creation of any files or directories\nin the temporary directory must use a secure method to create a uniquely\nnamed file. Creating a file or directory with a fixed or predictable name\nmay result in \"insecure temporary file\" security vulnerabilities. Consider\nusing a crate that securely creates temporary files or directories.\n\nNote that the returned value may be a symbolic link, not a directory.\n\n# Platform-specific behavior\n\nOn Unix, returns the value of the `TMPDIR` environment variable if it is\nset, otherwise the value is OS-specific:\n- On Android, there is no global temporary folder (it is usually allocated\n per-app), it will return the application's cache dir if the program runs\n in application's namespace and system version is Android 13 (or above), or\n `/data/local/tmp` otherwise.\n- On Darwin-based OSes (macOS, iOS, etc) it returns the directory provided\n by `confstr(_CS_DARWIN_USER_TEMP_DIR, ...)`, as recommended by [Apple's\n security guidelines][appledoc].\n- On all other unix-based OSes, it returns `/tmp`.\n\nOn Windows, the behavior is equivalent to that of [`GetTempPath2`][GetTempPath2] /\n[`GetTempPath`][GetTempPath], which this function uses internally.\n\nNote that, this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n[GetTempPath2]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-gettemppath2a\n[GetTempPath]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-gettemppatha\n[appledoc]: https://developer.apple.com/library/archive/documentation/Security/Conceptual/SecureCodingGuide/Articles/RaceConditions.html#//apple_ref/doc/uid/TP40002585-SW10\n\n```no_run\nuse std::env;\n\nfn main() {\n let dir = env::temp_dir();\n println!(\"Temporary directory: {}\", dir.display());\n}\n```", - "id": 1803, + "id": 1801, "inner": { "function": { "generics": { @@ -199920,7 +218420,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "crate::path::PathBuf" } } @@ -199928,23 +218428,23 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "temp_dir", "span": { "begin": [ - 700, + 692, 1 ], "end": [ - 702, + 694, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1804": { + "1802": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -199953,7 +218453,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the full filesystem path of the current running executable.\n\n# Platform-specific behavior\n\nIf the executable was invoked through a symbolic link, some platforms will\nreturn the path of the symbolic link and other platforms will return the\npath of the symbolic link’s target.\n\nIf the executable is renamed while it is running, platforms may return the\npath at the time it was loaded instead of the new path.\n\n# Errors\n\nAcquiring the path of the current executable is a platform-specific operation\nthat can fail for a good number of reasons. Some errors can include, but not\nbe limited to, filesystem operations failing or general syscall failures.\n\n# Security\n\nThe output of this function should not be trusted for anything\nthat might have security implications. Basically, if users can run\nthe executable, they can change the output arbitrarily.\n\nAs an example, you can easily introduce a race condition. It goes\nlike this:\n\n1. You get the path to the current executable using `current_exe()`, and\n store it in a variable.\n2. Time passes. A malicious actor removes the current executable, and\n replaces it with a malicious one.\n3. You then use the stored path to re-execute the current\n executable.\n\nYou expected to safely execute the current executable, but you're\ninstead executing something completely different. The code you\njust executed run with your privileges.\n\nThis sort of behavior has been known to [lead to privilege escalation] when\nused incorrectly.\n\n[lead to privilege escalation]: https://securityvulns.com/Wdocument183.html\n\n# Examples\n\n```\nuse std::env;\n\nmatch env::current_exe() {\n Ok(exe_path) => println!(\"Path of this executable is: {}\",\n exe_path.display()),\n Err(e) => println!(\"failed to get current exe path: {e}\"),\n};\n```", - "id": 1804, + "id": 1802, "inner": { "function": { "generics": { @@ -199979,7 +218479,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "crate::path::PathBuf" } } @@ -199988,7 +218488,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -199999,18 +218499,18 @@ "name": "current_exe", "span": { "begin": [ - 758, + 750, 1 ], "end": [ - 760, + 752, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1806": { + "1804": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -200019,7 +218519,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the arguments that this program was started with (normally passed\nvia the command line).\n\nThe first element is traditionally the path of the executable, but it can be\nset to arbitrary text, and might not even exist. This means this property should\nnot be relied upon for security purposes.\n\nOn Unix systems the shell usually expands unquoted arguments with glob patterns\n(such as `*` and `?`). On Windows this is not done, and such arguments are\npassed as-is.\n\nOn glibc Linux systems, arguments are retrieved by placing a function in `.init_array`.\nglibc passes `argc`, `argv`, and `envp` to functions in `.init_array`, as a non-standard\nextension. This allows `std::env::args` to work even in a `cdylib` or `staticlib`, as it\ndoes on macOS and Windows.\n\n# Panics\n\nThe returned iterator will panic during iteration if any argument to the\nprocess is not valid Unicode. If this is not desired,\nuse the [`args_os`] function instead.\n\n# Examples\n\n```\nuse std::env;\n\n// Prints each argument on a separate line\nfor argument in env::args() {\n println!(\"{argument}\");\n}\n```", - "id": 1806, + "id": 1804, "inner": { "function": { "generics": { @@ -200039,7 +218539,7 @@ "output": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } } @@ -200047,23 +218547,23 @@ } }, "links": { - "`args_os`": 1834 + "`args_os`": 1832 }, "name": "args", "span": { "begin": [ - 829, + 821, 1 ], "end": [ - 831, + 823, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1807": { + "1805": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -200077,7 +218577,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over the arguments of a process, yielding a [`String`] value for\neach argument.\n\nThis struct is created by [`env::args()`]. See its documentation\nfor more.\n\nThe first element is traditionally the path of the executable, but it can be\nset to arbitrary text, and might not even exist. This means this property\nshould not be relied upon for security purposes.\n\n[`env::args()`]: args", - "id": 1807, + "id": 1805, "inner": { "struct": { "generics": { @@ -200085,6 +218585,8 @@ "where_predicates": [] }, "impls": [ + 1806, + 1807, 1808, 1809, 1810, @@ -200097,12 +218599,10 @@ 1817, 1818, 1819, - 1820, - 1821, - 1825, + 1823, + 1826, 1828, - 1830, - 1832 + 1830 ], "kind": { "plain": { @@ -200113,23 +218613,97 @@ } }, "links": { - "`String`": 161, - "args": 1806 + "`String`": 159, + "args": 1804 }, "name": "Args", "span": { "begin": [ - 775, + 767, 1 ], "end": [ - 777, + 769, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, + "1806": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1806, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 1805, + "path": "Args" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "1807": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 1807, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 1805, + "path": "Args" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, "1808": { "attrs": [], "crate_id": 0, @@ -200142,7 +218716,7 @@ "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -200157,8 +218731,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 316, + "path": "UnwindSafe" } } }, @@ -200179,44 +218753,7 @@ "for": { "resolved_path": { "args": null, - "id": 1807, - "path": "Args" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "1810": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1810, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -200232,43 +218769,6 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "1811": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 1811, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 1807, - "path": "Args" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, "path": "RefUnwindSafe" } } @@ -200278,12 +218778,12 @@ "span": null, "visibility": "default" }, - "1812": { + "1810": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1812, + "id": 1810, "inner": { "impl": { "blanket_impl": { @@ -200292,7 +218792,7 @@ "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -200337,7 +218837,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -200353,7 +218853,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -200362,23 +218862,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1813": { + "1811": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1813, + "id": 1811, "inner": { "impl": { "blanket_impl": { @@ -200387,7 +218887,7 @@ "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -200432,7 +218932,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -200448,7 +218948,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -200457,23 +218957,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1814": { + "1812": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1814, + "id": 1812, "inner": { "impl": { "blanket_impl": { @@ -200482,7 +218982,7 @@ "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -200548,7 +219048,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -200573,23 +219073,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1815": { + "1813": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1815, + "id": 1813, "inner": { "impl": { "blanket_impl": { @@ -200598,7 +219098,7 @@ "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -200621,7 +219121,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -200646,23 +219146,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1816": { + "1814": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1816, + "id": 1814, "inner": { "impl": { "blanket_impl": { @@ -200671,7 +219171,7 @@ "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -200719,7 +219219,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -200737,8 +219237,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -200754,7 +219254,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -200763,23 +219263,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1817": { + "1815": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1817, + "id": 1815, "inner": { "impl": { "blanket_impl": { @@ -200788,7 +219288,7 @@ "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -200854,8 +219354,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -200871,7 +219371,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -200880,23 +219380,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1818": { + "1816": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1818, + "id": 1816, "inner": { "impl": { "blanket_impl": { @@ -200905,7 +219405,7 @@ "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -200953,12 +219453,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -200978,12 +219478,12 @@ }, "visibility": "default" }, - "1819": { + "1817": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1819, + "id": 1817, "inner": { "impl": { "blanket_impl": { @@ -200992,7 +219492,7 @@ "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -201064,44 +219564,7 @@ }, "visibility": "default" }, - "182": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The I/O Prelude.\n\nThe purpose of this module is to alleviate imports of many common I/O traits\nby adding a glob import to the top of I/O heavy modules:\n\n```\n# #![allow(unused_imports)]\nuse std::io::prelude::*;\n```", - "id": 182, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 3550, - 3551, - 3552, - 3553 - ] - } - }, - "links": {}, - "name": "prelude", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 14, - 45 - ], - "filename": "std/src/io/prelude.rs" - }, - "visibility": "public" - }, - "1820": { + "1818": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"env_unimpl_send_sync\"}}]" @@ -201110,14 +219573,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1820, + "id": 1818, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -201141,18 +219604,18 @@ "name": null, "span": { "begin": [ - 869, + 861, 1 ], "end": [ - 869, + 861, 23 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1821": { + "1819": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"env_unimpl_send_sync\"}}]" @@ -201161,14 +219624,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1821, + "id": 1819, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -201192,23 +219655,23 @@ "name": null, "span": { "begin": [ - 872, + 864, 1 ], "end": [ - 872, + 864, 23 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1822": { + "1820": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1822, + "id": 1820, "inner": { "assoc_type": { "bounds": [], @@ -201219,7 +219682,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -201229,23 +219692,23 @@ "name": "Item", "span": { "begin": [ - 876, + 868, 5 ], "end": [ - 876, + 868, 24 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1823": { + "1821": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1823, + "id": 1821, "inner": { "function": { "generics": { @@ -201284,7 +219747,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -201304,18 +219767,18 @@ "name": "next", "span": { "begin": [ - 878, + 870, 5 ], "end": [ - 880, + 872, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1824": { + "1822": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -201324,7 +219787,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1824, + "id": 1822, "inner": { "function": { "generics": { @@ -201386,18 +219849,18 @@ "name": "size_hint", "span": { "begin": [ - 883, + 875, 5 ], "end": [ - 885, + 877, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1825": { + "1823": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -201406,14 +219869,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1825, + "id": 1823, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -201425,9 +219888,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1822, - 1823, - 1824 + 1820, + 1821, + 1822 ], "provided_trait_methods": [ "next_chunk", @@ -201518,18 +219981,18 @@ "name": null, "span": { "begin": [ - 875, + 867, 1 ], "end": [ - 897, + 889, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1826": { + "1824": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -201538,7 +220001,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1826, + "id": 1824, "inner": { "function": { "generics": { @@ -201578,18 +220041,18 @@ "name": "len", "span": { "begin": [ - 902, + 894, 5 ], "end": [ - 904, + 896, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1827": { + "1825": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -201598,7 +220061,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1827, + "id": 1825, "inner": { "function": { "generics": { @@ -201638,18 +220101,18 @@ "name": "is_empty", "span": { "begin": [ - 907, + 899, 5 ], "end": [ - 909, + 901, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1828": { + "1826": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -201658,14 +220121,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1828, + "id": 1826, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -201677,8 +220140,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1826, - 1827 + 1824, + 1825 ], "provided_trait_methods": [ "len", @@ -201695,23 +220158,23 @@ "name": null, "span": { "begin": [ - 900, + 892, 1 ], "end": [ - 910, + 902, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1829": { + "1827": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1829, + "id": 1827, "inner": { "function": { "generics": { @@ -201750,7 +220213,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -201770,18 +220233,18 @@ "name": "next_back", "span": { "begin": [ - 914, + 906, 5 ], "end": [ - 916, + 908, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1830": { + "1828": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"env_iterators\"}}]" @@ -201790,14 +220253,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1830, + "id": 1828, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -201809,7 +220272,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1829 + 1827 ], "provided_trait_methods": [ "advance_back_by", @@ -201829,23 +220292,23 @@ "name": null, "span": { "begin": [ - 913, + 905, 1 ], "end": [ - 917, + 909, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1831": { + "1829": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1831, + "id": 1829, "inner": { "function": { "generics": { @@ -201891,7 +220354,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -201903,7 +220366,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -201914,18 +220377,18 @@ "name": "fmt", "span": { "begin": [ - 921, + 913, 5 ], "end": [ - 924, + 916, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1832": { + "1830": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -201934,14 +220397,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1832, + "id": 1830, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1807, + "id": 1805, "path": "Args" } }, @@ -201953,12 +220416,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1831 + 1829 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -201967,18 +220430,18 @@ "name": null, "span": { "begin": [ - 920, + 912, 1 ], "end": [ - 925, + 917, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1834": { + "1832": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -201987,7 +220450,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the arguments that this program was started with (normally passed\nvia the command line).\n\nThe first element is traditionally the path of the executable, but it can be\nset to arbitrary text, and might not even exist. This means this property should\nnot be relied upon for security purposes.\n\nOn Unix systems the shell usually expands unquoted arguments with glob patterns\n(such as `*` and `?`). On Windows this is not done, and such arguments are\npassed as-is.\n\nOn glibc Linux systems, arguments are retrieved by placing a function in `.init_array`.\nglibc passes `argc`, `argv`, and `envp` to functions in `.init_array`, as a non-standard\nextension. This allows `std::env::args_os` to work even in a `cdylib` or `staticlib`, as it\ndoes on macOS and Windows.\n\nNote that the returned iterator will not check if the arguments to the\nprocess are valid Unicode. If you want to panic on invalid UTF-8,\nuse the [`args`] function instead.\n\n# Examples\n\n```\nuse std::env;\n\n// Prints each argument on a separate line\nfor argument in env::args_os() {\n println!(\"{argument:?}\");\n}\n```", - "id": 1834, + "id": 1832, "inner": { "function": { "generics": { @@ -202007,7 +220470,7 @@ "output": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } } @@ -202015,23 +220478,23 @@ } }, "links": { - "`args`": 1806 + "`args`": 1804 }, "name": "args_os", "span": { "begin": [ - 864, + 856, 1 ], "end": [ - 866, + 858, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1835": { + "1833": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -202045,7 +220508,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over the arguments of a process, yielding an [`OsString`] value\nfor each argument.\n\nThis struct is created by [`env::args_os()`]. See its documentation\nfor more.\n\nThe first element is traditionally the path of the executable, but it can be\nset to arbitrary text, and might not even exist. This means this property\nshould not be relied upon for security purposes.\n\n[`env::args_os()`]: args_os", - "id": 1835, + "id": 1833, "inner": { "struct": { "generics": { @@ -202053,6 +220516,8 @@ "where_predicates": [] }, "impls": [ + 1834, + 1835, 1836, 1837, 1838, @@ -202065,12 +220530,10 @@ 1845, 1846, 1847, - 1848, - 1849, - 1861, - 1864, - 1867, - 1869 + 1859, + 1862, + 1865, + 1867 ], "kind": { "plain": { @@ -202081,36 +220544,36 @@ } }, "links": { - "`OsString`": 1709, - "args_os": 1834 + "`OsString`": 1708, + "args_os": 1832 }, "name": "ArgsOs", "span": { "begin": [ - 792, + 784, 1 ], "end": [ - 794, + 786, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1836": { + "1834": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1836, + "id": 1834, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202125,7 +220588,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -202135,19 +220598,19 @@ "span": null, "visibility": "default" }, - "1837": { + "1835": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1837, + "id": 1835, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202172,19 +220635,19 @@ "span": null, "visibility": "default" }, - "1838": { + "1836": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1838, + "id": 1836, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202199,7 +220662,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -202209,19 +220672,19 @@ "span": null, "visibility": "default" }, - "1839": { + "1837": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1839, + "id": 1837, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202236,7 +220699,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -202246,12 +220709,12 @@ "span": null, "visibility": "default" }, - "1840": { + "1838": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1840, + "id": 1838, "inner": { "impl": { "blanket_impl": { @@ -202260,7 +220723,7 @@ "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202305,7 +220768,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -202321,7 +220784,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -202330,23 +220793,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1841": { + "1839": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1841, + "id": 1839, "inner": { "impl": { "blanket_impl": { @@ -202355,7 +220818,7 @@ "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202400,7 +220863,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -202416,7 +220879,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -202425,23 +220888,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1842": { + "1840": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1842, + "id": 1840, "inner": { "impl": { "blanket_impl": { @@ -202450,7 +220913,7 @@ "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202516,7 +220979,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -202541,23 +221004,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1843": { + "1841": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1843, + "id": 1841, "inner": { "impl": { "blanket_impl": { @@ -202566,7 +221029,7 @@ "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202589,7 +221052,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -202614,23 +221077,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1844": { + "1842": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1844, + "id": 1842, "inner": { "impl": { "blanket_impl": { @@ -202639,7 +221102,7 @@ "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202687,7 +221150,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -202705,8 +221168,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -202722,7 +221185,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -202731,23 +221194,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1845": { + "1843": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1845, + "id": 1843, "inner": { "impl": { "blanket_impl": { @@ -202756,7 +221219,7 @@ "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202822,8 +221285,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -202839,7 +221302,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -202848,23 +221311,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1846": { + "1844": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1846, + "id": 1844, "inner": { "impl": { "blanket_impl": { @@ -202873,7 +221336,7 @@ "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -202921,12 +221384,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -202946,12 +221409,12 @@ }, "visibility": "default" }, - "1847": { + "1845": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1847, + "id": 1845, "inner": { "impl": { "blanket_impl": { @@ -202960,7 +221423,7 @@ "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -203032,7 +221495,7 @@ }, "visibility": "default" }, - "1848": { + "1846": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"env_unimpl_send_sync\"}}]" @@ -203041,14 +221504,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1848, + "id": 1846, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -203072,18 +221535,18 @@ "name": null, "span": { "begin": [ - 928, + 920, 1 ], "end": [ - 928, + 920, 25 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1849": { + "1847": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"env_unimpl_send_sync\"}}]" @@ -203092,14 +221555,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1849, + "id": 1847, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -203123,23 +221586,23 @@ "name": null, "span": { "begin": [ - 931, + 923, 1 ], "end": [ - 931, + 923, 25 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1850": { + "1848": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1850, + "id": 1848, "inner": { "assoc_type": { "bounds": [], @@ -203150,7 +221613,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -203160,18 +221623,18 @@ "name": "Item", "span": { "begin": [ - 935, + 927, 5 ], "end": [ - 935, + 927, 26 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1851": { + "1849": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -203180,7 +221643,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1851, + "id": 1849, "inner": { "function": { "generics": { @@ -203219,7 +221682,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -203239,18 +221702,18 @@ "name": "next", "span": { "begin": [ - 938, + 930, 5 ], "end": [ - 940, + 932, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1852": { + "1850": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -203259,7 +221722,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1852, + "id": 1850, "inner": { "function": { "generics": { @@ -203313,7 +221776,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -203330,7 +221793,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -203346,7 +221809,7 @@ "constraints": [] } }, - "id": 1853, + "id": 1851, "path": "array::IntoIter" } } @@ -203366,18 +221829,18 @@ "name": "next_chunk", "span": { "begin": [ - 943, + 935, 5 ], "end": [ - 947, + 939, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1854": { + "1852": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -203386,7 +221849,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1854, + "id": 1852, "inner": { "function": { "generics": { @@ -203448,18 +221911,18 @@ "name": "size_hint", "span": { "begin": [ - 950, + 942, 5 ], "end": [ - 952, + 944, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1855": { + "1853": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -203468,7 +221931,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1855, + "id": 1853, "inner": { "function": { "generics": { @@ -203502,18 +221965,18 @@ "name": "count", "span": { "begin": [ - 955, + 947, 5 ], "end": [ - 957, + 949, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1856": { + "1854": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -203522,7 +221985,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1856, + "id": 1854, "inner": { "function": { "generics": { @@ -203555,7 +222018,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -203575,18 +222038,18 @@ "name": "last", "span": { "begin": [ - 960, + 952, 5 ], "end": [ - 962, + 954, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1857": { + "1855": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -203595,7 +222058,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1857, + "id": 1855, "inner": { "function": { "generics": { @@ -203676,18 +222139,18 @@ "name": "advance_by", "span": { "begin": [ - 965, + 957, 5 ], "end": [ - 967, + 959, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1858": { + "1856": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -203696,7 +222159,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1858, + "id": 1856, "inner": { "function": { "generics": { @@ -203805,7 +222268,7 @@ ] } }, - "id": 1859, + "id": 1857, "path": "Try" } } @@ -203864,18 +222327,18 @@ "name": "try_fold", "span": { "begin": [ - 970, + 962, 5 ], "end": [ - 976, + 968, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1860": { + "1858": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -203884,7 +222347,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1860, + "id": 1858, "inner": { "function": { "generics": { @@ -203998,18 +222461,18 @@ "name": "fold", "span": { "begin": [ - 979, + 971, 5 ], "end": [ - 984, + 976, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1861": { + "1859": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -204018,14 +222481,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1861, + "id": 1859, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -204037,15 +222500,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1848, + 1849, 1850, - 1851, 1852, + 1853, 1854, 1855, 1856, - 1857, - 1858, - 1860 + 1858 ], "provided_trait_methods": [ "next_chunk", @@ -204136,18 +222599,18 @@ "name": null, "span": { "begin": [ - 934, + 926, 1 ], "end": [ - 985, + 977, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1862": { + "1860": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -204156,7 +222619,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1862, + "id": 1860, "inner": { "function": { "generics": { @@ -204196,18 +222659,18 @@ "name": "len", "span": { "begin": [ - 990, + 982, 5 ], "end": [ - 992, + 984, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1863": { + "1861": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -204216,7 +222679,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1863, + "id": 1861, "inner": { "function": { "generics": { @@ -204256,18 +222719,18 @@ "name": "is_empty", "span": { "begin": [ - 995, + 987, 5 ], "end": [ - 997, + 989, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1864": { + "1862": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -204276,14 +222739,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1864, + "id": 1862, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -204295,8 +222758,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1862, - 1863 + 1860, + 1861 ], "provided_trait_methods": [ "len", @@ -204313,18 +222776,18 @@ "name": null, "span": { "begin": [ - 988, + 980, 1 ], "end": [ - 998, + 990, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1865": { + "1863": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -204333,7 +222796,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1865, + "id": 1863, "inner": { "function": { "generics": { @@ -204372,7 +222835,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -204392,18 +222855,18 @@ "name": "next_back", "span": { "begin": [ - 1003, + 995, 5 ], "end": [ - 1005, + 997, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1866": { + "1864": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -204412,7 +222875,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1866, + "id": 1864, "inner": { "function": { "generics": { @@ -204493,18 +222956,18 @@ "name": "advance_back_by", "span": { "begin": [ - 1008, + 1000, 5 ], "end": [ - 1010, + 1002, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1867": { + "1865": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"env_iterators\"}}]" @@ -204513,14 +222976,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1867, + "id": 1865, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -204532,8 +222995,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1865, - 1866 + 1863, + 1864 ], "provided_trait_methods": [ "advance_back_by", @@ -204553,23 +223016,23 @@ "name": null, "span": { "begin": [ - 1001, + 993, 1 ], "end": [ - 1011, + 1003, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1868": { + "1866": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1868, + "id": 1866, "inner": { "function": { "generics": { @@ -204615,7 +223078,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -204627,7 +223090,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -204638,18 +223101,18 @@ "name": "fmt", "span": { "begin": [ - 1015, + 1007, 5 ], "end": [ - 1018, + 1010, 6 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1869": { + "1867": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -204658,14 +223121,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1869, + "id": 1867, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1835, + "id": 1833, "path": "ArgsOs" } }, @@ -204677,12 +223140,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1868 + 1866 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -204691,18 +223154,18 @@ "name": null, "span": { "begin": [ - 1014, + 1006, 1 ], "end": [ - 1019, + 1011, 2 ], "filename": "std/src/env.rs" }, "visibility": "default" }, - "1870": { + "1868": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"env\"}}]" @@ -204711,41 +223174,41 @@ "crate_id": 0, "deprecation": null, "docs": "Inspection and manipulation of the process's environment.\n\nThis module contains functions to inspect various aspects such as\nenvironment variables, process arguments, the current directory, and various\nother important directories.\n\nThere are several functions and structs in this module that have a\ncounterpart ending in `os`. Those ending in `os` will return an [`OsString`]\nand those without will return a [`String`].", - "id": 1870, + "id": 1868, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 1663, + 1662, + 1664, 1665, - 1666, - 1670, - 1693, 1669, 1692, - 1718, + 1668, + 1691, 1717, - 1719, - 1753, + 1716, + 1718, + 1751, + 1754, 1756, - 1758, - 1721, - 1781, + 1720, 1779, + 1777, + 1800, + 1801, 1802, - 1803, + 1805, + 1833, 1804, - 1807, - 1835, - 1806, - 1834 + 1832 ] } }, "links": { - "`OsString`": 1709, - "`String`": 161 + "`OsString`": 1708, + "`String`": 159 }, "name": "env", "span": { @@ -204754,14 +223217,14 @@ 1 ], "end": [ - 1170, + 1164, 2 ], "filename": "std/src/env.rs" }, "visibility": "public" }, - "1871": { + "1869": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -204770,7 +223233,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1871, + "id": 1869, "inner": { "use": { "id": 450, @@ -204794,7 +223257,7 @@ }, "visibility": "public" }, - "1872": { + "1870": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99301, is_soft: false}, feature: \"error_generic_member_access\"}}]" @@ -204803,10 +223266,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1872, + "id": 1870, "inner": { "use": { - "id": 1873, + "id": 1871, "is_glob": false, "name": "Request", "source": "core::error::Request" @@ -204827,7 +223290,7 @@ }, "visibility": "public" }, - "1874": { + "1872": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99301, is_soft: false}, feature: \"error_generic_member_access\"}}]" @@ -204836,10 +223299,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1874, + "id": 1872, "inner": { "use": { - "id": 1875, + "id": 1873, "is_glob": false, "name": "request_ref", "source": "core::error::request_ref" @@ -204860,7 +223323,7 @@ }, "visibility": "public" }, - "1876": { + "1874": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99301, is_soft: false}, feature: \"error_generic_member_access\"}}]" @@ -204869,10 +223332,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1876, + "id": 1874, "inner": { "use": { - "id": 1877, + "id": 1875, "is_glob": false, "name": "request_value", "source": "core::error::request_value" @@ -204893,7 +223356,7 @@ }, "visibility": "public" }, - "1882": { + "1880": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 90172, is_soft: false}, feature: \"error_reporter\"}}]" @@ -204902,7 +223365,7 @@ "crate_id": 0, "deprecation": null, "docs": "An error reporter that prints an error and its sources.\n\nReport also exposes configuration options for formatting the error sources, either entirely on a\nsingle line, or in multi-line format with each source on a new line.\n\n`Report` only requires that the wrapped error implement `Error`. It doesn't require that the\nwrapped error be `Send`, `Sync`, or `'static`.\n\n# Examples\n\n```rust\n#![feature(error_reporter)]\nuse std::error::{Error, Report};\nuse std::fmt;\n\n#[derive(Debug)]\nstruct SuperError {\n source: SuperErrorSideKick,\n}\n\nimpl fmt::Display for SuperError {\n fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n write!(f, \"SuperError is here!\")\n }\n}\n\nimpl Error for SuperError {\n fn source(&self) -> Option<&(dyn Error + 'static)> {\n Some(&self.source)\n }\n}\n\n#[derive(Debug)]\nstruct SuperErrorSideKick;\n\nimpl fmt::Display for SuperErrorSideKick {\n fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n write!(f, \"SuperErrorSideKick is here!\")\n }\n}\n\nimpl Error for SuperErrorSideKick {}\n\nfn get_super_error() -> Result<(), SuperError> {\n Err(SuperError { source: SuperErrorSideKick })\n}\n\nfn main() {\n match get_super_error() {\n Err(e) => println!(\"Error: {}\", Report::new(e)),\n _ => println!(\"No error\"),\n }\n}\n```\n\nThis example produces the following output:\n\n```console\nError: SuperError is here!: SuperErrorSideKick is here!\n```\n\n## Output consistency\n\nReport prints the same output via `Display` and `Debug`, so it works well with\n[`Result::unwrap`]/[`Result::expect`] which print their `Err` variant via `Debug`:\n\n```should_panic\n#![feature(error_reporter)]\nuse std::error::Report;\n# use std::error::Error;\n# use std::fmt;\n# #[derive(Debug)]\n# struct SuperError {\n# source: SuperErrorSideKick,\n# }\n# impl fmt::Display for SuperError {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperError is here!\")\n# }\n# }\n# impl Error for SuperError {\n# fn source(&self) -> Option<&(dyn Error + 'static)> {\n# Some(&self.source)\n# }\n# }\n# #[derive(Debug)]\n# struct SuperErrorSideKick;\n# impl fmt::Display for SuperErrorSideKick {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperErrorSideKick is here!\")\n# }\n# }\n# impl Error for SuperErrorSideKick {}\n# fn get_super_error() -> Result<(), SuperError> {\n# Err(SuperError { source: SuperErrorSideKick })\n# }\n\nget_super_error().map_err(Report::new).unwrap();\n```\n\nThis example produces the following output:\n\n```console\nthread 'main' panicked at src/error.rs:34:40:\ncalled `Result::unwrap()` on an `Err` value: SuperError is here!: SuperErrorSideKick is here!\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\n```\n\n## Return from `main`\n\n`Report` also implements `From` for all types that implement [`Error`]; this when combined with\nthe `Debug` output means `Report` is an ideal starting place for formatting errors returned\nfrom `main`.\n\n```should_panic\n#![feature(error_reporter)]\nuse std::error::Report;\n# use std::error::Error;\n# use std::fmt;\n# #[derive(Debug)]\n# struct SuperError {\n# source: SuperErrorSideKick,\n# }\n# impl fmt::Display for SuperError {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperError is here!\")\n# }\n# }\n# impl Error for SuperError {\n# fn source(&self) -> Option<&(dyn Error + 'static)> {\n# Some(&self.source)\n# }\n# }\n# #[derive(Debug)]\n# struct SuperErrorSideKick;\n# impl fmt::Display for SuperErrorSideKick {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperErrorSideKick is here!\")\n# }\n# }\n# impl Error for SuperErrorSideKick {}\n# fn get_super_error() -> Result<(), SuperError> {\n# Err(SuperError { source: SuperErrorSideKick })\n# }\n\nfn main() -> Result<(), Report> {\n get_super_error()?;\n Ok(())\n}\n```\n\nThis example produces the following output:\n\n```console\nError: SuperError is here!: SuperErrorSideKick is here!\n```\n\n**Note**: `Report`s constructed via `?` and `From` will be configured to use the single line\noutput format. If you want to make sure your `Report`s are pretty printed and include backtrace\nyou will need to manually convert and enable those flags.\n\n```should_panic\n#![feature(error_reporter)]\nuse std::error::Report;\n# use std::error::Error;\n# use std::fmt;\n# #[derive(Debug)]\n# struct SuperError {\n# source: SuperErrorSideKick,\n# }\n# impl fmt::Display for SuperError {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperError is here!\")\n# }\n# }\n# impl Error for SuperError {\n# fn source(&self) -> Option<&(dyn Error + 'static)> {\n# Some(&self.source)\n# }\n# }\n# #[derive(Debug)]\n# struct SuperErrorSideKick;\n# impl fmt::Display for SuperErrorSideKick {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperErrorSideKick is here!\")\n# }\n# }\n# impl Error for SuperErrorSideKick {}\n# fn get_super_error() -> Result<(), SuperError> {\n# Err(SuperError { source: SuperErrorSideKick })\n# }\n\nfn main() -> Result<(), Report> {\n get_super_error()\n .map_err(Report::from)\n .map_err(|r| r.pretty(true).show_backtrace(true))?;\n Ok(())\n}\n```\n\nThis example produces the following output:\n\n```console\nError: SuperError is here!\n\nCaused by:\n SuperErrorSideKick is here!\n```", - "id": 1882, + "id": 1880, "inner": { "struct": { "generics": { @@ -204937,7 +223400,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -204950,7 +223413,9 @@ "where_predicates": [] }, "impls": [ - 1884, + 1882, + 1885, + 1886, 1887, 1888, 1889, @@ -204960,16 +223425,14 @@ 1893, 1894, 1895, - 1896, 1897, + 1898, 1899, 1900, 1901, - 1902, 1903, 1905, - 1907, - 1909 + 1907 ], "kind": { "plain": { @@ -204981,8 +223444,8 @@ }, "links": { "`Error`": 450, - "`Result::expect`": 1881, - "`Result::unwrap`": 470 + "`Result::expect`": 1879, + "`Result::unwrap`": 471 }, "name": "Report", "span": { @@ -204998,7 +223461,7 @@ }, "visibility": "public" }, - "1883": { + "1881": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 90172, is_soft: false}, feature: \"error_reporter\"}}]" @@ -205007,7 +223470,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `Report` from an input error.", - "id": 1883, + "id": 1881, "inner": { "function": { "generics": { @@ -205045,7 +223508,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } } @@ -205067,12 +223530,12 @@ }, "visibility": "public" }, - "1884": { + "1882": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1884, + "id": 1882, "inner": { "impl": { "blanket_impl": null, @@ -205090,7 +223553,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -205149,7 +223612,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } } @@ -205161,7 +223624,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1883 + 1881 ], "provided_trait_methods": [], "trait": null @@ -205182,7 +223645,7 @@ }, "visibility": "default" }, - "1885": { + "1883": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 90172, is_soft: false}, feature: \"error_reporter\"}}]" @@ -205191,7 +223654,7 @@ "crate_id": 0, "deprecation": null, "docs": "Enable pretty-printing the report across multiple lines.\n\n# Examples\n\n```rust\n#![feature(error_reporter)]\nuse std::error::Report;\n# use std::error::Error;\n# use std::fmt;\n# #[derive(Debug)]\n# struct SuperError {\n# source: SuperErrorSideKick,\n# }\n# impl fmt::Display for SuperError {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperError is here!\")\n# }\n# }\n# impl Error for SuperError {\n# fn source(&self) -> Option<&(dyn Error + 'static)> {\n# Some(&self.source)\n# }\n# }\n# #[derive(Debug)]\n# struct SuperErrorSideKick;\n# impl fmt::Display for SuperErrorSideKick {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperErrorSideKick is here!\")\n# }\n# }\n# impl Error for SuperErrorSideKick {}\n\nlet error = SuperError { source: SuperErrorSideKick };\nlet report = Report::new(error).pretty(true);\neprintln!(\"Error: {report:?}\");\n```\n\nThis example produces the following output:\n\n```console\nError: SuperError is here!\n\nCaused by:\n SuperErrorSideKick is here!\n```\n\nWhen there are multiple source errors the causes will be numbered in order of iteration\nstarting from the outermost error.\n\n```rust\n#![feature(error_reporter)]\nuse std::error::Report;\n# use std::error::Error;\n# use std::fmt;\n# #[derive(Debug)]\n# struct SuperError {\n# source: SuperErrorSideKick,\n# }\n# impl fmt::Display for SuperError {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperError is here!\")\n# }\n# }\n# impl Error for SuperError {\n# fn source(&self) -> Option<&(dyn Error + 'static)> {\n# Some(&self.source)\n# }\n# }\n# #[derive(Debug)]\n# struct SuperErrorSideKick {\n# source: SuperErrorSideKickSideKick,\n# }\n# impl fmt::Display for SuperErrorSideKick {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperErrorSideKick is here!\")\n# }\n# }\n# impl Error for SuperErrorSideKick {\n# fn source(&self) -> Option<&(dyn Error + 'static)> {\n# Some(&self.source)\n# }\n# }\n# #[derive(Debug)]\n# struct SuperErrorSideKickSideKick;\n# impl fmt::Display for SuperErrorSideKickSideKick {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperErrorSideKickSideKick is here!\")\n# }\n# }\n# impl Error for SuperErrorSideKickSideKick { }\n\nlet source = SuperErrorSideKickSideKick;\nlet source = SuperErrorSideKick { source };\nlet error = SuperError { source };\nlet report = Report::new(error).pretty(true);\neprintln!(\"Error: {report:?}\");\n```\n\nThis example produces the following output:\n\n```console\nError: SuperError is here!\n\nCaused by:\n 0: SuperErrorSideKick is here!\n 1: SuperErrorSideKickSideKick is here!\n```", - "id": 1885, + "id": 1883, "inner": { "function": { "generics": { @@ -205242,7 +223705,7 @@ }, "visibility": "public" }, - "1886": { + "1884": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 90172, is_soft: false}, feature: \"error_reporter\"}}]" @@ -205251,7 +223714,7 @@ "crate_id": 0, "deprecation": null, "docs": "Display backtrace if available when using pretty output format.\n\n# Examples\n\n**Note**: Report will search for the first `Backtrace` it can find starting from the\noutermost error. In this example it will display the backtrace from the second error in the\nsources, `SuperErrorSideKick`.\n\n```rust\n#![feature(error_reporter)]\n#![feature(error_generic_member_access)]\n# use std::error::Error;\n# use std::fmt;\nuse std::error::Request;\nuse std::error::Report;\nuse std::backtrace::Backtrace;\n\n# #[derive(Debug)]\n# struct SuperError {\n# source: SuperErrorSideKick,\n# }\n# impl fmt::Display for SuperError {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperError is here!\")\n# }\n# }\n# impl Error for SuperError {\n# fn source(&self) -> Option<&(dyn Error + 'static)> {\n# Some(&self.source)\n# }\n# }\n#[derive(Debug)]\nstruct SuperErrorSideKick {\n backtrace: Backtrace,\n}\n\nimpl SuperErrorSideKick {\n fn new() -> SuperErrorSideKick {\n SuperErrorSideKick { backtrace: Backtrace::force_capture() }\n }\n}\n\nimpl Error for SuperErrorSideKick {\n fn provide<'a>(&'a self, request: &mut Request<'a>) {\n request.provide_ref::(&self.backtrace);\n }\n}\n\n// The rest of the example is unchanged ...\n# impl fmt::Display for SuperErrorSideKick {\n# fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n# write!(f, \"SuperErrorSideKick is here!\")\n# }\n# }\n\nlet source = SuperErrorSideKick::new();\nlet error = SuperError { source };\nlet report = Report::new(error).pretty(true).show_backtrace(true);\neprintln!(\"Error: {report:?}\");\n```\n\nThis example produces something similar to the following output:\n\n```console\nError: SuperError is here!\n\nCaused by:\n SuperErrorSideKick is here!\n\nStack backtrace:\n 0: rust_out::main::_doctest_main_src_error_rs_1158_0::SuperErrorSideKick::new\n 1: rust_out::main::_doctest_main_src_error_rs_1158_0\n 2: rust_out::main\n 3: core::ops::function::FnOnce::call_once\n 4: std::sys::backtrace::__rust_begin_short_backtrace\n 5: std::rt::lang_start::{{closure}}\n 6: std::panicking::try\n 7: std::rt::lang_start_internal\n 8: std::rt::lang_start\n 9: main\n 10: __libc_start_main\n 11: _start\n```", - "id": 1886, + "id": 1884, "inner": { "function": { "generics": { @@ -205302,12 +223765,12 @@ }, "visibility": "public" }, - "1887": { + "1885": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1887, + "id": 1885, "inner": { "impl": { "blanket_impl": null, @@ -205325,7 +223788,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -205348,8 +223811,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1885, - 1886 + 1883, + 1884 ], "provided_trait_methods": [], "trait": null @@ -205370,12 +223833,12 @@ }, "visibility": "default" }, - "1888": { + "1886": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1888, + "id": 1886, "inner": { "impl": { "blanket_impl": null, @@ -205393,7 +223856,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -205451,12 +223914,12 @@ "span": null, "visibility": "default" }, - "1889": { + "1887": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1889, + "id": 1887, "inner": { "impl": { "blanket_impl": null, @@ -205474,7 +223937,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -205532,12 +223995,12 @@ "span": null, "visibility": "default" }, - "1890": { + "1888": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1890, + "id": 1888, "inner": { "impl": { "blanket_impl": null, @@ -205555,7 +224018,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -205582,7 +224045,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -205603,7 +224066,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -205613,12 +224076,12 @@ "span": null, "visibility": "default" }, - "1891": { + "1889": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1891, + "id": 1889, "inner": { "impl": { "blanket_impl": null, @@ -205636,7 +224099,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -205694,12 +224157,12 @@ "span": null, "visibility": "default" }, - "1892": { + "1890": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1892, + "id": 1890, "inner": { "impl": { "blanket_impl": null, @@ -205717,7 +224180,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -205744,7 +224207,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -205765,7 +224228,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -205775,12 +224238,12 @@ "span": null, "visibility": "default" }, - "1893": { + "1891": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1893, + "id": 1891, "inner": { "impl": { "blanket_impl": null, @@ -205798,7 +224261,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -205825,7 +224288,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -205846,7 +224309,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -205856,12 +224319,12 @@ "span": null, "visibility": "default" }, - "1894": { + "1892": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1894, + "id": 1892, "inner": { "impl": { "blanket_impl": { @@ -205881,7 +224344,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -205926,7 +224389,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -205942,7 +224405,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -205951,23 +224414,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1895": { + "1893": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1895, + "id": 1893, "inner": { "impl": { "blanket_impl": { @@ -205987,7 +224450,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -206032,7 +224495,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -206048,7 +224511,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -206057,23 +224520,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1896": { + "1894": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1896, + "id": 1894, "inner": { "impl": { "blanket_impl": { @@ -206093,7 +224556,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -206159,7 +224622,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -206184,23 +224647,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1897": { + "1895": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1897, + "id": 1895, "inner": { "impl": { "blanket_impl": { @@ -206220,7 +224683,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -206243,7 +224706,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -206268,23 +224731,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1898": { + "1896": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 1898, + "id": 1896, "inner": { "function": { "generics": { @@ -206318,23 +224781,23 @@ "name": "from", "span": { "begin": [ - 809, + 803, 5 ], "end": [ - 809, + 803, 23 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1899": { + "1897": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1899, + "id": 1897, "inner": { "impl": { "blanket_impl": { @@ -206354,7 +224817,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -206377,7 +224840,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1898 + 1896 ], "provided_trait_methods": [], "trait": { @@ -206402,23 +224865,23 @@ "name": null, "span": { "begin": [ - 808, + 802, 1 ], "end": [ - 808, + 802, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1900": { + "1898": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1900, + "id": 1898, "inner": { "impl": { "blanket_impl": { @@ -206438,7 +224901,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -206486,7 +224949,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -206504,8 +224967,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -206521,7 +224984,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -206530,23 +224993,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1901": { + "1899": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1901, + "id": 1899, "inner": { "impl": { "blanket_impl": { @@ -206566,7 +225029,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -206632,8 +225095,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -206649,7 +225112,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -206658,23 +225121,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1902": { + "1900": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1902, + "id": 1900, "inner": { "impl": { "blanket_impl": { @@ -206694,7 +225157,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -206742,12 +225205,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -206767,12 +225230,12 @@ }, "visibility": "default" }, - "1903": { + "1901": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1903, + "id": 1901, "inner": { "impl": { "blanket_impl": { @@ -206792,7 +225255,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -206853,7 +225316,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -206862,23 +225325,23 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "1904": { + "1902": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1904, + "id": 1902, "inner": { "function": { "generics": { @@ -206923,7 +225386,7 @@ }, "visibility": "default" }, - "1905": { + "1903": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 90172, is_soft: false}, feature: \"error_reporter\"}}]" @@ -206932,7 +225395,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1905, + "id": 1903, "inner": { "impl": { "blanket_impl": null, @@ -206950,7 +225413,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -206995,7 +225458,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1904 + 1902 ], "provided_trait_methods": [], "trait": { @@ -207031,12 +225494,12 @@ }, "visibility": "default" }, - "1906": { + "1904": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1906, + "id": 1904, "inner": { "function": { "generics": { @@ -207082,7 +225545,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -207094,7 +225557,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -207116,7 +225579,7 @@ }, "visibility": "default" }, - "1907": { + "1905": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 90172, is_soft: false}, feature: \"error_reporter\"}}]" @@ -207125,7 +225588,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1907, + "id": 1905, "inner": { "impl": { "blanket_impl": null, @@ -207143,7 +225606,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -207188,7 +225651,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1906 + 1904 ], "provided_trait_methods": [], "trait": { @@ -207213,12 +225676,12 @@ }, "visibility": "default" }, - "1908": { + "1906": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1908, + "id": 1906, "inner": { "function": { "generics": { @@ -207264,7 +225727,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -207276,7 +225739,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -207298,7 +225761,7 @@ }, "visibility": "default" }, - "1909": { + "1907": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 90172, is_soft: false}, feature: \"error_reporter\"}}]" @@ -207307,7 +225770,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1909, + "id": 1907, "inner": { "impl": { "blanket_impl": null, @@ -207325,7 +225788,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } }, @@ -207373,7 +225836,7 @@ "constraints": [] } }, - "id": 1882, + "id": 1880, "path": "Report" } } @@ -207385,12 +225848,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1908 + 1906 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -207410,7 +225873,7 @@ }, "visibility": "default" }, - "1910": { + "1908": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"panic_hooks\"}}]" @@ -207422,7 +225885,7 @@ "since": "1.82.0" }, "docs": "A struct providing information about a panic.\n\n`PanicInfo` has been renamed to [`PanicHookInfo`] to avoid confusion with\n[`core::panic::PanicInfo`].", - "id": 1910, + "id": 1908, "inner": { "type_alias": { "generics": { @@ -207450,15 +225913,15 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } } } }, "links": { - "`PanicHookInfo`": 6199, - "`core::panic::PanicInfo`": 6200 + "`PanicHookInfo`": 6232, + "`core::panic::PanicInfo`": 6233 }, "name": "PanicInfo", "span": { @@ -207474,7 +225937,7 @@ }, "visibility": "public" }, - "1911": { + "1909": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -207483,29 +225946,29 @@ "crate_id": 0, "deprecation": null, "docs": "Interfaces for working with Errors.\n\n# Error Handling In Rust\n\nThe Rust language provides two complementary systems for constructing /\nrepresenting, reporting, propagating, reacting to, and discarding errors.\nThese responsibilities are collectively known as \"error handling.\" The\ncomponents of the first system, the panic runtime and interfaces, are most\ncommonly used to represent bugs that have been detected in your program. The\ncomponents of the second system, `Result`, the error traits, and user\ndefined types, are used to represent anticipated runtime failure modes of\nyour program.\n\n## The Panic Interfaces\n\nThe following are the primary interfaces of the panic system and the\nresponsibilities they cover:\n\n* [`panic!`] and [`panic_any`] (Constructing, Propagated automatically)\n* [`set_hook`], [`take_hook`], and [`PanicHookInfo`] (Reporting)\n* [`#[panic_handler]`][panic-handler] and [`PanicInfo`] (Reporting in no_std)\n* [`catch_unwind`] and [`resume_unwind`] (Discarding, Propagating)\n\nThe following are the primary interfaces of the error system and the\nresponsibilities they cover:\n\n* [`Result`] (Propagating, Reacting)\n* The [`Error`] trait (Reporting)\n* User defined types (Constructing / Representing)\n* [`match`] and [`downcast`] (Reacting)\n* The question mark operator ([`?`]) (Propagating)\n* The partially stable [`Try`] traits (Propagating, Constructing)\n* [`Termination`] (Reporting)\n\n## Converting Errors into Panics\n\nThe panic and error systems are not entirely distinct. Often times errors\nthat are anticipated runtime failures in an API might instead represent bugs\nto a caller. For these situations the standard library provides APIs for\nconstructing panics with an `Error` as its source.\n\n* [`Result::unwrap`]\n* [`Result::expect`]\n\nThese functions are equivalent, they either return the inner value if the\n`Result` is `Ok` or panic if the `Result` is `Err` printing the inner error\nas the source. The only difference between them is that with `expect` you\nprovide a panic error message to be printed alongside the source, whereas\n`unwrap` has a default message indicating only that you unwrapped an `Err`.\n\nOf the two, `expect` is generally preferred since its `msg` field allows you\nto convey your intent and assumptions which makes tracking down the source\nof a panic easier. `unwrap` on the other hand can still be a good fit in\nsituations where you can trivially show that a piece of code will never\npanic, such as `\"127.0.0.1\".parse::().unwrap()` or early\nprototyping.\n\n# Common Message Styles\n\nThere are two common styles for how people word `expect` messages. Using\nthe message to present information to users encountering a panic\n(\"expect as error message\") or using the message to present information\nto developers debugging the panic (\"expect as precondition\").\n\nIn the former case the expect message is used to describe the error that\nhas occurred which is considered a bug. Consider the following example:\n\n```should_panic\n// Read environment variable, panic if it is not present\nlet path = std::env::var(\"IMPORTANT_PATH\").unwrap();\n```\n\nIn the \"expect as error message\" style we would use expect to describe\nthat the environment variable was not set when it should have been:\n\n```should_panic\nlet path = std::env::var(\"IMPORTANT_PATH\")\n .expect(\"env variable `IMPORTANT_PATH` is not set\");\n```\n\nIn the \"expect as precondition\" style, we would instead describe the\nreason we _expect_ the `Result` should be `Ok`. With this style we would\nprefer to write:\n\n```should_panic\nlet path = std::env::var(\"IMPORTANT_PATH\")\n .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");\n```\n\nThe \"expect as error message\" style does not work as well with the\ndefault output of the std panic hooks, and often ends up repeating\ninformation that is already communicated by the source error being\nunwrapped:\n\n```text\nthread 'main' panicked at src/main.rs:4:6:\nenv variable `IMPORTANT_PATH` is not set: NotPresent\n```\n\nIn this example we end up mentioning that an env variable is not set,\nfollowed by our source message that says the env is not present, the\nonly additional information we're communicating is the name of the\nenvironment variable being checked.\n\nThe \"expect as precondition\" style instead focuses on source code\nreadability, making it easier to understand what must have gone wrong in\nsituations where panics are being used to represent bugs exclusively.\nAlso, by framing our expect in terms of what \"SHOULD\" have happened to\nprevent the source error, we end up introducing new information that is\nindependent from our source error.\n\n```text\nthread 'main' panicked at src/main.rs:4:6:\nenv variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`: NotPresent\n```\n\nIn this example we are communicating not only the name of the\nenvironment variable that should have been set, but also an explanation\nfor why it should have been set, and we let the source error display as\na clear contradiction to our expectation.\n\n**Hint**: If you're having trouble remembering how to phrase\nexpect-as-precondition style error messages remember to focus on the word\n\"should\" as in \"env variable should be set by blah\" or \"the given binary\nshould be available and executable by the current user\".\n\n[`panic_any`]: ../../std/panic/fn.panic_any.html\n[`PanicHookInfo`]: ../../std/panic/struct.PanicHookInfo.html\n[`PanicInfo`]: crate::panic::PanicInfo\n[`catch_unwind`]: ../../std/panic/fn.catch_unwind.html\n[`resume_unwind`]: ../../std/panic/fn.resume_unwind.html\n[`downcast`]: crate::error::Error\n[`Termination`]: ../../std/process/trait.Termination.html\n[`Try`]: crate::ops::Try\n[panic hook]: ../../std/panic/fn.set_hook.html\n[`set_hook`]: ../../std/panic/fn.set_hook.html\n[`take_hook`]: ../../std/panic/fn.take_hook.html\n[panic-handler]: \n[`match`]: ../../std/keyword.match.html\n[`?`]: ../../std/result/index.html#the-question-mark-operator-", - "id": 1911, + "id": 1909, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 1871, + 1869, + 1870, 1872, 1874, - 1876, - 1882 + 1880 ] } }, "links": { "`Error`": 450, - "`Result::expect`": 1881, - "`Result::unwrap`": 470, + "`Result::expect`": 1879, + "`Result::unwrap`": 471, "`Result`": 57, - "`panic!`": 492, + "`panic!`": 493, "crate::error::Error": 450, - "crate::ops::Try": 1859, - "crate::panic::PanicInfo": 1910 + "crate::ops::Try": 1857, + "crate::panic::PanicInfo": 1908 }, "name": "error", "span": { @@ -207521,7 +225984,7 @@ }, "visibility": "public" }, - "1912": { + "1910": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"cstring_from_vec_with_nul\"}}]" @@ -207530,10 +225993,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1912, + "id": 1910, "inner": { "use": { - "id": 1913, + "id": 1911, "is_glob": false, "name": "FromVecWithNulError", "source": "alloc::ffi::c_str::FromVecWithNulError" @@ -207554,7 +226017,7 @@ }, "visibility": "public" }, - "1914": { + "1912": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"cstring_into\"}}]" @@ -207563,10 +226026,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1914, + "id": 1912, "inner": { "use": { - "id": 1915, + "id": 1913, "is_glob": false, "name": "IntoStringError", "source": "alloc::ffi::c_str::IntoStringError" @@ -207587,7 +226050,7 @@ }, "visibility": "public" }, - "1916": { + "1914": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -207596,10 +226059,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1916, + "id": 1914, "inner": { "use": { - "id": 1917, + "id": 1915, "is_glob": false, "name": "CString", "source": "alloc::ffi::c_str::CString" @@ -207620,7 +226083,7 @@ }, "visibility": "public" }, - "1918": { + "1916": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -207629,10 +226092,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1918, + "id": 1916, "inner": { "use": { - "id": 1919, + "id": 1917, "is_glob": false, "name": "NulError", "source": "alloc::ffi::c_str::NulError" @@ -207653,7 +226116,7 @@ }, "visibility": "public" }, - "1920": { + "1918": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -207662,10 +226125,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1920, + "id": 1918, "inner": { "use": { - "id": 1921, + "id": 1919, "is_glob": false, "name": "CStr", "source": "core::ffi::c_str::CStr" @@ -207686,7 +226149,7 @@ }, "visibility": "public" }, - "1922": { + "1920": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 69, patch: 0})}, feature: \"cstr_from_bytes_until_nul\"}}]" @@ -207695,10 +226158,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1922, + "id": 1920, "inner": { "use": { - "id": 1923, + "id": 1921, "is_glob": false, "name": "FromBytesUntilNulError", "source": "core::ffi::c_str::FromBytesUntilNulError" @@ -207719,7 +226182,7 @@ }, "visibility": "public" }, - "1924": { + "1922": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"cstr_from_bytes\"}}]" @@ -207728,10 +226191,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1924, + "id": 1922, "inner": { "use": { - "id": 1925, + "id": 1923, "is_glob": false, "name": "FromBytesWithNulError", "source": "core::ffi::c_str::FromBytesWithNulError" @@ -207752,7 +226215,7 @@ }, "visibility": "public" }, - "1926": { + "1924": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 88, patch: 0})}, feature: \"c_str_module\"}}]" @@ -207761,25 +226224,25 @@ "crate_id": 0, "deprecation": null, "docs": "[`CStr`], [`CString`], and related types.", - "id": 1926, + "id": 1924, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ + 1910, 1912, 1914, 1916, 1918, 1920, - 1922, - 1924 + 1922 ] } }, "links": { - "`CStr`": 1921, - "`CString`": 1917 + "`CStr`": 1919, + "`CString`": 1915 }, "name": "c_str", "span": { @@ -207795,7 +226258,7 @@ }, "visibility": "public" }, - "1928": { + "1926": { "attrs": [ { "other": "#[rustc_doc_primitive = \"str\"]" @@ -207807,37 +226270,37 @@ "crate_id": 0, "deprecation": null, "docs": "String slices.\n\n*[See also the `std::str` module](crate::str).*\n\nThe `str` type, also called a 'string slice', is the most primitive string\ntype. It is usually seen in its borrowed form, `&str`. It is also the type\nof string literals, `&'static str`.\n\n# Basic Usage\n\nString literals are string slices:\n\n```\nlet hello_world = \"Hello, World!\";\n```\n\nHere we have declared a string slice initialized with a string literal.\nString literals have a static lifetime, which means the string `hello_world`\nis guaranteed to be valid for the duration of the entire program.\nWe can explicitly specify `hello_world`'s lifetime as well:\n\n```\nlet hello_world: &'static str = \"Hello, world!\";\n```\n\n# Representation\n\nA `&str` is made up of two components: a pointer to some bytes, and a\nlength. You can look at these with the [`as_ptr`] and [`len`] methods:\n\n```\nuse std::slice;\nuse std::str;\n\nlet story = \"Once upon a time...\";\n\nlet ptr = story.as_ptr();\nlet len = story.len();\n\n// story has nineteen bytes\nassert_eq!(19, len);\n\n// We can re-build a str out of ptr and len. This is all unsafe because\n// we are responsible for making sure the two components are valid:\nlet s = unsafe {\n // First, we build a &[u8]...\n let slice = slice::from_raw_parts(ptr, len);\n\n // ... and then convert that slice into a string slice\n str::from_utf8(slice)\n};\n\nassert_eq!(s, Ok(story));\n```\n\n[`as_ptr`]: str::as_ptr\n[`len`]: str::len\n\nNote: This example shows the internals of `&str`. `unsafe` should not be\nused to get a string slice under normal circumstances. Use `as_str`\ninstead.\n\n# Invariant\n\nRust libraries may assume that string slices are always valid UTF-8.\n\nConstructing a non-UTF-8 string slice is not immediate undefined behavior, but any function\ncalled on a string slice may assume that it is valid UTF-8, which means that a non-UTF-8 string\nslice can lead to undefined behavior down the road.", - "id": 1928, + "id": 1926, "inner": { "primitive": { "impls": [ - 9559, - 9567, + 9780, + 9788, 655, + 1998, 2000, 2002, 2004, - 2006, - 2016, - 2188, + 2014, + 2186, + 2194, 2196, - 2198, - 2207, - 2241, - 4467, - 6593, - 6595, - 6719, - 6721, - 6738 + 2205, + 2239, + 4468, + 6632, + 6634, + 6758, + 6760, + 6777 ], "name": "str" } }, "links": { - "crate::str": 9161, - "str::as_ptr": 9162, - "str::len": 9163 + "crate::str": 9383, + "str::as_ptr": 9384, + "str::len": 9385 }, "name": "str", "span": { @@ -207853,10 +226316,10 @@ }, "visibility": "public" }, - "1931": { + "1929": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"const_pathbuf_osstring_new\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"const_pathbuf_osstring_new\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -207873,7 +226336,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new empty `OsString`.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet os_string = OsString::new();\n```", - "id": 1931, + "id": 1929, "inner": { "function": { "generics": { @@ -207893,7 +226356,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -207915,7 +226378,7 @@ }, "visibility": "public" }, - "1932": { + "1930": { "attrs": [ { "other": "#[attr = Confusables {symbols: [\"append\", \"put\"]}]" @@ -207930,7 +226393,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extends the string with the given &[OsStr] slice.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet mut os_string = OsString::from(\"foo\");\nos_string.push(\"bar\");\nassert_eq!(&os_string, \"foobar\");\n```", - "id": 1932, + "id": 1930, "inner": { "function": { "generics": { @@ -207951,7 +226414,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -208009,7 +226472,7 @@ } }, "links": { - "OsStr": 1720 + "OsStr": 1719 }, "name": "push", "span": { @@ -208025,7 +226488,7 @@ }, "visibility": "public" }, - "1933": { + "1931": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"os_string_as_os_str\")]" @@ -208048,7 +226511,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts to an [`OsStr`] slice.\n\n# Examples\n\n```\nuse std::ffi::{OsString, OsStr};\n\nlet os_string = OsString::from(\"foo\");\nlet os_str = OsStr::new(\"foo\");\nassert_eq!(os_string.as_os_str(), os_str);\n```", - "id": 1933, + "id": 1931, "inner": { "function": { "generics": { @@ -208085,7 +226548,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -208095,7 +226558,7 @@ } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "as_os_str", "span": { @@ -208111,7 +226574,7 @@ }, "visibility": "public" }, - "1934": { + "1932": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -208120,14 +226583,15 @@ "crate_id": 0, "deprecation": null, "docs": "Utilities related to FFI bindings.\n\nThis module provides utilities to handle data across non-Rust\ninterfaces, like other programming languages and the underlying\noperating system. It is mainly of use for FFI (Foreign Function\nInterface) bindings and code that needs to exchange C-like strings\nwith other languages.\n\n# Overview\n\nRust represents owned strings with the [`String`] type, and\nborrowed slices of strings with the [`str`] primitive. Both are\nalways in UTF-8 encoding, and may contain nul bytes in the middle,\ni.e., if you look at the bytes that make up the string, there may\nbe a `\\0` among them. Both `String` and `str` store their length\nexplicitly; there are no nul terminators at the end of strings\nlike in C.\n\nC strings are different from Rust strings:\n\n* **Encodings** - Rust strings are UTF-8, but C strings may use\nother encodings. If you are using a string from C, you should\ncheck its encoding explicitly, rather than just assuming that it\nis UTF-8 like you can do in Rust.\n\n* **Character size** - C strings may use `char` or `wchar_t`-sized\ncharacters; please **note** that C's `char` is different from Rust's.\nThe C standard leaves the actual sizes of those types open to\ninterpretation, but defines different APIs for strings made up of\neach character type. Rust strings are always UTF-8, so different\nUnicode characters will be encoded in a variable number of bytes\neach. The Rust type [`char`] represents a '[Unicode scalar\nvalue]', which is similar to, but not the same as, a '[Unicode\ncode point]'.\n\n* **Nul terminators and implicit string lengths** - Often, C\nstrings are nul-terminated, i.e., they have a `\\0` character at the\nend. The length of a string buffer is not stored, but has to be\ncalculated; to compute the length of a string, C code must\nmanually call a function like `strlen()` for `char`-based strings,\nor `wcslen()` for `wchar_t`-based ones. Those functions return\nthe number of characters in the string excluding the nul\nterminator, so the buffer length is really `len+1` characters.\nRust strings don't have a nul terminator; their length is always\nstored and does not need to be calculated. While in Rust\naccessing a string's length is an *O*(1) operation (because the\nlength is stored); in C it is an *O*(*n*) operation because the\nlength needs to be computed by scanning the string for the nul\nterminator.\n\n* **Internal nul characters** - When C strings have a nul\nterminator character, this usually means that they cannot have nul\ncharacters in the middle — a nul character would essentially\ntruncate the string. Rust strings *can* have nul characters in\nthe middle, because nul does not have to mark the end of the\nstring in Rust.\n\n# Representations of non-Rust strings\n\n[`CString`] and [`CStr`] are useful when you need to transfer\nUTF-8 strings to and from languages with a C ABI, like Python.\n\n* **From Rust to C:** [`CString`] represents an owned, C-friendly\nstring: it is nul-terminated, and has no internal nul characters.\nRust code can create a [`CString`] out of a normal string (provided\nthat the string doesn't have nul characters in the middle), and\nthen use a variety of methods to obtain a raw \\*mut [u8] that can\nthen be passed as an argument to functions which use the C\nconventions for strings.\n\n* **From C to Rust:** [`CStr`] represents a borrowed C string; it\nis what you would use to wrap a raw \\*const [u8] that you got from\na C function. A [`CStr`] is guaranteed to be a nul-terminated array\nof bytes. Once you have a [`CStr`], you can convert it to a Rust\n&[str] if it's valid UTF-8, or lossily convert it by adding\nreplacement characters.\n\n[`OsString`] and [`OsStr`] are useful when you need to transfer\nstrings to and from the operating system itself, or when capturing\nthe output of external commands. Conversions between [`OsString`],\n[`OsStr`] and Rust strings work similarly to those for [`CString`]\nand [`CStr`].\n\n* [`OsString`] losslessly represents an owned platform string. However, this\nrepresentation is not necessarily in a form native to the platform.\nIn the Rust standard library, various APIs that transfer strings to/from the operating\nsystem use [`OsString`] instead of plain strings. For example,\n[`env::var_os()`] is used to query environment variables; it\nreturns an [Option]<[OsString]>. If the environment variable\nexists you will get a [Some]\\(os_string), which you can\n*then* try to convert to a Rust string. This yields a [`Result`], so that\nyour code can detect errors in case the environment variable did\nnot in fact contain valid Unicode data.\n\n* [`OsStr`] losslessly represents a borrowed reference to a platform string.\nHowever, this representation is not necessarily in a form native to the platform.\nIt can be converted into a UTF-8 Rust string slice in a similar way to\n[`OsString`].\n\n# Conversions\n\n## On Unix\n\nOn Unix, [`OsStr`] implements the\nstd::os::unix::ffi::[OsStrExt][unix.OsStrExt] trait, which\naugments it with two methods, [`from_bytes`] and [`as_bytes`].\nThese do inexpensive conversions from and to byte slices.\n\nAdditionally, on Unix [`OsString`] implements the\nstd::os::unix::ffi::[OsStringExt][unix.OsStringExt] trait,\nwhich provides [`from_vec`] and [`into_vec`] methods that consume\ntheir arguments, and take or produce vectors of [`u8`].\n\n## On Windows\n\nAn [`OsStr`] can be losslessly converted to a native Windows string. And\na native Windows string can be losslessly converted to an [`OsString`].\n\nOn Windows, [`OsStr`] implements the\nstd::os::windows::ffi::[OsStrExt][windows.OsStrExt] trait,\nwhich provides an [`encode_wide`] method. This provides an\niterator that can be [`collect`]ed into a vector of [`u16`]. After a nul\ncharacters is appended, this is the same as a native Windows string.\n\nAdditionally, on Windows [`OsString`] implements the\nstd::os::windows:ffi::[OsStringExt][windows.OsStringExt]\ntrait, which provides a [`from_wide`] method to convert a native Windows\nstring (without the terminating nul character) to an [`OsString`].\n\n## Other platforms\n\nMany other platforms provide their own extension traits in a\n`std::os::*::ffi` module.\n\n## On all platforms\n\nOn all platforms, [`OsStr`] consists of a sequence of bytes that is encoded as a superset of\nUTF-8; see [`OsString`] for more details on its encoding on different platforms.\n\nFor limited, inexpensive conversions from and to bytes, see [`OsStr::as_encoded_bytes`] and\n[`OsStr::from_encoded_bytes_unchecked`].\n\nFor basic string processing, see [`OsStr::slice_encoded_bytes`].\n\n[Unicode scalar value]: https://www.unicode.org/glossary/#unicode_scalar_value\n[Unicode code point]: https://www.unicode.org/glossary/#code_point\n[`env::set_var()`]: crate::env::set_var \"env::set_var\"\n[`env::var_os()`]: crate::env::var_os \"env::var_os\"\n[unix.OsStringExt]: crate::os::unix::ffi::OsStringExt \"os::unix::ffi::OsStringExt\"\n[`from_vec`]: crate::os::unix::ffi::OsStringExt::from_vec \"os::unix::ffi::OsStringExt::from_vec\"\n[`into_vec`]: crate::os::unix::ffi::OsStringExt::into_vec \"os::unix::ffi::OsStringExt::into_vec\"\n[unix.OsStrExt]: crate::os::unix::ffi::OsStrExt \"os::unix::ffi::OsStrExt\"\n[`from_bytes`]: crate::os::unix::ffi::OsStrExt::from_bytes \"os::unix::ffi::OsStrExt::from_bytes\"\n[`as_bytes`]: crate::os::unix::ffi::OsStrExt::as_bytes \"os::unix::ffi::OsStrExt::as_bytes\"\n[`OsStrExt`]: crate::os::unix::ffi::OsStrExt \"os::unix::ffi::OsStrExt\"\n[windows.OsStrExt]: crate::os::windows::ffi::OsStrExt \"os::windows::ffi::OsStrExt\"\n[`encode_wide`]: crate::os::windows::ffi::OsStrExt::encode_wide \"os::windows::ffi::OsStrExt::encode_wide\"\n[`collect`]: crate::iter::Iterator::collect \"iter::Iterator::collect\"\n[windows.OsStringExt]: crate::os::windows::ffi::OsStringExt \"os::windows::ffi::OsStringExt\"\n[`from_wide`]: crate::os::windows::ffi::OsStringExt::from_wide \"os::windows::ffi::OsStringExt::from_wide\"", - "id": 1934, + "id": 1932, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 1926, - 2347, + 1924, + 2345, + 2346, 2348, 2350, 2352, @@ -208148,50 +226612,49 @@ 2382, 2384, 2386, + 2387, 2388, 2389, 2390, 2391, 2392, 2393, - 2394, - 2395, - 2396 + 2394 ] } }, "links": { "Option": 51, - "OsString": 1709, + "OsString": 1708, "Some": 55, - "`CStr`": 1921, - "`CString`": 1917, - "`OsStr::as_encoded_bytes`": 1935, - "`OsStr::from_encoded_bytes_unchecked`": 2137, - "`OsStr::slice_encoded_bytes`": 1951, - "`OsStr`": 1720, - "`OsString`": 1709, + "`CStr`": 1919, + "`CString`": 1915, + "`OsStr::as_encoded_bytes`": 1933, + "`OsStr::from_encoded_bytes_unchecked`": 2135, + "`OsStr::slice_encoded_bytes`": 1949, + "`OsStr`": 1719, + "`OsString`": 1708, "`Result`": 57, - "`String`": 161, - "`char`": 2397, - "`str`": 1928, - "`u16`": 2404, - "`u8`": 2398, - "crate::env::set_var": 1753, - "crate::env::var_os": 1717, - "crate::iter::Iterator::collect": 1653, - "crate::os::unix::ffi::OsStrExt": 2247, - "crate::os::unix::ffi::OsStrExt::as_bytes": 2400, - "crate::os::unix::ffi::OsStrExt::from_bytes": 2399, - "crate::os::unix::ffi::OsStringExt": 2089, - "crate::os::unix::ffi::OsStringExt::from_vec": 2401, - "crate::os::unix::ffi::OsStringExt::into_vec": 2402, - "crate::os::windows::ffi::OsStrExt": 2255, - "crate::os::windows::ffi::OsStrExt::encode_wide": 2403, - "crate::os::windows::ffi::OsStringExt": 2096, - "crate::os::windows::ffi::OsStringExt::from_wide": 2405, - "str": 1928, - "u8": 2398 + "`String`": 159, + "`char`": 2395, + "`str`": 1926, + "`u16`": 2402, + "`u8`": 2396, + "crate::env::set_var": 1751, + "crate::env::var_os": 1716, + "crate::iter::Iterator::collect": 1652, + "crate::os::unix::ffi::OsStrExt": 2245, + "crate::os::unix::ffi::OsStrExt::as_bytes": 2398, + "crate::os::unix::ffi::OsStrExt::from_bytes": 2397, + "crate::os::unix::ffi::OsStringExt": 2087, + "crate::os::unix::ffi::OsStringExt::from_vec": 2399, + "crate::os::unix::ffi::OsStringExt::into_vec": 2400, + "crate::os::windows::ffi::OsStrExt": 2253, + "crate::os::windows::ffi::OsStrExt::encode_wide": 2401, + "crate::os::windows::ffi::OsStringExt": 2094, + "crate::os::windows::ffi::OsStringExt::from_wide": 2403, + "str": 1926, + "u8": 2396 }, "name": "ffi", "span": { @@ -208207,7 +226670,7 @@ }, "visibility": "public" }, - "1935": { + "1933": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 74, patch: 0})}, feature: \"os_str_bytes\"}}]" @@ -208219,7 +226682,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts an OS string slice to a byte slice. To convert the byte slice back into an OS\nstring slice, use the [`OsStr::from_encoded_bytes_unchecked`] function.\n\nThe byte encoding is an unspecified, platform-specific, self-synchronizing superset of UTF-8.\nBy being a self-synchronizing superset of UTF-8, this encoding is also a superset of 7-bit\nASCII.\n\nNote: As the encoding is unspecified, any sub-slice of bytes that is not valid UTF-8 should\nbe treated as opaque and only comparable within the same Rust version built for the same\ntarget platform. For example, sending the slice over the network or storing it in a file\nwill likely result in incompatible byte slices. See [`OsString`] for more encoding details\nand [`std::ffi`] for platform-specific, specified conversions.\n\n[`std::ffi`]: crate::ffi", - "id": 1935, + "id": 1933, "inner": { "function": { "generics": { @@ -208264,25 +226727,25 @@ } }, "links": { - "`OsStr::from_encoded_bytes_unchecked`": 2137, - "`OsString`": 1709, - "crate::ffi": 1934 + "`OsStr::from_encoded_bytes_unchecked`": 2135, + "`OsString`": 1708, + "crate::ffi": 1932 }, "name": "as_encoded_bytes", "span": { "begin": [ - 1065, + 1068, 5 ], "end": [ - 1067, + 1070, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "1936": { + "1934": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 74, patch: 0})}, feature: \"os_str_bytes\"}}]" @@ -208294,7 +226757,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts bytes to an `OsString` without checking that the bytes contains\nvalid [`OsStr`]-encoded data.\n\nThe byte encoding is an unspecified, platform-specific, self-synchronizing superset of UTF-8.\nBy being a self-synchronizing superset of UTF-8, this encoding is also a superset of 7-bit\nASCII.\n\nSee the [module's toplevel documentation about conversions][conversions] for safe,\ncross-platform [conversions] from/to native representations.\n\n# Safety\n\nAs the encoding is unspecified, callers must pass in bytes that originated as a mixture of\nvalidated UTF-8 and bytes from [`OsStr::as_encoded_bytes`] from within the same Rust version\nbuilt for the same target platform. For example, reconstructing an `OsString` from bytes sent\nover the network or stored in a file will likely violate these safety rules.\n\nDue to the encoding being self-synchronizing, the bytes from [`OsStr::as_encoded_bytes`] can be\nsplit either immediately before or immediately after any valid non-empty UTF-8 substring.\n\n# Example\n\n```\nuse std::ffi::OsStr;\n\nlet os_str = OsStr::new(\"Mary had a little lamb\");\nlet bytes = os_str.as_encoded_bytes();\nlet words = bytes.split(|b| *b == b' ');\nlet words: Vec<&OsStr> = words.map(|word| {\n // SAFETY:\n // - Each `word` only contains content that originated from `OsStr::as_encoded_bytes`\n // - Only split with ASCII whitespace which is a non-empty UTF-8 substring\n unsafe { OsStr::from_encoded_bytes_unchecked(word) }\n}).collect();\n```\n\n[conversions]: super#conversions", - "id": 1936, + "id": 1934, "inner": { "function": { "generics": { @@ -208326,7 +226789,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -208340,9 +226803,9 @@ } }, "links": { - "`OsStr::as_encoded_bytes`": 1935, - "`OsStr`": 1720, - "super#conversions": 1934 + "`OsStr::as_encoded_bytes`": 1933, + "`OsStr`": 1719, + "super#conversions": 1932 }, "name": "from_encoded_bytes_unchecked", "span": { @@ -208358,7 +226821,7 @@ }, "visibility": "public" }, - "1937": { + "1935": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 74, patch: 0})}, feature: \"os_str_bytes\"}}]" @@ -208370,7 +226833,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts the `OsString` into a byte vector. To convert the byte vector back into an\n`OsString`, use the [`OsString::from_encoded_bytes_unchecked`] function.\n\nThe byte encoding is an unspecified, platform-specific, self-synchronizing superset of UTF-8.\nBy being a self-synchronizing superset of UTF-8, this encoding is also a superset of 7-bit\nASCII.\n\nNote: As the encoding is unspecified, any sub-slice of bytes that is not valid UTF-8 should\nbe treated as opaque and only comparable within the same Rust version built for the same\ntarget platform. For example, sending the bytes over the network or storing it in a file\nwill likely result in incompatible data. See [`OsString`] for more encoding details\nand [`std::ffi`] for platform-specific, specified conversions.\n\n[`std::ffi`]: crate::ffi", - "id": 1937, + "id": 1935, "inner": { "function": { "generics": { @@ -208408,7 +226871,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -208416,9 +226879,9 @@ } }, "links": { - "`OsString::from_encoded_bytes_unchecked`": 1936, - "`OsString`": 1709, - "crate::ffi": 1934 + "`OsString::from_encoded_bytes_unchecked`": 1934, + "`OsString`": 1708, + "crate::ffi": 1932 }, "name": "into_encoded_bytes", "span": { @@ -208434,7 +226897,7 @@ }, "visibility": "public" }, - "1938": { + "1936": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -208446,7 +226909,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts the `OsString` into a [`String`] if it contains valid Unicode data.\n\nOn failure, ownership of the original `OsString` is returned.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet os_string = OsString::from(\"foo\");\nlet string = os_string.into_string();\nassert_eq!(string, Ok(String::from(\"foo\")));\n```", - "id": 1938, + "id": 1936, "inner": { "function": { "generics": { @@ -208479,7 +226942,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -208488,7 +226951,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -208505,7 +226968,7 @@ } }, "links": { - "`String`": 161 + "`String`": 159 }, "name": "into_string", "span": { @@ -208521,7 +226984,7 @@ }, "visibility": "public" }, - "1939": { + "1937": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"osstring_simple_functions\"}}]" @@ -208538,7 +227001,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `OsString` with at least the given capacity.\n\nThe string will be able to hold at least `capacity` length units of other\nOS strings without reallocating. This method is allowed to allocate for\nmore units than `capacity`. If `capacity` is 0, the string will not\nallocate.\n\nSee the main `OsString` documentation information about encoding and capacity units.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet mut os_string = OsString::with_capacity(10);\nlet capacity = os_string.capacity();\n\n// This push is done without reallocating\nos_string.push(\"foo\");\n\nassert_eq!(capacity, os_string.capacity());\n```", - "id": 1939, + "id": 1937, "inner": { "function": { "generics": { @@ -208565,7 +227028,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -208587,7 +227050,7 @@ }, "visibility": "public" }, - "1940": { + "1938": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"osstring_simple_functions\"}}]" @@ -208599,7 +227062,7 @@ "crate_id": 0, "deprecation": null, "docs": "Truncates the `OsString` to zero length.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet mut os_string = OsString::from(\"foo\");\nassert_eq!(&os_string, \"foo\");\n\nos_string.clear();\nassert_eq!(&os_string, \"\");\n```", - "id": 1940, + "id": 1938, "inner": { "function": { "generics": { @@ -208648,7 +227111,7 @@ }, "visibility": "public" }, - "1941": { + "1939": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"osstring_simple_functions\"}}]" @@ -208665,7 +227128,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the capacity this `OsString` can hold without reallocating.\n\nSee the main `OsString` documentation information about encoding and capacity units.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet os_string = OsString::with_capacity(10);\nassert!(os_string.capacity() >= 10);\n```", - "id": 1941, + "id": 1939, "inner": { "function": { "generics": { @@ -208716,7 +227179,7 @@ }, "visibility": "public" }, - "1942": { + "1940": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"osstring_simple_functions\"}}]" @@ -208728,7 +227191,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reserves capacity for at least `additional` more capacity to be inserted\nin the given `OsString`. Does nothing if the capacity is\nalready sufficient.\n\nThe collection may reserve more space to speculatively avoid frequent reallocations.\n\nSee the main `OsString` documentation information about encoding and capacity units.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet mut s = OsString::new();\ns.reserve(10);\nassert!(s.capacity() >= 10);\n```", - "id": 1942, + "id": 1940, "inner": { "function": { "generics": { @@ -208783,7 +227246,7 @@ }, "visibility": "public" }, - "1943": { + "1941": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"try_reserve_2\"}}]" @@ -208795,7 +227258,7 @@ "crate_id": 0, "deprecation": null, "docs": "Tries to reserve capacity for at least `additional` more length units\nin the given `OsString`. The string may reserve more space to speculatively avoid\nfrequent reallocations. After calling `try_reserve`, capacity will be\ngreater than or equal to `self.len() + additional` if it returns `Ok(())`.\nDoes nothing if capacity is already sufficient. This method preserves\nthe contents even if an error occurs.\n\nSee the main `OsString` documentation information about encoding and capacity units.\n\n# Errors\n\nIf the capacity overflows, or the allocator reports a failure, then an error\nis returned.\n\n# Examples\n\n```\nuse std::ffi::{OsStr, OsString};\nuse std::collections::TryReserveError;\n\nfn process_data(data: &str) -> Result {\n let mut s = OsString::new();\n\n // Pre-reserve the memory, exiting if we can't\n s.try_reserve(OsStr::new(data).len())?;\n\n // Now we know this can't OOM in the middle of our complex work\n s.push(data);\n\n Ok(s)\n}\n# process_data(\"123\").expect(\"why is the test harness OOMing on 3 bytes?\");\n```", - "id": 1943, + "id": 1941, "inner": { "function": { "generics": { @@ -208876,7 +227339,7 @@ }, "visibility": "public" }, - "1944": { + "1942": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"osstring_simple_functions\"}}]" @@ -208888,7 +227351,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reserves the minimum capacity for at least `additional` more capacity to\nbe inserted in the given `OsString`. Does nothing if the capacity is\nalready sufficient.\n\nNote that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer [`reserve`] if future insertions are expected.\n\n[`reserve`]: OsString::reserve\n\nSee the main `OsString` documentation information about encoding and capacity units.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet mut s = OsString::new();\ns.reserve_exact(10);\nassert!(s.capacity() >= 10);\n```", - "id": 1944, + "id": 1942, "inner": { "function": { "generics": { @@ -208929,7 +227392,7 @@ } }, "links": { - "OsString::reserve": 1942 + "OsString::reserve": 1940 }, "name": "reserve_exact", "span": { @@ -208945,7 +227408,7 @@ }, "visibility": "public" }, - "1945": { + "1943": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"try_reserve_2\"}}]" @@ -208957,7 +227420,7 @@ "crate_id": 0, "deprecation": null, "docs": "Tries to reserve the minimum capacity for at least `additional`\nmore length units in the given `OsString`. After calling\n`try_reserve_exact`, capacity will be greater than or equal to\n`self.len() + additional` if it returns `Ok(())`.\nDoes nothing if the capacity is already sufficient.\n\nNote that the allocator may give the `OsString` more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer [`try_reserve`] if future insertions are expected.\n\n[`try_reserve`]: OsString::try_reserve\n\nSee the main `OsString` documentation information about encoding and capacity units.\n\n# Errors\n\nIf the capacity overflows, or the allocator reports a failure, then an error\nis returned.\n\n# Examples\n\n```\nuse std::ffi::{OsStr, OsString};\nuse std::collections::TryReserveError;\n\nfn process_data(data: &str) -> Result {\n let mut s = OsString::new();\n\n // Pre-reserve the memory, exiting if we can't\n s.try_reserve_exact(OsStr::new(data).len())?;\n\n // Now we know this can't OOM in the middle of our complex work\n s.push(data);\n\n Ok(s)\n}\n# process_data(\"123\").expect(\"why is the test harness OOMing on 3 bytes?\");\n```", - "id": 1945, + "id": 1943, "inner": { "function": { "generics": { @@ -209024,7 +227487,7 @@ } }, "links": { - "OsString::try_reserve": 1943 + "OsString::try_reserve": 1941 }, "name": "try_reserve_exact", "span": { @@ -209040,7 +227503,7 @@ }, "visibility": "public" }, - "1946": { + "1944": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"osstring_shrink_to_fit\"}}]" @@ -209052,7 +227515,7 @@ "crate_id": 0, "deprecation": null, "docs": "Shrinks the capacity of the `OsString` to match its length.\n\nSee the main `OsString` documentation information about encoding and capacity units.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet mut s = OsString::from(\"foo\");\n\ns.reserve(100);\nassert!(s.capacity() >= 100);\n\ns.shrink_to_fit();\nassert_eq!(3, s.capacity());\n```", - "id": 1946, + "id": 1944, "inner": { "function": { "generics": { @@ -209101,7 +227564,7 @@ }, "visibility": "public" }, - "1947": { + "1945": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"shrink_to\"}}]" @@ -209113,7 +227576,7 @@ "crate_id": 0, "deprecation": null, "docs": "Shrinks the capacity of the `OsString` with a lower bound.\n\nThe capacity will remain at least as large as both the length\nand the supplied value.\n\nIf the current capacity is less than the lower limit, this is a no-op.\n\nSee the main `OsString` documentation information about encoding and capacity units.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet mut s = OsString::from(\"foo\");\n\ns.reserve(100);\nassert!(s.capacity() >= 100);\n\ns.shrink_to(10);\nassert!(s.capacity() >= 10);\ns.shrink_to(0);\nassert!(s.capacity() >= 3);\n```", - "id": 1947, + "id": 1945, "inner": { "function": { "generics": { @@ -209168,7 +227631,7 @@ }, "visibility": "public" }, - "1948": { + "1946": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"into_boxed_os_str\"}}]" @@ -209182,7 +227645,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts this `OsString` into a boxed [`OsStr`].\n\n# Examples\n\n```\nuse std::ffi::{OsString, OsStr};\n\nlet s = OsString::from(\"hello\");\n\nlet b: Box = s.into_boxed_os_str();\n```", - "id": 1948, + "id": 1946, "inner": { "function": { "generics": { @@ -209215,7 +227678,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -209224,7 +227687,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -209232,7 +227695,7 @@ } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "into_boxed_os_str", "span": { @@ -209248,7 +227711,7 @@ }, "visibility": "public" }, - "1950": { + "1948": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"os_string_pathbuf_leak\"}}]" @@ -209260,7 +227723,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes and leaks the `OsString`, returning a mutable reference to the contents,\n`&'a mut OsStr`.\n\nThe caller has free choice over the returned lifetime, including 'static.\nIndeed, this function is ideally used for data that lives for the remainder of\nthe program’s life, as dropping the returned reference will cause a memory leak.\n\nIt does not reallocate or shrink the `OsString`, so the leaked allocation may include\nunused capacity that is not part of the returned slice. If you want to discard excess\ncapacity, call [`into_boxed_os_str`], and then [`Box::leak`] instead.\nHowever, keep in mind that trimming the capacity may result in a reallocation and copy.\n\n[`into_boxed_os_str`]: Self::into_boxed_os_str", - "id": 1950, + "id": 1948, "inner": { "function": { "generics": { @@ -209300,7 +227763,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -209310,8 +227773,8 @@ } }, "links": { - "Self::into_boxed_os_str": 1948, - "`Box::leak`": 1949 + "Self::into_boxed_os_str": 1946, + "`Box::leak`": 1947 }, "name": "leak", "span": { @@ -209327,7 +227790,7 @@ }, "visibility": "public" }, - "1951": { + "1949": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 118485, is_soft: false}, feature: \"os_str_slice\"}}]" @@ -209336,7 +227799,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes a substring based on a range that corresponds to the return value of\n[`OsStr::as_encoded_bytes`].\n\nThe range's start and end must lie on valid `OsStr` boundaries.\nA valid `OsStr` boundary is one of:\n- The start of the string\n- The end of the string\n- Immediately before a valid non-empty UTF-8 substring\n- Immediately after a valid non-empty UTF-8 substring\n\n# Panics\n\nPanics if `range` does not lie on valid `OsStr` boundaries or if it\nexceeds the end of the string.\n\n# Example\n\n```\n#![feature(os_str_slice)]\n\nuse std::ffi::OsStr;\n\nlet os_str = OsStr::new(\"foo=bar\");\nlet bytes = os_str.as_encoded_bytes();\nif let Some(index) = bytes.iter().position(|b| *b == b'=') {\n let key = os_str.slice_encoded_bytes(..index);\n let value = os_str.slice_encoded_bytes(index + 1..);\n assert_eq!(key, \"foo\");\n assert_eq!(value, \"bar\");\n}\n```", - "id": 1951, + "id": 1949, "inner": { "function": { "generics": { @@ -209362,7 +227825,7 @@ "constraints": [] } }, - "id": 2145, + "id": 2143, "path": "ops::RangeBounds" } } @@ -209419,23 +227882,23 @@ } }, "links": { - "`OsStr::as_encoded_bytes`": 1935 + "`OsStr::as_encoded_bytes`": 1933 }, "name": "slice_encoded_bytes", "span": { "begin": [ - 1101, + 1104, 5 ], "end": [ - 1117, + 1120, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "1952": { + "1950": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133262, is_soft: false}, feature: \"os_string_truncate\"}}]" @@ -209447,7 +227910,7 @@ "crate_id": 0, "deprecation": null, "docs": "Truncate the `OsString` to the specified length.\n\n# Panics\nPanics if `len` does not lie on a valid `OsStr` boundary\n(as described in [`OsStr::slice_encoded_bytes`]).", - "id": 1952, + "id": 1950, "inner": { "function": { "generics": { @@ -209488,7 +227951,7 @@ } }, "links": { - "`OsStr::slice_encoded_bytes`": 1951 + "`OsStr::slice_encoded_bytes`": 1949 }, "name": "truncate", "span": { @@ -209504,19 +227967,19 @@ }, "visibility": "public" }, - "1953": { + "1951": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1953, + "id": 1951, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -209528,12 +227991,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 1929, + 1934, 1931, + 1935, 1936, - 1933, + 1930, 1937, 1938, - 1932, 1939, 1940, 1941, @@ -209542,10 +228007,8 @@ 1944, 1945, 1946, - 1947, 1948, - 1950, - 1952 + 1950 ], "provided_trait_methods": [], "trait": null @@ -209566,19 +228029,19 @@ }, "visibility": "default" }, - "1954": { + "1952": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1954, + "id": 1952, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -209603,19 +228066,19 @@ "span": null, "visibility": "default" }, - "1955": { + "1953": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1955, + "id": 1953, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -209640,19 +228103,19 @@ "span": null, "visibility": "default" }, - "1956": { + "1954": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1956, + "id": 1954, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -209667,7 +228130,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -209677,19 +228140,19 @@ "span": null, "visibility": "default" }, - "1957": { + "1955": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1957, + "id": 1955, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -209714,19 +228177,19 @@ "span": null, "visibility": "default" }, - "1958": { + "1956": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1958, + "id": 1956, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -209741,7 +228204,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -209751,19 +228214,19 @@ "span": null, "visibility": "default" }, - "1959": { + "1957": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1959, + "id": 1957, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -209778,7 +228241,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -209788,12 +228251,12 @@ "span": null, "visibility": "default" }, - "1960": { + "1958": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1960, + "id": 1958, "inner": { "impl": { "blanket_impl": { @@ -209802,7 +228265,7 @@ "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -209847,7 +228310,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -209863,7 +228326,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -209872,23 +228335,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1961": { + "1959": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1961, + "id": 1959, "inner": { "impl": { "blanket_impl": { @@ -209897,7 +228360,7 @@ "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -209942,7 +228405,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -209958,7 +228421,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -209967,23 +228430,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "1962": { + "1960": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1962, + "id": 1960, "inner": { "impl": { "blanket_impl": { @@ -209992,7 +228455,7 @@ "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -210019,7 +228482,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -210051,23 +228514,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "1963": { + "1961": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1963, + "id": 1961, "inner": { "impl": { "blanket_impl": { @@ -210076,7 +228539,7 @@ "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -210142,7 +228605,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -210167,23 +228630,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1964": { + "1962": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1964, + "id": 1962, "inner": { "impl": { "blanket_impl": { @@ -210192,7 +228655,7 @@ "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -210215,7 +228678,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -210240,23 +228703,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1965": { + "1963": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1965, + "id": 1963, "inner": { "impl": { "blanket_impl": { @@ -210265,7 +228728,7 @@ "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -210313,7 +228776,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -210331,8 +228794,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -210348,7 +228811,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -210357,23 +228820,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1966": { + "1964": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1966, + "id": 1964, "inner": { "impl": { "blanket_impl": { @@ -210382,7 +228845,7 @@ "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -210448,8 +228911,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -210465,7 +228928,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -210474,23 +228937,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "1967": { + "1965": { "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 1967, + "id": 1965, "inner": { "assoc_type": { "bounds": [], @@ -210507,23 +228970,23 @@ "name": "Target", "span": { "begin": [ - 384, + 382, 5 ], "end": [ - 384, + 382, 16 ], "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "1968": { + "1966": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1968, + "id": 1966, "inner": { "impl": { "blanket_impl": { @@ -210532,7 +228995,7 @@ "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -210586,7 +229049,7 @@ ] } }, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -210636,12 +229099,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1970, + "id": 1968, "path": "Receiver" } } @@ -210650,23 +229113,23 @@ "name": null, "span": { "begin": [ - 380, + 378, 1 ], "end": [ - 382, + 380, 26 ], "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "1971": { + "1969": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1971, + "id": 1969, "inner": { "impl": { "blanket_impl": { @@ -210675,7 +229138,7 @@ "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -210723,12 +229186,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -210748,12 +229211,12 @@ }, "visibility": "default" }, - "1972": { + "1970": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1972, + "id": 1970, "inner": { "impl": { "blanket_impl": { @@ -210762,7 +229225,7 @@ "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -210789,7 +229252,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -210816,7 +229279,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -210825,18 +229288,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "1973": { + "1971": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -210845,7 +229308,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`String`] into an [`OsString`].\n\nThis conversion does not allocate or copy memory.", - "id": 1973, + "id": 1971, "inner": { "function": { "generics": { @@ -210866,7 +229329,7 @@ { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -210876,7 +229339,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -210884,8 +229347,8 @@ } }, "links": { - "`OsString`": 1709, - "`String`": 161 + "`OsString`": 1708, + "`String`": 159 }, "name": "from", "span": { @@ -210901,7 +229364,7 @@ }, "visibility": "default" }, - "1974": { + "1972": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -210910,14 +229373,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1974, + "id": 1972, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -210929,7 +229392,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1973 + 1971 ], "provided_trait_methods": [], "trait": { @@ -210940,7 +229403,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -210969,12 +229432,12 @@ }, "visibility": "default" }, - "1975": { + "1973": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Copies any value implementing [AsRef]<[OsStr]>\ninto a newly allocated [`OsString`].", - "id": 1975, + "id": 1973, "inner": { "function": { "generics": { @@ -211007,7 +229470,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -211016,8 +229479,8 @@ }, "links": { "AsRef": 35, - "OsStr": 1720, - "`OsString`": 1709 + "OsStr": 1719, + "`OsString`": 1708 }, "name": "from", "span": { @@ -211033,7 +229496,7 @@ }, "visibility": "default" }, - "1976": { + "1974": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -211042,14 +229505,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1976, + "id": 1974, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -211082,7 +229545,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -211110,7 +229573,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1975 + 1973 ], "provided_trait_methods": [], "trait": { @@ -211152,12 +229615,12 @@ }, "visibility": "default" }, - "1977": { + "1975": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1977, + "id": 1975, "inner": { "assoc_type": { "bounds": [], @@ -211168,7 +229631,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -211189,7 +229652,7 @@ }, "visibility": "default" }, - "1978": { + "1976": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -211198,7 +229661,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1978, + "id": 1976, "inner": { "function": { "generics": { @@ -211231,7 +229694,7 @@ { "resolved_path": { "args": null, - "id": 1979, + "id": 1977, "path": "ops::RangeFull" } } @@ -211245,7 +229708,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -211269,7 +229732,7 @@ }, "visibility": "default" }, - "1980": { + "1978": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -211278,14 +229741,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1980, + "id": 1978, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -211297,8 +229760,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1977, - 1978 + 1975, + 1976 ], "provided_trait_methods": [], "trait": { @@ -211309,7 +229772,7 @@ "type": { "resolved_path": { "args": null, - "id": 1979, + "id": 1977, "path": "RangeFull" } } @@ -211338,7 +229801,7 @@ }, "visibility": "default" }, - "1981": { + "1979": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -211347,7 +229810,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1981, + "id": 1979, "inner": { "function": { "generics": { @@ -211380,7 +229843,7 @@ { "resolved_path": { "args": null, - "id": 1979, + "id": 1977, "path": "ops::RangeFull" } } @@ -211394,7 +229857,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -211418,7 +229881,7 @@ }, "visibility": "default" }, - "1982": { + "1980": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"mut_osstr\"}}]" @@ -211427,14 +229890,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1982, + "id": 1980, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -211446,7 +229909,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1981 + 1979 ], "provided_trait_methods": [], "trait": { @@ -211457,7 +229920,7 @@ "type": { "resolved_path": { "args": null, - "id": 1979, + "id": 1977, "path": "RangeFull" } } @@ -211466,7 +229929,7 @@ "constraints": [] } }, - "id": 1983, + "id": 1981, "path": "IndexMut" } } @@ -211486,12 +229949,12 @@ }, "visibility": "default" }, - "1984": { + "1982": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1984, + "id": 1982, "inner": { "assoc_type": { "bounds": [], @@ -211502,7 +229965,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -211523,7 +229986,7 @@ }, "visibility": "default" }, - "1985": { + "1983": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -211532,7 +229995,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1985, + "id": 1983, "inner": { "function": { "generics": { @@ -211569,7 +230032,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -211593,7 +230056,7 @@ }, "visibility": "default" }, - "1986": { + "1984": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -211602,14 +230065,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1986, + "id": 1984, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -211621,13 +230084,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1984, - 1985 + 1982, + 1983 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -211647,7 +230110,7 @@ }, "visibility": "default" }, - "1987": { + "1985": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -211656,7 +230119,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1987, + "id": 1985, "inner": { "function": { "generics": { @@ -211693,7 +230156,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -211717,7 +230180,7 @@ }, "visibility": "default" }, - "1988": { + "1986": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"mut_osstr\"}}]" @@ -211726,14 +230189,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1988, + "id": 1986, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -211745,12 +230208,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1987 + 1985 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1989, + "id": 1987, "path": "DerefMut" } } @@ -211770,7 +230233,7 @@ }, "visibility": "default" }, - "1990": { + "1988": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -211779,7 +230242,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs an empty `OsString`.", - "id": 1990, + "id": 1988, "inner": { "function": { "generics": { @@ -211799,7 +230262,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -211821,7 +230284,7 @@ }, "visibility": "default" }, - "1991": { + "1989": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"osstring_default\"}}]" @@ -211830,14 +230293,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1991, + "id": 1989, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -211849,12 +230312,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1990 + 1988 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -211874,7 +230337,7 @@ }, "visibility": "default" }, - "1992": { + "1990": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -211883,7 +230346,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1992, + "id": 1990, "inner": { "function": { "generics": { @@ -211934,7 +230397,7 @@ }, "visibility": "default" }, - "1993": { + "1991": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -211943,7 +230406,7 @@ "crate_id": 0, "deprecation": null, "docs": "Clones the contents of `source` into `self`.\n\nThis method is preferred over simply assigning `source.clone()` to `self`,\nas it avoids reallocation if possible.", - "id": 1993, + "id": 1991, "inner": { "function": { "generics": { @@ -212004,7 +230467,7 @@ }, "visibility": "default" }, - "1994": { + "1992": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -212013,14 +230476,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1994, + "id": 1992, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -212032,15 +230495,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1992, - 1993 + 1990, + 1991 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -212060,12 +230523,12 @@ }, "visibility": "default" }, - "1995": { + "1993": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 1995, + "id": 1993, "inner": { "function": { "generics": { @@ -212111,7 +230574,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -212123,7 +230586,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -212145,7 +230608,7 @@ }, "visibility": "default" }, - "1996": { + "1994": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -212154,14 +230617,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1996, + "id": 1994, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -212173,12 +230636,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1995 + 1993 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -212198,7 +230661,7 @@ }, "visibility": "default" }, - "1997": { + "1995": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -212207,7 +230670,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1997, + "id": 1995, "inner": { "function": { "generics": { @@ -212244,7 +230707,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -212274,7 +230737,7 @@ }, "visibility": "default" }, - "1998": { + "1996": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -212283,14 +230746,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1998, + "id": 1996, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -212302,14 +230765,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1997 + 1995 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -212329,7 +230792,7 @@ }, "visibility": "default" }, - "1999": { + "1997": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -212338,7 +230801,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 1999, + "id": 1997, "inner": { "function": { "generics": { @@ -212401,79 +230864,7 @@ }, "visibility": "default" }, - "2": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 2, - "inner": { - "use": { - "id": 3, - "is_glob": false, - "name": "Sized", - "source": "crate::marker::Sized" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 13, - 31 - ], - "end": [ - 13, - 36 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "20": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"async_closure\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 20, - "inner": { - "use": { - "id": 21, - "is_glob": false, - "name": "AsyncFnOnce", - "source": "crate::ops::AsyncFnOnce" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 19, - 43 - ], - "end": [ - 19, - 54 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "2000": { + "1998": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -212482,14 +230873,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2000, + "id": 1998, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -212501,7 +230892,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1999 + 1997 ], "provided_trait_methods": [ "ne" @@ -212519,7 +230910,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -212539,7 +230930,7 @@ }, "visibility": "default" }, - "2001": { + "1999": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -212548,7 +230939,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2001, + "id": 1999, "inner": { "function": { "generics": { @@ -212585,7 +230976,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -212615,8 +231006,11 @@ }, "visibility": "default" }, - "2002": { + "2": { "attrs": [ + { + "other": "#[doc(no_inline)]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } @@ -212624,7 +231018,76 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2002, + "id": 2, + "inner": { + "use": { + "id": 3, + "is_glob": false, + "name": "Sized", + "source": "crate::marker::Sized" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 13, + 31 + ], + "end": [ + 13, + 36 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "20": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"async_closure\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 20, + "inner": { + "use": { + "id": 21, + "is_glob": false, + "name": "AsyncFnOnce", + "source": "crate::ops::AsyncFnOnce" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 19, + 43 + ], + "end": [ + 19, + 54 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "2000": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 2000, "inner": { "impl": { "blanket_impl": null, @@ -212639,7 +231102,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2001 + 1999 ], "provided_trait_methods": [ "ne" @@ -212652,7 +231115,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -212661,7 +231124,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -212681,7 +231144,7 @@ }, "visibility": "default" }, - "2003": { + "2001": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -212690,7 +231153,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2003, + "id": 2001, "inner": { "function": { "generics": { @@ -212759,7 +231222,7 @@ }, "visibility": "default" }, - "2004": { + "2002": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 29, patch: 0})}, feature: \"os_str_str_ref_eq\"}}]" @@ -212768,14 +231231,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2004, + "id": 2002, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -212787,7 +231250,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2003 + 2001 ], "provided_trait_methods": [ "ne" @@ -212811,7 +231274,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -212831,7 +231294,7 @@ }, "visibility": "default" }, - "2005": { + "2003": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -212840,7 +231303,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2005, + "id": 2003, "inner": { "function": { "generics": { @@ -212877,7 +231340,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -212907,7 +231370,7 @@ }, "visibility": "default" }, - "2006": { + "2004": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 29, patch: 0})}, feature: \"os_str_str_ref_eq\"}}]" @@ -212916,7 +231379,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2006, + "id": 2004, "inner": { "impl": { "blanket_impl": null, @@ -212946,7 +231409,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2005 + 2003 ], "provided_trait_methods": [ "ne" @@ -212959,7 +231422,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -212968,7 +231431,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -212988,7 +231451,7 @@ }, "visibility": "default" }, - "2007": { + "2005": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -212997,14 +231460,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2007, + "id": 2005, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -213021,7 +231484,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -213041,7 +231504,7 @@ }, "visibility": "default" }, - "2008": { + "2006": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -213050,7 +231513,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2008, + "id": 2006, "inner": { "function": { "generics": { @@ -213087,7 +231550,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -213105,7 +231568,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -213136,7 +231599,7 @@ }, "visibility": "default" }, - "2010": { + "2008": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -213145,7 +231608,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2010, + "id": 2008, "inner": { "function": { "generics": { @@ -213182,7 +231645,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -213212,7 +231675,7 @@ }, "visibility": "default" }, - "2011": { + "2009": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -213221,7 +231684,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2011, + "id": 2009, "inner": { "function": { "generics": { @@ -213258,7 +231721,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -213288,7 +231751,7 @@ }, "visibility": "default" }, - "2012": { + "2010": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -213297,7 +231760,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2012, + "id": 2010, "inner": { "function": { "generics": { @@ -213334,7 +231797,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -213364,7 +231827,7 @@ }, "visibility": "default" }, - "2013": { + "2011": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -213373,7 +231836,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2013, + "id": 2011, "inner": { "function": { "generics": { @@ -213410,7 +231873,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -213440,7 +231903,7 @@ }, "visibility": "default" }, - "2014": { + "2012": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -213449,14 +231912,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2014, + "id": 2012, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -213468,11 +231931,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 2006, 2008, + 2009, 2010, - 2011, - 2012, - 2013 + 2011 ], "provided_trait_methods": [ "lt", @@ -213486,7 +231949,7 @@ ], "trait": { "args": null, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -213506,7 +231969,7 @@ }, "visibility": "default" }, - "2015": { + "2013": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -213515,7 +231978,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2015, + "id": 2013, "inner": { "function": { "generics": { @@ -213566,7 +232029,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -213597,7 +232060,7 @@ }, "visibility": "default" }, - "2016": { + "2014": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -213606,14 +232069,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2016, + "id": 2014, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -213625,7 +232088,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2015 + 2013 ], "provided_trait_methods": [ "lt", @@ -213650,7 +232113,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -213670,7 +232133,7 @@ }, "visibility": "default" }, - "2017": { + "2015": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -213679,7 +232142,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2017, + "id": 2015, "inner": { "function": { "generics": { @@ -213716,7 +232179,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -213728,7 +232191,7 @@ "output": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -213750,7 +232213,7 @@ }, "visibility": "default" }, - "2018": { + "2016": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -213759,14 +232222,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2018, + "id": 2016, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -213778,7 +232241,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2017 + 2015 ], "provided_trait_methods": [ "max", @@ -213787,7 +232250,7 @@ ], "trait": { "args": null, - "id": 119, + "id": 117, "path": "Ord" } } @@ -213807,7 +232270,7 @@ }, "visibility": "default" }, - "2019": { + "2017": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -213816,7 +232279,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2019, + "id": 2017, "inner": { "function": { "generics": { @@ -213900,7 +232363,7 @@ }, "visibility": "default" }, - "2020": { + "2018": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -213909,14 +232372,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2020, + "id": 2018, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -213928,7 +232391,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2019 + 2017 ], "provided_trait_methods": [ "hash_slice" @@ -213955,12 +232418,12 @@ }, "visibility": "default" }, - "2021": { + "2019": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2021, + "id": 2019, "inner": { "function": { "generics": { @@ -214005,7 +232468,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -214027,7 +232490,7 @@ }, "visibility": "default" }, - "2022": { + "2020": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"os_string_fmt_write\"}}]" @@ -214036,14 +232499,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2022, + "id": 2020, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -214055,7 +232518,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2021 + 2019 ], "provided_trait_methods": [ "write_char", @@ -214063,7 +232526,7 @@ ], "trait": { "args": null, - "id": 2023, + "id": 2021, "path": "Write" } } @@ -214083,7 +232546,7 @@ }, "visibility": "default" }, - "2024": { + "2022": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -214092,7 +232555,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [Box]<[OsStr]> into an [`OsString`] without copying or\nallocating.", - "id": 2024, + "id": 2022, "inner": { "function": { "generics": { @@ -214119,7 +232582,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -214128,7 +232591,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -214138,7 +232601,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -214146,25 +232609,25 @@ } }, "links": { - "Box": 159, - "OsStr": 1720, - "`OsString`": 1709 + "Box": 157, + "OsStr": 1719, + "`OsString`": 1708 }, "name": "from", "span": { "begin": [ - 1315, + 1320, 5 ], "end": [ - 1317, + 1322, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2025": { + "2023": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 18, patch: 0})}, feature: \"os_string_from_box\"}}]" @@ -214173,14 +232636,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2025, + "id": 2023, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -214192,7 +232655,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2024 + 2022 ], "provided_trait_methods": [], "trait": { @@ -214209,7 +232672,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -214218,7 +232681,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -214236,18 +232699,18 @@ "name": null, "span": { "begin": [ - 1311, + 1316, 1 ], "end": [ - 1318, + 1323, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2026": { + "2024": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -214256,7 +232719,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts an [`OsString`] into a [Box]<[OsStr]> without copying or allocating.", - "id": 2026, + "id": 2024, "inner": { "function": { "generics": { @@ -214277,7 +232740,7 @@ { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -214293,7 +232756,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -214302,7 +232765,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -214310,18 +232773,183 @@ } }, "links": { - "Box": 159, - "OsStr": 1720, - "`OsString`": 1709 + "Box": 157, + "OsStr": 1719, + "`OsString`": 1708 }, "name": "from", "span": { "begin": [ - 1324, + 1329, 5 ], "end": [ + 1331, + 6 + ], + "filename": "std/src/ffi/os_str.rs" + }, + "visibility": "default" + }, + "2025": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"box_from_os_string\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 2025, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1719, + "path": "OsStr" + } + } + } + ], + "constraints": [] + } + }, + "id": 157, + "path": "Box" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 2024 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1708, + "path": "OsString" + } + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ 1326, + 1 + ], + "end": [ + 1332, + 2 + ], + "filename": "std/src/ffi/os_str.rs" + }, + "visibility": "default" + }, + "2026": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Converts an [`OsString`] into an [Arc]<[OsStr]> by moving the [`OsString`]\ndata into a new [`Arc`] buffer.", + "id": 2026, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "s", + { + "resolved_path": { + "args": null, + "id": 1708, + "path": "OsString" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1719, + "path": "OsStr" + } + } + } + ], + "constraints": [] + } + }, + "id": 606, + "path": "Arc" + } + } + } + } + }, + "links": { + "Arc": 606, + "OsStr": 1719, + "`Arc`": 606, + "`OsString`": 1708 + }, + "name": "from", + "span": { + "begin": [ + 1357, + 5 + ], + "end": [ + 1360, 6 ], "filename": "std/src/ffi/os_str.rs" @@ -214331,7 +232959,7 @@ "2027": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"box_from_os_string\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"shared_from_slice2\"}}]" } ], "crate_id": 0, @@ -214350,7 +232978,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -214359,8 +232987,8 @@ "constraints": [] } }, - "id": 159, - "path": "Box" + "id": 606, + "path": "crate::sync::Arc" } }, "generics": { @@ -214382,7 +233010,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -214400,183 +233028,18 @@ "name": null, "span": { "begin": [ - 1321, + 1353, 1 ], "end": [ - 1327, + 1361, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2028": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Converts an [`OsString`] into an [Arc]<[OsStr]> by moving the [`OsString`]\ndata into a new [`Arc`] buffer.", - "id": 2028, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "s", - { - "resolved_path": { - "args": null, - "id": 1709, - "path": "OsString" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 1720, - "path": "OsStr" - } - } - } - ], - "constraints": [] - } - }, - "id": 606, - "path": "Arc" - } - } - } - } - }, - "links": { - "Arc": 606, - "OsStr": 1720, - "`Arc`": 606, - "`OsString`": 1709 - }, - "name": "from", - "span": { - "begin": [ - 1352, - 5 - ], - "end": [ - 1355, - 6 - ], - "filename": "std/src/ffi/os_str.rs" - }, - "visibility": "default" - }, "2029": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"shared_from_slice2\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 2029, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 1720, - "path": "OsStr" - } - } - } - ], - "constraints": [] - } - }, - "id": 606, - "path": "crate::sync::Arc" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 2028 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 1709, - "path": "OsString" - } - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1348, - 1 - ], - "end": [ - 1356, - 2 - ], - "filename": "std/src/ffi/os_str.rs" - }, - "visibility": "default" - }, - "2031": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -214585,7 +233048,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts an [`OsString`] into an [Rc]<[OsStr]> by moving the [`OsString`]\ndata into a new [`Rc`] buffer.", - "id": 2031, + "id": 2029, "inner": { "function": { "generics": { @@ -214606,7 +233069,7 @@ { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -214622,7 +233085,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -214631,7 +233094,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "Rc" } } @@ -214639,26 +233102,26 @@ } }, "links": { - "OsStr": 1720, - "Rc": 2030, - "`OsString`": 1709, - "`Rc`": 2030 + "OsStr": 1719, + "Rc": 2028, + "`OsString`": 1708, + "`Rc`": 2028 }, "name": "from", "span": { "begin": [ - 1382, + 1387, 5 ], "end": [ - 1385, + 1390, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2032": { + "2030": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"shared_from_slice2\"}}]" @@ -214667,7 +233130,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2032, + "id": 2030, "inner": { "impl": { "blanket_impl": null, @@ -214680,7 +233143,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -214689,7 +233152,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "crate::rc::Rc" } }, @@ -214701,7 +233164,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2031 + 2029 ], "provided_trait_methods": [], "trait": { @@ -214712,7 +233175,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -214730,18 +233193,18 @@ "name": null, "span": { "begin": [ - 1378, + 1383, 1 ], "end": [ - 1386, + 1391, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2034": { + "2032": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -214750,7 +233213,7 @@ "crate_id": 0, "deprecation": null, "docs": "Moves the string into a [`Cow::Owned`].", - "id": 2034, + "id": 2032, "inner": { "function": { "generics": { @@ -214771,7 +233234,7 @@ { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -214790,7 +233253,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -214799,7 +233262,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -214807,23 +233270,23 @@ } }, "links": { - "`Cow::Owned`": 2033 + "`Cow::Owned`": 2031 }, "name": "from", "span": { "begin": [ - 1411, + 1416, 5 ], "end": [ - 1413, + 1418, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2036": { + "2034": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"cow_from_osstr\"}}]" @@ -214832,7 +233295,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2036, + "id": 2034, "inner": { "impl": { "blanket_impl": null, @@ -214848,7 +233311,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -214857,7 +233320,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -214878,7 +233341,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2034 + 2032 ], "provided_trait_methods": [], "trait": { @@ -214889,7 +233352,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -214907,18 +233370,18 @@ "name": null, "span": { "begin": [ - 1408, + 1413, 1 ], "end": [ - 1414, + 1419, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2038": { + "2036": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -214927,7 +233390,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts the string reference into a [`Cow::Borrowed`].", - "id": 2038, + "id": 2036, "inner": { "function": { "generics": { @@ -214952,7 +233415,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -214973,7 +233436,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -214982,7 +233445,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -214990,23 +233453,23 @@ } }, "links": { - "`Cow::Borrowed`": 2037 + "`Cow::Borrowed`": 2035 }, "name": "from", "span": { "begin": [ - 1429, + 1434, 5 ], "end": [ - 1431, + 1436, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2039": { + "2037": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"cow_from_osstr\"}}]" @@ -215015,7 +233478,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2039, + "id": 2037, "inner": { "impl": { "blanket_impl": null, @@ -215031,7 +233494,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -215040,7 +233503,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -215061,7 +233524,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2038 + 2036 ], "provided_trait_methods": [], "trait": { @@ -215076,7 +233539,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -215096,18 +233559,18 @@ "name": null, "span": { "begin": [ - 1426, + 1431, 1 ], "end": [ - 1432, + 1437, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2040": { + "2038": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -215116,7 +233579,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a `Cow<'a, OsStr>` into an [`OsString`],\nby copying the contents if they are borrowed.", - "id": 2040, + "id": 2038, "inner": { "function": { "generics": { @@ -215146,7 +233609,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -215155,7 +233618,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -215169,23 +233632,23 @@ } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "from", "span": { "begin": [ - 1439, + 1444, 5 ], "end": [ - 1441, + 1446, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2041": { + "2039": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"osstring_from_cow_osstr\"}}]" @@ -215194,14 +233657,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2041, + "id": 2039, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -215222,7 +233685,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2040 + 2038 ], "provided_trait_methods": [], "trait": { @@ -215242,7 +233705,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -215251,7 +233714,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -215269,18 +233732,18 @@ "name": null, "span": { "begin": [ - 1435, + 1440, 1 ], "end": [ - 1442, + 1447, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2042": { + "2040": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -215289,7 +233752,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2042, + "id": 2040, "inner": { "function": { "generics": { @@ -215326,7 +233789,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -215345,18 +233808,18 @@ "name": "eq", "span": { "begin": [ - 1586, + 1591, 1 ], "end": [ - 1586, + 1591, 27 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2043": { + "2041": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -215365,14 +233828,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2043, + "id": 2041, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -215401,7 +233864,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2042 + 2040 ], "provided_trait_methods": [ "ne" @@ -215414,7 +233877,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -215423,7 +233886,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -215432,18 +233895,18 @@ "name": null, "span": { "begin": [ - 1586, + 1591, 1 ], "end": [ - 1586, + 1591, 27 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2044": { + "2042": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -215452,7 +233915,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2044, + "id": 2042, "inner": { "function": { "generics": { @@ -215489,7 +233952,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -215508,18 +233971,18 @@ "name": "eq", "span": { "begin": [ - 1586, + 1591, 1 ], "end": [ - 1586, + 1591, 27 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2045": { + "2043": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -215528,14 +233991,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2045, + "id": 2043, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -215564,7 +234027,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2044 + 2042 ], "provided_trait_methods": [ "ne" @@ -215577,7 +234040,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -215586,7 +234049,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -215595,18 +234058,18 @@ "name": null, "span": { "begin": [ - 1586, + 1591, 1 ], "end": [ - 1586, + 1591, 27 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2046": { + "2044": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -215615,7 +234078,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2046, + "id": 2044, "inner": { "function": { "generics": { @@ -215652,7 +234115,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -215670,7 +234133,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -215690,18 +234153,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1586, + 1591, 1 ], "end": [ - 1586, + 1591, 27 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2047": { + "2045": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -215710,14 +234173,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2047, + "id": 2045, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -215746,7 +234209,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2046 + 2044 ], "provided_trait_methods": [ "lt", @@ -215766,7 +234229,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -215775,7 +234238,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -215784,18 +234247,18 @@ "name": null, "span": { "begin": [ - 1586, + 1591, 1 ], "end": [ - 1586, + 1591, 27 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2048": { + "2046": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -215804,7 +234267,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2048, + "id": 2046, "inner": { "function": { "generics": { @@ -215841,7 +234304,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -215859,7 +234322,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -215879,18 +234342,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1586, + 1591, 1 ], "end": [ - 1586, + 1591, 27 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2049": { + "2047": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -215899,14 +234362,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2049, + "id": 2047, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -215935,7 +234398,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2048 + 2046 ], "provided_trait_methods": [ "lt", @@ -215955,7 +234418,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -215964,7 +234427,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -215973,18 +234436,18 @@ "name": null, "span": { "begin": [ - 1586, + 1591, 1 ], "end": [ - 1586, + 1591, 27 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2050": { + "2048": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -215993,7 +234456,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2050, + "id": 2048, "inner": { "function": { "generics": { @@ -216034,7 +234497,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -216055,18 +234518,18 @@ "name": "eq", "span": { "begin": [ - 1587, + 1592, 1 ], "end": [ - 1587, + 1592, 31 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2051": { + "2049": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -216075,14 +234538,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2051, + "id": 2049, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -216111,7 +234574,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2050 + 2048 ], "provided_trait_methods": [ "ne" @@ -216128,7 +234591,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -216139,7 +234602,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -216148,18 +234611,18 @@ "name": null, "span": { "begin": [ - 1587, + 1592, 1 ], "end": [ - 1587, + 1592, 31 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2052": { + "2050": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -216168,7 +234631,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2052, + "id": 2050, "inner": { "function": { "generics": { @@ -216205,7 +234668,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -216224,18 +234687,18 @@ "name": "eq", "span": { "begin": [ - 1587, + 1592, 1 ], "end": [ - 1587, + 1592, 31 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2053": { + "2051": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -216244,7 +234707,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2053, + "id": 2051, "inner": { "impl": { "blanket_impl": null, @@ -216255,7 +234718,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -216286,7 +234749,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2052 + 2050 ], "provided_trait_methods": [ "ne" @@ -216299,7 +234762,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -216308,7 +234771,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -216317,18 +234780,18 @@ "name": null, "span": { "begin": [ - 1587, + 1592, 1 ], "end": [ - 1587, + 1592, 31 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2054": { + "2052": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -216337,7 +234800,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2054, + "id": 2052, "inner": { "function": { "generics": { @@ -216378,7 +234841,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -216398,7 +234861,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -216418,18 +234881,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1587, + 1592, 1 ], "end": [ - 1587, + 1592, 31 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2055": { + "2053": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -216438,14 +234901,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2055, + "id": 2053, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -216474,7 +234937,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2054 + 2052 ], "provided_trait_methods": [ "lt", @@ -216498,7 +234961,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -216509,7 +234972,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -216518,18 +234981,18 @@ "name": null, "span": { "begin": [ - 1587, + 1592, 1 ], "end": [ - 1587, + 1592, 31 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2056": { + "2054": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -216538,7 +235001,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2056, + "id": 2054, "inner": { "function": { "generics": { @@ -216575,7 +235038,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -216593,7 +235056,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -216613,18 +235076,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1587, + 1592, 1 ], "end": [ - 1587, + 1592, 31 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2057": { + "2055": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -216633,7 +235096,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2057, + "id": 2055, "inner": { "impl": { "blanket_impl": null, @@ -216644,7 +235107,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -216675,7 +235138,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2056 + 2054 ], "provided_trait_methods": [ "lt", @@ -216695,7 +235158,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -216704,7 +235167,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -216713,18 +235176,18 @@ "name": null, "span": { "begin": [ - 1587, + 1592, 1 ], "end": [ - 1587, + 1592, 31 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2058": { + "2056": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -216733,7 +235196,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2058, + "id": 2056, "inner": { "function": { "generics": { @@ -216770,7 +235233,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -216789,18 +235252,18 @@ "name": "eq", "span": { "begin": [ - 1590, + 1595, 1 ], "end": [ - 1590, + 1595, 36 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2059": { + "2057": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -216809,7 +235272,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2059, + "id": 2057, "inner": { "impl": { "blanket_impl": null, @@ -216825,7 +235288,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -216834,7 +235297,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -216863,7 +235326,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2058 + 2056 ], "provided_trait_methods": [ "ne" @@ -216876,7 +235339,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -216885,7 +235348,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -216894,18 +235357,18 @@ "name": null, "span": { "begin": [ - 1590, + 1595, 1 ], "end": [ - 1590, + 1595, 36 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2060": { + "2058": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -216914,7 +235377,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2060, + "id": 2058, "inner": { "function": { "generics": { @@ -216960,7 +235423,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -216969,7 +235432,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -216988,18 +235451,18 @@ "name": "eq", "span": { "begin": [ - 1590, + 1595, 1 ], "end": [ - 1590, + 1595, 36 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2061": { + "2059": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -217008,14 +235471,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2061, + "id": 2059, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -217044,7 +235507,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2060 + 2058 ], "provided_trait_methods": [ "ne" @@ -217066,7 +235529,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -217075,7 +235538,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -217084,7 +235547,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -217093,18 +235556,18 @@ "name": null, "span": { "begin": [ - 1590, + 1595, 1 ], "end": [ - 1590, + 1595, 36 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2062": { + "2060": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -217113,7 +235576,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2062, + "id": 2060, "inner": { "function": { "generics": { @@ -217150,7 +235613,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -217168,7 +235631,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -217188,18 +235651,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1590, + 1595, 1 ], "end": [ - 1590, + 1595, 36 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2063": { + "2061": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -217208,7 +235671,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2063, + "id": 2061, "inner": { "impl": { "blanket_impl": null, @@ -217224,7 +235687,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -217233,7 +235696,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -217262,7 +235725,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2062 + 2060 ], "provided_trait_methods": [ "lt", @@ -217282,7 +235745,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -217291,7 +235754,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -217300,18 +235763,18 @@ "name": null, "span": { "begin": [ - 1590, + 1595, 1 ], "end": [ - 1590, + 1595, 36 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2064": { + "2062": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -217320,7 +235783,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2064, + "id": 2062, "inner": { "function": { "generics": { @@ -217366,7 +235829,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -217375,7 +235838,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -217393,7 +235856,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -217413,18 +235876,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1590, + 1595, 1 ], "end": [ - 1590, + 1595, 36 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2065": { + "2063": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -217433,14 +235896,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2065, + "id": 2063, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -217469,7 +235932,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2064 + 2062 ], "provided_trait_methods": [ "lt", @@ -217498,7 +235961,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -217507,7 +235970,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -217516,7 +235979,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -217525,18 +235988,18 @@ "name": null, "span": { "begin": [ - 1590, + 1595, 1 ], "end": [ - 1590, + 1595, 36 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2066": { + "2064": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -217545,7 +236008,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2066, + "id": 2064, "inner": { "function": { "generics": { @@ -217582,7 +236045,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -217595,18 +236058,18 @@ "name": "borrow", "span": { "begin": [ - 1665, + 1670, 5 ], "end": [ - 1667, + 1672, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2067": { + "2065": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -217615,14 +236078,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2067, + "id": 2065, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -217634,7 +236097,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2066 + 2064 ], "provided_trait_methods": [], "trait": { @@ -217645,7 +236108,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -217654,7 +236117,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -217663,18 +236126,18 @@ "name": null, "span": { "begin": [ - 1663, + 1668, 1 ], "end": [ - 1668, + 1673, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2068": { + "2066": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -217683,7 +236146,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2068, + "id": 2066, "inner": { "function": { "generics": { @@ -217720,7 +236183,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -217733,18 +236196,18 @@ "name": "as_ref", "span": { "begin": [ - 1694, + 1700, 5 ], "end": [ - 1696, + 1702, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2069": { + "2067": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -217753,14 +236216,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2069, + "id": 2067, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -217772,7 +236235,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2068 + 2066 ], "provided_trait_methods": [], "trait": { @@ -217783,7 +236246,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -217801,23 +236264,23 @@ "name": null, "span": { "begin": [ - 1692, + 1698, 1 ], "end": [ - 1697, + 1703, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2070": { + "2068": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2070, + "id": 2068, "inner": { "assoc_type": { "bounds": [], @@ -217828,7 +236291,7 @@ "type": { "resolved_path": { "args": null, - "id": 335, + "id": 333, "path": "Infallible" } } @@ -217838,18 +236301,18 @@ "name": "Err", "span": { "begin": [ - 1738, + 1744, 5 ], "end": [ - 1738, + 1744, 42 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2071": { + "2069": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -217858,7 +236321,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2071, + "id": 2069, "inner": { "function": { "generics": { @@ -217908,7 +236371,7 @@ }, "trait": { "args": null, - "id": 2072, + "id": 2070, "path": "" } } @@ -217929,18 +236392,18 @@ "name": "from_str", "span": { "begin": [ - 1741, + 1747, 5 ], "end": [ - 1743, + 1749, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2073": { + "2071": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"osstring_from_str\"}}]" @@ -217949,14 +236412,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2073, + "id": 2071, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -217968,13 +236431,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2070, - 2071 + 2068, + 2069 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2072, + "id": 2070, "path": "FromStr" } } @@ -217983,18 +236446,18 @@ "name": null, "span": { "begin": [ - 1737, + 1743, 1 ], "end": [ - 1744, + 1750, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2074": { + "2072": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -218003,7 +236466,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2074, + "id": 2072, "inner": { "function": { "generics": { @@ -218028,7 +236491,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -218091,18 +236554,18 @@ "name": "extend", "span": { "begin": [ - 1749, + 1755, 5 ], "end": [ - 1753, + 1759, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2075": { + "2073": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"osstring_extend\"}}]" @@ -218111,14 +236574,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2075, + "id": 2073, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -218130,7 +236593,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2074 + 2072 ], "provided_trait_methods": [ "extend_one", @@ -218145,7 +236608,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -218163,18 +236626,18 @@ "name": null, "span": { "begin": [ - 1747, + 1753, 1 ], "end": [ - 1754, + 1760, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2076": { + "2074": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -218183,7 +236646,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2076, + "id": 2074, "inner": { "function": { "generics": { @@ -218212,7 +236675,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -218277,18 +236740,18 @@ "name": "extend", "span": { "begin": [ - 1759, + 1765, 5 ], "end": [ - 1763, + 1769, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2077": { + "2075": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"osstring_extend\"}}]" @@ -218297,14 +236760,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2077, + "id": 2075, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -218325,7 +236788,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2076 + 2074 ], "provided_trait_methods": [ "extend_one", @@ -218344,7 +236807,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -218364,18 +236827,18 @@ "name": null, "span": { "begin": [ - 1757, + 1763, 1 ], "end": [ - 1764, + 1770, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2078": { + "2076": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -218384,7 +236847,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2078, + "id": 2076, "inner": { "function": { "generics": { @@ -218418,7 +236881,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -218427,7 +236890,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -218490,18 +236953,18 @@ "name": "extend", "span": { "begin": [ - 1769, + 1775, 5 ], "end": [ - 1773, + 1779, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2079": { + "2077": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"osstring_extend\"}}]" @@ -218510,14 +236973,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2079, + "id": 2077, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -218538,7 +237001,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2078 + 2076 ], "provided_trait_methods": [ "extend_one", @@ -218562,7 +237025,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -218571,7 +237034,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -218589,18 +237052,18 @@ "name": null, "span": { "begin": [ - 1767, + 1773, 1 ], "end": [ - 1774, + 1780, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2080": { + "2078": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -218609,7 +237072,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2080, + "id": 2078, "inner": { "function": { "generics": { @@ -218634,7 +237097,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -218687,18 +237150,18 @@ "name": "from_iter", "span": { "begin": [ - 1779, + 1785, 5 ], "end": [ - 1792, + 1798, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2081": { + "2079": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"osstring_extend\"}}]" @@ -218707,14 +237170,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2081, + "id": 2079, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -218726,7 +237189,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2080 + 2078 ], "provided_trait_methods": [], "trait": { @@ -218737,7 +237200,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -218746,7 +237209,7 @@ "constraints": [] } }, - "id": 201, + "id": 199, "path": "FromIterator" } } @@ -218755,18 +237218,18 @@ "name": null, "span": { "begin": [ - 1777, + 1783, 1 ], "end": [ - 1793, + 1799, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2082": { + "2080": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -218775,7 +237238,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2082, + "id": 2080, "inner": { "function": { "generics": { @@ -218804,7 +237267,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -218859,18 +237322,18 @@ "name": "from_iter", "span": { "begin": [ - 1798, + 1804, 5 ], "end": [ - 1804, + 1810, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2083": { + "2081": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"osstring_extend\"}}]" @@ -218879,14 +237342,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2083, + "id": 2081, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -218907,7 +237370,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2082 + 2080 ], "provided_trait_methods": [], "trait": { @@ -218922,7 +237385,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -218933,7 +237396,7 @@ "constraints": [] } }, - "id": 201, + "id": 199, "path": "FromIterator" } } @@ -218942,18 +237405,18 @@ "name": null, "span": { "begin": [ - 1796, + 1802, 1 ], "end": [ - 1805, + 1811, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2084": { + "2082": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -218962,7 +237425,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2084, + "id": 2082, "inner": { "function": { "generics": { @@ -218996,7 +237459,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -219005,7 +237468,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -219058,18 +237521,18 @@ "name": "from_iter", "span": { "begin": [ - 1810, + 1816, 5 ], "end": [ - 1828, + 1834, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2085": { + "2083": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"osstring_extend\"}}]" @@ -219078,14 +237541,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2085, + "id": 2083, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } }, @@ -219106,7 +237569,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2084 + 2082 ], "provided_trait_methods": [], "trait": { @@ -219126,7 +237589,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -219135,7 +237598,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -219144,7 +237607,7 @@ "constraints": [] } }, - "id": 201, + "id": 199, "path": "FromIterator" } } @@ -219153,18 +237616,18 @@ "name": null, "span": { "begin": [ - 1808, + 1814, 1 ], "end": [ - 1829, + 1835, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2086": { + "2084": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -219173,7 +237636,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2086, + "id": 2084, "inner": { "function": { "generics": { @@ -219205,7 +237668,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -219215,7 +237678,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -219237,7 +237700,7 @@ }, "visibility": "default" }, - "2087": { + "2085": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -219246,7 +237709,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2087, + "id": 2085, "inner": { "function": { "generics": { @@ -219284,7 +237747,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -219306,7 +237769,7 @@ }, "visibility": "default" }, - "2088": { + "2086": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -219318,14 +237781,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2088, + "id": 2086, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -219337,13 +237800,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2086, - 2087 + 2084, + 2085 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2089, + "id": 2087, "path": "OsStringExt" } } @@ -219363,7 +237826,7 @@ }, "visibility": "default" }, - "2089": { + "2087": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -219372,7 +237835,7 @@ "crate_id": 0, "deprecation": null, "docs": "Platform-specific extensions to [`OsString`].\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 2089, + "id": 2087, "inner": { "trait": { "bounds": [ @@ -219382,7 +237845,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -219393,19 +237856,19 @@ "where_predicates": [] }, "implementations": [ - 2088 + 2086 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 2401, - 2402 + 2399, + 2400 ] } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "OsStringExt", "span": { @@ -219421,7 +237884,7 @@ }, "visibility": "public" }, - "2090": { + "2088": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -219430,7 +237893,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2090, + "id": 2088, "inner": { "function": { "generics": { @@ -219462,7 +237925,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -219472,7 +237935,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -219494,7 +237957,7 @@ }, "visibility": "default" }, - "2091": { + "2089": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -219503,7 +237966,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2091, + "id": 2089, "inner": { "function": { "generics": { @@ -219541,7 +238004,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -219563,7 +238026,7 @@ }, "visibility": "default" }, - "2092": { + "2090": { "attrs": [ { "other": "#[doc(cfg(target_os = \"wasi\"))]" @@ -219575,14 +238038,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2092, + "id": 2090, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -219594,13 +238057,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2090, - 2091 + 2088, + 2089 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2093, + "id": 2091, "path": "OsStringExt" } } @@ -219620,7 +238083,7 @@ }, "visibility": "default" }, - "2093": { + "2091": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -219629,7 +238092,7 @@ "crate_id": 0, "deprecation": null, "docs": "Platform-specific extensions to [`OsString`].\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 2093, + "id": 2091, "inner": { "trait": { "bounds": [ @@ -219639,7 +238102,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -219650,19 +238113,19 @@ "where_predicates": [] }, "implementations": [ - 2092 + 2090 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5553, - 5554 + 5558, + 5559 ] } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "OsStringExt", "span": { @@ -219678,12 +238141,12 @@ }, "visibility": "public" }, - "2094": { + "2092": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2094, + "id": 2092, "inner": { "function": { "generics": { @@ -219718,7 +238181,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -219729,18 +238192,18 @@ "name": "from_wide", "span": { "begin": [ - 93, + 94, 5 ], "end": [ - 95, + 96, 6 ], "filename": "std/src/os/windows/ffi.rs" }, "visibility": "default" }, - "2095": { + "2093": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -219752,14 +238215,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2095, + "id": 2093, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -219771,12 +238234,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2094 + 2092 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2096, + "id": 2094, "path": "OsStringExt" } } @@ -219785,18 +238248,18 @@ "name": null, "span": { "begin": [ - 92, + 93, 1 ], "end": [ - 96, + 97, 2 ], "filename": "std/src/os/windows/ffi.rs" }, "visibility": "default" }, - "2096": { + "2094": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -219805,7 +238268,7 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to [`OsString`].\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 2096, + "id": 2094, "inner": { "trait": { "bounds": [ @@ -219815,7 +238278,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -219826,34 +238289,34 @@ "where_predicates": [] }, "implementations": [ - 2095 + 2093 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 2405 + 2403 ] } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "OsStringExt", "span": { "begin": [ - 69, + 70, 1 ], "end": [ - 89, + 90, 2 ], "filename": "std/src/os/windows/ffi.rs" }, "visibility": "public" }, - "2097": { + "2095": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -219862,7 +238325,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts an [`OsString`] into a [`PathBuf`].\n\nThis conversion does not allocate or copy memory.", - "id": 2097, + "id": 2095, "inner": { "function": { "generics": { @@ -219883,7 +238346,7 @@ { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -219893,7 +238356,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -219901,24 +238364,24 @@ } }, "links": { - "`OsString`": 1709, - "`PathBuf`": 1664 + "`OsString`": 1708, + "`PathBuf`": 1663 }, "name": "from", "span": { "begin": [ - 1855, + 1946, 5 ], "end": [ - 1857, + 1948, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2098": { + "2096": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -219927,14 +238390,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2098, + "id": 2096, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -219946,7 +238409,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2097 + 2095 ], "provided_trait_methods": [], "trait": { @@ -219957,7 +238420,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -219975,18 +238438,18 @@ "name": null, "span": { "begin": [ - 1850, + 1941, 1 ], "end": [ - 1858, + 1949, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2099": { + "2097": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -219995,7 +238458,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`PathBuf`] into an [`OsString`]\n\nThis conversion does not allocate or copy memory.", - "id": 2099, + "id": 2097, "inner": { "function": { "generics": { @@ -220016,7 +238479,7 @@ { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -220026,7 +238489,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -220034,24 +238497,24 @@ } }, "links": { - "`OsString`": 1709, - "`PathBuf`": 1664 + "`OsString`": 1708, + "`PathBuf`": 1663 }, "name": "from", "span": { "begin": [ - 1866, + 1957, 5 ], "end": [ - 1868, + 1959, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2100": { + "2098": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 14, patch: 0})}, feature: \"from_path_buf_for_os_string\"}}]" @@ -220060,14 +238523,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2100, + "id": 2098, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -220079,7 +238542,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2099 + 2097 ], "provided_trait_methods": [], "trait": { @@ -220090,7 +238553,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -220108,18 +238571,18 @@ "name": null, "span": { "begin": [ - 1861, + 1952, 1 ], "end": [ - 1869, + 1960, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2101": { + "2099": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -220128,7 +238591,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2101, + "id": 2099, "inner": { "function": { "generics": { @@ -220165,7 +238628,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -220178,18 +238641,18 @@ "name": "as_ref", "span": { "begin": [ - 3536, + 3726, 5 ], "end": [ - 3538, + 3728, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2102": { + "2100": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -220198,14 +238661,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2102, + "id": 2100, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -220217,7 +238680,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2101 + 2099 ], "provided_trait_methods": [], "trait": { @@ -220228,7 +238691,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -220246,18 +238709,18 @@ "name": null, "span": { "begin": [ - 3534, + 3724, 1 ], "end": [ - 3539, + 3729, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2103": { + "2101": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -220266,7 +238729,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2103, + "id": 2101, "inner": { "function": { "generics": { @@ -220303,7 +238766,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -220322,18 +238785,18 @@ "name": "eq", "span": { "begin": [ - 3666, + 3856, 1 ], "end": [ - 3666, + 3856, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2104": { + "2102": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -220342,14 +238805,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2104, + "id": 2102, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -220361,7 +238824,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2103 + 2101 ], "provided_trait_methods": [ "ne" @@ -220374,7 +238837,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -220383,7 +238846,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -220392,18 +238855,18 @@ "name": null, "span": { "begin": [ - 3666, + 3856, 1 ], "end": [ - 3666, + 3856, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2105": { + "2103": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -220412,7 +238875,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2105, + "id": 2103, "inner": { "function": { "generics": { @@ -220449,7 +238912,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -220468,18 +238931,18 @@ "name": "eq", "span": { "begin": [ - 3666, + 3856, 1 ], "end": [ - 3666, + 3856, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2106": { + "2104": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -220488,14 +238951,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2106, + "id": 2104, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -220507,7 +238970,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2105 + 2103 ], "provided_trait_methods": [ "ne" @@ -220520,7 +238983,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -220529,7 +238992,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -220538,18 +239001,18 @@ "name": null, "span": { "begin": [ - 3666, + 3856, 1 ], "end": [ - 3666, + 3856, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2107": { + "2105": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -220558,7 +239021,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2107, + "id": 2105, "inner": { "function": { "generics": { @@ -220595,7 +239058,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -220613,7 +239076,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -220633,18 +239096,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3666, + 3856, 1 ], "end": [ - 3666, + 3856, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2108": { + "2106": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -220653,14 +239116,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2108, + "id": 2106, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -220672,7 +239135,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2107 + 2105 ], "provided_trait_methods": [ "lt", @@ -220692,7 +239155,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -220701,7 +239164,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -220710,18 +239173,18 @@ "name": null, "span": { "begin": [ - 3666, + 3856, 1 ], "end": [ - 3666, + 3856, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2109": { + "2107": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -220730,7 +239193,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2109, + "id": 2107, "inner": { "function": { "generics": { @@ -220767,7 +239230,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -220785,7 +239248,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -220805,18 +239268,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3666, + 3856, 1 ], "end": [ - 3666, + 3856, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2110": { + "2108": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -220825,14 +239288,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2110, + "id": 2108, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -220844,7 +239307,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2109 + 2107 ], "provided_trait_methods": [ "lt", @@ -220864,7 +239327,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -220873,7 +239336,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -220882,18 +239345,18 @@ "name": null, "span": { "begin": [ - 3666, + 3856, 1 ], "end": [ - 3666, + 3856, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2111": { + "2109": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -220902,7 +239365,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2111, + "id": 2109, "inner": { "function": { "generics": { @@ -220939,7 +239402,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -220958,18 +239421,18 @@ "name": "eq", "span": { "begin": [ - 3670, + 3860, 1 ], "end": [ - 3670, + 3860, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2112": { + "2110": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -220978,14 +239441,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2112, + "id": 2110, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -220997,7 +239460,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2111 + 2109 ], "provided_trait_methods": [ "ne" @@ -221010,7 +239473,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -221019,7 +239482,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -221028,18 +239491,18 @@ "name": null, "span": { "begin": [ - 3670, + 3860, 1 ], "end": [ - 3670, + 3860, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2113": { + "2111": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -221048,7 +239511,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2113, + "id": 2111, "inner": { "function": { "generics": { @@ -221085,7 +239548,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -221104,18 +239567,18 @@ "name": "eq", "span": { "begin": [ - 3670, + 3860, 1 ], "end": [ - 3670, + 3860, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2114": { + "2112": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -221124,14 +239587,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2114, + "id": 2112, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -221143,7 +239606,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2113 + 2111 ], "provided_trait_methods": [ "ne" @@ -221156,7 +239619,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -221165,7 +239628,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -221174,18 +239637,18 @@ "name": null, "span": { "begin": [ - 3670, + 3860, 1 ], "end": [ - 3670, + 3860, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2115": { + "2113": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -221194,7 +239657,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2115, + "id": 2113, "inner": { "function": { "generics": { @@ -221231,7 +239694,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -221249,7 +239712,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -221269,18 +239732,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3670, + 3860, 1 ], "end": [ - 3670, + 3860, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2116": { + "2114": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -221289,14 +239752,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2116, + "id": 2114, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -221308,7 +239771,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2115 + 2113 ], "provided_trait_methods": [ "lt", @@ -221328,7 +239791,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -221337,7 +239800,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -221346,18 +239809,18 @@ "name": null, "span": { "begin": [ - 3670, + 3860, 1 ], "end": [ - 3670, + 3860, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2117": { + "2115": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -221366,7 +239829,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2117, + "id": 2115, "inner": { "function": { "generics": { @@ -221403,7 +239866,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -221421,7 +239884,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -221441,18 +239904,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3670, + 3860, 1 ], "end": [ - 3670, + 3860, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2118": { + "2116": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -221461,14 +239924,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2118, + "id": 2116, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -221480,7 +239943,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2117 + 2115 ], "provided_trait_methods": [ "lt", @@ -221500,7 +239963,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -221509,7 +239972,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -221518,18 +239981,18 @@ "name": null, "span": { "begin": [ - 3670, + 3860, 1 ], "end": [ - 3670, + 3860, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2119": { + "2117": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -221538,7 +240001,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2119, + "id": 2117, "inner": { "function": { "generics": { @@ -221575,7 +240038,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -221594,18 +240057,18 @@ "name": "eq", "span": { "begin": [ - 3673, + 3863, 1 ], "end": [ - 3673, + 3863, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2120": { + "2118": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -221614,7 +240077,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2120, + "id": 2118, "inner": { "impl": { "blanket_impl": null, @@ -221625,7 +240088,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -221648,7 +240111,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2119 + 2117 ], "provided_trait_methods": [ "ne" @@ -221661,7 +240124,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -221670,7 +240133,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -221679,18 +240142,18 @@ "name": null, "span": { "begin": [ - 3673, + 3863, 1 ], "end": [ - 3673, + 3863, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2121": { + "2119": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -221699,7 +240162,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2121, + "id": 2119, "inner": { "function": { "generics": { @@ -221740,7 +240203,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -221761,18 +240224,18 @@ "name": "eq", "span": { "begin": [ - 3673, + 3863, 1 ], "end": [ - 3673, + 3863, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2122": { + "2120": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -221781,14 +240244,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2122, + "id": 2120, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -221809,7 +240272,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2121 + 2119 ], "provided_trait_methods": [ "ne" @@ -221826,7 +240289,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -221837,7 +240300,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -221846,18 +240309,18 @@ "name": null, "span": { "begin": [ - 3673, + 3863, 1 ], "end": [ - 3673, + 3863, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2123": { + "2121": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -221866,7 +240329,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2123, + "id": 2121, "inner": { "function": { "generics": { @@ -221903,7 +240366,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -221921,7 +240384,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -221941,18 +240404,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3673, + 3863, 1 ], "end": [ - 3673, + 3863, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2124": { + "2122": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -221961,7 +240424,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2124, + "id": 2122, "inner": { "impl": { "blanket_impl": null, @@ -221972,7 +240435,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -221995,7 +240458,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2123 + 2121 ], "provided_trait_methods": [ "lt", @@ -222015,7 +240478,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -222024,7 +240487,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -222033,18 +240496,18 @@ "name": null, "span": { "begin": [ - 3673, + 3863, 1 ], "end": [ - 3673, + 3863, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2125": { + "2123": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -222053,7 +240516,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2125, + "id": 2123, "inner": { "function": { "generics": { @@ -222094,7 +240557,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -222114,7 +240577,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -222134,18 +240597,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3673, + 3863, 1 ], "end": [ - 3673, + 3863, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2126": { + "2124": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -222154,14 +240617,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2126, + "id": 2124, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -222182,7 +240645,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2125 + 2123 ], "provided_trait_methods": [ "lt", @@ -222206,7 +240669,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -222217,7 +240680,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -222226,18 +240689,18 @@ "name": null, "span": { "begin": [ - 3673, + 3863, 1 ], "end": [ - 3673, + 3863, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2127": { + "2125": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -222246,7 +240709,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2127, + "id": 2125, "inner": { "function": { "generics": { @@ -222283,7 +240746,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -222302,18 +240765,18 @@ "name": "eq", "span": { "begin": [ - 3676, + 3866, 1 ], "end": [ - 3676, + 3866, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2128": { + "2126": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -222322,7 +240785,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2128, + "id": 2126, "inner": { "impl": { "blanket_impl": null, @@ -222338,7 +240801,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -222347,7 +240810,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -222368,7 +240831,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2127 + 2125 ], "provided_trait_methods": [ "ne" @@ -222381,7 +240844,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -222390,7 +240853,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -222399,18 +240862,18 @@ "name": null, "span": { "begin": [ - 3676, + 3866, 1 ], "end": [ - 3676, + 3866, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2129": { + "2127": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -222419,7 +240882,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2129, + "id": 2127, "inner": { "function": { "generics": { @@ -222465,7 +240928,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -222474,7 +240937,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -222493,18 +240956,18 @@ "name": "eq", "span": { "begin": [ - 3676, + 3866, 1 ], "end": [ - 3676, + 3866, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2130": { + "2128": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -222513,14 +240976,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2130, + "id": 2128, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -222541,7 +241004,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2129 + 2127 ], "provided_trait_methods": [ "ne" @@ -222563,7 +241026,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -222572,7 +241035,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -222581,7 +241044,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -222590,18 +241053,18 @@ "name": null, "span": { "begin": [ - 3676, + 3866, 1 ], "end": [ - 3676, + 3866, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2131": { + "2129": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -222610,7 +241073,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2131, + "id": 2129, "inner": { "function": { "generics": { @@ -222647,11 +241110,228 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, + "path": "OsString" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 2007, + "path": "cmp::Ordering" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "partial_cmp", + "span": { + "begin": [ + 3866, + 1 + ], + "end": [ + 3866, + 47 + ], + "filename": "std/src/path.rs" + }, + "visibility": "default" + }, + "2130": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 2130, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 2033, + "path": "crate::borrow::Cow" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 2129 + ], + "provided_trait_methods": [ + "lt", + "le", + "gt", + "ge", + "__chaining_lt", + "__chaining_le", + "__chaining_gt", + "__chaining_ge" + ], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1708, "path": "OsString" } } } + ], + "constraints": [] + } + }, + "id": 125, + "path": "PartialOrd" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 3866, + 1 + ], + "end": [ + 3866, + 47 + ], + "filename": "std/src/path.rs" + }, + "visibility": "default" + }, + "2131": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 2131, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 2033, + "path": "Cow" + } + } + } } ] ], @@ -222665,7 +241345,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -222685,11 +241365,11 @@ "name": "partial_cmp", "span": { "begin": [ - 3676, + 3866, 1 ], "end": [ - 3676, + 3866, 47 ], "filename": "std/src/path.rs" @@ -222706,230 +241386,13 @@ "deprecation": null, "docs": null, "id": 2132, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } - } - } - ], - "constraints": [] - } - }, - "id": 2035, - "path": "crate::borrow::Cow" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 2131 - ], - "provided_trait_methods": [ - "lt", - "le", - "gt", - "ge", - "__chaining_lt", - "__chaining_le", - "__chaining_gt", - "__chaining_ge" - ], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 1709, - "path": "OsString" - } - } - } - ], - "constraints": [] - } - }, - "id": 127, - "path": "PartialOrd" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 3676, - 1 - ], - "end": [ - 3676, - 47 - ], - "filename": "std/src/path.rs" - }, - "visibility": "default" - }, - "2133": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 2133, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } - } - } - ], - "constraints": [] - } - }, - "id": 2035, - "path": "Cow" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "cmp::Ordering" - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - } - }, - "links": {}, - "name": "partial_cmp", - "span": { - "begin": [ - 3676, - 1 - ], - "end": [ - 3676, - 47 - ], - "filename": "std/src/path.rs" - }, - "visibility": "default" - }, - "2134": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 2134, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "crate::ffi::OsString" } }, @@ -222950,7 +241413,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2133 + 2131 ], "provided_trait_methods": [ "lt", @@ -222979,7 +241442,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -222988,7 +241451,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -222997,7 +241460,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -223006,19 +241469,22 @@ "name": null, "span": { "begin": [ - 3676, + 3866, 1 ], "end": [ - 3676, + 3866, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2136": { + "2134": { "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143773, is_soft: false}, feature: \"const_convert\", promotable: false}}]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, @@ -223029,7 +241495,7 @@ "crate_id": 0, "deprecation": null, "docs": "Coerces into an `OsStr` slice.\n\n# Examples\n\n```\nuse std::ffi::OsStr;\n\nlet os_str = OsStr::new(\"foo\");\n```", - "id": 2136, + "id": 2134, "inner": { "function": { "generics": { @@ -223041,7 +241507,7 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe_const", "trait": { "args": { "angle_bracketed": { @@ -223050,7 +241516,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -223089,7 +241555,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -223115,7 +241581,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -223128,18 +241594,18 @@ "name": "new", "span": { "begin": [ - 831, + 832, 5 ], "end": [ - 833, + 834, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2137": { + "2135": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 74, patch: 0})}, feature: \"os_str_bytes\"}}]" @@ -223151,7 +241617,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a slice of bytes to an OS string slice without checking that the string contains\nvalid `OsStr`-encoded data.\n\nThe byte encoding is an unspecified, platform-specific, self-synchronizing superset of UTF-8.\nBy being a self-synchronizing superset of UTF-8, this encoding is also a superset of 7-bit\nASCII.\n\nSee the [module's toplevel documentation about conversions][conversions] for safe,\ncross-platform [conversions] from/to native representations.\n\n# Safety\n\nAs the encoding is unspecified, callers must pass in bytes that originated as a mixture of\nvalidated UTF-8 and bytes from [`OsStr::as_encoded_bytes`] from within the same Rust version\nbuilt for the same target platform. For example, reconstructing an `OsStr` from bytes sent\nover the network or stored in a file will likely violate these safety rules.\n\nDue to the encoding being self-synchronizing, the bytes from [`OsStr::as_encoded_bytes`] can be\nsplit either immediately before or immediately after any valid non-empty UTF-8 substring.\n\n# Example\n\n```\nuse std::ffi::OsStr;\n\nlet os_str = OsStr::new(\"Mary had a little lamb\");\nlet bytes = os_str.as_encoded_bytes();\nlet words = bytes.split(|b| *b == b' ');\nlet words: Vec<&OsStr> = words.map(|word| {\n // SAFETY:\n // - Each `word` only contains content that originated from `OsStr::as_encoded_bytes`\n // - Only split with ASCII whitespace which is a non-empty UTF-8 substring\n unsafe { OsStr::from_encoded_bytes_unchecked(word) }\n}).collect();\n```\n\n[conversions]: super#conversions", - "id": 2137, + "id": 2135, "inner": { "function": { "generics": { @@ -223196,24 +241662,24 @@ } }, "links": { - "`OsStr::as_encoded_bytes`": 1935, - "super#conversions": 1934 + "`OsStr::as_encoded_bytes`": 1933, + "super#conversions": 1932 }, "name": "from_encoded_bytes_unchecked", "span": { "begin": [ - 874, + 875, 5 ], "end": [ - 876, + 877, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2138": { + "2136": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -223230,7 +241696,7 @@ "crate_id": 0, "deprecation": null, "docs": "Yields a &[str] slice if the `OsStr` is valid Unicode.\n\nThis conversion may entail doing a check for UTF-8 validity.\n\n# Examples\n\n```\nuse std::ffi::OsStr;\n\nlet os_str = OsStr::new(\"foo\");\nassert_eq!(os_str.to_str(), Some(\"foo\"));\n```", - "id": 2138, + "id": 2136, "inner": { "function": { "generics": { @@ -223288,23 +241754,23 @@ } }, "links": { - "str": 1928 + "str": 1926 }, "name": "to_str", "span": { "begin": [ - 910, + 913, 5 ], "end": [ - 912, + 915, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2140": { + "2138": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -223321,7 +241787,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts an `OsStr` to a [Cow]<[str]>.\n\nAny non-UTF-8 sequences are replaced with\n[`U+FFFD REPLACEMENT CHARACTER`][U+FFFD].\n\n[U+FFFD]: crate::char::REPLACEMENT_CHARACTER\n\n# Examples\n\nCalling `to_string_lossy` on an `OsStr` with invalid unicode:\n\n```\n// Note, due to differences in how Unix and Windows represent strings,\n// we are forced to complicate this example, setting up example `OsStr`s\n// with different source data and via different platform extensions.\n// Understand that in reality you could end up with such example invalid\n// sequences simply through collecting user command line arguments, for\n// example.\n\n#[cfg(unix)] {\n use std::ffi::OsStr;\n use std::os::unix::ffi::OsStrExt;\n\n // Here, the values 0x66 and 0x6f correspond to 'f' and 'o'\n // respectively. The value 0x80 is a lone continuation byte, invalid\n // in a UTF-8 sequence.\n let source = [0x66, 0x6f, 0x80, 0x6f];\n let os_str = OsStr::from_bytes(&source[..]);\n\n assert_eq!(os_str.to_string_lossy(), \"fo�o\");\n}\n#[cfg(windows)] {\n use std::ffi::OsString;\n use std::os::windows::prelude::*;\n\n // Here the values 0x0066 and 0x006f correspond to 'f' and 'o'\n // respectively. The value 0xD800 is a lone surrogate half, invalid\n // in a UTF-16 sequence.\n let source = [0x0066, 0x006f, 0xD800, 0x006f];\n let os_string = OsString::from_wide(&source[..]);\n let os_str = os_string.as_os_str();\n\n assert_eq!(os_str.to_string_lossy(), \"fo�o\");\n}\n```", - "id": 2140, + "id": 2138, "inner": { "function": { "generics": { @@ -223368,7 +241834,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -223376,25 +241842,25 @@ } }, "links": { - "Cow": 2035, - "crate::char::REPLACEMENT_CHARACTER": 2139, - "str": 1928 + "Cow": 2033, + "crate::char::REPLACEMENT_CHARACTER": 2137, + "str": 1926 }, "name": "to_string_lossy", "span": { "begin": [ - 963, + 966, 5 ], "end": [ - 965, + 968, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2141": { + "2139": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"os_str_to_os_string\")]" @@ -223417,7 +241883,7 @@ "crate_id": 0, "deprecation": null, "docs": "Copies the slice into an owned [`OsString`].\n\n# Examples\n\n```\nuse std::ffi::{OsStr, OsString};\n\nlet os_str = OsStr::new(\"foo\");\nlet os_string = os_str.to_os_string();\nassert_eq!(os_string, OsString::from(\"foo\"));\n```", - "id": 2141, + "id": 2139, "inner": { "function": { "generics": { @@ -223450,7 +241916,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -223458,23 +241924,23 @@ } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "to_os_string", "span": { "begin": [ - 983, + 986, 5 ], "end": [ - 985, + 988, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2142": { + "2140": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"osstring_simple_functions\"}}]" @@ -223491,7 +241957,7 @@ "crate_id": 0, "deprecation": null, "docs": "Checks whether the `OsStr` is empty.\n\n# Examples\n\n```\nuse std::ffi::OsStr;\n\nlet os_str = OsStr::new(\"\");\nassert!(os_str.is_empty());\n\nlet os_str = OsStr::new(\"foo\");\nassert!(!os_str.is_empty());\n```", - "id": 2142, + "id": 2140, "inner": { "function": { "generics": { @@ -223531,18 +241997,18 @@ "name": "is_empty", "span": { "begin": [ - 1003, + 1006, 5 ], "end": [ - 1005, + 1008, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2143": { + "2141": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"osstring_simple_functions\"}}]" @@ -223559,7 +242025,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the length of this `OsStr`.\n\nNote that this does **not** return the number of bytes in the string in\nOS string form.\n\nThe length returned is that of the underlying storage used by `OsStr`.\nAs discussed in the [`OsString`] introduction, [`OsString`] and `OsStr`\nstore strings in a form best suited for cheap inter-conversion between\nnative-platform and Rust string forms, which may differ significantly\nfrom both of them, including in storage size and encoding.\n\nThis number is simply useful for passing to other methods, like\n[`OsString::with_capacity`] to avoid reallocations.\n\nSee the main `OsString` documentation information about encoding and capacity units.\n\n# Examples\n\n```\nuse std::ffi::OsStr;\n\nlet os_str = OsStr::new(\"\");\nassert_eq!(os_str.len(), 0);\n\nlet os_str = OsStr::new(\"foo\");\nassert_eq!(os_str.len(), 3);\n```", - "id": 2143, + "id": 2141, "inner": { "function": { "generics": { @@ -223596,24 +242062,24 @@ } }, "links": { - "`OsString::with_capacity`": 1939, - "`OsString`": 1709 + "`OsString::with_capacity`": 1937, + "`OsString`": 1708 }, "name": "len", "span": { "begin": [ - 1037, + 1040, 5 ], "end": [ - 1039, + 1042, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2144": { + "2142": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"into_boxed_os_str\"}}]" @@ -223627,7 +242093,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [Box]<[OsStr]> into an [`OsString`] without copying or allocating.", - "id": 2144, + "id": 2142, "inner": { "function": { "generics": { @@ -223659,7 +242125,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -223669,7 +242135,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -223677,25 +242143,25 @@ } }, "links": { - "Box": 159, - "OsStr": 1720, - "`OsString`": 1709 + "Box": 157, + "OsStr": 1719, + "`OsString`": 1708 }, "name": "into_os_string", "span": { "begin": [ - 1044, + 1047, 5 ], "end": [ - 1047, + 1050, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2146": { + "2144": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"osstring_ascii\"}}]" @@ -223709,7 +242175,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a copy of this string where each character is mapped to its\nASCII lower case equivalent.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo lowercase the value in-place, use [`OsStr::make_ascii_lowercase`].\n\n# Examples\n\n```\nuse std::ffi::OsString;\nlet s = OsString::from(\"Grüße, Jürgen ❤\");\n\nassert_eq!(\"grüße, jürgen ❤\", s.to_ascii_lowercase());\n```", - "id": 2146, + "id": 2144, "inner": { "function": { "generics": { @@ -223742,7 +242208,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -223750,23 +242216,23 @@ } }, "links": { - "`OsStr::make_ascii_lowercase`": 2147 + "`OsStr::make_ascii_lowercase`": 2145 }, "name": "to_ascii_lowercase", "span": { "begin": [ - 1187, + 1190, 5 ], "end": [ - 1189, + 1192, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2147": { + "2145": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"osstring_ascii\"}}]" @@ -223778,7 +242244,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts this string to its ASCII lower case equivalent in-place.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo return a new lowercased value without modifying the existing one, use\n[`OsStr::to_ascii_lowercase`].\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet mut s = OsString::from(\"GRÜßE, JÜRGEN ❤\");\n\ns.make_ascii_lowercase();\n\nassert_eq!(\"grÜße, jÜrgen ❤\", s);\n```", - "id": 2147, + "id": 2145, "inner": { "function": { "generics": { @@ -223813,23 +242279,23 @@ } }, "links": { - "`OsStr::to_ascii_lowercase`": 2146 + "`OsStr::to_ascii_lowercase`": 2144 }, "name": "make_ascii_lowercase", "span": { "begin": [ - 1140, + 1143, 5 ], "end": [ - 1142, + 1145, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2148": { + "2146": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"osstring_ascii\"}}]" @@ -223843,7 +242309,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a copy of this string where each character is mapped to its\nASCII upper case equivalent.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo uppercase the value in-place, use [`OsStr::make_ascii_uppercase`].\n\n# Examples\n\n```\nuse std::ffi::OsString;\nlet s = OsString::from(\"Grüße, Jürgen ❤\");\n\nassert_eq!(\"GRüßE, JüRGEN ❤\", s.to_ascii_uppercase());\n```", - "id": 2148, + "id": 2146, "inner": { "function": { "generics": { @@ -223876,7 +242342,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -223884,23 +242350,23 @@ } }, "links": { - "`OsStr::make_ascii_uppercase`": 2149 + "`OsStr::make_ascii_uppercase`": 2147 }, "name": "to_ascii_uppercase", "span": { "begin": [ - 1209, + 1212, 5 ], "end": [ - 1211, + 1214, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2149": { + "2147": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"osstring_ascii\"}}]" @@ -223912,7 +242378,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts this string to its ASCII upper case equivalent in-place.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo return a new uppercased value without modifying the existing one, use\n[`OsStr::to_ascii_uppercase`].\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet mut s = OsString::from(\"Grüße, Jürgen ❤\");\n\ns.make_ascii_uppercase();\n\nassert_eq!(\"GRüßE, JüRGEN ❤\", s);\n```", - "id": 2149, + "id": 2147, "inner": { "function": { "generics": { @@ -223947,23 +242413,23 @@ } }, "links": { - "`OsStr::to_ascii_uppercase`": 2148 + "`OsStr::to_ascii_uppercase`": 2146 }, "name": "make_ascii_uppercase", "span": { "begin": [ - 1165, + 1168, 5 ], "end": [ - 1167, + 1170, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2150": { + "2148": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"osstring_ascii\"}}]" @@ -223979,8 +242445,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Checks if all characters in this string are within the ASCII range.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet ascii = OsString::from(\"hello!\\n\");\nlet non_ascii = OsString::from(\"Grüße, Jürgen ❤\");\n\nassert!(ascii.is_ascii());\nassert!(!non_ascii.is_ascii());\n```", - "id": 2150, + "docs": "Checks if all characters in this string are within the ASCII range.\n\nAn empty string returns `true`.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nlet ascii = OsString::from(\"hello!\\n\");\nlet non_ascii = OsString::from(\"Grüße, Jürgen ❤\");\n\nassert!(ascii.is_ascii());\nassert!(!non_ascii.is_ascii());\n```", + "id": 2148, "inner": { "function": { "generics": { @@ -224020,18 +242486,18 @@ "name": "is_ascii", "span": { "begin": [ - 1229, + 1234, 5 ], "end": [ - 1231, + 1236, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2151": { + "2149": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"osstring_ascii\"}}]" @@ -224040,7 +242506,7 @@ "crate_id": 0, "deprecation": null, "docs": "Checks that two strings are an ASCII case-insensitive match.\n\nSame as `to_ascii_lowercase(a) == to_ascii_lowercase(b)`,\nbut without allocating and copying temporaries.\n\n# Examples\n\n```\nuse std::ffi::OsString;\n\nassert!(OsString::from(\"Ferris\").eq_ignore_ascii_case(\"FERRIS\"));\nassert!(OsString::from(\"Ferrös\").eq_ignore_ascii_case(\"FERRöS\"));\nassert!(!OsString::from(\"Ferrös\").eq_ignore_ascii_case(\"FERRÖS\"));\n```", - "id": 2151, + "id": 2149, "inner": { "function": { "generics": { @@ -224061,7 +242527,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -224124,18 +242590,18 @@ "name": "eq_ignore_ascii_case", "span": { "begin": [ - 1248, + 1253, 5 ], "end": [ - 1250, + 1255, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2152": { + "2150": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"os_str_display\"}}]" @@ -224152,7 +242618,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns an object that implements [`Display`] for safely printing an\n[`OsStr`] that may contain non-Unicode data. This may perform lossy\nconversion, depending on the platform. If you would like an\nimplementation which escapes the [`OsStr`] please use [`Debug`]\ninstead.\n\n[`Display`]: fmt::Display\n[`Debug`]: fmt::Debug\n\n# Examples\n\n```\nuse std::ffi::OsStr;\n\nlet s = OsStr::new(\"Hello, world!\");\nprintln!(\"{}\", s.display());\n```", - "id": 2152, + "id": 2150, "inner": { "function": { "generics": { @@ -224194,7 +242660,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } } @@ -224202,25 +242668,25 @@ } }, "links": { - "`OsStr`": 1720, - "fmt::Debug": 346, + "`OsStr`": 1719, + "fmt::Debug": 344, "fmt::Display": 436 }, "name": "display", "span": { "begin": [ - 1273, + 1278, 5 ], "end": [ - 1275, + 1280, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2153": { + "2151": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"os_str_display\"}}]" @@ -224229,7 +242695,7 @@ "crate_id": 0, "deprecation": null, "docs": "Helper struct for safely printing an [`OsStr`] with [`format!`] and `{}`.\n\nAn [`OsStr`] might contain non-Unicode data. This `struct` implements the\n[`Display`] trait in a way that mitigates that. It is created by the\n[`display`](OsStr::display) method on [`OsStr`]. This may perform lossy\nconversion, depending on the platform. If you would like an implementation\nwhich escapes the [`OsStr`] please use [`Debug`] instead.\n\n# Examples\n\n```\nuse std::ffi::OsStr;\n\nlet s = OsStr::new(\"Hello, world!\");\nprintln!(\"{}\", s.display());\n```\n\n[`Display`]: fmt::Display\n[`format!`]: crate::format", - "id": 2153, + "id": 2151, "inner": { "struct": { "generics": { @@ -224246,6 +242712,8 @@ "where_predicates": [] }, "impls": [ + 2327, + 2328, 2329, 2330, 2331, @@ -224258,10 +242726,8 @@ 2338, 2339, 2340, - 2341, 2342, - 2344, - 2346 + 2344 ], "kind": { "plain": { @@ -224272,39 +242738,39 @@ } }, "links": { - "OsStr::display": 2152, - "`Debug`": 107, - "`OsStr`": 1720, - "crate::format": 2328, + "OsStr::display": 2150, + "`Debug`": 105, + "`OsStr`": 1719, + "crate::format": 2326, "fmt::Display": 436 }, "name": "Display", "span": { "begin": [ - 1627, + 1632, 1 ], "end": [ - 1629, + 1634, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2154": { + "2152": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2154, + "id": 2152, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224316,23 +242782,23 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 2134, + 2135, 2136, - 2137, 2138, + 2139, 2140, 2141, 2142, - 2143, - 2144, - 1935, - 1951, + 1933, + 1949, + 2145, 2147, - 2149, + 2144, 2146, 2148, - 2150, - 2151, - 2152 + 2149, + 2150 ], "provided_trait_methods": [], "trait": null @@ -224346,26 +242812,26 @@ 1 ], "end": [ - 1276, + 1281, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2155": { + "2153": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2155, + "id": 2153, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224390,19 +242856,19 @@ "span": null, "visibility": "default" }, - "2156": { + "2154": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2156, + "id": 2154, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224427,19 +242893,19 @@ "span": null, "visibility": "default" }, - "2157": { + "2155": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2157, + "id": 2155, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224454,7 +242920,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -224464,19 +242930,19 @@ "span": null, "visibility": "default" }, - "2158": { + "2156": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2158, + "id": 2156, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224501,19 +242967,19 @@ "span": null, "visibility": "default" }, - "2159": { + "2157": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2159, + "id": 2157, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224528,7 +242994,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -224538,19 +243004,19 @@ "span": null, "visibility": "default" }, - "2160": { + "2158": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2160, + "id": 2158, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224565,7 +243031,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -224575,19 +243041,19 @@ "span": null, "visibility": "default" }, - "2161": { + "2159": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2161, + "id": 2159, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224612,12 +243078,12 @@ "span": null, "visibility": "default" }, - "2162": { + "2160": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2162, + "id": 2160, "inner": { "impl": { "blanket_impl": { @@ -224626,7 +243092,7 @@ "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224671,7 +243137,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -224687,7 +243153,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -224696,23 +243162,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "2163": { + "2161": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2163, + "id": 2161, "inner": { "impl": { "blanket_impl": { @@ -224721,7 +243187,7 @@ "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224766,7 +243232,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -224782,7 +243248,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -224791,23 +243257,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "2164": { + "2162": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2164, + "id": 2162, "inner": { "impl": { "blanket_impl": { @@ -224816,7 +243282,7 @@ "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -224864,12 +243330,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -224889,7 +243355,7 @@ }, "visibility": "default" }, - "2165": { + "2163": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -224898,7 +243364,7 @@ "crate_id": 0, "deprecation": null, "docs": "Copies the string into a newly allocated [Box]<[OsStr]>.", - "id": 2165, + "id": 2163, "inner": { "function": { "generics": { @@ -224923,7 +243389,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -224941,7 +243407,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -224950,7 +243416,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -224958,24 +243424,24 @@ } }, "links": { - "Box": 159, - "OsStr": 1720 + "Box": 157, + "OsStr": 1719 }, "name": "from", "span": { "begin": [ - 1282, + 1287, 5 ], "end": [ - 1285, + 1290, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2166": { + "2164": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 17, patch: 0})}, feature: \"box_from_os_str\"}}]" @@ -224984,7 +243450,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2166, + "id": 2164, "inner": { "impl": { "blanket_impl": null, @@ -224997,7 +243463,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225006,7 +243472,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -225018,7 +243484,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2165 + 2163 ], "provided_trait_methods": [], "trait": { @@ -225033,7 +243499,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225053,18 +243519,18 @@ "name": null, "span": { "begin": [ - 1279, + 1284, 1 ], "end": [ - 1286, + 1291, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2167": { + "2165": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -225073,7 +243539,7 @@ "crate_id": 0, "deprecation": null, "docs": "Copies the string into a newly allocated [Box]<[OsStr]>.", - "id": 2167, + "id": 2165, "inner": { "function": { "generics": { @@ -225098,7 +243564,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225116,7 +243582,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225125,7 +243591,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -225133,24 +243599,24 @@ } }, "links": { - "Box": 159, - "OsStr": 1720 + "Box": 157, + "OsStr": 1719 }, "name": "from", "span": { "begin": [ - 1292, + 1297, 5 ], "end": [ - 1294, + 1299, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2168": { + "2166": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"box_from_mut_slice\"}}]" @@ -225159,7 +243625,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2168, + "id": 2166, "inner": { "impl": { "blanket_impl": null, @@ -225172,7 +243638,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225181,7 +243647,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -225193,7 +243659,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2167 + 2165 ], "provided_trait_methods": [], "trait": { @@ -225208,7 +243674,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225228,18 +243694,18 @@ "name": null, "span": { "begin": [ - 1289, + 1294, 1 ], "end": [ - 1295, + 1300, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2169": { + "2167": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -225248,7 +243714,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a `Cow<'a, OsStr>` into a [Box]<[OsStr]>,\nby copying the contents if they are borrowed.", - "id": 2169, + "id": 2167, "inner": { "function": { "generics": { @@ -225278,7 +243744,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225287,7 +243753,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -225303,7 +243769,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225312,7 +243778,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -225320,24 +243786,24 @@ } }, "links": { - "Box": 159, - "OsStr": 1720 + "Box": 157, + "OsStr": 1719 }, "name": "from", "span": { "begin": [ - 1302, + 1307, 5 ], "end": [ - 1307, + 1312, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2170": { + "2168": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"box_from_cow\"}}]" @@ -225346,7 +243812,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2170, + "id": 2168, "inner": { "impl": { "blanket_impl": null, @@ -225359,7 +243825,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225368,7 +243834,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -225380,7 +243846,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2169 + 2167 ], "provided_trait_methods": [], "trait": { @@ -225400,7 +243866,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225409,7 +243875,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -225427,18 +243893,18 @@ "name": null, "span": { "begin": [ - 1298, + 1303, 1 ], "end": [ - 1308, + 1313, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2171": { + "2169": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -225447,7 +243913,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2171, + "id": 2169, "inner": { "function": { "generics": { @@ -225487,18 +243953,18 @@ "name": "clone", "span": { "begin": [ - 1332, + 1337, 5 ], "end": [ - 1334, + 1339, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2172": { + "2170": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 29, patch: 0})}, feature: \"more_box_slice_clone\"}}]" @@ -225507,7 +243973,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2172, + "id": 2170, "inner": { "impl": { "blanket_impl": null, @@ -225520,7 +243986,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225529,7 +243995,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -225541,14 +244007,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2171 + 2169 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -225557,18 +244023,18 @@ "name": null, "span": { "begin": [ - 1330, + 1335, 1 ], "end": [ - 1335, + 1340, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2173": { + "2171": { "attrs": [ { "other": "#[(debug_assertions, track_caller)]" @@ -225583,7 +244049,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2173, + "id": 2171, "inner": { "function": { "generics": { @@ -225632,18 +244098,18 @@ "name": "clone_to_uninit", "span": { "begin": [ - 1341, + 1346, 5 ], "end": [ - 1344, + 1349, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2174": { + "2172": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126799, is_soft: false}, feature: \"clone_to_uninit\"}}]" @@ -225652,14 +244118,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2174, + "id": 2172, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -225671,7 +244137,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2173 + 2171 ], "provided_trait_methods": [], "trait": { @@ -225685,18 +244151,18 @@ "name": null, "span": { "begin": [ - 1338, + 1343, 1 ], "end": [ - 1345, + 1350, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2175": { + "2173": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -225705,7 +244171,7 @@ "crate_id": 0, "deprecation": null, "docs": "Copies the string into a newly allocated [Arc]<[OsStr]>.", - "id": 2175, + "id": 2173, "inner": { "function": { "generics": { @@ -225730,7 +244196,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225748,7 +244214,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225766,23 +244232,23 @@ }, "links": { "Arc": 606, - "OsStr": 1720 + "OsStr": 1719 }, "name": "from", "span": { "begin": [ - 1362, + 1367, 5 ], "end": [ - 1365, + 1370, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2176": { + "2174": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"shared_from_slice2\"}}]" @@ -225791,7 +244257,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2176, + "id": 2174, "inner": { "impl": { "blanket_impl": null, @@ -225804,7 +244270,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225825,7 +244291,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2175 + 2173 ], "provided_trait_methods": [], "trait": { @@ -225840,7 +244306,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225860,18 +244326,18 @@ "name": null, "span": { "begin": [ - 1359, + 1364, 1 ], "end": [ - 1366, + 1371, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2177": { + "2175": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -225880,7 +244346,7 @@ "crate_id": 0, "deprecation": null, "docs": "Copies the string into a newly allocated [Arc]<[OsStr]>.", - "id": 2177, + "id": 2175, "inner": { "function": { "generics": { @@ -225905,7 +244371,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225923,7 +244389,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -225941,23 +244407,23 @@ }, "links": { "Arc": 606, - "OsStr": 1720 + "OsStr": 1719 }, "name": "from", "span": { "begin": [ - 1372, + 1377, 5 ], "end": [ - 1374, + 1379, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2178": { + "2176": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"shared_from_mut_slice\"}}]" @@ -225966,7 +244432,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2178, + "id": 2176, "inner": { "impl": { "blanket_impl": null, @@ -225979,7 +244445,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226000,7 +244466,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2177 + 2175 ], "provided_trait_methods": [], "trait": { @@ -226015,7 +244481,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226035,18 +244501,18 @@ "name": null, "span": { "begin": [ - 1369, + 1374, 1 ], "end": [ - 1375, + 1380, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2179": { + "2177": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -226055,7 +244521,7 @@ "crate_id": 0, "deprecation": null, "docs": "Copies the string into a newly allocated [Rc]<[OsStr]>.", - "id": 2179, + "id": 2177, "inner": { "function": { "generics": { @@ -226080,7 +244546,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226098,7 +244564,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226107,7 +244573,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "Rc" } } @@ -226115,24 +244581,24 @@ } }, "links": { - "OsStr": 1720, - "Rc": 2030 + "OsStr": 1719, + "Rc": 2028 }, "name": "from", "span": { "begin": [ - 1392, + 1397, 5 ], "end": [ - 1395, + 1400, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2180": { + "2178": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"shared_from_slice2\"}}]" @@ -226141,7 +244607,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2180, + "id": 2178, "inner": { "impl": { "blanket_impl": null, @@ -226154,7 +244620,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226163,7 +244629,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "crate::rc::Rc" } }, @@ -226175,7 +244641,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2179 + 2177 ], "provided_trait_methods": [], "trait": { @@ -226190,7 +244656,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226210,18 +244676,18 @@ "name": null, "span": { "begin": [ - 1389, + 1394, 1 ], "end": [ - 1396, + 1401, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2181": { + "2179": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -226230,7 +244696,7 @@ "crate_id": 0, "deprecation": null, "docs": "Copies the string into a newly allocated [Rc]<[OsStr]>.", - "id": 2181, + "id": 2179, "inner": { "function": { "generics": { @@ -226255,7 +244721,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226273,7 +244739,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226282,7 +244748,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "Rc" } } @@ -226290,24 +244756,24 @@ } }, "links": { - "OsStr": 1720, - "Rc": 2030 + "OsStr": 1719, + "Rc": 2028 }, "name": "from", "span": { "begin": [ - 1402, + 1407, 5 ], "end": [ - 1404, + 1409, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2182": { + "2180": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"shared_from_mut_slice\"}}]" @@ -226316,7 +244782,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2182, + "id": 2180, "inner": { "impl": { "blanket_impl": null, @@ -226329,7 +244795,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226338,7 +244804,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "crate::rc::Rc" } }, @@ -226350,7 +244816,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2181 + 2179 ], "provided_trait_methods": [], "trait": { @@ -226365,7 +244831,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226385,18 +244851,18 @@ "name": null, "span": { "begin": [ - 1399, + 1404, 1 ], "end": [ - 1405, + 1410, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2183": { + "2181": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -226405,7 +244871,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts the string reference into a [`Cow::Borrowed`].", - "id": 2183, + "id": 2181, "inner": { "function": { "generics": { @@ -226430,7 +244896,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226451,7 +244917,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226460,7 +244926,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -226468,23 +244934,23 @@ } }, "links": { - "`Cow::Borrowed`": 2037 + "`Cow::Borrowed`": 2035 }, "name": "from", "span": { "begin": [ - 1420, + 1425, 5 ], "end": [ - 1422, + 1427, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2184": { + "2182": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"cow_from_osstr\"}}]" @@ -226493,7 +244959,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2184, + "id": 2182, "inner": { "impl": { "blanket_impl": null, @@ -226509,7 +244975,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226518,7 +244984,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -226539,7 +245005,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2183 + 2181 ], "provided_trait_methods": [], "trait": { @@ -226554,7 +245020,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226574,23 +245040,23 @@ "name": null, "span": { "begin": [ - 1417, + 1422, 1 ], "end": [ - 1423, + 1428, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2185": { + "2183": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2185, + "id": 2183, "inner": { "assoc_type": { "bounds": [], @@ -226601,7 +245067,7 @@ "type": { "resolved_path": { "args": null, - "id": 2186, + "id": 2184, "path": "Utf8Error" } } @@ -226611,23 +245077,23 @@ "name": "Error", "span": { "begin": [ - 1446, + 1451, 5 ], "end": [ - 1446, + 1451, 40 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2187": { + "2185": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Tries to convert an `&OsStr` to a `&str`.\n\n```\nuse std::ffi::OsStr;\n\nlet os_str = OsStr::new(\"foo\");\nlet as_str = <&str>::try_from(os_str).unwrap();\nassert_eq!(as_str, \"foo\");\n```", - "id": 2187, + "id": 2185, "inner": { "function": { "generics": { @@ -226652,7 +245118,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226681,7 +245147,7 @@ }, "trait": { "args": null, - "id": 199, + "id": 197, "path": "" } } @@ -226702,18 +245168,18 @@ "name": "try_from", "span": { "begin": [ - 1457, + 1462, 5 ], "end": [ - 1459, + 1464, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2188": { + "2186": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 72, patch: 0})}, feature: \"str_tryfrom_osstr_impl\"}}]" @@ -226722,7 +245188,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2188, + "id": 2186, "inner": { "impl": { "blanket_impl": null, @@ -226752,8 +245218,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2185, - 2187 + 2183, + 2185 ], "provided_trait_methods": [], "trait": { @@ -226768,7 +245234,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226779,7 +245245,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -226788,18 +245254,18 @@ "name": null, "span": { "begin": [ - 1445, + 1450, 1 ], "end": [ - 1460, + 1465, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2189": { + "2187": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -226808,7 +245274,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2189, + "id": 2187, "inner": { "function": { "generics": { @@ -226834,7 +245300,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226843,7 +245309,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -226854,18 +245320,18 @@ "name": "default", "span": { "begin": [ - 1465, + 1470, 5 ], "end": [ - 1468, + 1473, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2190": { + "2188": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 17, patch: 0})}, feature: \"box_default_extra\"}}]" @@ -226874,7 +245340,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2190, + "id": 2188, "inner": { "impl": { "blanket_impl": null, @@ -226887,7 +245353,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -226896,7 +245362,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -226908,12 +245374,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2189 + 2187 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -226922,18 +245388,18 @@ "name": null, "span": { "begin": [ - 1463, + 1468, 1 ], "end": [ - 1469, + 1474, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2191": { + "2189": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -226942,7 +245408,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an empty `OsStr`.", - "id": 2191, + "id": 2189, "inner": { "function": { "generics": { @@ -226969,18 +245435,18 @@ "name": "default", "span": { "begin": [ - 1475, + 1480, 5 ], "end": [ - 1477, + 1482, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2192": { + "2190": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"osstring_default\"}}]" @@ -226989,7 +245455,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2192, + "id": 2190, "inner": { "impl": { "blanket_impl": null, @@ -227000,7 +245466,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -227014,12 +245480,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2191 + 2189 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -227028,18 +245494,18 @@ "name": null, "span": { "begin": [ - 1472, + 1477, 1 ], "end": [ - 1478, + 1483, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2193": { + "2191": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -227048,7 +245514,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2193, + "id": 2191, "inner": { "function": { "generics": { @@ -227085,7 +245551,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -227104,18 +245570,18 @@ "name": "eq", "span": { "begin": [ - 1483, + 1488, 5 ], "end": [ - 1485, + 1490, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2194": { + "2192": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -227124,14 +245590,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2194, + "id": 2192, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -227143,14 +245609,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2193 + 2191 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -227159,18 +245625,18 @@ "name": null, "span": { "begin": [ - 1481, + 1486, 1 ], "end": [ - 1486, + 1491, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2195": { + "2193": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -227179,7 +245645,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2195, + "id": 2193, "inner": { "function": { "generics": { @@ -227231,18 +245697,18 @@ "name": "eq", "span": { "begin": [ - 1491, + 1496, 5 ], "end": [ - 1493, + 1498, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2196": { + "2194": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -227251,14 +245717,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2196, + "id": 2194, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -227270,7 +245736,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2195 + 2193 ], "provided_trait_methods": [ "ne" @@ -227288,7 +245754,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -227297,18 +245763,18 @@ "name": null, "span": { "begin": [ - 1489, + 1494, 1 ], "end": [ - 1494, + 1499, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2197": { + "2195": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -227317,7 +245783,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2197, + "id": 2195, "inner": { "function": { "generics": { @@ -227354,7 +245820,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -227373,18 +245839,18 @@ "name": "eq", "span": { "begin": [ - 1499, + 1504, 5 ], "end": [ - 1501, + 1506, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2198": { + "2196": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -227393,7 +245859,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2198, + "id": 2196, "inner": { "impl": { "blanket_impl": null, @@ -227408,7 +245874,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2197 + 2195 ], "provided_trait_methods": [ "ne" @@ -227421,7 +245887,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -227430,7 +245896,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -227439,18 +245905,18 @@ "name": null, "span": { "begin": [ - 1497, + 1502, 1 ], "end": [ - 1502, + 1507, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2199": { + "2197": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -227459,14 +245925,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2199, + "id": 2197, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -227483,7 +245949,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -227492,54 +245958,18 @@ "name": null, "span": { "begin": [ - 1505, + 1510, 1 ], "end": [ - 1505, + 1510, 21 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "22": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 22, - "inner": { - "use": { - "id": 23, - "is_glob": false, - "name": "drop", - "source": "crate::mem::drop" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 24, - 1 - ], - "end": [ - 24, - 26 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "2200": { + "2198": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -227548,7 +245978,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2200, + "id": 2198, "inner": { "function": { "generics": { @@ -227585,7 +246015,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -227603,7 +246033,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -227623,18 +246053,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1510, + 1515, 5 ], "end": [ - 1512, + 1517, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2201": { + "2199": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -227643,7 +246073,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2201, + "id": 2199, "inner": { "function": { "generics": { @@ -227680,7 +246110,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -227699,18 +246129,54 @@ "name": "lt", "span": { "begin": [ - 1514, + 1519, 5 ], "end": [ - 1516, + 1521, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2202": { + "22": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 22, + "inner": { + "use": { + "id": 23, + "is_glob": false, + "name": "drop", + "source": "crate::mem::drop" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 24, + 1 + ], + "end": [ + 24, + 26 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "2200": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -227719,7 +246185,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2202, + "id": 2200, "inner": { "function": { "generics": { @@ -227756,7 +246222,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -227775,18 +246241,18 @@ "name": "le", "span": { "begin": [ - 1518, + 1523, 5 ], "end": [ - 1520, + 1525, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2203": { + "2201": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -227795,7 +246261,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2203, + "id": 2201, "inner": { "function": { "generics": { @@ -227832,7 +246298,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -227851,18 +246317,18 @@ "name": "gt", "span": { "begin": [ - 1522, + 1527, 5 ], "end": [ - 1524, + 1529, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2204": { + "2202": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -227871,7 +246337,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2204, + "id": 2202, "inner": { "function": { "generics": { @@ -227908,7 +246374,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -227927,18 +246393,18 @@ "name": "ge", "span": { "begin": [ - 1526, + 1531, 5 ], "end": [ - 1528, + 1533, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2205": { + "2203": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -227947,14 +246413,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2205, + "id": 2203, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -227966,11 +246432,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 2198, + 2199, 2200, 2201, - 2202, - 2203, - 2204 + 2202 ], "provided_trait_methods": [ "lt", @@ -227984,7 +246450,7 @@ ], "trait": { "args": null, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -227993,18 +246459,18 @@ "name": null, "span": { "begin": [ - 1508, + 1513, 1 ], "end": [ - 1529, + 1534, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2206": { + "2204": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -228013,7 +246479,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2206, + "id": 2204, "inner": { "function": { "generics": { @@ -228064,7 +246530,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -228084,18 +246550,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1534, + 1539, 5 ], "end": [ - 1536, + 1541, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2207": { + "2205": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -228104,14 +246570,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2207, + "id": 2205, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -228123,7 +246589,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2206 + 2204 ], "provided_trait_methods": [ "lt", @@ -228148,7 +246614,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -228157,18 +246623,18 @@ "name": null, "span": { "begin": [ - 1532, + 1537, 1 ], "end": [ - 1537, + 1542, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2208": { + "2206": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -228177,7 +246643,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2208, + "id": 2206, "inner": { "function": { "generics": { @@ -228214,7 +246680,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -228226,7 +246692,7 @@ "output": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -228237,18 +246703,18 @@ "name": "cmp", "span": { "begin": [ - 1545, + 1550, 5 ], "end": [ - 1547, + 1552, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2209": { + "2207": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -228257,14 +246723,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2209, + "id": 2207, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -228276,7 +246742,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2208 + 2206 ], "provided_trait_methods": [ "max", @@ -228285,7 +246751,7 @@ ], "trait": { "args": null, - "id": 119, + "id": 117, "path": "Ord" } } @@ -228294,18 +246760,18 @@ "name": null, "span": { "begin": [ - 1543, + 1548, 1 ], "end": [ - 1548, + 1553, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2210": { + "2208": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -228314,7 +246780,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2210, + "id": 2208, "inner": { "function": { "generics": { @@ -228351,7 +246817,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -228370,18 +246836,18 @@ "name": "eq", "span": { "begin": [ - 1588, + 1593, 1 ], "end": [ - 1588, + 1593, 33 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2211": { + "2209": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -228390,7 +246856,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2211, + "id": 2209, "inner": { "impl": { "blanket_impl": null, @@ -228406,7 +246872,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -228415,7 +246881,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -228444,7 +246910,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2210 + 2208 ], "provided_trait_methods": [ "ne" @@ -228457,7 +246923,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -228466,7 +246932,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -228475,18 +246941,18 @@ "name": null, "span": { "begin": [ - 1588, + 1593, 1 ], "end": [ - 1588, + 1593, 33 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2212": { + "2210": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -228495,7 +246961,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2212, + "id": 2210, "inner": { "function": { "generics": { @@ -228541,7 +247007,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -228550,7 +247016,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -228569,18 +247035,18 @@ "name": "eq", "span": { "begin": [ - 1588, + 1593, 1 ], "end": [ - 1588, + 1593, 33 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2213": { + "2211": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -228589,14 +247055,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2213, + "id": 2211, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -228625,7 +247091,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2212 + 2210 ], "provided_trait_methods": [ "ne" @@ -228647,7 +247113,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -228656,7 +247122,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -228665,7 +247131,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -228674,18 +247140,18 @@ "name": null, "span": { "begin": [ - 1588, + 1593, 1 ], "end": [ - 1588, + 1593, 33 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2214": { + "2212": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -228694,7 +247160,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2214, + "id": 2212, "inner": { "function": { "generics": { @@ -228731,7 +247197,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -228749,7 +247215,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -228769,18 +247235,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1588, + 1593, 1 ], "end": [ - 1588, + 1593, 33 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2215": { + "2213": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -228789,7 +247255,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2215, + "id": 2213, "inner": { "impl": { "blanket_impl": null, @@ -228805,7 +247271,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -228814,7 +247280,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -228843,7 +247309,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2214 + 2212 ], "provided_trait_methods": [ "lt", @@ -228863,7 +247329,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -228872,7 +247338,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -228881,18 +247347,18 @@ "name": null, "span": { "begin": [ - 1588, + 1593, 1 ], "end": [ - 1588, + 1593, 33 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2216": { + "2214": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -228901,7 +247367,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2216, + "id": 2214, "inner": { "function": { "generics": { @@ -228947,7 +247413,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -228956,7 +247422,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -228974,7 +247440,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -228994,18 +247460,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1588, + 1593, 1 ], "end": [ - 1588, + 1593, 33 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2217": { + "2215": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -229014,14 +247480,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2217, + "id": 2215, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -229050,7 +247516,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2216 + 2214 ], "provided_trait_methods": [ "lt", @@ -229079,7 +247545,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229088,7 +247554,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -229097,7 +247563,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -229106,18 +247572,18 @@ "name": null, "span": { "begin": [ - 1588, + 1593, 1 ], "end": [ - 1588, + 1593, 33 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2218": { + "2216": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -229126,7 +247592,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2218, + "id": 2216, "inner": { "function": { "generics": { @@ -229167,7 +247633,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229188,18 +247654,18 @@ "name": "eq", "span": { "begin": [ - 1589, + 1594, 1 ], "end": [ - 1589, + 1594, 37 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2219": { + "2217": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -229208,7 +247674,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2219, + "id": 2217, "inner": { "impl": { "blanket_impl": null, @@ -229224,7 +247690,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229233,7 +247699,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -229262,7 +247728,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2218 + 2216 ], "provided_trait_methods": [ "ne" @@ -229279,7 +247745,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229290,7 +247756,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -229299,18 +247765,18 @@ "name": null, "span": { "begin": [ - 1589, + 1594, 1 ], "end": [ - 1589, + 1594, 37 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2220": { + "2218": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -229319,7 +247785,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2220, + "id": 2218, "inner": { "function": { "generics": { @@ -229365,7 +247831,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229374,7 +247840,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -229393,18 +247859,18 @@ "name": "eq", "span": { "begin": [ - 1589, + 1594, 1 ], "end": [ - 1589, + 1594, 37 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2221": { + "2219": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -229413,7 +247879,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2221, + "id": 2219, "inner": { "impl": { "blanket_impl": null, @@ -229424,7 +247890,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229455,7 +247921,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2220 + 2218 ], "provided_trait_methods": [ "ne" @@ -229477,7 +247943,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229486,7 +247952,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -229495,7 +247961,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -229504,18 +247970,18 @@ "name": null, "span": { "begin": [ - 1589, + 1594, 1 ], "end": [ - 1589, + 1594, 37 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2222": { + "2220": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -229524,7 +247990,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2222, + "id": 2220, "inner": { "function": { "generics": { @@ -229565,7 +248031,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229585,7 +248051,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -229605,18 +248071,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1589, + 1594, 1 ], "end": [ - 1589, + 1594, 37 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2223": { + "2221": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -229625,7 +248091,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2223, + "id": 2221, "inner": { "impl": { "blanket_impl": null, @@ -229641,7 +248107,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229650,7 +248116,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -229679,7 +248145,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2222 + 2220 ], "provided_trait_methods": [ "lt", @@ -229703,7 +248169,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229714,7 +248180,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -229723,18 +248189,18 @@ "name": null, "span": { "begin": [ - 1589, + 1594, 1 ], "end": [ - 1589, + 1594, 37 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2224": { + "2222": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -229743,7 +248209,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2224, + "id": 2222, "inner": { "function": { "generics": { @@ -229789,7 +248255,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229798,7 +248264,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -229816,7 +248282,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -229836,18 +248302,18 @@ "name": "partial_cmp", "span": { "begin": [ - 1589, + 1594, 1 ], "end": [ - 1589, + 1594, 37 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2225": { + "2223": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_os_str\"}}]" @@ -229856,7 +248322,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2225, + "id": 2223, "inner": { "impl": { "blanket_impl": null, @@ -229867,7 +248333,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229898,7 +248364,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2224 + 2222 ], "provided_trait_methods": [ "lt", @@ -229927,7 +248393,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -229936,7 +248402,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -229945,7 +248411,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -229954,18 +248420,18 @@ "name": null, "span": { "begin": [ - 1589, + 1594, 1 ], "end": [ - 1589, + 1594, 37 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2226": { + "2224": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -229974,7 +248440,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2226, + "id": 2224, "inner": { "function": { "generics": { @@ -230047,18 +248513,18 @@ "name": "hash", "span": { "begin": [ - 1595, + 1600, 5 ], "end": [ - 1597, + 1602, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2227": { + "2225": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -230067,14 +248533,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2227, + "id": 2225, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -230086,7 +248552,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2226 + 2224 ], "provided_trait_methods": [ "hash_slice" @@ -230102,23 +248568,23 @@ "name": null, "span": { "begin": [ - 1593, + 1598, 1 ], "end": [ - 1598, + 1603, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2228": { + "2226": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2228, + "id": 2226, "inner": { "function": { "generics": { @@ -230164,7 +248630,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -230176,7 +248642,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -230187,18 +248653,18 @@ "name": "fmt", "span": { "begin": [ - 1602, + 1607, 5 ], "end": [ - 1604, + 1609, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2229": { + "2227": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -230207,14 +248673,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2229, + "id": 2227, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -230226,12 +248692,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2228 + 2226 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -230240,23 +248706,23 @@ "name": null, "span": { "begin": [ - 1601, + 1606, 1 ], "end": [ - 1605, + 1610, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2230": { + "2228": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2230, + "id": 2228, "inner": { "assoc_type": { "bounds": [], @@ -230267,7 +248733,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -230277,23 +248743,23 @@ "name": "Output", "span": { "begin": [ - 1647, + 1652, 5 ], "end": [ - 1647, + 1652, 28 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2231": { + "2229": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2231, + "id": 2229, "inner": { "function": { "generics": { @@ -230330,7 +248796,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -230342,7 +248808,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -230353,18 +248819,18 @@ "name": "join", "span": { "begin": [ - 1649, + 1654, 5 ], "end": [ - 1659, + 1664, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2232": { + "2230": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 27747, is_soft: false}, feature: \"slice_concat_ext\"}}]" @@ -230373,7 +248839,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2232, + "id": 2230, "inner": { "impl": { "blanket_impl": null, @@ -230400,7 +248866,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -230409,7 +248875,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -230428,8 +248894,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2230, - 2231 + 2228, + 2229 ], "provided_trait_methods": [], "trait": { @@ -230444,7 +248910,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -230455,7 +248921,7 @@ "constraints": [] } }, - "id": 2233, + "id": 2231, "path": "Join" } } @@ -230464,23 +248930,23 @@ "name": null, "span": { "begin": [ - 1646, + 1651, 1 ], "end": [ - 1660, + 1665, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2234": { + "2232": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2234, + "id": 2232, "inner": { "assoc_type": { "bounds": [], @@ -230491,7 +248957,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -230501,18 +248967,18 @@ "name": "Owned", "span": { "begin": [ - 1672, + 1677, 5 ], "end": [ - 1672, + 1677, 27 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2235": { + "2233": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -230521,7 +248987,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2235, + "id": 2233, "inner": { "function": { "generics": { @@ -230554,7 +249020,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -230565,18 +249031,18 @@ "name": "to_owned", "span": { "begin": [ - 1674, + 1679, 5 ], "end": [ - 1676, + 1681, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2236": { + "2234": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -230585,7 +249051,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2236, + "id": 2234, "inner": { "function": { "generics": { @@ -230622,7 +249088,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -230639,18 +249105,18 @@ "name": "clone_into", "span": { "begin": [ - 1678, + 1683, 5 ], "end": [ - 1680, + 1685, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2237": { + "2235": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -230659,14 +249125,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2237, + "id": 2235, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -230678,16 +249144,16 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2234, - 2235, - 2236 + 2232, + 2233, + 2234 ], "provided_trait_methods": [ "clone_into" ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -230696,18 +249162,18 @@ "name": null, "span": { "begin": [ - 1671, + 1676, 1 ], "end": [ - 1681, + 1686, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2238": { + "2236": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -230716,7 +249182,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2238, + "id": 2236, "inner": { "function": { "generics": { @@ -230753,7 +249219,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -230766,19 +249232,22 @@ "name": "as_ref", "span": { "begin": [ - 1686, + 1692, 5 ], "end": [ - 1688, + 1694, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2239": { + "2237": { "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143773, is_soft: false}, feature: \"const_convert\", promotable: false}}]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } @@ -230786,14 +249255,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2239, + "id": 2237, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } }, @@ -230805,7 +249274,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2238 + 2236 ], "provided_trait_methods": [], "trait": { @@ -230816,7 +249285,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -230834,18 +249303,18 @@ "name": null, "span": { "begin": [ - 1684, + 1690, 1 ], "end": [ - 1689, + 1695, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2240": { + "2238": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -230854,7 +249323,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2240, + "id": 2238, "inner": { "function": { "generics": { @@ -230891,7 +249360,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -230904,18 +249373,18 @@ "name": "as_ref", "span": { "begin": [ - 1702, + 1708, 5 ], "end": [ - 1704, + 1710, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2241": { + "2239": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -230924,7 +249393,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2241, + "id": 2239, "inner": { "impl": { "blanket_impl": null, @@ -230939,7 +249408,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2240 + 2238 ], "provided_trait_methods": [], "trait": { @@ -230950,7 +249419,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -230968,18 +249437,18 @@ "name": null, "span": { "begin": [ - 1700, + 1706, 1 ], "end": [ - 1705, + 1711, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2242": { + "2240": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -230988,7 +249457,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2242, + "id": 2240, "inner": { "function": { "generics": { @@ -231025,7 +249494,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -231038,18 +249507,18 @@ "name": "as_ref", "span": { "begin": [ - 1710, + 1716, 5 ], "end": [ - 1712, + 1718, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2243": { + "2241": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -231058,14 +249527,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2243, + "id": 2241, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } }, @@ -231077,7 +249546,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2242 + 2240 ], "provided_trait_methods": [], "trait": { @@ -231088,7 +249557,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -231106,18 +249575,18 @@ "name": null, "span": { "begin": [ - 1708, + 1714, 1 ], "end": [ - 1713, + 1719, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2244": { + "2242": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -231126,7 +249595,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2244, + "id": 2242, "inner": { "function": { "generics": { @@ -231165,7 +249634,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -231189,7 +249658,7 @@ }, "visibility": "default" }, - "2245": { + "2243": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -231198,7 +249667,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2245, + "id": 2243, "inner": { "function": { "generics": { @@ -231257,7 +249726,7 @@ }, "visibility": "default" }, - "2246": { + "2244": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -231269,14 +249738,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2246, + "id": 2244, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -231288,13 +249757,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2244, - 2245 + 2242, + 2243 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2247, + "id": 2245, "path": "OsStrExt" } } @@ -231314,7 +249783,7 @@ }, "visibility": "default" }, - "2247": { + "2245": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -231323,7 +249792,7 @@ "crate_id": 0, "deprecation": null, "docs": "Platform-specific extensions to [`OsStr`].\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 2247, + "id": 2245, "inner": { "trait": { "bounds": [ @@ -231333,7 +249802,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -231344,19 +249813,19 @@ "where_predicates": [] }, "implementations": [ - 2246 + 2244 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 2399, - 2400 + 2397, + 2398 ] } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "OsStrExt", "span": { @@ -231372,7 +249841,7 @@ }, "visibility": "public" }, - "2248": { + "2246": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -231381,7 +249850,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2248, + "id": 2246, "inner": { "function": { "generics": { @@ -231420,7 +249889,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -231444,7 +249913,7 @@ }, "visibility": "default" }, - "2249": { + "2247": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -231453,7 +249922,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2249, + "id": 2247, "inner": { "function": { "generics": { @@ -231512,7 +249981,7 @@ }, "visibility": "default" }, - "2250": { + "2248": { "attrs": [ { "other": "#[doc(cfg(target_os = \"wasi\"))]" @@ -231524,14 +249993,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2250, + "id": 2248, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -231543,13 +250012,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2248, - 2249 + 2246, + 2247 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2251, + "id": 2249, "path": "OsStrExt" } } @@ -231569,7 +250038,7 @@ }, "visibility": "default" }, - "2251": { + "2249": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -231578,7 +250047,7 @@ "crate_id": 0, "deprecation": null, "docs": "Platform-specific extensions to [`OsStr`].\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 2251, + "id": 2249, "inner": { "trait": { "bounds": [ @@ -231588,7 +250057,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -231599,19 +250068,19 @@ "where_predicates": [] }, "implementations": [ - 2250 + 2248 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5555, - 5556 + 5560, + 5561 ] } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "OsStrExt", "span": { @@ -231627,7 +250096,7 @@ }, "visibility": "public" }, - "2252": { + "2250": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -231636,7 +250105,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2252, + "id": 2250, "inner": { "function": { "generics": { @@ -231678,7 +250147,7 @@ "constraints": [] } }, - "id": 2253, + "id": 2251, "path": "EncodeWide" } } @@ -231689,18 +250158,18 @@ "name": "encode_wide", "span": { "begin": [ - 132, + 133, 5 ], "end": [ - 134, + 135, 6 ], "filename": "std/src/os/windows/ffi.rs" }, "visibility": "default" }, - "2253": { + "2251": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -231708,8 +250177,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Generates a wide character sequence for potentially ill-formed UTF-16.", - "id": 2253, + "docs": "Iterator returned by [`OsStrExt::encode_wide`].", + "id": 2251, "inner": { "struct": { "generics": { @@ -231726,25 +250195,26 @@ "where_predicates": [] }, "impls": [ - 9006, - 9007, - 9008, - 9009, - 9010, - 9011, - 9012, - 9013, - 9014, - 9015, - 9016, - 9017, - 9018, - 9019, - 9020, - 9021, - 9023, - 9027, - 9028 + 5628, + 5629, + 5630, + 5631, + 5632, + 5633, + 5634, + 5635, + 5636, + 5637, + 5638, + 5639, + 5640, + 5641, + 5642, + 5643, + 5645, + 5647, + 5651, + 5652 ], "kind": { "plain": { @@ -231754,22 +250224,24 @@ } } }, - "links": {}, + "links": { + "`OsStrExt::encode_wide`": 2401 + }, "name": "EncodeWide", "span": { "begin": [ - 1010, + 141, 1 ], "end": [ - 1013, + 143, 2 ], - "filename": "std/src/sys_common/wtf8.rs" + "filename": "std/src/os/windows/ffi.rs" }, "visibility": "public" }, - "2254": { + "2252": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -231781,14 +250253,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2254, + "id": 2252, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -231800,12 +250272,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2252 + 2250 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2255, + "id": 2253, "path": "OsStrExt" } } @@ -231814,18 +250286,18 @@ "name": null, "span": { "begin": [ - 130, + 131, 1 ], "end": [ - 135, + 136, 2 ], "filename": "std/src/os/windows/ffi.rs" }, "visibility": "default" }, - "2255": { + "2253": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -231834,7 +250306,7 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to [`OsStr`].\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 2255, + "id": 2253, "inner": { "trait": { "bounds": [ @@ -231844,7 +250316,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -231855,34 +250327,34 @@ "where_predicates": [] }, "implementations": [ - 2254 + 2252 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 2403 + 2401 ] } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "OsStrExt", "span": { "begin": [ - 103, + 104, 1 ], "end": [ - 127, + 128, 2 ], "filename": "std/src/os/windows/ffi.rs" }, "visibility": "public" }, - "2256": { + "2254": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -231891,7 +250363,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2256, + "id": 2254, "inner": { "function": { "generics": { @@ -231928,7 +250400,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -231952,7 +250424,7 @@ }, "visibility": "default" }, - "2257": { + "2255": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -231961,7 +250433,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2257, + "id": 2255, "inner": { "impl": { "blanket_impl": null, @@ -231977,7 +250449,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -231989,7 +250461,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2256 + 2254 ], "provided_trait_methods": [], "trait": { @@ -232000,7 +250472,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -232029,7 +250501,7 @@ }, "visibility": "default" }, - "2258": { + "2256": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -232038,7 +250510,7 @@ "crate_id": 0, "deprecation": null, "docs": "A single component of a path.\n\nA `Component` roughly corresponds to a substring between path separators\n(`/` or `\\`).\n\nThis `enum` is created by iterating over [`Components`], which in turn is\ncreated by the [`components`](Path::components) method on [`Path`].\n\n# Examples\n\n```rust\nuse std::path::{Component, Path};\n\nlet path = Path::new(\"/tmp/foo/bar.txt\");\nlet components = path.components().collect::>();\nassert_eq!(&components, &[\n Component::RootDir,\n Component::Normal(\"tmp\".as_ref()),\n Component::Normal(\"foo\".as_ref()),\n Component::Normal(\"bar.txt\".as_ref()),\n]);\n```", - "id": 2258, + "id": 2256, "inner": { "enum": { "generics": { @@ -232056,47 +250528,47 @@ }, "has_stripped_variants": false, "impls": [ - 6372, - 6373, - 6374, - 6375, - 6376, - 6377, - 6378, - 6379, - 6380, - 6381, - 6382, - 6383, - 6384, - 6385, - 6386, - 6387, - 6388, - 6390, - 6391, - 6393, - 6394, - 6396, - 6398, - 6400, - 6402, - 2257, - 6404 + 6405, + 6406, + 6407, + 6408, + 6409, + 6410, + 6411, + 6412, + 6413, + 6414, + 6415, + 6416, + 6417, + 6418, + 6419, + 6420, + 6421, + 6423, + 6424, + 6426, + 6427, + 6429, + 6431, + 6433, + 6435, + 2255, + 6437 ], "variants": [ - 6332, 6365, - 6366, - 6367, - 6369 + 6398, + 6399, + 6400, + 6402 ] } }, "links": { - "Path::components": 6370, - "`Components`": 2261, - "`Path`": 1667 + "Path::components": 6403, + "`Components`": 2259, + "`Path`": 1666 }, "name": "Component", "span": { @@ -232112,7 +250584,7 @@ }, "visibility": "public" }, - "2259": { + "2257": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -232121,7 +250593,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2259, + "id": 2257, "inner": { "function": { "generics": { @@ -232158,7 +250630,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -232182,7 +250654,7 @@ }, "visibility": "default" }, - "2260": { + "2258": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -232191,7 +250663,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2260, + "id": 2258, "inner": { "impl": { "blanket_impl": null, @@ -232207,7 +250679,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -232219,7 +250691,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2259 + 2257 ], "provided_trait_methods": [], "trait": { @@ -232230,7 +250702,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -232259,7 +250731,7 @@ }, "visibility": "default" }, - "2261": { + "2259": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -232273,7 +250745,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over the [`Component`]s of a [`Path`].\n\nThis `struct` is created by the [`components`] method on [`Path`].\nSee its documentation for more.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"/tmp/foo/bar.txt\");\n\nfor component in path.components() {\n println!(\"{component:?}\");\n}\n```\n\n[`components`]: Path::components", - "id": 2261, + "id": 2259, "inner": { "struct": { "generics": { @@ -232290,34 +250762,34 @@ "where_predicates": [] }, "impls": [ - 6411, - 6412, - 6413, - 6414, - 6415, - 6416, - 6417, - 6418, - 6419, - 6420, - 6421, - 6422, - 6423, - 6424, - 6425, - 6426, - 6427, - 6429, - 6431, - 6433, - 2260, - 6436, - 6438, - 6439, - 6441, - 6442, 6444, - 6446 + 6445, + 6446, + 6447, + 6448, + 6449, + 6450, + 6451, + 6452, + 6453, + 6454, + 6455, + 6456, + 6457, + 6458, + 6459, + 6460, + 6462, + 6464, + 6466, + 2258, + 6469, + 6471, + 6472, + 6474, + 6475, + 6477, + 6479 ], "kind": { "plain": { @@ -232328,9 +250800,9 @@ } }, "links": { - "Path::components": 6370, - "`Component`": 2258, - "`Path`": 1667 + "Path::components": 6403, + "`Component`": 2256, + "`Path`": 1666 }, "name": "Components", "span": { @@ -232346,7 +250818,7 @@ }, "visibility": "public" }, - "2262": { + "2260": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -232355,7 +250827,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2262, + "id": 2260, "inner": { "function": { "generics": { @@ -232392,7 +250864,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -232416,7 +250888,7 @@ }, "visibility": "default" }, - "2263": { + "2261": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -232425,7 +250897,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2263, + "id": 2261, "inner": { "impl": { "blanket_impl": null, @@ -232441,7 +250913,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -232453,7 +250925,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2262 + 2260 ], "provided_trait_methods": [], "trait": { @@ -232464,7 +250936,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -232493,7 +250965,7 @@ }, "visibility": "default" }, - "2264": { + "2262": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -232507,7 +250979,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over the [`Component`]s of a [`Path`], as [`OsStr`] slices.\n\nThis `struct` is created by the [`iter`] method on [`Path`].\nSee its documentation for more.\n\n[`iter`]: Path::iter", - "id": 2264, + "id": 2262, "inner": { "struct": { "generics": { @@ -232524,30 +250996,30 @@ "where_predicates": [] }, "impls": [ - 6450, - 6451, - 6452, - 6453, - 6454, - 6455, - 6456, - 6457, - 6458, - 6459, - 6460, - 6461, - 6462, - 6463, - 6464, - 6465, - 6466, - 6468, - 6470, - 6472, - 2263, - 6475, - 6477, - 6478 + 6483, + 6484, + 6485, + 6486, + 6487, + 6488, + 6489, + 6490, + 6491, + 6492, + 6493, + 6494, + 6495, + 6496, + 6497, + 6498, + 6499, + 6501, + 6503, + 6505, + 2261, + 6508, + 6510, + 6511 ], "kind": { "plain": { @@ -232558,10 +251030,10 @@ } }, "links": { - "Path::iter": 6448, - "`Component`": 2258, - "`OsStr`": 1720, - "`Path`": 1667 + "Path::iter": 6481, + "`Component`": 2256, + "`OsStr`": 1719, + "`Path`": 1666 }, "name": "Iter", "span": { @@ -232577,7 +251049,7 @@ }, "visibility": "public" }, - "2265": { + "2263": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -232586,7 +251058,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2265, + "id": 2263, "inner": { "function": { "generics": { @@ -232623,7 +251095,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -232636,18 +251108,18 @@ "name": "as_ref", "span": { "begin": [ - 2169, + 2260, 5 ], "end": [ - 2171, + 2262, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2266": { + "2264": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -232656,14 +251128,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2266, + "id": 2264, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -232675,7 +251147,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2265 + 2263 ], "provided_trait_methods": [], "trait": { @@ -232686,7 +251158,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -232704,18 +251176,18 @@ "name": null, "span": { "begin": [ - 2167, + 2258, 1 ], "end": [ - 2172, + 2263, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2267": { + "2265": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -232724,7 +251196,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2267, + "id": 2265, "inner": { "function": { "generics": { @@ -232761,7 +251233,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -232774,19 +251246,22 @@ "name": "as_ref", "span": { "begin": [ - 3342, + 3530, 5 ], "end": [ - 3344, + 3532, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2268": { + "2266": { "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143773, is_soft: false}, feature: \"const_convert\", promotable: false}}]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } @@ -232794,14 +251269,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2268, + "id": 2266, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -232813,7 +251288,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2267 + 2265 ], "provided_trait_methods": [], "trait": { @@ -232824,7 +251299,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -232842,18 +251317,18 @@ "name": null, "span": { "begin": [ - 3340, + 3528, 1 ], "end": [ - 3345, + 3533, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2269": { + "2267": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -232862,7 +251337,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2269, + "id": 2267, "inner": { "function": { "generics": { @@ -232899,7 +251374,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -232912,19 +251387,22 @@ "name": "as_ref", "span": { "begin": [ - 3520, + 3710, 5 ], "end": [ - 3522, + 3712, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2270": { + "2268": { "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143773, is_soft: false}, feature: \"const_convert\", promotable: false}}]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } @@ -232932,14 +251410,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2270, + "id": 2268, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -232951,7 +251429,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2269 + 2267 ], "provided_trait_methods": [], "trait": { @@ -232962,7 +251440,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -232980,18 +251458,18 @@ "name": null, "span": { "begin": [ - 3518, + 3708, 1 ], "end": [ - 3523, + 3713, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2271": { + "2269": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -233000,7 +251478,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2271, + "id": 2269, "inner": { "function": { "generics": { @@ -233037,7 +251515,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -233056,18 +251534,51 @@ "name": "eq", "span": { "begin": [ - 3663, + 3853, 1 ], "end": [ - 3663, + 3853, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2272": { + "227": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 227, + "inner": { + "use": { + "id": 228, + "is_glob": false, + "name": "consts", + "source": "core::f128::consts" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 11, + 1 + ], + "end": [ + 11, + 28 + ], + "filename": "std/src/num/f128.rs" + }, + "visibility": "public" + }, + "2270": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -233076,14 +251587,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2272, + "id": 2270, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -233095,7 +251606,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2271 + 2269 ], "provided_trait_methods": [ "ne" @@ -233108,7 +251619,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -233117,7 +251628,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -233126,18 +251637,18 @@ "name": null, "span": { "begin": [ - 3663, + 3853, 1 ], "end": [ - 3663, + 3853, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2273": { + "2271": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -233146,7 +251657,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2273, + "id": 2271, "inner": { "function": { "generics": { @@ -233183,7 +251694,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -233202,18 +251713,18 @@ "name": "eq", "span": { "begin": [ - 3663, + 3853, 1 ], "end": [ - 3663, + 3853, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2274": { + "2272": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -233222,14 +251733,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2274, + "id": 2272, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -233241,7 +251752,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2273 + 2271 ], "provided_trait_methods": [ "ne" @@ -233254,7 +251765,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -233263,7 +251774,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -233272,18 +251783,18 @@ "name": null, "span": { "begin": [ - 3663, + 3853, 1 ], "end": [ - 3663, + 3853, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2275": { + "2273": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -233292,7 +251803,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2275, + "id": 2273, "inner": { "function": { "generics": { @@ -233329,7 +251840,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -233347,7 +251858,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -233367,18 +251878,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3663, + 3853, 1 ], "end": [ - 3663, + 3853, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2276": { + "2274": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -233387,14 +251898,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2276, + "id": 2274, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -233406,7 +251917,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2275 + 2273 ], "provided_trait_methods": [ "lt", @@ -233426,7 +251937,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -233435,7 +251946,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -233444,18 +251955,18 @@ "name": null, "span": { "begin": [ - 3663, + 3853, 1 ], "end": [ - 3663, + 3853, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2277": { + "2275": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -233464,7 +251975,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2277, + "id": 2275, "inner": { "function": { "generics": { @@ -233501,7 +252012,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -233519,7 +252030,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -233539,18 +252050,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3663, + 3853, 1 ], "end": [ - 3663, + 3853, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2278": { + "2276": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -233559,14 +252070,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2278, + "id": 2276, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -233578,7 +252089,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2277 + 2275 ], "provided_trait_methods": [ "lt", @@ -233598,7 +252109,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -233607,7 +252118,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -233616,18 +252127,18 @@ "name": null, "span": { "begin": [ - 3663, + 3853, 1 ], "end": [ - 3663, + 3853, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2279": { + "2277": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -233636,7 +252147,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2279, + "id": 2277, "inner": { "function": { "generics": { @@ -233677,7 +252188,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -233698,18 +252209,18 @@ "name": "eq", "span": { "begin": [ - 3664, + 3854, 1 ], "end": [ - 3664, + 3854, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2280": { + "2278": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -233718,14 +252229,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2280, + "id": 2278, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -233746,7 +252257,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2279 + 2277 ], "provided_trait_methods": [ "ne" @@ -233763,7 +252274,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -233774,7 +252285,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -233783,18 +252294,18 @@ "name": null, "span": { "begin": [ - 3664, + 3854, 1 ], "end": [ - 3664, + 3854, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2281": { + "2279": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -233803,7 +252314,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2281, + "id": 2279, "inner": { "function": { "generics": { @@ -233840,7 +252351,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -233859,18 +252370,18 @@ "name": "eq", "span": { "begin": [ - 3664, + 3854, 1 ], "end": [ - 3664, + 3854, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2282": { + "2280": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -233879,7 +252390,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2282, + "id": 2280, "inner": { "impl": { "blanket_impl": null, @@ -233890,7 +252401,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -233913,7 +252424,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2281 + 2279 ], "provided_trait_methods": [ "ne" @@ -233926,7 +252437,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -233935,7 +252446,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -233944,18 +252455,18 @@ "name": null, "span": { "begin": [ - 3664, + 3854, 1 ], "end": [ - 3664, + 3854, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2283": { + "2281": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -233964,7 +252475,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2283, + "id": 2281, "inner": { "function": { "generics": { @@ -234005,7 +252516,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -234025,7 +252536,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -234045,18 +252556,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3664, + 3854, 1 ], "end": [ - 3664, + 3854, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2284": { + "2282": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -234065,14 +252576,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2284, + "id": 2282, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -234093,7 +252604,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2283 + 2281 ], "provided_trait_methods": [ "lt", @@ -234117,7 +252628,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -234128,7 +252639,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -234137,18 +252648,18 @@ "name": null, "span": { "begin": [ - 3664, + 3854, 1 ], "end": [ - 3664, + 3854, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2285": { + "2283": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -234157,7 +252668,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2285, + "id": 2283, "inner": { "function": { "generics": { @@ -234194,7 +252705,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -234212,7 +252723,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -234232,18 +252743,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3664, + 3854, 1 ], "end": [ - 3664, + 3854, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2286": { + "2284": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -234252,7 +252763,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2286, + "id": 2284, "inner": { "impl": { "blanket_impl": null, @@ -234263,7 +252774,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -234286,7 +252797,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2285 + 2283 ], "provided_trait_methods": [ "lt", @@ -234306,7 +252817,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -234315,7 +252826,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -234324,18 +252835,18 @@ "name": null, "span": { "begin": [ - 3664, + 3854, 1 ], "end": [ - 3664, + 3854, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2287": { + "2285": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -234344,7 +252855,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2287, + "id": 2285, "inner": { "function": { "generics": { @@ -234381,7 +252892,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -234400,18 +252911,18 @@ "name": "eq", "span": { "begin": [ - 3667, + 3857, 1 ], "end": [ - 3667, + 3857, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2288": { + "2286": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -234420,14 +252931,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2288, + "id": 2286, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -234439,7 +252950,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2287 + 2285 ], "provided_trait_methods": [ "ne" @@ -234452,7 +252963,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -234461,7 +252972,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -234470,18 +252981,18 @@ "name": null, "span": { "begin": [ - 3667, + 3857, 1 ], "end": [ - 3667, + 3857, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2289": { + "2287": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -234490,7 +253001,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2289, + "id": 2287, "inner": { "function": { "generics": { @@ -234527,7 +253038,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -234546,51 +253057,18 @@ "name": "eq", "span": { "begin": [ - 3667, + 3857, 1 ], "end": [ - 3667, + 3857, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "229": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 229, - "inner": { - "use": { - "id": 230, - "is_glob": false, - "name": "consts", - "source": "core::f128::consts" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 11, - 1 - ], - "end": [ - 11, - 28 - ], - "filename": "std/src/num/f128.rs" - }, - "visibility": "public" - }, - "2290": { + "2288": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -234599,14 +253077,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2290, + "id": 2288, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -234618,7 +253096,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2289 + 2287 ], "provided_trait_methods": [ "ne" @@ -234631,7 +253109,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -234640,7 +253118,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -234649,18 +253127,18 @@ "name": null, "span": { "begin": [ - 3667, + 3857, 1 ], "end": [ - 3667, + 3857, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2291": { + "2289": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -234669,7 +253147,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2291, + "id": 2289, "inner": { "function": { "generics": { @@ -234706,7 +253184,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -234724,7 +253202,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -234744,18 +253222,79 @@ "name": "partial_cmp", "span": { "begin": [ - 3667, + 3857, 1 ], "end": [ - 3667, + 3857, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2292": { + "229": { + "attrs": [ + { + "other": "#[rustc_doc_primitive = \"f128\"]" + }, + { + "other": "#[doc(alias = \"quad\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A 128-bit floating-point type (specifically, the \"binary128\" type defined in IEEE 754-2008).\n\nThis type is very similar to [`prim@f32`] and [`prim@f64`], but has increased precision by using twice\nas many bits as `f64`. Please see [the documentation for `f32`](prim@f32) or [Wikipedia on\nquad-precision values][wikipedia] for more information.\n\nNote that no platforms have hardware support for `f128` without enabling target specific features,\nas for all instruction set architectures `f128` is considered an optional feature. Only Power ISA\n(\"PowerPC\") and RISC-V (via the Q extension) specify it, and only certain microarchitectures\nactually implement it. For x86-64 and AArch64, ISA support is not even specified, so it will always\nbe a software implementation significantly slower than `f64`.\n\n_Note: `f128` support is incomplete. Many platforms will not be able to link math functions. On\nx86 in particular, these functions do link but their results are always incorrect._\n\n*[See also the `std::f128::consts` module](crate::f128::consts).*\n\n[wikipedia]: https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format", + "id": 229, + "inner": { + "primitive": { + "impls": [ + 10162, + 10214, + 10226, + 10227, + 10228, + 10229, + 10230, + 10231, + 10232, + 10233, + 10234, + 10235, + 10236, + 10237, + 10238, + 10239, + 10240, + 10241 + ], + "name": "f128" + } + }, + "links": { + "`prim@f32`": 265, + "`prim@f64`": 297, + "crate::f128::consts": 228, + "prim@f32": 265 + }, + "name": "f128", + "span": { + "begin": [ + 1404, + 1 + ], + "end": [ + 1404, + 17 + ], + "filename": "std/src/../../core/src/primitive_docs.rs" + }, + "visibility": "public" + }, + "2290": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -234764,14 +253303,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2292, + "id": 2290, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -234783,7 +253322,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2291 + 2289 ], "provided_trait_methods": [ "lt", @@ -234803,7 +253342,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -234812,7 +253351,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -234821,18 +253360,18 @@ "name": null, "span": { "begin": [ - 3667, + 3857, 1 ], "end": [ - 3667, + 3857, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2293": { + "2291": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -234841,7 +253380,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2293, + "id": 2291, "inner": { "function": { "generics": { @@ -234878,7 +253417,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -234896,7 +253435,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -234916,18 +253455,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3667, + 3857, 1 ], "end": [ - 3667, + 3857, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2294": { + "2292": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -234936,14 +253475,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2294, + "id": 2292, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -234955,7 +253494,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2293 + 2291 ], "provided_trait_methods": [ "lt", @@ -234975,7 +253514,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -234984,7 +253523,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -234993,18 +253532,18 @@ "name": null, "span": { "begin": [ - 3667, + 3857, 1 ], "end": [ - 3667, + 3857, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2295": { + "2293": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -235013,7 +253552,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2295, + "id": 2293, "inner": { "function": { "generics": { @@ -235054,7 +253593,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -235075,18 +253614,18 @@ "name": "eq", "span": { "begin": [ - 3668, + 3858, 1 ], "end": [ - 3668, + 3858, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2296": { + "2294": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -235095,14 +253634,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2296, + "id": 2294, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -235123,7 +253662,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2295 + 2293 ], "provided_trait_methods": [ "ne" @@ -235140,7 +253679,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -235151,7 +253690,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -235160,18 +253699,18 @@ "name": null, "span": { "begin": [ - 3668, + 3858, 1 ], "end": [ - 3668, + 3858, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2297": { + "2295": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -235180,7 +253719,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2297, + "id": 2295, "inner": { "function": { "generics": { @@ -235217,7 +253756,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -235236,18 +253775,18 @@ "name": "eq", "span": { "begin": [ - 3668, + 3858, 1 ], "end": [ - 3668, + 3858, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2298": { + "2296": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -235256,7 +253795,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2298, + "id": 2296, "inner": { "impl": { "blanket_impl": null, @@ -235267,7 +253806,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -235290,7 +253829,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2297 + 2295 ], "provided_trait_methods": [ "ne" @@ -235303,7 +253842,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -235312,7 +253851,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -235321,18 +253860,18 @@ "name": null, "span": { "begin": [ - 3668, + 3858, 1 ], "end": [ - 3668, + 3858, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2299": { + "2297": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -235341,7 +253880,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2299, + "id": 2297, "inner": { "function": { "generics": { @@ -235382,7 +253921,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -235402,7 +253941,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -235422,18 +253961,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3668, + 3858, 1 ], "end": [ - 3668, + 3858, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2300": { + "2298": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -235442,14 +253981,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2300, + "id": 2298, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -235470,7 +254009,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2299 + 2297 ], "provided_trait_methods": [ "lt", @@ -235494,7 +254033,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -235505,7 +254044,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -235514,18 +254053,18 @@ "name": null, "span": { "begin": [ - 3668, + 3858, 1 ], "end": [ - 3668, + 3858, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2301": { + "2299": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -235534,7 +254073,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2301, + "id": 2299, "inner": { "function": { "generics": { @@ -235571,7 +254110,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -235589,7 +254128,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -235609,18 +254148,60 @@ "name": "partial_cmp", "span": { "begin": [ - 3668, + 3858, 1 ], "end": [ - 3668, + 3858, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2302": { + "230": { + "attrs": [ + { + "other": "#[doc(test(attr(feature(cfg_target_has_reliable_f16_f128),\nexpect(internal_features))))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + }, + { + "other": "#[attr = Path(\"num/f128.rs\")]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Constants for the `f128` quadruple-precision floating point type.\n\n*[See also the `f128` primitive type](primitive@f128).*\n\nMathematically significant numbers are provided in the `consts` sub-module.", + "id": 230, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 227 + ] + } + }, + "links": { + "primitive@f128": 229 + }, + "name": "f128", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 1079, + 2 + ], + "filename": "std/src/num/f128.rs" + }, + "visibility": "public" + }, + "2300": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -235629,7 +254210,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2302, + "id": 2300, "inner": { "impl": { "blanket_impl": null, @@ -235640,7 +254221,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -235663,7 +254244,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2301 + 2299 ], "provided_trait_methods": [ "lt", @@ -235683,7 +254264,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -235692,7 +254273,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -235701,18 +254282,18 @@ "name": null, "span": { "begin": [ - 3668, + 3858, 1 ], "end": [ - 3668, + 3858, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2303": { + "2301": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -235721,7 +254302,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2303, + "id": 2301, "inner": { "function": { "generics": { @@ -235758,7 +254339,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -235777,18 +254358,18 @@ "name": "eq", "span": { "begin": [ - 3671, + 3861, 1 ], "end": [ - 3671, + 3861, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2304": { + "2302": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -235797,7 +254378,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2304, + "id": 2302, "inner": { "impl": { "blanket_impl": null, @@ -235808,7 +254389,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -235831,7 +254412,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2303 + 2301 ], "provided_trait_methods": [ "ne" @@ -235844,7 +254425,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -235853,7 +254434,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -235862,18 +254443,18 @@ "name": null, "span": { "begin": [ - 3671, + 3861, 1 ], "end": [ - 3671, + 3861, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2305": { + "2303": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -235882,7 +254463,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2305, + "id": 2303, "inner": { "function": { "generics": { @@ -235923,7 +254504,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -235944,18 +254525,18 @@ "name": "eq", "span": { "begin": [ - 3671, + 3861, 1 ], "end": [ - 3671, + 3861, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2306": { + "2304": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -235964,14 +254545,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2306, + "id": 2304, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -235992,7 +254573,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2305 + 2303 ], "provided_trait_methods": [ "ne" @@ -236009,7 +254590,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -236020,7 +254601,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -236029,18 +254610,18 @@ "name": null, "span": { "begin": [ - 3671, + 3861, 1 ], "end": [ - 3671, + 3861, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2307": { + "2305": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -236049,7 +254630,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2307, + "id": 2305, "inner": { "function": { "generics": { @@ -236086,7 +254667,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -236104,7 +254685,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -236124,18 +254705,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3671, + 3861, 1 ], "end": [ - 3671, + 3861, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2308": { + "2306": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -236144,7 +254725,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2308, + "id": 2306, "inner": { "impl": { "blanket_impl": null, @@ -236155,7 +254736,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -236178,7 +254759,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2307 + 2305 ], "provided_trait_methods": [ "lt", @@ -236198,7 +254779,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -236207,7 +254788,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -236216,18 +254797,18 @@ "name": null, "span": { "begin": [ - 3671, + 3861, 1 ], "end": [ - 3671, + 3861, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2309": { + "2307": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -236236,7 +254817,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2309, + "id": 2307, "inner": { "function": { "generics": { @@ -236277,7 +254858,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -236297,7 +254878,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -236317,79 +254898,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3671, + 3861, 1 ], "end": [ - 3671, + 3861, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "231": { - "attrs": [ - { - "other": "#[rustc_doc_primitive = \"f128\"]" - }, - { - "other": "#[doc(alias = \"quad\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A 128-bit floating-point type (specifically, the \"binary128\" type defined in IEEE 754-2008).\n\nThis type is very similar to [`prim@f32`] and [`prim@f64`], but has increased precision by using twice\nas many bits as `f64`. Please see [the documentation for `f32`](prim@f32) or [Wikipedia on\nquad-precision values][wikipedia] for more information.\n\nNote that no platforms have hardware support for `f128` without enabling target specific features,\nas for all instruction set architectures `f128` is considered an optional feature. Only Power ISA\n(\"PowerPC\") and RISC-V (via the Q extension) specify it, and only certain microarchitectures\nactually implement it. For x86-64 and AArch64, ISA support is not even specified, so it will always\nbe a software implementation significantly slower than `f64`.\n\n_Note: `f128` support is incomplete. Many platforms will not be able to link math functions. On\nx86 in particular, these functions do link but their results are always incorrect._\n\n*[See also the `std::f128::consts` module](crate::f128::consts).*\n\n[wikipedia]: https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format", - "id": 231, - "inner": { - "primitive": { - "impls": [ - 9941, - 9993, - 10005, - 10006, - 10007, - 10008, - 10009, - 10010, - 10011, - 10012, - 10013, - 10014, - 10015, - 10016, - 10017, - 10018, - 10019, - 10020 - ], - "name": "f128" - } - }, - "links": { - "`prim@f32`": 267, - "`prim@f64`": 299, - "crate::f128::consts": 230, - "prim@f32": 267 - }, - "name": "f128", - "span": { - "begin": [ - 1404, - 1 - ], - "end": [ - 1404, - 17 - ], - "filename": "std/src/../../core/src/primitive_docs.rs" - }, - "visibility": "public" - }, - "2310": { + "2308": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -236398,14 +254918,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2310, + "id": 2308, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -236426,7 +254946,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2309 + 2307 ], "provided_trait_methods": [ "lt", @@ -236450,7 +254970,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -236461,7 +254981,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -236470,18 +254990,18 @@ "name": null, "span": { "begin": [ - 3671, + 3861, 1 ], "end": [ - 3671, + 3861, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2311": { + "2309": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -236490,7 +255010,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2311, + "id": 2309, "inner": { "function": { "generics": { @@ -236527,7 +255047,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -236546,18 +255066,51 @@ "name": "eq", "span": { "begin": [ - 3674, + 3864, 1 ], "end": [ - 3674, + 3864, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2312": { + "231": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 231, + "inner": { + "use": { + "id": 232, + "is_glob": false, + "name": "consts", + "source": "core::f16::consts" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 11, + 1 + ], + "end": [ + 11, + 27 + ], + "filename": "std/src/num/f16.rs" + }, + "visibility": "public" + }, + "2310": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -236566,7 +255119,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2312, + "id": 2310, "inner": { "impl": { "blanket_impl": null, @@ -236582,7 +255135,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -236591,7 +255144,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -236612,7 +255165,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2311 + 2309 ], "provided_trait_methods": [ "ne" @@ -236625,7 +255178,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -236634,7 +255187,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -236643,18 +255196,18 @@ "name": null, "span": { "begin": [ - 3674, + 3864, 1 ], "end": [ - 3674, + 3864, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2313": { + "2311": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -236663,7 +255216,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2313, + "id": 2311, "inner": { "function": { "generics": { @@ -236709,7 +255262,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -236718,7 +255271,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -236737,18 +255290,18 @@ "name": "eq", "span": { "begin": [ - 3674, + 3864, 1 ], "end": [ - 3674, + 3864, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2314": { + "2312": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -236757,14 +255310,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2314, + "id": 2312, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -236785,7 +255338,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2313 + 2311 ], "provided_trait_methods": [ "ne" @@ -236807,7 +255360,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -236816,7 +255369,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -236825,7 +255378,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -236834,18 +255387,18 @@ "name": null, "span": { "begin": [ - 3674, + 3864, 1 ], "end": [ - 3674, + 3864, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2315": { + "2313": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -236854,7 +255407,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2315, + "id": 2313, "inner": { "function": { "generics": { @@ -236891,7 +255444,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -236909,7 +255462,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -236929,18 +255482,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3674, + 3864, 1 ], "end": [ - 3674, + 3864, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2316": { + "2314": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -236949,7 +255502,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2316, + "id": 2314, "inner": { "impl": { "blanket_impl": null, @@ -236965,7 +255518,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -236974,7 +255527,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -236995,7 +255548,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2315 + 2313 ], "provided_trait_methods": [ "lt", @@ -237015,7 +255568,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -237024,7 +255577,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -237033,18 +255586,18 @@ "name": null, "span": { "begin": [ - 3674, + 3864, 1 ], "end": [ - 3674, + 3864, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2317": { + "2315": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -237053,7 +255606,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2317, + "id": 2315, "inner": { "function": { "generics": { @@ -237099,7 +255652,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -237108,7 +255661,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -237126,7 +255679,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -237146,18 +255699,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3674, + 3864, 1 ], "end": [ - 3674, + 3864, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2318": { + "2316": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -237166,14 +255719,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2318, + "id": 2316, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } }, @@ -237194,7 +255747,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2317 + 2315 ], "provided_trait_methods": [ "lt", @@ -237223,7 +255776,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -237232,7 +255785,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -237241,7 +255794,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -237250,18 +255803,18 @@ "name": null, "span": { "begin": [ - 3674, + 3864, 1 ], "end": [ - 3674, + 3864, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2319": { + "2317": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -237270,7 +255823,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2319, + "id": 2317, "inner": { "function": { "generics": { @@ -237311,7 +255864,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -237332,60 +255885,18 @@ "name": "eq", "span": { "begin": [ - 3675, + 3865, 1 ], "end": [ - 3675, + 3865, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "232": { - "attrs": [ - { - "other": "#[doc(test(attr(feature(cfg_target_has_reliable_f16_f128),\nexpect(internal_features))))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - }, - { - "other": "#[attr = Path(\"num/f128.rs\")]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Constants for the `f128` quadruple-precision floating point type.\n\n*[See also the `f128` primitive type](primitive@f128).*\n\nMathematically significant numbers are provided in the `consts` sub-module.", - "id": 232, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 229 - ] - } - }, - "links": { - "primitive@f128": 231 - }, - "name": "f128", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 1077, - 2 - ], - "filename": "std/src/num/f128.rs" - }, - "visibility": "public" - }, - "2320": { + "2318": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -237394,7 +255905,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2320, + "id": 2318, "inner": { "impl": { "blanket_impl": null, @@ -237410,7 +255921,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -237419,7 +255930,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -237448,7 +255959,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2319 + 2317 ], "provided_trait_methods": [ "ne" @@ -237465,7 +255976,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -237476,7 +255987,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -237485,18 +255996,18 @@ "name": null, "span": { "begin": [ - 3675, + 3865, 1 ], "end": [ - 3675, + 3865, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2321": { + "2319": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -237505,7 +256016,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2321, + "id": 2319, "inner": { "function": { "generics": { @@ -237551,7 +256062,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -237560,7 +256071,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -237579,18 +256090,18 @@ "name": "eq", "span": { "begin": [ - 3675, + 3865, 1 ], "end": [ - 3675, + 3865, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2322": { + "2320": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -237599,7 +256110,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2322, + "id": 2320, "inner": { "impl": { "blanket_impl": null, @@ -237610,7 +256121,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -237641,7 +256152,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2321 + 2319 ], "provided_trait_methods": [ "ne" @@ -237663,7 +256174,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -237672,7 +256183,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -237681,7 +256192,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -237690,18 +256201,18 @@ "name": null, "span": { "begin": [ - 3675, + 3865, 1 ], "end": [ - 3675, + 3865, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2323": { + "2321": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -237710,7 +256221,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2323, + "id": 2321, "inner": { "function": { "generics": { @@ -237751,7 +256262,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -237771,7 +256282,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -237791,18 +256302,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3675, + 3865, 1 ], "end": [ - 3675, + 3865, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2324": { + "2322": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -237811,7 +256322,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2324, + "id": 2322, "inner": { "impl": { "blanket_impl": null, @@ -237827,7 +256338,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -237836,7 +256347,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -237865,7 +256376,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2323 + 2321 ], "provided_trait_methods": [ "lt", @@ -237889,7 +256400,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -237900,7 +256411,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -237909,18 +256420,18 @@ "name": null, "span": { "begin": [ - 3675, + 3865, 1 ], "end": [ - 3675, + 3865, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2325": { + "2323": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -237929,7 +256440,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2325, + "id": 2323, "inner": { "function": { "generics": { @@ -237975,7 +256486,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -237984,7 +256495,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -238002,7 +256513,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -238022,18 +256533,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3675, + 3865, 1 ], "end": [ - 3675, + 3865, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2326": { + "2324": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -238042,7 +256553,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2326, + "id": 2324, "inner": { "impl": { "blanket_impl": null, @@ -238053,7 +256564,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -238084,7 +256595,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2325 + 2323 ], "provided_trait_methods": [ "lt", @@ -238113,7 +256624,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -238122,7 +256633,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -238131,7 +256642,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -238140,23 +256651,23 @@ "name": null, "span": { "begin": [ - 3675, + 3865, 1 ], "end": [ - 3675, + 3865, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "2329": { + "2327": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2329, + "id": 2327, "inner": { "impl": { "blanket_impl": null, @@ -238172,7 +256683,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -238206,45 +256717,12 @@ "span": null, "visibility": "default" }, - "233": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 233, - "inner": { - "use": { - "id": 234, - "is_glob": false, - "name": "consts", - "source": "core::f16::consts" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 11, - 1 - ], - "end": [ - 11, - 27 - ], - "filename": "std/src/num/f16.rs" - }, - "visibility": "public" - }, - "2330": { + "2328": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2330, + "id": 2328, "inner": { "impl": { "blanket_impl": null, @@ -238260,7 +256738,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -238294,12 +256772,12 @@ "span": null, "visibility": "default" }, - "2331": { + "2329": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2331, + "id": 2329, "inner": { "impl": { "blanket_impl": null, @@ -238315,7 +256793,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -238339,7 +256817,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -238349,12 +256827,73 @@ "span": null, "visibility": "default" }, - "2332": { + "233": { + "attrs": [ + { + "other": "#[rustc_doc_primitive = \"f16\"]" + }, + { + "other": "#[doc(alias = \"half\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A 16-bit floating-point type (specifically, the \"binary16\" type defined in IEEE 754-2008).\n\nThis type is very similar to [`prim@f32`] but has decreased precision because it uses half as many\nbits. Please see [the documentation for `f32`](prim@f32) or [Wikipedia on half-precision\nvalues][wikipedia] for more information.\n\nNote that most common platforms will not support `f16` in hardware without enabling extra target\nfeatures, with the notable exception of Apple Silicon (also known as M1, M2, etc.) processors.\nHardware support on x86/x86-64 requires the avx512fp16 or avx10.1 features, while RISC-V requires\nZfh, and Arm/AArch64 requires FEAT_FP16. Usually the fallback implementation will be to use `f32`\nhardware if it exists, and convert between `f16` and `f32` when performing math.\n\n*[See also the `std::f16::consts` module](crate::f16::consts).*\n\n[wikipedia]: https://en.wikipedia.org/wiki/Half-precision_floating-point_format", + "id": 233, + "inner": { + "primitive": { + "impls": [ + 9832, + 9885, + 9898, + 9899, + 9900, + 9901, + 9902, + 9903, + 9904, + 9905, + 9906, + 9907, + 9908, + 9909, + 9910, + 9911, + 9912, + 9913, + 9914 + ], + "name": "f16" + } + }, + "links": { + "`prim@f32`": 265, + "crate::f16::consts": 232, + "prim@f32": 265 + }, + "name": "f16", + "span": { + "begin": [ + 1170, + 1 + ], + "end": [ + 1170, + 16 + ], + "filename": "std/src/../../core/src/primitive_docs.rs" + }, + "visibility": "public" + }, + "2330": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2332, + "id": 2330, "inner": { "impl": { "blanket_impl": null, @@ -238370,7 +256909,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -238404,12 +256943,12 @@ "span": null, "visibility": "default" }, - "2333": { + "2331": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2333, + "id": 2331, "inner": { "impl": { "blanket_impl": null, @@ -238425,7 +256964,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -238449,7 +256988,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -238459,12 +256998,12 @@ "span": null, "visibility": "default" }, - "2334": { + "2332": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2334, + "id": 2332, "inner": { "impl": { "blanket_impl": null, @@ -238480,7 +257019,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -238504,7 +257043,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -238514,12 +257053,12 @@ "span": null, "visibility": "default" }, - "2335": { + "2333": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2335, + "id": 2333, "inner": { "impl": { "blanket_impl": { @@ -238537,7 +257076,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -238582,7 +257121,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -238598,7 +257137,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -238607,23 +257146,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "2336": { + "2334": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2336, + "id": 2334, "inner": { "impl": { "blanket_impl": { @@ -238641,7 +257180,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -238686,7 +257225,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -238702,7 +257241,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -238711,23 +257250,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "2337": { + "2335": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2337, + "id": 2335, "inner": { "impl": { "blanket_impl": { @@ -238745,7 +257284,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -238811,7 +257350,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -238836,23 +257375,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2338": { + "2336": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2338, + "id": 2336, "inner": { "impl": { "blanket_impl": { @@ -238870,7 +257409,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -238893,7 +257432,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -238918,23 +257457,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2339": { + "2337": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2339, + "id": 2337, "inner": { "impl": { "blanket_impl": { @@ -238952,7 +257491,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -239000,7 +257539,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -239018,8 +257557,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -239035,7 +257574,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -239044,23 +257583,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2340": { + "2338": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2340, + "id": 2338, "inner": { "impl": { "blanket_impl": { @@ -239078,7 +257617,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -239144,8 +257683,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -239161,7 +257700,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -239170,23 +257709,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2341": { + "2339": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2341, + "id": 2339, "inner": { "impl": { "blanket_impl": { @@ -239204,7 +257743,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -239252,12 +257791,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -239277,12 +257816,54 @@ }, "visibility": "default" }, - "2342": { + "234": { + "attrs": [ + { + "other": "#[doc(test(attr(feature(cfg_target_has_reliable_f16_f128),\nexpect(internal_features))))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "other": "#[attr = Path(\"num/f16.rs\")]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Constants for the `f16` half-precision floating point type.\n\n*[See also the `f16` primitive type](primitive@f16).*\n\nMathematically significant numbers are provided in the `consts` sub-module.", + "id": 234, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 231 + ] + } + }, + "links": { + "primitive@f16": 233 + }, + "name": "f16", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 1044, + 2 + ], + "filename": "std/src/num/f16.rs" + }, + "visibility": "public" + }, + "2340": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2342, + "id": 2340, "inner": { "impl": { "blanket_impl": { @@ -239300,7 +257881,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -239361,7 +257942,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -239370,23 +257951,23 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "2343": { + "2341": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2343, + "id": 2341, "inner": { "function": { "generics": { @@ -239432,7 +258013,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -239444,7 +258025,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -239455,18 +258036,18 @@ "name": "fmt", "span": { "begin": [ - 1633, + 1638, 5 ], "end": [ - 1635, + 1640, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2344": { + "2342": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"os_str_display\"}}]" @@ -239475,7 +258056,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2344, + "id": 2342, "inner": { "impl": { "blanket_impl": null, @@ -239491,7 +258072,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -239503,12 +258084,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2343 + 2341 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -239517,23 +258098,23 @@ "name": null, "span": { "begin": [ - 1632, + 1637, 1 ], "end": [ - 1636, + 1641, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2345": { + "2343": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2345, + "id": 2343, "inner": { "function": { "generics": { @@ -239579,7 +258160,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -239591,7 +258172,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -239602,18 +258183,18 @@ "name": "fmt", "span": { "begin": [ - 1640, + 1645, 5 ], "end": [ - 1642, + 1647, 6 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2346": { + "2344": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"os_str_display\"}}]" @@ -239622,7 +258203,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2346, + "id": 2344, "inner": { "impl": { "blanket_impl": null, @@ -239638,7 +258219,7 @@ "constraints": [] } }, - "id": 2153, + "id": 2151, "path": "Display" } }, @@ -239650,7 +258231,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2345 + 2343 ], "provided_trait_methods": [], "trait": { @@ -239664,18 +258245,18 @@ "name": null, "span": { "begin": [ - 1639, + 1644, 1 ], "end": [ - 1643, + 1648, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "default" }, - "2347": { + "2345": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"os_str_display\"}}]" @@ -239684,21 +258265,21 @@ "crate_id": 0, "deprecation": null, "docs": "The [`OsStr`] and [`OsString`] types and associated utilities.", - "id": 2347, + "id": 2345, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 1709, - 1720, - 2153 + 1708, + 1719, + 2151 ] } }, "links": { - "`OsStr`": 1720, - "`OsString`": 1709 + "`OsStr`": 1719, + "`OsString`": 1708 }, "name": "os_str", "span": { @@ -239707,14 +258288,14 @@ 1 ], "end": [ - 1829, + 1835, 2 ], "filename": "std/src/ffi/os_str.rs" }, "visibility": "public" }, - "2348": { + "2346": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 30, patch: 0})}, feature: \"core_c_void\"}}]" @@ -239723,10 +258304,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2348, + "id": 2346, "inner": { "use": { - "id": 2349, + "id": 2347, "is_glob": false, "name": "c_void", "source": "core::ffi::c_void" @@ -239747,101 +258328,76 @@ }, "visibility": "public" }, - "235": { + "2348": { "attrs": [ { - "other": "#[rustc_doc_primitive = \"f16\"]" - }, - { - "other": "#[doc(alias = \"half\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"the `c_variadic` feature has not been properly tested on all supported platforms\"),\nissue: 44930, is_soft: false}, feature: \"c_variadic\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "A 16-bit floating-point type (specifically, the \"binary16\" type defined in IEEE 754-2008).\n\nThis type is very similar to [`prim@f32`] but has decreased precision because it uses half as many\nbits. Please see [the documentation for `f32`](prim@f32) or [Wikipedia on half-precision\nvalues][wikipedia] for more information.\n\nNote that most common platforms will not support `f16` in hardware without enabling extra target\nfeatures, with the notable exception of Apple Silicon (also known as M1, M2, etc.) processors.\nHardware support on x86/x86-64 requires the avx512fp16 or avx10.1 features, while RISC-V requires\nZfh, and Arm/AArch64 requires FEAT_FP16. Usually the fallback implementation will be to use `f32`\nhardware if it exists, and convert between `f16` and `f32` when performing math.\n\n*[See also the `std::f16::consts` module](crate::f16::consts).*\n\n[wikipedia]: https://en.wikipedia.org/wiki/Half-precision_floating-point_format", - "id": 235, + "docs": null, + "id": 2348, "inner": { - "primitive": { - "impls": [ - 9611, - 9664, - 9677, - 9678, - 9679, - 9680, - 9681, - 9682, - 9683, - 9684, - 9685, - 9686, - 9687, - 9688, - 9689, - 9690, - 9691, - 9692, - 9693 - ], - "name": "f16" + "use": { + "id": 2349, + "is_glob": false, + "name": "VaArgSafe", + "source": "core::ffi::VaArgSafe" } }, - "links": { - "`prim@f32`": 267, - "crate::f16::consts": 234, - "prim@f32": 267 - }, - "name": "f16", + "links": {}, + "name": null, "span": { "begin": [ - 1170, - 1 + 175, + 21 ], "end": [ - 1170, - 16 + 175, + 30 ], - "filename": "std/src/../../core/src/primitive_docs.rs" + "filename": "std/src/ffi/mod.rs" }, "visibility": "public" }, - "2350": { + "235": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"the `c_variadic` feature has not been properly tested on all supported platforms\"),\nissue: 44930, is_soft: false}, feature: \"c_variadic\"}}]" + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2350, + "id": 235, "inner": { "use": { - "id": 2351, + "id": 236, "is_glob": false, - "name": "VaArgSafe", - "source": "core::ffi::VaArgSafe" + "name": "DIGITS", + "source": "core::f32::DIGITS" } }, "links": {}, "name": null, "span": { "begin": [ - 175, - 21 + 18, + 5 ], "end": [ - 175, - 30 + 18, + 11 ], - "filename": "std/src/ffi/mod.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "2352": { + "2350": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"the `c_variadic` feature has not been properly tested on all supported platforms\"),\nissue: 44930, is_soft: false}, feature: \"c_variadic\"}}]" @@ -239850,10 +258406,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2352, + "id": 2350, "inner": { "use": { - "id": 2353, + "id": 2351, "is_glob": false, "name": "VaList", "source": "core::ffi::VaList" @@ -239874,7 +258430,7 @@ }, "visibility": "public" }, - "2354": { + "2352": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"the `c_variadic` feature has not been properly tested on all supported platforms\"),\nissue: 44930, is_soft: false}, feature: \"c_variadic\"}}]" @@ -239883,10 +258439,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2354, + "id": 2352, "inner": { "use": { - "id": 2355, + "id": 2353, "is_glob": false, "name": "VaListImpl", "source": "core::ffi::VaListImpl" @@ -239907,7 +258463,7 @@ }, "visibility": "public" }, - "2356": { + "2354": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"core_ffi_c\"}}]" @@ -239916,10 +258472,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2356, + "id": 2354, "inner": { "use": { - "id": 2357, + "id": 2355, "is_glob": false, "name": "c_char", "source": "core::ffi::c_char" @@ -239940,7 +258496,7 @@ }, "visibility": "public" }, - "2358": { + "2356": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"core_ffi_c\"}}]" @@ -239949,10 +258505,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2358, + "id": 2356, "inner": { "use": { - "id": 2359, + "id": 2357, "is_glob": false, "name": "c_double", "source": "core::ffi::c_double" @@ -239973,45 +258529,36 @@ }, "visibility": "public" }, - "236": { + "2358": { "attrs": [ { - "other": "#[doc(test(attr(feature(cfg_target_has_reliable_f16_f128),\nexpect(internal_features))))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Path(\"num/f16.rs\")]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"core_ffi_c\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Constants for the `f16` half-precision floating point type.\n\n*[See also the `f16` primitive type](primitive@f16).*\n\nMathematically significant numbers are provided in the `consts` sub-module.", - "id": 236, + "docs": null, + "id": 2358, "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 233 - ] + "use": { + "id": 2359, + "is_glob": false, + "name": "c_float", + "source": "core::ffi::c_float" } }, - "links": { - "primitive@f16": 235 - }, - "name": "f16", + "links": {}, + "name": null, "span": { "begin": [ - 1, - 1 + 178, + 23 ], "end": [ - 1042, - 2 + 178, + 30 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/ffi/mod.rs" }, "visibility": "public" }, @@ -240029,8 +258576,8 @@ "use": { "id": 2361, "is_glob": false, - "name": "c_float", - "source": "core::ffi::c_float" + "name": "c_int", + "source": "core::ffi::c_int" } }, "links": {}, @@ -240038,11 +258585,11 @@ "span": { "begin": [ 178, - 23 + 32 ], "end": [ 178, - 30 + 37 ], "filename": "std/src/ffi/mod.rs" }, @@ -240062,8 +258609,8 @@ "use": { "id": 2363, "is_glob": false, - "name": "c_int", - "source": "core::ffi::c_int" + "name": "c_long", + "source": "core::ffi::c_long" } }, "links": {}, @@ -240071,11 +258618,11 @@ "span": { "begin": [ 178, - 32 + 39 ], "end": [ 178, - 37 + 45 ], "filename": "std/src/ffi/mod.rs" }, @@ -240095,8 +258642,8 @@ "use": { "id": 2365, "is_glob": false, - "name": "c_long", - "source": "core::ffi::c_long" + "name": "c_longlong", + "source": "core::ffi::c_longlong" } }, "links": {}, @@ -240104,11 +258651,11 @@ "span": { "begin": [ 178, - 39 + 47 ], "end": [ 178, - 45 + 57 ], "filename": "std/src/ffi/mod.rs" }, @@ -240128,8 +258675,8 @@ "use": { "id": 2367, "is_glob": false, - "name": "c_longlong", - "source": "core::ffi::c_longlong" + "name": "c_schar", + "source": "core::ffi::c_schar" } }, "links": {}, @@ -240137,11 +258684,11 @@ "span": { "begin": [ 178, - 47 + 59 ], "end": [ 178, - 57 + 66 ], "filename": "std/src/ffi/mod.rs" }, @@ -240161,8 +258708,8 @@ "use": { "id": 2369, "is_glob": false, - "name": "c_schar", - "source": "core::ffi::c_schar" + "name": "c_short", + "source": "core::ffi::c_short" } }, "links": {}, @@ -240170,11 +258717,11 @@ "span": { "begin": [ 178, - 59 + 68 ], "end": [ 178, - 66 + 75 ], "filename": "std/src/ffi/mod.rs" }, @@ -240197,8 +258744,8 @@ "use": { "id": 238, "is_glob": false, - "name": "DIGITS", - "source": "core::f32::DIGITS" + "name": "EPSILON", + "source": "core::f32::EPSILON" } }, "links": {}, @@ -240206,11 +258753,11 @@ "span": { "begin": [ 18, - 5 + 13 ], "end": [ 18, - 11 + 20 ], "filename": "std/src/num/f32.rs" }, @@ -240230,39 +258777,6 @@ "use": { "id": 2371, "is_glob": false, - "name": "c_short", - "source": "core::ffi::c_short" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 178, - 68 - ], - "end": [ - 178, - 75 - ], - "filename": "std/src/ffi/mod.rs" - }, - "visibility": "public" - }, - "2372": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"core_ffi_c\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 2372, - "inner": { - "use": { - "id": 2373, - "is_glob": false, "name": "c_uchar", "source": "core::ffi::c_uchar" } @@ -240282,7 +258796,7 @@ }, "visibility": "public" }, - "2374": { + "2372": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"core_ffi_c\"}}]" @@ -240291,10 +258805,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2374, + "id": 2372, "inner": { "use": { - "id": 2375, + "id": 2373, "is_glob": false, "name": "c_uint", "source": "core::ffi::c_uint" @@ -240315,7 +258829,7 @@ }, "visibility": "public" }, - "2376": { + "2374": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"core_ffi_c\"}}]" @@ -240324,10 +258838,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2376, + "id": 2374, "inner": { "use": { - "id": 2377, + "id": 2375, "is_glob": false, "name": "c_ulong", "source": "core::ffi::c_ulong" @@ -240348,7 +258862,7 @@ }, "visibility": "public" }, - "2378": { + "2376": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"core_ffi_c\"}}]" @@ -240357,10 +258871,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2378, + "id": 2376, "inner": { "use": { - "id": 2379, + "id": 2377, "is_glob": false, "name": "c_ulonglong", "source": "core::ffi::c_ulonglong" @@ -240381,7 +258895,7 @@ }, "visibility": "public" }, - "2380": { + "2378": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"core_ffi_c\"}}]" @@ -240390,10 +258904,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2380, + "id": 2378, "inner": { "use": { - "id": 2381, + "id": 2379, "is_glob": false, "name": "c_ushort", "source": "core::ffi::c_ushort" @@ -240414,7 +258928,7 @@ }, "visibility": "public" }, - "2382": { + "2380": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88345, is_soft: false}, feature: \"c_size_t\"}}]" @@ -240423,10 +258937,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2382, + "id": 2380, "inner": { "use": { - "id": 2383, + "id": 2381, "is_glob": false, "name": "c_ptrdiff_t", "source": "core::ffi::c_ptrdiff_t" @@ -240447,7 +258961,7 @@ }, "visibility": "public" }, - "2384": { + "2382": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88345, is_soft: false}, feature: \"c_size_t\"}}]" @@ -240456,10 +258970,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2384, + "id": 2382, "inner": { "use": { - "id": 2385, + "id": 2383, "is_glob": false, "name": "c_size_t", "source": "core::ffi::c_size_t" @@ -240480,7 +258994,7 @@ }, "visibility": "public" }, - "2386": { + "2384": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88345, is_soft: false}, feature: \"c_size_t\"}}]" @@ -240489,10 +259003,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2386, + "id": 2384, "inner": { "use": { - "id": 2387, + "id": 2385, "is_glob": false, "name": "c_ssize_t", "source": "core::ffi::c_ssize_t" @@ -240513,7 +259027,7 @@ }, "visibility": "public" }, - "2388": { + "2386": { "attrs": [ { "other": "#[doc(inline)]" @@ -240525,10 +259039,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2388, + "id": 2386, "inner": { "use": { - "id": 1923, + "id": 1921, "is_glob": false, "name": "FromBytesUntilNulError", "source": "self::c_str::FromBytesUntilNulError" @@ -240549,7 +259063,7 @@ }, "visibility": "public" }, - "2389": { + "2387": { "attrs": [ { "other": "#[doc(inline)]" @@ -240561,10 +259075,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2389, + "id": 2387, "inner": { "use": { - "id": 1925, + "id": 1923, "is_glob": false, "name": "FromBytesWithNulError", "source": "self::c_str::FromBytesWithNulError" @@ -240585,115 +259099,115 @@ }, "visibility": "public" }, - "239": { + "2388": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[doc(inline)]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"cstring_from_vec_with_nul\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 239, + "id": 2388, "inner": { "use": { - "id": 240, + "id": 1911, "is_glob": false, - "name": "EPSILON", - "source": "core::f32::EPSILON" + "name": "FromVecWithNulError", + "source": "self::c_str::FromVecWithNulError" } }, "links": {}, "name": null, "span": { "begin": [ - 18, - 13 + 192, + 1 ], "end": [ - 18, - 20 + 192, + 42 ], - "filename": "std/src/num/f32.rs" + "filename": "std/src/ffi/mod.rs" }, "visibility": "public" }, - "2390": { + "2389": { "attrs": [ { "other": "#[doc(inline)]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"cstring_from_vec_with_nul\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"cstring_into\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2390, + "id": 2389, "inner": { "use": { "id": 1913, "is_glob": false, - "name": "FromVecWithNulError", - "source": "self::c_str::FromVecWithNulError" + "name": "IntoStringError", + "source": "self::c_str::IntoStringError" } }, "links": {}, "name": null, "span": { "begin": [ - 192, + 195, 1 ], "end": [ - 192, - 42 + 195, + 38 ], "filename": "std/src/ffi/mod.rs" }, "visibility": "public" }, - "2391": { + "239": { "attrs": [ { - "other": "#[doc(inline)]" + "other": "#[allow(deprecated, deprecated_in_future)]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"cstring_into\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2391, + "id": 239, "inner": { "use": { - "id": 1915, + "id": 240, "is_glob": false, - "name": "IntoStringError", - "source": "self::c_str::IntoStringError" + "name": "INFINITY", + "source": "core::f32::INFINITY" } }, "links": {}, "name": null, "span": { "begin": [ - 195, - 1 + 18, + 22 ], "end": [ - 195, - 38 + 18, + 30 ], - "filename": "std/src/ffi/mod.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "2392": { + "2390": { "attrs": [ { "other": "#[doc(inline)]" @@ -240705,10 +259219,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2392, + "id": 2390, "inner": { "use": { - "id": 1919, + "id": 1917, "is_glob": false, "name": "NulError", "source": "self::c_str::NulError" @@ -240729,7 +259243,7 @@ }, "visibility": "public" }, - "2393": { + "2391": { "attrs": [ { "other": "#[doc(inline)]" @@ -240741,10 +259255,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2393, + "id": 2391, "inner": { "use": { - "id": 1921, + "id": 1919, "is_glob": false, "name": "CStr", "source": "self::c_str::CStr" @@ -240765,7 +259279,7 @@ }, "visibility": "public" }, - "2394": { + "2392": { "attrs": [ { "other": "#[doc(inline)]" @@ -240777,10 +259291,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2394, + "id": 2392, "inner": { "use": { - "id": 1917, + "id": 1915, "is_glob": false, "name": "CString", "source": "self::c_str::CString" @@ -240801,7 +259315,7 @@ }, "visibility": "public" }, - "2395": { + "2393": { "attrs": [ { "other": "#[doc(inline)]" @@ -240813,10 +259327,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2395, + "id": 2393, "inner": { "use": { - "id": 1720, + "id": 1719, "is_glob": false, "name": "OsStr", "source": "self::os_str::OsStr" @@ -240837,7 +259351,7 @@ }, "visibility": "public" }, - "2396": { + "2394": { "attrs": [ { "other": "#[doc(inline)]" @@ -240849,10 +259363,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2396, + "id": 2394, "inner": { "use": { - "id": 1709, + "id": 1708, "is_glob": false, "name": "OsString", "source": "self::os_str::OsString" @@ -240873,7 +259387,7 @@ }, "visibility": "public" }, - "2397": { + "2395": { "attrs": [ { "other": "#[rustc_doc_primitive = \"char\"]" @@ -240888,11 +259402,11 @@ "crate_id": 0, "deprecation": null, "docs": "A character type.\n\nThe `char` type represents a single character. More specifically, since\n'character' isn't a well-defined concept in Unicode, `char` is a '[Unicode\nscalar value]'.\n\nThis documentation describes a number of methods and trait implementations on the\n`char` type. For technical reasons, there is additional, separate\ndocumentation in [the `std::char` module](char/index.html) as well.\n\n# Validity and Layout\n\nA `char` is a '[Unicode scalar value]', which is any '[Unicode code point]'\nother than a [surrogate code point]. This has a fixed numerical definition:\ncode points are in the range 0 to 0x10FFFF, inclusive.\nSurrogate code points, used by UTF-16, are in the range 0xD800 to 0xDFFF.\n\nNo `char` may be constructed, whether as a literal or at runtime, that is not a\nUnicode scalar value. Violating this rule causes undefined behavior.\n\n```compile_fail\n// Each of these is a compiler error\n['\\u{D800}', '\\u{DFFF}', '\\u{110000}'];\n```\n\n```should_panic\n// Panics; from_u32 returns None.\nchar::from_u32(0xDE01).unwrap();\n```\n\n```no_run\n// Undefined behavior\nlet _ = unsafe { char::from_u32_unchecked(0x110000) };\n```\n\nUnicode scalar values are also the exact set of values that may be encoded in UTF-8. Because\n`char` values are Unicode scalar values and functions may assume [incoming `str` values are\nvalid UTF-8](primitive.str.html#invariant), it is safe to store any `char` in a `str` or read\nany character from a `str` as a `char`.\n\nThe gap in valid `char` values is understood by the compiler, so in the\nbelow example the two ranges are understood to cover the whole range of\npossible `char` values and there is no error for a [non-exhaustive match].\n\n```\nlet c: char = 'a';\nmatch c {\n '\\0' ..= '\\u{D7FF}' => false,\n '\\u{E000}' ..= '\\u{10FFFF}' => true,\n};\n```\n\nAll Unicode scalar values are valid `char` values, but not all of them represent a real\ncharacter. Many Unicode scalar values are not currently assigned to a character, but may be in\nthe future (\"reserved\"); some will never be a character (\"noncharacters\"); and some may be given\ndifferent meanings by different users (\"private use\").\n\n`char` is guaranteed to have the same size, alignment, and function call ABI as `u32` on all\nplatforms.\n```\nuse std::alloc::Layout;\nassert_eq!(Layout::new::(), Layout::new::());\n```\n\n[Unicode code point]: https://www.unicode.org/glossary/#code_point\n[Unicode scalar value]: https://www.unicode.org/glossary/#unicode_scalar_value\n[non-exhaustive match]: ../book/ch06-02-match.html#matches-are-exhaustive\n[surrogate code point]: https://www.unicode.org/glossary/#surrogate_code_point\n\n# Representation\n\n`char` is always four bytes in size. This is a different representation than\na given character would have as part of a [`String`]. For example:\n\n```\nlet v = vec!['h', 'e', 'l', 'l', 'o'];\n\n// five elements times four bytes for each element\nassert_eq!(20, v.len() * size_of::());\n\nlet s = String::from(\"hello\");\n\n// five elements times one byte per element\nassert_eq!(5, s.len() * size_of::());\n```\n\n[`String`]: ../std/string/struct.String.html\n\nAs always, remember that a human intuition for 'character' might not map to\nUnicode's definitions. For example, despite looking similar, the 'é'\ncharacter is one Unicode code point while 'é' is two Unicode code points:\n\n```\nlet mut chars = \"é\".chars();\n// U+00e9: 'latin small letter e with acute'\nassert_eq!(Some('\\u{00e9}'), chars.next());\nassert_eq!(None, chars.next());\n\nlet mut chars = \"é\".chars();\n// U+0065: 'latin small letter e'\nassert_eq!(Some('\\u{0065}'), chars.next());\n// U+0301: 'combining acute accent'\nassert_eq!(Some('\\u{0301}'), chars.next());\nassert_eq!(None, chars.next());\n```\n\nThis means that the contents of the first string above _will_ fit into a\n`char` while the contents of the second string _will not_. Trying to create\na `char` literal with the contents of the second string gives an error:\n\n```text\nerror: character literal may only contain one codepoint: 'é'\nlet c = 'é';\n ^^^\n```\n\nAnother implication of the 4-byte fixed size of a `char` is that\nper-`char` processing can end up using a lot more memory:\n\n```\nlet s = String::from(\"love: ❤️\");\nlet v: Vec = s.chars().collect();\n\nassert_eq!(12, size_of_val(&s[..]));\nassert_eq!(32, size_of_val(&v[..]));\n```", - "id": 2397, + "id": 2395, "inner": { "primitive": { "impls": [ - 9434, + 9655, 639 ], "name": "char" @@ -240913,7 +259427,7 @@ }, "visibility": "public" }, - "2398": { + "2396": { "attrs": [ { "other": "#[rustc_doc_primitive = \"u8\"]" @@ -240925,15 +259439,15 @@ "crate_id": 0, "deprecation": null, "docs": "The 8-bit unsigned integer type.", - "id": 2398, + "id": 2396, "inner": { "primitive": { "impls": [ - 10877, - 10881, - 10883, + 11124, + 11128, + 11130, 631, - 7156 + 7194 ], "name": "u8" } @@ -240953,7 +259467,7 @@ }, "visibility": "public" }, - "2399": { + "2397": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -240962,7 +259476,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an [`OsStr`] from a byte slice.\n\nSee the module documentation for an example.", - "id": 2399, + "id": 2397, "inner": { "function": { "generics": { @@ -241007,7 +259521,7 @@ } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "from_bytes", "span": { @@ -241023,43 +259537,7 @@ }, "visibility": "default" }, - "24": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"size_of_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 24, - "inner": { - "use": { - "id": 25, - "is_glob": false, - "name": "align_of", - "source": "crate::mem::align_of" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 22 - ], - "end": [ - 27, - 30 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "2400": { + "2398": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -241068,7 +259546,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the underlying byte view of the [`OsStr`] slice.\n\nSee the module documentation for an example.", - "id": 2400, + "id": 2398, "inner": { "function": { "generics": { @@ -241113,7 +259591,7 @@ } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "as_bytes", "span": { @@ -241129,7 +259607,7 @@ }, "visibility": "default" }, - "2401": { + "2399": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -241138,7 +259616,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an [`OsString`] from a byte vector.\n\nSee the module documentation for an example.", - "id": 2401, + "id": 2399, "inner": { "function": { "generics": { @@ -241170,7 +259648,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -241184,7 +259662,7 @@ } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "from_vec", "span": { @@ -241200,7 +259678,43 @@ }, "visibility": "default" }, - "2402": { + "24": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"size_of_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 24, + "inner": { + "use": { + "id": 25, + "is_glob": false, + "name": "align_of", + "source": "crate::mem::align_of" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 27, + 22 + ], + "end": [ + 27, + 30 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "2400": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -241209,7 +259723,7 @@ "crate_id": 0, "deprecation": null, "docs": "Yields the underlying byte vector of this [`OsString`].\n\nSee the module documentation for an example.", - "id": 2402, + "id": 2400, "inner": { "function": { "generics": { @@ -241247,7 +259761,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -241255,7 +259769,7 @@ } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "into_vec", "span": { @@ -241271,7 +259785,7 @@ }, "visibility": "default" }, - "2403": { + "2401": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -241280,7 +259794,7 @@ "crate_id": 0, "deprecation": null, "docs": "Re-encodes an `OsStr` as a wide character sequence, i.e., potentially\nill-formed UTF-16.\n\nThis is lossless: calling [`OsStringExt::from_wide`] and then\n`encode_wide` on the result will yield the original code units.\nNote that the encoding does not add a final null terminator.\n\n# Examples\n\n```\nuse std::ffi::OsString;\nuse std::os::windows::prelude::*;\n\n// UTF-16 encoding for \"Unicode\".\nlet source = [0x0055, 0x006E, 0x0069, 0x0063, 0x006F, 0x0064, 0x0065];\n\nlet string = OsString::from_wide(&source[..]);\n\nlet result: Vec = string.encode_wide().collect();\nassert_eq!(&source[..], &result[..]);\n```", - "id": 2403, + "id": 2401, "inner": { "function": { "generics": { @@ -241322,7 +259836,7 @@ "constraints": [] } }, - "id": 2253, + "id": 2251, "path": "EncodeWide" } } @@ -241330,23 +259844,23 @@ } }, "links": { - "`OsStringExt::from_wide`": 2405 + "`OsStringExt::from_wide`": 2403 }, "name": "encode_wide", "span": { "begin": [ - 126, + 127, 5 ], "end": [ - 126, + 127, 45 ], "filename": "std/src/os/windows/ffi.rs" }, "visibility": "default" }, - "2404": { + "2402": { "attrs": [ { "other": "#[rustc_doc_primitive = \"u16\"]" @@ -241358,13 +259872,13 @@ "crate_id": 0, "deprecation": null, "docs": "The 16-bit unsigned integer type.", - "id": 2404, + "id": 2402, "inner": { "primitive": { "impls": [ - 11011, - 11015, - 11017 + 11264, + 11268, + 11270 ], "name": "u16" } @@ -241384,7 +259898,7 @@ }, "visibility": "public" }, - "2405": { + "2403": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -241393,7 +259907,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an `OsString` from a potentially ill-formed UTF-16 slice of\n16-bit code units.\n\nThis is lossless: calling [`OsStrExt::encode_wide`] on the resulting string\nwill always return the original code units.\n\n# Examples\n\n```\nuse std::ffi::OsString;\nuse std::os::windows::prelude::*;\n\n// UTF-16 encoding for \"Unicode\".\nlet source = [0x0055, 0x006E, 0x0069, 0x0063, 0x006F, 0x0064, 0x0065];\n\nlet string = OsString::from_wide(&source[..]);\n```", - "id": 2405, + "id": 2403, "inner": { "function": { "generics": { @@ -241432,23 +259946,23 @@ } }, "links": { - "`OsStrExt::encode_wide`": 2403 + "`OsStrExt::encode_wide`": 2401 }, "name": "from_wide", "span": { "begin": [ - 88, + 89, 5 ], "end": [ - 88, + 89, 40 ], "filename": "std/src/os/windows/ffi.rs" }, "visibility": "default" }, - "2407": { + "2405": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"IoSeek\")]" @@ -241463,7 +259977,7 @@ "crate_id": 0, "deprecation": null, "docs": "The `Seek` trait provides a cursor which can be moved within a stream of\nbytes.\n\nThe stream typically has a fixed size, allowing seeking relative to either\nend or the current offset.\n\n# Examples\n\n[`File`]s implement `Seek`:\n\n[`File`]: crate::fs::File\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\nuse std::io::SeekFrom;\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n\n // move the cursor 42 bytes from the start of the file\n f.seek(SeekFrom::Start(42))?;\n Ok(())\n}\n```", - "id": 2407, + "id": 2405, "inner": { "trait": { "bounds": [], @@ -241472,31 +259986,31 @@ "where_predicates": [] }, "implementations": [ - 2493, - 2507, - 4233, - 3093, - 3133, + 2491, + 2505, + 4232, + 3095, + 3135, 3273, - 4239, - 4245, - 3867, - 4250 + 4238, + 4244, + 3866, + 4249 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 2487, - 4228, - 2490, + 2485, + 4227, + 2488, 2768, - 4229 + 4228 ] } }, "links": { - "crate::fs::File": 2413 + "crate::fs::File": 2411 }, "name": "Seek", "span": { @@ -241512,7 +260026,7 @@ }, "visibility": "public" }, - "2408": { + "2406": { "attrs": [ { "other": "#[doc(alias = \"fsync\")]" @@ -241524,7 +260038,7 @@ "crate_id": 0, "deprecation": null, "docs": "Attempts to sync all OS-internal file content and metadata to disk.\n\nThis function will attempt to ensure that all in-memory data reaches the\nfilesystem before returning.\n\nThis can be used to handle errors that would otherwise only be caught\nwhen the `File` is closed, as dropping a `File` will ignore all errors.\nNote, however, that `sync_all` is generally more expensive than closing\na file by dropping it, because the latter is not required to block until\nthe data has been written to the filesystem.\n\nIf synchronizing the metadata is not required, use [`sync_data`] instead.\n\n[`sync_data`]: File::sync_data\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let mut f = File::create(\"foo.txt\")?;\n f.write_all(b\"Hello, world!\")?;\n\n f.sync_all()?;\n Ok(())\n}\n```", - "id": 2408, + "id": 2406, "inner": { "function": { "generics": { @@ -241568,7 +260082,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -241576,23 +260090,23 @@ } }, "links": { - "File::sync_data": 2429 + "File::sync_data": 2427 }, "name": "sync_all", "span": { "begin": [ - 662, + 743, 5 ], "end": [ - 664, + 745, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2409": { + "2407": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -241601,7 +260115,7 @@ "crate_id": 0, "deprecation": null, "docs": "The `BufReader` struct adds buffering to any reader.\n\nIt can be excessively inefficient to work directly with a [`Read`] instance.\nFor example, every call to [`read`][`TcpStream::read`] on [`TcpStream`]\nresults in a system call. A `BufReader` performs large, infrequent reads on\nthe underlying [`Read`] and maintains an in-memory buffer of the results.\n\n`BufReader` can improve the speed of programs that make *small* and\n*repeated* read calls to the same file or network socket. It does not\nhelp when reading very large amounts at once, or reading just one or a few\ntimes. It also provides no advantage when reading from a source that is\nalready in memory, like a [Vec]\\.\n\nWhen the `BufReader` is dropped, the contents of its buffer will be\ndiscarded. Creating multiple instances of a `BufReader` on the same\nstream can cause data loss. Reading from the underlying reader after\nunwrapping the `BufReader` with [`BufReader::into_inner`] can also cause\ndata loss.\n\n[`TcpStream::read`]: crate::net::TcpStream::read\n[`TcpStream`]: crate::net::TcpStream\n\n# Examples\n\n```no_run\nuse std::io::prelude::*;\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f = File::open(\"log.txt\")?;\n let mut reader = BufReader::new(f);\n\n let mut line = String::new();\n let len = reader.read_line(&mut line)?;\n println!(\"First line is {len} bytes long\");\n Ok(())\n}\n```", - "id": 2409, + "id": 2407, "inner": { "struct": { "generics": { @@ -241632,11 +260146,9 @@ "where_predicates": [] }, "impls": [ - 3051, - 3054, - 3060, + 3053, + 3056, 3062, - 3063, 3064, 3065, 3066, @@ -241649,10 +260161,12 @@ 3073, 3074, 3075, - 3084, - 3087, + 3076, + 3077, + 3086, 3089, - 3093 + 3091, + 3095 ], "kind": { "plain": { @@ -241663,11 +260177,11 @@ } }, "links": { - "Vec": 165, - "`BufReader::into_inner`": 3048, - "`Read`": 2476, - "crate::net::TcpStream": 3047, - "crate::net::TcpStream::read": 3046 + "Vec": 163, + "`BufReader::into_inner`": 3050, + "`Read`": 2474, + "crate::net::TcpStream": 3049, + "crate::net::TcpStream::read": 3048 }, "name": "BufReader", "span": { @@ -241683,43 +260197,7 @@ }, "visibility": "public" }, - "241": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 241, - "inner": { - "use": { - "id": 242, - "is_glob": false, - "name": "INFINITY", - "source": "core::f32::INFINITY" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 18, - 22 - ], - "end": [ - 18, - 30 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "2410": { + "2408": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -241728,7 +260206,7 @@ "crate_id": 0, "deprecation": null, "docs": "Wraps a writer and buffers its output.\n\nIt can be excessively inefficient to work directly with something that\nimplements [`Write`]. For example, every call to\n[`write`][`TcpStream::write`] on [`TcpStream`] results in a system call. A\n`BufWriter` keeps an in-memory buffer of data and writes it to an underlying\nwriter in large, infrequent batches.\n\n`BufWriter` can improve the speed of programs that make *small* and\n*repeated* write calls to the same file or network socket. It does not\nhelp when writing very large amounts at once, or writing just one or a few\ntimes. It also provides no advantage when writing to a destination that is\nin memory, like a [Vec]\\.\n\nIt is critical to call [`flush`] before `BufWriter` is dropped. Though\ndropping will attempt to flush the contents of the buffer, any errors\nthat happen in the process of dropping will be ignored. Calling [`flush`]\nensures that the buffer is empty and thus dropping will not even attempt\nfile operations.\n\n# Examples\n\nLet's write the numbers one through ten to a [`TcpStream`]:\n\n```no_run\nuse std::io::prelude::*;\nuse std::net::TcpStream;\n\nlet mut stream = TcpStream::connect(\"127.0.0.1:34254\").unwrap();\n\nfor i in 0..10 {\n stream.write(&[i+1]).unwrap();\n}\n```\n\nBecause we're not buffering, we write each one in turn, incurring the\noverhead of a system call per byte written. We can fix this with a\n`BufWriter`:\n\n```no_run\nuse std::io::prelude::*;\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet mut stream = BufWriter::new(TcpStream::connect(\"127.0.0.1:34254\").unwrap());\n\nfor i in 0..10 {\n stream.write(&[i+1]).unwrap();\n}\nstream.flush().unwrap();\n```\n\nBy wrapping the stream with a `BufWriter`, these ten writes are all grouped\ntogether by the buffer and will all be written out in one system call when\nthe `stream` is flushed.\n\n[`TcpStream::write`]: crate::net::TcpStream::write\n[`TcpStream`]: crate::net::TcpStream\n[`flush`]: BufWriter::flush", - "id": 2410, + "id": 2408, "inner": { "struct": { "generics": { @@ -241754,7 +260232,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -241770,9 +260248,7 @@ "where_predicates": [] }, "impls": [ - 3106, - 3111, - 3112, + 3108, 3113, 3114, 3115, @@ -241785,10 +260261,12 @@ 3122, 3123, 3124, - 3129, + 3125, + 3126, 3131, 3133, - 3135 + 3135, + 3137 ], "kind": { "plain": { @@ -241799,11 +260277,11 @@ } }, "links": { - "BufWriter::flush": 3099, - "Vec": 165, - "`Write`": 2486, - "crate::net::TcpStream": 3047, - "crate::net::TcpStream::write": 3098 + "BufWriter::flush": 3101, + "Vec": 163, + "`Write`": 2484, + "crate::net::TcpStream": 3049, + "crate::net::TcpStream::write": 3100 }, "name": "BufWriter", "span": { @@ -241819,12 +260297,12 @@ }, "visibility": "public" }, - "2411": { + "2409": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2411, + "id": 2409, "inner": { "function": { "generics": { @@ -241882,7 +260360,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -241893,23 +260371,59 @@ "name": "read", "span": { "begin": [ - 1375, + 1456, 5 ], "end": [ - 1377, + 1458, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2412": { + "241": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 241, + "inner": { + "use": { + "id": 242, + "is_glob": false, + "name": "MANTISSA_DIGITS", + "source": "core::f32::MANTISSA_DIGITS" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 18, + 32 + ], + "end": [ + 18, + 47 + ], + "filename": "std/src/num/f32.rs" + }, + "visibility": "public" + }, + "2410": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2412, + "id": 2410, "inner": { "function": { "generics": { @@ -241967,7 +260481,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -241978,18 +260492,18 @@ "name": "write", "span": { "begin": [ - 1397, + 1478, 5 ], "end": [ - 1399, + 1480, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2413": { + "2411": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"File\")]" @@ -242004,7 +260518,7 @@ "crate_id": 0, "deprecation": null, "docs": "An object providing access to an open file on the filesystem.\n\nAn instance of a `File` can be read and/or written depending on what options\nit was opened with. Files also implement [`Seek`] to alter the logical cursor\nthat the file contains internally.\n\nFiles are automatically closed when they go out of scope. Errors detected\non closing are ignored by the implementation of `Drop`. Use the method\n[`sync_all`] if these errors must be manually handled.\n\n`File` does not buffer reads and writes. For efficiency, consider wrapping the\nfile in a [`BufReader`] or [`BufWriter`] when performing many small [`read`]\nor [`write`] calls, unless unbuffered reads and writes are required.\n\n# Examples\n\nCreates a new file and write bytes to it (you can also use [`write`]):\n\n```no_run\nuse std::fs::File;\nuse std::io::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let mut file = File::create(\"foo.txt\")?;\n file.write_all(b\"Hello, world!\")?;\n Ok(())\n}\n```\n\nReads the contents of a file into a [`String`] (you can also use [`read`]):\n\n```no_run\nuse std::fs::File;\nuse std::io::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let mut file = File::open(\"foo.txt\")?;\n let mut contents = String::new();\n file.read_to_string(&mut contents)?;\n assert_eq!(contents, \"Hello, world!\");\n Ok(())\n}\n```\n\nUsing a buffered [`Read`]er:\n\n```no_run\nuse std::fs::File;\nuse std::io::BufReader;\nuse std::io::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let file = File::open(\"foo.txt\")?;\n let mut buf_reader = BufReader::new(file);\n let mut contents = String::new();\n buf_reader.read_to_string(&mut contents)?;\n assert_eq!(contents, \"Hello, world!\");\n Ok(())\n}\n```\n\nNote that, although read and write methods require a `&mut File`, because\nof the interfaces for [`Read`] and [`Write`], the holder of a `&File` can\nstill modify the file, either through methods that take `&File` or by\nretrieving the underlying OS object and modifying the file that way.\nAdditionally, many operating systems allow concurrent modification of files\nby different processes. Avoid assuming that holding a `&File` means that the\nfile will not change.\n\n# Platform-specific behavior\n\nOn Windows, the implementation of [`Read`] and [`Write`] traits for `File`\nperform synchronous I/O operations. Therefore the underlying file must not\nhave been opened for asynchronous I/O (e.g. by using `FILE_FLAG_OVERLAPPED`).\n\n[`BufReader`]: io::BufReader\n[`BufWriter`]: io::BufWriter\n[`sync_all`]: File::sync_all\n[`write`]: File::write\n[`read`]: File::read", - "id": 2413, + "id": 2411, "inner": { "struct": { "generics": { @@ -242012,6 +260526,8 @@ "where_predicates": [] }, "impls": [ + 2447, + 2448, 2449, 2450, 2451, @@ -242024,18 +260540,16 @@ 2458, 2459, 2460, - 2461, 2462, - 2464, - 2475, - 2485, - 2493, - 2499, - 2503, + 2473, + 2483, + 2491, + 2497, + 2501, + 2505, 2507, - 2509, - 2515, - 2528, + 2514, + 2527, 2532, 2535, 2537, @@ -242060,13 +260574,13 @@ } }, "links": { - "File::read": 2411, - "File::sync_all": 2408, - "File::write": 2412, - "`Seek`": 2407, - "`String`": 161, - "io::BufReader": 2409, - "io::BufWriter": 2410 + "File::read": 2409, + "File::sync_all": 2406, + "File::write": 2410, + "`Seek`": 2405, + "`String`": 159, + "io::BufReader": 2407, + "io::BufWriter": 2408 }, "name": "File", "span": { @@ -242082,7 +260596,7 @@ }, "visibility": "public" }, - "2414": { + "2412": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -242090,8 +260604,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Opens a file at `path` with the options specified by `self`.\n\n# Errors\n\nThis function will return an error under a number of different\ncircumstances. Some of these error conditions are listed here, together\nwith their [`io::ErrorKind`]. The mapping to [`io::ErrorKind`]s is not\npart of the compatibility contract of the function.\n\n* [`NotFound`]: The specified file does not exist and neither `create`\n or `create_new` is set.\n* [`NotFound`]: One of the directory components of the file path does\n not exist.\n* [`PermissionDenied`]: The user lacks permission to get the specified\n access rights for the file.\n* [`PermissionDenied`]: The user lacks permission to open one of the\n directory components of the specified path.\n* [`AlreadyExists`]: `create_new` was specified and the file already\n exists.\n* [`InvalidInput`]: Invalid combinations of open options (truncate\n without write access, no access mode set, etc.).\n\nThe following errors don't match any existing [`io::ErrorKind`] at the moment:\n* One of the directory components of the specified file path\n was not, in fact, a directory.\n* Filesystem-level errors: full disk, write permission\n requested on a read-only file system, exceeded disk quota, too many\n open files, too long filename, too many symbolic links in the\n specified path (Unix-like systems only), etc.\n\n# Examples\n\n```no_run\nuse std::fs::OpenOptions;\n\nlet file = OpenOptions::new().read(true).open(\"foo.txt\");\n```\n\n[`AlreadyExists`]: io::ErrorKind::AlreadyExists\n[`InvalidInput`]: io::ErrorKind::InvalidInput\n[`NotFound`]: io::ErrorKind::NotFound\n[`PermissionDenied`]: io::ErrorKind::PermissionDenied", - "id": 2414, + "docs": "Opens a file at `path` with the options specified by `self`.\n\n# Errors\n\nThis function will return an error under a number of different\ncircumstances. Some of these error conditions are listed here, together\nwith their [`io::ErrorKind`]. The mapping to [`io::ErrorKind`]s is not\npart of the compatibility contract of the function.\n\n* [`NotFound`]: The specified file does not exist and neither `create`\n or `create_new` is set.\n* [`NotFound`]: One of the directory components of the file path does\n not exist.\n* [`PermissionDenied`]: The user lacks permission to get the specified\n access rights for the file.\n* [`PermissionDenied`]: The user lacks permission to open one of the\n directory components of the specified path.\n* [`AlreadyExists`]: `create_new` was specified and the file already\n exists.\n* [`InvalidInput`]: Invalid combinations of open options (truncate\n without write access, create without write or append access,\n no access mode set, etc.).\n\nThe following errors don't match any existing [`io::ErrorKind`] at the moment:\n* One of the directory components of the specified file path\n was not, in fact, a directory.\n* Filesystem-level errors: full disk, write permission\n requested on a read-only file system, exceeded disk quota, too many\n open files, too long filename, too many symbolic links in the\n specified path (Unix-like systems only), etc.\n\n# Examples\n\n```no_run\nuse std::fs::OpenOptions;\n\nlet file = OpenOptions::new().read(true).open(\"foo.txt\");\n```\n\n[`AlreadyExists`]: io::ErrorKind::AlreadyExists\n[`InvalidInput`]: io::ErrorKind::InvalidInput\n[`NotFound`]: io::ErrorKind::NotFound\n[`PermissionDenied`]: io::ErrorKind::PermissionDenied", + "id": 2412, "inner": { "function": { "generics": { @@ -242112,7 +260626,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -242174,7 +260688,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -242183,7 +260697,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -242192,26 +260706,26 @@ }, "links": { "`io::ErrorKind`": 2774, - "io::ErrorKind::AlreadyExists": 2423, - "io::ErrorKind::InvalidInput": 2438, + "io::ErrorKind::AlreadyExists": 2421, + "io::ErrorKind::InvalidInput": 2436, "io::ErrorKind::NotFound": 2775, "io::ErrorKind::PermissionDenied": 2776 }, "name": "open", "span": { "begin": [ - 1711, + 1797, 5 ], "end": [ - 1713, + 1799, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2415": { + "2413": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fs_read_write_bytes\"}}]" @@ -242220,7 +260734,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reads the entire contents of a file into a bytes vector.\n\nThis is a convenience function for using [`File::open`] and [`read_to_end`]\nwith fewer imports and without an intermediate variable.\n\n[`read_to_end`]: Read::read_to_end\n\n# Errors\n\nThis function will return an error if `path` does not already exist.\nOther errors may also be returned according to [`OpenOptions::open`].\n\nWhile reading from the file, this function handles [`io::ErrorKind::Interrupted`]\nwith automatic retries. See [io::Read] documentation for details.\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> Result<(), Box> {\n let data: Vec = fs::read(\"image.jpg\")?;\n assert_eq!(data[0..3], [0xFF, 0xD8, 0xFF]);\n Ok(())\n}\n```", - "id": 2415, + "id": 2413, "inner": { "function": { "generics": { @@ -242241,7 +260755,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -242302,7 +260816,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -242311,7 +260825,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -242320,10 +260834,10 @@ }, "links": { "Read::read_to_end": 2957, - "`File::open`": 2417, - "`OpenOptions::open`": 2414, + "`File::open`": 2415, + "`OpenOptions::open`": 2412, "`io::ErrorKind::Interrupted`": 2958, - "io::Read": 2476 + "io::Read": 2474 }, "name": "read", "span": { @@ -242339,7 +260853,7 @@ }, "visibility": "public" }, - "2416": { + "2414": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fs_read_write\"}}]" @@ -242348,7 +260862,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reads the entire contents of a file into a string.\n\nThis is a convenience function for using [`File::open`] and [`read_to_string`]\nwith fewer imports and without an intermediate variable.\n\n[`read_to_string`]: Read::read_to_string\n\n# Errors\n\nThis function will return an error if `path` does not already exist.\nOther errors may also be returned according to [`OpenOptions::open`].\n\nIf the contents of the file are not valid UTF-8, then an error will also be\nreturned.\n\nWhile reading from the file, this function handles [`io::ErrorKind::Interrupted`]\nwith automatic retries. See [io::Read] documentation for details.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::error::Error;\n\nfn main() -> Result<(), Box> {\n let message: String = fs::read_to_string(\"message.txt\")?;\n println!(\"{}\", message);\n Ok(())\n}\n```", - "id": 2416, + "id": 2414, "inner": { "function": { "generics": { @@ -242369,7 +260883,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -242419,7 +260933,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -242428,7 +260942,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -242437,10 +260951,10 @@ }, "links": { "Read::read_to_string": 2959, - "`File::open`": 2417, - "`OpenOptions::open`": 2414, + "`File::open`": 2415, + "`OpenOptions::open`": 2412, "`io::ErrorKind::Interrupted`": 2958, - "io::Read": 2476 + "io::Read": 2474 }, "name": "read_to_string", "span": { @@ -242456,7 +260970,7 @@ }, "visibility": "public" }, - "2417": { + "2415": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -242465,7 +260979,7 @@ "crate_id": 0, "deprecation": null, "docs": "Attempts to open a file in read-only mode.\n\nSee the [`OpenOptions::open`] method for more details.\n\nIf you only need to read the entire file contents,\nconsider [`std::fs::read()`][self::read] or\n[`std::fs::read_to_string()`][self::read_to_string] instead.\n\n# Errors\n\nThis function will return an error if `path` does not already exist.\nOther errors may also be returned according to [`OpenOptions::open`].\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::Read;\n\nfn main() -> std::io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let mut data = vec![];\n f.read_to_end(&mut data)?;\n Ok(())\n}\n```", - "id": 2417, + "id": 2415, "inner": { "function": { "generics": { @@ -242486,7 +261000,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -242536,7 +261050,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -242545,7 +261059,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -242553,25 +261067,25 @@ } }, "links": { - "`OpenOptions::open`": 2414, - "self::read": 2415, - "self::read_to_string": 2416 + "`OpenOptions::open`": 2412, + "self::read": 2413, + "self::read_to_string": 2414 }, "name": "open", "span": { "begin": [ - 452, + 533, 5 ], "end": [ - 454, + 535, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2418": { + "2416": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"IoBufRead\")]" @@ -242586,7 +261100,7 @@ "crate_id": 0, "deprecation": null, "docs": "A `BufRead` is a type of `Read`er which has an internal buffer, allowing it\nto perform extra ways of reading.\n\nFor example, reading line-by-line is inefficient without using a buffer, so\nif you want to read by line, you'll need `BufRead`, which includes a\n[`read_line`] method as well as a [`lines`] iterator.\n\n# Examples\n\nA locked standard input implements `BufRead`:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\n\nlet stdin = io::stdin();\nfor line in stdin.lock().lines() {\n println!(\"{}\", line?);\n}\n# std::io::Result::Ok(())\n```\n\nIf you have something that implements [`Read`], you can use the [`BufReader`\ntype][`BufReader`] to turn it into a `BufRead`.\n\nFor example, [`File`] implements [`Read`], but not `BufRead`.\n[`BufReader`] to the rescue!\n\n[`File`]: crate::fs::File\n[`read_line`]: BufRead::read_line\n[`lines`]: BufRead::lines\n\n```no_run\nuse std::io::{self, BufReader};\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n let f = BufReader::new(f);\n\n for line in f.lines() {\n let line = line?;\n println!(\"{line}\");\n }\n\n Ok(())\n}\n```", - "id": 2418, + "id": 2416, "inner": { "trait": { "bounds": [ @@ -242596,7 +261110,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -242607,38 +261121,38 @@ "where_predicates": [] }, "implementations": [ - 3087, + 3089, 3285, - 4289, - 4296, - 4299, - 4302, - 3636, - 3863, - 4306, - 4309 + 4288, + 4295, + 4298, + 4301, + 3635, + 3862, + 4305, + 4308 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 3057, - 3052, + 3059, + 3054, + 4277, 4278, 4279, + 3558, 4280, - 3559, - 4281, - 3562 + 3561 ] } }, "links": { - "BufRead::lines": 3562, - "BufRead::read_line": 3559, - "`BufReader`": 2409, - "`Read`": 2476, - "crate::fs::File": 2413 + "BufRead::lines": 3561, + "BufRead::read_line": 3558, + "`BufReader`": 2407, + "`Read`": 2474, + "crate::fs::File": 2411 }, "name": "BufRead", "span": { @@ -242654,7 +261168,7 @@ }, "visibility": "public" }, - "2419": { + "2417": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130804, is_soft: false}, feature: \"file_buffered\"}}]" @@ -242663,7 +261177,7 @@ "crate_id": 0, "deprecation": null, "docs": "Attempts to open a file in read-only mode with buffering.\n\nSee the [`OpenOptions::open`] method, the [`BufReader`][io::BufReader] type,\nand the [`BufRead`][io::BufRead] trait for more details.\n\nIf you only need to read the entire file contents,\nconsider [`std::fs::read()`][self::read] or\n[`std::fs::read_to_string()`][self::read_to_string] instead.\n\n# Errors\n\nThis function will return an error if `path` does not already exist,\nor if memory allocation fails for the new buffer.\nOther errors may also be returned according to [`OpenOptions::open`].\n\n# Examples\n\n```no_run\n#![feature(file_buffered)]\nuse std::fs::File;\nuse std::io::BufRead;\n\nfn main() -> std::io::Result<()> {\n let mut f = File::open_buffered(\"foo.txt\")?;\n assert!(f.capacity() > 0);\n for (line, i) in f.lines().zip(1..) {\n println!(\"{i:6}: {}\", line?);\n }\n Ok(())\n}\n```", - "id": 2419, + "id": 2417, "inner": { "function": { "generics": { @@ -242684,7 +261198,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -242740,7 +261254,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -242749,7 +261263,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "io::BufReader" } } @@ -242758,7 +261272,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -242766,27 +261280,27 @@ } }, "links": { - "`OpenOptions::open`": 2414, - "io::BufRead": 2418, - "io::BufReader": 2409, - "self::read": 2415, - "self::read_to_string": 2416 + "`OpenOptions::open`": 2412, + "io::BufRead": 2416, + "io::BufReader": 2407, + "self::read": 2413, + "self::read_to_string": 2414 }, "name": "open_buffered", "span": { "begin": [ - 488, + 569, 5 ], "end": [ - 493, + 574, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2420": { + "2418": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fs_read_write_bytes\"}}]" @@ -242795,7 +261309,7 @@ "crate_id": 0, "deprecation": null, "docs": "Writes a slice as the entire contents of a file.\n\nThis function will create a file if it does not exist,\nand will entirely replace its contents if it does.\n\nDepending on the platform, this function may fail if the\nfull directory path does not exist.\n\nThis is a convenience function for using [`File::create`] and [`write_all`]\nwith fewer imports.\n\n[`write_all`]: Write::write_all\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n fs::write(\"foo.txt\", b\"Lorem ipsum\")?;\n fs::write(\"bar.txt\", \"dolor sit\")?;\n Ok(())\n}\n```", - "id": 2420, + "id": 2418, "inner": { "function": { "generics": { @@ -242816,7 +261330,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -242912,7 +261426,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -242921,7 +261435,7 @@ }, "links": { "Write::write_all": 2960, - "`File::create`": 2421 + "`File::create`": 2419 }, "name": "write", "span": { @@ -242937,7 +261451,7 @@ }, "visibility": "public" }, - "2421": { + "2419": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -242946,7 +261460,7 @@ "crate_id": 0, "deprecation": null, "docs": "Opens a file in write-only mode.\n\nThis function will create a file if it does not exist,\nand will truncate it if it does.\n\nDepending on the platform, this function may fail if the\nfull directory path does not exist.\nSee the [`OpenOptions::open`] function for more details.\n\nSee also [`std::fs::write()`][self::write] for a simple function to\ncreate a file with some given data.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::Write;\n\nfn main() -> std::io::Result<()> {\n let mut f = File::create(\"foo.txt\")?;\n f.write_all(&1234_u32.to_be_bytes())?;\n Ok(())\n}\n```", - "id": 2421, + "id": 2419, "inner": { "function": { "generics": { @@ -242967,7 +261481,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -243017,7 +261531,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -243026,7 +261540,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -243034,24 +261548,24 @@ } }, "links": { - "`OpenOptions::open`": 2414, - "self::write": 2420 + "`OpenOptions::open`": 2412, + "self::write": 2418 }, "name": "create", "span": { "begin": [ - 520, + 601, 5 ], "end": [ - 522, + 603, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2422": { + "2420": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130804, is_soft: false}, feature: \"file_buffered\"}}]" @@ -243060,7 +261574,7 @@ "crate_id": 0, "deprecation": null, "docs": "Opens a file in write-only mode with buffering.\n\nThis function will create a file if it does not exist,\nand will truncate it if it does.\n\nDepending on the platform, this function may fail if the\nfull directory path does not exist.\n\nSee the [`OpenOptions::open`] method and the\n[`BufWriter`][io::BufWriter] type for more details.\n\nSee also [`std::fs::write()`][self::write] for a simple function to\ncreate a file with some given data.\n\n# Examples\n\n```no_run\n#![feature(file_buffered)]\nuse std::fs::File;\nuse std::io::Write;\n\nfn main() -> std::io::Result<()> {\n let mut f = File::create_buffered(\"foo.txt\")?;\n assert!(f.capacity() > 0);\n for i in 0..100 {\n writeln!(&mut f, \"{i}\")?;\n }\n f.flush()?;\n Ok(())\n}\n```", - "id": 2422, + "id": 2420, "inner": { "function": { "generics": { @@ -243081,7 +261595,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -243137,7 +261651,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -243146,7 +261660,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "io::BufWriter" } } @@ -243155,7 +261669,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -243163,25 +261677,25 @@ } }, "links": { - "`OpenOptions::open`": 2414, - "io::BufWriter": 2410, - "self::write": 2420 + "`OpenOptions::open`": 2412, + "io::BufWriter": 2408, + "self::write": 2418 }, "name": "create_buffered", "span": { "begin": [ - 556, + 637, 5 ], "end": [ - 561, + 642, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2423": { + "2421": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -243190,7 +261704,7 @@ "crate_id": 0, "deprecation": null, "docs": "An entity already exists, often a file.", - "id": 2423, + "id": 2421, "inner": { "variant": { "discriminant": null, @@ -243201,18 +261715,18 @@ "name": "AlreadyExists", "span": { "begin": [ - 266, + 269, 5 ], "end": [ - 266, + 269, 18 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "2424": { + "2422": { "attrs": [ { "other": "#[deny(unsafe_op_in_unsafe_fn)]" @@ -243224,49 +261738,51 @@ "crate_id": 0, "deprecation": null, "docs": "Filesystem manipulation operations.\n\nThis module contains basic methods to manipulate the contents of the local\nfilesystem. All methods in this module represent cross-platform filesystem\noperations. Extra platform-specific functionality can be found in the\nextension traits of `std::os::$platform`.\n\n# Time of Check to Time of Use (TOCTOU)\n\nMany filesystem operations are subject to a race condition known as \"Time of Check to Time of Use\"\n(TOCTOU). This occurs when a program checks a condition (like file existence or permissions)\nand then uses the result of that check to make a decision, but the condition may have changed\nbetween the check and the use.\n\nFor example, checking if a file exists and then creating it if it doesn't is vulnerable to\nTOCTOU - another process could create the file between your check and creation attempt.\n\nAnother example is with symbolic links: when removing a directory, if another process replaces\nthe directory with a symbolic link between the check and the removal operation, the removal\nmight affect the wrong location. This is why operations like [`remove_dir_all`] need to use\natomic operations to prevent such race conditions.\n\nTo avoid TOCTOU issues:\n- Be aware that metadata operations (like [`metadata`] or [`symlink_metadata`]) may be affected by\nchanges made by other processes.\n- Use atomic operations when possible (like [`File::create_new`] instead of checking existence then creating).\n- Keep file open for the duration of operations.", - "id": 2424, + "id": 2422, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 2413, - 2437, - 2441, + 2411, + 2435, + 2439, 2714, 2713, - 2428, - 2446, + 2426, 2444, + 2442, 2599, 2934, - 2415, - 2416, - 2420, + 2413, + 2414, + 2418, 2961, + 2962, + 2963, 2596, 2597, - 2962, 2964, - 2965, - 2969, - 2970, + 2966, + 2967, 2971, - 2973, 2972, + 2973, 2975, 2974, + 2977, + 2976, 2712, 2855, - 2978, - 2980 + 2980, + 2982 ] } }, "links": { - "`File::create_new`": 2425, + "`File::create_new`": 2423, "`metadata`": 2596, - "`remove_dir_all`": 2974, + "`remove_dir_all`": 2976, "`symlink_metadata`": 2597 }, "name": "fs", @@ -243276,14 +261792,14 @@ 1 ], "end": [ - 3306, + 3395, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2425": { + "2423": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 77, patch: 0})}, feature: \"file_create_new\"}}]" @@ -243292,7 +261808,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new file in read-write mode; error if the file exists.\n\nThis function will create a file if it does not exist, or return an error if it does. This\nway, if the call succeeds, the file returned is guaranteed to be new.\nIf a file exists at the target location, creating a new file will fail with [`AlreadyExists`]\nor another error based on the situation. See [`OpenOptions::open`] for a\nnon-exhaustive list of likely errors.\n\nThis option is useful because it is atomic. Otherwise between checking whether a file\nexists and creating a new one, the file may have been created by another process (a [TOCTOU]\nrace condition / attack).\n\nThis can also be written using\n`File::options().read(true).write(true).create_new(true).open(...)`.\n\n[`AlreadyExists`]: crate::io::ErrorKind::AlreadyExists\n[TOCTOU]: self#time-of-check-to-time-of-use-toctou\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::Write;\n\nfn main() -> std::io::Result<()> {\n let mut f = File::create_new(\"foo.txt\")?;\n f.write_all(\"Hello, world!\".as_bytes())?;\n Ok(())\n}\n```", - "id": 2425, + "id": 2423, "inner": { "function": { "generics": { @@ -243313,7 +261829,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -243363,7 +261879,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -243372,7 +261888,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -243380,25 +261896,25 @@ } }, "links": { - "`OpenOptions::open`": 2414, - "crate::io::ErrorKind::AlreadyExists": 2423, - "self#time-of-check-to-time-of-use-toctou": 2424 + "`OpenOptions::open`": 2412, + "crate::io::ErrorKind::AlreadyExists": 2421, + "self#time-of-check-to-time-of-use-toctou": 2422 }, "name": "create_new", "span": { "begin": [ - 594, + 675, 5 ], "end": [ - 596, + 677, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2426": { + "2424": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"open_options_new\")]" @@ -243418,7 +261934,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a blank new set of options ready for configuration.\n\nAll options are initially set to `false`.\n\n# Examples\n\n```no_run\nuse std::fs::OpenOptions;\n\nlet mut options = OpenOptions::new();\nlet file = options.read(true).open(\"foo.txt\");\n```", - "id": 2426, + "id": 2424, "inner": { "function": { "generics": { @@ -243445,18 +261961,18 @@ "name": "new", "span": { "begin": [ - 1493, + 1574, 5 ], "end": [ - 1495, + 1576, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2427": { + "2425": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"file_options\")]" @@ -243476,7 +261992,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a new OpenOptions object.\n\nThis function returns a new OpenOptions object that you can use to\nopen or create a file with specific options if `open()` or `create()`\nare not appropriate.\n\nIt is equivalent to `OpenOptions::new()`, but allows you to write more\nreadable code. Instead of\n`OpenOptions::new().append(true).open(\"example.log\")`,\nyou can write `File::options().append(true).open(\"example.log\")`. This\nalso avoids the need to import `OpenOptions`.\n\nSee the [`OpenOptions::new`] function for more details.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::Write;\n\nfn main() -> std::io::Result<()> {\n let mut f = File::options().append(true).open(\"example.log\")?;\n writeln!(&mut f, \"new line\")?;\n Ok(())\n}\n```", - "id": 2427, + "id": 2425, "inner": { "function": { "generics": { @@ -243496,7 +262012,7 @@ "output": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -243504,23 +262020,23 @@ } }, "links": { - "`OpenOptions::new`": 2426 + "`OpenOptions::new`": 2424 }, "name": "options", "span": { "begin": [ - 627, + 708, 5 ], "end": [ - 629, + 710, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2428": { + "2426": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"FsOpenOptions\")]" @@ -243535,7 +262051,7 @@ "crate_id": 0, "deprecation": null, "docs": "Options and flags which can be used to configure how a file is opened.\n\nThis builder exposes the ability to configure how a [`File`] is opened and\nwhat operations are permitted on the open file. The [`File::open`] and\n[`File::create`] methods are aliases for commonly used options using this\nbuilder.\n\nGenerally speaking, when using `OpenOptions`, you'll first call\n[`OpenOptions::new`], then chain calls to methods to set each option, then\ncall [`OpenOptions::open`], passing the path of the file you're trying to\nopen. This will give you a [`io::Result`] with a [`File`] inside that you\ncan further operate on.\n\n# Examples\n\nOpening a file to read:\n\n```no_run\nuse std::fs::OpenOptions;\n\nlet file = OpenOptions::new().read(true).open(\"foo.txt\");\n```\n\nOpening a file for both reading and writing, as well as creating it if it\ndoesn't exist:\n\n```no_run\nuse std::fs::OpenOptions;\n\nlet file = OpenOptions::new()\n .read(true)\n .write(true)\n .create(true)\n .open(\"foo.txt\");\n```", - "id": 2428, + "id": 2426, "inner": { "struct": { "generics": { @@ -243573,12 +262089,12 @@ } }, "links": { - "`File::create`": 2421, - "`File::open`": 2417, - "`File`": 2413, - "`OpenOptions::new`": 2426, - "`OpenOptions::open`": 2414, - "`io::Result`": 468 + "`File::create`": 2419, + "`File::open`": 2415, + "`File`": 2411, + "`OpenOptions::new`": 2424, + "`OpenOptions::open`": 2412, + "`io::Result`": 469 }, "name": "OpenOptions", "span": { @@ -243594,7 +262110,7 @@ }, "visibility": "public" }, - "2429": { + "2427": { "attrs": [ { "other": "#[doc(alias = \"fdatasync\")]" @@ -243606,7 +262122,7 @@ "crate_id": 0, "deprecation": null, "docs": "This function is similar to [`sync_all`], except that it might not\nsynchronize file metadata to the filesystem.\n\nThis is intended for use cases that must synchronize content, but don't\nneed the metadata on disk. The goal of this method is to reduce disk\noperations.\n\nNote that some platforms may simply implement this in terms of\n[`sync_all`].\n\n[`sync_all`]: File::sync_all\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let mut f = File::create(\"foo.txt\")?;\n f.write_all(b\"Hello, world!\")?;\n\n f.sync_data()?;\n Ok(())\n}\n```", - "id": 2429, + "id": 2427, "inner": { "function": { "generics": { @@ -243650,7 +262166,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -243658,59 +262174,23 @@ } }, "links": { - "File::sync_all": 2408 + "File::sync_all": 2406 }, "name": "sync_data", "span": { "begin": [ - 694, + 775, 5 ], "end": [ - 696, + 777, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "243": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 243, - "inner": { - "use": { - "id": 244, - "is_glob": false, - "name": "MANTISSA_DIGITS", - "source": "core::f32::MANTISSA_DIGITS" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 18, - 32 - ], - "end": [ - 18, - 47 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "2430": { + "2428": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"file_lock\"}}]" @@ -243719,7 +262199,7 @@ "crate_id": 0, "deprecation": null, "docs": "Acquire an exclusive lock on the file. Blocks until the lock can be acquired.\n\nThis acquires an exclusive lock; no other file handle to this file may acquire another lock.\n\nThis lock may be advisory or mandatory. This lock is meant to interact with [`lock`],\n[`try_lock`], [`lock_shared`], [`try_lock_shared`], and [`unlock`]. Its interactions with\nother methods, such as [`read`] and [`write`] are platform specific, and it may or may not\ncause non-lockholders to block.\n\nIf this file handle/descriptor, or a clone of it, already holds a lock the exact behavior\nis unspecified and platform dependent, including the possibility that it will deadlock.\nHowever, if this method returns, then an exclusive lock is held.\n\nIf the file is not open for writing, it is unspecified whether this function returns an error.\n\nThe lock will be released when this file (along with any other file descriptors/handles\nduplicated or inherited from it) is closed, or if the [`unlock`] method is called.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `flock` function on Unix with the `LOCK_EX` flag,\nand the `LockFileEx` function on Windows with the `LOCKFILE_EXCLUSIVE_LOCK` flag. Note that,\nthis [may change in the future][changes].\n\nOn Windows, locking a file will fail if the file is opened only for append. To lock a file,\nopen it with one of `.read(true)`, `.read(true).append(true)`, or `.write(true)`.\n\n[changes]: io#platform-specific-behavior\n\n[`lock`]: File::lock\n[`lock_shared`]: File::lock_shared\n[`try_lock`]: File::try_lock\n[`try_lock_shared`]: File::try_lock_shared\n[`unlock`]: File::unlock\n[`read`]: Read::read\n[`write`]: Write::write\n\n# Examples\n\n```no_run\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f = File::create(\"foo.txt\")?;\n f.lock()?;\n Ok(())\n}\n```", - "id": 2430, + "id": 2428, "inner": { "function": { "generics": { @@ -243763,7 +262243,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -243771,30 +262251,30 @@ } }, "links": { - "File::lock": 2430, - "File::lock_shared": 2432, - "File::try_lock": 2431, - "File::try_lock_shared": 2433, - "File::unlock": 2434, - "Read::read": 2435, - "Write::write": 2436, - "io#platform-specific-behavior": 501 + "File::lock": 2428, + "File::lock_shared": 2430, + "File::try_lock": 2429, + "File::try_lock_shared": 2431, + "File::unlock": 2432, + "Read::read": 2433, + "Write::write": 2434, + "io#platform-specific-behavior": 502 }, "name": "lock", "span": { "begin": [ - 747, + 828, 5 ], "end": [ - 749, + 830, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2431": { + "2429": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"file_lock\"}}]" @@ -243803,7 +262283,7 @@ "crate_id": 0, "deprecation": null, "docs": "Try to acquire an exclusive lock on the file.\n\nReturns `Err(TryLockError::WouldBlock)` if a different lock is already held on this file\n(via another handle/descriptor).\n\nThis acquires an exclusive lock; no other file handle to this file may acquire another lock.\n\nThis lock may be advisory or mandatory. This lock is meant to interact with [`lock`],\n[`try_lock`], [`lock_shared`], [`try_lock_shared`], and [`unlock`]. Its interactions with\nother methods, such as [`read`] and [`write`] are platform specific, and it may or may not\ncause non-lockholders to block.\n\nIf this file handle/descriptor, or a clone of it, already holds a lock, the exact behavior\nis unspecified and platform dependent, including the possibility that it will deadlock.\nHowever, if this method returns `Ok(())`, then it has acquired an exclusive lock.\n\nIf the file is not open for writing, it is unspecified whether this function returns an error.\n\nThe lock will be released when this file (along with any other file descriptors/handles\nduplicated or inherited from it) is closed, or if the [`unlock`] method is called.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `flock` function on Unix with the `LOCK_EX` and\n`LOCK_NB` flags, and the `LockFileEx` function on Windows with the `LOCKFILE_EXCLUSIVE_LOCK`\nand `LOCKFILE_FAIL_IMMEDIATELY` flags. Note that, this\n[may change in the future][changes].\n\nOn Windows, locking a file will fail if the file is opened only for append. To lock a file,\nopen it with one of `.read(true)`, `.read(true).append(true)`, or `.write(true)`.\n\n[changes]: io#platform-specific-behavior\n\n[`lock`]: File::lock\n[`lock_shared`]: File::lock_shared\n[`try_lock`]: File::try_lock\n[`try_lock_shared`]: File::try_lock_shared\n[`unlock`]: File::unlock\n[`read`]: Read::read\n[`write`]: Write::write\n\n# Examples\n\n```no_run\nuse std::fs::{File, TryLockError};\n\nfn main() -> std::io::Result<()> {\n let f = File::create(\"foo.txt\")?;\n // Explicit handling of the WouldBlock error\n match f.try_lock() {\n Ok(_) => (),\n Err(TryLockError::WouldBlock) => (), // Lock not acquired\n Err(TryLockError::Error(err)) => return Err(err),\n }\n // Alternately, propagate the error as an io::Error\n f.try_lock()?;\n Ok(())\n}\n```", - "id": 2431, + "id": 2429, "inner": { "function": { "generics": { @@ -243847,7 +262327,7 @@ "type": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } } @@ -243864,30 +262344,66 @@ } }, "links": { - "File::lock": 2430, - "File::lock_shared": 2432, - "File::try_lock": 2431, - "File::try_lock_shared": 2433, - "File::unlock": 2434, - "Read::read": 2435, - "Write::write": 2436, - "io#platform-specific-behavior": 501 + "File::lock": 2428, + "File::lock_shared": 2430, + "File::try_lock": 2429, + "File::try_lock_shared": 2431, + "File::unlock": 2432, + "Read::read": 2433, + "Write::write": 2434, + "io#platform-specific-behavior": 502 }, "name": "try_lock", "span": { "begin": [ - 863, + 944, 5 ], "end": [ - 865, + 946, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2432": { + "243": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 243, + "inner": { + "use": { + "id": 244, + "is_glob": false, + "name": "MAX", + "source": "core::f32::MAX" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 18, + 49 + ], + "end": [ + 18, + 52 + ], + "filename": "std/src/num/f32.rs" + }, + "visibility": "public" + }, + "2430": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"file_lock\"}}]" @@ -243896,7 +262412,7 @@ "crate_id": 0, "deprecation": null, "docs": "Acquire a shared (non-exclusive) lock on the file. Blocks until the lock can be acquired.\n\nThis acquires a shared lock; more than one file handle may hold a shared lock, but none may\nhold an exclusive lock at the same time.\n\nThis lock may be advisory or mandatory. This lock is meant to interact with [`lock`],\n[`try_lock`], [`lock_shared`], [`try_lock_shared`], and [`unlock`]. Its interactions with\nother methods, such as [`read`] and [`write`] are platform specific, and it may or may not\ncause non-lockholders to block.\n\nIf this file handle/descriptor, or a clone of it, already holds a lock, the exact behavior\nis unspecified and platform dependent, including the possibility that it will deadlock.\nHowever, if this method returns, then a shared lock is held.\n\nThe lock will be released when this file (along with any other file descriptors/handles\nduplicated or inherited from it) is closed, or if the [`unlock`] method is called.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `flock` function on Unix with the `LOCK_SH` flag,\nand the `LockFileEx` function on Windows. Note that, this\n[may change in the future][changes].\n\nOn Windows, locking a file will fail if the file is opened only for append. To lock a file,\nopen it with one of `.read(true)`, `.read(true).append(true)`, or `.write(true)`.\n\n[changes]: io#platform-specific-behavior\n\n[`lock`]: File::lock\n[`lock_shared`]: File::lock_shared\n[`try_lock`]: File::try_lock\n[`try_lock_shared`]: File::try_lock_shared\n[`unlock`]: File::unlock\n[`read`]: Read::read\n[`write`]: Write::write\n\n# Examples\n\n```no_run\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n f.lock_shared()?;\n Ok(())\n}\n```", - "id": 2432, + "id": 2430, "inner": { "function": { "generics": { @@ -243940,7 +262456,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -243948,30 +262464,30 @@ } }, "links": { - "File::lock": 2430, - "File::lock_shared": 2432, - "File::try_lock": 2431, - "File::try_lock_shared": 2433, - "File::unlock": 2434, - "Read::read": 2435, - "Write::write": 2436, - "io#platform-specific-behavior": 501 + "File::lock": 2428, + "File::lock_shared": 2430, + "File::try_lock": 2429, + "File::try_lock_shared": 2431, + "File::unlock": 2432, + "Read::read": 2433, + "Write::write": 2434, + "io#platform-specific-behavior": 502 }, "name": "lock_shared", "span": { "begin": [ - 799, + 880, 5 ], "end": [ - 801, + 882, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2433": { + "2431": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"file_lock\"}}]" @@ -243980,7 +262496,7 @@ "crate_id": 0, "deprecation": null, "docs": "Try to acquire a shared (non-exclusive) lock on the file.\n\nReturns `Err(TryLockError::WouldBlock)` if a different lock is already held on this file\n(via another handle/descriptor).\n\nThis acquires a shared lock; more than one file handle may hold a shared lock, but none may\nhold an exclusive lock at the same time.\n\nThis lock may be advisory or mandatory. This lock is meant to interact with [`lock`],\n[`try_lock`], [`lock_shared`], [`try_lock_shared`], and [`unlock`]. Its interactions with\nother methods, such as [`read`] and [`write`] are platform specific, and it may or may not\ncause non-lockholders to block.\n\nIf this file handle, or a clone of it, already holds a lock, the exact behavior is\nunspecified and platform dependent, including the possibility that it will deadlock.\nHowever, if this method returns `Ok(())`, then it has acquired a shared lock.\n\nThe lock will be released when this file (along with any other file descriptors/handles\nduplicated or inherited from it) is closed, or if the [`unlock`] method is called.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `flock` function on Unix with the `LOCK_SH` and\n`LOCK_NB` flags, and the `LockFileEx` function on Windows with the\n`LOCKFILE_FAIL_IMMEDIATELY` flag. Note that, this\n[may change in the future][changes].\n\nOn Windows, locking a file will fail if the file is opened only for append. To lock a file,\nopen it with one of `.read(true)`, `.read(true).append(true)`, or `.write(true)`.\n\n[changes]: io#platform-specific-behavior\n\n[`lock`]: File::lock\n[`lock_shared`]: File::lock_shared\n[`try_lock`]: File::try_lock\n[`try_lock_shared`]: File::try_lock_shared\n[`unlock`]: File::unlock\n[`read`]: Read::read\n[`write`]: Write::write\n\n# Examples\n\n```no_run\nuse std::fs::{File, TryLockError};\n\nfn main() -> std::io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n // Explicit handling of the WouldBlock error\n match f.try_lock_shared() {\n Ok(_) => (),\n Err(TryLockError::WouldBlock) => (), // Lock not acquired\n Err(TryLockError::Error(err)) => return Err(err),\n }\n // Alternately, propagate the error as an io::Error\n f.try_lock_shared()?;\n\n Ok(())\n}\n```", - "id": 2433, + "id": 2431, "inner": { "function": { "generics": { @@ -244024,7 +262540,7 @@ "type": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } } @@ -244041,30 +262557,30 @@ } }, "links": { - "File::lock": 2430, - "File::lock_shared": 2432, - "File::try_lock": 2431, - "File::try_lock_shared": 2433, - "File::unlock": 2434, - "Read::read": 2435, - "Write::write": 2436, - "io#platform-specific-behavior": 501 + "File::lock": 2428, + "File::lock_shared": 2430, + "File::try_lock": 2429, + "File::try_lock_shared": 2431, + "File::unlock": 2432, + "Read::read": 2433, + "Write::write": 2434, + "io#platform-specific-behavior": 502 }, "name": "try_lock_shared", "span": { "begin": [ - 927, + 1008, 5 ], "end": [ - 929, + 1010, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2434": { + "2432": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"file_lock\"}}]" @@ -244073,7 +262589,7 @@ "crate_id": 0, "deprecation": null, "docs": "Release all locks on the file.\n\nAll locks are released when the file (along with any other file descriptors/handles\nduplicated or inherited from it) is closed. This method allows releasing locks without\nclosing the file.\n\nIf no lock is currently held via this file descriptor/handle, this method may return an\nerror, or may return successfully without taking any action.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `flock` function on Unix with the `LOCK_UN` flag,\nand the `UnlockFile` function on Windows. Note that, this\n[may change in the future][changes].\n\nOn Windows, locking a file will fail if the file is opened only for append. To lock a file,\nopen it with one of `.read(true)`, `.read(true).append(true)`, or `.write(true)`.\n\n[changes]: io#platform-specific-behavior\n\n# Examples\n\n```no_run\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n f.lock()?;\n f.unlock()?;\n Ok(())\n}\n```", - "id": 2434, + "id": 2432, "inner": { "function": { "generics": { @@ -244117,7 +262633,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -244125,23 +262641,23 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "unlock", "span": { "begin": [ - 964, + 1045, 5 ], "end": [ - 966, + 1047, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2435": { + "2433": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -244150,7 +262666,7 @@ "crate_id": 0, "deprecation": null, "docs": "Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read.\n\nThis function does not provide any guarantees about whether it blocks\nwaiting for data, but if an object needs to block for a read and cannot,\nit will typically signal this via an [`Err`] return value.\n\nIf the return value of this method is [`Ok(n)`], then implementations must\nguarantee that `0 <= n <= buf.len()`. A nonzero `n` value indicates\nthat the buffer `buf` has been filled in with `n` bytes of data from this\nsource. If `n` is `0`, then it can indicate one of two scenarios:\n\n1. This reader has reached its \"end of file\" and will likely no longer\n be able to produce bytes. Note that this does not mean that the\n reader will *always* no longer be able to produce bytes. As an example,\n on Linux, this method will call the `recv` syscall for a [`TcpStream`],\n where returning zero indicates the connection was shut down correctly. While\n for [`File`], it is possible to reach the end of file and get zero as result,\n but if more data is appended to the file, future calls to `read` will return\n more data.\n2. The buffer specified was 0 bytes in length.\n\nIt is not an error if the returned value `n` is smaller than the buffer size,\neven when the reader is not at the end of the stream yet.\nThis may happen for example because fewer bytes are actually available right now\n(e. g. being close to end-of-file) or because read() was interrupted by a signal.\n\nAs this trait is safe to implement, callers in unsafe code cannot rely on\n`n <= buf.len()` for safety.\nExtra care needs to be taken when `unsafe` functions are used to access the read bytes.\nCallers have to ensure that no unchecked out-of-bounds accesses are possible even if\n`n > buf.len()`.\n\n*Implementations* of this method can make no assumptions about the contents of `buf` when\nthis function is called. It is recommended that implementations only write data to `buf`\ninstead of reading its contents.\n\nCorrespondingly, however, *callers* of this method in unsafe code must not assume\nany guarantees about how the implementation uses `buf`. The trait is safe to implement,\nso it is possible that the code that's supposed to write to the buffer might also read\nfrom it. It is your responsibility to make sure that `buf` is initialized\nbefore calling `read`. Calling `read` with an uninitialized `buf` (of the kind one\nobtains via [`MaybeUninit`]) is not safe, and can lead to undefined behavior.\n\n[`MaybeUninit`]: crate::mem::MaybeUninit\n\n# Errors\n\nIf this function encounters any form of I/O or other error, an error\nvariant will be returned. If an error is returned then it must be\nguaranteed that no bytes were read.\n\nAn error of the [`ErrorKind::Interrupted`] kind is non-fatal and the read\noperation should be retried if there is nothing else to do.\n\n# Examples\n\n[`File`]s implement `Read`:\n\n[`Ok(n)`]: Ok\n[`File`]: crate::fs::File\n[`TcpStream`]: crate::net::TcpStream\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let mut buffer = [0; 10];\n\n // read up to 10 bytes\n let n = f.read(&mut buffer[..])?;\n\n println!(\"The bytes: {:?}\", &buffer[..n]);\n Ok(())\n}\n```", - "id": 2435, + "id": 2433, "inner": { "function": { "generics": { @@ -244208,7 +262724,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -244219,9 +262735,9 @@ "Ok": 61, "`Err`": 59, "`ErrorKind::Interrupted`": 2958, - "crate::fs::File": 2413, - "crate::mem::MaybeUninit": 3986, - "crate::net::TcpStream": 3047 + "crate::fs::File": 2411, + "crate::mem::MaybeUninit": 3985, + "crate::net::TcpStream": 3049 }, "name": "read", "span": { @@ -244237,7 +262753,7 @@ }, "visibility": "default" }, - "2436": { + "2434": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -244246,7 +262762,7 @@ "crate_id": 0, "deprecation": null, "docs": "Writes a buffer into this writer, returning how many bytes were written.\n\nThis function will attempt to write the entire contents of `buf`, but\nthe entire write might not succeed, or the write may also generate an\nerror. Typically, a call to `write` represents one attempt to write to\nany wrapped object.\n\nCalls to `write` are not guaranteed to block waiting for data to be\nwritten, and a write which would otherwise block can be indicated through\nan [`Err`] variant.\n\nIf this method consumed `n > 0` bytes of `buf` it must return [`Ok(n)`].\nIf the return value is `Ok(n)` then `n` must satisfy `n <= buf.len()`.\nA return value of `Ok(0)` typically means that the underlying object is\nno longer able to accept bytes and will likely not be able to in the\nfuture as well, or that the buffer provided is empty.\n\n# Errors\n\nEach call to `write` may generate an I/O error indicating that the\noperation could not be completed. If an error is returned then no bytes\nin the buffer were written to this writer.\n\nIt is **not** considered an error if the entire buffer could not be\nwritten to this writer.\n\nAn error of the [`ErrorKind::Interrupted`] kind is non-fatal and the\nwrite operation should be retried if there is nothing else to do.\n\n# Examples\n\n```no_run\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let mut buffer = File::create(\"foo.txt\")?;\n\n // Writes some prefix of the byte string, not necessarily all of it.\n buffer.write(b\"some bytes\")?;\n Ok(())\n}\n```\n\n[`Ok(n)`]: Ok", - "id": 2436, + "id": 2434, "inner": { "function": { "generics": { @@ -244304,7 +262820,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -244330,7 +262846,7 @@ }, "visibility": "default" }, - "2437": { + "2435": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"file_lock\"}}]" @@ -244339,7 +262855,7 @@ "crate_id": 0, "deprecation": null, "docs": "An enumeration of possible errors which can occur while trying to acquire a lock\nfrom the [`try_lock`] method and [`try_lock_shared`] method on a [`File`].\n\n[`try_lock`]: File::try_lock\n[`try_lock_shared`]: File::try_lock_shared", - "id": 2437, + "id": 2435, "inner": { "enum": { "generics": { @@ -244374,9 +262890,9 @@ } }, "links": { - "File::try_lock": 2431, - "File::try_lock_shared": 2433, - "`File`": 2413 + "File::try_lock": 2429, + "File::try_lock_shared": 2431, + "`File`": 2411 }, "name": "TryLockError", "span": { @@ -244392,7 +262908,7 @@ }, "visibility": "public" }, - "2438": { + "2436": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -244401,7 +262917,7 @@ "crate_id": 0, "deprecation": null, "docs": "A parameter was incorrect.", - "id": 2438, + "id": 2436, "inner": { "variant": { "discriminant": null, @@ -244412,18 +262928,18 @@ "name": "InvalidInput", "span": { "begin": [ - 305, + 308, 5 ], "end": [ - 305, + 308, 17 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "2439": { + "2437": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -244432,7 +262948,7 @@ "crate_id": 0, "deprecation": null, "docs": "Truncates or extends the underlying file, updating the size of\nthis file to become `size`.\n\nIf the `size` is less than the current file's size, then the file will\nbe shrunk. If it is greater than the current file's size, then the file\nwill be extended to `size` and have all of the intermediate data filled\nin with 0s.\n\nThe file's cursor isn't changed. In particular, if the cursor was at the\nend and the file is shrunk using this operation, the cursor will now be\npast the end.\n\n# Errors\n\nThis function will return an error if the file is not opened for writing.\nAlso, [`std::io::ErrorKind::InvalidInput`](crate::io::ErrorKind::InvalidInput)\nwill be returned if the desired length would cause an overflow due to\nthe implementation specifics.\n\n# Examples\n\n```no_run\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let mut f = File::create(\"foo.txt\")?;\n f.set_len(10)?;\n Ok(())\n}\n```\n\nNote that this method alters the content of the underlying file, even\nthough it takes `&self` rather than `&mut self`.", - "id": 2439, + "id": 2437, "inner": { "function": { "generics": { @@ -244482,7 +262998,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -244490,23 +263006,23 @@ } }, "links": { - "crate::io::ErrorKind::InvalidInput": 2438 + "crate::io::ErrorKind::InvalidInput": 2436 }, "name": "set_len", "span": { "begin": [ - 1002, + 1083, 5 ], "end": [ - 1004, + 1085, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2440": { + "2438": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -244515,7 +263031,7 @@ "crate_id": 0, "deprecation": null, "docs": "Queries metadata about the underlying file.\n\n# Examples\n\n```no_run\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let metadata = f.metadata()?;\n Ok(())\n}\n```", - "id": 2440, + "id": 2438, "inner": { "function": { "generics": { @@ -244554,7 +263070,7 @@ "type": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } } @@ -244563,7 +263079,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -244574,18 +263090,18 @@ "name": "metadata", "span": { "begin": [ - 1020, + 1101, 5 ], "end": [ - 1022, + 1103, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2441": { + "2439": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -244594,7 +263110,7 @@ "crate_id": 0, "deprecation": null, "docs": "Metadata information about a file.\n\nThis structure is returned from the [`metadata`] or\n[`symlink_metadata`] function or method and represents known\nmetadata about a file such as its permissions, size, modification\ntimes, etc.", - "id": 2441, + "id": 2439, "inner": { "struct": { "generics": { @@ -244651,7 +263167,7 @@ }, "visibility": "public" }, - "2442": { + "2440": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"file_try_clone\"}}]" @@ -244660,7 +263176,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `File` instance that shares the same underlying file handle\nas the existing `File` instance. Reads, writes, and seeks will affect\nboth `File` instances simultaneously.\n\n# Examples\n\nCreates two handles for a file named `foo.txt`:\n\n```no_run\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let mut file = File::open(\"foo.txt\")?;\n let file_copy = file.try_clone()?;\n Ok(())\n}\n```\n\nAssuming there’s a file named `foo.txt` with contents `abcdef\\n`, create\ntwo handles, seek one of them, and read the remaining bytes from the\nother handle:\n\n```no_run\nuse std::fs::File;\nuse std::io::SeekFrom;\nuse std::io::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let mut file = File::open(\"foo.txt\")?;\n let mut file_copy = file.try_clone()?;\n\n file.seek(SeekFrom::Start(3))?;\n\n let mut contents = vec![];\n file_copy.read_to_end(&mut contents)?;\n assert_eq!(contents, b\"def\\n\");\n Ok(())\n}\n```", - "id": 2442, + "id": 2440, "inner": { "function": { "generics": { @@ -244699,7 +263215,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -244708,7 +263224,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -244719,18 +263235,18 @@ "name": "try_clone", "span": { "begin": [ - 1064, + 1145, 5 ], "end": [ - 1066, + 1147, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2443": { + "2441": { "attrs": [ { "other": "#[doc(alias = \"fchmod\", alias = \"SetFileInformationByHandle\")]" @@ -244742,7 +263258,7 @@ "crate_id": 0, "deprecation": null, "docs": "Changes the permissions on the underlying file.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `fchmod` function on Unix and\nthe `SetFileInformationByHandle` function on Windows. Note that, this\n[may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\n# Errors\n\nThis function will return an error if the user lacks permission change\nattributes on the underlying file. It may also return an error in other\nos-specific unspecified cases.\n\n# Examples\n\n```no_run\nfn main() -> std::io::Result<()> {\n use std::fs::File;\n\n let file = File::open(\"foo.txt\")?;\n let mut perms = file.metadata()?.permissions();\n perms.set_readonly(true);\n file.set_permissions(perms)?;\n Ok(())\n}\n```\n\nNote that this method alters the permissions of the underlying file,\neven though it takes `&self` rather than `&mut self`.", - "id": 2443, + "id": 2441, "inner": { "function": { "generics": { @@ -244775,7 +263291,7 @@ { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } } @@ -244796,7 +263312,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -244804,23 +263320,23 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "set_permissions", "span": { "begin": [ - 1102, + 1183, 5 ], "end": [ - 1104, + 1185, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2444": { + "2442": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"FsPermissions\")]" @@ -244835,7 +263351,7 @@ "crate_id": 0, "deprecation": null, "docs": "Representation of the various permissions on a file.\n\nThis module only currently provides one bit of information,\n[`Permissions::readonly`], which is exposed on all currently supported\nplatforms. Unix-specific functionality, such as mode bits, is available\nthrough the [`PermissionsExt`] trait.\n\n[`PermissionsExt`]: crate::os::unix::fs::PermissionsExt", - "id": 2444, + "id": 2442, "inner": { "struct": { "generics": { @@ -244891,7 +263407,7 @@ }, "visibility": "public" }, - "2445": { + "2443": { "attrs": [ { "other": "#[doc(alias = \"futimens\")]" @@ -244909,7 +263425,7 @@ "crate_id": 0, "deprecation": null, "docs": "Changes the timestamps of the underlying file.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `futimens` function on Unix (falling back to\n`futimes` on macOS before 10.13) and the `SetFileTime` function on Windows. Note that this\n[may change in the future][changes].\n\nOn most platforms, including UNIX and Windows platforms, this function can also change the\ntimestamps of a directory. To get a `File` representing a directory in order to call\n`set_times`, open the directory with `File::open` without attempting to obtain write\npermission.\n\n[changes]: io#platform-specific-behavior\n\n# Errors\n\nThis function will return an error if the user lacks permission to change timestamps on the\nunderlying file. It may also return an error in other os-specific unspecified cases.\n\nThis function may return an error if the operating system lacks support to change one or\nmore of the timestamps set in the `FileTimes` structure.\n\n# Examples\n\n```no_run\nfn main() -> std::io::Result<()> {\n use std::fs::{self, File, FileTimes};\n\n let src = fs::metadata(\"src\")?;\n let dest = File::open(\"dest\")?;\n let times = FileTimes::new()\n .set_accessed(src.accessed()?)\n .set_modified(src.modified()?);\n dest.set_times(times)?;\n Ok(())\n}\n```", - "id": 2445, + "id": 2443, "inner": { "function": { "generics": { @@ -244942,7 +263458,7 @@ { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } } @@ -244963,7 +263479,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -244971,23 +263487,23 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "set_times", "span": { "begin": [ - 1148, + 1229, 5 ], "end": [ - 1150, + 1231, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2446": { + "2444": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 75, patch: 0})}, feature: \"file_set_times\"}}]" @@ -244996,7 +263512,7 @@ "crate_id": 0, "deprecation": null, "docs": "Representation of the various timestamps on a file.", - "id": 2446, + "id": 2444, "inner": { "struct": { "generics": { @@ -245049,7 +263565,7 @@ }, "visibility": "public" }, - "2447": { + "2445": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 75, patch: 0})}, feature: \"file_set_times\"}}]" @@ -245061,7 +263577,7 @@ "crate_id": 0, "deprecation": null, "docs": "Changes the modification time of the underlying file.\n\nThis is an alias for `set_times(FileTimes::new().set_modified(time))`.", - "id": 2447, + "id": 2445, "inner": { "function": { "generics": { @@ -245094,7 +263610,7 @@ { "resolved_path": { "args": null, - "id": 2448, + "id": 2446, "path": "SystemTime" } } @@ -245115,7 +263631,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -245126,18 +263642,18 @@ "name": "set_modified", "span": { "begin": [ - 1157, + 1238, 5 ], "end": [ - 1159, + 1240, 6 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2448": { + "2446": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" @@ -245146,7 +263662,7 @@ "crate_id": 0, "deprecation": null, "docs": "A measurement of the system clock, useful for talking to\nexternal entities like the file system or other processes.\n\nDistinct from the [`Instant`] type, this time measurement **is not\nmonotonic**. This means that you can save a file to the file system, then\nsave another file to the file system, **and the second file has a\n`SystemTime` measurement earlier than the first**. In other words, an\noperation that happens after another operation in real time may have an\nearlier `SystemTime`!\n\nConsequently, comparing two `SystemTime` instances to learn about the\nduration between them returns a [`Result`] instead of an infallible [`Duration`]\nto indicate that this sort of time drift may happen and needs to be handled.\n\nAlthough a `SystemTime` cannot be directly inspected, the [`UNIX_EPOCH`]\nconstant is provided in this module as an anchor in time to learn\ninformation about a `SystemTime`. By calculating the duration from this\nfixed point in time, a `SystemTime` can be converted to a human-readable time,\nor perhaps some other string representation.\n\nThe size of a `SystemTime` struct may vary depending on the target operating\nsystem.\n\nA `SystemTime` does not count leap seconds.\n`SystemTime::now()`'s behavior around a leap second\nis the same as the operating system's wall clock.\nThe precise behavior near a leap second\n(e.g. whether the clock appears to run slow or fast, or stop, or jump)\ndepends on platform and configuration,\nso should not be relied on.\n\nExample:\n\n```no_run\nuse std::time::{Duration, SystemTime};\nuse std::thread::sleep;\n\nfn main() {\n let now = SystemTime::now();\n\n // we sleep for 2 seconds\n sleep(Duration::new(2, 0));\n match now.elapsed() {\n Ok(elapsed) => {\n // it prints '2'\n println!(\"{}\", elapsed.as_secs());\n }\n Err(e) => {\n // the system clock went backwards!\n println!(\"Great Scott! {e:?}\");\n }\n }\n}\n```\n\n# Platform-specific behavior\n\nThe precision of `SystemTime` can depend on the underlying OS-specific time format.\nFor example, on Windows the time is represented in 100 nanosecond intervals whereas Linux\ncan represent nanosecond intervals.\n\nThe following system calls are [currently] being used by `now()` to find out\nthe current time:\n\n| Platform | System call |\n|-----------|----------------------------------------------------------------------|\n| SGX | [`insecure_time` usercall]. More information on [timekeeping in SGX] |\n| UNIX | [clock_gettime (Realtime Clock)] |\n| Darwin | [clock_gettime (Realtime Clock)] |\n| VXWorks | [clock_gettime (Realtime Clock)] |\n| SOLID | `SOLID_RTC_ReadTime` |\n| WASI | [__wasi_clock_time_get (Realtime Clock)] |\n| Windows | [GetSystemTimePreciseAsFileTime] / [GetSystemTimeAsFileTime] |\n\n[currently]: crate::io#platform-specific-behavior\n[`insecure_time` usercall]: https://edp.fortanix.com/docs/api/fortanix_sgx_abi/struct.Usercalls.html#method.insecure_time\n[timekeeping in SGX]: https://edp.fortanix.com/docs/concepts/rust-std/#codestdtimecode\n[clock_gettime (Realtime Clock)]: https://linux.die.net/man/3/clock_gettime\n[__wasi_clock_time_get (Realtime Clock)]: https://github.com/WebAssembly/WASI/blob/main/legacy/preview1/docs.md#clock_time_get\n[GetSystemTimePreciseAsFileTime]: https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime\n[GetSystemTimeAsFileTime]: https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimeasfiletime\n\n**Disclaimer:** These system calls might change over time.\n\n> Note: mathematical operations like [`add`] may panic if the underlying\n> structure cannot represent the new point in time.\n\n[`add`]: SystemTime::add\n[`UNIX_EPOCH`]: SystemTime::UNIX_EPOCH", - "id": 2448, + "id": 2446, "inner": { "struct": { "generics": { @@ -245154,35 +263670,35 @@ "where_predicates": [] }, "impls": [ - 8558, - 8559, - 8560, - 8561, - 8562, - 8563, - 8564, - 8565, - 8566, - 8567, - 8568, - 8569, - 8570, - 8571, - 8572, - 8573, - 8574, - 8576, - 8577, - 8579, - 8580, - 8582, - 8584, - 8586, - 8588, - 8590, - 8593, - 8595, - 8597 + 8783, + 8784, + 8785, + 8786, + 8787, + 8788, + 8789, + 8790, + 8791, + 8792, + 8793, + 8794, + 8795, + 8796, + 8797, + 8798, + 8799, + 8801, + 8802, + 8804, + 8805, + 8807, + 8809, + 8811, + 8813, + 8815, + 8818, + 8820, + 8822 ], "kind": { "tuple": [ @@ -245192,12 +263708,12 @@ } }, "links": { - "SystemTime::UNIX_EPOCH": 8550, - "SystemTime::add": 8551, - "`Duration`": 500, - "`Instant`": 503, + "SystemTime::UNIX_EPOCH": 8775, + "SystemTime::add": 8776, + "`Duration`": 501, + "`Instant`": 504, "`Result`": 57, - "crate::io#platform-specific-behavior": 501 + "crate::io#platform-specific-behavior": 502 }, "name": "SystemTime", "span": { @@ -245213,19 +263729,19 @@ }, "visibility": "public" }, - "2449": { + "2447": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2449, + "id": 2447, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245237,25 +263753,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 2415, 2417, 2419, - 2421, - 2422, + 2420, + 2423, 2425, + 2406, 2427, - 2408, - 2429, + 2428, 2430, - 2432, + 2429, 2431, - 2433, - 2434, - 2439, + 2432, + 2437, + 2438, 2440, - 2442, + 2441, 2443, - 2445, - 2447 + 2445 ], "provided_trait_methods": [], "trait": null @@ -245265,66 +263781,30 @@ "name": null, "span": { "begin": [ - 424, + 505, 1 ], "end": [ - 1160, + 1241, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "245": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 245, - "inner": { - "use": { - "id": 246, - "is_glob": false, - "name": "MAX", - "source": "core::f32::MAX" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 18, - 49 - ], - "end": [ - 18, - 52 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "2450": { + "2448": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2450, + "id": 2448, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245349,19 +263829,19 @@ "span": null, "visibility": "default" }, - "2451": { + "2449": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2451, + "id": 2449, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245386,19 +263866,55 @@ "span": null, "visibility": "default" }, - "2452": { + "245": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 245, + "inner": { + "use": { + "id": 246, + "is_glob": false, + "name": "MAX_10_EXP", + "source": "core::f32::MAX_10_EXP" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 18, + 54 + ], + "end": [ + 18, + 64 + ], + "filename": "std/src/num/f32.rs" + }, + "visibility": "public" + }, + "2450": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2452, + "id": 2450, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245413,7 +263929,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -245423,19 +263939,19 @@ "span": null, "visibility": "default" }, - "2453": { + "2451": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2453, + "id": 2451, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245460,19 +263976,19 @@ "span": null, "visibility": "default" }, - "2454": { + "2452": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2454, + "id": 2452, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245487,7 +264003,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -245497,19 +264013,19 @@ "span": null, "visibility": "default" }, - "2455": { + "2453": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2455, + "id": 2453, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245524,7 +264040,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -245534,12 +264050,12 @@ "span": null, "visibility": "default" }, - "2456": { + "2454": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2456, + "id": 2454, "inner": { "impl": { "blanket_impl": { @@ -245548,7 +264064,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245593,7 +264109,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -245609,7 +264125,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -245618,23 +264134,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "2457": { + "2455": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2457, + "id": 2455, "inner": { "impl": { "blanket_impl": { @@ -245643,7 +264159,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245688,7 +264204,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -245704,7 +264220,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -245713,23 +264229,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "2458": { + "2456": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2458, + "id": 2456, "inner": { "impl": { "blanket_impl": { @@ -245738,7 +264254,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245804,7 +264320,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -245829,23 +264345,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2459": { + "2457": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2459, + "id": 2457, "inner": { "impl": { "blanket_impl": { @@ -245854,7 +264370,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245877,7 +264393,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -245902,23 +264418,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2460": { + "2458": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2460, + "id": 2458, "inner": { "impl": { "blanket_impl": { @@ -245927,7 +264443,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -245975,7 +264491,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -245993,8 +264509,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -246010,7 +264526,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -246019,23 +264535,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2461": { + "2459": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2461, + "id": 2459, "inner": { "impl": { "blanket_impl": { @@ -246044,7 +264560,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -246110,8 +264626,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -246127,7 +264643,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -246136,23 +264652,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2462": { + "2460": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2462, + "id": 2460, "inner": { "impl": { "blanket_impl": { @@ -246161,7 +264677,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -246209,12 +264725,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -246234,12 +264750,12 @@ }, "visibility": "default" }, - "2463": { + "2461": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2463, + "id": 2461, "inner": { "function": { "generics": { @@ -246285,7 +264801,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -246297,7 +264813,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -246308,18 +264824,18 @@ "name": "fmt", "span": { "begin": [ - 1187, + 1268, 5 ], "end": [ - 1189, + 1270, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2464": { + "2462": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -246328,14 +264844,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2464, + "id": 2462, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -246347,12 +264863,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2463 + 2461 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -246361,18 +264877,18 @@ "name": null, "span": { "begin": [ - 1186, + 1267, 1 ], "end": [ - 1190, + 1271, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2465": { + "2463": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -246381,7 +264897,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reads some bytes from the file.\n\nSee [`Read::read`] docs for more info.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `read` function on Unix and\nthe `NtReadFile` function on Windows. Note that this [may change in\nthe future][changes].\n\n[changes]: io#platform-specific-behavior", - "id": 2465, + "id": 2463, "inner": { "function": { "generics": { @@ -246439,7 +264955,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -246447,24 +264963,24 @@ } }, "links": { - "`Read::read`": 2435, - "io#platform-specific-behavior": 501 + "`Read::read`": 2433, + "io#platform-specific-behavior": 502 }, "name": "read", "span": { "begin": [ - 1215, + 1296, 5 ], "end": [ - 1217, + 1298, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2466": { + "2464": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -246473,7 +264989,7 @@ "crate_id": 0, "deprecation": null, "docs": "Like `read`, except that it reads into a slice of buffers.\n\nData is copied to fill each buffer in order, with the final buffer\nwritten to possibly being only partially filled. This method must\nbehave equivalently to a single call to `read` with concatenated\nbuffers.\n\nThe default implementation calls `read` with either the first nonempty\nbuffer provided, or an empty one if none exists.", - "id": 2466, + "id": 2464, "inner": { "function": { "generics": { @@ -246520,7 +265036,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -246544,7 +265060,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -246566,7 +265082,7 @@ }, "visibility": "default" }, - "2467": { + "2465": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -246575,7 +265091,7 @@ "crate_id": 0, "deprecation": null, "docs": "Like `read`, except that it reads into a slice of buffers.\n\nSee [`Read::read_vectored`] docs for more info.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `readv` function on Unix and\nfalls back to the `read` implementation on Windows. Note that this\n[may change in the future][changes].\n\n[changes]: io#platform-specific-behavior", - "id": 2467, + "id": 2465, "inner": { "function": { "generics": { @@ -246622,7 +265138,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -246646,7 +265162,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -246654,24 +265170,24 @@ } }, "links": { - "`Read::read_vectored`": 2466, - "io#platform-specific-behavior": 501 + "`Read::read_vectored`": 2464, + "io#platform-specific-behavior": 502 }, "name": "read_vectored", "span": { "begin": [ - 1231, + 1312, 5 ], "end": [ - 1233, + 1314, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2468": { + "2466": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -246688,7 +265204,7 @@ "crate_id": 0, "deprecation": null, "docs": "A buffer type used with `Read::read_vectored`.\n\nIt is semantically a wrapper around a `&mut [u8]`, but is guaranteed to be\nABI compatible with the `iovec` type on Unix platforms and `WSABUF` on\nWindows.", - "id": 2468, + "id": 2466, "inner": { "struct": { "generics": { @@ -246705,6 +265221,7 @@ "where_predicates": [] }, "impls": [ + 4091, 4092, 4093, 4094, @@ -246719,10 +265236,9 @@ 4103, 4104, 4105, - 4106, - 4108, - 4111, - 4113 + 4107, + 4110, + 4112 ], "kind": { "tuple": [ @@ -246746,7 +265262,7 @@ }, "visibility": "public" }, - "2469": { + "2467": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -246755,7 +265271,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2469, + "id": 2467, "inner": { "function": { "generics": { @@ -246797,7 +265313,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -246818,7 +265334,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -246829,54 +265345,18 @@ "name": "read_buf", "span": { "begin": [ - 1236, + 1317, 5 ], "end": [ - 1238, + 1319, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "247": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 247, - "inner": { - "use": { - "id": 248, - "is_glob": false, - "name": "MAX_10_EXP", - "source": "core::f32::MAX_10_EXP" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 18, - 54 - ], - "end": [ - 18, - 64 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "2471": { + "2469": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 69941, is_soft: false}, feature: \"can_vector\"}}]" @@ -246885,7 +265365,7 @@ "crate_id": 0, "deprecation": null, "docs": "Determines if this `Read`er has an efficient `read_vectored`\nimplementation.\n\nIf a `Read`er does not override the default `read_vectored`\nimplementation, code using it may want to avoid the method all together\nand coalesce writes into a single buffer for higher performance.\n\nThe default implementation returns `false`.", - "id": 2471, + "id": 2469, "inner": { "function": { "generics": { @@ -246936,7 +265416,43 @@ }, "visibility": "default" }, - "2472": { + "247": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 247, + "inner": { + "use": { + "id": 248, + "is_glob": false, + "name": "MAX_EXP", + "source": "core::f32::MAX_EXP" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 18, + 66 + ], + "end": [ + 18, + 73 + ], + "filename": "std/src/num/f32.rs" + }, + "visibility": "public" + }, + "2470": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -246945,7 +265461,7 @@ "crate_id": 0, "deprecation": null, "docs": "Determines if `File` has an efficient `read_vectored` implementation.\n\nSee [`Read::is_read_vectored`] docs for more info.\n\n# Platform-specific behavior\n\nThis function currently returns `true` on Unix an `false` on Windows.\nNote that this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior", - "id": 2472, + "id": 2470, "inner": { "function": { "generics": { @@ -246982,29 +265498,29 @@ } }, "links": { - "`Read::is_read_vectored`": 2471, - "io#platform-specific-behavior": 501 + "`Read::is_read_vectored`": 2469, + "io#platform-specific-behavior": 502 }, "name": "is_read_vectored", "span": { "begin": [ - 1251, + 1332, 5 ], "end": [ - 1253, + 1334, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2473": { + "2471": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2473, + "id": 2471, "inner": { "function": { "generics": { @@ -247052,7 +265568,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -247075,7 +265591,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -247086,23 +265602,23 @@ "name": "read_to_end", "span": { "begin": [ - 1256, + 1337, 5 ], "end": [ - 1260, + 1341, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2474": { + "2472": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2474, + "id": 2472, "inner": { "function": { "generics": { @@ -247139,7 +265655,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -247162,7 +265678,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -247173,18 +265689,18 @@ "name": "read_to_string", "span": { "begin": [ - 1263, + 1344, 5 ], "end": [ - 1267, + 1348, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2475": { + "2473": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -247193,7 +265709,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2475, + "id": 2473, "inner": { "impl": { "blanket_impl": null, @@ -247204,7 +265720,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -247218,12 +265734,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 2463, 2465, 2467, - 2469, - 2472, - 2473, - 2474 + 2470, + 2471, + 2472 ], "provided_trait_methods": [ "read_vectored", @@ -247240,7 +265756,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -247249,18 +265765,18 @@ "name": null, "span": { "begin": [ - 1202, + 1283, 1 ], "end": [ - 1268, + 1349, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2476": { + "2474": { "attrs": [ { "other": "#[doc(notable_trait)]" @@ -247278,7 +265794,7 @@ "crate_id": 0, "deprecation": null, "docs": "The `Read` trait allows for reading bytes from a source.\n\nImplementors of the `Read` trait are called 'readers'.\n\nReaders are defined by one required method, [`read()`]. Each call to [`read()`]\nwill attempt to pull bytes from this source into a provided buffer. A\nnumber of other methods are implemented in terms of [`read()`], giving\nimplementors a number of ways to read bytes while only needing to implement\na single method.\n\nReaders are intended to be composable with one another. Many implementors\nthroughout [`std::io`] take and provide types which implement the `Read`\ntrait.\n\nPlease note that each call to [`read()`] may involve a system call, and\ntherefore, using something that implements [`BufRead`], such as\n[`BufReader`], will be more efficient.\n\nRepeated calls to the reader use the same cursor, so for example\ncalling `read_to_end` twice on a [`File`] will only return the file's\ncontents once. It's recommended to first call `rewind()` in that case.\n\n# Examples\n\n[`File`]s implement `Read`:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let mut buffer = [0; 10];\n\n // read up to 10 bytes\n f.read(&mut buffer)?;\n\n let mut buffer = Vec::new();\n // read the whole file\n f.read_to_end(&mut buffer)?;\n\n // read into a String, so that you don't need to do the conversion.\n let mut buffer = String::new();\n f.read_to_string(&mut buffer)?;\n\n // and more! See the other methods for more details.\n Ok(())\n}\n```\n\nRead from [`&str`] because [`&[u8]`][prim@slice] implements `Read`:\n\n```no_run\n# use std::io;\nuse std::io::prelude::*;\n\nfn main() -> io::Result<()> {\n let mut b = \"This string will be read\".as_bytes();\n let mut buffer = [0; 10];\n\n // read up to 10 bytes\n b.read(&mut buffer)?;\n\n // etc... it works exactly as a File does!\n Ok(())\n}\n```\n\n[`read()`]: Read::read\n[`&str`]: prim@str\n[`std::io`]: self\n[`File`]: crate::fs::File", - "id": 2476, + "id": 2474, "inner": { "trait": { "bounds": [], @@ -247287,58 +265803,58 @@ "where_predicates": [] }, "implementations": [ - 2475, - 2499, - 4006, - 3084, + 2473, + 2497, + 4005, + 3086, 3282, - 4015, - 4024, - 4033, - 4041, - 3462, - 3468, - 3589, - 3598, - 3631, - 3856, - 3908, - 4047, - 4050, - 4054, - 4059, - 4064, - 4070, - 4076, - 4083 + 4014, + 4023, + 4032, + 4040, + 3461, + 3467, + 3588, + 3597, + 3630, + 3855, + 3907, + 4046, + 4049, + 4053, + 4058, + 4063, + 4069, + 4075, + 4082 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 2435, - 2466, - 2471, + 2433, + 2464, + 2469, 2957, 2959, + 3987, 3988, 3989, 3990, - 3991, - 3993, - 3995, - 3997 + 3992, + 3994, + 3996 ] } }, "links": { - "Read::read": 2435, - "`BufRead`": 2418, - "`BufReader`": 2409, - "crate::fs::File": 2413, - "prim@slice": 3999, - "prim@str": 1928, - "self": 501 + "Read::read": 2433, + "`BufRead`": 2416, + "`BufReader`": 2407, + "crate::fs::File": 2411, + "prim@slice": 3998, + "prim@str": 1926, + "self": 502 }, "name": "Read", "span": { @@ -247354,12 +265870,12 @@ }, "visibility": "public" }, - "2477": { + "2475": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Writes some bytes to the file.\n\nSee [`Write::write`] docs for more info.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `write` function on Unix and\nthe `NtWriteFile` function on Windows. Note that this [may change in\nthe future][changes].\n\n[changes]: io#platform-specific-behavior", - "id": 2477, + "id": 2475, "inner": { "function": { "generics": { @@ -247417,7 +265933,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -247425,24 +265941,24 @@ } }, "links": { - "`Write::write`": 2436, - "io#platform-specific-behavior": 501 + "`Write::write`": 2434, + "io#platform-specific-behavior": 502 }, "name": "write", "span": { "begin": [ - 1282, + 1363, 5 ], "end": [ - 1284, + 1365, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2478": { + "2476": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -247451,7 +265967,7 @@ "crate_id": 0, "deprecation": null, "docs": "Like [`write`], except that it writes from a slice of buffers.\n\nData is copied from each buffer in order, with the final buffer\nread from possibly being only partially consumed. This method must\nbehave as a call to [`write`] with the buffers concatenated would.\n\nThe default implementation calls [`write`] with either the first nonempty\nbuffer provided, or an empty one if none exists.\n\n# Examples\n\n```no_run\nuse std::io::IoSlice;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let data1 = [1; 8];\n let data2 = [15; 8];\n let io_slice1 = IoSlice::new(&data1);\n let io_slice2 = IoSlice::new(&data2);\n\n let mut buffer = File::create(\"foo.txt\")?;\n\n // Writes some prefix of the byte string, not necessarily all of it.\n buffer.write_vectored(&[io_slice1, io_slice2])?;\n Ok(())\n}\n```\n\n[`write`]: Write::write", - "id": 2478, + "id": 2476, "inner": { "function": { "generics": { @@ -247498,7 +266014,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -247522,7 +266038,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -247530,7 +266046,7 @@ } }, "links": { - "Write::write": 2436 + "Write::write": 2434 }, "name": "write_vectored", "span": { @@ -247546,12 +266062,12 @@ }, "visibility": "default" }, - "2479": { + "2477": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Like `write`, except that it writes into a slice of buffers.\n\nSee [`Write::write_vectored`] docs for more info.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `writev` function on Unix\nand falls back to the `write` implementation on Windows. Note that this\n[may change in the future][changes].\n\n[changes]: io#platform-specific-behavior", - "id": 2479, + "id": 2477, "inner": { "function": { "generics": { @@ -247598,7 +266114,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -247622,7 +266138,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -247630,24 +266146,24 @@ } }, "links": { - "`Write::write_vectored`": 2478, - "io#platform-specific-behavior": 501 + "`Write::write_vectored`": 2476, + "io#platform-specific-behavior": 502 }, "name": "write_vectored", "span": { "begin": [ - 1297, + 1378, 5 ], "end": [ - 1299, + 1380, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2480": { + "2478": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -247664,7 +266180,7 @@ "crate_id": 0, "deprecation": null, "docs": "A buffer type used with `Write::write_vectored`.\n\nIt is semantically a wrapper around a `&[u8]`, but is guaranteed to be\nABI compatible with the `iovec` type on Unix platforms and `WSABUF` on\nWindows.", - "id": 2480, + "id": 2478, "inner": { "struct": { "generics": { @@ -247681,6 +266197,7 @@ "where_predicates": [] }, "impls": [ + 4118, 4119, 4120, 4121, @@ -247696,12 +266213,11 @@ 4131, 4132, 4133, - 4134, + 4135, 4136, 4137, - 4138, - 4140, - 4143 + 4139, + 4142 ], "kind": { "tuple": [ @@ -247725,7 +266241,7 @@ }, "visibility": "public" }, - "2481": { + "2479": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 69941, is_soft: false}, feature: \"can_vector\"}}]" @@ -247734,7 +266250,7 @@ "crate_id": 0, "deprecation": null, "docs": "Determines if this `Write`r has an efficient [`write_vectored`]\nimplementation.\n\nIf a `Write`r does not override the default [`write_vectored`]\nimplementation, code using it may want to avoid the method all together\nand coalesce writes into a single buffer for higher performance.\n\nThe default implementation returns `false`.\n\n[`write_vectored`]: Write::write_vectored", - "id": 2481, + "id": 2479, "inner": { "function": { "generics": { @@ -247771,7 +266287,7 @@ } }, "links": { - "Write::write_vectored": 2478 + "Write::write_vectored": 2476 }, "name": "is_write_vectored", "span": { @@ -247787,7 +266303,7 @@ }, "visibility": "default" }, - "2482": { + "2480": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -247796,7 +266312,7 @@ "crate_id": 0, "deprecation": null, "docs": "Determines if `File` has an efficient `write_vectored` implementation.\n\nSee [`Write::is_write_vectored`] docs for more info.\n\n# Platform-specific behavior\n\nThis function currently returns `true` on Unix an `false` on Windows.\nNote that this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior", - "id": 2482, + "id": 2480, "inner": { "function": { "generics": { @@ -247833,24 +266349,24 @@ } }, "links": { - "`Write::is_write_vectored`": 2481, - "io#platform-specific-behavior": 501 + "`Write::is_write_vectored`": 2479, + "io#platform-specific-behavior": 502 }, "name": "is_write_vectored", "span": { "begin": [ - 1312, + 1393, 5 ], "end": [ - 1314, + 1395, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2483": { + "2481": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -247859,7 +266375,7 @@ "crate_id": 0, "deprecation": null, "docs": "Flushes this output stream, ensuring that all intermediately buffered\ncontents reach their destination.\n\n# Errors\n\nIt is considered an error if not all bytes could be written due to\nI/O errors or EOF being reached.\n\n# Examples\n\n```no_run\nuse std::io::prelude::*;\nuse std::io::BufWriter;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let mut buffer = BufWriter::new(File::create(\"foo.txt\")?);\n\n buffer.write_all(b\"some bytes\")?;\n buffer.flush()?;\n Ok(())\n}\n```", - "id": 2483, + "id": 2481, "inner": { "function": { "generics": { @@ -247903,7 +266419,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -247925,7 +266441,7 @@ }, "visibility": "default" }, - "2484": { + "2482": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -247934,7 +266450,7 @@ "crate_id": 0, "deprecation": null, "docs": "Flushes the file, ensuring that all intermediately buffered contents\nreach their destination.\n\nSee [`Write::flush`] docs for more info.\n\n# Platform-specific behavior\n\nSince a `File` structure doesn't contain any buffers, this function is\ncurrently a no-op on Unix and Windows. Note that this [may change in\nthe future][changes].\n\n[changes]: io#platform-specific-behavior", - "id": 2484, + "id": 2482, "inner": { "function": { "generics": { @@ -247978,7 +266494,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -247986,24 +266502,24 @@ } }, "links": { - "`Write::flush`": 2483, - "io#platform-specific-behavior": 501 + "`Write::flush`": 2481, + "io#platform-specific-behavior": 502 }, "name": "flush", "span": { "begin": [ - 1329, + 1410, 5 ], "end": [ - 1331, + 1412, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2485": { + "2483": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -248012,7 +266528,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2485, + "id": 2483, "inner": { "impl": { "blanket_impl": null, @@ -248023,7 +266539,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -248037,10 +266553,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 2475, 2477, - 2479, - 2482, - 2484 + 2480, + 2482 ], "provided_trait_methods": [ "write_vectored", @@ -248052,7 +266568,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -248061,18 +266577,18 @@ "name": null, "span": { "begin": [ - 1270, + 1351, 1 ], "end": [ - 1332, + 1413, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2486": { + "2484": { "attrs": [ { "other": "#[doc(notable_trait)]" @@ -248090,7 +266606,7 @@ "crate_id": 0, "deprecation": null, "docs": "A trait for objects which are byte-oriented sinks.\n\nImplementors of the `Write` trait are sometimes called 'writers'.\n\nWriters are defined by two required methods, [`write`] and [`flush`]:\n\n* The [`write`] method will attempt to write some data into the object,\n returning how many bytes were successfully written.\n\n* The [`flush`] method is useful for adapters and explicit buffers\n themselves for ensuring that all buffered data has been pushed out to the\n 'true sink'.\n\nWriters are intended to be composable with one another. Many implementors\nthroughout [`std::io`] take and provide types which implement the `Write`\ntrait.\n\n[`write`]: Write::write\n[`flush`]: Write::flush\n[`std::io`]: self\n\n# Examples\n\n```no_run\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let data = b\"some bytes\";\n\n let mut pos = 0;\n let mut buffer = File::create(\"foo.txt\")?;\n\n while pos < data.len() {\n let bytes_written = buffer.write(&data[pos..])?;\n pos += bytes_written;\n }\n Ok(())\n}\n```\n\nThe trait also provides convenience methods like [`write_all`], which calls\n`write` in a loop until its entire input has been written.\n\n[`write_all`]: Write::write_all", - "id": 2486, + "id": 2484, "inner": { "trait": { "bounds": [], @@ -248099,61 +266615,61 @@ "where_predicates": [] }, "implementations": [ - 2485, - 2503, - 4152, - 3129, - 3190, + 2483, + 2501, + 4151, + 3131, + 3191, 3292, 3299, 3307, 3314, 3321, - 4160, - 4168, - 4175, - 4182, - 4189, - 4196, - 3517, - 3522, - 3677, - 3685, - 3718, - 3759, - 3767, - 3800, - 3875, - 3883, - 3942, - 3950, - 4200, - 4205, - 4210, - 4215, - 4220, - 4226 + 4159, + 4167, + 4174, + 4181, + 4188, + 4195, + 3516, + 3521, + 3676, + 3684, + 3717, + 3758, + 3766, + 3799, + 3874, + 3882, + 3941, + 3949, + 4199, + 4204, + 4209, + 4214, + 4219, + 4225 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 2436, - 2478, + 2434, + 2476, + 2479, 2481, - 2483, 2960, - 4144, - 4146, - 4147 + 4143, + 4145, + 4146 ] } }, "links": { - "Write::flush": 2483, - "Write::write": 2436, + "Write::flush": 2481, + "Write::write": 2434, "Write::write_all": 2960, - "self": 501 + "self": 502 }, "name": "Write", "span": { @@ -248169,7 +266685,7 @@ }, "visibility": "public" }, - "2487": { + "2485": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -248178,7 +266694,7 @@ "crate_id": 0, "deprecation": null, "docs": "Seek to an offset, in bytes, in a stream.\n\nA seek beyond the end of a stream is allowed, but behavior is defined\nby the implementation.\n\nIf the seek operation completed successfully,\nthis method returns the new position from the start of the stream.\nThat position can be used later with [`SeekFrom::Start`].\n\n# Errors\n\nSeeking can fail, for example because it might involve flushing a buffer.\n\nSeeking to a negative offset is considered an error.", - "id": 2487, + "id": 2485, "inner": { "function": { "generics": { @@ -248211,7 +266727,7 @@ { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -248232,7 +266748,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -248240,7 +266756,7 @@ } }, "links": { - "`SeekFrom::Start`": 4227 + "`SeekFrom::Start`": 4226 }, "name": "seek", "span": { @@ -248256,12 +266772,12 @@ }, "visibility": "default" }, - "2488": { + "2486": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Seek to an offset, in bytes in a file.\n\nSee [`Seek::seek`] docs for more info.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `lseek64` function on Unix\nand the `SetFilePointerEx` function on Windows. Note that this [may\nchange in the future][changes].\n\n[changes]: io#platform-specific-behavior", - "id": 2488, + "id": 2486, "inner": { "function": { "generics": { @@ -248294,7 +266810,7 @@ { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -248315,7 +266831,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -248323,24 +266839,24 @@ } }, "links": { - "`Seek::seek`": 2487, - "io#platform-specific-behavior": 501 + "`Seek::seek`": 2485, + "io#platform-specific-behavior": 502 }, "name": "seek", "span": { "begin": [ - 1346, + 1427, 5 ], "end": [ - 1348, + 1429, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2489": { + "2487": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"SeekFrom\")]" @@ -248355,7 +266871,7 @@ "crate_id": 0, "deprecation": null, "docs": "Enumeration of possible methods to seek within an I/O object.\n\nIt is used by the [`Seek`] trait.", - "id": 2489, + "id": 2487, "inner": { "enum": { "generics": { @@ -248364,6 +266880,7 @@ }, "has_stripped_variants": false, "impls": [ + 4253, 4254, 4255, 4256, @@ -248380,21 +266897,20 @@ 4267, 4268, 4269, - 4270, + 4271, 4272, - 4273, - 4275, - 4277 + 4274, + 4276 ], "variants": [ - 4227, + 4226, 2767, 2770 ] } }, "links": { - "`Seek`": 2407 + "`Seek`": 2405 }, "name": "SeekFrom", "span": { @@ -248410,43 +266926,7 @@ }, "visibility": "public" }, - "249": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 249, - "inner": { - "use": { - "id": 250, - "is_glob": false, - "name": "MAX_EXP", - "source": "core::f32::MAX_EXP" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 18, - 66 - ], - "end": [ - 18, - 73 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "2490": { + "2488": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 59359, is_soft: false}, feature: \"seek_stream_len\"}}]" @@ -248455,7 +266935,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the length of this stream (in bytes).\n\nThe default implementation uses up to three seek operations. If this\nmethod returns successfully, the seek position is unchanged (i.e. the\nposition before calling this method is the same as afterwards).\nHowever, if this method returns an error, the seek position is\nunspecified.\n\nIf you need to obtain the length of *many* streams and you don't care\nabout the seek position afterwards, you can reduce the number of seek\noperations by simply calling `seek(SeekFrom::End(0))` and using its\nreturn value (it is also the stream length).\n\nNote that length of a stream can change over time (for example, when\ndata is appended to a file). So calling this method multiple times does\nnot necessarily return the same length each time.\n\n# Example\n\n```no_run\n#![feature(seek_stream_len)]\nuse std::{\n io::{self, Seek},\n fs::File,\n};\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n\n let len = f.stream_len()?;\n println!(\"The file is currently {len} bytes long\");\n Ok(())\n}\n```", - "id": 2490, + "id": 2488, "inner": { "function": { "generics": { @@ -248499,7 +266979,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -248521,12 +267001,12 @@ }, "visibility": "default" }, - "2491": { + "2489": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns the length of this file (in bytes).\n\nSee [`Seek::stream_len`] docs for more info.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `statx` function on Linux\n(with fallbacks) and the `GetFileSizeEx` function on Windows. Note that\nthis [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior", - "id": 2491, + "id": 2489, "inner": { "function": { "generics": { @@ -248570,7 +267050,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -248578,29 +267058,65 @@ } }, "links": { - "`Seek::stream_len`": 2490, - "io#platform-specific-behavior": 501 + "`Seek::stream_len`": 2488, + "io#platform-specific-behavior": 502 }, "name": "stream_len", "span": { "begin": [ - 1361, + 1442, 5 ], "end": [ - 1366, + 1447, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2492": { + "249": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 249, + "inner": { + "use": { + "id": 250, + "is_glob": false, + "name": "MIN", + "source": "core::f32::MIN" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 18, + 75 + ], + "end": [ + 18, + 78 + ], + "filename": "std/src/num/f32.rs" + }, + "visibility": "public" + }, + "2490": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2492, + "id": 2490, "inner": { "function": { "generics": { @@ -248644,7 +267160,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -248655,18 +267171,18 @@ "name": "stream_position", "span": { "begin": [ - 1368, + 1449, 5 ], "end": [ - 1370, + 1451, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2493": { + "2491": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -248675,7 +267191,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2493, + "id": 2491, "inner": { "impl": { "blanket_impl": null, @@ -248686,7 +267202,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -248700,9 +267216,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2488, - 2491, - 2492 + 2486, + 2489, + 2490 ], "provided_trait_methods": [ "rewind", @@ -248712,7 +267228,7 @@ ], "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -248721,23 +267237,23 @@ "name": null, "span": { "begin": [ - 1334, + 1415, 1 ], "end": [ - 1371, + 1452, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2494": { + "2492": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2494, + "id": 2492, "inner": { "function": { "generics": { @@ -248784,7 +267300,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -248808,7 +267324,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -248819,23 +267335,23 @@ "name": "read_vectored", "span": { "begin": [ - 1378, + 1459, 5 ], "end": [ - 1380, + 1461, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2495": { + "2493": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2495, + "id": 2493, "inner": { "function": { "generics": { @@ -248877,7 +267393,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -248898,7 +267414,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -248909,18 +267425,18 @@ "name": "read_buf", "span": { "begin": [ - 1381, + 1462, 5 ], "end": [ - 1383, + 1464, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2496": { + "2494": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -248929,7 +267445,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2496, + "id": 2494, "inner": { "function": { "generics": { @@ -248969,23 +267485,23 @@ "name": "is_read_vectored", "span": { "begin": [ - 1385, + 1466, 5 ], "end": [ - 1387, + 1468, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2497": { + "2495": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2497, + "id": 2495, "inner": { "function": { "generics": { @@ -249033,7 +267549,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -249056,7 +267572,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -249067,23 +267583,23 @@ "name": "read_to_end", "span": { "begin": [ - 1388, + 1469, 5 ], "end": [ - 1390, + 1471, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2498": { + "2496": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2498, + "id": 2496, "inner": { "function": { "generics": { @@ -249120,7 +267636,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -249143,7 +267659,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -249154,18 +267670,18 @@ "name": "read_to_string", "span": { "begin": [ - 1391, + 1472, 5 ], "end": [ - 1393, + 1474, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2499": { + "2497": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -249174,14 +267690,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2499, + "id": 2497, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -249193,12 +267709,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2411, + 2409, + 2492, + 2493, 2494, 2495, - 2496, - 2497, - 2498 + 2496 ], "provided_trait_methods": [ "read_vectored", @@ -249215,7 +267731,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -249224,23 +267740,23 @@ "name": null, "span": { "begin": [ - 1374, + 1455, 1 ], "end": [ - 1394, + 1475, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2500": { + "2498": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2500, + "id": 2498, "inner": { "function": { "generics": { @@ -249287,7 +267803,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -249311,7 +267827,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -249322,18 +267838,18 @@ "name": "write_vectored", "span": { "begin": [ - 1400, + 1481, 5 ], "end": [ - 1402, + 1483, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2501": { + "2499": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -249342,7 +267858,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2501, + "id": 2499, "inner": { "function": { "generics": { @@ -249382,18 +267898,18 @@ "name": "is_write_vectored", "span": { "begin": [ - 1404, + 1485, 5 ], "end": [ - 1406, + 1487, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2502": { + "2500": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -249402,7 +267918,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2502, + "id": 2500, "inner": { "function": { "generics": { @@ -249446,7 +267962,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -249457,18 +267973,18 @@ "name": "flush", "span": { "begin": [ - 1408, + 1489, 5 ], "end": [ - 1410, + 1491, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2503": { + "2501": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -249477,14 +267993,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2503, + "id": 2501, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -249496,10 +268012,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2412, - 2500, - 2501, - 2502 + 2410, + 2498, + 2499, + 2500 ], "provided_trait_methods": [ "write_vectored", @@ -249511,7 +268027,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -249520,23 +268036,23 @@ "name": null, "span": { "begin": [ - 1396, + 1477, 1 ], "end": [ - 1411, + 1492, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2504": { + "2502": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2504, + "id": 2502, "inner": { "function": { "generics": { @@ -249569,7 +268085,7 @@ { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -249590,7 +268106,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -249601,23 +268117,23 @@ "name": "seek", "span": { "begin": [ - 1414, + 1495, 5 ], "end": [ - 1416, + 1497, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2505": { + "2503": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2505, + "id": 2503, "inner": { "function": { "generics": { @@ -249661,7 +268177,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -249672,23 +268188,23 @@ "name": "stream_len", "span": { "begin": [ - 1417, + 1498, 5 ], "end": [ - 1419, + 1500, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2506": { + "2504": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2506, + "id": 2504, "inner": { "function": { "generics": { @@ -249732,7 +268248,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -249743,18 +268259,18 @@ "name": "stream_position", "span": { "begin": [ - 1420, + 1501, 5 ], "end": [ - 1422, + 1503, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2507": { + "2505": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -249763,14 +268279,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2507, + "id": 2505, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } }, @@ -249782,9 +268298,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2504, - 2505, - 2506 + 2502, + 2503, + 2504 ], "provided_trait_methods": [ "rewind", @@ -249794,7 +268310,7 @@ ], "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -249803,18 +268319,18 @@ "name": null, "span": { "begin": [ - 1413, + 1494, 1 ], "end": [ - 1423, + 1504, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "2508": { + "2506": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -249823,7 +268339,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2508, + "id": 2506, "inner": { "function": { "generics": { @@ -249874,7 +268390,7 @@ }, "visibility": "default" }, - "2509": { + "2507": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" @@ -249883,14 +268399,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2509, + "id": 2507, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "crate::fs::File" } }, @@ -249902,12 +268418,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2508 + 2506 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2510, + "id": 2508, "path": "IsTerminal" } } @@ -249927,43 +268443,7 @@ }, "visibility": "default" }, - "251": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 251, - "inner": { - "use": { - "id": 252, - "is_glob": false, - "name": "MIN", - "source": "core::f32::MIN" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 18, - 75 - ], - "end": [ - 18, - 78 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "2510": { + "2508": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" @@ -249972,7 +268452,7 @@ "crate_id": 0, "deprecation": null, "docs": "Trait to determine if a descriptor/handle refers to a terminal/tty.", - "id": 2510, + "id": 2508, "inner": { "trait": { "bounds": [ @@ -249982,7 +268462,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "crate::sealed::Sealed" } } @@ -249993,23 +268473,23 @@ "where_predicates": [] }, "implementations": [ - 2509, - 3600, - 3640, - 3687, - 3722, - 3769, - 3804, - 3816, - 3818, - 3820, - 3822 + 2507, + 3599, + 3639, + 3686, + 3721, + 3768, + 3803, + 3815, + 3817, + 3819, + 3821 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 3813 + 3812 ] } }, @@ -250028,12 +268508,12 @@ }, "visibility": "public" }, - "2511": { + "2509": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2511, + "id": 2509, "inner": { "function": { "generics": { @@ -250097,7 +268577,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -250108,23 +268588,155 @@ "name": "read_at", "span": { "begin": [ - 264, + 350, 5 ], "end": [ - 266, + 352, 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "2512": { + "251": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 251, + "inner": { + "use": { + "id": 252, + "is_glob": false, + "name": "MIN_10_EXP", + "source": "core::f32::MIN_10_EXP" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 18, + 80 + ], + "end": [ + 18, + 90 + ], + "filename": "std/src/num/f32.rs" + }, + "visibility": "public" + }, + "2510": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2512, + "id": 2510, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2468, + "path": "BorrowedCursor" + } + } + ], + [ + "offset", + { + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "read_buf_at", + "span": { + "begin": [ + 353, + 5 + ], + "end": [ + 355, + 6 + ], + "filename": "std/src/os/unix/fs.rs" + }, + "visibility": "default" + }, + "2511": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 2511, "inner": { "function": { "generics": { @@ -250171,7 +268783,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "io::IoSliceMut" } } @@ -250201,7 +268813,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -250212,23 +268824,23 @@ "name": "read_vectored_at", "span": { "begin": [ - 267, + 356, 5 ], "end": [ - 269, + 358, 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "2513": { + "2512": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2513, + "id": 2512, "inner": { "function": { "generics": { @@ -250292,7 +268904,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -250303,23 +268915,23 @@ "name": "write_at", "span": { "begin": [ - 270, + 359, 5 ], "end": [ - 272, + 361, 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "2514": { + "2513": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2514, + "id": 2513, "inner": { "function": { "generics": { @@ -250366,7 +268978,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "io::IoSlice" } } @@ -250396,7 +269008,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -250407,18 +269019,18 @@ "name": "write_vectored_at", "span": { "begin": [ - 273, + 362, 5 ], "end": [ - 275, + 364, 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "2515": { + "2514": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -250430,14 +269042,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2515, + "id": 2514, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -250449,20 +269061,23 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 2509, + 2510, 2511, 2512, - 2513, - 2514 + 2513 ], "provided_trait_methods": [ "read_vectored_at", "read_exact_at", + "read_buf_at", + "read_buf_exact_at", "write_vectored_at", "write_all_at" ], "trait": { "args": null, - "id": 2516, + "id": 2515, "path": "FileExt" } } @@ -250471,18 +269086,18 @@ "name": null, "span": { "begin": [ - 263, + 349, 1 ], "end": [ - 276, + 365, 2 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "2516": { + "2515": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"file_offset\"}}]" @@ -250491,7 +269106,7 @@ "crate_id": 0, "deprecation": null, "docs": "Unix-specific extensions to [`fs::File`].", - "id": 2516, + "id": 2515, "inner": { "trait": { "bounds": [], @@ -250500,44 +269115,46 @@ "where_predicates": [] }, "implementations": [ - 2515 + 2514 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 4888, - 4889, - 4890, 4891, 4892, - 4893 + 4893, + 4894, + 4895, + 4896, + 4897, + 4898 ] } }, "links": { - "`fs::File`": 2413 + "`fs::File`": 2411 }, "name": "FileExt", "span": { "begin": [ - 26, + 27, 1 ], "end": [ - 260, + 346, 2 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "public" }, - "2517": { + "2516": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2517, + "id": 2516, "inner": { "function": { "generics": { @@ -250584,7 +269201,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -250614,7 +269231,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -250636,12 +269253,12 @@ }, "visibility": "default" }, - "2518": { + "2517": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2518, + "id": 2517, "inner": { "function": { "generics": { @@ -250688,7 +269305,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -250718,7 +269335,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -250740,12 +269357,12 @@ }, "visibility": "default" }, - "2519": { + "2518": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2519, + "id": 2518, "inner": { "function": { "generics": { @@ -250795,7 +269412,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -250817,12 +269434,12 @@ }, "visibility": "default" }, - "2520": { + "2519": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2520, + "id": 2519, "inner": { "function": { "generics": { @@ -250878,7 +269495,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -250900,12 +269517,12 @@ }, "visibility": "default" }, - "2521": { + "2520": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2521, + "id": 2520, "inner": { "function": { "generics": { @@ -250967,7 +269584,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -250989,12 +269606,12 @@ }, "visibility": "default" }, - "2522": { + "2521": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2522, + "id": 2521, "inner": { "function": { "generics": { @@ -251050,7 +269667,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -251072,12 +269689,12 @@ }, "visibility": "default" }, - "2523": { + "2522": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2523, + "id": 2522, "inner": { "function": { "generics": { @@ -251098,7 +269715,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -251165,7 +269782,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -251187,12 +269804,12 @@ }, "visibility": "default" }, - "2524": { + "2523": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2524, + "id": 2523, "inner": { "function": { "generics": { @@ -251213,7 +269830,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -251275,7 +269892,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -251284,7 +269901,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -251306,12 +269923,12 @@ }, "visibility": "default" }, - "2525": { + "2524": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2525, + "id": 2524, "inner": { "function": { "generics": { @@ -251332,7 +269949,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -251400,7 +270017,7 @@ "type": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } } @@ -251409,7 +270026,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -251431,12 +270048,12 @@ }, "visibility": "default" }, - "2526": { + "2525": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2526, + "id": 2525, "inner": { "function": { "generics": { @@ -251457,7 +270074,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -251524,7 +270141,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -251546,12 +270163,12 @@ }, "visibility": "default" }, - "2527": { + "2526": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2527, + "id": 2526, "inner": { "function": { "generics": { @@ -251572,7 +270189,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -251639,7 +270256,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -251661,7 +270278,7 @@ }, "visibility": "default" }, - "2528": { + "2527": { "attrs": [ { "other": "#[doc(cfg(target_os = \"wasi\"))]" @@ -251670,14 +270287,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 2528, + "id": 2527, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -251689,6 +270306,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 2516, 2517, 2518, 2519, @@ -251698,8 +270316,7 @@ 2523, 2524, 2525, - 2526, - 2527 + 2526 ], "provided_trait_methods": [ "read_at", @@ -251709,7 +270326,7 @@ ], "trait": { "args": null, - "id": 2529, + "id": 2528, "path": "FileExt" } } @@ -251729,12 +270346,12 @@ }, "visibility": "default" }, - "2529": { + "2528": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "WASI-specific extensions to [`File`].", - "id": 2529, + "id": 2528, "inner": { "trait": { "bounds": [], @@ -251743,17 +270360,12 @@ "where_predicates": [] }, "implementations": [ - 2528 + 2527 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5561, - 5562, - 5563, - 5564, - 5565, 5566, 5567, 5568, @@ -251763,12 +270375,17 @@ 5572, 5573, 5574, - 5575 + 5575, + 5576, + 5577, + 5578, + 5579, + 5580 ] } }, "links": { - "`File`": 2413 + "`File`": 2411 }, "name": "FileExt", "span": { @@ -251784,6 +270401,97 @@ }, "visibility": "public" }, + "2529": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 2529, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ], + [ + "offset", + { + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "seek_read", + "span": { + "begin": [ + 127, + 5 + ], + "end": [ + 129, + 6 + ], + "filename": "std/src/os/windows/fs.rs" + }, + "visibility": "default" + }, "253": { "attrs": [ { @@ -251801,8 +270509,8 @@ "use": { "id": 254, "is_glob": false, - "name": "MIN_10_EXP", - "source": "core::f32::MIN_10_EXP" + "name": "MIN_EXP", + "source": "core::f32::MIN_EXP" } }, "links": {}, @@ -251810,11 +270518,11 @@ "span": { "begin": [ 18, - 80 + 92 ], "end": [ 18, - 90 + 99 ], "filename": "std/src/num/f32.rs" }, @@ -251856,14 +270564,19 @@ [ "buf", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - } + }, + "id": 2468, + "path": "BorrowedCursor" } } ], @@ -251882,14 +270595,14 @@ "args": [ { "type": { - "primitive": "usize" + "tuple": [] } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -251897,14 +270610,14 @@ } }, "links": {}, - "name": "seek_read", + "name": "seek_read_buf", "span": { "begin": [ - 88, + 131, 5 ], "end": [ - 90, + 133, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -251980,7 +270693,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -251991,11 +270704,11 @@ "name": "seek_write", "span": { "begin": [ - 92, + 135, 5 ], "end": [ - 94, + 137, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -252021,7 +270734,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -252033,10 +270746,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 2529, 2530, 2531 ], - "provided_trait_methods": [], + "provided_trait_methods": [ + "seek_read_buf" + ], "trait": { "args": null, "id": 2533, @@ -252048,11 +270764,11 @@ "name": null, "span": { "begin": [ - 87, + 126, 1 ], "end": [ - 95, + 138, 2 ], "filename": "std/src/os/windows/fs.rs" @@ -252083,22 +270799,23 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5624, - 5625 + 5654, + 5655, + 5656 ] } }, "links": { - "`fs::File`": 2413 + "`fs::File`": 2411 }, "name": "FileExt", "span": { "begin": [ - 16, + 17, 1 ], "end": [ - 84, + 123, 2 ], "filename": "std/src/os/windows/fs.rs" @@ -252197,7 +270914,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -252264,7 +270981,7 @@ { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } } @@ -252282,7 +270999,7 @@ } }, "links": { - "fs::File": 2413 + "fs::File": 2411 }, "name": "from", "span": { @@ -252340,7 +271057,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -252413,7 +271130,7 @@ } }, "links": { - "fs::File": 2413 + "fs::File": 2411 }, "name": "from", "span": { @@ -252448,7 +271165,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -252583,7 +271300,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -252660,7 +271377,7 @@ "output": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } } @@ -252701,7 +271418,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -252756,17 +271473,17 @@ "where_predicates": [] }, "implementations": [ - 5706, + 5737, 2543, - 3478, - 3532, - 5862 + 3477, + 3531, + 5893 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5730 + 5761 ] } }, @@ -252862,7 +271579,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -252952,11 +271669,11 @@ "name": "as_raw_fd", "span": { "begin": [ - 170, + 174, 5 ], "end": [ - 172, + 176, 6 ], "filename": "std/src/os/fd/raw.rs" @@ -252966,7 +271683,7 @@ "2548": { "attrs": [ { - "other": "#[(not(target_os = \"hermit\"))]" + "other": "#[(all(not(target_os = \"hermit\"), not(target_os = \"motor\")))]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -252985,7 +271702,7 @@ "type": { "resolved_path": { "args": null, - "id": 4819, + "id": 4821, "path": "raw::c_int" } } @@ -252995,11 +271712,11 @@ "name": "RawFd", "span": { "begin": [ - 27, + 31, 1 ], "end": [ - 27, + 31, 29 ], "filename": "std/src/os/fd/raw.rs" @@ -253025,7 +271742,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -253051,11 +271768,11 @@ "name": null, "span": { "begin": [ - 168, + 172, 1 ], "end": [ - 173, + 177, 2 ], "filename": "std/src/os/fd/raw.rs" @@ -253079,20 +271796,20 @@ "use": { "id": 256, "is_glob": false, - "name": "MIN_EXP", - "source": "core::f32::MIN_EXP" + "name": "MIN_POSITIVE", + "source": "core::f32::MIN_POSITIVE" } }, "links": {}, "name": null, "span": { "begin": [ - 18, - 92 + 19, + 5 ], "end": [ - 18, - 99 + 19, + 17 ], "filename": "std/src/num/f32.rs" }, @@ -253116,38 +271833,38 @@ "where_predicates": [] }, "implementations": [ - 5165, - 5209, - 5283, - 6061, - 6063, - 6065, - 5488, - 6067, + 5170, + 5214, + 5288, + 6094, + 6096, + 6098, + 5493, + 6100, 2549, - 3606, - 3693, - 3775, - 3646, - 3728, - 3810, - 6069, - 6071, - 6073, - 6075, - 3482, - 3536, - 6077, - 6079, - 4544, - 4604, - 4721 + 3605, + 3692, + 3774, + 3645, + 3727, + 3809, + 6102, + 6104, + 6106, + 6108, + 3481, + 3535, + 6110, + 6112, + 4545, + 4605, + 4722 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 6059 + 6092 ] } }, @@ -253155,11 +271872,11 @@ "name": "AsRawFd", "span": { "begin": [ - 38, + 42, 1 ], "end": [ - 66, + 70, 2 ], "filename": "std/src/os/fd/raw.rs" @@ -253206,7 +271923,7 @@ "output": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } } @@ -253217,11 +271934,11 @@ "name": "from_raw_fd", "span": { "begin": [ - 178, + 182, 5 ], "end": [ - 180, + 184, 6 ], "filename": "std/src/os/fd/raw.rs" @@ -253247,7 +271964,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -253273,11 +271990,11 @@ "name": null, "span": { "begin": [ - 176, + 180, 1 ], "end": [ - 181, + 185, 2 ], "filename": "std/src/os/fd/raw.rs" @@ -253302,25 +272019,25 @@ "where_predicates": [] }, "implementations": [ - 5167, - 5211, - 5285, - 6083, - 5490, - 6085, + 5172, + 5216, + 5290, + 6116, + 5495, + 6118, 2552, - 3484, - 3538, - 6087, - 4546, - 4606, - 4723 + 3483, + 3537, + 6120, + 4547, + 4607, + 4724 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 6081 + 6114 ] } }, @@ -253328,11 +272045,11 @@ "name": "FromRawFd", "span": { "begin": [ - 71, + 75, 1 ], "end": [ - 110, + 114, 2 ], "filename": "std/src/os/fd/raw.rs" @@ -253386,11 +272103,11 @@ "name": "into_raw_fd", "span": { "begin": [ - 186, + 190, 5 ], "end": [ - 188, + 192, 6 ], "filename": "std/src/os/fd/raw.rs" @@ -253416,7 +272133,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -253442,11 +272159,11 @@ "name": null, "span": { "begin": [ - 184, + 188, 1 ], "end": [ - 189, + 193, 2 ], "filename": "std/src/os/fd/raw.rs" @@ -253471,27 +272188,27 @@ "where_predicates": [] }, "implementations": [ - 5169, - 5213, - 5287, - 6090, - 6092, - 6094, - 5492, - 6096, + 5174, + 5218, + 5292, + 6123, + 6125, + 6127, + 5497, + 6129, 2555, - 3486, - 3540, - 6098, - 4548, - 4608, - 4725 + 3485, + 3539, + 6131, + 4549, + 4609, + 4726 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 6088 + 6121 ] } }, @@ -253499,11 +272216,11 @@ "name": "IntoRawFd", "span": { "begin": [ - 115, + 119, 1 ], "end": [ - 142, + 146, 2 ], "filename": "std/src/os/fd/raw.rs" @@ -253572,11 +272289,11 @@ "name": "as_fd", "span": { "begin": [ - 294, + 312, 5 ], "end": [ - 296, + 314, 6 ], "filename": "std/src/os/fd/owned.rs" @@ -253620,29 +272337,29 @@ "where_predicates": [] }, "impls": [ - 6103, - 6104, - 6105, - 6106, - 6107, - 6108, - 6109, + 6136, + 6137, + 6138, + 6139, + 6140, + 6141, + 6142, + 6143, + 6144, + 6145, + 6146, + 6147, + 6148, + 6149, + 6150, + 6151, + 6152, + 6153, + 6155, 6110, - 6111, - 6112, - 6113, - 6114, - 6115, - 6116, - 6117, - 6118, - 6119, - 6120, - 6122, - 6077, - 6124, - 3820, - 6126 + 6157, + 3819, + 6159 ], "kind": { "plain": { @@ -253653,18 +272370,18 @@ } }, "links": { - "`BorrowedFd::try_clone_to_owned`": 5499, + "`BorrowedFd::try_clone_to_owned`": 5504, "`OwnedFd`": 2562, - "crate::borrow::ToOwned": 157 + "crate::borrow::ToOwned": 155 }, "name": "BorrowedFd", "span": { "begin": [ - 47, + 51, 1 ], "end": [ - 50, + 54, 2 ], "filename": "std/src/os/fd/owned.rs" @@ -253690,7 +272407,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -253716,11 +272433,11 @@ "name": null, "span": { "begin": [ - 292, + 310, 1 ], "end": [ - 297, + 315, 2 ], "filename": "std/src/os/fd/owned.rs" @@ -253745,39 +272462,39 @@ "where_predicates": [] }, "implementations": [ - 5171, - 5215, - 5289, - 6164, - 6166, - 6168, - 5494, - 6170, - 6172, - 6126, - 6162, + 5176, + 5220, + 5294, + 6197, + 6199, + 6201, + 5499, + 6203, + 6205, + 6159, + 6195, 2559, - 4538, - 4598, - 4715, - 6174, - 6176, - 6178, - 6180, - 3608, - 3648, - 3695, - 3730, - 3777, - 3812, - 3488, - 3542 + 4539, + 4599, + 4716, + 6207, + 6209, + 6211, + 6213, + 3607, + 3647, + 3694, + 3729, + 3776, + 3811, + 3487, + 3541 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 6058 + 6091 ] } }, @@ -253785,11 +272502,11 @@ "name": "AsFd", "span": { "begin": [ - 235, + 253, 1 ], "end": [ - 253, + 271, 2 ], "filename": "std/src/os/fd/owned.rs" @@ -253826,7 +272543,7 @@ { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } } @@ -253844,16 +272561,16 @@ } }, "links": { - "fs::File": 2413 + "fs::File": 2411 }, "name": "from", "span": { "begin": [ - 304, + 322, 5 ], "end": [ - 306, + 324, 6 ], "filename": "std/src/os/fd/owned.rs" @@ -253888,54 +272605,54 @@ "where_predicates": [] }, "impls": [ - 6129, - 6130, - 6131, - 6132, - 6133, - 6134, - 6135, - 6136, - 6137, - 6138, - 6139, - 6140, - 6141, - 6142, - 5173, - 5175, - 5217, - 5219, - 5291, - 5293, - 6144, - 6146, - 6148, - 6150, - 6152, - 6154, - 6156, - 5496, - 5498, - 6079, - 6098, - 6087, - 6158, - 6160, - 3822, 6162, + 6163, + 6164, + 6165, + 6166, + 6167, + 6168, + 6169, + 6170, + 6171, + 6172, + 6173, + 6174, + 6175, + 5178, + 5180, + 5222, + 5224, + 5296, + 5298, + 6177, + 6179, + 6181, + 6183, + 6185, + 6187, + 6189, + 5501, + 5503, + 6112, + 6131, + 6120, + 6191, + 6193, + 3821, + 6195, 2563, 2565, - 4540, - 4542, - 4600, - 4602, - 4717, - 4719, - 3490, - 3544, - 3492, - 3546 + 4541, + 4543, + 4601, + 4603, + 4718, + 4720, + 3489, + 3543, + 3491, + 3545 ], "kind": { "plain": { @@ -253946,17 +272663,17 @@ } }, "links": { - "`AsFd::as_fd`": 6058, + "`AsFd::as_fd`": 6091, "`BorrowedFd`": 2558 }, "name": "OwnedFd", "span": { "begin": [ - 66, + 70, 1 ], "end": [ - 68, + 72, 2 ], "filename": "std/src/os/fd/owned.rs" @@ -254005,7 +272722,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -254023,11 +272740,11 @@ "name": null, "span": { "begin": [ - 301, + 319, 1 ], "end": [ - 307, + 325, 2 ], "filename": "std/src/os/fd/owned.rs" @@ -254078,16 +272795,16 @@ } }, "links": { - "fs::File": 2413 + "fs::File": 2411 }, "name": "from", "span": { "begin": [ - 315, + 333, 5 ], "end": [ - 317, + 335, 6 ], "filename": "std/src/os/fd/owned.rs" @@ -254113,7 +272830,7 @@ "for": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } }, @@ -254154,11 +272871,11 @@ "name": null, "span": { "begin": [ - 311, + 329, 1 ], "end": [ - 318, + 336, 2 ], "filename": "std/src/os/fd/owned.rs" @@ -254182,33 +272899,33 @@ "where_predicates": [] }, "impls": [ - 7040, - 7041, - 7042, - 7043, - 7044, - 7045, - 7046, - 7047, - 7048, - 7049, - 7050, - 7051, - 7052, - 7053, - 6083, - 6144, - 5862, - 5720, - 7055, - 6887, - 6905, - 6923, + 7078, + 7079, + 7080, + 7081, + 7082, + 7083, + 7084, + 7085, + 7086, + 7087, + 7088, + 7089, + 7090, + 7091, + 6116, + 6177, + 5893, + 5751, + 7093, + 6925, + 6943, + 6961, 2568, - 3697, - 3779, - 3548, - 3494 + 3696, + 3778, + 3547, + 3493 ], "kind": { "tuple": [ @@ -254218,19 +272935,19 @@ } }, "links": { - "Command::stderr": 6937, - "Command::stdin": 6935, - "Command::stdout": 6936, - "`Command`": 5336 + "Command::stderr": 6975, + "Command::stdin": 6973, + "Command::stdout": 6974, + "`Command`": 5341 }, "name": "Stdio", "span": { "begin": [ - 1395, + 1406, 1 ], "end": [ - 1395, + 1406, 30 ], "filename": "std/src/process.rs" @@ -254263,7 +272980,7 @@ { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "fs::File" } } @@ -254282,16 +272999,16 @@ }, "links": { "`Stdio`": 2566, - "fs::File": 2413 + "fs::File": 2411 }, "name": "from", "span": { "begin": [ - 1671, + 1682, 5 ], "end": [ - 1673, + 1684, 6 ], "filename": "std/src/process.rs" @@ -254337,7 +273054,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -254355,11 +273072,11 @@ "name": null, "span": { "begin": [ - 1650, + 1661, 1 ], "end": [ - 1674, + 1685, 2 ], "filename": "std/src/process.rs" @@ -254413,8 +273130,8 @@ "use": { "id": 258, "is_glob": false, - "name": "MIN_POSITIVE", - "source": "core::f32::MIN_POSITIVE" + "name": "NAN", + "source": "core::f32::NAN" } }, "links": {}, @@ -254422,11 +273139,11 @@ "span": { "begin": [ 19, - 5 + 19 ], "end": [ 19, - 17 + 22 ], "filename": "std/src/num/f32.rs" }, @@ -254465,13 +273182,13 @@ 3350, 3351, 2594, - 3223, + 3224, 3353, 3355, 3358, 3360, 3362, - 3366 + 3365 ], "kind": { "plain": { @@ -254483,9 +273200,9 @@ }, "links": { "`ErrorKind`": 2774, - "crate::io::Read": 2476, - "crate::io::Seek": 2407, - "crate::io::Write": 2486 + "crate::io::Read": 2474, + "crate::io::Seek": 2405, + "crate::io::Write": 2484 }, "name": "Error", "span": { @@ -254521,11 +273238,11 @@ "name": "WouldBlock", "span": { "begin": [ - 270, + 273, 5 ], "end": [ - 270, + 273, 15 ], "filename": "std/src/io/error.rs" @@ -254605,7 +273322,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -254642,7 +273359,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -254679,7 +273396,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -254694,7 +273411,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -254716,7 +273433,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -254753,7 +273470,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -254768,7 +273485,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -254790,7 +273507,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -254805,7 +273522,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -254829,7 +273546,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -254874,7 +273591,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -254890,7 +273607,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -254899,12 +273616,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -254924,7 +273641,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -254969,7 +273686,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -254985,7 +273702,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -254994,12 +273711,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -255019,7 +273736,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -255085,7 +273802,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -255110,11 +273827,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -255135,7 +273852,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -255158,7 +273875,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -255183,11 +273900,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -255208,7 +273925,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -255256,7 +273973,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -255274,8 +273991,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -255291,7 +274008,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -255300,11 +274017,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -255325,7 +274042,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -255391,8 +274108,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -255408,7 +274125,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -255417,11 +274134,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -255442,7 +274159,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -255490,12 +274207,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -255529,7 +274246,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -255590,7 +274307,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -255599,11 +274316,11 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" @@ -255626,7 +274343,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -255656,11 +274373,11 @@ "name": null, "span": { "begin": [ - 391, + 472, 1 ], "end": [ - 391, + 472, 38 ], "filename": "std/src/fs.rs" @@ -255718,7 +274435,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -255730,7 +274447,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -255741,11 +274458,11 @@ "name": "fmt", "span": { "begin": [ - 395, + 476, 5 ], "end": [ - 400, + 481, 6 ], "filename": "std/src/fs.rs" @@ -255769,8 +274486,8 @@ "use": { "id": 260, "is_glob": false, - "name": "NAN", - "source": "core::f32::NAN" + "name": "NEG_INFINITY", + "source": "core::f32::NEG_INFINITY" } }, "links": {}, @@ -255778,11 +274495,11 @@ "span": { "begin": [ 19, - 19 + 24 ], "end": [ 19, - 22 + 36 ], "filename": "std/src/num/f32.rs" }, @@ -255804,7 +274521,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -255821,7 +274538,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -255830,11 +274547,11 @@ "name": null, "span": { "begin": [ - 394, + 475, 1 ], "end": [ - 401, + 482, 2 ], "filename": "std/src/fs.rs" @@ -255892,7 +274609,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -255904,7 +274621,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -255915,11 +274632,11 @@ "name": "fmt", "span": { "begin": [ - 405, + 486, 5 ], "end": [ - 411, + 492, 6 ], "filename": "std/src/fs.rs" @@ -255942,7 +274659,7 @@ "for": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } }, @@ -255968,11 +274685,11 @@ "name": null, "span": { "begin": [ - 404, + 485, 1 ], "end": [ - 412, + 493, 2 ], "filename": "std/src/fs.rs" @@ -256005,7 +274722,7 @@ { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } } @@ -256026,11 +274743,11 @@ "name": "from", "span": { "begin": [ - 416, + 497, 5 ], "end": [ - 421, + 502, 6 ], "filename": "std/src/fs.rs" @@ -256076,7 +274793,7 @@ "type": { "resolved_path": { "args": null, - "id": 2437, + "id": 2435, "path": "TryLockError" } } @@ -256094,11 +274811,11 @@ "name": null, "span": { "begin": [ - 415, + 496, 1 ], "end": [ - 422, + 503, 2 ], "filename": "std/src/fs.rs" @@ -256138,7 +274855,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -256188,7 +274905,7 @@ "type": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } } @@ -256197,7 +274914,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -256205,16 +274922,16 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "metadata", "span": { "begin": [ - 2533, + 2619, 1 ], "end": [ - 2535, + 2621, 2 ], "filename": "std/src/fs.rs" @@ -256254,7 +274971,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -256304,7 +275021,7 @@ "type": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } } @@ -256313,7 +275030,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -256321,16 +275038,16 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "symlink_metadata", "span": { "begin": [ - 2568, + 2654, 1 ], "end": [ - 2570, + 2656, 2 ], "filename": "std/src/fs.rs" @@ -256395,11 +275112,11 @@ "name": "file_type", "span": { "begin": [ - 1751, + 1837, 5 ], "end": [ - 1753, + 1839, 6 ], "filename": "std/src/fs.rs" @@ -256567,19 +275284,19 @@ } }, "links": { - "`File::open`": 2417, + "`File::open`": 2415, "`Metadata::is_dir`": 2601, - "`OpenOptions::open`": 2414, + "`OpenOptions::open`": 2412, "`symlink_metadata`": 2597 }, "name": "is_file", "span": { "begin": [ - 1803, + 1889, 5 ], "end": [ - 1805, + 1891, 6 ], "filename": "std/src/fs.rs" @@ -256643,11 +275360,11 @@ "name": "is_dir", "span": { "begin": [ - 1774, + 1860, 5 ], "end": [ - 1776, + 1862, 6 ], "filename": "std/src/fs.rs" @@ -256714,11 +275431,11 @@ "name": "is_symlink", "span": { "begin": [ - 1829, + 1915, 5 ], "end": [ - 1831, + 1917, 6 ], "filename": "std/src/fs.rs" @@ -256779,11 +275496,11 @@ "name": "len", "span": { "begin": [ - 1849, + 1935, 5 ], "end": [ - 1851, + 1937, 6 ], "filename": "std/src/fs.rs" @@ -256837,7 +275554,7 @@ "output": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } } @@ -256848,11 +275565,11 @@ "name": "permissions", "span": { "begin": [ - 1869, + 1955, 5 ], "end": [ - 1871, + 1957, 6 ], "filename": "std/src/fs.rs" @@ -256910,7 +275627,7 @@ "type": { "resolved_path": { "args": null, - "id": 2448, + "id": 2446, "path": "SystemTime" } } @@ -256919,7 +275636,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -256930,11 +275647,11 @@ "name": "modified", "span": { "begin": [ - 1901, + 1987, 5 ], "end": [ - 1903, + 1989, 6 ], "filename": "std/src/fs.rs" @@ -256992,7 +275709,7 @@ "type": { "resolved_path": { "args": null, - "id": 2448, + "id": 2446, "path": "SystemTime" } } @@ -257001,7 +275718,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -257012,11 +275729,11 @@ "name": "accessed", "span": { "begin": [ - 1937, + 2023, 5 ], "end": [ - 1939, + 2025, 6 ], "filename": "std/src/fs.rs" @@ -257074,7 +275791,7 @@ "type": { "resolved_path": { "args": null, - "id": 2448, + "id": 2446, "path": "SystemTime" } } @@ -257083,7 +275800,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -257094,11 +275811,11 @@ "name": "created", "span": { "begin": [ - 1970, + 2056, 5 ], "end": [ - 1972, + 2058, 6 ], "filename": "std/src/fs.rs" @@ -257117,7 +275834,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257147,11 +275864,11 @@ "name": null, "span": { "begin": [ - 1734, + 1820, 1 ], "end": [ - 1973, + 2059, 2 ], "filename": "std/src/fs.rs" @@ -257170,7 +275887,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257212,8 +275929,8 @@ "use": { "id": 262, "is_glob": false, - "name": "NEG_INFINITY", - "source": "core::f32::NEG_INFINITY" + "name": "RADIX", + "source": "core::f32::RADIX" } }, "links": {}, @@ -257221,11 +275938,11 @@ "span": { "begin": [ 19, - 24 + 38 ], "end": [ 19, - 36 + 43 ], "filename": "std/src/num/f32.rs" }, @@ -257243,7 +275960,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257280,7 +275997,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257295,7 +276012,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -257317,7 +276034,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257354,7 +276071,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257369,7 +276086,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -257391,7 +276108,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257406,7 +276123,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -257430,7 +276147,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257475,7 +276192,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -257491,7 +276208,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -257500,12 +276217,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -257525,7 +276242,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257570,7 +276287,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -257586,7 +276303,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -257595,12 +276312,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -257620,7 +276337,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257647,7 +276364,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -257679,11 +276396,11 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" @@ -257704,7 +276421,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257770,7 +276487,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -257795,11 +276512,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -257820,7 +276537,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257843,7 +276560,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -257868,11 +276585,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -257893,7 +276610,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -257941,7 +276658,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -257959,8 +276676,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -257976,7 +276693,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -257985,11 +276702,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -258010,7 +276727,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -258076,8 +276793,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -258093,7 +276810,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -258102,11 +276819,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -258127,7 +276844,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -258175,12 +276892,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -258214,7 +276931,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -258241,7 +276958,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -258268,7 +276985,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -258277,11 +276994,11 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" @@ -258330,7 +277047,7 @@ "output": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } } @@ -258369,7 +277086,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -258388,7 +277105,7 @@ ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -258459,7 +277176,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -258471,7 +277188,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -258482,11 +277199,11 @@ "name": "fmt", "span": { "begin": [ - 1977, + 2063, 5 ], "end": [ - 1992, + 2078, 6 ], "filename": "std/src/fs.rs" @@ -258509,7 +277226,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } }, @@ -258526,7 +277243,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -258535,11 +277252,11 @@ "name": null, "span": { "begin": [ - 1976, + 2062, 1 ], "end": [ - 1993, + 2079, 2 ], "filename": "std/src/fs.rs" @@ -258650,9 +277367,6 @@ "kind": { "plain": { "fields": [ - 4860, - 4861, - 4862, 4863, 4864, 4865, @@ -258671,7 +277385,10 @@ 4878, 4879, 4880, - 4881 + 4881, + 4882, + 4883, + 4884 ], "has_stripped_fields": false } @@ -258710,8 +277427,8 @@ "use": { "id": 264, "is_glob": false, - "name": "RADIX", - "source": "core::f32::RADIX" + "name": "consts", + "source": "core::f32::consts" } }, "links": {}, @@ -258719,11 +277436,11 @@ "span": { "begin": [ 19, - 38 + 45 ], "end": [ 19, - 43 + 51 ], "filename": "std/src/num/f32.rs" }, @@ -259852,7 +278569,10 @@ "265": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[rustc_doc_primitive = \"f32\"]" + }, + { + "other": "#[doc(alias = \"single\")]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -259860,28 +278580,47 @@ ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "A 32-bit floating-point type (specifically, the \"binary32\" type defined in IEEE 754-2008).\n\nThis type can represent a wide range of decimal numbers, like `3.5`, `27`,\n`-113.75`, `0.0078125`, `34359738368`, `0`, `-1`. So unlike integer types\n(such as `i32`), floating-point types can represent non-integer numbers,\ntoo.\n\nHowever, being able to represent this wide range of numbers comes at the\ncost of precision: floats can only represent some of the real numbers and\ncalculation with floats round to a nearby representable number. For example,\n`5.0` and `1.0` can be exactly represented as `f32`, but `1.0 / 5.0` results\nin `0.20000000298023223876953125` since `0.2` cannot be exactly represented\nas `f32`. Note, however, that printing floats with `println` and friends will\noften discard insignificant digits: `println!(\"{}\", 1.0f32 / 5.0f32)` will\nprint `0.2`.\n\nAdditionally, `f32` can represent some special values:\n\n- −0.0: IEEE 754 floating-point numbers have a bit that indicates their sign, so −0.0 is a\n possible value. For comparison −0.0 = +0.0, but floating-point operations can carry\n the sign bit through arithmetic operations. This means −0.0 × +0.0 produces −0.0 and\n a negative number rounded to a value smaller than a float can represent also produces −0.0.\n- [∞](#associatedconstant.INFINITY) and\n [−∞](#associatedconstant.NEG_INFINITY): these result from calculations\n like `1.0 / 0.0`.\n- [NaN (not a number)](#associatedconstant.NAN): this value results from\n calculations like `(-1.0).sqrt()`. NaN has some potentially unexpected\n behavior:\n - It is not equal to any float, including itself! This is the reason `f32`\n doesn't implement the `Eq` trait.\n - It is also neither smaller nor greater than any float, making it\n impossible to sort by the default comparison operation, which is the\n reason `f32` doesn't implement the `Ord` trait.\n - It is also considered *infectious* as almost all calculations where one\n of the operands is NaN will also result in NaN. The explanations on this\n page only explicitly document behavior on NaN operands if this default\n is deviated from.\n - Lastly, there are multiple bit patterns that are considered NaN.\n Rust does not currently guarantee that the bit patterns of NaN are\n preserved over arithmetic operations, and they are not guaranteed to be\n portable or even fully deterministic! This means that there may be some\n surprising results upon inspecting the bit patterns,\n as the same calculations might produce NaNs with different bit patterns.\n This also affects the sign of the NaN: checking `is_sign_positive` or `is_sign_negative` on\n a NaN is the most common way to run into these surprising results.\n (Checking `x >= 0.0` or `x <= 0.0` avoids those surprises, but also how negative/positive\n zero are treated.)\n See the section below for what exactly is guaranteed about the bit pattern of a NaN.\n\nWhen a primitive operation (addition, subtraction, multiplication, or\ndivision) is performed on this type, the result is rounded according to the\nroundTiesToEven direction defined in IEEE 754-2008. That means:\n\n- The result is the representable value closest to the true value, if there\n is a unique closest representable value.\n- If the true value is exactly half-way between two representable values,\n the result is the one with an even least-significant binary digit.\n- If the true value's magnitude is ≥ `f32::MAX` + 2(`f32::MAX_EXP` −\n `f32::MANTISSA_DIGITS` − 1), the result is ∞ or −∞ (preserving the\n true value's sign).\n- If the result of a sum exactly equals zero, the outcome is +0.0 unless\n both arguments were negative, then it is -0.0. Subtraction `a - b` is\n regarded as a sum `a + (-b)`.\n\nFor more information on floating-point numbers, see [Wikipedia][wikipedia].\n\n*[See also the `std::f32::consts` module](crate::f32::consts).*\n\n[wikipedia]: https://en.wikipedia.org/wiki/Single-precision_floating-point_format\n\n# NaN bit patterns\n\nThis section defines the possible NaN bit patterns returned by floating-point operations.\n\nThe bit pattern of a floating-point NaN value is defined by:\n- a sign bit.\n- a quiet/signaling bit. Rust assumes that the quiet/signaling bit being set to `1` indicates a\n quiet NaN (QNaN), and a value of `0` indicates a signaling NaN (SNaN). In the following we\n will hence just call it the \"quiet bit\".\n- a payload, which makes up the rest of the significand (i.e., the mantissa) except for the\n quiet bit.\n\nThe rules for NaN values differ between *arithmetic* and *non-arithmetic* (or \"bitwise\")\noperations. The non-arithmetic operations are unary `-`, `abs`, `copysign`, `signum`,\n`{to,from}_bits`, `{to,from}_{be,le,ne}_bytes` and `is_sign_{positive,negative}`. These\noperations are guaranteed to exactly preserve the bit pattern of their input except for possibly\nchanging the sign bit.\n\nThe following rules apply when a NaN value is returned from an arithmetic operation:\n- The result has a non-deterministic sign.\n- The quiet bit and payload are non-deterministically chosen from\n the following set of options:\n\n - **Preferred NaN**: The quiet bit is set and the payload is all-zero.\n - **Quieting NaN propagation**: The quiet bit is set and the payload is copied from any input\n operand that is a NaN. If the inputs and outputs do not have the same payload size (i.e., for\n `as` casts), then\n - If the output is smaller than the input, low-order bits of the payload get dropped.\n - If the output is larger than the input, the payload gets filled up with 0s in the low-order\n bits.\n - **Unchanged NaN propagation**: The quiet bit and payload are copied from any input operand\n that is a NaN. If the inputs and outputs do not have the same size (i.e., for `as` casts), the\n same rules as for \"quieting NaN propagation\" apply, with one caveat: if the output is smaller\n than the input, dropping the low-order bits may result in a payload of 0; a payload of 0 is not\n possible with a signaling NaN (the all-0 significand encodes an infinity) so unchanged NaN\n propagation cannot occur with some inputs.\n - **Target-specific NaN**: The quiet bit is set and the payload is picked from a target-specific\n set of \"extra\" possible NaN payloads. The set can depend on the input operand values.\n See the table below for the concrete NaNs this set contains on various targets.\n\nIn particular, if all input NaNs are quiet (or if there are no input NaNs), then the output NaN\nis definitely quiet. Signaling NaN outputs can only occur if they are provided as an input\nvalue. Similarly, if all input NaNs are preferred (or if there are no input NaNs) and the target\ndoes not have any \"extra\" NaN payloads, then the output NaN is guaranteed to be preferred.\n\nThe non-deterministic choice happens when the operation is executed; i.e., the result of a\nNaN-producing floating-point operation is a stable bit pattern (looking at these bits multiple\ntimes will yield consistent results), but running the same operation twice with the same inputs\ncan produce different results.\n\nThese guarantees are neither stronger nor weaker than those of IEEE 754: IEEE 754 guarantees\nthat an operation never returns a signaling NaN, whereas it is possible for operations like\n`SNAN * 1.0` to return a signaling NaN in Rust. Conversely, IEEE 754 makes no statement at all\nabout which quiet NaN is returned, whereas Rust restricts the set of possible results to the\nones listed above.\n\nUnless noted otherwise, the same rules also apply to NaNs returned by other library functions\n(e.g. `min`, `minimum`, `max`, `maximum`); other aspects of their semantics and which IEEE 754\noperation they correspond to are documented with the respective functions.\n\nWhen an arithmetic floating-point operation is executed in `const` context, the same rules\napply: no guarantee is made about which of the NaN bit patterns described above will be\nreturned. The result does not have to match what happens when executing the same code at\nruntime, and the result can vary depending on factors such as compiler version and flags.\n\n### Target-specific \"extra\" NaN values\n\n| `target_arch` | Extra payloads possible on this platform |\n|---------------|------------------------------------------|\n| `aarch64`, `arm`, `arm64ec`, `loongarch64`, `powerpc` (except when `target_abi = \"spe\"`), `powerpc64`, `riscv32`, `riscv64`, `s390x`, `x86`, `x86_64` | None |\n| `nvptx64` | All payloads |\n| `sparc`, `sparc64` | The all-one payload |\n| `wasm32`, `wasm64` | If all input NaNs are quiet with all-zero payload: None.
Otherwise: all payloads. |\n\nFor targets not in this table, all payloads are possible.\n\n# Algebraic operators\n\nAlgebraic operators of the form `a.algebraic_*(b)` allow the compiler to optimize\nfloating point operations using all the usual algebraic properties of real numbers --\ndespite the fact that those properties do *not* hold on floating point numbers.\nThis can give a great performance boost since it may unlock vectorization.\n\nThe exact set of optimizations is unspecified but typically allows combining operations,\nrearranging series of operations based on mathematical properties, converting between division\nand reciprocal multiplication, and disregarding the sign of zero. This means that the results of\nelementary operations may have undefined precision, and \"non-mathematical\" values\nsuch as NaN, +/-Inf, or -0.0 may behave in unexpected ways, but these operations\nwill never cause undefined behavior.\n\nBecause of the unpredictable nature of compiler optimizations, the same inputs may produce\ndifferent results even within a single program run. **Unsafe code must not rely on any property\nof the return value for soundness.** However, implementations will generally do their best to\npick a reasonable tradeoff between performance and accuracy of the result.\n\nFor example:\n\n```\n# #![feature(float_algebraic)]\n# #![allow(unused_assignments)]\n# let mut x: f32 = 0.0;\n# let a: f32 = 1.0;\n# let b: f32 = 2.0;\n# let c: f32 = 3.0;\n# let d: f32 = 4.0;\nx = a.algebraic_add(b).algebraic_add(c).algebraic_add(d);\n```\n\nMay be rewritten as:\n\n```\n# #![allow(unused_assignments)]\n# let mut x: f32 = 0.0;\n# let a: f32 = 1.0;\n# let b: f32 = 2.0;\n# let c: f32 = 3.0;\n# let d: f32 = 4.0;\nx = a + b + c + d; // As written\nx = (a + c) + (b + d); // Reordered to shorten critical path and enable vectorization\n```", "id": 265, "inner": { - "use": { - "id": 266, - "is_glob": false, - "name": "consts", - "source": "core::f32::consts" + "primitive": { + "impls": [ + 9956, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022 + ], + "name": "f32" } }, - "links": {}, - "name": null, + "links": { + "crate::f32::consts": 264 + }, + "name": "f32", "span": { "begin": [ - 19, - 45 + 1367, + 1 ], "end": [ - 19, - 51 + 1367, + 16 ], - "filename": "std/src/num/f32.rs" + "filename": "std/src/../../core/src/primitive_docs.rs" }, "visibility": "public" }, @@ -259960,7 +278699,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "crate::fs::Metadata" } }, @@ -260042,8 +278781,6 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 4836, - 4837, 4838, 4839, 4840, @@ -260063,12 +278800,14 @@ 4854, 4855, 4856, - 4857 + 4857, + 4858, + 4859 ] } }, "links": { - "crate::fs::Metadata": 2441 + "crate::fs::Metadata": 2439 }, "name": "MetadataExt", "span": { @@ -260129,11 +278868,11 @@ "name": "dev", "span": { "begin": [ - 741, + 830, 5 ], "end": [ - 743, + 832, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260185,11 +278924,11 @@ "name": "ino", "span": { "begin": [ - 744, + 833, 5 ], "end": [ - 746, + 835, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260241,11 +278980,11 @@ "name": "mode", "span": { "begin": [ - 747, + 836, 5 ], "end": [ - 749, + 838, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260297,11 +279036,11 @@ "name": "nlink", "span": { "begin": [ - 750, + 839, 5 ], "end": [ - 752, + 841, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260350,26 +279089,82 @@ } }, "links": {}, - "name": "uid", + "name": "uid", + "span": { + "begin": [ + 842, + 5 + ], + "end": [ + 844, + 6 + ], + "filename": "std/src/os/unix/fs.rs" + }, + "visibility": "default" + }, + "2658": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 2658, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } + } + }, + "links": {}, + "name": "gid", "span": { "begin": [ - 753, + 845, 5 ], "end": [ - 755, + 847, 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "2658": { + "2659": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2658, + "id": 2659, "inner": { "function": { "generics": { @@ -260400,81 +279195,81 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u64" } } } }, "links": {}, - "name": "gid", + "name": "rdev", "span": { "begin": [ - 756, + 848, 5 ], "end": [ - 758, + 850, 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "2659": { - "attrs": [], + "266": { + "attrs": [ + { + "other": "#[allow(missing_docs)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Path(\"num/f32.rs\")]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 2659, + "docs": "Constants for the `f32` single-precision floating point type.\n\n*[See also the `f32` primitive type](primitive@f32).*\n\nMathematically significant numbers are provided in the `consts` sub-module.\n\nFor the constants defined directly in this module\n(as distinct from those defined in the `consts` sub-module),\nnew code should instead use the associated constants\ndefined directly on the `f32` type.", + "id": 266, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u64" - } - } + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 235, + 237, + 239, + 241, + 243, + 245, + 247, + 249, + 251, + 253, + 255, + 257, + 259, + 261, + 263 + ] } }, - "links": {}, - "name": "rdev", + "links": { + "primitive@f32": 265 + }, + "name": "f32", "span": { "begin": [ - 759, - 5 + 1, + 1 ], "end": [ - 761, - 6 + 1263, + 2 ], - "filename": "std/src/os/unix/fs.rs" + "filename": "std/src/num/f32.rs" }, - "visibility": "default" + "visibility": "public" }, "2660": { "attrs": [], @@ -260521,11 +279316,11 @@ "name": "size", "span": { "begin": [ - 762, + 851, 5 ], "end": [ - 764, + 853, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260577,11 +279372,11 @@ "name": "atime", "span": { "begin": [ - 765, + 854, 5 ], "end": [ - 767, + 856, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260633,11 +279428,11 @@ "name": "atime_nsec", "span": { "begin": [ - 768, + 857, 5 ], "end": [ - 770, + 859, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260689,11 +279484,11 @@ "name": "mtime", "span": { "begin": [ - 771, + 860, 5 ], "end": [ - 773, + 862, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260745,11 +279540,11 @@ "name": "mtime_nsec", "span": { "begin": [ - 774, + 863, 5 ], "end": [ - 776, + 865, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260801,11 +279596,11 @@ "name": "ctime", "span": { "begin": [ - 777, + 866, 5 ], "end": [ - 779, + 868, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260857,11 +279652,11 @@ "name": "ctime_nsec", "span": { "begin": [ - 780, + 869, 5 ], "end": [ - 782, + 871, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260913,11 +279708,11 @@ "name": "blksize", "span": { "begin": [ - 783, + 872, 5 ], "end": [ - 785, + 874, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260969,11 +279764,11 @@ "name": "blocks", "span": { "begin": [ - 786, + 875, 5 ], "end": [ - 788, + 877, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -260999,7 +279794,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "fs::Metadata" } }, @@ -261040,11 +279835,11 @@ "name": null, "span": { "begin": [ - 740, + 829, 1 ], "end": [ - 793, + 882, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -261054,10 +279849,7 @@ "267": { "attrs": [ { - "other": "#[rustc_doc_primitive = \"f32\"]" - }, - { - "other": "#[doc(alias = \"single\")]" + "other": "#[allow(deprecated, deprecated_in_future)]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -261065,47 +279857,28 @@ ], "crate_id": 0, "deprecation": null, - "docs": "A 32-bit floating-point type (specifically, the \"binary32\" type defined in IEEE 754-2008).\n\nThis type can represent a wide range of decimal numbers, like `3.5`, `27`,\n`-113.75`, `0.0078125`, `34359738368`, `0`, `-1`. So unlike integer types\n(such as `i32`), floating-point types can represent non-integer numbers,\ntoo.\n\nHowever, being able to represent this wide range of numbers comes at the\ncost of precision: floats can only represent some of the real numbers and\ncalculation with floats round to a nearby representable number. For example,\n`5.0` and `1.0` can be exactly represented as `f32`, but `1.0 / 5.0` results\nin `0.20000000298023223876953125` since `0.2` cannot be exactly represented\nas `f32`. Note, however, that printing floats with `println` and friends will\noften discard insignificant digits: `println!(\"{}\", 1.0f32 / 5.0f32)` will\nprint `0.2`.\n\nAdditionally, `f32` can represent some special values:\n\n- −0.0: IEEE 754 floating-point numbers have a bit that indicates their sign, so −0.0 is a\n possible value. For comparison −0.0 = +0.0, but floating-point operations can carry\n the sign bit through arithmetic operations. This means −0.0 × +0.0 produces −0.0 and\n a negative number rounded to a value smaller than a float can represent also produces −0.0.\n- [∞](#associatedconstant.INFINITY) and\n [−∞](#associatedconstant.NEG_INFINITY): these result from calculations\n like `1.0 / 0.0`.\n- [NaN (not a number)](#associatedconstant.NAN): this value results from\n calculations like `(-1.0).sqrt()`. NaN has some potentially unexpected\n behavior:\n - It is not equal to any float, including itself! This is the reason `f32`\n doesn't implement the `Eq` trait.\n - It is also neither smaller nor greater than any float, making it\n impossible to sort by the default comparison operation, which is the\n reason `f32` doesn't implement the `Ord` trait.\n - It is also considered *infectious* as almost all calculations where one\n of the operands is NaN will also result in NaN. The explanations on this\n page only explicitly document behavior on NaN operands if this default\n is deviated from.\n - Lastly, there are multiple bit patterns that are considered NaN.\n Rust does not currently guarantee that the bit patterns of NaN are\n preserved over arithmetic operations, and they are not guaranteed to be\n portable or even fully deterministic! This means that there may be some\n surprising results upon inspecting the bit patterns,\n as the same calculations might produce NaNs with different bit patterns.\n This also affects the sign of the NaN: checking `is_sign_positive` or `is_sign_negative` on\n a NaN is the most common way to run into these surprising results.\n (Checking `x >= 0.0` or `x <= 0.0` avoids those surprises, but also how negative/positive\n zero are treated.)\n See the section below for what exactly is guaranteed about the bit pattern of a NaN.\n\nWhen a primitive operation (addition, subtraction, multiplication, or\ndivision) is performed on this type, the result is rounded according to the\nroundTiesToEven direction defined in IEEE 754-2008. That means:\n\n- The result is the representable value closest to the true value, if there\n is a unique closest representable value.\n- If the true value is exactly half-way between two representable values,\n the result is the one with an even least-significant binary digit.\n- If the true value's magnitude is ≥ `f32::MAX` + 2(`f32::MAX_EXP` −\n `f32::MANTISSA_DIGITS` − 1), the result is ∞ or −∞ (preserving the\n true value's sign).\n- If the result of a sum exactly equals zero, the outcome is +0.0 unless\n both arguments were negative, then it is -0.0. Subtraction `a - b` is\n regarded as a sum `a + (-b)`.\n\nFor more information on floating-point numbers, see [Wikipedia][wikipedia].\n\n*[See also the `std::f32::consts` module](crate::f32::consts).*\n\n[wikipedia]: https://en.wikipedia.org/wiki/Single-precision_floating-point_format\n\n# NaN bit patterns\n\nThis section defines the possible NaN bit patterns returned by floating-point operations.\n\nThe bit pattern of a floating-point NaN value is defined by:\n- a sign bit.\n- a quiet/signaling bit. Rust assumes that the quiet/signaling bit being set to `1` indicates a\n quiet NaN (QNaN), and a value of `0` indicates a signaling NaN (SNaN). In the following we\n will hence just call it the \"quiet bit\".\n- a payload, which makes up the rest of the significand (i.e., the mantissa) except for the\n quiet bit.\n\nThe rules for NaN values differ between *arithmetic* and *non-arithmetic* (or \"bitwise\")\noperations. The non-arithmetic operations are unary `-`, `abs`, `copysign`, `signum`,\n`{to,from}_bits`, `{to,from}_{be,le,ne}_bytes` and `is_sign_{positive,negative}`. These\noperations are guaranteed to exactly preserve the bit pattern of their input except for possibly\nchanging the sign bit.\n\nThe following rules apply when a NaN value is returned from an arithmetic operation:\n- The result has a non-deterministic sign.\n- The quiet bit and payload are non-deterministically chosen from\n the following set of options:\n\n - **Preferred NaN**: The quiet bit is set and the payload is all-zero.\n - **Quieting NaN propagation**: The quiet bit is set and the payload is copied from any input\n operand that is a NaN. If the inputs and outputs do not have the same payload size (i.e., for\n `as` casts), then\n - If the output is smaller than the input, low-order bits of the payload get dropped.\n - If the output is larger than the input, the payload gets filled up with 0s in the low-order\n bits.\n - **Unchanged NaN propagation**: The quiet bit and payload are copied from any input operand\n that is a NaN. If the inputs and outputs do not have the same size (i.e., for `as` casts), the\n same rules as for \"quieting NaN propagation\" apply, with one caveat: if the output is smaller\n than the input, dropping the low-order bits may result in a payload of 0; a payload of 0 is not\n possible with a signaling NaN (the all-0 significand encodes an infinity) so unchanged NaN\n propagation cannot occur with some inputs.\n - **Target-specific NaN**: The quiet bit is set and the payload is picked from a target-specific\n set of \"extra\" possible NaN payloads. The set can depend on the input operand values.\n See the table below for the concrete NaNs this set contains on various targets.\n\nIn particular, if all input NaNs are quiet (or if there are no input NaNs), then the output NaN\nis definitely quiet. Signaling NaN outputs can only occur if they are provided as an input\nvalue. Similarly, if all input NaNs are preferred (or if there are no input NaNs) and the target\ndoes not have any \"extra\" NaN payloads, then the output NaN is guaranteed to be preferred.\n\nThe non-deterministic choice happens when the operation is executed; i.e., the result of a\nNaN-producing floating-point operation is a stable bit pattern (looking at these bits multiple\ntimes will yield consistent results), but running the same operation twice with the same inputs\ncan produce different results.\n\nThese guarantees are neither stronger nor weaker than those of IEEE 754: IEEE 754 guarantees\nthat an operation never returns a signaling NaN, whereas it is possible for operations like\n`SNAN * 1.0` to return a signaling NaN in Rust. Conversely, IEEE 754 makes no statement at all\nabout which quiet NaN is returned, whereas Rust restricts the set of possible results to the\nones listed above.\n\nUnless noted otherwise, the same rules also apply to NaNs returned by other library functions\n(e.g. `min`, `minimum`, `max`, `maximum`); other aspects of their semantics and which IEEE 754\noperation they correspond to are documented with the respective functions.\n\nWhen an arithmetic floating-point operation is executed in `const` context, the same rules\napply: no guarantee is made about which of the NaN bit patterns described above will be\nreturned. The result does not have to match what happens when executing the same code at\nruntime, and the result can vary depending on factors such as compiler version and flags.\n\n### Target-specific \"extra\" NaN values\n\n| `target_arch` | Extra payloads possible on this platform |\n|---------------|------------------------------------------|\n| `aarch64`, `arm`, `arm64ec`, `loongarch64`, `powerpc` (except when `target_abi = \"spe\"`), `powerpc64`, `riscv32`, `riscv64`, `s390x`, `x86`, `x86_64` | None |\n| `nvptx64` | All payloads |\n| `sparc`, `sparc64` | The all-one payload |\n| `wasm32`, `wasm64` | If all input NaNs are quiet with all-zero payload: None.
Otherwise: all payloads. |\n\nFor targets not in this table, all payloads are possible.\n\n# Algebraic operators\n\nAlgebraic operators of the form `a.algebraic_*(b)` allow the compiler to optimize\nfloating point operations using all the usual algebraic properties of real numbers --\ndespite the fact that those properties do *not* hold on floating point numbers.\nThis can give a great performance boost since it may unlock vectorization.\n\nThe exact set of optimizations is unspecified but typically allows combining operations,\nrearranging series of operations based on mathematical properties, converting between division\nand reciprocal multiplication, and disregarding the sign of zero. This means that the results of\nelementary operations may have undefined precision, and \"non-mathematical\" values\nsuch as NaN, +/-Inf, or -0.0 may behave in unexpected ways, but these operations\nwill never cause undefined behavior.\n\nBecause of the unpredictable nature of compiler optimizations, the same inputs may produce\ndifferent results even within a single program run. **Unsafe code must not rely on any property\nof the return value for soundness.** However, implementations will generally do their best to\npick a reasonable tradeoff between performance and accuracy of the result.\n\nFor example:\n\n```\n# #![feature(float_algebraic)]\n# #![allow(unused_assignments)]\n# let mut x: f32 = 0.0;\n# let a: f32 = 1.0;\n# let b: f32 = 2.0;\n# let c: f32 = 3.0;\n# let d: f32 = 4.0;\nx = a.algebraic_add(b).algebraic_add(c).algebraic_add(d);\n```\n\nMay be rewritten as:\n\n```\n# #![allow(unused_assignments)]\n# let mut x: f32 = 0.0;\n# let a: f32 = 1.0;\n# let b: f32 = 2.0;\n# let c: f32 = 3.0;\n# let d: f32 = 4.0;\nx = a + b + c + d; // As written\nx = (a + c) + (b + d); // Reordered to shorten critical path and enable vectorization\n```", + "docs": null, "id": 267, "inner": { - "primitive": { - "impls": [ - 9735, - 9785, - 9786, - 9787, - 9788, - 9789, - 9790, - 9791, - 9792, - 9793, - 9794, - 9795, - 9796, - 9797, - 9798, - 9799, - 9800, - 9801 - ], - "name": "f32" + "use": { + "id": 268, + "is_glob": false, + "name": "DIGITS", + "source": "core::f64::DIGITS" } }, - "links": { - "crate::f32::consts": 266 - }, - "name": "f32", + "links": {}, + "name": null, "span": { "begin": [ - 1367, - 1 + 18, + 5 ], "end": [ - 1367, - 16 + 18, + 11 ], - "filename": "std/src/../../core/src/primitive_docs.rs" + "filename": "std/src/num/f64.rs" }, "visibility": "public" }, @@ -261133,11 +279906,6 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 4899, - 4900, - 4901, - 4902, - 4903, 4904, 4905, 4906, @@ -261148,21 +279916,26 @@ 4911, 4912, 4913, - 4914 + 4914, + 4915, + 4916, + 4917, + 4918, + 4919 ] } }, "links": { - "`fs::Metadata`": 2441 + "`fs::Metadata`": 2439 }, "name": "MetadataExt", "span": { "begin": [ - 449, + 538, 1 ], "end": [ - 737, + 826, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -261267,11 +280040,6 @@ "where_predicates": [] }, "impls": [ - 5526, - 5527, - 5528, - 5529, - 5530, 5531, 5532, 5533, @@ -261282,16 +280050,16 @@ 5538, 5539, 5540, - 5542 + 5541, + 5542, + 5543, + 5544, + 5545, + 5547 ], "kind": { "plain": { "fields": [ - 5508, - 5509, - 5510, - 5511, - 5512, 5513, 5514, 5515, @@ -261304,7 +280072,12 @@ 5522, 5523, 5524, - 5525 + 5525, + 5526, + 5527, + 5528, + 5529, + 5530 ], "has_stripped_fields": false } @@ -261592,82 +280365,26 @@ } }, "links": {}, - "name": "st_uid", - "span": { - "begin": [ - 352, - 5 - ], - "end": [ - 354, - 6 - ], - "filename": "std/src/os/linux/fs.rs" - }, - "visibility": "default" - }, - "2678": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 2678, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "st_gid", + "name": "st_uid", "span": { "begin": [ - 355, + 352, 5 ], "end": [ - 357, + 354, 6 ], "filename": "std/src/os/linux/fs.rs" }, "visibility": "default" }, - "2679": { + "2678": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2679, + "id": 2678, "inner": { "function": { "generics": { @@ -261698,81 +280415,81 @@ ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u32" } } } }, "links": {}, - "name": "st_rdev", + "name": "st_gid", "span": { "begin": [ - 358, + 355, 5 ], "end": [ - 360, + 357, 6 ], "filename": "std/src/os/linux/fs.rs" }, "visibility": "default" }, - "268": { - "attrs": [ - { - "other": "#[allow(missing_docs)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Path(\"num/f32.rs\")]" - } - ], + "2679": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Constants for the `f32` single-precision floating point type.\n\n*[See also the `f32` primitive type](primitive@f32).*\n\nMathematically significant numbers are provided in the `consts` sub-module.\n\nFor the constants defined directly in this module\n(as distinct from those defined in the `consts` sub-module),\nnew code should instead use the associated constants\ndefined directly on the `f32` type.", - "id": 268, + "docs": null, + "id": 2679, "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 237, - 239, - 241, - 243, - 245, - 247, - 249, - 251, - 253, - 255, - 257, - 259, - 261, - 263, - 265 - ] + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u64" + } + } } }, - "links": { - "primitive@f32": 267 - }, - "name": "f32", + "links": {}, + "name": "st_rdev", "span": { "begin": [ - 1, - 1 + 358, + 5 ], "end": [ - 1260, - 2 + 360, + 6 ], - "filename": "std/src/num/f32.rs" + "filename": "std/src/os/linux/fs.rs" }, - "visibility": "public" + "visibility": "default" }, "2680": { "attrs": [], @@ -262297,7 +281014,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "crate::fs::Metadata" } }, @@ -262367,8 +281084,8 @@ "use": { "id": 270, "is_glob": false, - "name": "DIGITS", - "source": "core::f64::DIGITS" + "name": "EPSILON", + "source": "core::f64::EPSILON" } }, "links": {}, @@ -262376,11 +281093,11 @@ "span": { "begin": [ 18, - 5 + 13 ], "end": [ 18, - 11 + 20 ], "filename": "std/src/num/f64.rs" }, @@ -262410,11 +281127,6 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5438, - 5439, - 5440, - 5441, - 5442, 5443, 5444, 5445, @@ -262426,12 +281138,17 @@ 5451, 5452, 5453, - 5454 + 5454, + 5455, + 5456, + 5457, + 5458, + 5459 ] } }, "links": { - "crate::fs::Metadata": 2441 + "crate::fs::Metadata": 2439 }, "name": "MetadataExt", "span": { @@ -262855,7 +281572,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "fs::Metadata" } }, @@ -262918,18 +281635,18 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5585, - 5586, - 5587, - 5588, - 5589, 5590, - 5591 + 5591, + 5592, + 5593, + 5594, + 5595, + 5596 ] } }, "links": { - "`fs::Metadata`": 2441 + "`fs::Metadata`": 2439 }, "name": "MetadataExt", "span": { @@ -262990,11 +281707,11 @@ "name": "file_attributes", "span": { "begin": [ - 488, + 531, 5 ], "end": [ - 490, + 533, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -263046,11 +281763,11 @@ "name": "creation_time", "span": { "begin": [ - 491, + 534, 5 ], "end": [ - 493, + 536, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -263102,11 +281819,11 @@ "name": "last_access_time", "span": { "begin": [ - 494, + 537, 5 ], "end": [ - 496, + 539, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -263158,11 +281875,11 @@ "name": "last_write_time", "span": { "begin": [ - 497, + 540, 5 ], "end": [ - 499, + 542, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -263214,11 +281931,11 @@ "name": "file_size", "span": { "begin": [ - 500, + 543, 5 ], "end": [ - 502, + 545, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -263285,11 +282002,11 @@ "name": "volume_serial_number", "span": { "begin": [ - 503, + 546, 5 ], "end": [ - 505, + 548, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -263356,11 +282073,11 @@ "name": "number_of_links", "span": { "begin": [ - 506, + 549, 5 ], "end": [ - 508, + 551, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -263427,11 +282144,11 @@ "name": "file_index", "span": { "begin": [ - 509, + 552, 5 ], "end": [ - 511, + 554, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -263498,11 +282215,11 @@ "name": "change_time", "span": { "begin": [ - 512, + 555, 5 ], "end": [ - 514, + 557, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -263528,7 +282245,7 @@ "for": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "crate::fs::Metadata" } }, @@ -263562,11 +282279,11 @@ "name": null, "span": { "begin": [ - 487, + 530, 1 ], "end": [ - 515, + 558, 2 ], "filename": "std/src/os/windows/fs.rs" @@ -263590,8 +282307,8 @@ "use": { "id": 272, "is_glob": false, - "name": "EPSILON", - "source": "core::f64::EPSILON" + "name": "INFINITY", + "source": "core::f64::INFINITY" } }, "links": {}, @@ -263599,11 +282316,11 @@ "span": { "begin": [ 18, - 13 + 22 ], "end": [ 18, - 20 + 30 ], "filename": "std/src/num/f64.rs" }, @@ -263633,29 +282350,29 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5631, - 5632, - 5633, - 5634, - 5635, - 5636, - 5637, - 5638, - 5639 + 5662, + 5663, + 5664, + 5665, + 5666, + 5667, + 5668, + 5669, + 5670 ] } }, "links": { - "`fs::Metadata`": 2441 + "`fs::Metadata`": 2439 }, "name": "MetadataExt", "span": { "begin": [ - 303, + 346, 1 ], "end": [ - 484, + 527, 2 ], "filename": "std/src/os/windows/fs.rs" @@ -263673,7 +282390,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over the entries within a directory.\n\nThe iterator will yield instances of [io::Result]<[DirEntry]>.\nNew errors may be encountered after an iterator is initially constructed.\nEntries for the current and parent directories (typically `.` and `..`) are\nskipped.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `opendir` function on Unix\nand the `FindFirstFileEx` function on Windows. Advancing the iterator\ncurrently corresponds to `readdir` on Unix and `FindNextFile` on Windows.\nNote that, this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\nThe order in which this iterator returns entries is platform and filesystem\ndependent.\n\n# Errors\n\nThis function will return an error in the following situations, but is not\nlimited to just these cases:\n\n* The provided `path` doesn't exist.\n* The process lacks permissions to view the contents.\n* The `path` points at a non-directory file.\n\n# Examples\n\n```\nuse std::io;\nuse std::fs::{self, DirEntry};\nuse std::path::Path;\n\n// one possible implementation of walking a directory only visiting files\nfn visit_dirs(dir: &Path, cb: &dyn Fn(&DirEntry)) -> io::Result<()> {\n if dir.is_dir() {\n for entry in fs::read_dir(dir)? {\n let entry = entry?;\n let path = entry.path();\n if path.is_dir() {\n visit_dirs(&path, cb)?;\n } else {\n cb(&entry);\n }\n }\n }\n Ok(())\n}\n```\n\n```rust,no_run\nuse std::{fs, io};\n\nfn main() -> io::Result<()> {\n let mut entries = fs::read_dir(\".\")?\n .map(|res| res.map(|e| e.path()))\n .collect::, io::Error>>()?;\n\n // The order in which `read_dir` returns entries is not guaranteed. If reproducible\n // ordering is required the entries should be explicitly sorted.\n\n entries.sort();\n\n // The entries have now been sorted by their path.\n\n Ok(())\n}\n```", + "docs": "Returns an iterator over the entries within a directory.\n\nThe iterator will yield instances of [io::Result]<[DirEntry]>.\nNew errors may be encountered after an iterator is initially constructed.\nEntries for the current and parent directories (typically `.` and `..`) are\nskipped.\n\nThe order in which `read_dir` returns entries can change between calls. If reproducible\nordering is required, the entries should be explicitly sorted.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `opendir` function on Unix\nand the `FindFirstFileEx` function on Windows. Advancing the iterator\ncurrently corresponds to `readdir` on Unix and `FindNextFile` on Windows.\nNote that, this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\nThe order in which this iterator returns entries is platform and filesystem\ndependent.\n\n# Errors\n\nThis function will return an error in the following situations, but is not\nlimited to just these cases:\n\n* The provided `path` doesn't exist.\n* The process lacks permissions to view the contents.\n* The `path` points at a non-directory file.\n\n# Examples\n\n```\nuse std::io;\nuse std::fs::{self, DirEntry};\nuse std::path::Path;\n\n// one possible implementation of walking a directory only visiting files\nfn visit_dirs(dir: &Path, cb: &dyn Fn(&DirEntry)) -> io::Result<()> {\n if dir.is_dir() {\n for entry in fs::read_dir(dir)? {\n let entry = entry?;\n let path = entry.path();\n if path.is_dir() {\n visit_dirs(&path, cb)?;\n } else {\n cb(&entry);\n }\n }\n }\n Ok(())\n}\n```\n\n```rust,no_run\nuse std::{fs, io};\n\nfn main() -> io::Result<()> {\n let mut entries = fs::read_dir(\".\")?\n .map(|res| res.map(|e| e.path()))\n .collect::, io::Error>>()?;\n\n // The order in which `read_dir` returns entries is not guaranteed. If reproducible\n // ordering is required the entries should be explicitly sorted.\n\n entries.sort();\n\n // The entries have now been sorted by their path.\n\n Ok(())\n}\n```", "id": 2712, "inner": { "function": { @@ -263695,7 +282412,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -263754,7 +282471,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -263763,17 +282480,17 @@ }, "links": { "DirEntry": 2713, - "io#platform-specific-behavior": 501, - "io::Result": 468 + "io#platform-specific-behavior": 502, + "io::Result": 469 }, "name": "read_dir", "span": { "begin": [ - 3104, + 3193, 1 ], "end": [ - 3106, + 3195, 2 ], "filename": "std/src/fs.rs" @@ -263825,7 +282542,7 @@ }, "links": { "`ReadDir`": 2714, - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "DirEntry", "span": { @@ -263886,9 +282603,9 @@ "DirEntry": 2713, "`DirEntry`": 2713, "`Err`": 59, - "`io::Result`": 468, + "`io::Result`": 469, "`read_dir`": 2712, - "io::Result": 468 + "io::Result": 469 }, "name": "ReadDir", "span": { @@ -264005,7 +282722,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -264079,7 +282796,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -264116,7 +282833,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -264185,7 +282902,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -264201,7 +282918,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -264210,12 +282927,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -264280,7 +282997,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -264296,7 +283013,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -264305,12 +283022,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -264396,7 +283113,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -264421,11 +283138,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -264469,7 +283186,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -264494,11 +283211,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -264567,7 +283284,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -264585,8 +283302,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -264602,7 +283319,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -264611,11 +283328,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -264702,8 +283419,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -264719,7 +283436,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -264728,11 +283445,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -264801,12 +283518,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -264967,7 +283684,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -264979,7 +283696,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -265018,8 +283735,8 @@ "use": { "id": 274, "is_glob": false, - "name": "INFINITY", - "source": "core::f64::INFINITY" + "name": "MANTISSA_DIGITS", + "source": "core::f64::MANTISSA_DIGITS" } }, "links": {}, @@ -265027,11 +283744,11 @@ "span": { "begin": [ 18, - 22 + 32 ], "end": [ 18, - 30 + 47 ], "filename": "std/src/num/f64.rs" }, @@ -265071,7 +283788,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -265141,11 +283858,11 @@ "name": "Item", "span": { "begin": [ - 2295, + 2381, 5 ], "end": [ - 2295, + 2381, 38 ], "filename": "std/src/fs.rs" @@ -265211,7 +283928,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -265231,11 +283948,11 @@ "name": "next", "span": { "begin": [ - 2297, + 2383, 5 ], "end": [ - 2299, + 2385, 6 ], "filename": "std/src/fs.rs" @@ -265362,11 +284079,11 @@ "name": null, "span": { "begin": [ - 2294, + 2380, 1 ], "end": [ - 2300, + 2386, 2 ], "filename": "std/src/fs.rs" @@ -265420,7 +284137,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -265431,11 +284148,11 @@ "name": "path", "span": { "begin": [ - 2333, + 2419, 5 ], "end": [ - 2335, + 2421, 6 ], "filename": "std/src/fs.rs" @@ -265490,7 +284207,7 @@ "type": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "Metadata" } } @@ -265499,7 +284216,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -265507,17 +284224,17 @@ } }, "links": { - "File::metadata": 2440, + "File::metadata": 2438, "metadata": 2596 }, "name": "metadata", "span": { "begin": [ - 2371, + 2457, 5 ], "end": [ - 2373, + 2459, 6 ], "filename": "std/src/fs.rs" @@ -265581,7 +284298,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -265592,11 +284309,11 @@ "name": "file_type", "span": { "begin": [ - 2406, + 2492, 5 ], "end": [ - 2408, + 2494, 6 ], "filename": "std/src/fs.rs" @@ -265650,7 +284367,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -265661,11 +284378,11 @@ "name": "file_name", "span": { "begin": [ - 2435, + 2521, 5 ], "end": [ - 2437, + 2523, 6 ], "filename": "std/src/fs.rs" @@ -265709,11 +284426,11 @@ "name": null, "span": { "begin": [ - 2302, + 2388, 1 ], "end": [ - 2438, + 2524, 2 ], "filename": "std/src/fs.rs" @@ -265821,7 +284538,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -265895,7 +284612,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -265932,7 +284649,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -266001,7 +284718,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -266017,7 +284734,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -266026,12 +284743,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -266096,7 +284813,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -266112,7 +284829,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -266121,12 +284838,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -266212,7 +284929,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -266237,11 +284954,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -266285,7 +285002,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -266310,11 +285027,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -266338,8 +285055,8 @@ "use": { "id": 276, "is_glob": false, - "name": "MANTISSA_DIGITS", - "source": "core::f64::MANTISSA_DIGITS" + "name": "MAX", + "source": "core::f64::MAX" } }, "links": {}, @@ -266347,11 +285064,11 @@ "span": { "begin": [ 18, - 32 + 49 ], "end": [ 18, - 47 + 52 ], "filename": "std/src/num/f64.rs" }, @@ -266419,7 +285136,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -266437,8 +285154,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -266454,7 +285171,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -266463,11 +285180,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -266554,8 +285271,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -266571,7 +285288,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -266580,11 +285297,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -266653,12 +285370,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -266729,7 +285446,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -266741,7 +285458,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -266752,11 +285469,11 @@ "name": "fmt", "span": { "begin": [ - 2442, + 2528, 5 ], "end": [ - 2444, + 2530, 6 ], "filename": "std/src/fs.rs" @@ -266796,7 +285513,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -266805,11 +285522,11 @@ "name": null, "span": { "begin": [ - 2441, + 2527, 1 ], "end": [ - 2445, + 2531, 2 ], "filename": "std/src/fs.rs" @@ -266861,11 +285578,11 @@ "name": "ino", "span": { "begin": [ - 918, + 1007, 5 ], "end": [ - 920, + 1009, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -266917,11 +285634,11 @@ "name": null, "span": { "begin": [ - 917, + 1006, 1 ], "end": [ - 921, + 1010, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -266952,7 +285669,7 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 4919 + 4924 ] } }, @@ -266962,11 +285679,11 @@ "name": "DirEntryExt", "span": { "begin": [ - 893, + 982, 1 ], "end": [ - 914, + 1003, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -267015,7 +285732,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -267028,11 +285745,11 @@ "name": "file_name_ref", "span": { "begin": [ - 955, + 1044, 5 ], "end": [ - 957, + 1046, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -267084,11 +285801,11 @@ "name": null, "span": { "begin": [ - 954, + 1043, 1 ], "end": [ - 958, + 1047, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -267114,7 +285831,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -267131,7 +285848,7 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 4920 + 4925 ] } }, @@ -267141,11 +285858,11 @@ "name": "DirEntryExt2", "span": { "begin": [ - 925, + 1014, 1 ], "end": [ - 947, + 1036, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -267281,7 +285998,7 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5597 + 5602 ] } }, @@ -267363,11 +286080,11 @@ "name": "read", "span": { "begin": [ - 1510, + 1591, 5 ], "end": [ - 1513, + 1594, 6 ], "filename": "std/src/fs.rs" @@ -267435,11 +286152,11 @@ "name": "write", "span": { "begin": [ - 1531, + 1612, 5 ], "end": [ - 1534, + 1615, 6 ], "filename": "std/src/fs.rs" @@ -267461,7 +286178,7 @@ "discriminant": null, "kind": { "tuple": [ - 4252 + 4251 ] } } @@ -267534,7 +286251,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -267564,7 +286281,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Sets the option to create a new file, or open it if it already exists.\n\nIn order for the file to be created, [`OpenOptions::write`] or\n[`OpenOptions::append`] access must be used.\n\nSee also [`std::fs::write()`][self::write] for a simple function to\ncreate a file with some given data.\n\n# Examples\n\n```no_run\nuse std::fs::OpenOptions;\n\nlet file = OpenOptions::new().write(true).create(true).open(\"foo.txt\");\n```", + "docs": "Sets the option to create a new file, or open it if it already exists.\n\nIn order for the file to be created, [`OpenOptions::write`] or\n[`OpenOptions::append`] access must be used.\n\nSee also [`std::fs::write()`][self::write] for a simple function to\ncreate a file with some given data.\n\n# Errors\n\nIf `.create(true)` is set without `.write(true)` or `.append(true)`,\ncalling [`open`](Self::open) will fail with [`InvalidInput`](io::ErrorKind::InvalidInput) error.\n# Examples\n\n```no_run\nuse std::fs::OpenOptions;\n\nlet file = OpenOptions::new().write(true).create(true).open(\"foo.txt\");\n```", "id": 2769, "inner": { "function": { @@ -267614,18 +286331,20 @@ } }, "links": { + "Self::open": 2412, "`OpenOptions::append`": 2771, "`OpenOptions::write`": 2766, - "self::write": 2420 + "io::ErrorKind::InvalidInput": 2436, + "self::write": 2418 }, "name": "create", "span": { "begin": [ - 1625, + 1710, 5 ], "end": [ - 1628, + 1713, 6 ], "filename": "std/src/fs.rs" @@ -267649,8 +286368,8 @@ "use": { "id": 278, "is_glob": false, - "name": "MAX", - "source": "core::f64::MAX" + "name": "MAX_10_EXP", + "source": "core::f64::MAX_10_EXP" } }, "links": {}, @@ -267658,11 +286377,11 @@ "span": { "begin": [ 18, - 49 + 54 ], "end": [ 18, - 52 + 64 ], "filename": "std/src/num/f64.rs" }, @@ -267683,7 +286402,7 @@ "discriminant": null, "kind": { "tuple": [ - 4253 + 4252 ] } } @@ -267761,23 +286480,23 @@ } }, "links": { - "Seek::seek": 2487, + "Seek::seek": 2485, "Seek::stream_position": 2768, - "SeekFrom": 2489, + "SeekFrom": 2487, "SeekFrom::Current": 2770, "SeekFrom::End": 2767, - "Write::flush": 2483, - "Write::write": 2436, + "Write::flush": 2481, + "Write::write": 2434, "`OpenOptions::create`": 2769 }, "name": "append", "span": { "begin": [ - 1584, + 1665, 5 ], "end": [ - 1587, + 1668, 6 ], "filename": "std/src/fs.rs" @@ -267845,11 +286564,11 @@ "name": "truncate", "span": { "begin": [ - 1604, + 1685, 5 ], "end": [ - 1607, + 1688, 6 ], "filename": "std/src/fs.rs" @@ -267916,18 +286635,18 @@ "links": { "OpenOptions::create": 2769, "OpenOptions::truncate": 2772, - "`OpenOptions::open`": 2414, - "io::ErrorKind::AlreadyExists": 2423, - "self#time-of-check-to-time-of-use-toctou": 2424 + "`OpenOptions::open`": 2412, + "io::ErrorKind::AlreadyExists": 2421, + "self#time-of-check-to-time-of-use-toctou": 2422 }, "name": "create_new", "span": { "begin": [ - 1663, + 1748, 5 ], "end": [ - 1666, + 1751, 6 ], "filename": "std/src/fs.rs" @@ -267962,6 +286681,7 @@ }, "has_stripped_variants": true, "impls": [ + 3400, 3401, 3402, 3403, @@ -267977,22 +286697,22 @@ 3413, 3414, 3415, - 3416, + 3417, 3418, - 3419, + 3420, 3421, - 3422, - 3424, + 3423, + 3425, 3426, - 3427, - 3429, - 3431, - 3433, + 3428, + 3430, + 3432, 3360 ], "variants": [ 2775, 2776, + 3368, 3369, 3370, 3371, @@ -268002,16 +286722,16 @@ 3375, 3376, 3377, - 3378, - 2423, + 2421, 2571, + 3378, 3379, + 2978, 3380, - 2976, + 2979, 3381, - 2977, + 2436, 3382, - 2438, 3383, 3384, 3385, @@ -268025,12 +286745,11 @@ 3393, 3394, 3395, - 3396, 2958, + 3396, 3397, - 3398, 3356, - 3399, + 3398, 3326 ] } @@ -268041,11 +286760,11 @@ "name": "ErrorKind", "span": { "begin": [ - 225, + 228, 1 ], "end": [ - 446, + 449, 2 ], "filename": "std/src/io/error.rs" @@ -268072,11 +286791,11 @@ "name": "NotFound", "span": { "begin": [ - 228, + 231, 5 ], "end": [ - 228, + 231, 13 ], "filename": "std/src/io/error.rs" @@ -268103,11 +286822,11 @@ "name": "PermissionDenied", "span": { "begin": [ - 231, + 234, 5 ], "end": [ - 231, + 234, 21 ], "filename": "std/src/io/error.rs" @@ -268126,7 +286845,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268138,14 +286857,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 2426, + 2424, 2765, 2766, 2771, 2772, 2769, 2773, - 2414 + 2412 ], "provided_trait_methods": [], "trait": null @@ -268155,11 +286874,11 @@ "name": null, "span": { "begin": [ - 1477, + 1558, 1 ], "end": [ - 1718, + 1804, 2 ], "filename": "std/src/fs.rs" @@ -268178,7 +286897,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268215,7 +286934,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268252,7 +286971,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268267,7 +286986,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -268289,7 +287008,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268326,7 +287045,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268341,7 +287060,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -268363,7 +287082,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268378,7 +287097,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -268402,7 +287121,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268447,7 +287166,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -268463,7 +287182,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -268472,12 +287191,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -268497,7 +287216,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268542,7 +287261,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -268558,7 +287277,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -268567,12 +287286,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -268592,7 +287311,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268619,7 +287338,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -268651,11 +287370,11 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" @@ -268676,7 +287395,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268742,7 +287461,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -268767,11 +287486,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -268792,7 +287511,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268815,7 +287534,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -268840,11 +287559,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -268865,7 +287584,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -268913,7 +287632,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -268931,8 +287650,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -268948,7 +287667,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -268957,11 +287676,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -268985,8 +287704,8 @@ "use": { "id": 280, "is_glob": false, - "name": "MAX_10_EXP", - "source": "core::f64::MAX_10_EXP" + "name": "MAX_EXP", + "source": "core::f64::MAX_EXP" } }, "links": {}, @@ -268994,11 +287713,11 @@ "span": { "begin": [ 18, - 54 + 66 ], "end": [ 18, - 64 + 73 ], "filename": "std/src/num/f64.rs" }, @@ -269018,7 +287737,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -269084,8 +287803,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -269101,7 +287820,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -269110,11 +287829,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -269135,7 +287854,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -269183,12 +287902,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -269222,7 +287941,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -269249,7 +287968,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -269276,7 +287995,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -269285,11 +288004,11 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" @@ -269338,7 +288057,7 @@ "output": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -269377,7 +288096,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -269396,7 +288115,7 @@ ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -269471,7 +288190,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -269483,7 +288202,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -269522,7 +288241,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } }, @@ -269539,7 +288258,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -269607,7 +288326,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -269620,11 +288339,11 @@ "name": "mode", "span": { "begin": [ - 436, + 525, 5 ], "end": [ - 439, + 528, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -269679,7 +288398,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -269692,11 +288411,11 @@ "name": "custom_flags", "span": { "begin": [ - 441, + 530, 5 ], "end": [ - 444, + 533, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -269722,7 +288441,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "crate::fs::OpenOptions" } }, @@ -269749,11 +288468,11 @@ "name": null, "span": { "begin": [ - 435, + 524, 1 ], "end": [ - 445, + 534, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -269820,22 +288539,22 @@ "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 4897, - 4898 + 4902, + 4903 ] } }, "links": { - "`fs::OpenOptions`": 2428 + "`fs::OpenOptions`": 2426 }, "name": "OpenOptionsExt", "span": { "begin": [ - 384, + 473, 1 ], "end": [ - 432, + 521, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -269890,7 +288609,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -269962,7 +288681,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270034,7 +288753,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270106,7 +288825,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270178,7 +288897,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270250,7 +288969,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270322,7 +289041,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270394,7 +289113,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270444,7 +289163,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -270498,7 +289217,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -270522,7 +289241,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -270531,7 +289250,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -270570,8 +289289,8 @@ "use": { "id": 282, "is_glob": false, - "name": "MAX_EXP", - "source": "core::f64::MAX_EXP" + "name": "MIN", + "source": "core::f64::MIN" } }, "links": {}, @@ -270579,11 +289298,11 @@ "span": { "begin": [ 18, - 66 + 75 ], "end": [ 18, - 73 + 78 ], "filename": "std/src/num/f64.rs" }, @@ -270605,7 +289324,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "crate::fs::OpenOptions" } }, @@ -270670,20 +289389,20 @@ "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5576, - 5577, - 5578, - 5579, - 5580, 5581, 5582, 5583, - 5584 + 5584, + 5585, + 5586, + 5587, + 5588, + 5589 ] } }, "links": { - "`fs::OpenOptions`": 2428 + "`fs::OpenOptions`": 2426 }, "name": "OpenOptionsExt", "span": { @@ -270747,7 +289466,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270760,11 +289479,11 @@ "name": "access_mode", "span": { "begin": [ - 269, + 312, 5 ], "end": [ - 272, + 315, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -270819,7 +289538,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270832,11 +289551,11 @@ "name": "share_mode", "span": { "begin": [ - 274, + 317, 5 ], "end": [ - 277, + 320, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -270891,7 +289610,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270904,11 +289623,11 @@ "name": "custom_flags", "span": { "begin": [ - 279, + 322, 5 ], "end": [ - 282, + 325, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -270963,7 +289682,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -270976,11 +289695,11 @@ "name": "attributes", "span": { "begin": [ - 284, + 327, 5 ], "end": [ - 287, + 330, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -271035,7 +289754,7 @@ "type": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "OpenOptions" } } @@ -271048,11 +289767,11 @@ "name": "security_qos_flags", "span": { "begin": [ - 289, + 332, 5 ], "end": [ - 292, + 335, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -271078,7 +289797,7 @@ "for": { "resolved_path": { "args": null, - "id": 2428, + "id": 2426, "path": "crate::fs::OpenOptions" } }, @@ -271108,11 +289827,11 @@ "name": null, "span": { "begin": [ - 268, + 311, 1 ], "end": [ - 293, + 336, 2 ], "filename": "std/src/os/windows/fs.rs" @@ -271143,25 +289862,25 @@ "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5626, - 5627, - 5628, - 5629, - 5630 + 5657, + 5658, + 5659, + 5660, + 5661 ] } }, "links": { - "`fs::OpenOptions`": 2428 + "`fs::OpenOptions`": 2426 }, "name": "OpenOptionsExt", "span": { "begin": [ - 99, + 142, 1 ], "end": [ - 265, + 308, 2 ], "filename": "std/src/os/windows/fs.rs" @@ -271201,16 +289920,16 @@ } }, "links": { - "`File::set_times`": 2445 + "`File::set_times`": 2443 }, "name": "new", "span": { "begin": [ - 2013, + 2099, 5 ], "end": [ - 2015, + 2101, 6 ], "filename": "std/src/fs.rs" @@ -271253,7 +289972,7 @@ { "resolved_path": { "args": null, - "id": 2448, + "id": 2446, "path": "SystemTime" } } @@ -271270,11 +289989,11 @@ "name": "set_accessed", "span": { "begin": [ - 2019, + 2105, 5 ], "end": [ - 2022, + 2108, 6 ], "filename": "std/src/fs.rs" @@ -271317,7 +290036,7 @@ { "resolved_path": { "args": null, - "id": 2448, + "id": 2446, "path": "SystemTime" } } @@ -271334,11 +290053,11 @@ "name": "set_modified", "span": { "begin": [ - 2026, + 2112, 5 ], "end": [ - 2029, + 2115, 6 ], "filename": "std/src/fs.rs" @@ -271357,7 +290076,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -271381,11 +290100,11 @@ "name": null, "span": { "begin": [ - 2008, + 2094, 1 ], "end": [ - 2030, + 2116, 2 ], "filename": "std/src/fs.rs" @@ -271404,7 +290123,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -271441,7 +290160,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -271478,7 +290197,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -271493,7 +290212,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -271515,7 +290234,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -271552,7 +290271,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -271567,7 +290286,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -271589,7 +290308,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -271604,7 +290323,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -271631,8 +290350,8 @@ "use": { "id": 284, "is_glob": false, - "name": "MIN", - "source": "core::f64::MIN" + "name": "MIN_10_EXP", + "source": "core::f64::MIN_10_EXP" } }, "links": {}, @@ -271640,11 +290359,11 @@ "span": { "begin": [ 18, - 75 + 80 ], "end": [ 18, - 78 + 90 ], "filename": "std/src/num/f64.rs" }, @@ -271664,7 +290383,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -271709,7 +290428,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -271725,7 +290444,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -271734,12 +290453,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -271759,7 +290478,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -271804,7 +290523,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -271820,7 +290539,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -271829,12 +290548,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -271854,7 +290573,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -271881,7 +290600,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -271913,11 +290632,11 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" @@ -271938,7 +290657,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -272004,7 +290723,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -272029,11 +290748,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -272054,7 +290773,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -272077,7 +290796,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -272102,11 +290821,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -272127,7 +290846,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -272175,7 +290894,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -272193,8 +290912,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -272210,7 +290929,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -272219,11 +290938,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -272244,7 +290963,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -272310,8 +291029,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -272327,7 +291046,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -272336,11 +291055,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -272361,7 +291080,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -272409,12 +291128,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -272448,7 +291167,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -272475,7 +291194,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -272502,7 +291221,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -272511,11 +291230,11 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" @@ -272539,7 +291258,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -272554,7 +291273,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -272616,7 +291335,7 @@ "output": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } } @@ -272655,7 +291374,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -272674,7 +291393,7 @@ ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -272749,7 +291468,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -272761,7 +291480,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -272800,7 +291519,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -272817,7 +291536,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -272866,7 +291585,7 @@ "output": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } } @@ -272905,7 +291624,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "FileTimes" } }, @@ -272922,7 +291641,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -272974,7 +291693,7 @@ { "resolved_path": { "args": null, - "id": 2448, + "id": 2446, "path": "SystemTime" } } @@ -273021,7 +291740,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "fs::FileTimes" } }, @@ -273077,7 +291796,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -273094,12 +291813,12 @@ "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 4858 + 4860 ] } }, "links": { - "`fs::FileTimes`": 2446 + "`fs::FileTimes`": 2444 }, "name": "FileTimesExt", "span": { @@ -273147,7 +291866,7 @@ { "resolved_path": { "args": null, - "id": 2448, + "id": 2446, "path": "SystemTime" } } @@ -273164,11 +291883,11 @@ "name": "set_created", "span": { "begin": [ - 553, + 596, 5 ], "end": [ - 556, + 599, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -273192,8 +291911,8 @@ "use": { "id": 286, "is_glob": false, - "name": "MIN_10_EXP", - "source": "core::f64::MIN_10_EXP" + "name": "MIN_EXP", + "source": "core::f64::MIN_EXP" } }, "links": {}, @@ -273201,11 +291920,11 @@ "span": { "begin": [ 18, - 80 + 92 ], "end": [ 18, - 90 + 99 ], "filename": "std/src/num/f64.rs" }, @@ -273230,7 +291949,7 @@ "for": { "resolved_path": { "args": null, - "id": 2446, + "id": 2444, "path": "fs::FileTimes" } }, @@ -273256,11 +291975,11 @@ "name": null, "span": { "begin": [ - 552, + 595, 1 ], "end": [ - 557, + 600, 2 ], "filename": "std/src/os/windows/fs.rs" @@ -273286,7 +292005,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -273303,21 +292022,21 @@ "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5642 + 5673 ] } }, "links": { - "`fs::FileTimes`": 2446 + "`fs::FileTimes`": 2444 }, "name": "FileTimesExt", "span": { "begin": [ - 545, + 588, 1 ], "end": [ - 549, + 592, 2 ], "filename": "std/src/os/windows/fs.rs" @@ -273380,11 +292099,11 @@ "name": "readonly", "span": { "begin": [ - 2092, + 2178, 5 ], "end": [ - 2094, + 2180, 6 ], "filename": "std/src/fs.rs" @@ -273415,23 +292134,23 @@ "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 4894, - 4895, - 4896 + 4899, + 4900, + 4901 ] } }, "links": { - "`fs::Permissions`": 2444 + "`fs::Permissions`": 2442 }, "name": "PermissionsExt", "span": { "begin": [ - 352, + 441, 1 ], "end": [ - 365, + 454, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -273471,7 +292190,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -273515,7 +292234,7 @@ { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } } @@ -273536,7 +292255,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -273544,16 +292263,16 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "set_permissions", "span": { "begin": [ - 3155, + 3244, 1 ], "end": [ - 3157, + 3246, 2 ], "filename": "std/src/fs.rs" @@ -273616,11 +292335,11 @@ "name": "set_readonly", "span": { "begin": [ - 2159, + 2245, 5 ], "end": [ - 2161, + 2247, 6 ], "filename": "std/src/fs.rs" @@ -273639,7 +292358,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -273662,11 +292381,11 @@ "name": null, "span": { "begin": [ - 2042, + 2128, 1 ], "end": [ - 2162, + 2248, 2 ], "filename": "std/src/fs.rs" @@ -273685,7 +292404,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -273722,7 +292441,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -273759,7 +292478,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -273774,7 +292493,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -273796,7 +292515,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -273833,7 +292552,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -273848,7 +292567,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -273870,7 +292589,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -273885,7 +292604,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -273909,7 +292628,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -273954,7 +292673,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -273970,7 +292689,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -273979,12 +292698,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -274004,7 +292723,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -274049,7 +292768,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -274065,7 +292784,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -274074,12 +292793,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -274099,7 +292818,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -274126,7 +292845,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -274158,11 +292877,11 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" @@ -274183,7 +292902,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -274249,7 +292968,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -274274,11 +292993,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -274299,7 +293018,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -274322,7 +293041,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -274347,11 +293066,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -274372,7 +293091,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -274420,7 +293139,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -274438,8 +293157,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -274455,7 +293174,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -274464,11 +293183,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -274492,20 +293211,20 @@ "use": { "id": 288, "is_glob": false, - "name": "MIN_EXP", - "source": "core::f64::MIN_EXP" + "name": "MIN_POSITIVE", + "source": "core::f64::MIN_POSITIVE" } }, "links": {}, "name": null, "span": { "begin": [ - 18, - 92 + 19, + 5 ], "end": [ - 18, - 99 + 19, + 17 ], "filename": "std/src/num/f64.rs" }, @@ -274525,7 +293244,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -274591,8 +293310,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -274608,7 +293327,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -274617,11 +293336,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -274642,7 +293361,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -274690,12 +293409,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -274729,7 +293448,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -274756,7 +293475,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -274783,7 +293502,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -274792,11 +293511,11 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" @@ -274845,7 +293564,7 @@ "output": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } } @@ -274884,7 +293603,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -274903,7 +293622,7 @@ ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -274940,7 +293659,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -275021,7 +293740,7 @@ "type": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } } @@ -275068,7 +293787,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -275087,7 +293806,7 @@ ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -275124,7 +293843,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -275141,7 +293860,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -275216,7 +293935,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -275228,7 +293947,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -275267,7 +293986,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } }, @@ -275284,7 +294003,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -275349,11 +294068,11 @@ "name": "mode", "span": { "begin": [ - 369, + 458, 5 ], "end": [ - 371, + 460, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -275409,11 +294128,11 @@ "name": "set_mode", "span": { "begin": [ - 373, + 462, 5 ], "end": [ - 375, + 464, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -275452,7 +294171,7 @@ "output": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } } @@ -275463,11 +294182,11 @@ "name": "from_mode", "span": { "begin": [ - 377, + 466, 5 ], "end": [ - 379, + 468, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -275493,7 +294212,7 @@ "for": { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "crate::fs::Permissions" } }, @@ -275521,11 +294240,11 @@ "name": null, "span": { "begin": [ - 368, + 457, 1 ], "end": [ - 380, + 469, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -275585,17 +294304,17 @@ "links": { "FileType::is_dir": 2888, "FileType::is_symlink": 2887, - "`File::open`": 2417, - "`OpenOptions::open`": 2414 + "`File::open`": 2415, + "`OpenOptions::open`": 2412 }, "name": "is_file", "span": { "begin": [ - 2221, + 2307, 5 ], "end": [ - 2223, + 2309, 6 ], "filename": "std/src/fs.rs" @@ -275656,18 +294375,18 @@ "FileType::is_dir": 2888, "FileType::is_file": 2886, "FileType::is_symlink": 2887, - "`Metadata`": 2441, + "`Metadata`": 2439, "metadata": 2596, "symlink_metadata": 2597 }, "name": "is_symlink", "span": { "begin": [ - 2257, + 2343, 5 ], "end": [ - 2259, + 2345, 6 ], "filename": "std/src/fs.rs" @@ -275731,11 +294450,11 @@ "name": "is_dir", "span": { "begin": [ - 2188, + 2274, 5 ], "end": [ - 2190, + 2276, 6 ], "filename": "std/src/fs.rs" @@ -275778,11 +294497,11 @@ "name": null, "span": { "begin": [ - 2164, + 2250, 1 ], "end": [ - 2260, + 2346, 2 ], "filename": "std/src/fs.rs" @@ -275806,8 +294525,8 @@ "use": { "id": 290, "is_glob": false, - "name": "MIN_POSITIVE", - "source": "core::f64::MIN_POSITIVE" + "name": "NAN", + "source": "core::f64::NAN" } }, "links": {}, @@ -275815,11 +294534,11 @@ "span": { "begin": [ 19, - 5 + 19 ], "end": [ 19, - 17 + 22 ], "filename": "std/src/num/f64.rs" }, @@ -275926,7 +294645,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -276000,7 +294719,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -276037,7 +294756,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -276106,7 +294825,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -276122,7 +294841,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -276131,12 +294850,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -276201,7 +294920,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -276217,7 +294936,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -276226,12 +294945,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -276278,7 +294997,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -276310,11 +295029,11 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" @@ -276401,7 +295120,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -276426,11 +295145,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -276474,7 +295193,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -276499,11 +295218,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -276572,7 +295291,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -276590,8 +295309,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -276607,7 +295326,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -276616,11 +295335,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -276707,8 +295426,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -276724,7 +295443,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -276733,11 +295452,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -276806,12 +295525,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -276872,7 +295591,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -276899,7 +295618,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -276908,11 +295627,11 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" @@ -276951,7 +295670,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -277071,7 +295790,7 @@ ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -277236,8 +295955,8 @@ "use": { "id": 292, "is_glob": false, - "name": "NAN", - "source": "core::f64::NAN" + "name": "NEG_INFINITY", + "source": "core::f64::NEG_INFINITY" } }, "links": {}, @@ -277245,11 +295964,11 @@ "span": { "begin": [ 19, - 19 + 24 ], "end": [ 19, - 22 + 36 ], "filename": "std/src/num/f64.rs" }, @@ -277291,7 +296010,7 @@ ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -277345,7 +296064,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -277565,7 +296284,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -277577,7 +296296,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -277588,11 +296307,11 @@ "name": "fmt", "span": { "begin": [ - 2264, + 2350, 5 ], "end": [ - 2270, + 2356, 6 ], "filename": "std/src/fs.rs" @@ -277632,7 +296351,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -277641,11 +296360,11 @@ "name": null, "span": { "begin": [ - 2263, + 2349, 1 ], "end": [ - 2271, + 2357, 2 ], "filename": "std/src/fs.rs" @@ -277697,11 +296416,11 @@ "name": "is_block_device", "span": { "begin": [ - 877, + 966, 5 ], "end": [ - 879, + 968, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -277753,11 +296472,11 @@ "name": "is_char_device", "span": { "begin": [ - 880, + 969, 5 ], "end": [ - 882, + 971, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -277809,11 +296528,11 @@ "name": "is_fifo", "span": { "begin": [ - 883, + 972, 5 ], "end": [ - 885, + 974, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -277865,11 +296584,11 @@ "name": "is_socket", "span": { "begin": [ - 886, + 975, 5 ], "end": [ - 888, + 977, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -277924,11 +296643,11 @@ "name": null, "span": { "begin": [ - 876, + 965, 1 ], "end": [ - 889, + 978, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -277959,10 +296678,10 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 4915, - 4916, - 4917, - 4918 + 4920, + 4921, + 4922, + 4923 ] } }, @@ -277972,11 +296691,11 @@ "name": "FileTypeExt", "span": { "begin": [ - 800, + 889, 1 ], "end": [ - 873, + 962, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -278285,11 +297004,11 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5592, - 5593, - 5594, - 5595, - 5596 + 5597, + 5598, + 5599, + 5600, + 5601 ] } }, @@ -278355,11 +297074,11 @@ "name": "is_symlink_dir", "span": { "begin": [ - 535, + 578, 5 ], "end": [ - 537, + 580, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -278411,11 +297130,11 @@ "name": "is_symlink_file", "span": { "begin": [ - 538, + 581, 5 ], "end": [ - 540, + 583, 6 ], "filename": "std/src/os/windows/fs.rs" @@ -278439,8 +297158,8 @@ "use": { "id": 294, "is_glob": false, - "name": "NEG_INFINITY", - "source": "core::f64::NEG_INFINITY" + "name": "RADIX", + "source": "core::f64::RADIX" } }, "links": {}, @@ -278448,11 +297167,11 @@ "span": { "begin": [ 19, - 24 + 38 ], "end": [ 19, - 36 + 43 ], "filename": "std/src/num/f64.rs" }, @@ -278504,11 +297223,11 @@ "name": null, "span": { "begin": [ - 534, + 577, 1 ], "end": [ - 541, + 584, 2 ], "filename": "std/src/os/windows/fs.rs" @@ -278534,7 +297253,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -278551,8 +297270,8 @@ "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5640, - 5641 + 5671, + 5672 ] } }, @@ -278562,11 +297281,11 @@ "name": "FileTypeExt", "span": { "begin": [ - 521, + 564, 1 ], "end": [ - 528, + 571, 2 ], "filename": "std/src/os/windows/fs.rs" @@ -278681,11 +297400,11 @@ "name": "new", "span": { "begin": [ - 3191, + 3280, 5 ], "end": [ - 3193, + 3282, 6 ], "filename": "std/src/fs.rs" @@ -278753,11 +297472,11 @@ "name": "recursive", "span": { "begin": [ - 3210, + 3299, 5 ], "end": [ - 3213, + 3302, 6 ], "filename": "std/src/fs.rs" @@ -278794,7 +297513,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -278861,7 +297580,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -278872,11 +297591,11 @@ "name": "create", "span": { "begin": [ - 3234, + 3323, 5 ], "end": [ - 3236, + 3325, 6 ], "filename": "std/src/fs.rs" @@ -278919,11 +297638,11 @@ "name": null, "span": { "begin": [ - 3178, + 3267, 1 ], "end": [ - 3268, + 3357, 2 ], "filename": "std/src/fs.rs" @@ -279031,7 +297750,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -279105,7 +297824,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -279142,7 +297861,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -279211,7 +297930,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -279227,7 +297946,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -279236,12 +297955,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -279306,7 +298025,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -279322,7 +298041,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -279331,12 +298050,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -279422,7 +298141,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -279447,11 +298166,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -279495,7 +298214,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -279520,11 +298239,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -279593,7 +298312,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -279611,8 +298330,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -279628,7 +298347,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -279637,11 +298356,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -279665,8 +298384,8 @@ "use": { "id": 296, "is_glob": false, - "name": "RADIX", - "source": "core::f64::RADIX" + "name": "consts", + "source": "core::f64::consts" } }, "links": {}, @@ -279674,11 +298393,11 @@ "span": { "begin": [ 19, - 38 + 45 ], "end": [ 19, - 43 + 51 ], "filename": "std/src/num/f64.rs" }, @@ -279764,8 +298483,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -279781,7 +298500,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -279790,11 +298509,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -279863,12 +298582,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -279943,7 +298662,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -279955,7 +298674,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -280011,7 +298730,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -280092,11 +298811,11 @@ "name": "mode", "span": { "begin": [ - 1000, + 1089, 5 ], "end": [ - 1003, + 1092, 6 ], "filename": "std/src/os/unix/fs.rs" @@ -280148,11 +298867,11 @@ "name": null, "span": { "begin": [ - 999, + 1088, 1 ], "end": [ - 1004, + 1093, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -280183,7 +298902,7 @@ "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 4921 + 4926 ] } }, @@ -280193,11 +298912,11 @@ "name": "DirBuilderExt", "span": { "begin": [ - 981, + 1070, 1 ], "end": [ - 996, + 1085, 2 ], "filename": "std/src/os/unix/fs.rs" @@ -280261,7 +298980,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -280284,7 +299003,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -280293,12 +299012,12 @@ }, "links": { "Ok": 61, - "Read::read": 2435, - "`BufReader`": 2409, + "Read::read": 2433, + "`BufReader`": 2407, "`ErrorKind::Interrupted`": 2958, - "crate::fs::File": 2413, - "crate::fs::read": 2415, - "crate::vec::Vec::try_reserve": 3987 + "crate::fs::File": 2411, + "crate::fs::read": 2413, + "crate::vec::Vec::try_reserve": 3986 }, "name": "read_to_end", "span": { @@ -280334,11 +299053,11 @@ "name": "Interrupted", "span": { "begin": [ - 391, + 394, 5 ], "end": [ - 391, + 394, 16 ], "filename": "std/src/io/error.rs" @@ -280386,13 +299105,108 @@ "buf", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "Result" + } + } + } + } + }, + "links": { + "Read::read": 2433, + "Read::read_to_end": 2957, + "`BufReader`": 2407, + "crate::fs::File": 2411, + "crate::fs::read_to_string": 2414 + }, + "name": "read_to_string", + "span": { + "begin": [ + 991, + 5 + ], + "end": [ + 993, + 6 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "default" + }, + "2960": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to write an entire buffer into this writer.\n\nThis method will continuously call [`write`] until there is no more data\nto be written or an error of non-[`ErrorKind::Interrupted`] kind is\nreturned. This method will not return until the entire buffer has been\nsuccessfully written or such an error occurs. The first error that is\nnot of [`ErrorKind::Interrupted`] kind generated from this method will be\nreturned.\n\nIf the buffer contains no data, this will never call [`write`].\n\n# Errors\n\nThis function will return the first error of\nnon-[`ErrorKind::Interrupted`] kind that [`write`] returns.\n\n[`write`]: Write::write\n\n# Examples\n\n```no_run\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let mut buffer = File::create(\"foo.txt\")?;\n\n buffer.write_all(b\"some bytes\")?;\n Ok(())\n}\n```", + "id": 2960, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": false, "lifetime": null, "type": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" + "slice": { + "primitive": "u8" } } } @@ -280407,14 +299221,14 @@ "args": [ { "type": { - "primitive": "usize" + "tuple": [] } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -280422,40 +299236,84 @@ } }, "links": { - "Read::read": 2435, - "Read::read_to_end": 2957, - "`BufReader`": 2409, - "crate::fs::File": 2413, - "crate::fs::read_to_string": 2416 + "Write::write": 2434, + "`ErrorKind::Interrupted`": 2958 }, - "name": "read_to_string", + "name": "write_all", "span": { "begin": [ - 991, + 1835, 5 ], "end": [ - 993, + 1847, 6 ], "filename": "std/src/io/mod.rs" }, "visibility": "default" }, - "2960": { + "2961": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(alias = \"utimens\")]" + }, + { + "other": "#[doc(alias = \"utimes\")]" + }, + { + "other": "#[doc(alias = \"utime\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 147455, is_soft: false}, feature: \"fs_set_times\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to write an entire buffer into this writer.\n\nThis method will continuously call [`write`] until there is no more data\nto be written or an error of non-[`ErrorKind::Interrupted`] kind is\nreturned. This method will not return until the entire buffer has been\nsuccessfully written or such an error occurs. The first error that is\nnot of [`ErrorKind::Interrupted`] kind generated from this method will be\nreturned.\n\nIf the buffer contains no data, this will never call [`write`].\n\n# Errors\n\nThis function will return the first error of\nnon-[`ErrorKind::Interrupted`] kind that [`write`] returns.\n\n[`write`]: Write::write\n\n# Examples\n\n```no_run\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let mut buffer = File::create(\"foo.txt\")?;\n\n buffer.write_all(b\"some bytes\")?;\n Ok(())\n}\n```", - "id": 2960, + "docs": "Changes the timestamps of the file or directory at the specified path.\n\nThis function will attempt to set the access and modification times\nto the times specified. If the path refers to a symbolic link, this function\nwill follow the link and change the timestamps of the target file.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `utimensat` function on Unix platforms, the\n`setattrlist` function on Apple platforms, and the `SetFileTime` function on Windows.\n\n# Errors\n\nThis function will return an error if the user lacks permission to change timestamps on the\ntarget file or symlink. It may also return an error if the OS does not support it.\n\n# Examples\n\n```no_run\n#![feature(fs_set_times)]\nuse std::fs::{self, FileTimes};\nuse std::time::SystemTime;\n\nfn main() -> std::io::Result<()> {\n let now = SystemTime::now();\n let times = FileTimes::new()\n .set_accessed(now)\n .set_modified(now);\n fs::set_times(\"foo.txt\", times)?;\n Ok(())\n}\n```", + "id": 2961, "inner": { "function": { "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "crate::path::Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 35, + "path": "AsRef" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], "where_predicates": [] }, "has_body": true, @@ -280468,28 +299326,18 @@ "sig": { "inputs": [ [ - "self", + "path", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "P" } ], [ - "buf", + "times", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } + "resolved_path": { + "args": null, + "id": 2444, + "path": "FileTimes" } } ] @@ -280509,32 +299357,155 @@ "constraints": [] } }, - "id": 468, - "path": "Result" + "id": 469, + "path": "io::Result" } } } } }, - "links": { - "Write::write": 2436, - "`ErrorKind::Interrupted`": 2958 + "links": {}, + "name": "set_times", + "span": { + "begin": [ + 426, + 1 + ], + "end": [ + 428, + 2 + ], + "filename": "std/src/fs.rs" }, - "name": "write_all", + "visibility": "public" + }, + "2962": { + "attrs": [ + { + "other": "#[doc(alias = \"utimensat\")]" + }, + { + "other": "#[doc(alias = \"lutimens\")]" + }, + { + "other": "#[doc(alias = \"lutimes\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 147455, is_soft: false}, feature: \"fs_set_times\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Changes the timestamps of the file or symlink at the specified path.\n\nThis function will attempt to set the access and modification times\nto the times specified. Differ from `set_times`, if the path refers to a symbolic link,\nthis function will change the timestamps of the symlink itself, not the target file.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `utimensat` function with `AT_SYMLINK_NOFOLLOW` on\nUnix platforms, the `setattrlist` function with `FSOPT_NOFOLLOW` on Apple platforms, and the\n`SetFileTime` function on Windows.\n\n# Errors\n\nThis function will return an error if the user lacks permission to change timestamps on the\ntarget file or symlink. It may also return an error if the OS does not support it.\n\n# Examples\n\n```no_run\n#![feature(fs_set_times)]\nuse std::fs::{self, FileTimes};\nuse std::time::SystemTime;\n\nfn main() -> std::io::Result<()> {\n let now = SystemTime::now();\n let times = FileTimes::new()\n .set_accessed(now)\n .set_modified(now);\n fs::set_times_nofollow(\"symlink.txt\", times)?;\n Ok(())\n}\n```", + "id": 2962, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "crate::path::Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 35, + "path": "AsRef" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "path", + { + "generic": "P" + } + ], + [ + "times", + { + "resolved_path": { + "args": null, + "id": 2444, + "path": "FileTimes" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "set_times_nofollow", "span": { "begin": [ - 1835, - 5 + 467, + 1 ], "end": [ - 1847, - 6 + 469, + 2 ], - "filename": "std/src/io/mod.rs" + "filename": "std/src/fs.rs" }, - "visibility": "default" + "visibility": "public" }, - "2961": { + "2963": { "attrs": [ { "other": "#[doc(alias = \"rm\", alias = \"unlink\", alias = \"DeleteFile\")]" @@ -280546,7 +299517,7 @@ "crate_id": 0, "deprecation": null, "docs": "Removes a file from the filesystem.\n\nNote that there is no\nguarantee that the file is immediately deleted (e.g., depending on\nplatform, other open file descriptors may prevent immediate removal).\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `unlink` function on Unix.\nOn Windows, `DeleteFile` is used or `CreateFileW` and `SetInformationByHandle` for readonly files.\nNote that, this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\n# Errors\n\nThis function will return an error in the following situations, but is not\nlimited to just these cases:\n\n* `path` points to a directory.\n* The file doesn't exist.\n* The user lacks permissions to remove the file.\n\nThis function will only ever return an error of kind `NotFound` if the given\npath does not exist. Note that the inverse is not true,\nie. if a path does not exist, its removal may fail for a number of reasons,\nsuch as insufficient permissions.\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n fs::remove_file(\"a.txt\")?;\n Ok(())\n}\n```", - "id": 2961, + "id": 2963, "inner": { "function": { "generics": { @@ -280567,7 +299538,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -280622,7 +299593,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -280630,23 +299601,23 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "remove_file", "span": { "begin": [ - 2494, + 2580, 1 ], "end": [ - 2496, + 2582, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2962": { + "2964": { "attrs": [ { "other": "#[doc(alias = \"mv\", alias = \"MoveFile\", alias = \"MoveFileEx\")]" @@ -280658,7 +299629,7 @@ "crate_id": 0, "deprecation": null, "docs": "Renames a file or directory to a new name, replacing the original file if\n`to` already exists.\n\nThis will not work if the new name is on a different mount point.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `rename` function on Unix\nand the `MoveFileExW` or `SetFileInformationByHandle` function on Windows.\n\nBecause of this, the behavior when both `from` and `to` exist differs. On\nUnix, if `from` is a directory, `to` must also be an (empty) directory. If\n`from` is not a directory, `to` must also be not a directory. The behavior\non Windows is the same on Windows 10 1607 and higher if `FileRenameInfoEx`\nis supported by the filesystem; otherwise, `from` can be anything, but\n`to` must *not* be a directory.\n\nNote that, this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\n# Errors\n\nThis function will return an error in the following situations, but is not\nlimited to just these cases:\n\n* `from` does not exist.\n* The user lacks permissions to view contents.\n* `from` and `to` are on separate filesystems.\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n fs::rename(\"a.txt\", \"b.txt\")?; // Rename a.txt to b.txt\n Ok(())\n}\n```", - "id": 2962, + "id": 2964, "inner": { "function": { "generics": { @@ -280679,7 +299650,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -280716,7 +299687,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -280777,7 +299748,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -280785,23 +299756,23 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "rename", "span": { "begin": [ - 2614, + 2700, 1 ], "end": [ - 2616, + 2702, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2963": { + "2965": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -280810,7 +299781,7 @@ "crate_id": 0, "deprecation": null, "docs": "Copies the entire contents of a reader into a writer.\n\nThis function will continuously read data from `reader` and then\nwrite it into `writer` in a streaming fashion until `reader`\nreturns EOF.\n\nOn success, the total number of bytes that were copied from\n`reader` to `writer` is returned.\n\nIf you want to copy the contents of one file to another and you’re\nworking with filesystem paths, see the [`fs::copy`] function.\n\n[`fs::copy`]: crate::fs::copy\n\n# Errors\n\nThis function will return an error immediately if any call to [`read`] or\n[`write`] returns an error. All instances of [`ErrorKind::Interrupted`] are\nhandled by this function and the underlying operation is retried.\n\n[`read`]: Read::read\n[`write`]: Write::write\n[`ErrorKind::Interrupted`]: crate::io::ErrorKind::Interrupted\n\n# Examples\n\n```\nuse std::io;\n\nfn main() -> io::Result<()> {\n let mut reader: &[u8] = b\"hello\";\n let mut writer: Vec = vec![];\n\n io::copy(&mut reader, &mut writer)?;\n\n assert_eq!(&b\"hello\"[..], &writer[..]);\n Ok(())\n}\n```\n\n# Platform-specific behavior\n\nOn Linux (including Android), this function uses `copy_file_range(2)`,\n`sendfile(2)` or `splice(2)` syscalls to move data directly between file\ndescriptors if possible.\n\nNote that platform-specific behavior [may change in the future][changes].\n\n[changes]: crate::io#platform-specific-behavior", - "id": 2963, + "id": 2965, "inner": { "function": { "generics": { @@ -280846,7 +299817,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -280878,7 +299849,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -280952,7 +299923,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "super::Result" } } @@ -280960,10 +299931,10 @@ } }, "links": { - "Read::read": 2435, - "Write::write": 2436, - "crate::fs::copy": 2964, - "crate::io#platform-specific-behavior": 501, + "Read::read": 2433, + "Write::write": 2434, + "crate::fs::copy": 2966, + "crate::io#platform-specific-behavior": 502, "crate::io::ErrorKind::Interrupted": 2958 }, "name": "copy", @@ -280980,7 +299951,7 @@ }, "visibility": "public" }, - "2964": { + "2966": { "attrs": [ { "other": "#[doc(alias = \"cp\")]" @@ -280998,7 +299969,7 @@ "crate_id": 0, "deprecation": null, "docs": "Copies the contents of one file to another. This function will also\ncopy the permission bits of the original file to the destination file.\n\nThis function will **overwrite** the contents of `to`.\n\nNote that if `from` and `to` both point to the same file, then the file\nwill likely get truncated by this operation.\n\nOn success, the total number of bytes copied is returned and it is equal to\nthe length of the `to` file as reported by `metadata`.\n\nIf you want to copy the contents of one file to another and you’re\nworking with [`File`]s, see the [`io::copy`](io::copy()) function.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `open` function in Unix\nwith `O_RDONLY` for `from` and `O_WRONLY`, `O_CREAT`, and `O_TRUNC` for `to`.\n`O_CLOEXEC` is set for returned file descriptors.\n\nOn Linux (including Android), this function attempts to use `copy_file_range(2)`,\nand falls back to reading and writing if that is not possible.\n\nOn Windows, this function currently corresponds to `CopyFileEx`. Alternate\nNTFS streams are copied but only the size of the main stream is returned by\nthis function.\n\nOn MacOS, this function corresponds to `fclonefileat` and `fcopyfile`.\n\nNote that platform-specific behavior [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\n# Errors\n\nThis function will return an error in the following situations, but is not\nlimited to just these cases:\n\n* `from` is neither a regular file nor a symlink to a regular file.\n* `from` does not exist.\n* The current process does not have the permission rights to read\n `from` or write `to`.\n* The parent directory of `to` doesn't exist.\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n fs::copy(\"foo.txt\", \"bar.txt\")?; // Copy foo.txt to bar.txt\n Ok(())\n}\n```", - "id": 2964, + "id": 2966, "inner": { "function": { "generics": { @@ -281019,7 +299990,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281056,7 +300027,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281117,7 +300088,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -281125,25 +300096,25 @@ } }, "links": { - "`File`": 2413, - "io#platform-specific-behavior": 501, - "io::copy()": 2963 + "`File`": 2411, + "io#platform-specific-behavior": 502, + "io::copy()": 2965 }, "name": "copy", "span": { "begin": [ - 2676, + 2762, 1 ], "end": [ - 2678, + 2764, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2965": { + "2967": { "attrs": [ { "other": "#[doc(alias = \"CreateHardLink\", alias = \"linkat\")]" @@ -281155,7 +300126,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new hard link on the filesystem.\n\nThe `link` path will be a link pointing to the `original` path. Note that\nsystems often require these two paths to both be located on the same\nfilesystem.\n\nIf `original` names a symbolic link, it is platform-specific whether the\nsymbolic link is followed. On platforms where it's possible to not follow\nit, it is not followed, and the created hard link points to the symbolic\nlink itself.\n\n# Platform-specific behavior\n\nThis function currently corresponds the `CreateHardLink` function on Windows.\nOn most Unix systems, it corresponds to the `linkat` function with no flags.\nOn Android, VxWorks, and Redox, it instead corresponds to the `link` function.\nOn MacOS, it uses the `linkat` function if it is available, but on very old\nsystems where `linkat` is not available, `link` is selected at runtime instead.\nNote that, this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\n# Errors\n\nThis function will return an error in the following situations, but is not\nlimited to just these cases:\n\n* The `original` path is not a file or doesn't exist.\n* The 'link' path already exists.\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n fs::hard_link(\"a.txt\", \"b.txt\")?; // Hard link a.txt to b.txt\n Ok(())\n}\n```", - "id": 2965, + "id": 2967, "inner": { "function": { "generics": { @@ -281176,7 +300147,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281213,7 +300184,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281274,7 +300245,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -281282,23 +300253,23 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "hard_link", "span": { "begin": [ - 2722, + 2808, 1 ], "end": [ - 2724, + 2810, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2966": { + "2968": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"symlink\"}}]" @@ -281307,7 +300278,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new symbolic link on the filesystem.\n\nThe `link` path will be a symbolic link pointing to the `original` path.\n\n# Examples\n\n```no_run\nuse std::os::unix::fs;\n\nfn main() -> std::io::Result<()> {\n fs::symlink(\"a.txt\", \"b.txt\")?;\n Ok(())\n}\n```", - "id": 2966, + "id": 2968, "inner": { "function": { "generics": { @@ -281328,7 +300299,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281365,7 +300336,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281426,7 +300397,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -281437,18 +300408,18 @@ "name": "symlink", "span": { "begin": [ - 975, + 1064, 1 ], "end": [ - 977, + 1066, 2 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "public" }, - "2967": { + "2969": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"symlink\"}}]" @@ -281457,7 +300428,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new symlink to a non-directory file on the filesystem.\n\nThe `link` path will be a file symbolic link pointing to the `original`\npath.\n\nThe `original` path should not be a directory or a symlink to a directory,\notherwise the symlink will be broken. Use [`symlink_dir`] for directories.\n\nThis function currently corresponds to [`CreateSymbolicLinkW`][CreateSymbolicLinkW].\nNote that this [may change in the future][changes].\n\n[CreateSymbolicLinkW]: https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createsymboliclinkw\n[changes]: io#platform-specific-behavior\n\n# Examples\n\n```no_run\nuse std::os::windows::fs;\n\nfn main() -> std::io::Result<()> {\n fs::symlink_file(\"a.txt\", \"b.txt\")?;\n Ok(())\n}\n```\n\n# Limitations\n\nWindows treats symlink creation as a [privileged action][symlink-security],\ntherefore this function is likely to fail unless the user makes changes to\ntheir system to permit symlink creation. Users can try enabling Developer\nMode, granting the `SeCreateSymbolicLinkPrivilege` privilege, or running\nthe process as an administrator.\n\n[symlink-security]: https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/create-symbolic-links", - "id": 2967, + "id": 2969, "inner": { "function": { "generics": { @@ -281478,7 +300449,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281515,7 +300486,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281576,7 +300547,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -281584,24 +300555,84 @@ } }, "links": { - "`symlink_dir`": 2968, - "io#platform-specific-behavior": 501 + "`symlink_dir`": 2970, + "io#platform-specific-behavior": 502 }, "name": "symlink_file", "span": { "begin": [ - 594, + 637, 1 ], "end": [ - 596, + 639, 2 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "public" }, - "2968": { + "297": { + "attrs": [ + { + "other": "#[rustc_doc_primitive = \"f64\"]" + }, + { + "other": "#[doc(alias = \"double\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A 64-bit floating-point type (specifically, the \"binary64\" type defined in IEEE 754-2008).\n\nThis type is very similar to [`prim@f32`], but has increased precision by using twice as many\nbits. Please see [the documentation for `f32`](prim@f32) or [Wikipedia on double-precision\nvalues][wikipedia] for more information.\n\n*[See also the `std::f64::consts` module](crate::f64::consts).*\n\n[wikipedia]: https://en.wikipedia.org/wiki/Double-precision_floating-point_format", + "id": 297, + "inner": { + "primitive": { + "impls": [ + 10064, + 10116, + 10117, + 10118, + 10119, + 10120, + 10121, + 10122, + 10123, + 10124, + 10125, + 10126, + 10127, + 10128, + 10129, + 10130, + 10131, + 10132 + ], + "name": "f64" + } + }, + "links": { + "`prim@f32`": 265, + "crate::f64::consts": 296, + "prim@f32": 265 + }, + "name": "f64", + "span": { + "begin": [ + 1381, + 1 + ], + "end": [ + 1381, + 16 + ], + "filename": "std/src/../../core/src/primitive_docs.rs" + }, + "visibility": "public" + }, + "2970": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"symlink\"}}]" @@ -281610,7 +300641,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new symlink to a directory on the filesystem.\n\nThe `link` path will be a directory symbolic link pointing to the `original`\npath.\n\nThe `original` path must be a directory or a symlink to a directory,\notherwise the symlink will be broken. Use [`symlink_file`] for other files.\n\nThis function currently corresponds to [`CreateSymbolicLinkW`][CreateSymbolicLinkW].\nNote that this [may change in the future][changes].\n\n[CreateSymbolicLinkW]: https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createsymboliclinkw\n[changes]: io#platform-specific-behavior\n\n# Examples\n\n```no_run\nuse std::os::windows::fs;\n\nfn main() -> std::io::Result<()> {\n fs::symlink_dir(\"a\", \"b\")?;\n Ok(())\n}\n```\n\n# Limitations\n\nWindows treats symlink creation as a [privileged action][symlink-security],\ntherefore this function is likely to fail unless the user makes changes to\ntheir system to permit symlink creation. Users can try enabling Developer\nMode, granting the `SeCreateSymbolicLinkPrivilege` privilege, or running\nthe process as an administrator.\n\n[symlink-security]: https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/create-symbolic-links", - "id": 2968, + "id": 2970, "inner": { "function": { "generics": { @@ -281631,7 +300662,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281668,7 +300699,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281729,7 +300760,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -281737,24 +300768,24 @@ } }, "links": { - "`symlink_file`": 2967, - "io#platform-specific-behavior": 501 + "`symlink_file`": 2969, + "io#platform-specific-behavior": 502 }, "name": "symlink_dir", "span": { "begin": [ - 633, + 676, 1 ], "end": [ - 635, + 678, 2 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "public" }, - "2969": { + "2971": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -281766,7 +300797,7 @@ "since": "1.1.0" }, "docs": "Creates a new symbolic link on the filesystem.\n\nThe `link` path will be a symbolic link pointing to the `original` path.\nOn Windows, this will be a file symlink, not a directory symlink;\nfor this reason, the platform-specific [`std::os::unix::fs::symlink`]\nand [`std::os::windows::fs::symlink_file`] or [`symlink_dir`] should be\nused instead to make the intent explicit.\n\n[`std::os::unix::fs::symlink`]: crate::os::unix::fs::symlink\n[`std::os::windows::fs::symlink_file`]: crate::os::windows::fs::symlink_file\n[`symlink_dir`]: crate::os::windows::fs::symlink_dir\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n fs::soft_link(\"a.txt\", \"b.txt\")?;\n Ok(())\n}\n```", - "id": 2969, + "id": 2971, "inner": { "function": { "generics": { @@ -281787,7 +300818,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281824,7 +300855,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -281885,7 +300916,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -281893,61 +300924,25 @@ } }, "links": { - "crate::os::unix::fs::symlink": 2966, - "crate::os::windows::fs::symlink_dir": 2968, - "crate::os::windows::fs::symlink_file": 2967 + "crate::os::unix::fs::symlink": 2968, + "crate::os::windows::fs::symlink_dir": 2970, + "crate::os::windows::fs::symlink_file": 2969 }, "name": "soft_link", "span": { "begin": [ - 2754, + 2840, 1 ], "end": [ - 2756, + 2842, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "297": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 297, - "inner": { - "use": { - "id": 298, - "is_glob": false, - "name": "consts", - "source": "core::f64::consts" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 19, - 45 - ], - "end": [ - 19, - 51 - ], - "filename": "std/src/num/f64.rs" - }, - "visibility": "public" - }, - "2970": { + "2972": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -281956,7 +300951,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reads a symbolic link, returning the file that the link points to.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `readlink` function on Unix\nand the `CreateFile` function with `FILE_FLAG_OPEN_REPARSE_POINT` and\n`FILE_FLAG_BACKUP_SEMANTICS` flags on Windows.\nNote that, this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\n# Errors\n\nThis function will return an error in the following situations, but is not\nlimited to just these cases:\n\n* `path` is not a symbolic link.\n* `path` does not exist.\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n let path = fs::read_link(\"a.txt\")?;\n Ok(())\n}\n```", - "id": 2970, + "id": 2972, "inner": { "function": { "generics": { @@ -281977,7 +300972,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -282027,7 +301022,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "crate::path::PathBuf" } } @@ -282036,7 +301031,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -282044,23 +301039,23 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "read_link", "span": { "begin": [ - 2788, + 2874, 1 ], "end": [ - 2790, + 2876, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2971": { + "2973": { "attrs": [ { "other": "#[doc(alias = \"realpath\")]" @@ -282075,7 +301070,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the canonical, absolute form of a path with all intermediate\ncomponents normalized and symbolic links resolved.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `realpath` function on Unix\nand the `CreateFile` and `GetFinalPathNameByHandle` functions on Windows.\nNote that this [may change in the future][changes].\n\nOn Windows, this converts the path to use [extended length path][path]\nsyntax, which allows your program to use longer path names, but means you\ncan only join backslash-delimited paths to it, and it may be incompatible\nwith other applications (if passed to the application on the command-line,\nor written to a file another application may read).\n\n[changes]: io#platform-specific-behavior\n[path]: https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file\n\n# Errors\n\nThis function will return an error in the following situations, but is not\nlimited to just these cases:\n\n* `path` does not exist.\n* A non-final component in path is not a directory.\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n let path = fs::canonicalize(\"../a/../foo.txt\")?;\n Ok(())\n}\n```", - "id": 2971, + "id": 2973, "inner": { "function": { "generics": { @@ -282096,7 +301091,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -282146,7 +301141,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "crate::path::PathBuf" } } @@ -282155,7 +301150,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -282163,23 +301158,23 @@ } }, "links": { - "io#platform-specific-behavior": 501 + "io#platform-specific-behavior": 502 }, "name": "canonicalize", "span": { "begin": [ - 2831, + 2917, 1 ], "end": [ - 2833, + 2919, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2972": { + "2974": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -282188,7 +301183,7 @@ "crate_id": 0, "deprecation": null, "docs": "Recursively create a directory and all of its parent components if they\nare missing.\n\nThis function is not atomic. If it returns an error, any parent components it was able to create\nwill remain.\n\nIf the empty path is passed to this function, it always succeeds without\ncreating any directories.\n\n# Platform-specific behavior\n\nThis function currently corresponds to multiple calls to the `mkdir`\nfunction on Unix and the `CreateDirectoryW` function on Windows.\n\nNote that, this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\n# Errors\n\nThe function will return an error if any directory specified in path does not exist and\ncould not be created. There may be other error conditions; see [`fs::create_dir`] for specifics.\n\nNotable exception is made for situations where any of the directories\nspecified in the `path` could not be created as it was being created concurrently.\nSuch cases are considered to be successful. That is, calling `create_dir_all`\nconcurrently from multiple threads or processes is guaranteed not to fail\ndue to a race condition with itself.\n\n[`fs::create_dir`]: create_dir\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n fs::create_dir_all(\"/some/dir\")?;\n Ok(())\n}\n```", - "id": 2972, + "id": 2974, "inner": { "function": { "generics": { @@ -282209,7 +301204,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -282264,7 +301259,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -282272,24 +301267,24 @@ } }, "links": { - "create_dir": 2973, - "io#platform-specific-behavior": 501 + "create_dir": 2975, + "io#platform-specific-behavior": 502 }, "name": "create_dir_all", "span": { "begin": [ - 2919, + 3005, 1 ], "end": [ - 2921, + 3007, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2973": { + "2975": { "attrs": [ { "other": "#[doc(alias = \"mkdir\", alias = \"CreateDirectory\")]" @@ -282307,7 +301302,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new, empty directory at the provided path\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `mkdir` function on Unix\nand the `CreateDirectoryW` function on Windows.\nNote that, this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\n**NOTE**: If a parent of the given path doesn't exist, this function will\nreturn an error. To create a directory and all its missing parents at the\nsame time, use the [`create_dir_all`] function.\n\n# Errors\n\nThis function will return an error in the following situations, but is not\nlimited to just these cases:\n\n* User lacks permissions to create directory at `path`.\n* A parent of the given path doesn't exist. (To create a directory and all\n its missing parents at the same time, use the [`create_dir_all`]\n function.)\n* `path` already exists.\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n fs::create_dir(\"/some/dir\")?;\n Ok(())\n}\n```", - "id": 2973, + "id": 2975, "inner": { "function": { "generics": { @@ -282328,7 +301323,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -282383,7 +301378,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -282391,24 +301386,24 @@ } }, "links": { - "`create_dir_all`": 2972, - "io#platform-specific-behavior": 501 + "`create_dir_all`": 2974, + "io#platform-specific-behavior": 502 }, "name": "create_dir", "span": { "begin": [ - 2873, + 2959, 1 ], "end": [ - 2875, + 2961, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2974": { + "2976": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -282417,7 +301412,7 @@ "crate_id": 0, "deprecation": null, "docs": "Removes a directory at this path, after removing all its contents. Use\ncarefully!\n\nThis function does **not** follow symbolic links and it will simply remove the\nsymbolic link itself.\n\n# Platform-specific behavior\n\nThese implementation details [may change in the future][changes].\n\n- \"Unix-like\": By default, this function currently corresponds to\n`openat`, `fdopendir`, `unlinkat` and `lstat`\non Unix-family platforms, except where noted otherwise.\n- \"Windows\": This function currently corresponds to `CreateFileW`,\n`GetFileInformationByHandleEx`, `SetFileInformationByHandle`, and `NtCreateFile`.\n\n## Time-of-check to time-of-use (TOCTOU) race conditions\nSee the [module-level TOCTOU explanation](self#time-of-check-to-time-of-use-toctou).\n\nOn most platforms, `fs::remove_dir_all` protects against symlink TOCTOU races by default.\nHowever, on the following platforms, this protection is not provided and the function should\nnot be used in security-sensitive contexts:\n- **Miri**: Even when emulating targets where the underlying implementation will protect against\n TOCTOU races, Miri will not do so.\n- **Redox OS**: This function does not protect against TOCTOU races, as Redox does not implement\n the required platform support to do so.\n\n[TOCTOU]: self#time-of-check-to-time-of-use-toctou\n[changes]: io#platform-specific-behavior\n\n# Errors\n\nSee [`fs::remove_file`] and [`fs::remove_dir`].\n\n[`remove_dir_all`] will fail if [`remove_dir`] or [`remove_file`] fail on *any* constituent\npaths, *including* the root `path`. Consequently,\n\n- The directory you are deleting *must* exist, meaning that this function is *not idempotent*.\n- [`remove_dir_all`] will fail if the `path` is *not* a directory.\n\nConsider ignoring the error if validating the removal is not required for your use case.\n\nThis function may return [`io::ErrorKind::DirectoryNotEmpty`] if the directory is concurrently\nwritten into, which typically indicates some contents were removed but not all.\n[`io::ErrorKind::NotFound`] is only returned if no removal occurs.\n\n[`fs::remove_file`]: remove_file\n[`fs::remove_dir`]: remove_dir\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n fs::remove_dir_all(\"/some/dir\")?;\n Ok(())\n}\n```", - "id": 2974, + "id": 2976, "inner": { "function": { "generics": { @@ -282438,7 +301433,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -282493,7 +301488,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -282501,31 +301496,31 @@ } }, "links": { - "`io::ErrorKind::DirectoryNotEmpty`": 2976, + "`io::ErrorKind::DirectoryNotEmpty`": 2978, "`io::ErrorKind::NotFound`": 2775, - "`remove_dir_all`": 2974, - "`remove_dir`": 2975, - "`remove_file`": 2961, - "io#platform-specific-behavior": 501, - "remove_dir": 2975, - "remove_file": 2961, - "self#time-of-check-to-time-of-use-toctou": 2424 + "`remove_dir_all`": 2976, + "`remove_dir`": 2977, + "`remove_file`": 2963, + "io#platform-specific-behavior": 502, + "remove_dir": 2977, + "remove_file": 2963, + "self#time-of-check-to-time-of-use-toctou": 2422 }, "name": "remove_dir_all", "span": { "begin": [ - 3028, + 3114, 1 ], "end": [ - 3030, + 3116, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2975": { + "2977": { "attrs": [ { "other": "#[doc(alias = \"rmdir\", alias = \"RemoveDirectory\")]" @@ -282537,7 +301532,7 @@ "crate_id": 0, "deprecation": null, "docs": "Removes an empty directory.\n\nIf you want to remove a directory that is not empty, as well as all\nof its contents recursively, consider using [`remove_dir_all`]\ninstead.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `rmdir` function on Unix\nand the `RemoveDirectory` function on Windows.\nNote that, this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n\n# Errors\n\nThis function will return an error in the following situations, but is not\nlimited to just these cases:\n\n* `path` doesn't exist.\n* `path` isn't a directory.\n* The user lacks permissions to remove the directory at the provided `path`.\n* The directory isn't empty.\n\nThis function will only ever return an error of kind `NotFound` if the given\npath does not exist. Note that the inverse is not true,\nie. if a path does not exist, its removal may fail for a number of reasons,\nsuch as insufficient permissions.\n\n# Examples\n\n```no_run\nuse std::fs;\n\nfn main() -> std::io::Result<()> {\n fs::remove_dir(\"/some/dir\")?;\n Ok(())\n}\n```", - "id": 2975, + "id": 2977, "inner": { "function": { "generics": { @@ -282558,7 +301553,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -282613,7 +301608,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -282621,24 +301616,24 @@ } }, "links": { - "`remove_dir_all`": 2974, - "io#platform-specific-behavior": 501 + "`remove_dir_all`": 2976, + "io#platform-specific-behavior": 502 }, "name": "remove_dir", "span": { "begin": [ - 2964, + 3050, 1 ], "end": [ - 2966, + 3052, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2976": { + "2978": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -282647,7 +301642,7 @@ "crate_id": 0, "deprecation": null, "docs": "A non-empty directory was specified where an empty directory was expected.", - "id": 2976, + "id": 2978, "inner": { "variant": { "discriminant": null, @@ -282658,18 +301653,18 @@ "name": "DirectoryNotEmpty", "span": { "begin": [ - 284, + 287, 5 ], "end": [ - 284, + 287, 22 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "2977": { + "2979": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 86442, is_soft: false}, feature: \"io_error_more\"}}]" @@ -282678,7 +301673,7 @@ "crate_id": 0, "deprecation": null, "docs": "Loop in the filesystem or IO subsystem; often, too many levels of symbolic links.\n\nThere was a loop (or excessively long chain) resolving a filesystem object\nor file IO object.\n\nOn Unix this is usually the result of a symbolic link loop; or, of exceeding the\nsystem-specific limit on the depth of symlink traversal.", - "id": 2977, + "id": 2979, "inner": { "variant": { "discriminant": null, @@ -282689,18 +301684,74 @@ "name": "FilesystemLoop", "span": { "begin": [ - 296, + 299, 5 ], "end": [ - 296, + 299, 19 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "2978": { + "298": { + "attrs": [ + { + "other": "#[allow(missing_docs)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Path(\"num/f64.rs\")]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Constants for the `f64` double-precision floating point type.\n\n*[See also the `f64` primitive type](primitive@f64).*\n\nMathematically significant numbers are provided in the `consts` sub-module.\n\nFor the constants defined directly in this module\n(as distinct from those defined in the `consts` sub-module),\nnew code should instead use the associated constants\ndefined directly on the `f64` type.", + "id": 298, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 267, + 269, + 271, + 273, + 275, + 277, + 279, + 281, + 283, + 285, + 287, + 289, + 291, + 293, + 295 + ] + } + }, + "links": { + "primitive@f64": 297 + }, + "name": "f64", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 1263, + 2 + ], + "filename": "std/src/num/f64.rs" + }, + "visibility": "public" + }, + "2980": { "attrs": [ { "other": "#[doc(alias = \"chmod\", alias = \"SetFileAttributes\")]" @@ -282712,7 +301763,7 @@ "crate_id": 0, "deprecation": null, "docs": "Set the permissions of a file, unless it is a symlink.\n\nNote that the non-final path elements are allowed to be symlinks.\n\n# Platform-specific behavior\n\nCurrently unimplemented on Windows.\n\nOn Unix platforms, this results in a [`FilesystemLoop`] error if the last element is a symlink.\n\nThis behavior may change in the future.\n\n[`FilesystemLoop`]: crate::io::ErrorKind::FilesystemLoop", - "id": 2978, + "id": 2980, "inner": { "function": { "generics": { @@ -282733,7 +301784,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -282777,7 +301828,7 @@ { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "Permissions" } } @@ -282798,7 +301849,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -282806,23 +301857,23 @@ } }, "links": { - "crate::io::ErrorKind::FilesystemLoop": 2977 + "crate::io::ErrorKind::FilesystemLoop": 2979 }, "name": "set_permissions_nofollow", "span": { "begin": [ - 3174, + 3263, 1 ], "end": [ - 3176, + 3265, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2979": { + "2981": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"path_ext\"}}]" @@ -282839,7 +301890,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the path points at an existing entity.\n\nWarning: this method may be error-prone, consider using [`try_exists()`] instead!\nIt also has a risk of introducing time-of-check to time-of-use ([TOCTOU]) bugs.\n\nThis function will traverse symbolic links to query information about the\ndestination file.\n\nIf you cannot access the metadata of the file, e.g. because of a\npermission error or broken symbolic links, this will return `false`.\n\n# Examples\n\n```no_run\nuse std::path::Path;\nassert!(!Path::new(\"does_not_exist.txt\").exists());\n```\n\n# See Also\n\nThis is a convenience function that coerces errors to false. If you want to\ncheck errors, call [`Path::try_exists`].\n\n[`try_exists()`]: Self::try_exists\n[TOCTOU]: fs#time-of-check-to-time-of-use-toctou", - "id": 2979, + "id": 2981, "inner": { "function": { "generics": { @@ -282876,25 +301927,25 @@ } }, "links": { - "Self::try_exists": 6674, - "`Path::try_exists`": 6674, - "fs#time-of-check-to-time-of-use-toctou": 2424 + "Self::try_exists": 6713, + "`Path::try_exists`": 6713, + "fs#time-of-check-to-time-of-use-toctou": 2422 }, "name": "exists", "span": { "begin": [ - 3188, + 3375, 5 ], "end": [ - 3190, + 3377, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "2980": { + "2982": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 81, patch: 0})}, feature: \"fs_try_exists\"}}]" @@ -282906,7 +301957,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `Ok(true)` if the path points at an existing entity.\n\nThis function will traverse symbolic links to query information about the\ndestination file. In case of broken symbolic links this will return `Ok(false)`.\n\nAs opposed to the [`Path::exists`] method, this will only return `Ok(true)` or `Ok(false)`\nif the path was _verified_ to exist or not exist. If its existence can neither be confirmed\nnor denied, an `Err(_)` will be propagated instead. This can be the case if e.g. listing\npermission is denied on one of the parent directories.\n\nNote that while this avoids some pitfalls of the `exists()` method, it still can not\nprevent time-of-check to time-of-use ([TOCTOU]) bugs. You should only use it in scenarios\nwhere those bugs are not an issue.\n\n# Examples\n\n```no_run\nuse std::fs;\n\nassert!(!fs::exists(\"does_not_exist.txt\").expect(\"Can't check existence of file does_not_exist.txt\"));\nassert!(fs::exists(\"/root/secret_file.txt\").is_err());\n```\n\n[`Path::exists`]: crate::path::Path::exists\n[TOCTOU]: self#time-of-check-to-time-of-use-toctou", - "id": 2980, + "id": 2982, "inner": { "function": { "generics": { @@ -282927,7 +301978,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -282982,7 +302033,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -282990,24 +302041,24 @@ } }, "links": { - "crate::path::Path::exists": 2979, - "self#time-of-check-to-time-of-use-toctou": 2424 + "crate::path::Path::exists": 2981, + "self#time-of-check-to-time-of-use-toctou": 2422 }, "name": "exists", "span": { "begin": [ - 3304, + 3393, 1 ], "end": [ - 3306, + 3395, 2 ], "filename": "std/src/fs.rs" }, "visibility": "public" }, - "2983": { + "2985": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -283027,7 +302078,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new `RandomState` that is initialized with random keys.\n\n# Examples\n\n```\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\n```", - "id": 2983, + "id": 2985, "inner": { "function": { "generics": { @@ -283069,88 +302120,6 @@ }, "visibility": "public" }, - "2984": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 2984, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 739, - "path": "RandomState" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 2983 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 41, - 1 - ], - "end": [ - 78, - 2 - ], - "filename": "std/src/hash/random.rs" - }, - "visibility": "default" - }, - "2985": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 2985, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 739, - "path": "RandomState" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, "2986": { "attrs": [], "crate_id": 0, @@ -283172,20 +302141,28 @@ "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 2985 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 41, + 1 + ], + "end": [ + 78, + 2 + ], + "filename": "std/src/hash/random.rs" + }, "visibility": "default" }, "2987": { @@ -283215,8 +302192,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 1, + "path": "Send" } } }, @@ -283252,8 +302229,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 5, + "path": "Sync" } } }, @@ -283289,8 +302266,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 313, + "path": "Freeze" } } }, @@ -283299,72 +302276,86 @@ "span": null, "visibility": "default" }, - "299": { - "attrs": [ - { - "other": "#[rustc_doc_primitive = \"f64\"]" - }, - { - "other": "#[doc(alias = \"double\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "2990": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "A 64-bit floating-point type (specifically, the \"binary64\" type defined in IEEE 754-2008).\n\nThis type is very similar to [`prim@f32`], but has increased precision by using twice as many\nbits. Please see [the documentation for `f32`](prim@f32) or [Wikipedia on double-precision\nvalues][wikipedia] for more information.\n\n*[See also the `std::f64::consts` module](crate::f64::consts).*\n\n[wikipedia]: https://en.wikipedia.org/wiki/Double-precision_floating-point_format", - "id": 299, + "docs": null, + "id": 2990, "inner": { - "primitive": { - "impls": [ - 9843, - 9895, - 9896, - 9897, - 9898, - 9899, - 9900, - 9901, - 9902, - 9903, - 9904, - 9905, - 9906, - 9907, - 9908, - 9909, - 9910, - 9911 - ], - "name": "f64" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 739, + "path": "RandomState" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } }, - "links": { - "`prim@f32`": 267, - "crate::f64::consts": 298, - "prim@f32": 267 - }, - "name": "f64", - "span": { - "begin": [ - 1381, - 1 - ], - "end": [ - 1381, - 16 - ], - "filename": "std/src/../../core/src/primitive_docs.rs" + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "2991": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 2991, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 739, + "path": "RandomState" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "2990": { + "2992": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2990, + "id": 2992, "inner": { "impl": { "blanket_impl": null, @@ -283386,7 +302377,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -283396,12 +302387,12 @@ "span": null, "visibility": "default" }, - "2991": { + "2993": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2991, + "id": 2993, "inner": { "impl": { "blanket_impl": { @@ -283455,7 +302446,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -283471,7 +302462,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -283480,23 +302471,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "2992": { + "2994": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2992, + "id": 2994, "inner": { "impl": { "blanket_impl": { @@ -283550,7 +302541,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -283566,7 +302557,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -283575,23 +302566,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "2993": { + "2995": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2993, + "id": 2995, "inner": { "impl": { "blanket_impl": { @@ -283627,7 +302618,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -283659,23 +302650,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "2994": { + "2996": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2994, + "id": 2996, "inner": { "impl": { "blanket_impl": { @@ -283750,7 +302741,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -283775,23 +302766,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2995": { + "2997": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2995, + "id": 2997, "inner": { "impl": { "blanket_impl": { @@ -283823,7 +302814,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -283848,23 +302839,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2996": { + "2998": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2996, + "id": 2998, "inner": { "impl": { "blanket_impl": { @@ -283921,7 +302912,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -283939,8 +302930,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -283956,7 +302947,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -283965,23 +302956,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2997": { + "2999": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2997, + "id": 2999, "inner": { "impl": { "blanket_impl": { @@ -284056,8 +303047,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -284073,7 +303064,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -284082,23 +303073,59 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "2998": { + "30": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"size_of_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 30, + "inner": { + "use": { + "id": 31, + "is_glob": false, + "name": "size_of_val", + "source": "crate::mem::size_of_val" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 27, + 55 + ], + "end": [ + 27, + 66 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "3000": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2998, + "id": 3000, "inner": { "impl": { "blanket_impl": { @@ -284155,12 +303182,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -284180,12 +303207,12 @@ }, "visibility": "default" }, - "2999": { + "3001": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 2999, + "id": 3001, "inner": { "impl": { "blanket_impl": { @@ -284221,7 +303248,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -284248,7 +303275,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -284257,110 +303284,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "30": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"size_of_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 30, - "inner": { - "use": { - "id": 31, - "is_glob": false, - "name": "size_of_val", - "source": "crate::mem::size_of_val" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 55 - ], - "end": [ - 27, - 66 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "300": { - "attrs": [ - { - "other": "#[allow(missing_docs)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Path(\"num/f64.rs\")]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Constants for the `f64` double-precision floating point type.\n\n*[See also the `f64` primitive type](primitive@f64).*\n\nMathematically significant numbers are provided in the `consts` sub-module.\n\nFor the constants defined directly in this module\n(as distinct from those defined in the `consts` sub-module),\nnew code should instead use the associated constants\ndefined directly on the `f64` type.", - "id": 300, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 269, - 271, - 273, - 275, - 277, - 279, - 281, - 283, - 285, - 287, - 289, - 291, - 293, - 295, - 297 - ] - } - }, - "links": { - "primitive@f64": 299 - }, - "name": "f64", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 1260, - 2 - ], - "filename": "std/src/num/f64.rs" - }, - "visibility": "public" - }, - "3000": { + "3002": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -284369,7 +303304,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3000, + "id": 3002, "inner": { "function": { "generics": { @@ -284424,7 +303359,7 @@ }, "visibility": "default" }, - "3001": { + "3003": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"hashmap_build_hasher\"}}]" @@ -284434,7 +303369,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3001, + "id": 3003, "inner": { "impl": { "blanket_impl": null, @@ -284453,14 +303388,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3000 + 3002 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -284480,12 +303415,12 @@ }, "visibility": "default" }, - "3002": { + "3004": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3002, + "id": 3004, "inner": { "assoc_type": { "bounds": [], @@ -284496,7 +303431,7 @@ "type": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } } @@ -284517,7 +303452,7 @@ }, "visibility": "default" }, - "3003": { + "3005": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -284529,7 +303464,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3003, + "id": 3005, "inner": { "function": { "generics": { @@ -284562,7 +303497,7 @@ "output": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } } @@ -284584,7 +303519,7 @@ }, "visibility": "default" }, - "3004": { + "3006": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"hashmap_build_hasher\"}}]" @@ -284593,7 +303528,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3004, + "id": 3006, "inner": { "impl": { "blanket_impl": null, @@ -284612,8 +303547,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3002, - 3003 + 3004, + 3005 ], "provided_trait_methods": [ "hash_one" @@ -284640,7 +303575,7 @@ }, "visibility": "default" }, - "3005": { + "3007": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -284649,7 +303584,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new `RandomState`.", - "id": 3005, + "id": 3007, "inner": { "function": { "generics": { @@ -284691,7 +303626,7 @@ }, "visibility": "default" }, - "3006": { + "3008": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"hashmap_build_hasher\"}}]" @@ -284700,7 +303635,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3006, + "id": 3008, "inner": { "impl": { "blanket_impl": null, @@ -284719,12 +303654,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3005 + 3007 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -284744,12 +303679,12 @@ }, "visibility": "default" }, - "3007": { + "3009": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3007, + "id": 3009, "inner": { "function": { "generics": { @@ -284795,7 +303730,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -284807,7 +303742,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -284829,7 +303764,7 @@ }, "visibility": "default" }, - "3008": { + "3010": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -284838,7 +303773,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3008, + "id": 3010, "inner": { "impl": { "blanket_impl": null, @@ -284857,12 +303792,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3007 + 3009 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -284882,7 +303817,7 @@ }, "visibility": "default" }, - "3010": { + "3012": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -284902,7 +303837,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `DefaultHasher`.\n\nThis hasher is not guaranteed to be the same as all other\n`DefaultHasher` instances, but is the same as all other `DefaultHasher`\ninstances created through `new` or `default`.", - "id": 3010, + "id": 3012, "inner": { "function": { "generics": { @@ -284922,7 +303857,7 @@ "output": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } } @@ -284944,19 +303879,19 @@ }, "visibility": "public" }, - "3011": { + "3013": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3011, + "id": 3013, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -284968,7 +303903,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3010 + 3012 ], "provided_trait_methods": [], "trait": null @@ -284989,19 +303924,19 @@ }, "visibility": "default" }, - "3012": { + "3014": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3012, + "id": 3014, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285026,19 +303961,19 @@ "span": null, "visibility": "default" }, - "3013": { + "3015": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3013, + "id": 3015, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285063,19 +303998,19 @@ "span": null, "visibility": "default" }, - "3014": { + "3016": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3014, + "id": 3016, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285090,7 +304025,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -285100,19 +304035,19 @@ "span": null, "visibility": "default" }, - "3015": { + "3017": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3015, + "id": 3017, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285137,19 +304072,19 @@ "span": null, "visibility": "default" }, - "3016": { + "3018": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3016, + "id": 3018, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285164,7 +304099,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -285174,19 +304109,19 @@ "span": null, "visibility": "default" }, - "3017": { + "3019": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3017, + "id": 3019, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285201,7 +304136,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -285211,12 +304146,166 @@ "span": null, "visibility": "default" }, - "3018": { + "302": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + }, + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a scope for spawning scoped threads.\n\nThe function passed to `scope` will be provided a [`Scope`] object,\nthrough which scoped threads can be [spawned][`Scope::spawn`].\n\nUnlike non-scoped threads, scoped threads can borrow non-`'static` data,\nas the scope guarantees all threads will be joined at the end of the scope.\n\nAll threads spawned within the scope that haven't been manually joined\nwill be automatically joined before this function returns.\n\n# Panics\n\nIf any of the automatically joined threads panicked, this function will panic.\n\nIf you want to handle panics from spawned threads,\n[`join`][ScopedJoinHandle::join] them before the end of the scope.\n\n# Example\n\n```\nuse std::thread;\n\nlet mut a = vec![1, 2, 3];\nlet mut x = 0;\n\nthread::scope(|s| {\n s.spawn(|| {\n println!(\"hello from the first scoped thread\");\n // We can borrow `a` here.\n dbg!(&a);\n });\n s.spawn(|| {\n println!(\"hello from the second scoped thread\");\n // We can even mutably borrow `x` here,\n // because no other threads are using it.\n x += a[0] + a[2];\n });\n println!(\"hello from the main thread\");\n});\n\n// After the scope, we can modify and access our variables again:\na.push(4);\nassert_eq!(x, a.len());\n```\n\n# Lifetimes\n\nScoped threads involve two lifetimes: `'scope` and `'env`.\n\nThe `'scope` lifetime represents the lifetime of the scope itself.\nThat is: the time during which new scoped threads may be spawned,\nand also the time during which they might still be running.\nOnce this lifetime ends, all scoped threads are joined.\nThis lifetime starts within the `scope` function, before `f` (the argument to `scope`) starts.\nIt ends after `f` returns and all scoped threads have been joined, but before `scope` returns.\n\nThe `'env` lifetime represents the lifetime of whatever is borrowed by the scoped threads.\nThis lifetime must outlast the call to `scope`, and thus cannot be smaller than `'scope`.\nIt can be as small as the call to `scope`, meaning that anything that outlives this call,\nsuch as local variables defined right before the scope, can be borrowed by the scoped threads.\n\nThe `'env: 'scope` bound is part of the definition of the `Scope` type.", + "id": 302, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'env" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + } + ], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'scope", + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + } + } + } + ], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "T" + } + } + } + }, + "links": { + "ScopedJoinHandle::join": 305, + "`Scope::spawn`": 308, + "`Scope`": 303 + }, + "name": "scope", + "span": { + "begin": [ + 134, + 1 + ], + "end": [ + 167, + 2 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "public" + }, + "3020": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3018, + "id": 3020, "inner": { "impl": { "blanket_impl": { @@ -285225,7 +304314,7 @@ "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285270,7 +304359,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -285286,7 +304375,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -285295,23 +304384,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3019": { + "3021": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3019, + "id": 3021, "inner": { "impl": { "blanket_impl": { @@ -285320,7 +304409,7 @@ "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285365,7 +304454,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -285381,7 +304470,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -285390,23 +304479,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3020": { + "3022": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3020, + "id": 3022, "inner": { "impl": { "blanket_impl": { @@ -285415,7 +304504,7 @@ "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285442,7 +304531,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -285474,23 +304563,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "3021": { + "3023": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3021, + "id": 3023, "inner": { "impl": { "blanket_impl": { @@ -285499,7 +304588,7 @@ "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285565,7 +304654,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -285590,23 +304679,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3022": { + "3024": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3022, + "id": 3024, "inner": { "impl": { "blanket_impl": { @@ -285615,7 +304704,7 @@ "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285638,7 +304727,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -285663,23 +304752,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3023": { + "3025": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3023, + "id": 3025, "inner": { "impl": { "blanket_impl": { @@ -285688,7 +304777,7 @@ "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285736,7 +304825,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -285754,8 +304843,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -285771,7 +304860,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -285780,23 +304869,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3024": { + "3026": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3024, + "id": 3026, "inner": { "impl": { "blanket_impl": { @@ -285805,7 +304894,7 @@ "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285871,8 +304960,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -285888,7 +304977,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -285897,23 +304986,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3025": { + "3027": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3025, + "id": 3027, "inner": { "impl": { "blanket_impl": { @@ -285922,7 +305011,7 @@ "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -285970,12 +305059,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -285995,12 +305084,12 @@ }, "visibility": "default" }, - "3026": { + "3028": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3026, + "id": 3028, "inner": { "impl": { "blanket_impl": { @@ -286009,7 +305098,7 @@ "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -286036,7 +305125,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -286063,7 +305152,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -286072,18 +305161,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "3027": { + "3029": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -286092,7 +305181,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3027, + "id": 3029, "inner": { "function": { "generics": { @@ -286125,7 +305214,7 @@ "output": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } } @@ -286147,7 +305236,84 @@ }, "visibility": "default" }, - "3028": { + "303": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A scope to spawn scoped threads in.\n\nSee [`scope`] for details.", + "id": 303, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "lifetime": { + "outlives": [ + "'scope" + ] + } + }, + "name": "'env" + } + ], + "where_predicates": [] + }, + "impls": [ + 309, + 310, + 311, + 312, + 314, + 315, + 317, + 320, + 323, + 326, + 328, + 331, + 335, + 338, + 343 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "`scope`": 302 + }, + "name": "Scope", + "span": { + "begin": [ + 12, + 1 + ], + "end": [ + 29, + 2 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "public" + }, + "3030": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -286160,14 +305326,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3028, + "id": 3030, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -286179,14 +305345,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3027 + 3029 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -286206,7 +305372,7 @@ }, "visibility": "default" }, - "3029": { + "3031": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -286215,7 +305381,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3029, + "id": 3031, "inner": { "function": { "generics": { @@ -286261,7 +305427,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -286273,7 +305439,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -286295,7 +305461,7 @@ }, "visibility": "default" }, - "3030": { + "3032": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -286308,14 +305474,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3030, + "id": 3032, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -286327,12 +305493,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3029 + 3031 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -286352,7 +305518,7 @@ }, "visibility": "default" }, - "3031": { + "3033": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -286361,7 +305527,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `DefaultHasher` using [`new`].\nSee its documentation for more.\n\n[`new`]: DefaultHasher::new", - "id": 3031, + "id": 3033, "inner": { "function": { "generics": { @@ -286381,7 +305547,7 @@ "output": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } } @@ -286389,7 +305555,7 @@ } }, "links": { - "DefaultHasher::new": 3010 + "DefaultHasher::new": 3012 }, "name": "default", "span": { @@ -286405,7 +305571,7 @@ }, "visibility": "default" }, - "3032": { + "3034": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"hashmap_default_hasher\"}}]" @@ -286414,14 +305580,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3032, + "id": 3034, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -286433,12 +305599,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3031 + 3033 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -286458,7 +305624,7 @@ }, "visibility": "default" }, - "3033": { + "3035": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -286467,7 +305633,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3033, + "id": 3035, "inner": { "function": { "generics": { @@ -286530,7 +305696,7 @@ }, "visibility": "default" }, - "3034": { + "3036": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -286539,7 +305705,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3034, + "id": 3036, "inner": { "function": { "generics": { @@ -286600,7 +305766,7 @@ }, "visibility": "default" }, - "3035": { + "3037": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -286609,7 +305775,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3035, + "id": 3037, "inner": { "function": { "generics": { @@ -286660,7 +305826,7 @@ }, "visibility": "default" }, - "3036": { + "3038": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"hashmap_default_hasher\"}}]" @@ -286669,14 +305835,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3036, + "id": 3038, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1622, + "id": 1621, "path": "DefaultHasher" } }, @@ -286688,9 +305854,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3033, - 3034, - 3035 + 3035, + 3036, + 3037 ], "provided_trait_methods": [ "write_u8", @@ -286730,7 +305896,83 @@ }, "visibility": "default" }, - "3038": { + "304": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An owned permission to join on a scoped thread (block on its termination).\n\nSee [`Scope::spawn`] for details.", + "id": 304, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 366 + ], + "kind": { + "tuple": [ + null + ] + } + } + }, + "links": { + "`Scope::spawn`": 308 + }, + "name": "ScopedJoinHandle", + "span": { + "begin": [ + 35, + 1 + ], + "end": [ + 35, + 62 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "public" + }, + "3040": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 76, patch: 0})}, feature: \"std_hash_exports\"}}]" @@ -286739,10 +305981,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3038, + "id": 3040, "inner": { "use": { - "id": 1622, + "id": 1621, "is_glob": false, "name": "DefaultHasher", "source": "self::random::DefaultHasher" @@ -286763,7 +306005,7 @@ }, "visibility": "public" }, - "3039": { + "3041": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 76, patch: 0})}, feature: \"std_hash_exports\"}}]" @@ -286772,7 +306014,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3039, + "id": 3041, "inner": { "use": { "id": 739, @@ -286796,161 +306038,7 @@ }, "visibility": "public" }, - "304": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - }, - { - "other": "#[attr = TrackCaller]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a scope for spawning scoped threads.\n\nThe function passed to `scope` will be provided a [`Scope`] object,\nthrough which scoped threads can be [spawned][`Scope::spawn`].\n\nUnlike non-scoped threads, scoped threads can borrow non-`'static` data,\nas the scope guarantees all threads will be joined at the end of the scope.\n\nAll threads spawned within the scope that haven't been manually joined\nwill be automatically joined before this function returns.\n\n# Panics\n\nIf any of the automatically joined threads panicked, this function will panic.\n\nIf you want to handle panics from spawned threads,\n[`join`][ScopedJoinHandle::join] them before the end of the scope.\n\n# Example\n\n```\nuse std::thread;\n\nlet mut a = vec![1, 2, 3];\nlet mut x = 0;\n\nthread::scope(|s| {\n s.spawn(|| {\n println!(\"hello from the first scoped thread\");\n // We can borrow `a` here.\n dbg!(&a);\n });\n s.spawn(|| {\n println!(\"hello from the second scoped thread\");\n // We can even mutably borrow `x` here,\n // because no other threads are using it.\n x += a[0] + a[2];\n });\n println!(\"hello from the main thread\");\n});\n\n// After the scope, we can modify and access our variables again:\na.push(4);\nassert_eq!(x, a.len());\n```\n\n# Lifetimes\n\nScoped threads involve two lifetimes: `'scope` and `'env`.\n\nThe `'scope` lifetime represents the lifetime of the scope itself.\nThat is: the time during which new scoped threads may be spawned,\nand also the time during which they might still be running.\nOnce this lifetime ends, all scoped threads are joined.\nThis lifetime starts within the `scope` function, before `f` (the argument to `scope`) starts.\nIt ends after `f` returns and all scoped threads have been joined, but before `scope` returns.\n\nThe `'env` lifetime represents the lifetime of whatever is borrowed by the scoped threads.\nThis lifetime must outlast the call to `scope`, and thus cannot be smaller than `'scope`.\nIt can be as small as the call to `scope`, meaning that anything that outlives this call,\nsuch as local variables defined right before the scope, can be borrowed by the scoped threads.\n\nThe `'env: 'scope` bound is part of the definition of the `Scope` type.", - "id": 304, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'env" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - } - ], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'scope", - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - } - } - } - ], - "output": { - "generic": "T" - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "T" - } - } - } - }, - "links": { - "ScopedJoinHandle::join": 307, - "`Scope::spawn`": 310, - "`Scope`": 305 - }, - "name": "scope", - "span": { - "begin": [ - 134, - 1 - ], - "end": [ - 167, - 2 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "public" - }, - "3040": { + "3042": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -286959,10 +306047,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3040, + "id": 3042, "inner": { "use": { - "id": 3041, + "id": 3043, "is_glob": true, "name": "hash", "source": "core::hash" @@ -286983,7 +306071,7 @@ }, "visibility": "public" }, - "3042": { + "3044": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -286992,15 +306080,15 @@ "crate_id": 0, "deprecation": null, "docs": "Generic hashing support.\n\nThis module provides a generic way to compute the [hash] of a value.\nHashes are most commonly used with [`HashMap`] and [`HashSet`].\n\n[hash]: https://en.wikipedia.org/wiki/Hash_function\n[`HashMap`]: ../../std/collections/struct.HashMap.html\n[`HashSet`]: ../../std/collections/struct.HashSet.html\n\nThe simplest way to make a type hashable is to use `#[derive(Hash)]`:\n\n# Examples\n\n```rust\nuse std::hash::{DefaultHasher, Hash, Hasher};\n\n#[derive(Hash)]\nstruct Person {\n id: u32,\n name: String,\n phone: u64,\n}\n\nlet person1 = Person {\n id: 5,\n name: \"Janet\".to_string(),\n phone: 555_666_7777,\n};\nlet person2 = Person {\n id: 5,\n name: \"Bob\".to_string(),\n phone: 555_666_7777,\n};\n\nassert!(calculate_hash(&person1) != calculate_hash(&person2));\n\nfn calculate_hash(t: &T) -> u64 {\n let mut s = DefaultHasher::new();\n t.hash(&mut s);\n s.finish()\n}\n```\n\nIf you need more control over how a value is hashed, you need to implement\nthe [`Hash`] trait:\n\n```rust\nuse std::hash::{DefaultHasher, Hash, Hasher};\n\nstruct Person {\n id: u32,\n # #[allow(dead_code)]\n name: String,\n phone: u64,\n}\n\nimpl Hash for Person {\n fn hash(&self, state: &mut H) {\n self.id.hash(state);\n self.phone.hash(state);\n }\n}\n\nlet person1 = Person {\n id: 5,\n name: \"Janet\".to_string(),\n phone: 555_666_7777,\n};\nlet person2 = Person {\n id: 5,\n name: \"Bob\".to_string(),\n phone: 555_666_7777,\n};\n\nassert_eq!(calculate_hash(&person1), calculate_hash(&person2));\n\nfn calculate_hash(t: &T) -> u64 {\n let mut s = DefaultHasher::new();\n t.hash(&mut s);\n s.finish()\n}\n```", - "id": 3042, + "id": 3044, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 3038, - 3039, - 3040 + 3040, + 3041, + 3042 ] } }, @@ -287021,12 +306109,12 @@ }, "visibility": "public" }, - "3046": { + "3048": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3046, + "id": 3048, "inner": { "function": { "generics": { @@ -287084,7 +306172,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -287106,7 +306194,7 @@ }, "visibility": "default" }, - "3047": { + "3049": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -287115,7 +306203,7 @@ "crate_id": 0, "deprecation": null, "docs": "A TCP stream between a local and a remote socket.\n\nAfter creating a `TcpStream` by either [`connect`]ing to a remote host or\n[`accept`]ing a connection on a [`TcpListener`], data can be transmitted\nby [reading] and [writing] to it.\n\nThe connection will be closed when the value is dropped. The reading and writing\nportions of the connection can also be shut down individually with the [`shutdown`]\nmethod.\n\nThe Transmission Control Protocol is specified in [IETF RFC 793].\n\n[`accept`]: TcpListener::accept\n[`connect`]: TcpStream::connect\n[IETF RFC 793]: https://tools.ietf.org/html/rfc793\n[reading]: Read\n[`shutdown`]: TcpStream::shutdown\n[writing]: Write\n\n# Examples\n\n```no_run\nuse std::io::prelude::*;\nuse std::net::TcpStream;\n\nfn main() -> std::io::Result<()> {\n let mut stream = TcpStream::connect(\"127.0.0.1:34254\")?;\n\n stream.write(&[1])?;\n stream.read(&mut [0; 128])?;\n Ok(())\n} // the stream is closed here\n```\n\n# Platform-specific Behavior\n\nOn Unix, writes to the underlying socket in `SOCK_STREAM` mode are made with\n`MSG_NOSIGNAL` flag. This suppresses the emission of the `SIGPIPE` signal when writing\nto disconnected socket. In some cases, getting a `SIGPIPE` would trigger process termination.", - "id": 3047, + "id": 3049, "inner": { "struct": { "generics": { @@ -287123,7 +306211,6 @@ "where_predicates": [] }, "impls": [ - 4502, 4503, 4504, 4505, @@ -287137,24 +306224,25 @@ 4513, 4514, 4515, - 4054, - 4200, - 4059, - 4205, - 4517, - 4520, - 4523, - 4526, - 4530, - 4534, - 4536, - 4538, - 4540, - 4542, - 4544, - 4546, - 4548, - 4553 + 4516, + 4053, + 4199, + 4058, + 4204, + 4518, + 4521, + 4524, + 4527, + 4531, + 4535, + 4537, + 4539, + 4541, + 4543, + 4545, + 4547, + 4549, + 4554 ], "kind": { "tuple": [ @@ -287164,12 +306252,12 @@ } }, "links": { - "Read": 2476, - "TcpListener::accept": 4481, - "TcpStream::connect": 4438, - "TcpStream::shutdown": 4483, - "Write": 2486, - "`TcpListener`": 4482 + "Read": 2474, + "TcpListener::accept": 4482, + "TcpStream::connect": 4439, + "TcpStream::shutdown": 4484, + "Write": 2484, + "`TcpListener`": 4483 }, "name": "TcpStream", "span": { @@ -287185,7 +306273,79 @@ }, "visibility": "public" }, - "3048": { + "305": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Waits for the associated thread to finish.\n\nThis function will return immediately if the associated thread has already finished.\n\nIn terms of [atomic memory orderings], the completion of the associated\nthread synchronizes with this function returning.\nIn other words, all operations performed by that thread\n[happen before](https://doc.rust-lang.org/nomicon/atomics.html#data-accesses)\nall operations that happen after `join` returns.\n\nIf the associated thread panics, [`Err`] is returned with the panic payload.\n\n[atomic memory orderings]: crate::sync::atomic\n\n# Examples\n\n```\nuse std::thread;\n\nthread::scope(|s| {\n let t = s.spawn(|| {\n panic!(\"oh no\");\n });\n assert!(t.join().is_err());\n});\n```", + "id": 305, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 349, + "path": "Result" + } + } + } + } + }, + "links": { + "`Err`": 59, + "crate::sync::atomic": 348 + }, + "name": "join", + "span": { + "begin": [ + 312, + 5 + ], + "end": [ + 314, + 6 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "public" + }, + "3050": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -287194,7 +306354,7 @@ "crate_id": 0, "deprecation": null, "docs": "Unwraps this `BufReader`, returning the underlying reader.\n\nNote that any leftover data in the internal buffer is lost. Therefore,\na following read from the underlying reader may lead to data loss.\n\n# Examples\n\n```no_run\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f1 = File::open(\"log.txt\")?;\n let reader = BufReader::new(f1);\n\n let f2 = reader.into_inner();\n Ok(())\n}\n```", - "id": 3048, + "id": 3050, "inner": { "function": { "generics": { @@ -287261,7 +306421,7 @@ }, "visibility": "public" }, - "3049": { + "3051": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -287270,7 +306430,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `BufReader` with a default buffer capacity. The default is currently 8 KiB,\nbut may change in the future.\n\n# Examples\n\n```no_run\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f = File::open(\"log.txt\")?;\n let reader = BufReader::new(f);\n Ok(())\n}\n```", - "id": 3049, + "id": 3051, "inner": { "function": { "generics": { @@ -287308,7 +306468,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } } @@ -287330,84 +306490,7 @@ }, "visibility": "public" }, - "305": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A scope to spawn scoped threads in.\n\nSee [`scope`] for details.", - "id": 305, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "lifetime": { - "outlives": [ - "'scope" - ] - } - }, - "name": "'env" - } - ], - "where_predicates": [] - }, - "impls": [ - 311, - 312, - 313, - 314, - 316, - 317, - 319, - 322, - 325, - 328, - 330, - 333, - 337, - 340, - 345 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "`scope`": 304 - }, - "name": "Scope", - "span": { - "begin": [ - 12, - 1 - ], - "end": [ - 29, - 2 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "public" - }, - "3050": { + "3052": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -287416,7 +306499,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `BufReader` with the specified buffer capacity.\n\n# Examples\n\nCreating a buffer with ten bytes of capacity:\n\n```no_run\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f = File::open(\"log.txt\")?;\n let reader = BufReader::with_capacity(10, f);\n Ok(())\n}\n```", - "id": 3050, + "id": 3052, "inner": { "function": { "generics": { @@ -287460,7 +306543,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } } @@ -287482,12 +306565,12 @@ }, "visibility": "public" }, - "3051": { + "3053": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3051, + "id": 3053, "inner": { "impl": { "blanket_impl": null, @@ -287505,7 +306588,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -287521,7 +306604,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -287540,8 +306623,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3049, - 3050 + 3051, + 3052 ], "provided_trait_methods": [], "trait": null @@ -287562,7 +306645,7 @@ }, "visibility": "default" }, - "3052": { + "3054": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -287571,7 +306654,7 @@ "crate_id": 0, "deprecation": null, "docs": "Marks the given `amount` of additional bytes from the internal buffer as having been read.\nSubsequent calls to `read` only return bytes that have not been marked as read.\n\nThis is a lower-level method and is meant to be used together with [`fill_buf`],\nwhich can be used to fill the internal buffer via `Read` methods.\n\nIt is a logic error if `amount` exceeds the number of unread bytes in the internal buffer, which is returned by [`fill_buf`].\n\n# Examples\n\nSince `consume()` is meant to be used with [`fill_buf`],\nthat method's example includes an example of `consume()`.\n\n[`fill_buf`]: BufRead::fill_buf", - "id": 3052, + "id": 3054, "inner": { "function": { "generics": { @@ -287612,7 +306695,7 @@ } }, "links": { - "BufRead::fill_buf": 3057 + "BufRead::fill_buf": 3059 }, "name": "consume", "span": { @@ -287628,7 +306711,7 @@ }, "visibility": "default" }, - "3053": { + "3055": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 128405, is_soft: false}, feature: \"bufreader_peek\"}}]" @@ -287637,7 +306720,7 @@ "crate_id": 0, "deprecation": null, "docs": "Attempt to look ahead `n` bytes.\n\n`n` must be less than or equal to `capacity`.\n\nThe returned slice may be less than `n` bytes long if\nend of file is reached.\n\nAfter calling this method, you may call [`consume`](BufRead::consume)\nwith a value less than or equal to `n` to advance over some or all of\nthe returned bytes.\n\n## Examples\n\n```rust\n#![feature(bufreader_peek)]\nuse std::io::{Read, BufReader};\n\nlet mut bytes = &b\"oh, hello there\"[..];\nlet mut rdr = BufReader::with_capacity(6, &mut bytes);\nassert_eq!(rdr.peek(2).unwrap(), b\"oh\");\nlet mut buf = [0; 4];\nrdr.read(&mut buf[..]).unwrap();\nassert_eq!(&buf, b\"oh, \");\nassert_eq!(rdr.peek(5).unwrap(), b\"hello\");\nlet mut s = String::new();\nrdr.read_to_string(&mut s).unwrap();\nassert_eq!(&s, \"hello there\");\nassert_eq!(rdr.peek(1).unwrap().len(), 0);\n```", - "id": 3053, + "id": 3055, "inner": { "function": { "generics": { @@ -287695,7 +306778,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -287703,7 +306786,7 @@ } }, "links": { - "BufRead::consume": 3052 + "BufRead::consume": 3054 }, "name": "peek", "span": { @@ -287719,12 +306802,12 @@ }, "visibility": "public" }, - "3054": { + "3056": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3054, + "id": 3056, "inner": { "impl": { "blanket_impl": null, @@ -287742,7 +306825,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -287758,7 +306841,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -287788,7 +306871,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3053 + 3055 ], "provided_trait_methods": [], "trait": null @@ -287809,7 +306892,7 @@ }, "visibility": "default" }, - "3055": { + "3057": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -287818,7 +306901,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets a reference to the underlying reader.\n\nIt is inadvisable to directly read from the underlying reader.\n\n# Examples\n\n```no_run\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f1 = File::open(\"log.txt\")?;\n let reader = BufReader::new(f1);\n\n let f2 = reader.get_ref();\n Ok(())\n}\n```", - "id": 3055, + "id": 3057, "inner": { "function": { "generics": { @@ -287875,7 +306958,7 @@ }, "visibility": "public" }, - "3056": { + "3058": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -287884,7 +306967,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets a mutable reference to the underlying reader.\n\nIt is inadvisable to directly read from the underlying reader.\n\n# Examples\n\n```no_run\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f1 = File::open(\"log.txt\")?;\n let mut reader = BufReader::new(f1);\n\n let f2 = reader.get_mut();\n Ok(())\n}\n```", - "id": 3056, + "id": 3058, "inner": { "function": { "generics": { @@ -287941,7 +307024,7 @@ }, "visibility": "public" }, - "3057": { + "3059": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -287950,7 +307033,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the contents of the internal buffer, filling it with more data, via `Read` methods, if empty.\n\nThis is a lower-level method and is meant to be used together with [`consume`],\nwhich can be used to mark bytes that should not be returned by subsequent calls to `read`.\n\n[`consume`]: BufRead::consume\n\nReturns an empty buffer when the stream has reached EOF.\n\n# Errors\n\nThis function will return an I/O error if a `Read` method was called, but returned an error.\n\n# Examples\n\nA locked standard input implements `BufRead`:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\n\nlet stdin = io::stdin();\nlet mut stdin = stdin.lock();\n\nlet buffer = stdin.fill_buf()?;\n\n// work with buffer\nprintln!(\"{buffer:?}\");\n\n// mark the bytes we worked with as read\nlet length = buffer.len();\nstdin.consume(length);\n# std::io::Result::Ok(())\n```", - "id": 3057, + "id": 3059, "inner": { "function": { "generics": { @@ -288002,7 +307085,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -288010,7 +307093,7 @@ } }, "links": { - "BufRead::consume": 3052 + "BufRead::consume": 3054 }, "name": "fill_buf", "span": { @@ -288026,7 +307109,76 @@ }, "visibility": "default" }, - "3058": { + "306": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "must eventually spawn the thread" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Thread factory, which can be used in order to configure the properties of\na new thread.\n\nMethods can be chained on it in order to configure it.\n\nThe two configurations available are:\n\n- [`name`]: specifies an [associated name for the thread][naming-threads]\n- [`stack_size`]: specifies the [desired stack size for the thread][stack-size]\n\nThe [`spawn`] method will take ownership of the builder and create an\n[`io::Result`] to the thread handle with the given configuration.\n\nThe [`thread::spawn`] free function uses a `Builder` with default\nconfiguration and [`unwrap`]s its return value.\n\nYou may want to use [`spawn`] instead of [`thread::spawn`], when you want\nto recover from a failure to launch a thread, indeed the free function will\npanic where the `Builder` method will return a [`io::Result`].\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet handler = builder.spawn(|| {\n // thread code\n}).unwrap();\n\nhandler.join().unwrap();\n```\n\n[`stack_size`]: Builder::stack_size\n[`name`]: Builder::name\n[`spawn`]: Builder::spawn\n[`thread::spawn`]: spawn\n[`io::Result`]: crate::io::Result\n[`unwrap`]: crate::result::Result::unwrap\n[naming-threads]: ./index.html#naming-threads\n[stack-size]: ./index.html#stack-size", + "id": 306, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 472, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 492 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "Builder::name": 466, + "Builder::spawn": 468, + "Builder::stack_size": 467, + "crate::io::Result": 469, + "crate::result::Result::unwrap": 471, + "spawn": 470 + }, + "name": "Builder", + "span": { + "begin": [ + 263, + 1 + ], + "end": [ + 270, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "3060": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"bufreader_buffer\"}}]" @@ -288035,7 +307187,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a reference to the internally buffered data.\n\nUnlike [`fill_buf`], this will not attempt to fill the buffer if it is empty.\n\n[`fill_buf`]: BufRead::fill_buf\n\n# Examples\n\n```no_run\nuse std::io::{BufReader, BufRead};\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f = File::open(\"log.txt\")?;\n let mut reader = BufReader::new(f);\n assert!(reader.buffer().is_empty());\n\n if reader.fill_buf()?.len() > 0 {\n assert!(!reader.buffer().is_empty());\n }\n Ok(())\n}\n```", - "id": 3058, + "id": 3060, "inner": { "function": { "generics": { @@ -288080,7 +307232,7 @@ } }, "links": { - "BufRead::fill_buf": 3057 + "BufRead::fill_buf": 3059 }, "name": "buffer", "span": { @@ -288096,7 +307248,7 @@ }, "visibility": "public" }, - "3059": { + "3061": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"buffered_io_capacity\"}}]" @@ -288105,7 +307257,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of bytes the internal buffer can hold at once.\n\n# Examples\n\n```no_run\nuse std::io::{BufReader, BufRead};\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let f = File::open(\"log.txt\")?;\n let mut reader = BufReader::new(f);\n\n let capacity = reader.capacity();\n let buffer = reader.fill_buf()?;\n assert!(buffer.len() <= capacity);\n Ok(())\n}\n```", - "id": 3059, + "id": 3061, "inner": { "function": { "generics": { @@ -288156,88 +307308,12 @@ }, "visibility": "public" }, - "306": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An owned permission to join on a scoped thread (block on its termination).\n\nSee [`Scope::spawn`] for details.", - "id": 306, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "impls": [ - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 368 - ], - "kind": { - "tuple": [ - null - ] - } - } - }, - "links": { - "`Scope::spawn`": 310 - }, - "name": "ScopedJoinHandle", - "span": { - "begin": [ - 35, - 1 - ], - "end": [ - 35, - 62 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "public" - }, - "3060": { + "3062": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3060, + "id": 3062, "inner": { "impl": { "blanket_impl": null, @@ -288255,7 +307331,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -288290,11 +307366,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3055, - 3056, + 3057, 3058, - 3059, - 3048 + 3060, + 3061, + 3050 ], "provided_trait_methods": [], "trait": null @@ -288315,7 +307391,7 @@ }, "visibility": "default" }, - "3061": { + "3063": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"bufreader_seek_relative\"}}]" @@ -288324,7 +307400,7 @@ "crate_id": 0, "deprecation": null, "docs": "Seeks relative to the current position. If the new position lies within the buffer,\nthe buffer will not be flushed, allowing for more efficient seeks.\nThis method does not return the location of the underlying reader, so the caller\nmust track this information themselves if it is required.", - "id": 3061, + "id": 3063, "inner": { "function": { "generics": { @@ -288374,7 +307450,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -288396,12 +307472,12 @@ }, "visibility": "public" }, - "3062": { + "3064": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3062, + "id": 3064, "inner": { "impl": { "blanket_impl": null, @@ -288419,7 +307495,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -288446,7 +307522,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -288465,7 +307541,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3061 + 3063 ], "provided_trait_methods": [], "trait": null @@ -288486,12 +307562,12 @@ }, "visibility": "default" }, - "3063": { + "3065": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3063, + "id": 3065, "inner": { "impl": { "blanket_impl": null, @@ -288509,7 +307585,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -288578,12 +307654,12 @@ "span": null, "visibility": "default" }, - "3064": { + "3066": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3064, + "id": 3066, "inner": { "impl": { "blanket_impl": null, @@ -288601,7 +307677,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -288670,12 +307746,12 @@ "span": null, "visibility": "default" }, - "3065": { + "3067": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3065, + "id": 3067, "inner": { "impl": { "blanket_impl": null, @@ -288693,7 +307769,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -288720,7 +307796,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -288752,7 +307828,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -288762,12 +307838,12 @@ "span": null, "visibility": "default" }, - "3066": { + "3068": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3066, + "id": 3068, "inner": { "impl": { "blanket_impl": null, @@ -288785,7 +307861,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -288854,12 +307930,12 @@ "span": null, "visibility": "default" }, - "3067": { + "3069": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3067, + "id": 3069, "inner": { "impl": { "blanket_impl": null, @@ -288877,7 +307953,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -288904,7 +307980,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -288934,101 +308010,329 @@ "is_unsafe": false, "items": [], "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "307": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Spawns a new scoped thread using the settings set through this `Builder`.\n\nUnlike [`Scope::spawn`], this method yields an [`io::Result`] to\ncapture any failure to create the thread at the OS level.\n\n[`io::Result`]: crate::io::Result\n\n# Panics\n\nPanics if a thread name was set and it contained null bytes.\n\n# Example\n\n```\nuse std::thread;\n\nlet mut a = vec![1, 2, 3];\nlet mut x = 0;\n\nthread::scope(|s| {\n thread::Builder::new()\n .name(\"first\".to_string())\n .spawn_scoped(s, ||\n {\n println!(\"hello from the {:?} scoped thread\", thread::current().name());\n // We can borrow `a` here.\n dbg!(&a);\n })\n .unwrap();\n thread::Builder::new()\n .name(\"second\".to_string())\n .spawn_scoped(s, ||\n {\n println!(\"hello from the {:?} scoped thread\", thread::current().name());\n // We can even mutably borrow `x` here,\n // because no other threads are using it.\n x += a[0] + a[2];\n })\n .unwrap();\n println!(\"hello from the main thread\");\n});\n\n// After the scope, we can modify and access our variables again:\na.push(4);\nassert_eq!(x, a.len());\n```", + "id": 307, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'env" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + { + "outlives": "'scope" + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + { + "outlives": "'scope" + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "scope", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'scope", + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + } + } + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 304, + "path": "ScopedJoinHandle" + } + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": { + "`Scope::spawn`": 308, + "crate::io::Result": 469 + }, + "name": "spawn_scoped", + "span": { + "begin": [ + 251, + 5 + ], + "end": [ + 261, + 6 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "public" + }, + "3070": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3070, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "R" + } + } + ], + "constraints": [] + } + }, + "id": 2407, + "path": "BufReader" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "R" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "R" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], "trait": { "args": null, "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3068": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3068, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "R" - } - } - ], - "constraints": [] - } - }, - "id": 2409, - "path": "BufReader" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "R" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "R" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, "path": "RefUnwindSafe" } } @@ -289038,12 +308342,12 @@ "span": null, "visibility": "default" }, - "3069": { + "3071": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3069, + "id": 3071, "inner": { "impl": { "blanket_impl": { @@ -289063,7 +308367,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -289108,7 +308412,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -289124,7 +308428,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -289133,95 +308437,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "307": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Waits for the associated thread to finish.\n\nThis function will return immediately if the associated thread has already finished.\n\nIn terms of [atomic memory orderings], the completion of the associated\nthread synchronizes with this function returning.\nIn other words, all operations performed by that thread\n[happen before](https://doc.rust-lang.org/nomicon/atomics.html#data-accesses)\nall operations that happen after `join` returns.\n\nIf the associated thread panics, [`Err`] is returned with the panic payload.\n\n[atomic memory orderings]: crate::sync::atomic\n\n# Examples\n\n```\nuse std::thread;\n\nthread::scope(|s| {\n let t = s.spawn(|| {\n panic!(\"oh no\");\n });\n assert!(t.join().is_err());\n});\n```", - "id": 307, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 351, - "path": "Result" - } - } - } - } - }, - "links": { - "`Err`": 59, - "crate::sync::atomic": 350 - }, - "name": "join", - "span": { - "begin": [ - 313, - 5 - ], - "end": [ - 315, - 6 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "public" - }, - "3070": { + "3072": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3070, + "id": 3072, "inner": { "impl": { "blanket_impl": { @@ -289241,7 +308473,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -289286,7 +308518,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -289302,7 +308534,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -289311,23 +308543,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3071": { + "3073": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3071, + "id": 3073, "inner": { "impl": { "blanket_impl": { @@ -289347,7 +308579,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -289413,7 +308645,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -289438,23 +308670,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3072": { + "3074": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3072, + "id": 3074, "inner": { "impl": { "blanket_impl": { @@ -289474,7 +308706,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -289497,7 +308729,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -289522,23 +308754,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3073": { + "3075": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3073, + "id": 3075, "inner": { "impl": { "blanket_impl": { @@ -289558,7 +308790,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -289606,7 +308838,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -289624,8 +308856,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -289641,7 +308873,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -289650,23 +308882,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3074": { + "3076": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3074, + "id": 3076, "inner": { "impl": { "blanket_impl": { @@ -289686,7 +308918,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -289752,8 +308984,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -289769,7 +309001,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -289778,23 +309010,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3075": { + "3077": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3075, + "id": 3077, "inner": { "impl": { "blanket_impl": { @@ -289814,7 +309046,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -289862,12 +309094,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -289887,12 +309119,97 @@ }, "visibility": "default" }, - "3076": { + "3078": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3076, + "id": 3078, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "read", + "span": { + "begin": [ + 338, + 5 + ], + "end": [ + 350, + 6 + ], + "filename": "std/src/io/buffered/bufreader.rs" + }, + "visibility": "default" + }, + "3079": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3079, "inner": { "function": { "generics": { @@ -289921,16 +309238,21 @@ } ], [ - "buf", + "cursor", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - } + }, + "id": 2468, + "path": "BorrowedCursor" } } ] @@ -289943,14 +309265,14 @@ "args": [ { "type": { - "primitive": "usize" + "tuple": [] } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -289958,31 +309280,123 @@ } }, "links": {}, - "name": "read", + "name": "read_buf", "span": { "begin": [ - 338, + 352, 5 ], "end": [ - 350, + 369, 6 ], "filename": "std/src/io/buffered/bufreader.rs" }, "visibility": "default" }, - "3077": { - "attrs": [], + "308": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 3077, + "docs": "Spawns a new thread within a scope, returning a [`ScopedJoinHandle`] for it.\n\nUnlike non-scoped threads, threads spawned with this function may\nborrow non-`'static` data from the outside the scope. See [`scope`] for\ndetails.\n\nThe join handle provides a [`join`] method that can be used to join the spawned\nthread. If the spawned thread panics, [`join`] will return an [`Err`] containing\nthe panic payload.\n\nIf the join handle is dropped, the spawned thread will be implicitly joined at the\nend of the scope. In that case, if the spawned thread panics, [`scope`] will\npanic after all threads are joined.\n\nThis function creates a thread with the default parameters of [`Builder`].\nTo specify the new thread's stack size or the name, use [`Builder::spawn_scoped`].\n\n# Panics\n\nPanics if the OS fails to create a thread; use [`Builder::spawn_scoped`]\nto recover from such errors.\n\n[`join`]: ScopedJoinHandle::join", + "id": 308, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + { + "outlives": "'scope" + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + { + "outlives": "'scope" + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "has_body": true, "header": { @@ -289997,8 +309411,8 @@ "self", { "borrowed_ref": { - "is_mutable": true, - "lifetime": null, + "is_mutable": false, + "lifetime": "'scope", "type": { "generic": "Self" } @@ -290006,22 +309420,9 @@ } ], [ - "cursor", + "f", { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2470, - "path": "BorrowedCursor" - } + "generic": "F" } ] ], @@ -290031,43 +309432,53 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'scope" + }, { "type": { - "tuple": [] + "generic": "T" } } ], "constraints": [] } }, - "id": 468, - "path": "io::Result" + "id": 304, + "path": "ScopedJoinHandle" } } } } }, - "links": {}, - "name": "read_buf", + "links": { + "ScopedJoinHandle::join": 305, + "`Builder::spawn_scoped`": 307, + "`Builder`": 306, + "`Err`": 59, + "`ScopedJoinHandle`": 304, + "`scope`": 302 + }, + "name": "spawn", "span": { "begin": [ - 352, + 194, 5 ], "end": [ - 369, + 200, 6 ], - "filename": "std/src/io/buffered/bufreader.rs" + "filename": "std/src/thread/scoped.rs" }, - "visibility": "default" + "visibility": "public" }, - "3078": { + "3080": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3078, + "id": 3080, "inner": { "function": { "generics": { @@ -290125,7 +309536,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -290147,12 +309558,12 @@ }, "visibility": "default" }, - "3079": { + "3081": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3079, + "id": 3081, "inner": { "function": { "generics": { @@ -290194,7 +309605,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -290215,7 +309626,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -290237,81 +309648,12 @@ }, "visibility": "default" }, - "308": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "must eventually spawn the thread" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Thread factory, which can be used in order to configure the properties of\na new thread.\n\nMethods can be chained on it in order to configure it.\n\nThe two configurations available are:\n\n- [`name`]: specifies an [associated name for the thread][naming-threads]\n- [`stack_size`]: specifies the [desired stack size for the thread][stack-size]\n\nThe [`spawn`] method will take ownership of the builder and create an\n[`io::Result`] to the thread handle with the given configuration.\n\nThe [`thread::spawn`] free function uses a `Builder` with default\nconfiguration and [`unwrap`]s its return value.\n\nYou may want to use [`spawn`] instead of [`thread::spawn`], when you want\nto recover from a failure to launch a thread, indeed the free function will\npanic where the `Builder` method will return a [`io::Result`].\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet handler = builder.spawn(|| {\n // thread code\n}).unwrap();\n\nhandler.join().unwrap();\n```\n\n[`stack_size`]: Builder::stack_size\n[`name`]: Builder::name\n[`spawn`]: Builder::spawn\n[`thread::spawn`]: spawn\n[`io::Result`]: crate::io::Result\n[`unwrap`]: crate::result::Result::unwrap\n[naming-threads]: ./index.html#naming-threads\n[stack-size]: ./index.html#stack-size", - "id": 308, - "inner": { - "struct": { - "generics": { - "params": [], - "where_predicates": [] - }, - "impls": [ - 471, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 491 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "Builder::name": 465, - "Builder::spawn": 467, - "Builder::stack_size": 466, - "crate::io::Result": 468, - "crate::result::Result::unwrap": 470, - "spawn": 469 - }, - "name": "Builder", - "span": { - "begin": [ - 260, - 1 - ], - "end": [ - 267, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "3080": { + "3082": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3080, + "id": 3082, "inner": { "function": { "generics": { @@ -290358,7 +309700,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -290382,7 +309724,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -290404,12 +309746,12 @@ }, "visibility": "default" }, - "3081": { + "3083": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3081, + "id": 3083, "inner": { "function": { "generics": { @@ -290460,12 +309802,12 @@ }, "visibility": "default" }, - "3082": { + "3084": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3082, + "id": 3084, "inner": { "function": { "generics": { @@ -290513,7 +309855,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -290536,7 +309878,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -290558,12 +309900,12 @@ }, "visibility": "default" }, - "3083": { + "3085": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3083, + "id": 3085, "inner": { "function": { "generics": { @@ -290600,7 +309942,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -290623,7 +309965,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -290645,7 +309987,7 @@ }, "visibility": "default" }, - "3084": { + "3086": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -290654,7 +309996,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3084, + "id": 3086, "inner": { "impl": { "blanket_impl": null, @@ -290672,7 +310014,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -290699,7 +310041,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -290718,14 +310060,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3076, - 3077, 3078, 3079, 3080, 3081, 3082, - 3083 + 3083, + 3084, + 3085 ], "provided_trait_methods": [ "read_vectored", @@ -290742,7 +310084,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -290762,12 +310104,12 @@ }, "visibility": "default" }, - "3085": { + "3087": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3085, + "id": 3087, "inner": { "function": { "generics": { @@ -290819,7 +310161,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -290841,12 +310183,12 @@ }, "visibility": "default" }, - "3086": { + "3088": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3086, + "id": 3088, "inner": { "function": { "generics": { @@ -290901,7 +310243,7 @@ }, "visibility": "default" }, - "3087": { + "3089": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -290910,7 +310252,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3087, + "id": 3089, "inner": { "impl": { "blanket_impl": null, @@ -290928,7 +310270,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -290955,7 +310297,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -290974,8 +310316,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3085, - 3086 + 3087, + 3088 ], "provided_trait_methods": [ "has_data_left", @@ -290987,7 +310329,7 @@ ], "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -291007,12 +310349,86 @@ }, "visibility": "default" }, - "3088": { + "309": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3088, + "id": 309, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'env" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 308 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 169, + 1 + ], + "end": [ + 201, + 2 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "default" + }, + "3090": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3090, "inner": { "function": { "generics": { @@ -291058,7 +310474,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -291070,7 +310486,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -291092,7 +310508,7 @@ }, "visibility": "default" }, - "3089": { + "3091": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -291101,7 +310517,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3089, + "id": 3091, "inner": { "impl": { "blanket_impl": null, @@ -291119,7 +310535,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -291157,7 +310573,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -291175,12 +310591,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3088 + 3090 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -291200,240 +310616,12 @@ }, "visibility": "default" }, - "309": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Spawns a new scoped thread using the settings set through this `Builder`.\n\nUnlike [`Scope::spawn`], this method yields an [`io::Result`] to\ncapture any failure to create the thread at the OS level.\n\n[`io::Result`]: crate::io::Result\n\n# Panics\n\nPanics if a thread name was set and it contained null bytes.\n\n# Example\n\n```\nuse std::thread;\n\nlet mut a = vec![1, 2, 3];\nlet mut x = 0;\n\nthread::scope(|s| {\n thread::Builder::new()\n .name(\"first\".to_string())\n .spawn_scoped(s, ||\n {\n println!(\"hello from the {:?} scoped thread\", thread::current().name());\n // We can borrow `a` here.\n dbg!(&a);\n })\n .unwrap();\n thread::Builder::new()\n .name(\"second\".to_string())\n .spawn_scoped(s, ||\n {\n println!(\"hello from the {:?} scoped thread\", thread::current().name());\n // We can even mutably borrow `x` here,\n // because no other threads are using it.\n x += a[0] + a[2];\n })\n .unwrap();\n println!(\"hello from the main thread\");\n});\n\n// After the scope, we can modify and access our variables again:\na.push(4);\nassert_eq!(x, a.len());\n```", - "id": 309, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'env" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "T" - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - { - "outlives": "'scope" - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - { - "outlives": "'scope" - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "scope", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'scope", - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - } - } - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 306, - "path": "ScopedJoinHandle" - } - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": { - "`Scope::spawn`": 310, - "crate::io::Result": 468 - }, - "name": "spawn_scoped", - "span": { - "begin": [ - 252, - 5 - ], - "end": [ - 262, - 6 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "public" - }, - "3090": { + "3092": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Seek to an offset, in bytes, in the underlying reader.\n\nThe position used for seeking with [SeekFrom::Current]\\(_) is the\nposition the underlying reader would be at if the `BufReader` had no\ninternal buffer.\n\nSeeking always discards the internal buffer, even if the seek position\nwould otherwise fall within it. This guarantees that calling\n[`BufReader::into_inner()`] immediately after a seek yields the underlying reader\nat the same position.\n\nTo seek without discarding the internal buffer, use [`BufReader::seek_relative`].\n\nSee [`std::io::Seek`] for more details.\n\nNote: In the edge case where you're seeking with [SeekFrom::Current]\\(n)\nwhere `n` minus the internal buffer length overflows an `i64`, two\nseeks will be performed instead of one. If the second seek returns\n[`Err`], the underlying reader will be left at the same position it would\nhave if you called `seek` with [SeekFrom::Current]\\(0).\n\n[`std::io::Seek`]: Seek", - "id": 3090, + "id": 3092, "inner": { "function": { "generics": { @@ -291466,7 +310654,7 @@ { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -291487,7 +310675,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -291495,10 +310683,10 @@ } }, "links": { - "Seek": 2407, + "Seek": 2405, "SeekFrom::Current": 2770, - "`BufReader::into_inner()`": 3048, - "`BufReader::seek_relative`": 3061, + "`BufReader::into_inner()`": 3050, + "`BufReader::seek_relative`": 3063, "`Err`": 59 }, "name": "seek", @@ -291515,12 +310703,12 @@ }, "visibility": "default" }, - "3091": { + "3093": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns the current seek position from the start of the stream.\n\nThe value returned is equivalent to `self.seek(SeekFrom::Current(0))`\nbut does not flush the internal buffer. Due to this optimization the\nfunction does not guarantee that calling `.into_inner()` immediately\nafterwards will yield the underlying reader at the same position. Use\n[`BufReader::seek`] instead if you require that guarantee.\n\n# Panics\n\nThis function will panic if the position of the inner reader is smaller\nthan the amount of buffered data. That can happen if the inner reader\nhas an incorrect implementation of [`Seek::stream_position`], or if the\nposition has gone out of sync due to calling [`Seek::seek`] directly on\nthe underlying reader.\n\n# Example\n\n```no_run\nuse std::{\n io::{self, BufRead, BufReader, Seek},\n fs::File,\n};\n\nfn main() -> io::Result<()> {\n let mut f = BufReader::new(File::open(\"foo.txt\")?);\n\n let before = f.stream_position()?;\n f.read_line(&mut String::new())?;\n let after = f.stream_position()?;\n\n println!(\"The first line was {} bytes long\", after - before);\n Ok(())\n}\n```", - "id": 3091, + "id": 3093, "inner": { "function": { "generics": { @@ -291564,7 +310752,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -291572,8 +310760,8 @@ } }, "links": { - "`BufReader::seek`": 3090, - "`Seek::seek`": 2487, + "`BufReader::seek`": 3092, + "`Seek::seek`": 2485, "`Seek::stream_position`": 2768 }, "name": "stream_position", @@ -291590,12 +310778,12 @@ }, "visibility": "default" }, - "3092": { + "3094": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Seeks relative to the current position.\n\nIf the new position lies within the buffer, the buffer will not be\nflushed, allowing for more efficient seeks. This method does not return\nthe location of the underlying reader, so the caller must track this\ninformation themselves if it is required.", - "id": 3092, + "id": 3094, "inner": { "function": { "generics": { @@ -291645,7 +310833,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -291667,7 +310855,7 @@ }, "visibility": "default" }, - "3093": { + "3095": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -291676,7 +310864,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3093, + "id": 3095, "inner": { "impl": { "blanket_impl": null, @@ -291694,7 +310882,7 @@ "constraints": [] } }, - "id": 2409, + "id": 2407, "path": "BufReader" } }, @@ -291721,7 +310909,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -291740,9 +310928,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3090, - 3091, - 3092 + 3092, + 3093, + 3094 ], "provided_trait_methods": [ "rewind", @@ -291752,7 +310940,7 @@ ], "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -291772,97 +310960,78 @@ }, "visibility": "default" }, - "3098": { + "310": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3098, + "id": 310, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" } - } + ], + "constraints": [] } - ], - [ - "buf", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } + }, + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] + }, + "name": "'scope" + }, + { + "kind": { + "lifetime": { + "outlives": [] } }, - "id": 468, - "path": "io::Result" + "name": "'env" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, "links": {}, - "name": "write", - "span": { - "begin": [ - 650, - 5 - ], - "end": [ - 652, - 6 - ], - "filename": "std/src/net/tcp.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "3099": { + "3100": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3099, + "id": 3100, "inner": { "function": { "generics": { @@ -291889,6 +311058,20 @@ } } } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } ] ], "is_c_variadic": false, @@ -291899,14 +311082,14 @@ "args": [ { "type": { - "tuple": [] + "primitive": "usize" } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -291914,123 +311097,31 @@ } }, "links": {}, - "name": "flush", + "name": "write", "span": { "begin": [ - 651, + 650, 5 ], "end": [ - 653, + 652, 6 ], - "filename": "std/src/io/buffered/bufwriter.rs" + "filename": "std/src/net/tcp.rs" }, "visibility": "default" }, - "310": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], + "3101": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Spawns a new thread within a scope, returning a [`ScopedJoinHandle`] for it.\n\nUnlike non-scoped threads, threads spawned with this function may\nborrow non-`'static` data from the outside the scope. See [`scope`] for\ndetails.\n\nThe join handle provides a [`join`] method that can be used to join the spawned\nthread. If the spawned thread panics, [`join`] will return an [`Err`] containing\nthe panic payload.\n\nIf the join handle is dropped, the spawned thread will be implicitly joined at the\nend of the scope. In that case, if the spawned thread panics, [`scope`] will\npanic after all threads are joined.\n\nThis call will create a thread using default parameters of [`Builder`].\nIf you want to specify the stack size or the name of the thread, use\n[`Builder::spawn_scoped`] instead.\n\n# Panics\n\nPanics if the OS fails to create a thread; use [`Builder::spawn_scoped`]\nto recover from such errors.\n\n[`join`]: ScopedJoinHandle::join", - "id": 310, + "docs": null, + "id": 3101, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "T" - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - { - "outlives": "'scope" - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - { - "outlives": "'scope" - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -292045,19 +311136,13 @@ "self", { "borrowed_ref": { - "is_mutable": false, - "lifetime": "'scope", + "is_mutable": true, + "lifetime": null, "type": { "generic": "Self" } } } - ], - [ - "f", - { - "generic": "F" - } ] ], "is_c_variadic": false, @@ -292066,48 +311151,38 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'scope" - }, { "type": { - "generic": "T" + "tuple": [] } } ], "constraints": [] } }, - "id": 306, - "path": "ScopedJoinHandle" + "id": 469, + "path": "io::Result" } } } } }, - "links": { - "ScopedJoinHandle::join": 307, - "`Builder::spawn_scoped`": 309, - "`Builder`": 308, - "`Err`": 59, - "`ScopedJoinHandle`": 306, - "`scope`": 304 - }, - "name": "spawn", + "links": {}, + "name": "flush", "span": { "begin": [ - 195, + 643, 5 ], "end": [ - 201, + 645, 6 ], - "filename": "std/src/thread/scoped.rs" + "filename": "std/src/io/buffered/bufwriter.rs" }, - "visibility": "public" + "visibility": "default" }, - "3100": { + "3102": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -292116,7 +311191,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `BufWriter` with a default buffer capacity. The default is currently 8 KiB,\nbut may change in the future.\n\n# Examples\n\n```no_run\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet mut buffer = BufWriter::new(TcpStream::connect(\"127.0.0.1:34254\").unwrap());\n```", - "id": 3100, + "id": 3102, "inner": { "function": { "generics": { @@ -292154,7 +311229,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } } @@ -292176,7 +311251,7 @@ }, "visibility": "public" }, - "3101": { + "3103": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -292185,7 +311260,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `BufWriter` with at least the specified buffer capacity.\n\n# Examples\n\nCreating a buffer with a buffer of at least a hundred bytes.\n\n```no_run\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:34254\").unwrap();\nlet mut buffer = BufWriter::with_capacity(100, stream);\n```", - "id": 3101, + "id": 3103, "inner": { "function": { "generics": { @@ -292229,7 +311304,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } } @@ -292251,7 +311326,7 @@ }, "visibility": "public" }, - "3102": { + "3104": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -292260,7 +311335,7 @@ "crate_id": 0, "deprecation": null, "docs": "Unwraps this `BufWriter`, returning the underlying writer.\n\nThe buffer is written out before returning the writer.\n\n# Errors\n\nAn [`Err`] will be returned if an error occurs while flushing the buffer.\n\n# Examples\n\n```no_run\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet mut buffer = BufWriter::new(TcpStream::connect(\"127.0.0.1:34254\").unwrap());\n\n// unwrap the TcpStream and flush the buffer\nlet stream = buffer.into_inner().unwrap();\n```", - "id": 3102, + "id": 3104, "inner": { "function": { "generics": { @@ -292315,7 +311390,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } } @@ -292324,7 +311399,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } } @@ -292357,7 +311432,7 @@ }, "visibility": "public" }, - "3103": { + "3105": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -292366,7 +311441,7 @@ "crate_id": 0, "deprecation": null, "docs": "An error returned by [`BufWriter::into_inner`] which combines an error that\nhappened while writing out the buffer, and the buffered writer object\nwhich may be used to recover from the condition.\n\n# Examples\n\n```no_run\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet mut stream = BufWriter::new(TcpStream::connect(\"127.0.0.1:34254\").unwrap());\n\n// do stuff with the stream\n\n// we want to get our `TcpStream` back, so let's try:\n\nlet stream = match stream.into_inner() {\n Ok(s) => s,\n Err(e) => {\n // Here, e is an IntoInnerError\n panic!(\"An error occurred\");\n }\n};\n```", - "id": 3103, + "id": 3105, "inner": { "struct": { "generics": { @@ -292385,7 +311460,6 @@ "where_predicates": [] }, "impls": [ - 3205, 3206, 3207, 3208, @@ -292400,8 +311474,9 @@ 3217, 3218, 3219, - 3221, - 3223, + 3220, + 3222, + 3224, 3225, 3227 ], @@ -292414,7 +311489,7 @@ } }, "links": { - "`BufWriter::into_inner`": 3102 + "`BufWriter::into_inner`": 3104 }, "name": "IntoInnerError", "span": { @@ -292430,7 +311505,7 @@ }, "visibility": "public" }, - "3104": { + "3106": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"bufwriter_into_parts\"}}]" @@ -292439,7 +311514,7 @@ "crate_id": 0, "deprecation": null, "docs": "Disassembles this `BufWriter`, returning the underlying writer, and any buffered but\nunwritten data.\n\nIf the underlying writer panicked, it is not known what portion of the data was written.\nIn this case, we return `WriterPanicked` for the buffered data (from which the buffer\ncontents can still be recovered).\n\n`into_parts` makes no attempt to flush data and cannot fail.\n\n# Examples\n\n```\nuse std::io::{BufWriter, Write};\n\nlet mut buffer = [0u8; 10];\nlet mut stream = BufWriter::new(buffer.as_mut());\nwrite!(stream, \"too much data\").unwrap();\nstream.flush().expect_err(\"it doesn't fit\");\nlet (recovered_writer, buffered_data) = stream.into_parts();\nassert_eq!(recovered_writer.len(), 0);\nassert_eq!(&buffered_data.unwrap(), b\"ata\");\n```", - "id": 3104, + "id": 3106, "inner": { "function": { "generics": { @@ -292488,7 +311563,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -292497,7 +311572,7 @@ "type": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } } @@ -292530,7 +311605,7 @@ }, "visibility": "public" }, - "3105": { + "3107": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"bufwriter_into_parts\"}}]" @@ -292539,7 +311614,7 @@ "crate_id": 0, "deprecation": null, "docs": "Error returned for the buffered data from `BufWriter::into_parts`, when the underlying\nwriter has previously panicked. Contains the (possibly partly written) buffered data.\n\n# Example\n\n```\nuse std::io::{self, BufWriter, Write};\nuse std::panic::{catch_unwind, AssertUnwindSafe};\n\nstruct PanickingWriter;\nimpl Write for PanickingWriter {\n fn write(&mut self, buf: &[u8]) -> io::Result { panic!() }\n fn flush(&mut self) -> io::Result<()> { panic!() }\n}\n\nlet mut stream = BufWriter::new(PanickingWriter);\nwrite!(stream, \"some data\").unwrap();\nlet result = catch_unwind(AssertUnwindSafe(|| {\n stream.flush().unwrap()\n}));\nassert!(result.is_err());\nlet (recovered_writer, buffered_data) = stream.into_parts();\nassert!(matches!(recovered_writer, PanickingWriter));\nassert_eq!(buffered_data.unwrap_err().into_inner(), b\"some data\");\n```", - "id": 3105, + "id": 3107, "inner": { "struct": { "generics": { @@ -292547,8 +311622,6 @@ "where_predicates": [] }, "impls": [ - 3138, - 3139, 3140, 3141, 3142, @@ -292562,9 +311635,11 @@ 3150, 3151, 3152, + 3153, 3154, - 3156, - 3158 + 3155, + 3157, + 3159 ], "kind": { "plain": { @@ -292589,12 +311664,12 @@ }, "visibility": "public" }, - "3106": { + "3108": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3106, + "id": 3108, "inner": { "impl": { "blanket_impl": null, @@ -292612,7 +311687,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -292628,7 +311703,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -292647,10 +311722,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3100, - 3101, 3102, - 3104 + 3103, + 3104, + 3106 ], "provided_trait_methods": [], "trait": null @@ -292671,7 +311746,7 @@ }, "visibility": "default" }, - "3107": { + "3109": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -292680,7 +311755,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets a reference to the underlying writer.\n\n# Examples\n\n```no_run\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet mut buffer = BufWriter::new(TcpStream::connect(\"127.0.0.1:34254\").unwrap());\n\n// we can use reference just like buffer\nlet reference = buffer.get_ref();\n```", - "id": 3107, + "id": 3109, "inner": { "function": { "generics": { @@ -292737,7 +311812,73 @@ }, "visibility": "public" }, - "3108": { + "311": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 311, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'env" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "3110": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -292746,7 +311887,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets a mutable reference to the underlying writer.\n\nIt is inadvisable to directly write to the underlying writer.\n\n# Examples\n\n```no_run\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet mut buffer = BufWriter::new(TcpStream::connect(\"127.0.0.1:34254\").unwrap());\n\n// we can use reference just like buffer\nlet reference = buffer.get_mut();\n```", - "id": 3108, + "id": 3110, "inner": { "function": { "generics": { @@ -292803,7 +311944,7 @@ }, "visibility": "public" }, - "3109": { + "3111": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 37, patch: 0})}, feature: \"bufreader_buffer\"}}]" @@ -292812,7 +311953,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a reference to the internally buffered data.\n\n# Examples\n\n```no_run\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet buf_writer = BufWriter::new(TcpStream::connect(\"127.0.0.1:34254\").unwrap());\n\n// See how many bytes are currently buffered\nlet bytes_buffered = buf_writer.buffer().len();\n```", - "id": 3109, + "id": 3111, "inner": { "function": { "generics": { @@ -292871,81 +312012,7 @@ }, "visibility": "public" }, - "311": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 311, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'env" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 310 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 169, - 1 - ], - "end": [ - 202, - 2 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "default" - }, - "3110": { + "3112": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"buffered_io_capacity\"}}]" @@ -292954,7 +312021,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of bytes the internal buffer can hold without flushing.\n\n# Examples\n\n```no_run\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet buf_writer = BufWriter::new(TcpStream::connect(\"127.0.0.1:34254\").unwrap());\n\n// Check the capacity of the inner buffer\nlet capacity = buf_writer.capacity();\n// Calculate how many bytes can be written without flushing\nlet without_flush = capacity - buf_writer.buffer().len();\n```", - "id": 3110, + "id": 3112, "inner": { "function": { "generics": { @@ -293005,12 +312072,12 @@ }, "visibility": "public" }, - "3111": { + "3113": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3111, + "id": 3113, "inner": { "impl": { "blanket_impl": null, @@ -293028,7 +312095,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -293055,7 +312122,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -293074,10 +312141,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3107, - 3108, 3109, - 3110 + 3110, + 3111, + 3112 ], "provided_trait_methods": [], "trait": null @@ -293098,12 +312165,12 @@ }, "visibility": "default" }, - "3112": { + "3114": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3112, + "id": 3114, "inner": { "impl": { "blanket_impl": null, @@ -293121,7 +312188,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -293190,12 +312257,12 @@ "span": null, "visibility": "default" }, - "3113": { + "3115": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3113, + "id": 3115, "inner": { "impl": { "blanket_impl": null, @@ -293213,7 +312280,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -293282,12 +312349,12 @@ "span": null, "visibility": "default" }, - "3114": { + "3116": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3114, + "id": 3116, "inner": { "impl": { "blanket_impl": null, @@ -293305,7 +312372,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -293332,7 +312399,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -293364,7 +312431,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -293374,12 +312441,12 @@ "span": null, "visibility": "default" }, - "3115": { + "3117": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3115, + "id": 3117, "inner": { "impl": { "blanket_impl": null, @@ -293397,7 +312464,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -293466,12 +312533,12 @@ "span": null, "visibility": "default" }, - "3116": { + "3118": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3116, + "id": 3118, "inner": { "impl": { "blanket_impl": null, @@ -293489,7 +312556,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -293516,7 +312583,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -293548,7 +312615,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -293558,12 +312625,12 @@ "span": null, "visibility": "default" }, - "3117": { + "3119": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3117, + "id": 3119, "inner": { "impl": { "blanket_impl": null, @@ -293581,7 +312648,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -293608,7 +312675,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -293640,7 +312707,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -293650,12 +312717,78 @@ "span": null, "visibility": "default" }, - "3118": { + "312": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3118, + "id": 312, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'env" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "3120": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3120, "inner": { "impl": { "blanket_impl": { @@ -293675,7 +312808,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -293720,7 +312853,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -293736,7 +312869,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -293745,23 +312878,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3119": { + "3121": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3119, + "id": 3121, "inner": { "impl": { "blanket_impl": { @@ -293781,7 +312914,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -293826,7 +312959,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -293842,7 +312975,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -293851,89 +312984,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "312": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 312, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'env" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3120": { + "3122": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3120, + "id": 3122, "inner": { "impl": { "blanket_impl": { @@ -293953,7 +313020,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -294019,7 +313086,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -294044,23 +313111,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3121": { + "3123": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3121, + "id": 3123, "inner": { "impl": { "blanket_impl": { @@ -294080,7 +313147,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -294103,7 +313170,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -294128,23 +313195,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3122": { + "3124": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3122, + "id": 3124, "inner": { "impl": { "blanket_impl": { @@ -294164,7 +313231,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -294212,7 +313279,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -294230,8 +313297,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -294247,7 +313314,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -294256,23 +313323,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3123": { + "3125": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3123, + "id": 3125, "inner": { "impl": { "blanket_impl": { @@ -294292,7 +313359,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -294358,8 +313425,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -294375,7 +313442,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -294384,23 +313451,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3124": { + "3126": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3124, + "id": 3126, "inner": { "impl": { "blanket_impl": { @@ -294420,7 +313487,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -294468,12 +313535,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -294493,7 +313560,7 @@ }, "visibility": "default" }, - "3125": { + "3127": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -294502,7 +313569,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3125, + "id": 3127, "inner": { "function": { "generics": { @@ -294560,7 +313627,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -294571,18 +313638,18 @@ "name": "write", "span": { "begin": [ - 527, + 519, 5 ], "end": [ - 540, + 532, 6 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3126": { + "3128": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -294591,7 +313658,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3126, + "id": 3128, "inner": { "function": { "generics": { @@ -294649,7 +313716,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -294660,23 +313727,23 @@ "name": "write_all", "span": { "begin": [ - 543, + 535, 5 ], "end": [ - 556, + 548, 6 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3127": { + "3129": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3127, + "id": 3129, "inner": { "function": { "generics": { @@ -294723,7 +313790,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -294747,7 +313814,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -294758,23 +313825,23 @@ "name": "write_vectored", "span": { "begin": [ - 558, + 550, 5 ], "end": [ - 645, + 637, 6 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3128": { + "3130": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3128, + "id": 3130, "inner": { "function": { "generics": { @@ -294814,18 +313881,18 @@ "name": "is_write_vectored", "span": { "begin": [ - 647, + 639, 5 ], "end": [ - 649, + 641, 6 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3129": { + "3131": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -294834,7 +313901,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3129, + "id": 3131, "inner": { "impl": { "blanket_impl": null, @@ -294852,7 +313919,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -294879,7 +313946,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -294898,11 +313965,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3125, - 3126, 3127, 3128, - 3099 + 3129, + 3130, + 3101 ], "provided_trait_methods": [ "write_vectored", @@ -294914,7 +313981,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -294923,89 +313990,23 @@ "name": null, "span": { "begin": [ - 525, + 517, 1 ], "end": [ - 654, + 646, 2 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "313": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 313, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'env" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3130": { + "3132": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3130, + "id": 3132, "inner": { "function": { "generics": { @@ -295051,7 +314052,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -295063,7 +314064,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -295074,18 +314075,18 @@ "name": "fmt", "span": { "begin": [ - 661, + 653, 5 ], "end": [ - 666, + 658, 6 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3131": { + "3133": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -295094,7 +314095,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3131, + "id": 3133, "inner": { "impl": { "blanket_impl": null, @@ -295112,7 +314113,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -295139,7 +314140,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -295161,7 +314162,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -295179,12 +314180,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3130 + 3132 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -295193,23 +314194,23 @@ "name": null, "span": { "begin": [ - 657, + 649, 1 ], "end": [ - 667, + 659, 2 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3132": { + "3134": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Seek to the offset, in bytes, in the underlying writer.\n\nSeeking always writes out the internal buffer before seeking.", - "id": 3132, + "id": 3134, "inner": { "function": { "generics": { @@ -295242,7 +314243,7 @@ { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -295263,7 +314264,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -295274,18 +314275,18 @@ "name": "seek", "span": { "begin": [ - 674, + 666, 5 ], "end": [ - 677, + 669, 6 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3133": { + "3135": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -295294,7 +314295,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3133, + "id": 3135, "inner": { "impl": { "blanket_impl": null, @@ -295312,7 +314313,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -295339,7 +314340,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -295350,7 +314351,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -295369,7 +314370,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3132 + 3134 ], "provided_trait_methods": [ "rewind", @@ -295379,7 +314380,7 @@ ], "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -295388,23 +314389,23 @@ "name": null, "span": { "begin": [ - 670, + 662, 1 ], "end": [ - 678, + 670, 2 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3134": { + "3136": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3134, + "id": 3136, "inner": { "function": { "generics": { @@ -295442,18 +314443,18 @@ "name": "drop", "span": { "begin": [ - 682, + 674, 5 ], "end": [ - 687, + 679, 6 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3135": { + "3137": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -295462,7 +314463,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3135, + "id": 3137, "inner": { "impl": { "blanket_impl": null, @@ -295480,7 +314481,7 @@ "constraints": [] } }, - "id": 2410, + "id": 2408, "path": "BufWriter" } }, @@ -295507,7 +314508,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -295526,7 +314527,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3134 + 3136 ], "provided_trait_methods": [], "trait": { @@ -295540,18 +314541,18 @@ "name": null, "span": { "begin": [ - 681, + 673, 1 ], "end": [ - 688, + 680, 2 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3137": { + "3139": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"bufwriter_into_parts\"}}]" @@ -295565,7 +314566,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the perhaps-unwritten data. Some of this data may have been written by the\npanicking call(s) to the underlying writer, so simply writing it again is not a good idea.", - "id": 3137, + "id": 3139, "inner": { "function": { "generics": { @@ -295603,7 +314604,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -295625,64 +314626,85 @@ }, "visibility": "public" }, - "3138": { + "314": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3138, + "id": 314, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 3105, - "path": "WriterPanicked" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'env" + } + ], "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 3137 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 487, - 1 - ], - "end": [ - 498, - 2 - ], - "filename": "std/src/io/buffered/bufwriter.rs" - }, + "span": null, "visibility": "default" }, - "3139": { + "3140": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3139, + "id": 3140, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -295691,69 +314713,48 @@ "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 3139 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 487, + 1 + ], + "end": [ + 495, + 2 + ], + "filename": "std/src/io/buffered/bufwriter.rs" + }, "visibility": "default" }, - "314": { + "3141": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 314, + "id": 3141, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" + "args": null, + "id": 3107, + "path": "WriterPanicked" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'env" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, @@ -295763,8 +314764,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 1, + "path": "Send" } } }, @@ -295773,19 +314774,19 @@ "span": null, "visibility": "default" }, - "3140": { + "3142": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3140, + "id": 3142, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -295810,19 +314811,19 @@ "span": null, "visibility": "default" }, - "3141": { + "3143": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3141, + "id": 3143, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -295837,7 +314838,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -295847,19 +314848,19 @@ "span": null, "visibility": "default" }, - "3142": { + "3144": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3142, + "id": 3144, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -295884,19 +314885,19 @@ "span": null, "visibility": "default" }, - "3143": { + "3145": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3143, + "id": 3145, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -295911,7 +314912,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -295921,19 +314922,19 @@ "span": null, "visibility": "default" }, - "3144": { + "3146": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3144, + "id": 3146, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -295948,7 +314949,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -295958,12 +314959,12 @@ "span": null, "visibility": "default" }, - "3145": { + "3147": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3145, + "id": 3147, "inner": { "impl": { "blanket_impl": { @@ -295972,7 +314973,7 @@ "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -296017,7 +315018,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -296033,7 +315034,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -296042,23 +315043,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3146": { + "3148": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3146, + "id": 3148, "inner": { "impl": { "blanket_impl": { @@ -296067,7 +315068,7 @@ "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -296112,7 +315113,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -296128,7 +315129,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -296137,23 +315138,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3147": { + "3149": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3147, + "id": 3149, "inner": { "impl": { "blanket_impl": { @@ -296162,7 +315163,7 @@ "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -296228,7 +315229,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -296253,23 +315254,89 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3148": { + "315": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3148, + "id": 315, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'env" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "3150": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3150, "inner": { "impl": { "blanket_impl": { @@ -296278,7 +315345,7 @@ "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -296301,7 +315368,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -296326,23 +315393,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3149": { + "3151": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3149, + "id": 3151, "inner": { "impl": { "blanket_impl": { @@ -296351,7 +315418,7 @@ "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -296399,7 +315466,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -296417,8 +315484,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -296434,7 +315501,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -296443,23 +315510,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3150": { + "3152": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3150, + "id": 3152, "inner": { "impl": { "blanket_impl": { @@ -296468,7 +315535,7 @@ "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -296534,8 +315601,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -296551,7 +315618,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -296560,23 +315627,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3151": { + "3153": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3151, + "id": 3153, "inner": { "impl": { "blanket_impl": { @@ -296585,7 +315652,7 @@ "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -296633,12 +315700,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -296658,12 +315725,12 @@ }, "visibility": "default" }, - "3152": { + "3154": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3152, + "id": 3154, "inner": { "impl": { "blanket_impl": { @@ -296672,7 +315739,7 @@ "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -296733,7 +315800,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -296742,84 +315809,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "3153": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3153, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "description", - "span": { - "begin": [ - 503, - 5 - ], - "end": [ - 505, - 6 - ], - "filename": "std/src/io/buffered/bufwriter.rs" - }, - "visibility": "default" - }, - "3154": { + "3155": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"bufwriter_into_parts\"}}]" @@ -296828,14 +315829,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3154, + "id": 3155, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -296846,9 +315847,7 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 3153 - ], + "items": [], "provided_trait_methods": [ "source", "type_id", @@ -296867,23 +315866,23 @@ "name": null, "span": { "begin": [ - 501, + 498, 1 ], "end": [ - 506, - 2 + 498, + 40 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3155": { + "3156": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3155, + "id": 3156, "inner": { "function": { "generics": { @@ -296929,7 +315928,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -296941,7 +315940,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -296952,18 +315951,18 @@ "name": "fmt", "span": { "begin": [ - 510, + 502, 5 ], "end": [ - 512, + 504, 6 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3156": { + "3157": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"bufwriter_into_parts\"}}]" @@ -296972,14 +315971,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3156, + "id": 3157, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -296991,7 +315990,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3155 + 3156 ], "provided_trait_methods": [], "trait": { @@ -297005,23 +316004,23 @@ "name": null, "span": { "begin": [ - 509, + 501, 1 ], "end": [ - 513, + 505, 2 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3157": { + "3158": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3157, + "id": 3158, "inner": { "function": { "generics": { @@ -297067,7 +316066,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -297079,7 +316078,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -297090,18 +316089,18 @@ "name": "fmt", "span": { "begin": [ - 517, + 509, 5 ], "end": [ - 521, + 513, 6 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "3158": { + "3159": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"bufwriter_into_parts\"}}]" @@ -297110,14 +316109,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3158, + "id": 3159, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3105, + "id": 3107, "path": "WriterPanicked" } }, @@ -297129,12 +316128,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3157 + 3158 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -297143,84 +316142,18 @@ "name": null, "span": { "begin": [ - 516, + 508, 1 ], "end": [ - 522, + 514, 2 ], "filename": "std/src/io/buffered/bufwriter.rs" }, "visibility": "default" }, - "316": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 316, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'env" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3161": { + "3162": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -297229,7 +316162,7 @@ "crate_id": 0, "deprecation": null, "docs": "Wraps a writer and buffers output to it, flushing whenever a newline\n(`0x0a`, `'\\n'`) is detected.\n\nThe [`BufWriter`] struct wraps a writer and buffers its output.\nBut it only does this batched write when it goes out of scope, or when the\ninternal buffer is full. Sometimes, you'd prefer to write each line as it's\ncompleted, rather than the entire buffer at once. Enter `LineWriter`. It\ndoes exactly that.\n\nLike [`BufWriter`], a `LineWriter`’s buffer will also be flushed when the\n`LineWriter` goes out of scope or when its internal buffer is full.\n\nIf there's still a partial line in the buffer when the `LineWriter` is\ndropped, it will flush those contents.\n\n# Examples\n\nWe can use `LineWriter` to write one line at a time, significantly\nreducing the number of actual writes to the file.\n\n```no_run\nuse std::fs::{self, File};\nuse std::io::prelude::*;\nuse std::io::LineWriter;\n\nfn main() -> std::io::Result<()> {\n let road_not_taken = b\"I shall be telling this with a sigh\nSomewhere ages and ages hence:\nTwo roads diverged in a wood, and I -\nI took the one less traveled by,\nAnd that has made all the difference.\";\n\n let file = File::create(\"poem.txt\")?;\n let mut file = LineWriter::new(file);\n\n file.write_all(b\"I shall be telling this with a sigh\")?;\n\n // No bytes are written until a newline is encountered (or\n // the internal buffer is filled).\n assert_eq!(fs::read_to_string(\"poem.txt\")?, \"\");\n file.write_all(b\"\\n\")?;\n assert_eq!(\n fs::read_to_string(\"poem.txt\")?,\n \"I shall be telling this with a sigh\\n\",\n );\n\n // Write the rest of the poem.\n file.write_all(b\"Somewhere ages and ages hence:\nTwo roads diverged in a wood, and I -\nI took the one less traveled by,\nAnd that has made all the difference.\")?;\n\n // The last line of the poem doesn't end in a newline, so\n // we have to flush or drop the `LineWriter` to finish\n // writing.\n file.flush()?;\n\n // Confirm the whole poem was written.\n assert_eq!(fs::read(\"poem.txt\")?, &road_not_taken[..]);\n Ok(())\n}\n```", - "id": 3161, + "id": 3162, "inner": { "struct": { "generics": { @@ -297255,7 +316188,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -297271,8 +316204,7 @@ "where_predicates": [] }, "impls": [ - 3166, - 3168, + 3167, 3169, 3170, 3171, @@ -297286,8 +316218,9 @@ 3179, 3180, 3181, - 3190, - 3192 + 3182, + 3191, + 3193 ], "kind": { "plain": { @@ -297298,7 +316231,7 @@ } }, "links": { - "`BufWriter`": 2410 + "`BufWriter`": 2408 }, "name": "LineWriter", "span": { @@ -297314,7 +316247,7 @@ }, "visibility": "public" }, - "3162": { + "3163": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -297323,7 +316256,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `LineWriter`.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::LineWriter;\n\nfn main() -> std::io::Result<()> {\n let file = File::create(\"poem.txt\")?;\n let file = LineWriter::new(file);\n Ok(())\n}\n```", - "id": 3162, + "id": 3163, "inner": { "function": { "generics": { @@ -297361,7 +316294,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } } @@ -297383,7 +316316,7 @@ }, "visibility": "public" }, - "3163": { + "3164": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -297392,7 +316325,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `LineWriter` with at least the specified capacity for the\ninternal buffer.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::LineWriter;\n\nfn main() -> std::io::Result<()> {\n let file = File::create(\"poem.txt\")?;\n let file = LineWriter::with_capacity(100, file);\n Ok(())\n}\n```", - "id": 3163, + "id": 3164, "inner": { "function": { "generics": { @@ -297436,7 +316369,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } } @@ -297458,7 +316391,7 @@ }, "visibility": "public" }, - "3164": { + "3165": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -297467,7 +316400,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets a mutable reference to the underlying writer.\n\nCaution must be taken when calling methods on the mutable reference\nreturned as extra writes could corrupt the output stream.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::LineWriter;\n\nfn main() -> std::io::Result<()> {\n let file = File::create(\"poem.txt\")?;\n let mut file = LineWriter::new(file);\n\n // we can use reference just like file\n let reference = file.get_mut();\n Ok(())\n}\n```", - "id": 3164, + "id": 3165, "inner": { "function": { "generics": { @@ -297524,7 +316457,7 @@ }, "visibility": "public" }, - "3165": { + "3166": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -297533,7 +316466,7 @@ "crate_id": 0, "deprecation": null, "docs": "Unwraps this `LineWriter`, returning the underlying writer.\n\nThe internal buffer is written out before returning the writer.\n\n# Errors\n\nAn [`Err`] will be returned if an error occurs while flushing the buffer.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::LineWriter;\n\nfn main() -> std::io::Result<()> {\n let file = File::create(\"poem.txt\")?;\n\n let writer: LineWriter = LineWriter::new(file);\n\n let file: File = writer.into_inner()?;\n Ok(())\n}\n```", - "id": 3165, + "id": 3166, "inner": { "function": { "generics": { @@ -297588,7 +316521,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } } @@ -297597,7 +316530,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } } @@ -297630,12 +316563,12 @@ }, "visibility": "public" }, - "3166": { + "3167": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3166, + "id": 3167, "inner": { "impl": { "blanket_impl": null, @@ -297653,7 +316586,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -297669,7 +316602,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -297688,10 +316621,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3162, 3163, 3164, - 3165 + 3165, + 3166 ], "provided_trait_methods": [], "trait": null @@ -297712,7 +316645,7 @@ }, "visibility": "default" }, - "3167": { + "3168": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -297721,7 +316654,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets a reference to the underlying writer.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io::LineWriter;\n\nfn main() -> std::io::Result<()> {\n let file = File::create(\"poem.txt\")?;\n let file = LineWriter::new(file);\n\n let reference = file.get_ref();\n Ok(())\n}\n```", - "id": 3167, + "id": 3168, "inner": { "function": { "generics": { @@ -297778,12 +316711,12 @@ }, "visibility": "public" }, - "3168": { + "3169": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3168, + "id": 3169, "inner": { "impl": { "blanket_impl": null, @@ -297801,7 +316734,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -297828,7 +316761,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -297847,7 +316780,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3167 + 3168 ], "provided_trait_methods": [], "trait": null @@ -297868,12 +316801,12 @@ }, "visibility": "default" }, - "3169": { + "317": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3169, + "id": 317, "inner": { "impl": { "blanket_impl": null, @@ -297883,65 +316816,39 @@ "angle_bracketed": { "args": [ { - "type": { - "generic": "W" - } + "lifetime": "'scope" + }, + { + "lifetime": "'env" } ], "constraints": [] } }, - "id": 3161, - "path": "LineWriter" + "id": 303, + "path": "Scope" } }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "W" - } - ], - "where_predicates": [ + "name": "'scope" + }, { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "W" + "kind": { + "lifetime": { + "outlives": [] } - } + }, + "name": "'env" } - ] + ], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -297950,8 +316857,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -297960,12 +316867,12 @@ "span": null, "visibility": "default" }, - "317": { + "3170": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 317, + "id": 3170, "inner": { "impl": { "blanket_impl": null, @@ -297975,49 +316882,75 @@ "angle_bracketed": { "args": [ { - "lifetime": "'scope" - }, - { - "lifetime": "'env" + "type": { + "generic": "W" + } } ], "constraints": [] } }, - "id": 305, - "path": "Scope" + "id": 3162, + "path": "LineWriter" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'scope" - }, + "name": "W" + } + ], + "where_predicates": [ { - "kind": { - "lifetime": { - "outlives": [] + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "W" } - }, - "name": "'env" + } } - ], - "where_predicates": [] + ] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 1, + "path": "Send" } } }, @@ -298026,12 +316959,12 @@ "span": null, "visibility": "default" }, - "3170": { + "3171": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3170, + "id": 3171, "inner": { "impl": { "blanket_impl": null, @@ -298049,7 +316982,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -298118,12 +317051,12 @@ "span": null, "visibility": "default" }, - "3171": { + "3172": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3171, + "id": 3172, "inner": { "impl": { "blanket_impl": null, @@ -298141,7 +317074,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -298168,7 +317101,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -298200,7 +317133,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -298210,12 +317143,12 @@ "span": null, "visibility": "default" }, - "3172": { + "3173": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3172, + "id": 3173, "inner": { "impl": { "blanket_impl": null, @@ -298233,7 +317166,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -298302,12 +317235,12 @@ "span": null, "visibility": "default" }, - "3173": { + "3174": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3173, + "id": 3174, "inner": { "impl": { "blanket_impl": null, @@ -298325,7 +317258,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -298352,7 +317285,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -298384,7 +317317,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -298394,12 +317327,12 @@ "span": null, "visibility": "default" }, - "3174": { + "3175": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3174, + "id": 3175, "inner": { "impl": { "blanket_impl": null, @@ -298417,7 +317350,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -298444,7 +317377,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -298476,7 +317409,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -298486,12 +317419,12 @@ "span": null, "visibility": "default" }, - "3175": { + "3176": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3175, + "id": 3176, "inner": { "impl": { "blanket_impl": { @@ -298511,7 +317444,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -298556,7 +317489,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -298572,7 +317505,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -298581,23 +317514,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3176": { + "3177": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3176, + "id": 3177, "inner": { "impl": { "blanket_impl": { @@ -298617,7 +317550,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -298662,7 +317595,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -298678,7 +317611,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -298687,23 +317620,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3177": { + "3178": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3177, + "id": 3178, "inner": { "impl": { "blanket_impl": { @@ -298723,7 +317656,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -298789,7 +317722,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -298814,23 +317747,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3178": { + "3179": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3178, + "id": 3179, "inner": { "impl": { "blanket_impl": { @@ -298850,7 +317783,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -298873,7 +317806,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -298898,23 +317831,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3179": { + "3180": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3179, + "id": 3180, "inner": { "impl": { "blanket_impl": { @@ -298934,7 +317867,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -298982,7 +317915,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -299000,8 +317933,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -299017,7 +317950,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -299026,23 +317959,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3180": { + "3181": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3180, + "id": 3181, "inner": { "impl": { "blanket_impl": { @@ -299062,7 +317995,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -299128,8 +318061,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -299145,7 +318078,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -299154,23 +318087,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3181": { + "3182": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3181, + "id": 3182, "inner": { "impl": { "blanket_impl": { @@ -299190,7 +318123,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -299238,12 +318171,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -299263,12 +318196,12 @@ }, "visibility": "default" }, - "3182": { + "3183": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3182, + "id": 3183, "inner": { "function": { "generics": { @@ -299326,7 +318259,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -299348,12 +318281,12 @@ }, "visibility": "default" }, - "3183": { + "3184": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3183, + "id": 3184, "inner": { "function": { "generics": { @@ -299397,7 +318330,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -299419,12 +318352,12 @@ }, "visibility": "default" }, - "3184": { + "3185": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3184, + "id": 3185, "inner": { "function": { "generics": { @@ -299471,7 +318404,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -299495,7 +318428,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -299517,12 +318450,12 @@ }, "visibility": "default" }, - "3185": { + "3186": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3185, + "id": 3186, "inner": { "function": { "generics": { @@ -299573,12 +318506,195 @@ }, "visibility": "default" }, - "3186": { + "3187": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3186, + "id": 3187, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "write_all", + "span": { + "begin": [ + 208, + 5 + ], + "end": [ + 210, + 6 + ], + "filename": "std/src/io/buffered/linewriter.rs" + }, + "visibility": "default" + }, + "3188": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3188, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "bufs", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2478, + "path": "IoSlice" + } + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "write_all_vectored", + "span": { + "begin": [ + 212, + 5 + ], + "end": [ + 214, + 6 + ], + "filename": "std/src/io/buffered/linewriter.rs" + }, + "visibility": "default" + }, + "3189": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3189, "inner": { "function": { "generics": { @@ -299607,16 +318723,21 @@ } ], [ - "buf", + "fmt", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - } + }, + "id": 3190, + "path": "fmt::Arguments" } } ] @@ -299636,7 +318757,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -299644,124 +318765,30 @@ } }, "links": {}, - "name": "write_all", + "name": "write_fmt", "span": { "begin": [ - 208, + 216, 5 ], "end": [ - 210, + 218, 6 ], "filename": "std/src/io/buffered/linewriter.rs" }, "visibility": "default" }, - "3187": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3187, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "bufs", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2480, - "path": "IoSlice" - } - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } + "319": { + "attrs": [ + { + "other": "#[rustc_diagnostic_item = \"noop_method_borrow\"]" } - }, - "links": {}, - "name": "write_all_vectored", - "span": { - "begin": [ - 212, - 5 - ], - "end": [ - 214, - 6 - ], - "filename": "std/src/io/buffered/linewriter.rs" - }, - "visibility": "default" - }, - "3188": { - "attrs": [], - "crate_id": 0, + ], + "crate_id": 1, "deprecation": null, "docs": null, - "id": 3188, + "id": 319, "inner": { "function": { "generics": { @@ -299781,138 +318808,44 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } - ], - [ - "fmt", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 3189, - "path": "fmt::Arguments" - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "write_fmt", + "name": "borrow", "span": { "begin": [ - 216, + 214, 5 ], "end": [ - 218, - 6 + 214, + 27 ], - "filename": "std/src/io/buffered/linewriter.rs" - }, - "visibility": "default" - }, - "319": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 319, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'env" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "links": {}, - "name": null, - "span": null, "visibility": "default" }, - "3190": { + "3191": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -299921,7 +318854,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3190, + "id": 3191, "inner": { "impl": { "blanket_impl": null, @@ -299939,7 +318872,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -299966,7 +318899,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -299985,13 +318918,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3182, 3183, 3184, 3185, 3186, 3187, - 3188 + 3188, + 3189 ], "provided_trait_methods": [ "write_vectored", @@ -300003,7 +318936,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -300023,12 +318956,12 @@ }, "visibility": "default" }, - "3191": { + "3192": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3191, + "id": 3192, "inner": { "function": { "generics": { @@ -300074,7 +319007,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -300086,7 +319019,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -300108,7 +319041,7 @@ }, "visibility": "default" }, - "3192": { + "3193": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -300117,7 +319050,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3192, + "id": 3193, "inner": { "impl": { "blanket_impl": null, @@ -300135,7 +319068,7 @@ "constraints": [] } }, - "id": 3161, + "id": 3162, "path": "LineWriter" } }, @@ -300162,7 +319095,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -300184,7 +319117,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -300202,12 +319135,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3191 + 3192 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -300227,7 +319160,7 @@ }, "visibility": "default" }, - "3195": { + "3196": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"bufwriter_into_parts\"}}]" @@ -300236,10 +319169,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3195, + "id": 3196, "inner": { "use": { - "id": 3105, + "id": 3107, "is_glob": false, "name": "WriterPanicked", "source": "bufwriter::WriterPanicked" @@ -300260,7 +319193,7 @@ }, "visibility": "public" }, - "3196": { + "3197": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -300269,10 +319202,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3196, + "id": 3197, "inner": { "use": { - "id": 2409, + "id": 2407, "is_glob": false, "name": "BufReader", "source": "self::bufreader::BufReader" @@ -300293,7 +319226,7 @@ }, "visibility": "public" }, - "3197": { + "3198": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -300302,10 +319235,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3197, + "id": 3198, "inner": { "use": { - "id": 2410, + "id": 2408, "is_glob": false, "name": "BufWriter", "source": "self::bufwriter::BufWriter" @@ -300326,7 +319259,7 @@ }, "visibility": "public" }, - "3198": { + "3199": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -300335,10 +319268,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3198, + "id": 3199, "inner": { "use": { - "id": 3161, + "id": 3162, "is_glob": false, "name": "LineWriter", "source": "self::linewriter::LineWriter" @@ -300395,7 +319328,114 @@ }, "visibility": "public" }, - "3201": { + "320": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 320, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "3202": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -300404,7 +319444,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the error which caused the call to [`BufWriter::into_inner()`]\nto fail.\n\nThis error was returned when attempting to write the internal buffer.\n\n# Examples\n\n```no_run\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet mut stream = BufWriter::new(TcpStream::connect(\"127.0.0.1:34254\").unwrap());\n\n// do stuff with the stream\n\n// we want to get our `TcpStream` back, so let's try:\n\nlet stream = match stream.into_inner() {\n Ok(s) => s,\n Err(e) => {\n // Here, e is an IntoInnerError, let's log the inner error.\n //\n // We'll just 'log' to stdout for this example.\n println!(\"{}\", e.error());\n\n panic!(\"An unexpected error occurred.\");\n }\n};\n```", - "id": 3201, + "id": 3202, "inner": { "function": { "generics": { @@ -300451,7 +319491,7 @@ } }, "links": { - "`BufWriter::into_inner()`": 3102 + "`BufWriter::into_inner()`": 3104 }, "name": "error", "span": { @@ -300467,7 +319507,7 @@ }, "visibility": "public" }, - "3202": { + "3203": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -300476,7 +319516,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the buffered writer instance which generated the error.\n\nThe returned object can be used for error recovery, such as\nre-inspecting the buffer.\n\n# Examples\n\n```no_run\nuse std::io::BufWriter;\nuse std::net::TcpStream;\n\nlet mut stream = BufWriter::new(TcpStream::connect(\"127.0.0.1:34254\").unwrap());\n\n// do stuff with the stream\n\n// we want to get our `TcpStream` back, so let's try:\n\nlet stream = match stream.into_inner() {\n Ok(s) => s,\n Err(e) => {\n // Here, e is an IntoInnerError, let's re-examine the buffer:\n let buffer = e.into_inner();\n\n // do stuff to try to recover\n\n // afterwards, let's just return the stream\n buffer.into_inner().unwrap()\n }\n};\n```", - "id": 3202, + "id": 3203, "inner": { "function": { "generics": { @@ -300521,7 +319561,7 @@ }, "visibility": "public" }, - "3203": { + "3204": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"io_into_inner_error_parts\"}}]" @@ -300530,7 +319570,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes the [`IntoInnerError`] and returns the error which caused the call to\n[`BufWriter::into_inner()`] to fail. Unlike `error`, this can be used to\nobtain ownership of the underlying error.\n\n# Example\n```\nuse std::io::{BufWriter, ErrorKind, Write};\n\nlet mut not_enough_space = [0u8; 10];\nlet mut stream = BufWriter::new(not_enough_space.as_mut());\nwrite!(stream, \"this cannot be actually written\").unwrap();\nlet into_inner_err = stream.into_inner().expect_err(\"now we discover it's too small\");\nlet err = into_inner_err.into_error();\nassert_eq!(err.kind(), ErrorKind::WriteZero);\n```", - "id": 3203, + "id": 3204, "inner": { "function": { "generics": { @@ -300565,8 +319605,8 @@ } }, "links": { - "`BufWriter::into_inner()`": 3102, - "`IntoInnerError`": 3103 + "`BufWriter::into_inner()`": 3104, + "`IntoInnerError`": 3105 }, "name": "into_error", "span": { @@ -300582,7 +319622,7 @@ }, "visibility": "public" }, - "3204": { + "3205": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"io_into_inner_error_parts\"}}]" @@ -300591,7 +319631,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes the [`IntoInnerError`] and returns the error which caused the call to\n[`BufWriter::into_inner()`] to fail, and the underlying writer.\n\nThis can be used to simply obtain ownership of the underlying error; it can also be used for\nadvanced error recovery.\n\n# Example\n```\nuse std::io::{BufWriter, ErrorKind, Write};\n\nlet mut not_enough_space = [0u8; 10];\nlet mut stream = BufWriter::new(not_enough_space.as_mut());\nwrite!(stream, \"this cannot be actually written\").unwrap();\nlet into_inner_err = stream.into_inner().expect_err(\"now we discover it's too small\");\nlet (err, recovered_writer) = into_inner_err.into_parts();\nassert_eq!(err.kind(), ErrorKind::WriteZero);\nassert_eq!(recovered_writer.buffer(), b\"t be actually written\");\n```", - "id": 3204, + "id": 3205, "inner": { "function": { "generics": { @@ -300633,8 +319673,8 @@ } }, "links": { - "`BufWriter::into_inner()`": 3102, - "`IntoInnerError`": 3103 + "`BufWriter::into_inner()`": 3104, + "`IntoInnerError`": 3105 }, "name": "into_parts", "span": { @@ -300650,12 +319690,12 @@ }, "visibility": "public" }, - "3205": { + "3206": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3205, + "id": 3206, "inner": { "impl": { "blanket_impl": null, @@ -300673,7 +319713,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -300696,10 +319736,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3201, 3202, 3203, - 3204 + 3204, + 3205 ], "provided_trait_methods": [], "trait": null @@ -300720,12 +319760,12 @@ }, "visibility": "default" }, - "3206": { + "3207": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3206, + "id": 3207, "inner": { "impl": { "blanket_impl": null, @@ -300743,7 +319783,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -300801,87 +319841,6 @@ "span": null, "visibility": "default" }, - "3207": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3207, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "W" - } - } - ], - "constraints": [] - } - }, - "id": 3103, - "path": "IntoInnerError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "W" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "W" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, "3208": { "attrs": [], "crate_id": 0, @@ -300905,88 +319864,7 @@ "constraints": [] } }, - "id": 3103, - "path": "IntoInnerError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "W" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "W" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3209": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3209, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "W" - } - } - ], - "constraints": [] - } - }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -301013,8 +319891,8 @@ "modifier": "none", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 5, + "path": "Sync" } } } @@ -301034,8 +319912,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 5, + "path": "Sync" } } }, @@ -301044,70 +319922,85 @@ "span": null, "visibility": "default" }, - "321": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"noop_method_borrow\"]" - } - ], - "crate_id": 1, + "3209": { + "attrs": [], + "crate_id": 0, "deprecation": null, "docs": null, - "id": 321, + "id": 3209, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "W" + } } - } + ], + "constraints": [] } - ] + }, + "id": 3105, + "path": "IntoInnerError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "W" + } ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "W" + } } } - } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" } } }, "links": {}, - "name": "borrow", - "span": { - "begin": [ - 211, - 5 - ], - "end": [ - 211, - 27 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "name": null, + "span": null, "visibility": "default" }, "3210": { @@ -301133,7 +320026,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -301150,17 +320043,39 @@ "name": "W" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "W" + } + } + } + ] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 7, + "path": "Unpin" } } }, @@ -301192,7 +320107,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -301218,8 +320133,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } }, @@ -301234,6 +320149,65 @@ "deprecation": null, "docs": null, "id": 3212, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "W" + } + } + ], + "constraints": [] + } + }, + "id": 3105, + "path": "IntoInnerError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "W" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "3213": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3213, "inner": { "impl": { "blanket_impl": { @@ -301253,7 +320227,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -301298,7 +320272,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -301314,7 +320288,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -301323,23 +320297,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3213": { + "3214": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3213, + "id": 3214, "inner": { "impl": { "blanket_impl": { @@ -301359,7 +320333,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -301404,7 +320378,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -301420,7 +320394,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -301429,23 +320403,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3214": { + "3215": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3214, + "id": 3215, "inner": { "impl": { "blanket_impl": { @@ -301465,7 +320439,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -301531,7 +320505,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -301556,23 +320530,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3215": { + "3216": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3215, + "id": 3216, "inner": { "impl": { "blanket_impl": { @@ -301592,7 +320566,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -301615,7 +320589,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -301640,23 +320614,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3216": { + "3217": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3216, + "id": 3217, "inner": { "impl": { "blanket_impl": { @@ -301676,7 +320650,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -301724,7 +320698,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -301742,8 +320716,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -301759,7 +320733,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -301768,23 +320742,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3217": { + "3218": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3217, + "id": 3218, "inner": { "impl": { "blanket_impl": { @@ -301804,7 +320778,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -301870,8 +320844,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -301887,7 +320861,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -301896,23 +320870,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3218": { + "3219": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3218, + "id": 3219, "inner": { "impl": { "blanket_impl": { @@ -301932,7 +320906,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -301980,12 +320954,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -302005,118 +320979,74 @@ }, "visibility": "default" }, - "3219": { + "322": { "attrs": [], - "crate_id": 0, + "crate_id": 1, "deprecation": null, "docs": null, - "id": 3219, + "id": 322, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "W" - } - } - ], - "constraints": [] - } - }, - "id": 3103, - "path": "IntoInnerError" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "generic_params": [], - "type": { - "generic": "T" } } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 434 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 163, - "path": "ToString" + } } } }, "links": {}, - "name": null, + "name": "borrow_mut", "span": { "begin": [ - 2806, - 1 + 222, + 5 ], "end": [ - 2806, - 46 + 222, + 39 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "322": { + "3220": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 322, + "id": 3220, "inner": { "impl": { "blanket_impl": { @@ -302128,17 +321058,16 @@ "angle_bracketed": { "args": [ { - "lifetime": "'scope" - }, - { - "lifetime": "'env" + "type": { + "generic": "W" + } } ], "constraints": [] } }, - "id": 305, - "path": "Scope" + "id": 3105, + "path": "IntoInnerError" } }, "generics": { @@ -302158,6 +321087,17 @@ { "bound_predicate": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, { "trait_bound": { "generic_params": [], @@ -302182,24 +321122,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 434 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 161, + "path": "ToString" } } }, @@ -302207,18 +321136,18 @@ "name": null, "span": { "begin": [ - 209, + 2866, 1 ], "end": [ - 209, - 32 + 2866, + 46 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "3220": { + "3221": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -302227,7 +321156,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3220, + "id": 3221, "inner": { "function": { "generics": { @@ -302273,7 +321202,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -302285,7 +321214,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -302307,7 +321236,7 @@ }, "visibility": "default" }, - "3221": { + "3222": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -302317,7 +321246,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3221, + "id": 3222, "inner": { "impl": { "blanket_impl": null, @@ -302335,7 +321264,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -302351,7 +321280,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } @@ -302370,12 +321299,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3220 + 3221 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -302395,12 +321324,12 @@ }, "visibility": "default" }, - "3222": { + "3223": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3222, + "id": 3223, "inner": { "function": { "generics": { @@ -302432,7 +321361,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } } @@ -302464,7 +321393,7 @@ }, "visibility": "default" }, - "3223": { + "3224": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -302473,7 +321402,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3223, + "id": 3224, "inner": { "impl": { "blanket_impl": null, @@ -302503,7 +321432,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3222 + 3223 ], "provided_trait_methods": [], "trait": { @@ -302525,7 +321454,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } } @@ -302554,72 +321483,6 @@ }, "visibility": "default" }, - "3224": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3224, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "description", - "span": { - "begin": [ - 184, - 5 - ], - "end": [ - 186, - 6 - ], - "filename": "std/src/io/buffered/mod.rs" - }, - "visibility": "default" - }, "3225": { "attrs": [ { @@ -302647,7 +321510,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -302674,7 +321537,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -302692,9 +321555,7 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 3224 - ], + "items": [], "provided_trait_methods": [ "source", "type_id", @@ -302717,8 +321578,8 @@ 1 ], "end": [ - 187, - 2 + 182, + 65 ], "filename": "std/src/io/buffered/mod.rs" }, @@ -302775,7 +321636,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -302787,7 +321648,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -302798,11 +321659,11 @@ "name": "fmt", "span": { "begin": [ - 191, + 186, 5 ], "end": [ - 193, + 188, 6 ], "filename": "std/src/io/buffered/mod.rs" @@ -302836,7 +321697,7 @@ "constraints": [] } }, - "id": 3103, + "id": 3105, "path": "IntoInnerError" } }, @@ -302873,17 +321734,124 @@ "name": null, "span": { "begin": [ - 190, + 185, 1 ], "end": [ - 194, + 189, 2 ], "filename": "std/src/io/buffered/mod.rs" }, "visibility": "default" }, + "323": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 323, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, "3232": { "attrs": [ { @@ -302955,12 +321923,12 @@ }, "links": { "AsRef": 35, - "Vec": 165, - "`Read`": 2476, - "`Seek`": 2407, - "`Write`": 2486, - "crate::fs::File": 2413, - "crate::slice": 205 + "Vec": 163, + "`Read`": 2474, + "`Seek`": 2405, + "`Write`": 2484, + "crate::fs::File": 2411, + "crate::slice": 203 }, "name": "Cursor", "span": { @@ -303034,7 +322002,7 @@ } }, "links": { - "`Vec`": 165 + "`Vec`": 163 }, "name": "new", "span": { @@ -303444,68 +322412,6 @@ }, "visibility": "default" }, - "324": { - "attrs": [], - "crate_id": 1, - "deprecation": null, - "docs": null, - "id": 324, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - } - }, - "links": {}, - "name": "borrow_mut", - "span": { - "begin": [ - 218, - 5 - ], - "end": [ - 218, - 39 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, "3240": { "attrs": [ { @@ -304088,7 +322994,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -304109,7 +323015,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -304250,89 +323156,8 @@ "modifier": "none", "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3249": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3249, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 3232, - "path": "Cursor" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } } @@ -304352,8 +323177,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } }, @@ -304362,34 +323187,31 @@ "span": null, "visibility": "default" }, - "325": { + "3249": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 325, + "id": 3249, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'scope" - }, - { - "lifetime": "'env" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 305, - "path": "Scope" + "id": 3232, + "path": "Cursor" } }, "generics": { @@ -304412,11 +323234,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 318, + "path": "RefUnwindSafe" } } } @@ -304430,42 +323252,75 @@ ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 324 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, "name": null, + "span": null, + "visibility": "default" + }, + "325": { + "attrs": [ + { + "other": "#[attr = TrackCaller]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Calls `U::from(self)`.\n\nThat is, this conversion is whatever the implementation of\n[From]<T> for U chooses to do.", + "id": 325, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "U" + } + } + } + }, + "links": { + "From": 37 + }, + "name": "into", "span": { "begin": [ - 217, - 1 + 777, + 5 ], "end": [ - 217, - 35 + 777, + 23 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, @@ -304539,7 +323394,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -304555,7 +323410,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -304564,12 +323419,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -304645,7 +323500,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -304661,7 +323516,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -304670,12 +323525,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -304733,7 +323588,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -304765,11 +323620,11 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" @@ -304867,7 +323722,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -304892,11 +323747,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -304951,7 +323806,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -304976,11 +323831,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -305060,7 +323915,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -305078,8 +323933,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -305095,7 +323950,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -305104,11 +323959,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -305206,8 +324061,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -305223,7 +324078,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -305232,11 +324087,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -305316,12 +324171,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -305393,7 +324248,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -305420,7 +324275,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -305429,11 +324284,11 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" @@ -305495,7 +324350,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -305507,7 +324362,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -305529,6 +324384,134 @@ }, "visibility": "default" }, + "326": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 326, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, "3260": { "attrs": [ { @@ -305573,7 +324556,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } @@ -305597,7 +324580,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -305723,7 +324706,7 @@ "modifier": "none", "trait": { "args": null, - "id": 109, + "id": 107, "path": "$crate::default::Default" } } @@ -305747,7 +324730,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -305811,7 +324794,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "$crate::cmp::Eq" } } @@ -305835,7 +324818,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -306060,7 +325043,7 @@ "modifier": "none", "trait": { "args": null, - "id": 123, + "id": 121, "path": "$crate::cmp::PartialEq" } } @@ -306086,7 +325069,7 @@ ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -306290,7 +325273,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -306316,7 +325299,7 @@ ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -306337,14 +325320,10 @@ "visibility": "default" }, "327": { - "attrs": [ - { - "other": "#[attr = TrackCaller]" - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Calls `U::from(self)`.\n\nThat is, this conversion is whatever the implementation of\n[From]<T> for U chooses to do.", + "docs": "Returns the argument unchanged.", "id": 327, "inner": { "function": { @@ -306362,30 +325341,28 @@ "sig": { "inputs": [ [ - "self", + "t", { - "generic": "Self" + "generic": "T" } ] ], "is_c_variadic": false, "output": { - "generic": "U" + "generic": "T" } } } }, - "links": { - "From": 37 - }, - "name": "into", + "links": {}, + "name": "from", "span": { "begin": [ - 783, + 788, 5 ], "end": [ - 783, + 788, 23 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -306430,7 +325407,7 @@ { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -306451,7 +325428,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -306522,7 +325499,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -306593,7 +325570,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -306712,7 +325689,7 @@ ], "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -306795,7 +325772,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -306864,7 +325841,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -306885,7 +325862,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -306959,7 +325936,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -306983,7 +325960,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -307124,7 +326101,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -307193,7 +326170,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -307214,7 +326191,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -307262,7 +326239,7 @@ "constraints": [] } }, - "id": 305, + "id": 303, "path": "Scope" } }, @@ -307277,52 +326254,9 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, @@ -307337,15 +326271,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 37, + "path": "From" } } }, @@ -307353,12 +326287,12 @@ "name": null, "span": { "begin": [ - 773, + 785, 1 ], "end": [ - 775, - 24 + 785, + 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -307417,7 +326351,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -307440,7 +326374,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -307504,7 +326438,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -307527,7 +326461,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -307658,7 +326592,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -307735,7 +326669,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -307915,7 +326849,7 @@ ], "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -308002,7 +326936,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -308080,7 +327014,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -308104,7 +327038,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -308253,7 +327187,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -308279,47 +327213,52 @@ "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Returns the argument unchanged.", + "docs": null, "id": 329, "inner": { - "function": { + "assoc_type": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "t", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "T" + "type": { + "qualified_path": { + "args": null, + "name": "Error", + "self_type": { + "generic": "U" + }, + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } } } } }, "links": {}, - "name": "from", + "name": "Error", "span": { "begin": [ - 794, + 815, 5 ], "end": [ - 794, - 23 + 815, + 15 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -308381,7 +327320,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -308405,7 +327344,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -308480,7 +327419,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -308566,7 +327505,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -308649,7 +327588,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -308723,7 +327662,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -308747,7 +327686,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -308892,7 +327831,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -308966,7 +327905,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -308990,7 +327929,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -309065,7 +328004,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -309129,7 +328068,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -309202,7 +328141,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -309224,84 +328163,91 @@ }, "330": { "attrs": [], - "crate_id": 0, + "crate_id": 1, "deprecation": null, "docs": null, "id": 330, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + }, + { + "type": { + "qualified_path": { + "args": null, + "name": "Error", + "self_type": { + "generic": "U" + }, + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 57, + "path": "Result" } - }, - "id": 37, - "path": "From" + } } } }, "links": {}, - "name": null, + "name": "try_into", "span": { "begin": [ - 791, - 1 + 818, + 5 ], "end": [ - 791, - 28 + 818, + 45 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -309370,7 +328316,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -309444,7 +328390,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -309468,7 +328414,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -309613,7 +328559,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -309687,7 +328633,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -309711,7 +328657,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -309786,7 +328732,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -309846,7 +328792,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -309917,7 +328863,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -310004,7 +328950,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -310082,7 +329028,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -310106,7 +329052,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -310130,54 +329076,128 @@ }, "331": { "attrs": [], - "crate_id": 1, + "crate_id": 0, "deprecation": null, "docs": null, "id": 331, "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "type": { - "qualified_path": { - "args": null, - "name": "Error", - "self_type": { - "generic": "U" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } }, - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "U" } - }, - "id": 199, - "path": "TryFrom" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, "links": {}, - "name": "Error", + "name": null, "span": { "begin": [ - 821, - 5 + 811, + 1 ], "end": [ - 821, - 15 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -310310,7 +329330,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -310388,7 +329408,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -310412,7 +329432,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -310487,7 +329507,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -310549,7 +329569,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -310620,7 +329640,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -310707,7 +329727,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -310785,258 +329805,7 @@ "constraints": [] } }, - "id": 2480, - "path": "IoSlice" - } - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "write_vectored", - "span": { - "begin": [ - 734, - 5 - ], - "end": [ - 736, - 6 - ], - "filename": "std/src/io/cursor.rs" - }, - "visibility": "default" - }, - "3317": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3317, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_write_vectored", - "span": { - "begin": [ - 739, - 5 - ], - "end": [ - 741, - 6 - ], - "filename": "std/src/io/cursor.rs" - }, - "visibility": "default" - }, - "3318": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3318, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "buf", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "write_all", - "span": { - "begin": [ - 744, - 5 - ], - "end": [ - 746, - 6 - ], - "filename": "std/src/io/cursor.rs" - }, - "visibility": "default" - }, - "3319": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3319, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "bufs", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -311053,14 +329822,14 @@ "args": [ { "type": { - "tuple": [] + "primitive": "usize" } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -311068,26 +329837,30 @@ } }, "links": {}, - "name": "write_all_vectored", + "name": "write_vectored", "span": { "begin": [ - 749, + 734, 5 ], "end": [ - 751, + 736, 6 ], "filename": "std/src/io/cursor.rs" }, "visibility": "default" }, - "332": { - "attrs": [], - "crate_id": 1, + "3317": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, "deprecation": null, "docs": null, - "id": 332, + "id": 3317, "inner": { "function": { "generics": { @@ -311106,7 +329879,87 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_write_vectored", + "span": { + "begin": [ + 739, + 5 + ], + "end": [ + 741, + 6 + ], + "filename": "std/src/io/cursor.rs" + }, + "visibility": "default" + }, + "3318": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3318, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ] ], @@ -311118,57 +329971,169 @@ "args": [ { "type": { - "generic": "U" + "tuple": [] } - }, - { - "type": { - "qualified_path": { - "args": null, - "name": "Error", - "self_type": { - "generic": "U" - }, - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "write_all", + "span": { + "begin": [ + 744, + 5 + ], + "end": [ + 746, + 6 + ], + "filename": "std/src/io/cursor.rs" + }, + "visibility": "default" + }, + "3319": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3319, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "bufs", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" } - }, - "id": 199, - "path": "TryFrom" + ], + "constraints": [] } - } + }, + "id": 2478, + "path": "IoSlice" + } + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 469, + "path": "io::Result" } } } } }, "links": {}, - "name": "try_into", + "name": "write_all_vectored", "span": { "begin": [ - 824, + 749, 5 ], "end": [ - 824, - 45 + 751, + 6 + ], + "filename": "std/src/io/cursor.rs" + }, + "visibility": "default" + }, + "332": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 332, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": null, + "id": 333, + "path": "Infallible" + } + } + } + }, + "links": {}, + "name": "Error", + "span": { + "begin": [ + 831, + 5 + ], + "end": [ + 831, + 15 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -311227,7 +330192,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -311322,7 +330287,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -311431,7 +330396,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -311497,11 +330462,11 @@ "name": "new", "span": { "begin": [ - 568, + 571, 5 ], "end": [ - 573, + 576, 6 ], "filename": "std/src/io/error.rs" @@ -311531,11 +330496,11 @@ "name": "Other", "span": { "begin": [ - 436, + 439, 5 ], "end": [ - 436, + 439, 10 ], "filename": "std/src/io/error.rs" @@ -311622,7 +330587,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -311679,11 +330644,11 @@ "name": "other", "span": { "begin": [ - 593, + 596, 5 ], "end": [ - 598, + 601, 6 ], "filename": "std/src/io/error.rs" @@ -311746,11 +330711,11 @@ "name": "last_os_error", "span": { "begin": [ - 645, + 648, 5 ], "end": [ - 647, + 650, 6 ], "filename": "std/src/io/error.rs" @@ -311818,146 +330783,17 @@ "name": "from_raw_os_error", "span": { "begin": [ - 677, + 680, 5 ], "end": [ - 679, + 682, 6 ], "filename": "std/src/io/error.rs" }, "visibility": "public" }, - "333": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 333, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 817, - 1 - ], - "end": [ - 819, - 27 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, "3330": { "attrs": [ { @@ -311980,19 +330816,19 @@ } }, "links": { - "Into::into": 1929, + "Into::into": 1927, "`Error::raw_os_error`": 3331, - "`i32`": 3367, + "`i32`": 3366, "`usize`": 769 }, "name": "RawOsError", "span": { "begin": [ - 139, + 142, 1 ], "end": [ - 139, + 142, 39 ], "filename": "std/src/io/error.rs" @@ -312081,11 +330917,11 @@ "name": "raw_os_error", "span": { "begin": [ - 713, + 716, 5 ], "end": [ - 720, + 723, 6 ], "filename": "std/src/io/error.rs" @@ -312203,11 +331039,11 @@ "name": "get_ref", "span": { "begin": [ - 752, + 755, 5 ], "end": [ - 759, + 762, 6 ], "filename": "std/src/io/error.rs" @@ -312325,11 +331161,11 @@ "name": "get_mut", "span": { "begin": [ - 826, + 829, 5 ], "end": [ - 833, + 836, 6 ], "filename": "std/src/io/error.rs" @@ -312425,7 +331261,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -312451,11 +331287,11 @@ "name": "into_inner", "span": { "begin": [ - 867, + 870, 5 ], "end": [ - 874, + 877, 6 ], "filename": "std/src/io/error.rs" @@ -312588,11 +331424,11 @@ "name": "downcast", "span": { "begin": [ - 946, + 949, 5 ], "end": [ - 964, + 967, 6 ], "filename": "std/src/io/error.rs" @@ -312663,11 +331499,11 @@ "name": "kind", "span": { "begin": [ - 995, + 998, 5 ], "end": [ - 1002, + 1005, 6 ], "filename": "std/src/io/error.rs" @@ -312717,11 +331553,11 @@ "name": null, "span": { "begin": [ - 539, + 542, 1 ], "end": [ - 1013, + 1016, 2 ], "filename": "std/src/io/error.rs" @@ -312809,31 +331645,86 @@ "docs": null, "id": 334, "inner": { - "assoc_type": { - "bounds": [], + "function": { "generics": { "params": [], "where_predicates": [] }, - "type": { - "resolved_path": { - "args": null, - "id": 335, - "path": "Infallible" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "value", + { + "generic": "U" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "qualified_path": { + "args": null, + "name": "Error", + "self_type": { + "generic": "T" + }, + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "Error", + "name": "try_from", "span": { "begin": [ - 837, + 834, 5 ], "end": [ - 837, - 15 + 834, + 55 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -312866,7 +331757,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -312940,7 +331831,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -312977,7 +331868,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -313046,7 +331937,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -313062,7 +331953,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -313071,12 +331962,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -313141,7 +332032,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -313157,7 +332048,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -313166,12 +332057,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -313257,7 +332148,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -313282,11 +332173,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -313324,13 +332215,130 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 785, + 1 + ], + "end": [ + 785, + 28 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "3348": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3348, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2570, + "path": "Error" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -313339,15 +332347,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 37, - "path": "From" + "id": 198, + "path": "TryInto" } } }, @@ -313355,23 +332363,23 @@ "name": null, "span": { "begin": [ - 791, + 811, 1 ], "end": [ - 791, - 28 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3348": { + "3349": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3348, + "id": 3349, "inner": { "impl": { "blanket_impl": { @@ -313428,8 +332436,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 39, + "path": "Into" } } } @@ -313446,8 +332454,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -313463,8 +332471,8 @@ "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 197, + "path": "TryFrom" } } }, @@ -313472,23 +332480,23 @@ "name": null, "span": { "begin": [ - 817, + 827, 1 ], "end": [ - 819, - 27 + 829, + 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3349": { + "335": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3349, + "id": 335, "inner": { "impl": { "blanket_impl": { @@ -313496,9 +332504,21 @@ }, "for": { "resolved_path": { - "args": null, - "id": 2570, - "path": "Error" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" } }, "generics": { @@ -313563,8 +332583,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -313580,7 +332600,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -313589,11 +332609,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -313662,12 +332682,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -313762,7 +332782,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -313771,11 +332791,11 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" @@ -313833,7 +332853,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -313845,7 +332865,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -313900,7 +332920,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -313946,7 +332966,7 @@ { "resolved_path": { "args": null, - "id": 1919, + "id": 1917, "path": "alloc::ffi::NulError" } } @@ -313965,16 +332985,16 @@ }, "links": { "`Error`": 2570, - "`alloc::ffi::NulError`": 1919 + "`alloc::ffi::NulError`": 1917 }, "name": "from", "span": { "begin": [ - 103, + 106, 5 ], "end": [ - 105, + 108, 6 ], "filename": "std/src/io/error.rs" @@ -314020,7 +333040,7 @@ "type": { "resolved_path": { "args": null, - "id": 1919, + "id": 1917, "path": "NulError" } } @@ -314038,11 +333058,11 @@ "name": null, "span": { "begin": [ - 101, + 104, 1 ], "end": [ - 106, + 109, 2 ], "filename": "std/src/io/error.rs" @@ -314069,11 +333089,11 @@ "name": "OutOfMemory", "span": { "begin": [ - 414, + 417, 5 ], "end": [ - 414, + 417, 16 ], "filename": "std/src/io/error.rs" @@ -314129,11 +333149,11 @@ "name": "from", "span": { "begin": [ - 114, + 117, 5 ], "end": [ - 117, + 120, 6 ], "filename": "std/src/io/error.rs" @@ -314197,11 +333217,11 @@ "name": null, "span": { "begin": [ - 109, + 112, 1 ], "end": [ - 118, + 121, 2 ], "filename": "std/src/io/error.rs" @@ -314262,11 +333282,11 @@ "name": "from", "span": { "begin": [ - 534, + 537, 5 ], "end": [ - 536, + 539, 6 ], "filename": "std/src/io/error.rs" @@ -314295,73 +333315,41 @@ "sig": { "inputs": [ [ - "value", + "self", { - "generic": "U" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "qualified_path": { - "args": null, - "name": "Error", - "self_type": { - "generic": "T" - }, - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" + "args": null, + "id": 337, + "path": "TypeId" } } } } }, "links": {}, - "name": "try_from", + "name": "type_id", "span": { "begin": [ - 840, + 139, 5 ], "end": [ - 840, - 55 + 139, + 32 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, @@ -314422,11 +333410,11 @@ "name": null, "span": { "begin": [ - 519, + 522, 1 ], "end": [ - 537, + 540, 2 ], "filename": "std/src/io/error.rs" @@ -314484,7 +333472,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -314496,7 +333484,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -314507,11 +333495,11 @@ "name": "fmt", "span": { "begin": [ - 1037, + 1040, 5 ], "end": [ - 1047, + 1050, 6 ], "filename": "std/src/io/error.rs" @@ -314560,11 +333548,11 @@ "name": null, "span": { "begin": [ - 1036, + 1039, 1 ], "end": [ - 1048, + 1051, 2 ], "filename": "std/src/io/error.rs" @@ -314572,72 +333560,6 @@ "visibility": "default" }, "3363": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3363, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "description", - "span": { - "begin": [ - 1053, - 5 - ], - "end": [ - 1059, - 6 - ], - "filename": "std/src/io/error.rs" - }, - "visibility": "default" - }, - "3364": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -314646,7 +333568,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3364, + "id": 3363, "inner": { "function": { "generics": { @@ -314719,23 +333641,23 @@ "name": "cause", "span": { "begin": [ - 1062, + 1056, 5 ], "end": [ - 1069, + 1063, 6 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3365": { + "3364": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3365, + "id": 3364, "inner": { "function": { "generics": { @@ -314808,18 +333730,18 @@ "name": "source", "span": { "begin": [ - 1071, + 1065, 5 ], "end": [ - 1078, + 1072, 6 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3366": { + "3365": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -314828,7 +333750,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3366, + "id": 3365, "inner": { "impl": { "blanket_impl": null, @@ -314848,8 +333770,7 @@ "is_unsafe": false, "items": [ 3363, - 3364, - 3365 + 3364 ], "provided_trait_methods": [ "source", @@ -314869,18 +333790,18 @@ "name": null, "span": { "begin": [ - 1051, + 1054, 1 ], "end": [ - 1079, + 1073, 2 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3367": { + "3366": { "attrs": [ { "other": "#[rustc_doc_primitive = \"i32\"]" @@ -314892,13 +333813,13 @@ "crate_id": 0, "deprecation": null, "docs": "The 32-bit signed integer type.", - "id": 3367, + "id": 3366, "inner": { "primitive": { "impls": [ - 10442, - 10446, - 10448 + 10675, + 10679, + 10681 ], "name": "i32" } @@ -314918,7 +333839,7 @@ }, "visibility": "public" }, - "3368": { + "3367": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133448, is_soft: false}, feature: \"io_const_error\"}}]" @@ -314933,7 +333854,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new I/O error from a known kind of error and a string literal.\n\nContrary to [`Error::new`], this macro does not allocate and can be used in\n`const` contexts.\n\n# Example\n```\n#![feature(io_const_error)]\nuse std::io::{const_error, Error, ErrorKind};\n\nconst FAIL: Error = const_error!(ErrorKind::Unsupported, \"tried something that never works\");\n\nfn not_here() -> Result<(), Error> {\n Err(FAIL)\n}\n```", - "id": 3368, + "id": 3367, "inner": { "macro": "macro const_error($kind:expr, $message:expr $(,)?) {\n ...\n}" }, @@ -314943,18 +333864,18 @@ "name": "const_error", "span": { "begin": [ - 183, + 186, 1 ], "end": [ - 187, + 190, 2 ], "filename": "std/src/io/error.rs" }, "visibility": "public" }, - "3369": { + "3368": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -314963,7 +333884,7 @@ "crate_id": 0, "deprecation": null, "docs": "The connection was refused by the remote server.", - "id": 3369, + "id": 3368, "inner": { "variant": { "discriminant": null, @@ -314974,147 +333895,18 @@ "name": "ConnectionRefused", "span": { "begin": [ - 234, + 237, 5 ], "end": [ - 234, + 237, 22 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "337": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 337, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "3370": { + "3369": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -315123,7 +333915,7 @@ "crate_id": 0, "deprecation": null, "docs": "The connection was reset by the remote server.", - "id": 3370, + "id": 3369, "inner": { "variant": { "discriminant": null, @@ -315134,18 +333926,18 @@ "name": "ConnectionReset", "span": { "begin": [ - 237, + 240, 5 ], "end": [ - 237, + 240, 20 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3371": { + "3370": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315154,7 +333946,7 @@ "crate_id": 0, "deprecation": null, "docs": "The remote host is not reachable.", - "id": 3371, + "id": 3370, "inner": { "variant": { "discriminant": null, @@ -315165,18 +333957,18 @@ "name": "HostUnreachable", "span": { "begin": [ - 240, + 243, 5 ], "end": [ - 240, + 243, 20 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3372": { + "3371": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315185,7 +333977,7 @@ "crate_id": 0, "deprecation": null, "docs": "The network containing the remote host is not reachable.", - "id": 3372, + "id": 3371, "inner": { "variant": { "discriminant": null, @@ -315196,18 +333988,18 @@ "name": "NetworkUnreachable", "span": { "begin": [ - 243, + 246, 5 ], "end": [ - 243, + 246, 23 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3373": { + "3372": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -315216,7 +334008,7 @@ "crate_id": 0, "deprecation": null, "docs": "The connection was aborted (terminated) by the remote server.", - "id": 3373, + "id": 3372, "inner": { "variant": { "discriminant": null, @@ -315227,18 +334019,18 @@ "name": "ConnectionAborted", "span": { "begin": [ - 246, + 249, 5 ], "end": [ - 246, + 249, 22 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3374": { + "3373": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -315247,7 +334039,7 @@ "crate_id": 0, "deprecation": null, "docs": "The network operation failed because it was not connected yet.", - "id": 3374, + "id": 3373, "inner": { "variant": { "discriminant": null, @@ -315258,18 +334050,18 @@ "name": "NotConnected", "span": { "begin": [ - 249, + 252, 5 ], "end": [ - 249, + 252, 17 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3375": { + "3374": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -315278,7 +334070,7 @@ "crate_id": 0, "deprecation": null, "docs": "A socket address could not be bound because the address is already in\nuse elsewhere.", - "id": 3375, + "id": 3374, "inner": { "variant": { "discriminant": null, @@ -315289,18 +334081,18 @@ "name": "AddrInUse", "span": { "begin": [ - 253, + 256, 5 ], "end": [ - 253, + 256, 14 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3376": { + "3375": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -315309,7 +334101,7 @@ "crate_id": 0, "deprecation": null, "docs": "A nonexistent interface was requested or the requested address was not\nlocal.", - "id": 3376, + "id": 3375, "inner": { "variant": { "discriminant": null, @@ -315320,18 +334112,18 @@ "name": "AddrNotAvailable", "span": { "begin": [ - 257, + 260, 5 ], "end": [ - 257, + 260, 21 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3377": { + "3376": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315340,7 +334132,7 @@ "crate_id": 0, "deprecation": null, "docs": "The system's networking is down.", - "id": 3377, + "id": 3376, "inner": { "variant": { "discriminant": null, @@ -315351,18 +334143,18 @@ "name": "NetworkDown", "span": { "begin": [ - 260, + 263, 5 ], "end": [ - 260, + 263, 16 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3378": { + "3377": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -315371,7 +334163,7 @@ "crate_id": 0, "deprecation": null, "docs": "The operation failed because a pipe was closed.", - "id": 3378, + "id": 3377, "inner": { "variant": { "discriminant": null, @@ -315382,18 +334174,18 @@ "name": "BrokenPipe", "span": { "begin": [ - 263, + 266, 5 ], "end": [ - 263, + 266, 15 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3379": { + "3378": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315402,7 +334194,7 @@ "crate_id": 0, "deprecation": null, "docs": "A filesystem object is, unexpectedly, not a directory.\n\nFor example, a filesystem path was specified where one of the intermediate directory\ncomponents was, in fact, a plain file.", - "id": 3379, + "id": 3378, "inner": { "variant": { "discriminant": null, @@ -315413,109 +334205,148 @@ "name": "NotADirectory", "span": { "begin": [ - 276, + 279, 5 ], "end": [ - 276, + 279, 18 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "338": { - "attrs": [], - "crate_id": 1, + "3379": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" + } + ], + "crate_id": 0, "deprecation": null, - "docs": null, - "id": 338, + "docs": "The filesystem object is, unexpectedly, a directory.\n\nA directory was specified when a non-directory was expected.", + "id": 3379, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 339, - "path": "TypeId" - } - } - } + "variant": { + "discriminant": null, + "kind": "plain" } }, "links": {}, - "name": "type_id", + "name": "IsADirectory", "span": { "begin": [ - 139, + 284, 5 ], "end": [ - 139, - 32 + 284, + 17 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3380": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" - } - ], + "338": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "The filesystem object is, unexpectedly, a directory.\n\nA directory was specified when a non-directory was expected.", - "id": 3380, + "docs": null, + "id": 338, "inner": { - "variant": { - "discriminant": null, - "kind": "plain" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "lifetime": "'env" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } } }, "links": {}, - "name": "IsADirectory", + "name": null, "span": { "begin": [ - 281, - 5 + 138, + 1 ], "end": [ - 281, - 17 + 138, + 36 ], - "filename": "std/src/io/error.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "3381": { + "3380": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315524,7 +334355,7 @@ "crate_id": 0, "deprecation": null, "docs": "The filesystem or storage medium is read-only, but a write operation was attempted.", - "id": 3381, + "id": 3380, "inner": { "variant": { "discriminant": null, @@ -315535,18 +334366,18 @@ "name": "ReadOnlyFilesystem", "span": { "begin": [ - 287, + 290, 5 ], "end": [ - 287, + 290, 23 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3382": { + "3381": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315555,7 +334386,7 @@ "crate_id": 0, "deprecation": null, "docs": "Stale network file handle.\n\nWith some network filesystems, notably NFS, an open file (or directory) can be invalidated\nby problems with the network or server.", - "id": 3382, + "id": 3381, "inner": { "variant": { "discriminant": null, @@ -315566,18 +334397,18 @@ "name": "StaleNetworkFileHandle", "span": { "begin": [ - 302, + 305, 5 ], "end": [ - 302, + 305, 27 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3383": { + "3382": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"io_invalid_data\"}}]" @@ -315586,7 +334417,7 @@ "crate_id": 0, "deprecation": null, "docs": "Data not valid for the operation were encountered.\n\nUnlike [`InvalidInput`], this typically means that the operation\nparameters were valid, however the error was caused by malformed\ninput data.\n\nFor example, a function that reads a file into a string will error with\n`InvalidData` if the file's contents are not valid UTF-8.\n\n[`InvalidInput`]: ErrorKind::InvalidInput", - "id": 3383, + "id": 3382, "inner": { "variant": { "discriminant": null, @@ -315594,23 +334425,23 @@ } }, "links": { - "ErrorKind::InvalidInput": 2438 + "ErrorKind::InvalidInput": 2436 }, "name": "InvalidData", "span": { "begin": [ - 317, + 320, 5 ], "end": [ - 317, + 320, 16 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3384": { + "3383": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -315619,7 +334450,7 @@ "crate_id": 0, "deprecation": null, "docs": "The I/O operation's timeout expired, causing it to be canceled.", - "id": 3384, + "id": 3383, "inner": { "variant": { "discriminant": null, @@ -315630,18 +334461,18 @@ "name": "TimedOut", "span": { "begin": [ - 320, + 323, 5 ], "end": [ - 320, + 323, 13 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3385": { + "3384": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -315650,7 +334481,7 @@ "crate_id": 0, "deprecation": null, "docs": "An error returned when an operation could not be completed because a\ncall to [`write`] returned [`Ok(0)`].\n\nThis typically means that an operation could only succeed if it wrote a\nparticular number of bytes but only a smaller number of bytes could be\nwritten.\n\n[`write`]: crate::io::Write::write\n[`Ok(0)`]: Ok", - "id": 3385, + "id": 3384, "inner": { "variant": { "discriminant": null, @@ -315659,23 +334490,23 @@ }, "links": { "Ok": 61, - "crate::io::Write::write": 2436 + "crate::io::Write::write": 2434 }, "name": "WriteZero", "span": { "begin": [ - 331, + 334, 5 ], "end": [ - 331, + 334, 14 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3386": { + "3385": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315684,7 +334515,7 @@ "crate_id": 0, "deprecation": null, "docs": "The underlying storage (typically, a filesystem) is full.\n\nThis does not include out of quota errors.", - "id": 3386, + "id": 3385, "inner": { "variant": { "discriminant": null, @@ -315695,18 +334526,18 @@ "name": "StorageFull", "span": { "begin": [ - 336, + 339, 5 ], "end": [ - 336, + 339, 16 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3387": { + "3386": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315715,7 +334546,7 @@ "crate_id": 0, "deprecation": null, "docs": "Seek on unseekable file.\n\nSeeking was attempted on an open file handle which is not suitable for seeking - for\nexample, on Unix, a named pipe opened with `File::open`.", - "id": 3387, + "id": 3386, "inner": { "variant": { "discriminant": null, @@ -315726,18 +334557,18 @@ "name": "NotSeekable", "span": { "begin": [ - 342, + 345, 5 ], "end": [ - 342, + 345, 16 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3388": { + "3387": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"io_error_quota_exceeded\"}}]" @@ -315746,7 +334577,7 @@ "crate_id": 0, "deprecation": null, "docs": "Filesystem quota or some other kind of quota was exceeded.", - "id": 3388, + "id": 3387, "inner": { "variant": { "discriminant": null, @@ -315757,18 +334588,18 @@ "name": "QuotaExceeded", "span": { "begin": [ - 345, + 348, 5 ], "end": [ - 345, + 348, 18 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3389": { + "3388": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315777,7 +334608,7 @@ "crate_id": 0, "deprecation": null, "docs": "File larger than allowed or supported.\n\nThis might arise from a hard limit of the underlying filesystem or file access API, or from\nan administratively imposed resource limitation. Simple disk full, and out of quota, have\ntheir own errors.", - "id": 3389, + "id": 3388, "inner": { "variant": { "discriminant": null, @@ -315788,18 +334619,18 @@ "name": "FileTooLarge", "span": { "begin": [ - 352, + 355, 5 ], "end": [ - 352, + 355, 17 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3390": { + "3389": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315808,7 +334639,7 @@ "crate_id": 0, "deprecation": null, "docs": "Resource is busy.", - "id": 3390, + "id": 3389, "inner": { "variant": { "discriminant": null, @@ -315819,18 +334650,18 @@ "name": "ResourceBusy", "span": { "begin": [ - 355, + 358, 5 ], "end": [ - 355, + 358, 17 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3391": { + "3390": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315839,7 +334670,7 @@ "crate_id": 0, "deprecation": null, "docs": "Executable file is busy.\n\nAn attempt was made to write to a file which is also in use as a running program. (Not all\noperating systems detect this situation.)", - "id": 3391, + "id": 3390, "inner": { "variant": { "discriminant": null, @@ -315850,18 +334681,18 @@ "name": "ExecutableFileBusy", "span": { "begin": [ - 361, + 364, 5 ], "end": [ - 361, + 364, 23 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3392": { + "3391": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315870,7 +334701,7 @@ "crate_id": 0, "deprecation": null, "docs": "Deadlock (avoided).\n\nA file locking operation would result in deadlock. This situation is typically detected, if\nat all, on a best-effort basis.", - "id": 3392, + "id": 3391, "inner": { "variant": { "discriminant": null, @@ -315881,18 +334712,18 @@ "name": "Deadlock", "span": { "begin": [ - 367, + 370, 5 ], "end": [ - 367, + 370, 13 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3393": { + "3392": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"io_error_crosses_devices\"}}]" @@ -315901,7 +334732,7 @@ "crate_id": 0, "deprecation": null, "docs": "Cross-device or cross-filesystem (hard) link or rename.", - "id": 3393, + "id": 3392, "inner": { "variant": { "discriminant": null, @@ -315912,18 +334743,18 @@ "name": "CrossesDevices", "span": { "begin": [ - 370, + 373, 5 ], "end": [ - 370, + 373, 19 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3394": { + "3393": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315932,7 +334763,7 @@ "crate_id": 0, "deprecation": null, "docs": "Too many (hard) links to the same filesystem object.\n\nThe filesystem does not support making so many hardlinks to the same file.", - "id": 3394, + "id": 3393, "inner": { "variant": { "discriminant": null, @@ -315943,18 +334774,18 @@ "name": "TooManyLinks", "span": { "begin": [ - 375, + 378, 5 ], "end": [ - 375, + 378, 17 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3395": { + "3394": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"io_error_invalid_filename\"}}]" @@ -315963,7 +334794,7 @@ "crate_id": 0, "deprecation": null, "docs": "A filename was invalid.\n\nThis error can also occur if a length limit for a name was exceeded.", - "id": 3395, + "id": 3394, "inner": { "variant": { "discriminant": null, @@ -315974,18 +334805,18 @@ "name": "InvalidFilename", "span": { "begin": [ - 380, + 383, 5 ], "end": [ - 380, + 383, 20 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3396": { + "3395": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"io_error_a_bit_more\"}}]" @@ -315994,7 +334825,7 @@ "crate_id": 0, "deprecation": null, "docs": "Program argument list too long.\n\nWhen trying to run an external program, a system or process limit on the size of the\narguments would have been exceeded.", - "id": 3396, + "id": 3395, "inner": { "variant": { "discriminant": null, @@ -316005,18 +334836,18 @@ "name": "ArgumentListTooLong", "span": { "begin": [ - 386, + 389, 5 ], "end": [ - 386, + 389, 24 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3397": { + "3396": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"unsupported_error\"}}]" @@ -316025,7 +334856,7 @@ "crate_id": 0, "deprecation": null, "docs": "This operation is unsupported on this platform.\n\nThis means that the operation can never succeed.", - "id": 3397, + "id": 3396, "inner": { "variant": { "discriminant": null, @@ -316036,18 +334867,18 @@ "name": "Unsupported", "span": { "begin": [ - 397, + 400, 5 ], "end": [ - 397, + 400, 16 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3398": { + "3397": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"read_exact\"}}]" @@ -316056,7 +334887,7 @@ "crate_id": 0, "deprecation": null, "docs": "An error returned when an operation could not be completed because an\n\"end of file\" was reached prematurely.\n\nThis typically means that an operation could only succeed if it read a\nparticular number of bytes but only a smaller number of bytes could be\nread.", - "id": 3398, + "id": 3397, "inner": { "variant": { "discriminant": null, @@ -316067,18 +334898,18 @@ "name": "UnexpectedEof", "span": { "begin": [ - 409, + 412, 5 ], "end": [ - 409, + 412, 18 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3399": { + "3398": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130840, is_soft: false}, feature: \"io_error_inprogress\"}}]" @@ -316087,7 +334918,7 @@ "crate_id": 0, "deprecation": null, "docs": "The operation was partially successful and needs to be checked\nlater on due to not blocking.", - "id": 3399, + "id": 3398, "inner": { "variant": { "discriminant": null, @@ -316098,11 +334929,11 @@ "name": "InProgress", "span": { "begin": [ - 419, + 422, 5 ], "end": [ - 419, + 422, 15 ], "filename": "std/src/io/error.rs" @@ -316152,104 +334983,90 @@ "docs": null, "id": 340, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "lifetime": "'env" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" } } - ], - "generic_params": [], - "type": { - "generic": "T" } } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + } } } }, "links": {}, - "name": null, + "name": "fmt", "span": { "begin": [ - 138, - 1 + 334, + 5 ], "end": [ - 138, - 36 + 340, + 6 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/thread/scoped.rs" }, "visibility": "default" }, - "3401": { + "3400": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3401, + "id": 3400, "inner": { "impl": { "blanket_impl": null, @@ -316281,12 +335098,12 @@ "span": null, "visibility": "default" }, - "3402": { + "3401": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3402, + "id": 3401, "inner": { "impl": { "blanket_impl": null, @@ -316318,12 +335135,12 @@ "span": null, "visibility": "default" }, - "3403": { + "3402": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3403, + "id": 3402, "inner": { "impl": { "blanket_impl": null, @@ -316345,7 +335162,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -316355,12 +335172,12 @@ "span": null, "visibility": "default" }, - "3404": { + "3403": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3404, + "id": 3403, "inner": { "impl": { "blanket_impl": null, @@ -316392,12 +335209,12 @@ "span": null, "visibility": "default" }, - "3405": { + "3404": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3405, + "id": 3404, "inner": { "impl": { "blanket_impl": null, @@ -316419,7 +335236,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -316429,12 +335246,12 @@ "span": null, "visibility": "default" }, - "3406": { + "3405": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3406, + "id": 3405, "inner": { "impl": { "blanket_impl": null, @@ -316456,7 +335273,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -316466,12 +335283,12 @@ "span": null, "visibility": "default" }, - "3407": { + "3406": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3407, + "id": 3406, "inner": { "impl": { "blanket_impl": { @@ -316525,7 +335342,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -316541,7 +335358,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -316550,23 +335367,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3408": { + "3407": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3408, + "id": 3407, "inner": { "impl": { "blanket_impl": { @@ -316620,7 +335437,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -316636,7 +335453,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -316645,23 +335462,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3409": { + "3408": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3409, + "id": 3408, "inner": { "impl": { "blanket_impl": { @@ -316697,7 +335514,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -316729,23 +335546,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "3410": { + "3409": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3410, + "id": 3409, "inner": { "impl": { "blanket_impl": { @@ -316820,7 +335637,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -316845,23 +335662,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3411": { + "3410": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3411, + "id": 3410, "inner": { "impl": { "blanket_impl": { @@ -316893,7 +335710,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -316918,23 +335735,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3412": { + "3411": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3412, + "id": 3411, "inner": { "impl": { "blanket_impl": { @@ -316991,7 +335808,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -317009,8 +335826,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -317026,7 +335843,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -317035,23 +335852,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3413": { + "3412": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3413, + "id": 3412, "inner": { "impl": { "blanket_impl": { @@ -317126,8 +335943,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -317143,7 +335960,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -317152,23 +335969,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3414": { + "3413": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3414, + "id": 3413, "inner": { "impl": { "blanket_impl": { @@ -317225,12 +336042,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -317250,12 +336067,12 @@ }, "visibility": "default" }, - "3415": { + "3414": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3415, + "id": 3414, "inner": { "impl": { "blanket_impl": { @@ -317291,7 +336108,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -317318,7 +336135,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -317327,23 +336144,23 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "3416": { + "3415": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3416, + "id": 3415, "inner": { "impl": { "blanket_impl": { @@ -317413,7 +336230,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -317422,18 +336239,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "3417": { + "3416": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -317442,7 +336259,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3417, + "id": 3416, "inner": { "function": { "generics": { @@ -317486,18 +336303,18 @@ "name": "clone", "span": { "begin": [ - 220, + 223, 10 ], "end": [ - 220, + 223, 15 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3418": { + "3417": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -317510,7 +336327,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3418, + "id": 3417, "inner": { "impl": { "blanket_impl": null, @@ -317529,14 +336346,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3417 + 3416 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -317545,18 +336362,18 @@ "name": null, "span": { "begin": [ - 220, + 223, 10 ], "end": [ - 220, + 223, 15 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3419": { + "3418": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -317569,7 +336386,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3419, + "id": 3418, "inner": { "impl": { "blanket_impl": null, @@ -317591,7 +336408,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -317600,103 +336417,18 @@ "name": null, "span": { "begin": [ - 220, + 223, 17 ], "end": [ - 220, + 223, 21 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "342": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 342, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 335, - 5 - ], - "end": [ - 341, - 6 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "default" - }, - "3420": { + "3419": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -317705,7 +336437,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3420, + "id": 3419, "inner": { "function": { "generics": { @@ -317751,7 +336483,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -317763,7 +336495,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -317774,18 +336506,18 @@ "name": "fmt", "span": { "begin": [ - 220, + 223, 23 ], "end": [ - 220, + 223, 28 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3421": { + "3420": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -317798,7 +336530,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3421, + "id": 3420, "inner": { "impl": { "blanket_impl": null, @@ -317817,12 +336549,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3420 + 3419 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -317831,18 +336563,18 @@ "name": null, "span": { "begin": [ - 220, + 223, 23 ], "end": [ - 220, + 223, 28 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3422": { + "3421": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -317855,7 +336587,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3422, + "id": 3421, "inner": { "impl": { "blanket_impl": null, @@ -317879,7 +336611,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -317888,18 +336620,18 @@ "name": null, "span": { "begin": [ - 220, + 223, 30 ], "end": [ - 220, + 223, 32 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3423": { + "3422": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -317908,7 +336640,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3423, + "id": 3422, "inner": { "function": { "generics": { @@ -317981,18 +336713,18 @@ "name": "hash", "span": { "begin": [ - 220, + 223, 34 ], "end": [ - 220, + 223, 38 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3424": { + "3423": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -318005,7 +336737,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3424, + "id": 3423, "inner": { "impl": { "blanket_impl": null, @@ -318024,7 +336756,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3423 + 3422 ], "provided_trait_methods": [ "hash_slice" @@ -318040,18 +336772,18 @@ "name": null, "span": { "begin": [ - 220, + 223, 34 ], "end": [ - 220, + 223, 38 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3425": { + "3424": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -318060,7 +336792,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3425, + "id": 3424, "inner": { "function": { "generics": { @@ -318109,7 +336841,7 @@ "output": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "$crate::cmp::Ordering" } } @@ -318120,18 +336852,18 @@ "name": "cmp", "span": { "begin": [ - 220, + 223, 40 ], "end": [ - 220, + 223, 43 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3426": { + "3425": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -318144,7 +336876,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3426, + "id": 3425, "inner": { "impl": { "blanket_impl": null, @@ -318163,7 +336895,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3425 + 3424 ], "provided_trait_methods": [ "max", @@ -318172,7 +336904,7 @@ ], "trait": { "args": null, - "id": 119, + "id": 117, "path": "Ord" } } @@ -318181,18 +336913,18 @@ "name": null, "span": { "begin": [ - 220, + 223, 40 ], "end": [ - 220, + 223, 43 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3427": { + "3426": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -318205,7 +336937,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3427, + "id": 3426, "inner": { "impl": { "blanket_impl": null, @@ -318236,18 +336968,18 @@ "name": null, "span": { "begin": [ - 220, + 223, 45 ], "end": [ - 220, + 223, 54 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3428": { + "3427": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -318256,7 +336988,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3428, + "id": 3427, "inner": { "function": { "generics": { @@ -318312,18 +337044,18 @@ "name": "eq", "span": { "begin": [ - 220, + 223, 45 ], "end": [ - 220, + 223, 54 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3429": { + "3428": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -318336,7 +337068,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3429, + "id": 3428, "inner": { "impl": { "blanket_impl": null, @@ -318355,14 +337087,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3428 + 3427 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -318371,18 +337103,18 @@ "name": null, "span": { "begin": [ - 220, + 223, 45 ], "end": [ - 220, + 223, 54 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3430": { + "3429": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -318391,7 +337123,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3430, + "id": 3429, "inner": { "function": { "generics": { @@ -318446,7 +337178,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "$crate::cmp::Ordering" } } @@ -318466,18 +337198,83 @@ "name": "partial_cmp", "span": { "begin": [ - 220, + 223, 56 ], "end": [ - 220, + 223, 66 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3431": { + "343": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 343, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 303, + "path": "Scope" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 340 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 333, + 1 + ], + "end": [ + 341, + 2 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "default" + }, + "3430": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -318490,7 +337287,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3431, + "id": 3430, "inner": { "impl": { "blanket_impl": null, @@ -318509,7 +337306,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3430 + 3429 ], "provided_trait_methods": [ "lt", @@ -318523,7 +337320,7 @@ ], "trait": { "args": null, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -318532,23 +337329,23 @@ "name": null, "span": { "begin": [ - 220, + 223, 56 ], "end": [ - 220, + 223, 66 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3432": { + "3431": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Shows a human-readable description of the `ErrorKind`.\n\nThis is similar to `impl Display for Error`, but doesn't require first converting to Error.\n\n# Examples\n```\nuse std::io::ErrorKind;\nassert_eq!(\"entity not found\", ErrorKind::NotFound.to_string());\n```", - "id": 3432, + "id": 3431, "inner": { "function": { "generics": { @@ -318594,7 +337391,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -318606,7 +337403,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -318617,18 +337414,18 @@ "name": "fmt", "span": { "begin": [ - 511, + 514, 5 ], "end": [ - 513, + 516, 6 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3433": { + "3432": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"io_errorkind_display\"}}]" @@ -318637,7 +337434,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3433, + "id": 3432, "inner": { "impl": { "blanket_impl": null, @@ -318656,7 +337453,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3432 + 3431 ], "provided_trait_methods": [], "trait": { @@ -318670,18 +337467,18 @@ "name": null, "span": { "begin": [ - 501, + 504, 1 ], "end": [ - 514, + 517, 2 ], "filename": "std/src/io/error.rs" }, "visibility": "default" }, - "3436": { + "3435": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -318690,7 +337487,7 @@ "crate_id": 0, "deprecation": null, "docs": "Read end of an anonymous pipe.", - "id": 3436, + "id": 3435, "inner": { "struct": { "generics": { @@ -318698,6 +337495,7 @@ "where_predicates": [] }, "impls": [ + 3440, 3441, 3442, 3443, @@ -318711,23 +337509,22 @@ 3451, 3452, 3453, - 3454, - 3456, - 3462, - 3468, - 3470, - 3472, - 3474, - 3476, - 3478, - 3480, - 3482, - 3484, - 3486, - 3488, - 3490, - 3492, - 3494 + 3455, + 3461, + 3467, + 3469, + 3471, + 3473, + 3475, + 3477, + 3479, + 3481, + 3483, + 3485, + 3487, + 3489, + 3491, + 3493 ], "kind": { "tuple": [ @@ -318751,7 +337548,7 @@ }, "visibility": "public" }, - "3437": { + "3436": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -318760,7 +337557,7 @@ "crate_id": 0, "deprecation": null, "docs": "Write end of an anonymous pipe.", - "id": 3437, + "id": 3436, "inner": { "struct": { "generics": { @@ -318768,6 +337565,7 @@ "where_predicates": [] }, "impls": [ + 3496, 3497, 3498, 3499, @@ -318781,23 +337579,22 @@ 3507, 3508, 3509, - 3510, - 3512, - 3517, - 3522, - 3524, - 3526, - 3528, - 3530, - 3532, - 3534, - 3536, - 3538, - 3540, - 3542, - 3544, - 3546, - 3548 + 3511, + 3516, + 3521, + 3523, + 3525, + 3527, + 3529, + 3531, + 3533, + 3535, + 3537, + 3539, + 3541, + 3543, + 3545, + 3547 ], "kind": { "tuple": [ @@ -318821,7 +337618,7 @@ }, "visibility": "public" }, - "3438": { + "3437": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -318833,7 +337630,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an anonymous pipe.\n\n# Behavior\n\nA pipe is a one-way data channel provided by the OS, which works across processes. A pipe is\ntypically used to communicate between two or more separate processes, as there are better,\nfaster ways to communicate within a single process.\n\nIn particular:\n\n* A read on a [`PipeReader`] blocks until the pipe is non-empty.\n* A write on a [`PipeWriter`] blocks when the pipe is full.\n* When all copies of a [`PipeWriter`] are closed, a read on the corresponding [`PipeReader`]\n returns EOF.\n* [`PipeWriter`] can be shared, and multiple processes or threads can write to it at once, but\n writes (above a target-specific threshold) may have their data interleaved.\n* [`PipeReader`] can be shared, and multiple processes or threads can read it at once. Any\n given byte will only get consumed by one reader. There are no guarantees about data\n interleaving.\n* Portable applications cannot assume any atomicity of messages larger than a single byte.\n\n# Platform-specific behavior\n\nThis function currently corresponds to the `pipe` function on Unix and the\n`CreatePipe` function on Windows.\n\nNote that this [may change in the future][changes].\n\n# Capacity\n\nPipe capacity is platform dependent. To quote the Linux [man page]:\n\n> Different implementations have different limits for the pipe capacity. Applications should\n> not rely on a particular capacity: an application should be designed so that a reading process\n> consumes data as soon as it is available, so that a writing process does not remain blocked.\n\n# Example\n\n```no_run\n# #[cfg(miri)] fn main() {}\n# #[cfg(not(miri))]\n# fn main() -> std::io::Result<()> {\nuse std::io::{Read, Write, pipe};\nuse std::process::Command;\nlet (ping_reader, mut ping_writer) = pipe()?;\nlet (mut pong_reader, pong_writer) = pipe()?;\n\n// Spawn a child process that echoes its input.\nlet mut echo_command = Command::new(\"cat\");\necho_command.stdin(ping_reader);\necho_command.stdout(pong_writer);\nlet mut echo_child = echo_command.spawn()?;\n\n// Send input to the child process. Note that because we're writing all the input before we\n// read any output, this could deadlock if the child's input and output pipe buffers both\n// filled up. Those buffers are usually at least a few KB, so \"hello\" is fine, but for longer\n// inputs we'd need to read and write at the same time, e.g. using threads.\nping_writer.write_all(b\"hello\")?;\n\n// `cat` exits when it reads EOF from stdin, but that can't happen while any ping writer\n// remains open. We need to drop our ping writer, or read_to_string will deadlock below.\ndrop(ping_writer);\n\n// The pong reader can't report EOF while any pong writer remains open. Our Command object is\n// holding a pong writer, and again read_to_string will deadlock if we don't drop it.\ndrop(echo_command);\n\nlet mut buf = String::new();\n// Block until `cat` closes its stdout (a pong writer).\npong_reader.read_to_string(&mut buf)?;\nassert_eq!(&buf, \"hello\");\n\n// At this point we know `cat` has exited, but we still need to wait to clean up the \"zombie\".\necho_child.wait()?;\n# Ok(())\n# }\n```\n[changes]: io#platform-specific-behavior\n[man page]: https://man7.org/linux/man-pages/man7/pipe.7.html", - "id": 3438, + "id": 3437, "inner": { "function": { "generics": { @@ -318861,14 +337658,14 @@ { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } } @@ -318879,7 +337676,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -318887,9 +337684,9 @@ } }, "links": { - "`PipeReader`": 3436, - "`PipeWriter`": 3437, - "io#platform-specific-behavior": 501 + "`PipeReader`": 3435, + "`PipeWriter`": 3436, + "io#platform-specific-behavior": 502 }, "name": "pipe", "span": { @@ -318905,7 +337702,7 @@ }, "visibility": "public" }, - "3440": { + "3439": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -318914,7 +337711,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new [`PipeReader`] instance that shares the same underlying file description.\n\n# Examples\n\n```no_run\n# #[cfg(miri)] fn main() {}\n# #[cfg(not(miri))]\n# fn main() -> std::io::Result<()> {\nuse std::fs;\nuse std::io::{pipe, Write};\nuse std::process::Command;\nconst NUM_SLOT: u8 = 2;\nconst NUM_PROC: u8 = 5;\nconst OUTPUT: &str = \"work.txt\";\n\nlet mut jobs = vec![];\nlet (reader, mut writer) = pipe()?;\n\n// Write NUM_SLOT characters the pipe.\nwriter.write_all(&[b'|'; NUM_SLOT as usize])?;\n\n// Spawn several processes that read a character from the pipe, do some work, then\n// write back to the pipe. When the pipe is empty, the processes block, so only\n// NUM_SLOT processes can be working at any given time.\nfor _ in 0..NUM_PROC {\n jobs.push(\n Command::new(\"bash\")\n .args([\"-c\",\n &format!(\n \"read -n 1\\n\\\n echo -n 'x' >> '{OUTPUT}'\\n\\\n echo -n '|'\",\n ),\n ])\n .stdin(reader.try_clone()?)\n .stdout(writer.try_clone()?)\n .spawn()?,\n );\n}\n\n// Wait for all jobs to finish.\nfor mut job in jobs {\n job.wait()?;\n}\n\n// Check our work and clean up.\nlet xs = fs::read_to_string(OUTPUT)?;\nfs::remove_file(OUTPUT)?;\nassert_eq!(xs, \"x\".repeat(NUM_PROC.into()));\n# Ok(())\n# }\n```", - "id": 3440, + "id": 3439, "inner": { "function": { "generics": { @@ -318958,7 +337755,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -318966,7 +337763,7 @@ } }, "links": { - "`PipeReader`": 3436 + "`PipeReader`": 3435 }, "name": "try_clone", "span": { @@ -318982,19 +337779,19 @@ }, "visibility": "public" }, - "3441": { + "3440": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3441, + "id": 3440, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319006,7 +337803,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3440 + 3439 ], "provided_trait_methods": [], "trait": null @@ -319027,19 +337824,19 @@ }, "visibility": "default" }, - "3442": { + "3441": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3442, + "id": 3441, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319064,19 +337861,19 @@ "span": null, "visibility": "default" }, - "3443": { + "3442": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3443, + "id": 3442, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319101,19 +337898,19 @@ "span": null, "visibility": "default" }, - "3444": { + "3443": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3444, + "id": 3443, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319128,7 +337925,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -319138,19 +337935,19 @@ "span": null, "visibility": "default" }, - "3445": { + "3444": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3445, + "id": 3444, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319175,19 +337972,19 @@ "span": null, "visibility": "default" }, - "3446": { + "3445": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3446, + "id": 3445, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319202,7 +337999,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -319212,19 +338009,19 @@ "span": null, "visibility": "default" }, - "3447": { + "3446": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3447, + "id": 3446, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319239,7 +338036,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -319249,12 +338046,12 @@ "span": null, "visibility": "default" }, - "3448": { + "3447": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3448, + "id": 3447, "inner": { "impl": { "blanket_impl": { @@ -319263,7 +338060,7 @@ "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319308,7 +338105,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -319324,7 +338121,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -319333,23 +338130,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3449": { + "3448": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3449, + "id": 3448, "inner": { "impl": { "blanket_impl": { @@ -319358,7 +338155,7 @@ "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319403,7 +338200,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -319419,7 +338216,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -319428,88 +338225,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "345": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 345, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 305, - "path": "Scope" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 342 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 334, - 1 - ], - "end": [ - 342, - 2 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "default" - }, - "3450": { + "3449": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3450, + "id": 3449, "inner": { "impl": { "blanket_impl": { @@ -319518,7 +338250,7 @@ "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319584,7 +338316,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -319609,23 +338341,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3451": { + "3450": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3451, + "id": 3450, "inner": { "impl": { "blanket_impl": { @@ -319634,7 +338366,7 @@ "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319657,7 +338389,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -319682,23 +338414,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3452": { + "3451": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3452, + "id": 3451, "inner": { "impl": { "blanket_impl": { @@ -319707,7 +338439,7 @@ "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319755,7 +338487,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -319773,8 +338505,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -319790,7 +338522,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -319799,23 +338531,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3453": { + "3452": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3453, + "id": 3452, "inner": { "impl": { "blanket_impl": { @@ -319824,7 +338556,7 @@ "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319890,8 +338622,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -319907,7 +338639,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -319916,23 +338648,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3454": { + "3453": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3454, + "id": 3453, "inner": { "impl": { "blanket_impl": { @@ -319941,7 +338673,7 @@ "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -319989,12 +338721,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -320014,7 +338746,7 @@ }, "visibility": "default" }, - "3455": { + "3454": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -320023,7 +338755,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3455, + "id": 3454, "inner": { "function": { "generics": { @@ -320069,7 +338801,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -320081,7 +338813,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -320103,7 +338835,7 @@ }, "visibility": "default" }, - "3456": { + "3455": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -320113,14 +338845,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3456, + "id": 3455, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -320132,12 +338864,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3455 + 3454 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -320157,12 +338889,12 @@ }, "visibility": "default" }, - "3457": { + "3456": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3457, + "id": 3456, "inner": { "function": { "generics": { @@ -320220,7 +338952,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -320242,12 +338974,12 @@ }, "visibility": "default" }, - "3458": { + "3457": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3458, + "id": 3457, "inner": { "function": { "generics": { @@ -320294,7 +339026,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "io::IoSliceMut" } } @@ -320318,7 +339050,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -320340,7 +339072,7 @@ }, "visibility": "default" }, - "3459": { + "3458": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -320349,7 +339081,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3459, + "id": 3458, "inner": { "function": { "generics": { @@ -320400,12 +339132,12 @@ }, "visibility": "default" }, - "3460": { + "3459": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3460, + "id": 3459, "inner": { "function": { "generics": { @@ -320453,7 +339185,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -320476,7 +339208,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -320498,12 +339230,87 @@ }, "visibility": "default" }, - "3461": { + "346": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Extracts a handle to the underlying thread.\n\n# Examples\n\n```\nuse std::thread;\n\nthread::scope(|s| {\n let t = s.spawn(|| {\n println!(\"hello\");\n });\n println!(\"thread id: {:?}\", t.thread().id());\n});\n```", + "id": 346, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + } + } + } + } + } + }, + "links": {}, + "name": "thread", + "span": { + "begin": [ + 281, + 5 + ], + "end": [ + 283, + 6 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "public" + }, + "3460": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3461, + "id": 3460, "inner": { "function": { "generics": { @@ -320545,7 +339352,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "io::BorrowedCursor" } } @@ -320566,7 +339373,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -320588,7 +339395,7 @@ }, "visibility": "default" }, - "3462": { + "3461": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -320597,7 +339404,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3462, + "id": 3461, "inner": { "impl": { "blanket_impl": null, @@ -320608,7 +339415,7 @@ "type": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } } @@ -320622,11 +339429,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3456, 3457, 3458, 3459, - 3460, - 3461 + 3460 ], "provided_trait_methods": [ "read_vectored", @@ -320643,7 +339450,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -320663,12 +339470,12 @@ }, "visibility": "default" }, - "3463": { + "3462": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3463, + "id": 3462, "inner": { "function": { "generics": { @@ -320726,7 +339533,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -320748,12 +339555,12 @@ }, "visibility": "default" }, - "3464": { + "3463": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3464, + "id": 3463, "inner": { "function": { "generics": { @@ -320800,7 +339607,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "io::IoSliceMut" } } @@ -320824,7 +339631,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -320846,7 +339653,7 @@ }, "visibility": "default" }, - "3465": { + "3464": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -320855,7 +339662,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3465, + "id": 3464, "inner": { "function": { "generics": { @@ -320906,12 +339713,12 @@ }, "visibility": "default" }, - "3466": { + "3465": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3466, + "id": 3465, "inner": { "function": { "generics": { @@ -320959,7 +339766,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -320982,7 +339789,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -321004,12 +339811,12 @@ }, "visibility": "default" }, - "3467": { + "3466": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3467, + "id": 3466, "inner": { "function": { "generics": { @@ -321051,7 +339858,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "io::BorrowedCursor" } } @@ -321072,7 +339879,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -321094,7 +339901,7 @@ }, "visibility": "default" }, - "3468": { + "3467": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -321103,14 +339910,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3468, + "id": 3467, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } }, @@ -321122,11 +339929,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3462, 3463, 3464, 3465, - 3466, - 3467 + 3466 ], "provided_trait_methods": [ "read_vectored", @@ -321143,7 +339950,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -321163,12 +339970,12 @@ }, "visibility": "default" }, - "3469": { + "3468": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3469, + "id": 3468, "inner": { "function": { "generics": { @@ -321232,7 +340039,7 @@ }, "visibility": "default" }, - "3470": { + "3469": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -321244,14 +340051,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3470, + "id": 3469, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } }, @@ -321263,7 +340070,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3469 + 3468 ], "provided_trait_methods": [], "trait": { @@ -321288,12 +340095,77 @@ }, "visibility": "default" }, - "3471": { + "347": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A handle to a thread.\n\nThreads are represented via the `Thread` type, which you can get in one of\ntwo ways:\n\n* By spawning a new thread, e.g., using the [`thread::spawn`][`spawn`]\n function, and calling [`thread`][`JoinHandle::thread`] on the\n [`JoinHandle`].\n* By requesting the current thread, using the [`thread::current`] function.\n\nThe [`thread::current`] function is available even for threads not spawned\nby the APIs of this module.\n\nThere is usually no need to create a `Thread` struct yourself, one\nshould instead use a function like `spawn` to create new threads, see the\ndocs of [`Builder`] and [`spawn`] for more details.\n\n[`thread::current`]: current::current", + "id": 347, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 564, + 566 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "`Builder`": 306, + "`JoinHandle::thread`": 543, + "`JoinHandle`": 475, + "`spawn`": 470, + "current::current": 371 + }, + "name": "Thread", + "span": { + "begin": [ + 1467, + 1 + ], + "end": [ + 1469, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "3470": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3471, + "id": 3470, "inner": { "function": { "generics": { @@ -321314,7 +340186,7 @@ { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } } @@ -321342,7 +340214,7 @@ }, "visibility": "default" }, - "3472": { + "3471": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -321354,7 +340226,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3472, + "id": 3471, "inner": { "impl": { "blanket_impl": null, @@ -321373,7 +340245,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3471 + 3470 ], "provided_trait_methods": [], "trait": { @@ -321384,7 +340256,7 @@ "type": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } } @@ -321413,12 +340285,12 @@ }, "visibility": "default" }, - "3473": { + "3472": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3473, + "id": 3472, "inner": { "function": { "generics": { @@ -321467,7 +340339,7 @@ }, "visibility": "default" }, - "3474": { + "3473": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -321479,14 +340351,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3474, + "id": 3473, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } }, @@ -321498,7 +340370,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3473 + 3472 ], "provided_trait_methods": [], "trait": { @@ -321538,12 +340410,12 @@ }, "visibility": "default" }, - "3475": { + "3474": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3475, + "id": 3474, "inner": { "function": { "generics": { @@ -321598,7 +340470,7 @@ }, "visibility": "default" }, - "3476": { + "3475": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -321610,14 +340482,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3476, + "id": 3475, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } }, @@ -321629,7 +340501,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3475 + 3474 ], "provided_trait_methods": [], "trait": { @@ -321654,12 +340526,12 @@ }, "visibility": "default" }, - "3477": { + "3476": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3477, + "id": 3476, "inner": { "function": { "generics": { @@ -321708,7 +340580,7 @@ }, "visibility": "default" }, - "3478": { + "3477": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -321720,14 +340592,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3478, + "id": 3477, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } }, @@ -321739,7 +340611,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3477 + 3476 ], "provided_trait_methods": [], "trait": { @@ -321764,12 +340636,12 @@ }, "visibility": "default" }, - "3479": { + "3478": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3479, + "id": 3478, "inner": { "function": { "generics": { @@ -321818,82 +340690,7 @@ }, "visibility": "default" }, - "348": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Extracts a handle to the underlying thread.\n\n# Examples\n\n```\nuse std::thread;\n\nthread::scope(|s| {\n let t = s.spawn(|| {\n println!(\"hello\");\n });\n println!(\"thread id: {:?}\", t.thread().id());\n});\n```", - "id": 348, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - } - } - } - } - } - }, - "links": {}, - "name": "thread", - "span": { - "begin": [ - 282, - 5 - ], - "end": [ - 284, - 6 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "public" - }, - "3480": { + "3479": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -321905,14 +340702,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3480, + "id": 3479, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } }, @@ -321924,7 +340721,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3479 + 3478 ], "provided_trait_methods": [], "trait": { @@ -321949,12 +340746,12 @@ }, "visibility": "default" }, - "3481": { + "3480": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3481, + "id": 3480, "inner": { "function": { "generics": { @@ -321998,18 +340795,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 291, + 295, 5 ], "end": [ - 293, + 297, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3482": { + "3481": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -322021,14 +340818,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3482, + "id": 3481, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } }, @@ -322040,7 +340837,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3481 + 3480 ], "provided_trait_methods": [], "trait": { @@ -322054,23 +340851,23 @@ "name": null, "span": { "begin": [ - 290, + 294, 1 ], "end": [ - 294, + 298, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3483": { + "3482": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3483, + "id": 3482, "inner": { "function": { "generics": { @@ -322108,18 +340905,18 @@ "name": "from_raw_fd", "span": { "begin": [ - 299, + 303, 5 ], "end": [ - 301, + 305, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3484": { + "3483": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -322131,14 +340928,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3484, + "id": 3483, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } }, @@ -322150,7 +340947,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3483 + 3482 ], "provided_trait_methods": [], "trait": { @@ -322164,23 +340961,23 @@ "name": null, "span": { "begin": [ - 298, + 302, 1 ], "end": [ - 302, + 306, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3485": { + "3484": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3485, + "id": 3484, "inner": { "function": { "generics": { @@ -322218,18 +341015,18 @@ "name": "into_raw_fd", "span": { "begin": [ - 307, + 311, 5 ], "end": [ - 309, + 313, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3486": { + "3485": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -322241,14 +341038,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3486, + "id": 3485, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } }, @@ -322260,7 +341057,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3485 + 3484 ], "provided_trait_methods": [], "trait": { @@ -322274,23 +341071,23 @@ "name": null, "span": { "begin": [ - 306, + 310, 1 ], "end": [ - 310, + 314, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3487": { + "3486": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3487, + "id": 3486, "inner": { "function": { "generics": { @@ -322343,18 +341140,18 @@ "name": "as_fd", "span": { "begin": [ - 511, + 529, 5 ], "end": [ - 513, + 531, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3488": { + "3487": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -322366,14 +341163,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3488, + "id": 3487, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } }, @@ -322385,7 +341182,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3487 + 3486 ], "provided_trait_methods": [], "trait": { @@ -322399,23 +341196,23 @@ "name": null, "span": { "begin": [ - 510, + 528, 1 ], "end": [ - 514, + 532, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3489": { + "3488": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3489, + "id": 3488, "inner": { "function": { "generics": { @@ -322436,7 +341233,7 @@ { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } } @@ -322453,83 +341250,18 @@ "name": "from", "span": { "begin": [ - 519, + 537, 5 ], "end": [ - 521, + 539, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "349": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A handle to a thread.\n\nThreads are represented via the `Thread` type, which you can get in one of\ntwo ways:\n\n* By spawning a new thread, e.g., using the [`thread::spawn`][`spawn`]\n function, and calling [`thread`][`JoinHandle::thread`] on the\n [`JoinHandle`].\n* By requesting the current thread, using the [`thread::current`] function.\n\nThe [`thread::current`] function is available even for threads not spawned\nby the APIs of this module.\n\nThere is usually no need to create a `Thread` struct yourself, one\nshould instead use a function like `spawn` to create new threads, see the\ndocs of [`Builder`] and [`spawn`] for more details.\n\n[`thread::current`]: current::current", - "id": 349, - "inner": { - "struct": { - "generics": { - "params": [], - "where_predicates": [] - }, - "impls": [ - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 564, - 566 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "`Builder`": 308, - "`JoinHandle::thread`": 543, - "`JoinHandle`": 474, - "`spawn`": 469, - "current::current": 371 - }, - "name": "Thread", - "span": { - "begin": [ - 1441, - 1 - ], - "end": [ - 1443, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "3490": { + "3489": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -322541,7 +341273,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3490, + "id": 3489, "inner": { "impl": { "blanket_impl": null, @@ -322560,7 +341292,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3489 + 3488 ], "provided_trait_methods": [], "trait": { @@ -322571,7 +341303,7 @@ "type": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } } @@ -322589,23 +341321,132 @@ "name": null, "span": { "begin": [ - 518, + 536, 1 ], "end": [ - 522, + 540, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3491": { + "349": { + "attrs": [ + { + "other": "#[doc(search_unbox)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A specialized [`Result`] type for threads.\n\nIndicates the manner in which a thread exited.\n\nThe value contained in the `Result::Err` variant\nis the value the thread panicked with;\nthat is, the argument the `panic!` macro was called with.\nUnlike with normal errors, this value doesn't implement\nthe [`Error`](crate::error::Error) trait.\n\nThus, a sensible way to handle a thread panic is to either:\n\n1. propagate the panic with [`std::panic::resume_unwind`]\n2. or in case the thread is intended to be a subsystem boundary\nthat is supposed to isolate system-level failures,\nmatch on the `Err` variant and handle the panic in an appropriate way\n\nA thread that completes without panicking is considered to exit successfully.\n\n# Examples\n\nMatching on the result of a joined thread:\n\n```no_run\nuse std::{fs, thread, panic};\n\nfn copy_in_thread() -> thread::Result<()> {\n thread::spawn(|| {\n fs::copy(\"foo.txt\", \"bar.txt\").unwrap();\n }).join()\n}\n\nfn main() {\n match copy_in_thread() {\n Ok(_) => println!(\"copy succeeded\"),\n Err(e) => panic::resume_unwind(e),\n }\n}\n```\n\n[`Result`]: crate::result::Result\n[`std::panic::resume_unwind`]: crate::panic::resume_unwind", + "id": 349, + "inner": { + "type_alias": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "dyn_trait": { + "lifetime": "'static", + "traits": [ + { + "generic_params": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + }, + { + "generic_params": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + ] + } + } + } + ], + "constraints": [] + } + }, + "id": 157, + "path": "Box" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "crate::result::Result" + } + } + } + }, + "links": { + "crate::error::Error": 450, + "crate::panic::resume_unwind": 567, + "crate::result::Result": 57 + }, + "name": "Result", + "span": { + "begin": [ + 1746, + 1 + ], + "end": [ + 1746, + 78 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "3490": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3491, + "id": 3490, "inner": { "function": { "generics": { @@ -322643,18 +341484,18 @@ "name": "from", "span": { "begin": [ - 543, + 561, 5 ], "end": [ - 545, + 563, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3492": { + "3491": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -322666,14 +341507,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3492, + "id": 3491, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } }, @@ -322685,7 +341526,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3491 + 3490 ], "provided_trait_methods": [], "trait": { @@ -322714,23 +341555,23 @@ "name": null, "span": { "begin": [ - 542, + 560, 1 ], "end": [ - 546, + 564, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3493": { + "3492": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3493, + "id": 3492, "inner": { "function": { "generics": { @@ -322751,7 +341592,7 @@ { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "io::PipeReader" } } @@ -322768,18 +341609,18 @@ "name": "from", "span": { "begin": [ - 1745, + 1756, 5 ], "end": [ - 1747, + 1758, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "3494": { + "3493": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -322788,7 +341629,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3494, + "id": 3493, "inner": { "impl": { "blanket_impl": null, @@ -322807,7 +341648,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3493 + 3492 ], "provided_trait_methods": [], "trait": { @@ -322818,7 +341659,7 @@ "type": { "resolved_path": { "args": null, - "id": 3436, + "id": 3435, "path": "PipeReader" } } @@ -322836,18 +341677,18 @@ "name": null, "span": { "begin": [ - 1744, + 1755, 1 ], "end": [ - 1748, + 1759, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "3496": { + "3495": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -322856,7 +341697,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new [`PipeWriter`] instance that shares the same underlying file description.\n\n# Examples\n\n```no_run\n# #[cfg(miri)] fn main() {}\n# #[cfg(not(miri))]\n# fn main() -> std::io::Result<()> {\nuse std::process::Command;\nuse std::io::{pipe, Read};\nlet (mut reader, writer) = pipe()?;\n\n// Spawn a process that writes to stdout and stderr.\nlet mut peer = Command::new(\"bash\")\n .args([\n \"-c\",\n \"echo -n foo\\n\\\n echo -n bar >&2\"\n ])\n .stdout(writer.try_clone()?)\n .stderr(writer)\n .spawn()?;\n\n// Read and check the result.\nlet mut msg = String::new();\nreader.read_to_string(&mut msg)?;\nassert_eq!(&msg, \"foobar\");\n\npeer.wait()?;\n# Ok(())\n# }\n```", - "id": 3496, + "id": 3495, "inner": { "function": { "generics": { @@ -322900,7 +341741,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -322908,7 +341749,7 @@ } }, "links": { - "`PipeWriter`": 3437 + "`PipeWriter`": 3436 }, "name": "try_clone", "span": { @@ -322924,19 +341765,19 @@ }, "visibility": "public" }, - "3497": { + "3496": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3497, + "id": 3496, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -322948,7 +341789,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3496 + 3495 ], "provided_trait_methods": [], "trait": null @@ -322969,19 +341810,19 @@ }, "visibility": "default" }, - "3498": { + "3497": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3498, + "id": 3497, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323006,19 +341847,19 @@ "span": null, "visibility": "default" }, - "3499": { + "3498": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3499, + "id": 3498, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323043,19 +341884,19 @@ "span": null, "visibility": "default" }, - "3500": { + "3499": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3500, + "id": 3499, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323070,7 +341911,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -323080,19 +341921,81 @@ "span": null, "visibility": "default" }, - "3501": { + "350": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Checks if the associated thread has finished running its main function.\n\n`is_finished` supports implementing a non-blocking join operation, by checking\n`is_finished`, and calling `join` if it returns `true`. This function does not block. To\nblock while waiting on the thread to finish, use [`join`][Self::join].\n\nThis might return `true` for a brief moment after the thread's main\nfunction has returned, but before the thread itself has stopped running.\nHowever, once this returns `true`, [`join`][Self::join] can be expected\nto return quickly, without blocking for any significant amount of time.", + "id": 350, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": { + "Self::join": 305 + }, + "name": "is_finished", + "span": { + "begin": [ + 327, + 5 + ], + "end": [ + 329, + 6 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "public" + }, + "3500": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3501, + "id": 3500, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323117,19 +342020,19 @@ "span": null, "visibility": "default" }, - "3502": { + "3501": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3502, + "id": 3501, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323144,7 +342047,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -323154,19 +342057,19 @@ "span": null, "visibility": "default" }, - "3503": { + "3502": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3503, + "id": 3502, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323181,7 +342084,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -323191,12 +342094,12 @@ "span": null, "visibility": "default" }, - "3504": { + "3503": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3504, + "id": 3503, "inner": { "impl": { "blanket_impl": { @@ -323205,7 +342108,7 @@ "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323250,7 +342153,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -323266,7 +342169,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -323275,23 +342178,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3505": { + "3504": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3505, + "id": 3504, "inner": { "impl": { "blanket_impl": { @@ -323300,7 +342203,7 @@ "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323345,7 +342248,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -323361,7 +342264,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -323370,23 +342273,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3506": { + "3505": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3506, + "id": 3505, "inner": { "impl": { "blanket_impl": { @@ -323395,7 +342298,7 @@ "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323461,7 +342364,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -323486,23 +342389,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3507": { + "3506": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3507, + "id": 3506, "inner": { "impl": { "blanket_impl": { @@ -323511,7 +342414,7 @@ "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323534,7 +342437,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -323559,23 +342462,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3508": { + "3507": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3508, + "id": 3507, "inner": { "impl": { "blanket_impl": { @@ -323584,7 +342487,7 @@ "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323632,7 +342535,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -323650,8 +342553,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -323667,7 +342570,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -323676,23 +342579,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3509": { + "3508": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3509, + "id": 3508, "inner": { "impl": { "blanket_impl": { @@ -323701,7 +342604,7 @@ "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323767,8 +342670,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -323784,7 +342687,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -323793,132 +342696,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "351": { - "attrs": [ - { - "other": "#[doc(search_unbox)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A specialized [`Result`] type for threads.\n\nIndicates the manner in which a thread exited.\n\nThe value contained in the `Result::Err` variant\nis the value the thread panicked with;\nthat is, the argument the `panic!` macro was called with.\nUnlike with normal errors, this value doesn't implement\nthe [`Error`](crate::error::Error) trait.\n\nThus, a sensible way to handle a thread panic is to either:\n\n1. propagate the panic with [`std::panic::resume_unwind`]\n2. or in case the thread is intended to be a subsystem boundary\nthat is supposed to isolate system-level failures,\nmatch on the `Err` variant and handle the panic in an appropriate way\n\nA thread that completes without panicking is considered to exit successfully.\n\n# Examples\n\nMatching on the result of a joined thread:\n\n```no_run\nuse std::{fs, thread, panic};\n\nfn copy_in_thread() -> thread::Result<()> {\n thread::spawn(|| {\n fs::copy(\"foo.txt\", \"bar.txt\").unwrap();\n }).join()\n}\n\nfn main() {\n match copy_in_thread() {\n Ok(_) => println!(\"copy succeeded\"),\n Err(e) => panic::resume_unwind(e),\n }\n}\n```\n\n[`Result`]: crate::result::Result\n[`std::panic::resume_unwind`]: crate::panic::resume_unwind", - "id": 351, - "inner": { - "type_alias": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "dyn_trait": { - "lifetime": "'static", - "traits": [ - { - "generic_params": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - }, - { - "generic_params": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - ] - } - } - } - ], - "constraints": [] - } - }, - "id": 159, - "path": "Box" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "crate::result::Result" - } - } - } - }, - "links": { - "crate::error::Error": 450, - "crate::panic::resume_unwind": 567, - "crate::result::Result": 57 - }, - "name": "Result", - "span": { - "begin": [ - 1707, - 1 - ], - "end": [ - 1707, - 78 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "3510": { + "3509": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3510, + "id": 3509, "inner": { "impl": { "blanket_impl": { @@ -323927,7 +342721,7 @@ "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -323975,12 +342769,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -324000,7 +342794,87 @@ }, "visibility": "default" }, - "3511": { + "351": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 351, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 304, + "path": "ScopedJoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 346, + 305, + 350 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 264, + 1 + ], + "end": [ + 330, + 2 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "default" + }, + "3510": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -324009,7 +342883,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3511, + "id": 3510, "inner": { "function": { "generics": { @@ -324055,7 +342929,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -324067,7 +342941,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -324089,7 +342963,7 @@ }, "visibility": "default" }, - "3512": { + "3511": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -324099,14 +342973,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3512, + "id": 3511, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -324118,12 +342992,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3511 + 3510 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -324143,12 +343017,12 @@ }, "visibility": "default" }, - "3513": { + "3512": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3513, + "id": 3512, "inner": { "function": { "generics": { @@ -324206,7 +343080,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -324228,7 +343102,7 @@ }, "visibility": "default" }, - "3514": { + "3513": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -324237,7 +343111,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3514, + "id": 3513, "inner": { "function": { "generics": { @@ -324281,7 +343155,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -324303,12 +343177,12 @@ }, "visibility": "default" }, - "3515": { + "3514": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3515, + "id": 3514, "inner": { "function": { "generics": { @@ -324355,7 +343229,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "io::IoSlice" } } @@ -324379,7 +343253,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -324401,7 +343275,7 @@ }, "visibility": "default" }, - "3516": { + "3515": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -324410,7 +343284,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3516, + "id": 3515, "inner": { "function": { "generics": { @@ -324461,7 +343335,7 @@ }, "visibility": "default" }, - "3517": { + "3516": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -324470,7 +343344,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3517, + "id": 3516, "inner": { "impl": { "blanket_impl": null, @@ -324481,7 +343355,7 @@ "type": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } } @@ -324495,10 +343369,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3512, 3513, 3514, - 3515, - 3516 + 3515 ], "provided_trait_methods": [ "write_vectored", @@ -324510,7 +343384,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -324530,12 +343404,12 @@ }, "visibility": "default" }, - "3518": { + "3517": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3518, + "id": 3517, "inner": { "function": { "generics": { @@ -324593,7 +343467,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -324615,7 +343489,7 @@ }, "visibility": "default" }, - "3519": { + "3518": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -324624,7 +343498,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3519, + "id": 3518, "inner": { "function": { "generics": { @@ -324668,7 +343542,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -324690,74 +343564,12 @@ }, "visibility": "default" }, - "352": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Checks if the associated thread has finished running its main function.\n\n`is_finished` supports implementing a non-blocking join operation, by checking\n`is_finished`, and calling `join` if it returns `true`. This function does not block. To\nblock while waiting on the thread to finish, use [`join`][Self::join].\n\nThis might return `true` for a brief moment after the thread's main\nfunction has returned, but before the thread itself has stopped running.\nHowever, once this returns `true`, [`join`][Self::join] can be expected\nto return quickly, without blocking for any significant amount of time.", - "id": 352, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": { - "Self::join": 307 - }, - "name": "is_finished", - "span": { - "begin": [ - 328, - 5 - ], - "end": [ - 330, - 6 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "public" - }, - "3520": { + "3519": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3520, + "id": 3519, "inner": { "function": { "generics": { @@ -324804,7 +343616,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "io::IoSlice" } } @@ -324828,7 +343640,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -324850,7 +343662,99 @@ }, "visibility": "default" }, - "3521": { + "352": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 352, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 304, + "path": "ScopedJoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "3520": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -324859,7 +343763,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3521, + "id": 3520, "inner": { "function": { "generics": { @@ -324910,7 +343814,7 @@ }, "visibility": "default" }, - "3522": { + "3521": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -324919,14 +343823,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3522, + "id": 3521, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } }, @@ -324938,10 +343842,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3517, 3518, 3519, - 3520, - 3521 + 3520 ], "provided_trait_methods": [ "write_vectored", @@ -324953,7 +343857,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -324973,12 +343877,12 @@ }, "visibility": "default" }, - "3523": { + "3522": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3523, + "id": 3522, "inner": { "function": { "generics": { @@ -325042,7 +343946,7 @@ }, "visibility": "default" }, - "3524": { + "3523": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -325054,14 +343958,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3524, + "id": 3523, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } }, @@ -325073,7 +343977,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3523 + 3522 ], "provided_trait_methods": [], "trait": { @@ -325098,12 +344002,12 @@ }, "visibility": "default" }, - "3525": { + "3524": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3525, + "id": 3524, "inner": { "function": { "generics": { @@ -325124,7 +344028,7 @@ { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } } @@ -325152,7 +344056,7 @@ }, "visibility": "default" }, - "3526": { + "3525": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -325164,7 +344068,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3526, + "id": 3525, "inner": { "impl": { "blanket_impl": null, @@ -325183,7 +344087,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3525 + 3524 ], "provided_trait_methods": [], "trait": { @@ -325194,7 +344098,7 @@ "type": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } } @@ -325223,12 +344127,12 @@ }, "visibility": "default" }, - "3527": { + "3526": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3527, + "id": 3526, "inner": { "function": { "generics": { @@ -325277,7 +344181,7 @@ }, "visibility": "default" }, - "3528": { + "3527": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -325289,14 +344193,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3528, + "id": 3527, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } }, @@ -325308,7 +344212,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3527 + 3526 ], "provided_trait_methods": [], "trait": { @@ -325348,12 +344252,12 @@ }, "visibility": "default" }, - "3529": { + "3528": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3529, + "id": 3528, "inner": { "function": { "generics": { @@ -325408,6 +344312,62 @@ }, "visibility": "default" }, + "3529": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3529, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 3436, + "path": "io::PipeWriter" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 3528 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 601, + "path": "AsRawHandle" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 336, + 1 + ], + "end": [ + 340, + 2 + ], + "filename": "std/src/os/windows/io/raw.rs" + }, + "visibility": "default" + }, "353": { "attrs": [], "crate_id": 0, @@ -325434,7 +344394,7 @@ "constraints": [] } }, - "id": 306, + "id": 304, "path": "ScopedJoinHandle" } }, @@ -325459,97 +344419,53 @@ "name": "T" } ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 348, - 307, - 352 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 265, - 1 - ], - "end": [ - 331, - 2 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "default" - }, - "3530": { - "attrs": [ - { - "other": "#[doc(cfg(windows))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3530, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 3437, - "path": "io::PipeWriter" - } - }, - "generics": { - "params": [], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 3529 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 601, - "path": "AsRawHandle" + "id": 5, + "path": "Sync" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 336, - 1 - ], - "end": [ - 340, - 2 - ], - "filename": "std/src/os/windows/io/raw.rs" - }, + "span": null, "visibility": "default" }, - "3531": { + "3530": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3531, + "id": 3530, "inner": { "function": { "generics": { @@ -325598,7 +344514,7 @@ }, "visibility": "default" }, - "3532": { + "3531": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -325610,14 +344526,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3532, + "id": 3531, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } }, @@ -325629,7 +344545,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3531 + 3530 ], "provided_trait_methods": [], "trait": { @@ -325654,12 +344570,12 @@ }, "visibility": "default" }, - "3533": { + "3532": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3533, + "id": 3532, "inner": { "function": { "generics": { @@ -325708,7 +344624,7 @@ }, "visibility": "default" }, - "3534": { + "3533": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -325720,14 +344636,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3534, + "id": 3533, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } }, @@ -325739,7 +344655,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3533 + 3532 ], "provided_trait_methods": [], "trait": { @@ -325764,12 +344680,12 @@ }, "visibility": "default" }, - "3535": { + "3534": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3535, + "id": 3534, "inner": { "function": { "generics": { @@ -325813,18 +344729,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 315, + 319, 5 ], "end": [ - 317, + 321, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3536": { + "3535": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -325836,14 +344752,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3536, + "id": 3535, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } }, @@ -325855,7 +344771,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3535 + 3534 ], "provided_trait_methods": [], "trait": { @@ -325869,23 +344785,23 @@ "name": null, "span": { "begin": [ - 314, + 318, 1 ], "end": [ - 318, + 322, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3537": { + "3536": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3537, + "id": 3536, "inner": { "function": { "generics": { @@ -325923,18 +344839,18 @@ "name": "from_raw_fd", "span": { "begin": [ - 323, + 327, 5 ], "end": [ - 325, + 329, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3538": { + "3537": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -325946,14 +344862,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3538, + "id": 3537, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } }, @@ -325965,7 +344881,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3537 + 3536 ], "provided_trait_methods": [], "trait": { @@ -325979,23 +344895,23 @@ "name": null, "span": { "begin": [ - 322, + 326, 1 ], "end": [ - 326, + 330, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3539": { + "3538": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3539, + "id": 3538, "inner": { "function": { "generics": { @@ -326033,110 +344949,18 @@ "name": "into_raw_fd", "span": { "begin": [ - 331, + 335, 5 ], "end": [ - 333, + 337, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "354": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 354, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 306, - "path": "ScopedJoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3540": { + "3539": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -326148,14 +344972,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3540, + "id": 3539, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } }, @@ -326167,7 +344991,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3539 + 3538 ], "provided_trait_methods": [], "trait": { @@ -326181,23 +345005,93 @@ "name": null, "span": { "begin": [ - 330, + 334, 1 ], "end": [ - 334, + 338, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3541": { + "354": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3541, + "id": 354, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 304, + "path": "ScopedJoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "3540": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3540, "inner": { "function": { "generics": { @@ -326250,18 +345144,18 @@ "name": "as_fd", "span": { "begin": [ - 527, + 545, 5 ], "end": [ - 529, + 547, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3542": { + "3541": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -326273,14 +345167,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3542, + "id": 3541, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } }, @@ -326292,7 +345186,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3541 + 3540 ], "provided_trait_methods": [], "trait": { @@ -326306,23 +345200,23 @@ "name": null, "span": { "begin": [ - 526, + 544, 1 ], "end": [ - 530, + 548, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3543": { + "3542": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3543, + "id": 3542, "inner": { "function": { "generics": { @@ -326343,7 +345237,7 @@ { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } } @@ -326360,18 +345254,18 @@ "name": "from", "span": { "begin": [ - 535, + 553, 5 ], "end": [ - 537, + 555, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3544": { + "3543": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -326383,7 +345277,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3544, + "id": 3543, "inner": { "impl": { "blanket_impl": null, @@ -326402,7 +345296,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3543 + 3542 ], "provided_trait_methods": [], "trait": { @@ -326413,7 +345307,7 @@ "type": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } } @@ -326431,23 +345325,23 @@ "name": null, "span": { "begin": [ - 534, + 552, 1 ], "end": [ - 538, + 556, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3545": { + "3544": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3545, + "id": 3544, "inner": { "function": { "generics": { @@ -326485,18 +345379,18 @@ "name": "from", "span": { "begin": [ - 551, + 569, 5 ], "end": [ - 553, + 571, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3546": { + "3545": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -326508,14 +345402,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3546, + "id": 3545, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } }, @@ -326527,7 +345421,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3545 + 3544 ], "provided_trait_methods": [], "trait": { @@ -326556,23 +345450,23 @@ "name": null, "span": { "begin": [ - 550, + 568, 1 ], "end": [ - 554, + 572, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3547": { + "3546": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3547, + "id": 3546, "inner": { "function": { "generics": { @@ -326593,7 +345487,7 @@ { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "io::PipeWriter" } } @@ -326610,18 +345504,18 @@ "name": "from", "span": { "begin": [ - 1738, + 1749, 5 ], "end": [ - 1740, + 1751, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "3548": { + "3547": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -326630,7 +345524,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3548, + "id": 3547, "inner": { "impl": { "blanket_impl": null, @@ -326649,7 +345543,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3547 + 3546 ], "provided_trait_methods": [], "trait": { @@ -326660,7 +345554,7 @@ "type": { "resolved_path": { "args": null, - "id": 3437, + "id": 3436, "path": "PipeWriter" } } @@ -326678,17 +345572,50 @@ "name": null, "span": { "begin": [ - 1737, + 1748, 1 ], "end": [ - 1741, + 1752, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, + "3549": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3549, + "inner": { + "use": { + "id": 2416, + "is_glob": false, + "name": "BufRead", + "source": "super::BufRead" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 14, + 17 + ], + "end": [ + 14, + 24 + ], + "filename": "std/src/io/prelude.rs" + }, + "visibility": "public" + }, "355": { "attrs": [], "crate_id": 0, @@ -326715,7 +345642,7 @@ "constraints": [] } }, - "id": 306, + "id": 304, "path": "ScopedJoinHandle" } }, @@ -326740,29 +345667,7 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -326771,8 +345676,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 7, + "path": "Unpin" } } }, @@ -326793,40 +345698,7 @@ "id": 3550, "inner": { "use": { - "id": 2418, - "is_glob": false, - "name": "BufRead", - "source": "super::BufRead" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 14, - 17 - ], - "end": [ - 14, - 24 - ], - "filename": "std/src/io/prelude.rs" - }, - "visibility": "public" - }, - "3551": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3551, - "inner": { - "use": { - "id": 2476, + "id": 2474, "is_glob": false, "name": "Read", "source": "super::Read" @@ -326847,7 +345719,7 @@ }, "visibility": "public" }, - "3552": { + "3551": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -326856,10 +345728,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3552, + "id": 3551, "inner": { "use": { - "id": 2407, + "id": 2405, "is_glob": false, "name": "Seek", "source": "super::Seek" @@ -326880,7 +345752,7 @@ }, "visibility": "public" }, - "3553": { + "3552": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -326889,10 +345761,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3553, + "id": 3552, "inner": { "use": { - "id": 2486, + "id": 2484, "is_glob": false, "name": "Write", "source": "super::Write" @@ -326913,7 +345785,7 @@ }, "visibility": "public" }, - "3555": { + "3554": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -326927,7 +345799,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new handle to the standard input of the current process.\n\nEach handle returned is a reference to a shared global buffer whose access\nis synchronized via a mutex. If you need more explicit control over\nlocking, see the [`Stdin::lock`] method.\n\n### Note: Windows Portability Considerations\n\nWhen operating in a console, the Windows implementation of this stream does not support\nnon-UTF-8 byte sequences. Attempting to read bytes that are not valid UTF-8 will return\nan error.\n\nIn a process with a detached console, such as one using\n`#![windows_subsystem = \"windows\"]`, or in a child process spawned from such a process,\nthe contained handle will be null. In such cases, the standard library's `Read` and\n`Write` will do nothing and silently succeed. All other I/O operations, via the\nstandard library or via raw Windows API calls, will fail.\n\n# Examples\n\nUsing implicit synchronization:\n\n```no_run\nuse std::io;\n\nfn main() -> io::Result<()> {\n let mut buffer = String::new();\n io::stdin().read_line(&mut buffer)?;\n Ok(())\n}\n```\n\nUsing explicit synchronization:\n\n```no_run\nuse std::io::{self, BufRead};\n\nfn main() -> io::Result<()> {\n let mut buffer = String::new();\n let stdin = io::stdin();\n let mut handle = stdin.lock();\n\n handle.read_line(&mut buffer)?;\n Ok(())\n}\n```", - "id": 3555, + "id": 3554, "inner": { "function": { "generics": { @@ -326947,7 +345819,7 @@ "output": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } } @@ -326955,7 +345827,7 @@ } }, "links": { - "`Stdin::lock`": 3557 + "`Stdin::lock`": 3556 }, "name": "stdin", "span": { @@ -326971,7 +345843,7 @@ }, "visibility": "public" }, - "3556": { + "3555": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"Stdin\")]" @@ -326986,7 +345858,7 @@ "crate_id": 0, "deprecation": null, "docs": "A handle to the standard input stream of a process.\n\nEach handle is a shared reference to a global buffer of input data to this\nprocess. A handle can be `lock`'d to gain full access to [`BufRead`] methods\n(e.g., `.lines()`). Reads to this handle are otherwise locked with respect\nto other reads.\n\nThis handle implements the `Read` trait, but beware that concurrent reads\nof `Stdin` must be executed with care.\n\nCreated by the [`io::stdin`] method.\n\n[`io::stdin`]: stdin\n\n### Note: Windows Portability Considerations\n\nWhen operating in a console, the Windows implementation of this stream does not support\nnon-UTF-8 byte sequences. Attempting to read bytes that are not valid UTF-8 will return\nan error.\n\nIn a process with a detached console, such as one using\n`#![windows_subsystem = \"windows\"]`, or in a child process spawned from such a process,\nthe contained handle will be null. In such cases, the standard library's `Read` and\n`Write` will do nothing and silently succeed. All other I/O operations, via the\nstandard library or via raw Windows API calls, will fail.\n\n# Examples\n\n```no_run\nuse std::io;\n\nfn main() -> io::Result<()> {\n let mut buffer = String::new();\n let stdin = io::stdin(); // We get `Stdin` here.\n stdin.read_line(&mut buffer)?;\n Ok(())\n}\n```", - "id": 3556, + "id": 3555, "inner": { "struct": { "generics": { @@ -326994,6 +345866,7 @@ "where_predicates": [] }, "impls": [ + 3564, 3565, 3566, 3567, @@ -327007,15 +345880,14 @@ 3575, 3576, 3577, - 3578, - 3580, - 3589, - 3598, - 3600, - 3602, - 3604, - 3606, - 3608 + 3579, + 3588, + 3597, + 3599, + 3601, + 3603, + 3605, + 3607 ], "kind": { "plain": { @@ -327026,8 +345898,8 @@ } }, "links": { - "`BufRead`": 2418, - "stdin": 3555 + "`BufRead`": 2416, + "stdin": 3554 }, "name": "Stdin", "span": { @@ -327043,7 +345915,7 @@ }, "visibility": "public" }, - "3557": { + "3556": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -327052,7 +345924,7 @@ "crate_id": 0, "deprecation": null, "docs": "Locks this handle to the standard input stream, returning a readable\nguard.\n\nThe lock is released when the returned lock goes out of scope. The\nreturned guard also implements the [`Read`] and [`BufRead`] traits for\naccessing the underlying data.\n\n# Examples\n\n```no_run\nuse std::io::{self, BufRead};\n\nfn main() -> io::Result<()> {\n let mut buffer = String::new();\n let stdin = io::stdin();\n let mut handle = stdin.lock();\n\n handle.read_line(&mut buffer)?;\n Ok(())\n}\n```", - "id": 3557, + "id": 3556, "inner": { "function": { "generics": { @@ -327094,7 +345966,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } } @@ -327102,8 +345974,8 @@ } }, "links": { - "`BufRead`": 2418, - "`Read`": 2476 + "`BufRead`": 2416, + "`Read`": 2474 }, "name": "lock", "span": { @@ -327119,7 +345991,7 @@ }, "visibility": "public" }, - "3558": { + "3557": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -327133,7 +346005,7 @@ "crate_id": 0, "deprecation": null, "docs": "A locked reference to the [`Stdin`] handle.\n\nThis handle implements both the [`Read`] and [`BufRead`] traits, and\nis constructed via the [`Stdin::lock`] method.\n\n### Note: Windows Portability Considerations\n\nWhen operating in a console, the Windows implementation of this stream does not support\nnon-UTF-8 byte sequences. Attempting to read bytes that are not valid UTF-8 will return\nan error.\n\nIn a process with a detached console, such as one using\n`#![windows_subsystem = \"windows\"]`, or in a child process spawned from such a process,\nthe contained handle will be null. In such cases, the standard library's `Read` and\n`Write` will do nothing and silently succeed. All other I/O operations, via the\nstandard library or via raw Windows API calls, will fail.\n\n# Examples\n\n```no_run\nuse std::io::{self, BufRead};\n\nfn main() -> io::Result<()> {\n let mut buffer = String::new();\n let stdin = io::stdin(); // We get `Stdin` here.\n {\n let mut handle = stdin.lock(); // We get `StdinLock` here.\n handle.read_line(&mut buffer)?;\n } // `StdinLock` is dropped here.\n Ok(())\n}\n```", - "id": 3558, + "id": 3557, "inner": { "struct": { "generics": { @@ -327150,6 +346022,7 @@ "where_predicates": [] }, "impls": [ + 3609, 3610, 3611, 3612, @@ -327162,15 +346035,14 @@ 3619, 3620, 3621, - 3622, - 3631, - 3636, - 3638, - 3640, - 3642, - 3644, - 3646, - 3648 + 3630, + 3635, + 3637, + 3639, + 3641, + 3643, + 3645, + 3647 ], "kind": { "plain": { @@ -327181,10 +346053,10 @@ } }, "links": { - "`BufRead`": 2418, - "`Read`": 2476, - "`Stdin::lock`": 3557, - "`Stdin`": 3556 + "`BufRead`": 2416, + "`Read`": 2474, + "`Stdin::lock`": 3556, + "`Stdin`": 3555 }, "name": "StdinLock", "span": { @@ -327200,7 +346072,7 @@ }, "visibility": "public" }, - "3559": { + "3558": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -327209,7 +346081,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reads all bytes until a newline (the `0xA` byte) is reached, and append\nthem to the provided `String` buffer.\n\nPrevious content of the buffer will be preserved. To avoid appending to\nthe buffer, you need to [`clear`] it first.\n\nThis function will read bytes from the underlying stream until the\nnewline delimiter (the `0xA` byte) or EOF is found. Once found, all bytes\nup to, and including, the delimiter (if found) will be appended to\n`buf`.\n\nIf successful, this function will return the total number of bytes read.\n\nIf this function returns [`Ok(0)`], the stream has reached EOF.\n\nThis function is blocking and should be used carefully: it is possible for\nan attacker to continuously send bytes without ever sending a newline\nor EOF. You can use [`take`] to limit the maximum number of bytes read.\n\n[`Ok(0)`]: Ok\n[`clear`]: String::clear\n[`take`]: crate::io::Read::take\n\n# Errors\n\nThis function has the same error semantics as [`read_until`] and will\nalso return an error if the read bytes are not valid UTF-8. If an I/O\nerror is encountered then `buf` may contain some bytes already read in\nthe event that all data read so far was valid UTF-8.\n\n[`read_until`]: BufRead::read_until\n\n# Examples\n\n[`std::io::Cursor`][`Cursor`] is a type that implements `BufRead`. In\nthis example, we use [`Cursor`] to read all the lines in a byte slice:\n\n```\nuse std::io::{self, BufRead};\n\nlet mut cursor = io::Cursor::new(b\"foo\\nbar\");\nlet mut buf = String::new();\n\n// cursor is at 'f'\nlet num_bytes = cursor.read_line(&mut buf)\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 4);\nassert_eq!(buf, \"foo\\n\");\nbuf.clear();\n\n// cursor is at 'b'\nlet num_bytes = cursor.read_line(&mut buf)\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 3);\nassert_eq!(buf, \"bar\");\nbuf.clear();\n\n// cursor is at EOF\nlet num_bytes = cursor.read_line(&mut buf)\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 0);\nassert_eq!(buf, \"\");\n```", - "id": 3559, + "id": 3558, "inner": { "function": { "generics": { @@ -327246,7 +346118,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -327269,7 +346141,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -327277,11 +346149,11 @@ } }, "links": { - "BufRead::read_until": 4279, + "BufRead::read_until": 4278, "Ok": 61, - "String::clear": 3560, + "String::clear": 3559, "`Cursor`": 3232, - "crate::io::Read::take": 3997 + "crate::io::Read::take": 3996 }, "name": "read_line", "span": { @@ -327323,7 +346195,7 @@ "constraints": [] } }, - "id": 306, + "id": 304, "path": "ScopedJoinHandle" } }, @@ -327350,15 +346222,15 @@ ], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 316, + "path": "UnwindSafe" } } }, @@ -327367,7 +346239,7 @@ "span": null, "visibility": "default" }, - "3561": { + "3560": { "attrs": [ { "other": "#[attr = Confusables {symbols: [\"get_line\"]}]" @@ -327379,7 +346251,7 @@ "crate_id": 0, "deprecation": null, "docs": "Locks this handle and reads a line of input, appending it to the specified buffer.\n\nFor detailed semantics of this method, see the documentation on\n[`BufRead::read_line`]. In particular:\n* Previous content of the buffer will be preserved. To avoid appending\n to the buffer, you need to [`clear`] it first.\n* The trailing newline character, if any, is included in the buffer.\n\n[`clear`]: String::clear\n\n# Examples\n\n```no_run\nuse std::io;\n\nlet mut input = String::new();\nmatch io::stdin().read_line(&mut input) {\n Ok(n) => {\n println!(\"{n} bytes read\");\n println!(\"{input}\");\n }\n Err(error) => println!(\"error: {error}\"),\n}\n```\n\nYou can run the example one of two ways:\n\n- Pipe some text to it, e.g., `printf foo | path/to/executable`\n- Give it text interactively by running the executable directly,\n in which case it will wait for the Enter key to be pressed before\n continuing", - "id": 3561, + "id": 3560, "inner": { "function": { "generics": { @@ -327416,7 +346288,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -327439,7 +346311,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -327447,8 +346319,8 @@ } }, "links": { - "String::clear": 3560, - "`BufRead::read_line`": 3559 + "String::clear": 3559, + "`BufRead::read_line`": 3558 }, "name": "read_line", "span": { @@ -327464,7 +346336,7 @@ }, "visibility": "public" }, - "3562": { + "3561": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -327473,7 +346345,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns an iterator over the lines of this reader.\n\nThe iterator returned from this function will yield instances of\n[io::Result]<[String]>. Each string returned will *not* have a newline\nbyte (the `0xA` byte) or `CRLF` (`0xD`, `0xA` bytes) at the end.\n\n[io::Result]: self::Result \"io::Result\"\n\n# Examples\n\n[`std::io::Cursor`][`Cursor`] is a type that implements `BufRead`. In\nthis example, we use [`Cursor`] to iterate over all the lines in a byte\nslice.\n\n```\nuse std::io::{self, BufRead};\n\nlet cursor = io::Cursor::new(b\"lorem\\nipsum\\r\\ndolor\");\n\nlet mut lines_iter = cursor.lines().map(|l| l.unwrap());\nassert_eq!(lines_iter.next(), Some(String::from(\"lorem\")));\nassert_eq!(lines_iter.next(), Some(String::from(\"ipsum\")));\nassert_eq!(lines_iter.next(), Some(String::from(\"dolor\")));\nassert_eq!(lines_iter.next(), None);\n```\n\n# Errors\n\nEach line of the iterator has the same error semantics as [`BufRead::read_line`].", - "id": 3562, + "id": 3561, "inner": { "function": { "generics": { @@ -327533,7 +346405,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } } @@ -327541,10 +346413,10 @@ } }, "links": { - "String": 161, - "`BufRead::read_line`": 3559, + "String": 159, + "`BufRead::read_line`": 3558, "`Cursor`": 3232, - "self::Result": 468 + "self::Result": 469 }, "name": "lines", "span": { @@ -327560,7 +346432,7 @@ }, "visibility": "default" }, - "3563": { + "3562": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 62, patch: 0})}, feature: \"stdin_forwarders\"}}]" @@ -327574,7 +346446,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes this handle and returns an iterator over input lines.\n\nFor detailed semantics of this method, see the documentation on\n[`BufRead::lines`].\n\n# Examples\n\n```no_run\nuse std::io;\n\nlet lines = io::stdin().lines();\nfor line in lines {\n println!(\"got a line: {}\", line.unwrap());\n}\n```", - "id": 3563, + "id": 3562, "inner": { "function": { "generics": { @@ -327616,7 +346488,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } } @@ -327625,7 +346497,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } } @@ -327633,7 +346505,7 @@ } }, "links": { - "`BufRead::lines`": 3562 + "`BufRead::lines`": 3561 }, "name": "lines", "span": { @@ -327649,7 +346521,7 @@ }, "visibility": "public" }, - "3564": { + "3563": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"IoLines\")]" @@ -327664,7 +346536,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over the lines of an instance of `BufRead`.\n\nThis struct is generally created by calling [`lines`] on a `BufRead`.\nPlease see the documentation of [`lines`] for more details.\n\n[`lines`]: BufRead::lines", - "id": 3564, + "id": 3563, "inner": { "struct": { "generics": { @@ -327683,6 +346555,7 @@ "where_predicates": [] }, "impls": [ + 4399, 4400, 4401, 4402, @@ -327696,9 +346569,8 @@ 4410, 4411, 4412, - 4413, - 4415, - 4418 + 4414, + 4417 ], "kind": { "plain": { @@ -327709,7 +346581,7 @@ } }, "links": { - "BufRead::lines": 3562 + "BufRead::lines": 3561 }, "name": "Lines", "span": { @@ -327725,19 +346597,19 @@ }, "visibility": "public" }, - "3565": { + "3564": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3565, + "id": 3564, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -327749,9 +346621,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3557, - 3561, - 3563 + 3556, + 3560, + 3562 ], "provided_trait_methods": [], "trait": null @@ -327772,19 +346644,19 @@ }, "visibility": "default" }, - "3566": { + "3565": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3566, + "id": 3565, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -327809,19 +346681,19 @@ "span": null, "visibility": "default" }, - "3567": { + "3566": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3567, + "id": 3566, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -327846,6 +346718,43 @@ "span": null, "visibility": "default" }, + "3567": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3567, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 3555, + "path": "Stdin" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, "3568": { "attrs": [], "crate_id": 0, @@ -327858,7 +346767,7 @@ "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -327873,8 +346782,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -327895,7 +346804,7 @@ "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -327910,8 +346819,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -327946,7 +346855,7 @@ "constraints": [] } }, - "id": 306, + "id": 304, "path": "ScopedJoinHandle" } }, @@ -327973,15 +346882,15 @@ ], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -328002,7 +346911,7 @@ "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -328018,7 +346927,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -328033,43 +346942,6 @@ "deprecation": null, "docs": null, "id": 3571, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 3556, - "path": "Stdin" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3572": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3572, "inner": { "impl": { "blanket_impl": { @@ -328078,7 +346950,7 @@ "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -328123,7 +346995,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -328139,7 +347011,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -328148,23 +347020,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3573": { + "3572": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3573, + "id": 3572, "inner": { "impl": { "blanket_impl": { @@ -328173,7 +347045,7 @@ "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -328218,7 +347090,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -328234,7 +347106,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -328243,23 +347115,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3574": { + "3573": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3574, + "id": 3573, "inner": { "impl": { "blanket_impl": { @@ -328268,7 +347140,7 @@ "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -328334,7 +347206,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -328359,23 +347231,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3575": { + "3574": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3575, + "id": 3574, "inner": { "impl": { "blanket_impl": { @@ -328384,7 +347256,7 @@ "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -328407,7 +347279,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -328432,23 +347304,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3576": { + "3575": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3576, + "id": 3575, "inner": { "impl": { "blanket_impl": { @@ -328457,7 +347329,7 @@ "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -328505,7 +347377,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -328523,8 +347395,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -328540,7 +347412,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -328549,23 +347421,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3577": { + "3576": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3577, + "id": 3576, "inner": { "impl": { "blanket_impl": { @@ -328574,7 +347446,7 @@ "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -328640,8 +347512,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -328657,7 +347529,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -328666,23 +347538,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3578": { + "3577": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3578, + "id": 3577, "inner": { "impl": { "blanket_impl": { @@ -328691,7 +347563,7 @@ "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -328739,12 +347611,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -328764,12 +347636,12 @@ }, "visibility": "default" }, - "3579": { + "3578": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3579, + "id": 3578, "inner": { "function": { "generics": { @@ -328815,7 +347687,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -328827,7 +347699,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -328849,77 +347721,7 @@ }, "visibility": "default" }, - "358": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 358, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 306, - "path": "ScopedJoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": true, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3580": { + "3579": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -328928,14 +347730,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3580, + "id": 3579, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } }, @@ -328947,12 +347749,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3579 + 3578 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -328972,12 +347774,121 @@ }, "visibility": "default" }, - "3581": { + "358": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3581, + "id": 358, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 304, + "path": "ScopedJoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "3580": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3580, "inner": { "function": { "generics": { @@ -329035,7 +347946,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -329057,12 +347968,12 @@ }, "visibility": "default" }, - "3582": { + "3581": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3582, + "id": 3581, "inner": { "function": { "generics": { @@ -329104,7 +348015,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -329125,7 +348036,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -329147,12 +348058,12 @@ }, "visibility": "default" }, - "3583": { + "3582": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3583, + "id": 3582, "inner": { "function": { "generics": { @@ -329199,7 +348110,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -329223,7 +348134,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -329245,7 +348156,7 @@ }, "visibility": "default" }, - "3584": { + "3583": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -329254,7 +348165,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3584, + "id": 3583, "inner": { "function": { "generics": { @@ -329305,12 +348216,12 @@ }, "visibility": "default" }, - "3585": { + "3584": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3585, + "id": 3584, "inner": { "function": { "generics": { @@ -329358,7 +348269,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -329381,7 +348292,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -329403,12 +348314,12 @@ }, "visibility": "default" }, - "3586": { + "3585": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3586, + "id": 3585, "inner": { "function": { "generics": { @@ -329445,7 +348356,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -329468,7 +348379,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -329490,12 +348401,12 @@ }, "visibility": "default" }, - "3587": { + "3586": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3587, + "id": 3586, "inner": { "function": { "generics": { @@ -329553,7 +348464,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -329575,12 +348486,174 @@ }, "visibility": "default" }, - "3588": { + "3587": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, + "id": 3587, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "cursor", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2468, + "path": "BorrowedCursor" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "read_buf_exact", + "span": { + "begin": [ + 468, + 5 + ], + "end": [ + 470, + 6 + ], + "filename": "std/src/io/stdio.rs" + }, + "visibility": "default" + }, + "3588": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, "id": 3588, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 3555, + "path": "Stdin" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 3580, + 3581, + 3582, + 3583, + 3584, + 3585, + 3586, + 3587 + ], + "provided_trait_methods": [ + "read_vectored", + "is_read_vectored", + "read_to_end", + "read_to_string", + "read_exact", + "read_buf", + "read_buf_exact", + "by_ref", + "bytes", + "chain", + "take" + ], + "trait": { + "args": null, + "id": 2474, + "path": "Read" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 445, + 1 + ], + "end": [ + 471, + 2 + ], + "filename": "std/src/io/stdio.rs" + }, + "visibility": "default" + }, + "3589": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3589, "inner": { "function": { "generics": { @@ -329609,21 +348682,16 @@ } ], [ - "cursor", + "buf", { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" } - }, - "id": 2470, - "path": "BorrowedCursor" + } } } ] @@ -329636,14 +348704,14 @@ "args": [ { "type": { - "tuple": [] + "primitive": "usize" } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -329651,92 +348719,20 @@ } }, "links": {}, - "name": "read_buf_exact", + "name": "read", "span": { "begin": [ - 468, + 475, 5 ], "end": [ - 470, + 477, 6 ], "filename": "std/src/io/stdio.rs" }, "visibility": "default" }, - "3589": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3589, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 3556, - "path": "Stdin" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 3581, - 3582, - 3583, - 3584, - 3585, - 3586, - 3587, - 3588 - ], - "provided_trait_methods": [ - "read_vectored", - "is_read_vectored", - "read_to_end", - "read_to_string", - "read_exact", - "read_buf", - "read_buf_exact", - "by_ref", - "bytes", - "chain", - "take" - ], - "trait": { - "args": null, - "id": 2476, - "path": "Read" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 445, - 1 - ], - "end": [ - 471, - 2 - ], - "filename": "std/src/io/stdio.rs" - }, - "visibility": "default" - }, "359": { "attrs": [], "crate_id": 0, @@ -329745,7 +348741,9 @@ "id": 359, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -329763,20 +348761,12 @@ "constraints": [] } }, - "id": 306, + "id": 304, "path": "ScopedJoinHandle" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, { "kind": { "type": { @@ -329788,116 +348778,76 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, - "is_negative": true, - "is_synthetic": true, + "is_negative": false, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 322 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3590": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3590, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "buf", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "slice": { - "primitive": "u8" - } + "generic": "T" } } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" + ], + "constraints": [] } - } + }, + "id": 324, + "path": "BorrowMut" } } }, "links": {}, - "name": "read", + "name": null, "span": { "begin": [ - 475, - 5 + 221, + 1 ], "end": [ - 477, - 6 + 221, + 41 ], - "filename": "std/src/io/stdio.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3591": { + "3590": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3591, + "id": 3590, "inner": { "function": { "generics": { @@ -329939,7 +348889,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -329960,7 +348910,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -329982,12 +348932,12 @@ }, "visibility": "default" }, - "3592": { + "3591": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3592, + "id": 3591, "inner": { "function": { "generics": { @@ -330034,7 +348984,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -330058,7 +349008,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -330080,7 +349030,7 @@ }, "visibility": "default" }, - "3593": { + "3592": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -330089,7 +349039,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3593, + "id": 3592, "inner": { "function": { "generics": { @@ -330140,12 +349090,12 @@ }, "visibility": "default" }, - "3594": { + "3593": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3594, + "id": 3593, "inner": { "function": { "generics": { @@ -330193,7 +349143,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -330216,7 +349166,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -330238,12 +349188,12 @@ }, "visibility": "default" }, - "3595": { + "3594": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3595, + "id": 3594, "inner": { "function": { "generics": { @@ -330280,7 +349230,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -330303,7 +349253,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -330325,12 +349275,12 @@ }, "visibility": "default" }, - "3596": { + "3595": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3596, + "id": 3595, "inner": { "function": { "generics": { @@ -330388,7 +349338,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -330410,12 +349360,12 @@ }, "visibility": "default" }, - "3597": { + "3596": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3597, + "id": 3596, "inner": { "function": { "generics": { @@ -330457,7 +349407,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -330478,7 +349428,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -330500,7 +349450,7 @@ }, "visibility": "default" }, - "3598": { + "3597": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 78, patch: 0})}, feature: \"read_shared_stdin\"}}]" @@ -330509,7 +349459,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3598, + "id": 3597, "inner": { "impl": { "blanket_impl": null, @@ -330520,7 +349470,7 @@ "type": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "Stdin" } } @@ -330534,14 +349484,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3589, 3590, 3591, 3592, 3593, 3594, 3595, - 3596, - 3597 + 3596 ], "provided_trait_methods": [ "read_vectored", @@ -330558,7 +349508,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -330578,7 +349528,7 @@ }, "visibility": "default" }, - "3599": { + "3598": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -330587,7 +349537,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3599, + "id": 3598, "inner": { "function": { "generics": { @@ -330638,6 +349588,59 @@ }, "visibility": "default" }, + "3599": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3599, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 3555, + "path": "Stdin" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 3598 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 2508, + "path": "IsTerminal" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1265, + 1 + ], + "end": [ + 1265, + 94 + ], + "filename": "std/src/io/stdio.rs" + }, + "visibility": "default" + }, "36": { "attrs": [ { @@ -330702,7 +349705,7 @@ "constraints": [] } }, - "id": 306, + "id": 304, "path": "ScopedJoinHandle" } }, @@ -330717,6 +349720,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -330726,18 +349739,29 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -330747,7 +349771,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 325 ], "provided_trait_methods": [], "trait": { @@ -330756,15 +349780,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 39, + "path": "Into" } } }, @@ -330772,71 +349796,18 @@ "name": null, "span": { "begin": [ - 209, + 767, 1 ], "end": [ - 209, - 32 + 769, + 24 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, "3600": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3600, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 3556, - "path": "Stdin" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 3599 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 2510, - "path": "IsTerminal" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1265, - 1 - ], - "end": [ - 1265, - 94 - ], - "filename": "std/src/io/stdio.rs" - }, - "visibility": "default" - }, - "3601": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -330845,7 +349816,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3601, + "id": 3600, "inner": { "function": { "generics": { @@ -330909,7 +349880,7 @@ }, "visibility": "default" }, - "3602": { + "3601": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -330921,14 +349892,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3602, + "id": 3601, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "crate::io::Stdin" } }, @@ -330940,7 +349911,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3601 + 3600 ], "provided_trait_methods": [], "trait": { @@ -330965,12 +349936,12 @@ }, "visibility": "default" }, - "3603": { + "3602": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3603, + "id": 3602, "inner": { "function": { "generics": { @@ -331025,7 +349996,7 @@ }, "visibility": "default" }, - "3604": { + "3603": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -331037,14 +350008,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3604, + "id": 3603, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "io::Stdin" } }, @@ -331056,7 +350027,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3603 + 3602 ], "provided_trait_methods": [], "trait": { @@ -331081,7 +350052,7 @@ }, "visibility": "default" }, - "3605": { + "3604": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -331090,7 +350061,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3605, + "id": 3604, "inner": { "function": { "generics": { @@ -331134,18 +350105,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 195, + 199, 5 ], "end": [ - 197, + 201, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3606": { + "3605": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -331157,14 +350128,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3606, + "id": 3605, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "io::Stdin" } }, @@ -331176,7 +350147,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3605 + 3604 ], "provided_trait_methods": [], "trait": { @@ -331190,18 +350161,18 @@ "name": null, "span": { "begin": [ - 193, + 197, 1 ], "end": [ - 198, + 202, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3607": { + "3606": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -331210,7 +350181,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3607, + "id": 3606, "inner": { "function": { "generics": { @@ -331263,18 +350234,18 @@ "name": "as_fd", "span": { "begin": [ - 460, + 478, 5 ], "end": [ - 462, + 480, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3608": { + "3607": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -331283,14 +350254,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3608, + "id": 3607, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3556, + "id": 3555, "path": "io::Stdin" } }, @@ -331302,7 +350273,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3607 + 3606 ], "provided_trait_methods": [], "trait": { @@ -331316,17 +350287,72 @@ "name": null, "span": { "begin": [ - 458, + 476, 1 ], "end": [ - 463, + 481, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, + "3609": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3609, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 3557, + "path": "StdinLock" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, "361": { "attrs": [], "crate_id": 0, @@ -331355,7 +350381,7 @@ "constraints": [] } }, - "id": 306, + "id": 304, "path": "ScopedJoinHandle" } }, @@ -331372,35 +350398,13 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 327 ], "provided_trait_methods": [], "trait": { @@ -331416,8 +350420,8 @@ "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 37, + "path": "From" } } }, @@ -331425,14 +350429,14 @@ "name": null, "span": { "begin": [ - 217, + 785, 1 ], "end": [ - 217, - 35 + 785, + 28 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, @@ -331457,7 +350461,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -331474,15 +350478,15 @@ ], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } }, @@ -331512,7 +350516,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -331536,8 +350540,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -331567,7 +350571,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -331591,8 +350595,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -331622,7 +350626,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -331646,8 +350650,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -331677,7 +350681,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -331702,7 +350706,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -331717,61 +350721,6 @@ "deprecation": null, "docs": null, "id": 3615, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 3558, - "path": "StdinLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3616": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3616, "inner": { "impl": { "blanket_impl": { @@ -331789,7 +350738,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -331834,7 +350783,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -331850,7 +350799,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -331859,23 +350808,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3617": { + "3616": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3617, + "id": 3616, "inner": { "impl": { "blanket_impl": { @@ -331893,7 +350842,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -331938,7 +350887,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -331954,7 +350903,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -331963,23 +350912,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3618": { + "3617": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3618, + "id": 3617, "inner": { "impl": { "blanket_impl": { @@ -331997,7 +350946,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -332063,7 +351012,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -332088,23 +351037,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3619": { + "3618": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3619, + "id": 3618, "inner": { "impl": { "blanket_impl": { @@ -332122,7 +351071,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -332145,7 +351094,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -332170,23 +351119,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "362": { + "3619": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 362, + "id": 3619, "inner": { "impl": { "blanket_impl": { @@ -332198,19 +351147,14 @@ "angle_bracketed": { "args": [ { - "lifetime": "'scope" - }, - { - "type": { - "generic": "T" - } + "lifetime": "'a" } ], "constraints": [] } }, - "id": 306, - "path": "ScopedJoinHandle" + "id": 3557, + "path": "StdinLock" } }, "generics": { @@ -332257,8 +351201,8 @@ "constraints": [] } }, - "id": 37, - "path": "From" + "id": 197, + "path": "TryFrom" } } } @@ -332275,7 +351219,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -332291,8 +351236,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 198, + "path": "TryInto" } } }, @@ -332300,23 +351245,23 @@ "name": null, "span": { "begin": [ - 773, + 811, 1 ], "end": [ - 775, - 24 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3620": { + "362": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3620, + "id": 362, "inner": { "impl": { "blanket_impl": { @@ -332328,14 +351273,19 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'scope" + }, + { + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 3558, - "path": "StdinLock" + "id": 304, + "path": "ScopedJoinHandle" } }, "generics": { @@ -332382,7 +351332,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -332400,8 +351350,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -332417,7 +351367,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -332426,23 +351376,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3621": { + "3620": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3621, + "id": 3620, "inner": { "impl": { "blanket_impl": { @@ -332460,7 +351410,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -332526,8 +351476,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -332543,7 +351493,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -332552,23 +351502,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3622": { + "3621": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3622, + "id": 3621, "inner": { "impl": { "blanket_impl": { @@ -332586,7 +351536,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -332634,12 +351584,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -332659,12 +351609,12 @@ }, "visibility": "default" }, - "3623": { + "3622": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3623, + "id": 3622, "inner": { "function": { "generics": { @@ -332722,7 +351672,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -332744,12 +351694,12 @@ }, "visibility": "default" }, - "3624": { + "3623": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3624, + "id": 3623, "inner": { "function": { "generics": { @@ -332791,7 +351741,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -332812,7 +351762,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -332834,12 +351784,12 @@ }, "visibility": "default" }, - "3625": { + "3624": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3625, + "id": 3624, "inner": { "function": { "generics": { @@ -332886,7 +351836,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -332910,7 +351860,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -332932,7 +351882,7 @@ }, "visibility": "default" }, - "3626": { + "3625": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -332941,7 +351891,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3626, + "id": 3625, "inner": { "function": { "generics": { @@ -332992,12 +351942,12 @@ }, "visibility": "default" }, - "3627": { + "3626": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3627, + "id": 3626, "inner": { "function": { "generics": { @@ -333045,7 +351995,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -333068,7 +352018,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -333090,6 +352040,93 @@ }, "visibility": "default" }, + "3627": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3627, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "read_to_string", + "span": { + "begin": [ + 533, + 5 + ], + "end": [ + 535, + 6 + ], + "filename": "std/src/io/stdio.rs" + }, + "visibility": "default" + }, "3628": { "attrs": [], "crate_id": 0, @@ -333130,10 +352167,8 @@ "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" + "slice": { + "primitive": "u8" } } } @@ -333148,14 +352183,14 @@ "args": [ { "type": { - "primitive": "usize" + "tuple": [] } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -333163,14 +352198,14 @@ } }, "links": {}, - "name": "read_to_string", + "name": "read_exact", "span": { "begin": [ - 533, + 537, 5 ], "end": [ - 535, + 539, 6 ], "filename": "std/src/io/stdio.rs" @@ -333211,16 +352246,21 @@ } ], [ - "buf", + "cursor", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - } + }, + "id": 2468, + "path": "BorrowedCursor" } } ] @@ -333240,7 +352280,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -333248,14 +352288,14 @@ } }, "links": {}, - "name": "read_exact", + "name": "read_buf_exact", "span": { "begin": [ - 537, + 541, 5 ], "end": [ - 539, + 543, 6 ], "filename": "std/src/io/stdio.rs" @@ -333290,7 +352330,7 @@ "constraints": [] } }, - "id": 306, + "id": 304, "path": "ScopedJoinHandle" } }, @@ -333305,15 +352345,59 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -333322,15 +352406,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 37, - "path": "From" + "id": 197, + "path": "TryFrom" } } }, @@ -333338,108 +352422,18 @@ "name": null, "span": { "begin": [ - 791, + 827, 1 ], "end": [ - 791, - 28 + 829, + 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, "3630": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3630, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "cursor", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2470, - "path": "BorrowedCursor" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "read_buf_exact", - "span": { - "begin": [ - 541, - 5 - ], - "end": [ - 543, - 6 - ], - "filename": "std/src/io/stdio.rs" - }, - "visibility": "default" - }, - "3631": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -333448,7 +352442,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3631, + "id": 3630, "inner": { "impl": { "blanket_impl": null, @@ -333464,7 +352458,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -333476,14 +352470,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3622, 3623, 3624, 3625, 3626, 3627, 3628, - 3629, - 3630 + 3629 ], "provided_trait_methods": [ "read_vectored", @@ -333500,7 +352494,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -333520,12 +352514,12 @@ }, "visibility": "default" }, - "3632": { + "3631": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3632, + "id": 3631, "inner": { "function": { "generics": { @@ -333577,7 +352571,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -333599,12 +352593,12 @@ }, "visibility": "default" }, - "3633": { + "3632": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3633, + "id": 3632, "inner": { "function": { "generics": { @@ -333659,12 +352653,12 @@ }, "visibility": "default" }, - "3634": { + "3633": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3634, + "id": 3633, "inner": { "function": { "generics": { @@ -333718,7 +352712,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -333741,7 +352735,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -333763,12 +352757,12 @@ }, "visibility": "default" }, - "3635": { + "3634": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3635, + "id": 3634, "inner": { "function": { "generics": { @@ -333805,7 +352799,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -333828,7 +352822,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -333850,7 +352844,7 @@ }, "visibility": "default" }, - "3636": { + "3635": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -333859,7 +352853,164 @@ "crate_id": 0, "deprecation": null, "docs": null, + "id": 3635, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 3557, + "path": "StdinLock" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 3631, + 3632, + 3633, + 3634 + ], + "provided_trait_methods": [ + "has_data_left", + "read_until", + "skip_until", + "read_line", + "split", + "lines" + ], + "trait": { + "args": null, + "id": 2416, + "path": "BufRead" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 554, + 1 + ], + "end": [ + 570, + 2 + ], + "filename": "std/src/io/stdio.rs" + }, + "visibility": "default" + }, + "3636": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, "id": 3636, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 574, + 5 + ], + "end": [ + 576, + 6 + ], + "filename": "std/src/io/stdio.rs" + }, + "visibility": "default" + }, + "3637": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3637, "inner": { "impl": { "blanket_impl": null, @@ -333875,7 +353026,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -333887,23 +353038,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3632, - 3633, - 3634, - 3635 - ], - "provided_trait_methods": [ - "has_data_left", - "read_until", - "skip_until", - "read_line", - "split", - "lines" + 3636 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 2418, - "path": "BufRead" + "id": 344, + "path": "Debug" } } }, @@ -333911,23 +353052,27 @@ "name": null, "span": { "begin": [ - 554, + 573, 1 ], "end": [ - 570, + 577, 2 ], "filename": "std/src/io/stdio.rs" }, "visibility": "default" }, - "3637": { - "attrs": [], + "3638": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3637, + "id": 3638, "inner": { "function": { "generics": { @@ -333954,69 +353099,40 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + "primitive": "bool" } } } }, "links": {}, - "name": "fmt", + "name": "is_terminal", "span": { "begin": [ - 574, - 5 + 1265, + 1 ], "end": [ - 576, - 6 + 1265, + 94 ], "filename": "std/src/io/stdio.rs" }, "visibility": "default" }, - "3638": { + "3639": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3638, + "id": 3639, "inner": { "impl": { "blanket_impl": null, @@ -334032,7 +353148,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "StdinLock" } }, @@ -334044,78 +353160,18 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3637 + 3638 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 2508, + "path": "IsTerminal" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 573, - 1 - ], - "end": [ - 577, - 2 - ], - "filename": "std/src/io/stdio.rs" - }, - "visibility": "default" - }, - "3639": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3639, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_terminal", "span": { "begin": [ 1265, @@ -334157,7 +353213,7 @@ "constraints": [] } }, - "id": 306, + "id": 304, "path": "ScopedJoinHandle" } }, @@ -334172,48 +353228,30 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ + { + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -334223,87 +353261,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 817, - 1 - ], - "end": [ - 819, - 27 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "3640": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3640, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 3558, - "path": "StdinLock" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 3639 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2510, - "path": "IsTerminal" + "id": 339, + "path": "Any" } } }, @@ -334311,18 +353275,18 @@ "name": null, "span": { "begin": [ - 1265, + 138, 1 ], "end": [ - 1265, - 94 + 138, + 36 ], - "filename": "std/src/io/stdio.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "3641": { + "3640": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -334331,7 +353295,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3641, + "id": 3640, "inner": { "function": { "generics": { @@ -334395,7 +353359,7 @@ }, "visibility": "default" }, - "3642": { + "3641": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -334407,7 +353371,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3642, + "id": 3641, "inner": { "impl": { "blanket_impl": null, @@ -334423,7 +353387,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "crate::io::StdinLock" } }, @@ -334444,7 +353408,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3641 + 3640 ], "provided_trait_methods": [], "trait": { @@ -334469,12 +353433,12 @@ }, "visibility": "default" }, - "3643": { + "3642": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3643, + "id": 3642, "inner": { "function": { "generics": { @@ -334529,7 +353493,7 @@ }, "visibility": "default" }, - "3644": { + "3643": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -334541,7 +353505,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3644, + "id": 3643, "inner": { "impl": { "blanket_impl": null, @@ -334557,7 +353521,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "io::StdinLock" } }, @@ -334578,7 +353542,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3643 + 3642 ], "provided_trait_methods": [], "trait": { @@ -334603,7 +353567,7 @@ }, "visibility": "default" }, - "3645": { + "3644": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -334612,7 +353576,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3645, + "id": 3644, "inner": { "function": { "generics": { @@ -334656,18 +353620,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 220, + 224, 5 ], "end": [ - 222, + 226, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3646": { + "3645": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -334679,7 +353643,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3646, + "id": 3645, "inner": { "impl": { "blanket_impl": null, @@ -334695,7 +353659,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "io::StdinLock" } }, @@ -334716,7 +353680,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3645 + 3644 ], "provided_trait_methods": [], "trait": { @@ -334730,18 +353694,18 @@ "name": null, "span": { "begin": [ - 218, + 222, 1 ], "end": [ - 223, + 227, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3647": { + "3646": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -334750,7 +353714,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3647, + "id": 3646, "inner": { "function": { "generics": { @@ -334803,18 +353767,18 @@ "name": "as_fd", "span": { "begin": [ - 468, + 486, 5 ], "end": [ - 471, + 489, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3648": { + "3647": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -334823,7 +353787,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3648, + "id": 3647, "inner": { "impl": { "blanket_impl": null, @@ -334839,7 +353803,7 @@ "constraints": [] } }, - "id": 3558, + "id": 3557, "path": "io::StdinLock" } }, @@ -334860,7 +353824,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3647 + 3646 ], "provided_trait_methods": [], "trait": { @@ -334874,149 +353838,18 @@ "name": null, "span": { "begin": [ - 466, + 484, 1 ], "end": [ - 472, + 490, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "365": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 365, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 306, - "path": "ScopedJoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "3650": { + "3649": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -335025,7 +353858,7 @@ "crate_id": 0, "deprecation": null, "docs": "Locks this handle to the standard output stream, returning a writable\nguard.\n\nThe lock is released when the returned lock goes out of scope. The\nreturned guard also implements the `Write` trait for writing data.\n\n# Examples\n\n```no_run\nuse std::io::{self, Write};\n\nfn main() -> io::Result<()> {\n let mut stdout = io::stdout().lock();\n\n stdout.write_all(b\"hello world\")?;\n\n Ok(())\n}\n```", - "id": 3650, + "id": 3649, "inner": { "function": { "generics": { @@ -335067,7 +353900,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } } @@ -335089,7 +353922,92 @@ }, "visibility": "public" }, - "3651": { + "365": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 365, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 345, + 5 + ], + "end": [ + 347, + 6 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "default" + }, + "3650": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"io_stdout\")]" @@ -335109,7 +354027,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new handle to the standard output of the current process.\n\nEach handle returned is a reference to a shared global buffer whose access\nis synchronized via a mutex. If you need more explicit control over\nlocking, see the [`Stdout::lock`] method.\n\nBy default, the handle is line-buffered when connected to a terminal, meaning\nit flushes automatically when a newline (`\\n`) is encountered. For immediate\noutput, you can manually call the [`flush`] method. When the handle goes out\nof scope, the buffer is automatically flushed.\n\n### Note: Windows Portability Considerations\n\nWhen operating in a console, the Windows implementation of this stream does not support\nnon-UTF-8 byte sequences. Attempting to write bytes that are not valid UTF-8 will return\nan error.\n\nIn a process with a detached console, such as one using\n`#![windows_subsystem = \"windows\"]`, or in a child process spawned from such a process,\nthe contained handle will be null. In such cases, the standard library's `Read` and\n`Write` will do nothing and silently succeed. All other I/O operations, via the\nstandard library or via raw Windows API calls, will fail.\n\n# Examples\n\nUsing implicit synchronization:\n\n```no_run\nuse std::io::{self, Write};\n\nfn main() -> io::Result<()> {\n io::stdout().write_all(b\"hello world\")?;\n\n Ok(())\n}\n```\n\nUsing explicit synchronization:\n\n```no_run\nuse std::io::{self, Write};\n\nfn main() -> io::Result<()> {\n let stdout = io::stdout();\n let mut handle = stdout.lock();\n\n handle.write_all(b\"hello world\")?;\n\n Ok(())\n}\n```\n\nEnsuring output is flushed immediately:\n\n```no_run\nuse std::io::{self, Write};\n\nfn main() -> io::Result<()> {\n let mut stdout = io::stdout();\n stdout.write_all(b\"hello, \")?;\n stdout.flush()?; // Manual flush\n stdout.write_all(b\"world!\\n\")?; // Automatically flushed\n Ok(())\n}\n```\n\n[`flush`]: Write::flush", - "id": 3651, + "id": 3650, "inner": { "function": { "generics": { @@ -335129,7 +354047,7 @@ "output": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } } @@ -335137,8 +354055,8 @@ } }, "links": { - "Write::flush": 2483, - "`Stdout::lock`": 3650 + "Write::flush": 2481, + "`Stdout::lock`": 3649 }, "name": "stdout", "span": { @@ -335154,7 +354072,7 @@ }, "visibility": "public" }, - "3652": { + "3651": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -335163,7 +354081,7 @@ "crate_id": 0, "deprecation": null, "docs": "A handle to the global standard output stream of the current process.\n\nEach handle shares a global buffer of data to be written to the standard\noutput stream. Access is also synchronized via a lock and explicit control\nover locking is available via the [`lock`] method.\n\nBy default, the handle is line-buffered when connected to a terminal, meaning\nit flushes automatically when a newline (`\\n`) is encountered. For immediate\noutput, you can manually call the [`flush`] method. When the handle goes out\nof scope, the buffer is automatically flushed.\n\nCreated by the [`io::stdout`] method.\n\n### Note: Windows Portability Considerations\n\nWhen operating in a console, the Windows implementation of this stream does not support\nnon-UTF-8 byte sequences. Attempting to write bytes that are not valid UTF-8 will return\nan error.\n\nIn a process with a detached console, such as one using\n`#![windows_subsystem = \"windows\"]`, or in a child process spawned from such a process,\nthe contained handle will be null. In such cases, the standard library's `Read` and\n`Write` will do nothing and silently succeed. All other I/O operations, via the\nstandard library or via raw Windows API calls, will fail.\n\n[`lock`]: Stdout::lock\n[`flush`]: Write::flush\n[`io::stdout`]: stdout", - "id": 3652, + "id": 3651, "inner": { "struct": { "generics": { @@ -335171,6 +354089,7 @@ "where_predicates": [] }, "impls": [ + 3653, 3654, 3655, 3656, @@ -335184,16 +354103,15 @@ 3664, 3665, 3666, - 3667, - 3669, - 3677, - 3685, - 3687, - 3689, - 3691, - 3693, - 3695, - 3697 + 3668, + 3676, + 3684, + 3686, + 3688, + 3690, + 3692, + 3694, + 3696 ], "kind": { "plain": { @@ -335204,9 +354122,9 @@ } }, "links": { - "Stdout::lock": 3650, - "Write::flush": 2483, - "stdout": 3651 + "Stdout::lock": 3649, + "Write::flush": 2481, + "stdout": 3650 }, "name": "Stdout", "span": { @@ -335222,7 +354140,7 @@ }, "visibility": "public" }, - "3653": { + "3652": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -335236,7 +354154,7 @@ "crate_id": 0, "deprecation": null, "docs": "A locked reference to the [`Stdout`] handle.\n\nThis handle implements the [`Write`] trait, and is constructed via\nthe [`Stdout::lock`] method. See its documentation for more.\n\nBy default, the handle is line-buffered when connected to a terminal, meaning\nit flushes automatically when a newline (`\\n`) is encountered. For immediate\noutput, you can manually call the [`flush`] method. When the handle goes out\nof scope, the buffer is automatically flushed.\n\n### Note: Windows Portability Considerations\n\nWhen operating in a console, the Windows implementation of this stream does not support\nnon-UTF-8 byte sequences. Attempting to write bytes that are not valid UTF-8 will return\nan error.\n\nIn a process with a detached console, such as one using\n`#![windows_subsystem = \"windows\"]`, or in a child process spawned from such a process,\nthe contained handle will be null. In such cases, the standard library's `Read` and\n`Write` will do nothing and silently succeed. All other I/O operations, via the\nstandard library or via raw Windows API calls, will fail.\n\n[`flush`]: Write::flush", - "id": 3653, + "id": 3652, "inner": { "struct": { "generics": { @@ -335253,6 +354171,7 @@ "where_predicates": [] }, "impls": [ + 3698, 3699, 3700, 3701, @@ -335265,14 +354184,13 @@ 3708, 3709, 3710, - 3711, - 3718, - 3720, - 3722, - 3724, - 3726, - 3728, - 3730 + 3717, + 3719, + 3721, + 3723, + 3725, + 3727, + 3729 ], "kind": { "plain": { @@ -335283,10 +354201,10 @@ } }, "links": { - "Write::flush": 2483, - "`Stdout::lock`": 3650, - "`Stdout`": 3652, - "`Write`": 2486 + "Write::flush": 2481, + "`Stdout::lock`": 3649, + "`Stdout`": 3651, + "`Write`": 2484 }, "name": "StdoutLock", "span": { @@ -335302,19 +354220,19 @@ }, "visibility": "public" }, - "3654": { + "3653": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3654, + "id": 3653, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -335326,7 +354244,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3650 + 3649 ], "provided_trait_methods": [], "trait": null @@ -335347,19 +354265,19 @@ }, "visibility": "default" }, - "3655": { + "3654": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3655, + "id": 3654, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -335384,19 +354302,19 @@ "span": null, "visibility": "default" }, - "3656": { + "3655": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3656, + "id": 3655, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -335421,19 +354339,19 @@ "span": null, "visibility": "default" }, - "3657": { + "3656": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3657, + "id": 3656, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -335448,7 +354366,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -335458,19 +354376,19 @@ "span": null, "visibility": "default" }, - "3658": { + "3657": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3658, + "id": 3657, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -335495,12 +354413,12 @@ "span": null, "visibility": "default" }, - "3659": { + "3658": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3659, + "id": 3658, "inner": { "impl": { "blanket_impl": { @@ -335509,7 +354427,7 @@ "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -335554,7 +354472,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -335570,7 +354488,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -335579,124 +354497,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "366": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 366, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 306, - "path": "ScopedJoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "3660": { + "3659": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3660, + "id": 3659, "inner": { "impl": { "blanket_impl": { @@ -335705,7 +354522,7 @@ "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -335750,7 +354567,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -335766,7 +354583,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -335775,23 +354592,109 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3661": { + "366": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 366, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'scope" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 304, + "path": "ScopedJoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'scope" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 365 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 344, + 1 + ], + "end": [ + 348, + 2 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "default" + }, + "3660": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3661, + "id": 3660, "inner": { "impl": { "blanket_impl": { @@ -335800,7 +354703,7 @@ "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -335866,7 +354769,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -335891,23 +354794,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3662": { + "3661": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3662, + "id": 3661, "inner": { "impl": { "blanket_impl": { @@ -335916,7 +354819,7 @@ "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -335939,7 +354842,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -335964,23 +354867,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3663": { + "3662": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3663, + "id": 3662, "inner": { "impl": { "blanket_impl": { @@ -335989,7 +354892,7 @@ "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -336037,7 +354940,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -336055,8 +354958,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -336072,7 +354975,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -336081,23 +354984,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3664": { + "3663": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3664, + "id": 3663, "inner": { "impl": { "blanket_impl": { @@ -336106,7 +355009,7 @@ "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -336172,8 +355075,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -336189,7 +355092,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -336198,23 +355101,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3665": { + "3664": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3665, + "id": 3664, "inner": { "impl": { "blanket_impl": { @@ -336223,7 +355126,7 @@ "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -336271,12 +355174,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -336296,7 +355199,7 @@ }, "visibility": "default" }, - "3666": { + "3665": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -336305,14 +355208,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3666, + "id": 3665, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -336327,7 +355230,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -336347,7 +355250,7 @@ }, "visibility": "default" }, - "3667": { + "3666": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -336356,14 +355259,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3667, + "id": 3666, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -336378,7 +355281,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -336398,12 +355301,12 @@ }, "visibility": "default" }, - "3668": { + "3667": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3668, + "id": 3667, "inner": { "function": { "generics": { @@ -336449,7 +355352,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -336461,7 +355364,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -336483,7 +355386,7 @@ }, "visibility": "default" }, - "3669": { + "3668": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -336492,14 +355395,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3669, + "id": 3668, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -336511,12 +355414,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3668 + 3667 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -336536,97 +355439,12 @@ }, "visibility": "default" }, - "367": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 367, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 346, - 5 - ], - "end": [ - 348, - 6 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "default" - }, - "3670": { + "3669": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3670, + "id": 3669, "inner": { "function": { "generics": { @@ -336684,7 +355502,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -336706,12 +355524,12 @@ }, "visibility": "default" }, - "3671": { + "3670": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3671, + "id": 3670, "inner": { "function": { "generics": { @@ -336758,7 +355576,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -336782,7 +355600,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -336804,7 +355622,7 @@ }, "visibility": "default" }, - "3672": { + "3671": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -336813,7 +355631,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3672, + "id": 3671, "inner": { "function": { "generics": { @@ -336864,12 +355682,12 @@ }, "visibility": "default" }, - "3673": { + "3672": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3673, + "id": 3672, "inner": { "function": { "generics": { @@ -336913,7 +355731,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -336935,12 +355753,12 @@ }, "visibility": "default" }, - "3674": { + "3673": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3674, + "id": 3673, "inner": { "function": { "generics": { @@ -336998,7 +355816,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -337020,12 +355838,12 @@ }, "visibility": "default" }, - "3675": { + "3674": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3675, + "id": 3674, "inner": { "function": { "generics": { @@ -337072,7 +355890,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -337096,7 +355914,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -337118,12 +355936,12 @@ }, "visibility": "default" }, - "3676": { + "3675": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3676, + "id": 3675, "inner": { "function": { "generics": { @@ -337165,7 +355983,7 @@ "constraints": [] } }, - "id": 3189, + "id": 3190, "path": "fmt::Arguments" } } @@ -337186,7 +356004,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -337208,7 +356026,7 @@ }, "visibility": "default" }, - "3677": { + "3676": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -337217,14 +356035,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3677, + "id": 3676, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -337236,13 +356054,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3669, 3670, 3671, 3672, 3673, 3674, - 3675, - 3676 + 3675 ], "provided_trait_methods": [ "write_vectored", @@ -337254,7 +356072,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -337274,12 +356092,12 @@ }, "visibility": "default" }, - "3678": { + "3677": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3678, + "id": 3677, "inner": { "function": { "generics": { @@ -337337,7 +356155,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -337359,12 +356177,12 @@ }, "visibility": "default" }, - "3679": { + "3678": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3679, + "id": 3678, "inner": { "function": { "generics": { @@ -337411,7 +356229,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -337435,7 +356253,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -337457,93 +356275,7 @@ }, "visibility": "default" }, - "368": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 368, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'scope" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 306, - "path": "ScopedJoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'scope" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 367 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 345, - 1 - ], - "end": [ - 349, - 2 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "default" - }, - "3680": { + "3679": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -337552,7 +356284,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3680, + "id": 3679, "inner": { "function": { "generics": { @@ -337603,12 +356335,12 @@ }, "visibility": "default" }, - "3681": { + "3680": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3681, + "id": 3680, "inner": { "function": { "generics": { @@ -337652,7 +356384,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -337674,12 +356406,12 @@ }, "visibility": "default" }, - "3682": { + "3681": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3682, + "id": 3681, "inner": { "function": { "generics": { @@ -337737,7 +356469,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -337759,12 +356491,12 @@ }, "visibility": "default" }, - "3683": { + "3682": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3683, + "id": 3682, "inner": { "function": { "generics": { @@ -337811,7 +356543,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -337835,7 +356567,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -337857,12 +356589,12 @@ }, "visibility": "default" }, - "3684": { + "3683": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3684, + "id": 3683, "inner": { "function": { "generics": { @@ -337904,7 +356636,7 @@ "constraints": [] } }, - "id": 3189, + "id": 3190, "path": "fmt::Arguments" } } @@ -337925,7 +356657,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -337947,7 +356679,7 @@ }, "visibility": "default" }, - "3685": { + "3684": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 48, patch: 0})}, feature: \"write_mt\"}}]" @@ -337956,7 +356688,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3685, + "id": 3684, "inner": { "impl": { "blanket_impl": null, @@ -337967,7 +356699,7 @@ "type": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } } @@ -337981,13 +356713,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3677, 3678, 3679, 3680, 3681, 3682, - 3683, - 3684 + 3683 ], "provided_trait_methods": [ "write_vectored", @@ -337999,7 +356731,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -338019,7 +356751,7 @@ }, "visibility": "default" }, - "3686": { + "3685": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -338028,7 +356760,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3686, + "id": 3685, "inner": { "function": { "generics": { @@ -338079,7 +356811,7 @@ }, "visibility": "default" }, - "3687": { + "3686": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" @@ -338088,14 +356820,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3687, + "id": 3686, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } }, @@ -338107,12 +356839,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3686 + 3685 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2510, + "id": 2508, "path": "IsTerminal" } } @@ -338132,7 +356864,7 @@ }, "visibility": "default" }, - "3688": { + "3687": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -338141,7 +356873,132 @@ "crate_id": 0, "deprecation": null, "docs": null, + "id": 3687, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 592, + "path": "BorrowedHandle" + } + } + } + } + }, + "links": {}, + "name": "as_handle", + "span": { + "begin": [ + 568, + 5 + ], + "end": [ + 570, + 6 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "3688": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, "id": 3688, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 3651, + "path": "crate::io::Stdout" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 3687 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 594, + "path": "AsHandle" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 566, + 1 + ], + "end": [ + 571, + 2 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "3689": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3689, "inner": { "function": { "generics": { @@ -338173,100 +357030,47 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 592, - "path": "BorrowedHandle" + "args": null, + "id": 599, + "path": "RawHandle" } } } } }, "links": {}, - "name": "as_handle", + "name": "as_raw_handle", "span": { "begin": [ - 568, + 110, 5 ], "end": [ - 570, + 112, 6 ], - "filename": "std/src/os/windows/io/handle.rs" + "filename": "std/src/os/windows/io/raw.rs" }, "visibility": "default" }, - "3689": { + "369": { "attrs": [ { - "other": "#[doc(cfg(windows))]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 147194, is_soft: false}, feature: \"current_thread_id\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3689, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 3652, - "path": "crate::io::Stdout" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 3688 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 594, - "path": "AsHandle" + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": null } } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 566, - 1 - ], - "end": [ - 571, - 2 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "default" - }, - "3690": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 3690, + "docs": "Gets the unique identifier of the thread which invokes it.\n\nCalling this function may be more efficient than accessing the current\nthread id through the current thread handle. i.e. `thread::current().id()`.\n\nThis function will always succeed, will always return the same value for\none thread and is guaranteed not to call the global allocator.\n\n# Examples\n\n```\n#![feature(current_thread_id)]\n\nuse std::thread;\n\nlet other_thread = thread::spawn(|| {\n thread::current_id()\n});\n\nlet other_thread_id = other_thread.join().unwrap();\nassert_ne!(thread::current_id(), other_thread_id);\n```", + "id": 369, "inner": { "function": { "generics": { @@ -338281,47 +357085,34 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { "resolved_path": { "args": null, - "id": 599, - "path": "RawHandle" + "id": 370, + "path": "super::ThreadId" } } } } }, "links": {}, - "name": "as_raw_handle", + "name": "current_id", "span": { "begin": [ - 110, - 5 + 161, + 1 ], "end": [ - 112, - 6 + 172, + 2 ], - "filename": "std/src/os/windows/io/raw.rs" + "filename": "std/src/thread/current.rs" }, - "visibility": "default" + "visibility": "public" }, - "3691": { + "3690": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -338333,14 +357124,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3691, + "id": 3690, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "io::Stdout" } }, @@ -338352,7 +357143,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3690 + 3689 ], "provided_trait_methods": [], "trait": { @@ -338377,7 +357168,7 @@ }, "visibility": "default" }, - "3692": { + "3691": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -338386,7 +357177,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3692, + "id": 3691, "inner": { "function": { "generics": { @@ -338430,18 +357221,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 203, + 207, 5 ], "end": [ - 205, + 209, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3693": { + "3692": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 21, patch: 0})}, feature: \"asraw_stdio\"}}]" @@ -338450,14 +357241,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3693, + "id": 3692, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "io::Stdout" } }, @@ -338469,7 +357260,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3692 + 3691 ], "provided_trait_methods": [], "trait": { @@ -338483,18 +357274,18 @@ "name": null, "span": { "begin": [ - 201, + 205, 1 ], "end": [ - 206, + 210, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3694": { + "3693": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -338503,7 +357294,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3694, + "id": 3693, "inner": { "function": { "generics": { @@ -338556,18 +357347,18 @@ "name": "as_fd", "span": { "begin": [ - 477, + 495, 5 ], "end": [ - 479, + 497, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3695": { + "3694": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -338576,14 +357367,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3695, + "id": 3694, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "io::Stdout" } }, @@ -338595,7 +357386,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3694 + 3693 ], "provided_trait_methods": [], "trait": { @@ -338609,23 +357400,23 @@ "name": null, "span": { "begin": [ - 475, + 493, 1 ], "end": [ - 480, + 498, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3696": { + "3695": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Redirect command stdout/stderr to our stdout\n\n# Examples\n\n```rust\n#![feature(exit_status_error)]\nuse std::io;\nuse std::process::Command;\n\n# fn test() -> Result<(), Box> {\nlet output = Command::new(\"whoami\")\n .stdout(io::stdout())\n .output()?;\noutput.status.exit_ok()?;\nassert!(output.stdout.is_empty());\n# Ok(())\n# }\n#\n# if cfg!(all(unix, not(target_os = \"android\"))) {\n# test().unwrap();\n# }\n```", - "id": 3696, + "docs": "Redirect command stdout/stderr to our stdout\n\n# Examples\n\n```rust\n#![feature(exit_status_error)]\nuse std::io;\nuse std::process::Command;\n\n# fn test() -> Result<(), Box> {\nlet output = Command::new(\"whoami\")\n .stdout(io::stdout())\n .output()?;\noutput.status.exit_ok()?;\nassert!(output.stdout.is_empty());\n# Ok(())\n# }\n#\n# if cfg!(all(unix, not(target_os = \"android\"), not(all(target_vendor = \"apple\", not(target_os = \"macos\"))))) {\n# test().unwrap();\n# }\n```", + "id": 3695, "inner": { "function": { "generics": { @@ -338646,7 +357437,7 @@ { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "io::Stdout" } } @@ -338667,18 +357458,18 @@ "name": "from", "span": { "begin": [ - 1702, + 1713, 5 ], "end": [ - 1704, + 1715, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "3697": { + "3696": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 74, patch: 0})}, feature: \"stdio_from_stdio\"}}]" @@ -338687,7 +357478,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3697, + "id": 3696, "inner": { "impl": { "blanket_impl": null, @@ -338706,7 +357497,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3696 + 3695 ], "provided_trait_methods": [], "trait": { @@ -338717,7 +357508,7 @@ "type": { "resolved_path": { "args": null, - "id": 3652, + "id": 3651, "path": "Stdout" } } @@ -338735,23 +357526,23 @@ "name": null, "span": { "begin": [ - 1677, + 1688, 1 ], "end": [ - 1705, + 1716, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "3699": { + "3698": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3699, + "id": 3698, "inner": { "impl": { "blanket_impl": null, @@ -338767,7 +357558,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -338801,12 +357592,12 @@ "span": null, "visibility": "default" }, - "3700": { + "3699": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3700, + "id": 3699, "inner": { "impl": { "blanket_impl": null, @@ -338822,7 +357613,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -338856,12 +357647,78 @@ "span": null, "visibility": "default" }, - "3701": { + "370": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A unique identifier for a running thread.\n\nA `ThreadId` is an opaque object that uniquely identifies each thread\ncreated during the lifetime of a process. `ThreadId`s are guaranteed not to\nbe reused, even when a thread terminates. `ThreadId`s are under the control\nof Rust's standard library and there may not be any relationship between\n`ThreadId` and the underlying platform's notion of a thread identifier --\nthe two concepts cannot, therefore, be used interchangeably. A `ThreadId`\ncan be retrieved from the [`id`] method on a [`Thread`].\n\n# Examples\n\n```\nuse std::thread;\n\nlet other_thread = thread::spawn(|| {\n thread::current().id()\n});\n\nlet other_thread_id = other_thread.join().unwrap();\nassert!(thread::current().id() != other_thread_id);\n```\n\n[`id`]: Thread::id", + "id": 370, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 532, + 534, + 535, + 538, + 541 + ], + "kind": { + "tuple": [ + null + ] + } + } + }, + "links": { + "Thread::id": 510, + "`Thread`": 347 + }, + "name": "ThreadId", + "span": { + "begin": [ + 1231, + 1 + ], + "end": [ + 1231, + 35 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "3700": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3701, + "id": 3700, "inner": { "impl": { "blanket_impl": null, @@ -338877,7 +357734,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -338901,7 +357758,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -338911,12 +357768,12 @@ "span": null, "visibility": "default" }, - "3702": { + "3701": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3702, + "id": 3701, "inner": { "impl": { "blanket_impl": null, @@ -338932,7 +357789,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -338966,12 +357823,12 @@ "span": null, "visibility": "default" }, - "3703": { + "3702": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3703, + "id": 3702, "inner": { "impl": { "blanket_impl": { @@ -338989,7 +357846,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -339034,7 +357891,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -339050,7 +357907,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -339059,23 +357916,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3704": { + "3703": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3704, + "id": 3703, "inner": { "impl": { "blanket_impl": { @@ -339093,7 +357950,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -339138,7 +357995,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -339154,7 +358011,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -339163,23 +358020,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3705": { + "3704": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3705, + "id": 3704, "inner": { "impl": { "blanket_impl": { @@ -339197,7 +358054,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -339263,7 +358120,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -339288,23 +358145,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3706": { + "3705": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3706, + "id": 3705, "inner": { "impl": { "blanket_impl": { @@ -339322,7 +358179,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -339345,7 +358202,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -339370,23 +358227,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3707": { + "3706": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3707, + "id": 3706, "inner": { "impl": { "blanket_impl": { @@ -339404,7 +358261,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -339452,7 +358309,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -339470,8 +358327,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -339487,7 +358344,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -339496,23 +358353,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3708": { + "3707": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3708, + "id": 3707, "inner": { "impl": { "blanket_impl": { @@ -339530,7 +358387,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -339596,8 +358453,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -339613,7 +358470,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -339622,23 +358479,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3709": { + "3708": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3709, + "id": 3708, "inner": { "impl": { "blanket_impl": { @@ -339656,7 +358513,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -339704,12 +358561,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -339729,63 +358586,7 @@ }, "visibility": "default" }, - "371": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Gets a handle to the thread that invokes it.\n\n# Examples\n\nGetting a handle to the current thread with `thread::current()`:\n\n```\nuse std::thread;\n\nlet handler = thread::Builder::new()\n .name(\"named thread\".into())\n .spawn(|| {\n let handle = thread::current();\n assert_eq!(handle.name(), Some(\"named thread\"));\n })\n .unwrap();\n\nhandler.join().unwrap();\n```", - "id": 371, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 349, - "path": "super::Thread" - } - } - } - } - }, - "links": {}, - "name": "current", - "span": { - "begin": [ - 223, - 1 - ], - "end": [ - 233, - 2 - ], - "filename": "std/src/thread/current.rs" - }, - "visibility": "public" - }, - "3710": { + "3709": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -339794,7 +358595,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3710, + "id": 3709, "inner": { "impl": { "blanket_impl": null, @@ -339810,7 +358611,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -339825,7 +358626,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -339845,7 +358646,63 @@ }, "visibility": "default" }, - "3711": { + "371": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Gets a handle to the thread that invokes it.\n\n# Examples\n\nGetting a handle to the current thread with `thread::current()`:\n\n```\nuse std::thread;\n\nlet handler = thread::Builder::new()\n .name(\"named thread\".into())\n .spawn(|| {\n let handle = thread::current();\n assert_eq!(handle.name(), Some(\"named thread\"));\n })\n .unwrap();\n\nhandler.join().unwrap();\n```", + "id": 371, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 347, + "path": "super::Thread" + } + } + } + } + }, + "links": {}, + "name": "current", + "span": { + "begin": [ + 243, + 1 + ], + "end": [ + 253, + 2 + ], + "filename": "std/src/thread/current.rs" + }, + "visibility": "public" + }, + "3710": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -339854,7 +358711,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3711, + "id": 3710, "inner": { "impl": { "blanket_impl": null, @@ -339870,7 +358727,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -339885,7 +358742,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -339905,12 +358762,12 @@ }, "visibility": "default" }, - "3712": { + "3711": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3712, + "id": 3711, "inner": { "function": { "generics": { @@ -339968,7 +358825,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -339990,12 +358847,12 @@ }, "visibility": "default" }, - "3713": { + "3712": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3713, + "id": 3712, "inner": { "function": { "generics": { @@ -340042,7 +358899,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -340066,7 +358923,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -340088,7 +358945,7 @@ }, "visibility": "default" }, - "3714": { + "3713": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -340097,7 +358954,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3714, + "id": 3713, "inner": { "function": { "generics": { @@ -340148,12 +359005,12 @@ }, "visibility": "default" }, - "3715": { + "3714": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3715, + "id": 3714, "inner": { "function": { "generics": { @@ -340197,7 +359054,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -340219,12 +359076,12 @@ }, "visibility": "default" }, - "3716": { + "3715": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3716, + "id": 3715, "inner": { "function": { "generics": { @@ -340282,7 +359139,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -340304,12 +359161,12 @@ }, "visibility": "default" }, - "3717": { + "3716": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3717, + "id": 3716, "inner": { "function": { "generics": { @@ -340356,7 +359213,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -340380,7 +359237,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -340402,7 +359259,7 @@ }, "visibility": "default" }, - "3718": { + "3717": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -340411,7 +359268,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3718, + "id": 3717, "inner": { "impl": { "blanket_impl": null, @@ -340427,7 +359284,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -340439,12 +359296,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3711, 3712, 3713, 3714, 3715, - 3716, - 3717 + 3716 ], "provided_trait_methods": [ "write_vectored", @@ -340456,7 +359313,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -340476,12 +359333,12 @@ }, "visibility": "default" }, - "3719": { + "3718": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3719, + "id": 3718, "inner": { "function": { "generics": { @@ -340527,7 +359384,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -340539,7 +359396,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -340561,7 +359418,7 @@ }, "visibility": "default" }, - "3720": { + "3719": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -340570,7 +359427,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3720, + "id": 3719, "inner": { "impl": { "blanket_impl": null, @@ -340586,7 +359443,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -340598,12 +359455,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3719 + 3718 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -340623,7 +359480,7 @@ }, "visibility": "default" }, - "3721": { + "3720": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -340632,7 +359489,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3721, + "id": 3720, "inner": { "function": { "generics": { @@ -340683,7 +359540,7 @@ }, "visibility": "default" }, - "3722": { + "3721": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" @@ -340692,7 +359549,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3722, + "id": 3721, "inner": { "impl": { "blanket_impl": null, @@ -340708,7 +359565,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "StdoutLock" } }, @@ -340720,12 +359577,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3721 + 3720 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2510, + "id": 2508, "path": "IsTerminal" } } @@ -340745,7 +359602,7 @@ }, "visibility": "default" }, - "3723": { + "3722": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -340754,7 +359611,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3723, + "id": 3722, "inner": { "function": { "generics": { @@ -340818,7 +359675,7 @@ }, "visibility": "default" }, - "3724": { + "3723": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -340830,7 +359687,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3724, + "id": 3723, "inner": { "impl": { "blanket_impl": null, @@ -340846,7 +359703,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "crate::io::StdoutLock" } }, @@ -340867,7 +359724,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3723 + 3722 ], "provided_trait_methods": [], "trait": { @@ -340892,12 +359749,12 @@ }, "visibility": "default" }, - "3725": { + "3724": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3725, + "id": 3724, "inner": { "function": { "generics": { @@ -340952,7 +359809,7 @@ }, "visibility": "default" }, - "3726": { + "3725": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -340964,7 +359821,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3726, + "id": 3725, "inner": { "impl": { "blanket_impl": null, @@ -340980,7 +359837,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "io::StdoutLock" } }, @@ -341001,7 +359858,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3725 + 3724 ], "provided_trait_methods": [], "trait": { @@ -341026,7 +359883,7 @@ }, "visibility": "default" }, - "3727": { + "3726": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -341035,7 +359892,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3727, + "id": 3726, "inner": { "function": { "generics": { @@ -341079,18 +359936,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 228, + 232, 5 ], "end": [ - 230, + 234, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3728": { + "3727": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 35, patch: 0})}, feature: \"asraw_stdio_locks\"}}]" @@ -341099,7 +359956,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3728, + "id": 3727, "inner": { "impl": { "blanket_impl": null, @@ -341115,7 +359972,7 @@ "constraints": [] } }, - "id": 3653, + "id": 3652, "path": "io::StdoutLock" } }, @@ -341136,7 +359993,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3727 + 3726 ], "provided_trait_methods": [], "trait": { @@ -341150,18 +360007,18 @@ "name": null, "span": { "begin": [ - 226, + 230, 1 ], "end": [ - 231, + 235, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3729": { + "3728": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -341170,7 +360027,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3729, + "id": 3728, "inner": { "function": { "generics": { @@ -341223,17 +360080,88 @@ "name": "as_fd", "span": { "begin": [ - 485, + 503, 5 ], "end": [ - 488, + 506, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, + "3729": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3729, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 3652, + "path": "io::StdoutLock" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 3728 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 2560, + "path": "AsFd" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 501, + 1 + ], + "end": [ + 507, + 2 + ], + "filename": "std/src/os/fd/owned.rs" + }, + "visibility": "default" + }, "373": { "attrs": [ { @@ -341313,7 +360241,7 @@ "type": { "resolved_path": { "args": null, - "id": 349, + "id": 347, "path": "crate::thread::Thread" } } @@ -341415,78 +360343,7 @@ }, "visibility": "public" }, - "3730": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3730, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 3653, - "path": "io::StdoutLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 3729 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 2560, - "path": "AsFd" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 483, - 1 - ], - "end": [ - 489, - 2 - ], - "filename": "std/src/os/fd/owned.rs" - }, - "visibility": "default" - }, - "3732": { + "3731": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"io_stderr\")]" @@ -341506,7 +360363,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new handle to the standard error of the current process.\n\nThis handle is not buffered.\n\n### Note: Windows Portability Considerations\n\nWhen operating in a console, the Windows implementation of this stream does not support\nnon-UTF-8 byte sequences. Attempting to write bytes that are not valid UTF-8 will return\nan error.\n\nIn a process with a detached console, such as one using\n`#![windows_subsystem = \"windows\"]`, or in a child process spawned from such a process,\nthe contained handle will be null. In such cases, the standard library's `Read` and\n`Write` will do nothing and silently succeed. All other I/O operations, via the\nstandard library or via raw Windows API calls, will fail.\n\n# Examples\n\nUsing implicit synchronization:\n\n```no_run\nuse std::io::{self, Write};\n\nfn main() -> io::Result<()> {\n io::stderr().write_all(b\"hello world\")?;\n\n Ok(())\n}\n```\n\nUsing explicit synchronization:\n\n```no_run\nuse std::io::{self, Write};\n\nfn main() -> io::Result<()> {\n let stderr = io::stderr();\n let mut handle = stderr.lock();\n\n handle.write_all(b\"hello world\")?;\n\n Ok(())\n}\n```", - "id": 3732, + "id": 3731, "inner": { "function": { "generics": { @@ -341526,7 +360383,7 @@ "output": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } } @@ -341548,7 +360405,7 @@ }, "visibility": "public" }, - "3733": { + "3732": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -341557,7 +360414,7 @@ "crate_id": 0, "deprecation": null, "docs": "A handle to the standard error stream of a process.\n\nFor more information, see the [`io::stderr`] method.\n\n[`io::stderr`]: stderr\n\n### Note: Windows Portability Considerations\n\nWhen operating in a console, the Windows implementation of this stream does not support\nnon-UTF-8 byte sequences. Attempting to write bytes that are not valid UTF-8 will return\nan error.\n\nIn a process with a detached console, such as one using\n`#![windows_subsystem = \"windows\"]`, or in a child process spawned from such a process,\nthe contained handle will be null. In such cases, the standard library's `Read` and\n`Write` will do nothing and silently succeed. All other I/O operations, via the\nstandard library or via raw Windows API calls, will fail.", - "id": 3733, + "id": 3732, "inner": { "struct": { "generics": { @@ -341565,6 +360422,7 @@ "where_predicates": [] }, "impls": [ + 3735, 3736, 3737, 3738, @@ -341578,16 +360436,15 @@ 3746, 3747, 3748, - 3749, - 3751, - 3759, - 3767, - 3769, - 3771, - 3773, - 3775, - 3777, - 3779 + 3750, + 3758, + 3766, + 3768, + 3770, + 3772, + 3774, + 3776, + 3778 ], "kind": { "plain": { @@ -341598,7 +360455,7 @@ } }, "links": { - "stderr": 3732 + "stderr": 3731 }, "name": "Stderr", "span": { @@ -341614,7 +360471,7 @@ }, "visibility": "public" }, - "3734": { + "3733": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -341623,7 +360480,7 @@ "crate_id": 0, "deprecation": null, "docs": "Locks this handle to the standard error stream, returning a writable\nguard.\n\nThe lock is released when the returned lock goes out of scope. The\nreturned guard also implements the [`Write`] trait for writing data.\n\n# Examples\n\n```\nuse std::io::{self, Write};\n\nfn foo() -> io::Result<()> {\n let stderr = io::stderr();\n let mut handle = stderr.lock();\n\n handle.write_all(b\"hello world\")?;\n\n Ok(())\n}\n```", - "id": 3734, + "id": 3733, "inner": { "function": { "generics": { @@ -341665,7 +360522,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } } @@ -341673,7 +360530,7 @@ } }, "links": { - "`Write`": 2486 + "`Write`": 2484 }, "name": "lock", "span": { @@ -341689,7 +360546,7 @@ }, "visibility": "public" }, - "3735": { + "3734": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -341703,7 +360560,7 @@ "crate_id": 0, "deprecation": null, "docs": "A locked reference to the [`Stderr`] handle.\n\nThis handle implements the [`Write`] trait and is constructed via\nthe [`Stderr::lock`] method. See its documentation for more.\n\n### Note: Windows Portability Considerations\n\nWhen operating in a console, the Windows implementation of this stream does not support\nnon-UTF-8 byte sequences. Attempting to write bytes that are not valid UTF-8 will return\nan error.\n\nIn a process with a detached console, such as one using\n`#![windows_subsystem = \"windows\"]`, or in a child process spawned from such a process,\nthe contained handle will be null. In such cases, the standard library's `Read` and\n`Write` will do nothing and silently succeed. All other I/O operations, via the\nstandard library or via raw Windows API calls, will fail.", - "id": 3735, + "id": 3734, "inner": { "struct": { "generics": { @@ -341720,6 +360577,7 @@ "where_predicates": [] }, "impls": [ + 3780, 3781, 3782, 3783, @@ -341732,14 +360590,13 @@ 3790, 3791, 3792, - 3793, - 3800, - 3802, - 3804, - 3806, - 3808, - 3810, - 3812 + 3799, + 3801, + 3803, + 3805, + 3807, + 3809, + 3811 ], "kind": { "plain": { @@ -341750,9 +360607,9 @@ } }, "links": { - "`Stderr::lock`": 3734, - "`Stderr`": 3733, - "`Write`": 2486 + "`Stderr::lock`": 3733, + "`Stderr`": 3732, + "`Write`": 2484 }, "name": "StderrLock", "span": { @@ -341768,19 +360625,19 @@ }, "visibility": "public" }, - "3736": { + "3735": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3736, + "id": 3735, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -341792,7 +360649,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3734 + 3733 ], "provided_trait_methods": [], "trait": null @@ -341813,19 +360670,19 @@ }, "visibility": "default" }, - "3737": { + "3736": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3737, + "id": 3736, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -341850,19 +360707,19 @@ "span": null, "visibility": "default" }, - "3738": { + "3737": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3738, + "id": 3737, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -341887,19 +360744,19 @@ "span": null, "visibility": "default" }, - "3739": { + "3738": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3739, + "id": 3738, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -341914,7 +360771,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -341924,19 +360781,19 @@ "span": null, "visibility": "default" }, - "3740": { + "3739": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3740, + "id": 3739, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -341961,12 +360818,12 @@ "span": null, "visibility": "default" }, - "3741": { + "3740": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3741, + "id": 3740, "inner": { "impl": { "blanket_impl": { @@ -341975,7 +360832,7 @@ "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -342020,7 +360877,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -342036,7 +360893,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -342045,23 +360902,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3742": { + "3741": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3742, + "id": 3741, "inner": { "impl": { "blanket_impl": { @@ -342070,7 +360927,7 @@ "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -342115,7 +360972,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -342131,7 +360988,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -342140,23 +360997,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3743": { + "3742": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3743, + "id": 3742, "inner": { "impl": { "blanket_impl": { @@ -342165,7 +361022,7 @@ "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -342231,7 +361088,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -342256,23 +361113,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3744": { + "3743": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3744, + "id": 3743, "inner": { "impl": { "blanket_impl": { @@ -342281,7 +361138,7 @@ "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -342304,7 +361161,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -342329,23 +361186,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3745": { + "3744": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3745, + "id": 3744, "inner": { "impl": { "blanket_impl": { @@ -342354,7 +361211,7 @@ "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -342402,7 +361259,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -342420,8 +361277,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -342437,7 +361294,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -342446,23 +361303,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3746": { + "3745": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3746, + "id": 3745, "inner": { "impl": { "blanket_impl": { @@ -342471,7 +361328,7 @@ "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -342537,8 +361394,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -342554,7 +361411,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -342563,23 +361420,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3747": { + "3746": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3747, + "id": 3746, "inner": { "impl": { "blanket_impl": { @@ -342588,7 +361445,7 @@ "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -342636,12 +361493,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -342661,7 +361518,7 @@ }, "visibility": "default" }, - "3748": { + "3747": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -342670,14 +361527,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3748, + "id": 3747, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -342692,7 +361549,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -342712,7 +361569,7 @@ }, "visibility": "default" }, - "3749": { + "3748": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -342721,14 +361578,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3749, + "id": 3748, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -342743,7 +361600,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -342763,12 +361620,12 @@ }, "visibility": "default" }, - "3750": { + "3749": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3750, + "id": 3749, "inner": { "function": { "generics": { @@ -342814,7 +361671,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -342826,7 +361683,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -342848,7 +361705,7 @@ }, "visibility": "default" }, - "3751": { + "3750": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -342857,14 +361714,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3751, + "id": 3750, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -342876,12 +361733,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3750 + 3749 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -342901,12 +361758,12 @@ }, "visibility": "default" }, - "3752": { + "3751": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3752, + "id": 3751, "inner": { "function": { "generics": { @@ -342964,7 +361821,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -342986,12 +361843,12 @@ }, "visibility": "default" }, - "3753": { + "3752": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3753, + "id": 3752, "inner": { "function": { "generics": { @@ -343038,7 +361895,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -343062,7 +361919,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -343084,7 +361941,7 @@ }, "visibility": "default" }, - "3754": { + "3753": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -343093,7 +361950,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3754, + "id": 3753, "inner": { "function": { "generics": { @@ -343144,12 +362001,12 @@ }, "visibility": "default" }, - "3755": { + "3754": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3755, + "id": 3754, "inner": { "function": { "generics": { @@ -343193,7 +362050,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -343215,12 +362072,12 @@ }, "visibility": "default" }, - "3756": { + "3755": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3756, + "id": 3755, "inner": { "function": { "generics": { @@ -343278,7 +362135,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -343300,12 +362157,12 @@ }, "visibility": "default" }, - "3757": { + "3756": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3757, + "id": 3756, "inner": { "function": { "generics": { @@ -343352,7 +362209,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -343376,7 +362233,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -343398,12 +362255,12 @@ }, "visibility": "default" }, - "3758": { + "3757": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3758, + "id": 3757, "inner": { "function": { "generics": { @@ -343445,7 +362302,7 @@ "constraints": [] } }, - "id": 3189, + "id": 3190, "path": "fmt::Arguments" } } @@ -343466,7 +362323,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -343488,7 +362345,7 @@ }, "visibility": "default" }, - "3759": { + "3758": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -343497,14 +362354,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3759, + "id": 3758, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -343516,13 +362373,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3751, 3752, 3753, 3754, 3755, 3756, - 3757, - 3758 + 3757 ], "provided_trait_methods": [ "write_vectored", @@ -343534,7 +362391,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -343554,55 +362411,12 @@ }, "visibility": "default" }, - "376": { - "attrs": [ - "macro_export", - { - "other": "#[(not(test), rustc_diagnostic_item = \"thread_local_macro\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"thread_local_macro\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = AllowInternalUnstable([\"thread_local_internals\"])]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Declare a new thread local storage key of type [`std::thread::LocalKey`].\n\n# Syntax\n\nThe macro wraps any number of static declarations and makes them thread local.\nPublicity and attributes for each static are allowed. Example:\n\n```\nuse std::cell::{Cell, RefCell};\n\nthread_local! {\n pub static FOO: Cell = const { Cell::new(1) };\n\n static BAR: RefCell> = RefCell::new(vec![1.0, 2.0]);\n}\n\nassert_eq!(FOO.get(), 1);\nBAR.with_borrow(|v| assert_eq!(v[1], 2.0));\n```\n\nNote that only shared references (`&T`) to the inner data may be obtained, so a\ntype such as [`Cell`] or [`RefCell`] is typically used to allow mutating access.\n\nThis macro supports a special `const {}` syntax that can be used\nwhen the initialization expression can be evaluated as a constant.\nThis can enable a more efficient thread local implementation that\ncan avoid lazy initialization. For types that do not\n[need to be dropped][crate::mem::needs_drop], this can enable an\neven more efficient implementation that does not need to\ntrack any additional state.\n\n```\nuse std::cell::RefCell;\n\nthread_local! {\n pub static FOO: RefCell> = const { RefCell::new(Vec::new()) };\n}\n\nFOO.with_borrow(|v| assert_eq!(v.len(), 0));\n```\n\nSee [`LocalKey` documentation][`std::thread::LocalKey`] for more\ninformation.\n\n[`std::thread::LocalKey`]: crate::thread::LocalKey", - "id": 376, - "inner": { - "macro": "macro_rules! thread_local {\n () => { ... };\n ($(#[$attr:meta])* $vis:vis static $name:ident: $t:ty = const $init:block; $($rest:tt)*) => { ... };\n ($(#[$attr:meta])* $vis:vis static $name:ident: $t:ty = const $init:block) => { ... };\n ($(#[$attr:meta])* $vis:vis static $name:ident: $t:ty = $init:expr; $($rest:tt)*) => { ... };\n ($(#[$attr:meta])* $vis:vis static $name:ident: $t:ty = $init:expr) => { ... };\n}" - }, - "links": { - "`Cell`": 378, - "`RefCell`": 380, - "crate::mem::needs_drop": 9359, - "crate::thread::LocalKey": 383 - }, - "name": "thread_local", - "span": { - "begin": [ - 184, - 1 - ], - "end": [ - 207, - 2 - ], - "filename": "std/src/thread/local.rs" - }, - "visibility": "public" - }, - "3760": { + "3759": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3760, + "id": 3759, "inner": { "function": { "generics": { @@ -343660,7 +362474,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -343682,12 +362496,55 @@ }, "visibility": "default" }, - "3761": { + "376": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"thread_local_macro\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"thread_local_macro\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = AllowInternalUnstable([\"thread_local_internals\"])]" + }, + "macro_export" + ], + "crate_id": 0, + "deprecation": null, + "docs": "Declare a new thread local storage key of type [`std::thread::LocalKey`].\n\n# Syntax\n\nThe macro wraps any number of static declarations and makes them thread local.\nPublicity and attributes for each static are allowed. Example:\n\n```\nuse std::cell::{Cell, RefCell};\n\nthread_local! {\n pub static FOO: Cell = const { Cell::new(1) };\n\n static BAR: RefCell> = RefCell::new(vec![1.0, 2.0]);\n}\n\nassert_eq!(FOO.get(), 1);\nBAR.with_borrow(|v| assert_eq!(v[1], 2.0));\n```\n\nNote that only shared references (`&T`) to the inner data may be obtained, so a\ntype such as [`Cell`] or [`RefCell`] is typically used to allow mutating access.\n\nThis macro supports a special `const {}` syntax that can be used\nwhen the initialization expression can be evaluated as a constant.\nThis can enable a more efficient thread local implementation that\ncan avoid lazy initialization. For types that do not\n[need to be dropped][crate::mem::needs_drop], this can enable an\neven more efficient implementation that does not need to\ntrack any additional state.\n\n```\nuse std::cell::RefCell;\n\nthread_local! {\n pub static FOO: RefCell> = const { RefCell::new(Vec::new()) };\n}\n\nFOO.with_borrow(|v| assert_eq!(v.len(), 0));\n```\n\nSee [`LocalKey` documentation][`std::thread::LocalKey`] for more\ninformation.\n\n[`std::thread::LocalKey`]: crate::thread::LocalKey", + "id": 376, + "inner": { + "macro": "macro_rules! thread_local {\n () => { ... };\n ($($tt:tt)+) => { ... };\n}" + }, + "links": { + "`Cell`": 378, + "`RefCell`": 380, + "crate::mem::needs_drop": 9580, + "crate::thread::LocalKey": 383 + }, + "name": "thread_local", + "span": { + "begin": [ + 394, + 1 + ], + "end": [ + 400, + 2 + ], + "filename": "std/src/thread/local.rs" + }, + "visibility": "public" + }, + "3760": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3761, + "id": 3760, "inner": { "function": { "generics": { @@ -343734,7 +362591,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -343758,7 +362615,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -343780,7 +362637,7 @@ }, "visibility": "default" }, - "3762": { + "3761": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -343789,7 +362646,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3762, + "id": 3761, "inner": { "function": { "generics": { @@ -343840,12 +362697,12 @@ }, "visibility": "default" }, - "3763": { + "3762": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3763, + "id": 3762, "inner": { "function": { "generics": { @@ -343889,7 +362746,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -343911,12 +362768,12 @@ }, "visibility": "default" }, - "3764": { + "3763": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3764, + "id": 3763, "inner": { "function": { "generics": { @@ -343974,7 +362831,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -343996,12 +362853,12 @@ }, "visibility": "default" }, - "3765": { + "3764": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3765, + "id": 3764, "inner": { "function": { "generics": { @@ -344048,7 +362905,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -344072,7 +362929,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -344094,12 +362951,12 @@ }, "visibility": "default" }, - "3766": { + "3765": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3766, + "id": 3765, "inner": { "function": { "generics": { @@ -344141,7 +362998,7 @@ "constraints": [] } }, - "id": 3189, + "id": 3190, "path": "fmt::Arguments" } } @@ -344162,7 +363019,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -344184,7 +363041,7 @@ }, "visibility": "default" }, - "3767": { + "3766": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 48, patch: 0})}, feature: \"write_mt\"}}]" @@ -344193,7 +363050,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3767, + "id": 3766, "inner": { "impl": { "blanket_impl": null, @@ -344204,7 +363061,7 @@ "type": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } } @@ -344218,13 +363075,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3759, 3760, 3761, 3762, 3763, 3764, - 3765, - 3766 + 3765 ], "provided_trait_methods": [ "write_vectored", @@ -344236,7 +363093,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -344256,7 +363113,7 @@ }, "visibility": "default" }, - "3768": { + "3767": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -344265,7 +363122,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3768, + "id": 3767, "inner": { "function": { "generics": { @@ -344316,7 +363173,7 @@ }, "visibility": "default" }, - "3769": { + "3768": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" @@ -344325,14 +363182,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3769, + "id": 3768, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } }, @@ -344344,12 +363201,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3768 + 3767 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2510, + "id": 2508, "path": "IsTerminal" } } @@ -344369,6 +363226,79 @@ }, "visibility": "default" }, + "3769": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3769, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 592, + "path": "BorrowedHandle" + } + } + } + } + }, + "links": {}, + "name": "as_handle", + "span": { + "begin": [ + 584, + 5 + ], + "end": [ + 586, + 6 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, "377": { "attrs": [ { @@ -344484,11 +363414,11 @@ "name": "with", "span": { "begin": [ - 275, + 468, 5 ], "end": [ - 283, + 476, 6 ], "filename": "std/src/thread/local.rs" @@ -344496,79 +363426,6 @@ "visibility": "public" }, "3770": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3770, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 592, - "path": "BorrowedHandle" - } - } - } - } - }, - "links": {}, - "name": "as_handle", - "span": { - "begin": [ - 584, - 5 - ], - "end": [ - 586, - 6 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "default" - }, - "3771": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -344580,14 +363437,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3771, + "id": 3770, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "crate::io::Stderr" } }, @@ -344599,7 +363456,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3770 + 3769 ], "provided_trait_methods": [], "trait": { @@ -344624,12 +363481,12 @@ }, "visibility": "default" }, - "3772": { + "3771": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3772, + "id": 3771, "inner": { "function": { "generics": { @@ -344684,7 +363541,7 @@ }, "visibility": "default" }, - "3773": { + "3772": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -344696,14 +363553,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3773, + "id": 3772, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "io::Stderr" } }, @@ -344715,7 +363572,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3772 + 3771 ], "provided_trait_methods": [], "trait": { @@ -344740,7 +363597,7 @@ }, "visibility": "default" }, - "3774": { + "3773": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -344749,7 +363606,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3774, + "id": 3773, "inner": { "function": { "generics": { @@ -344793,18 +363650,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 211, + 215, 5 ], "end": [ - 213, + 217, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3775": { + "3774": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 21, patch: 0})}, feature: \"asraw_stdio\"}}]" @@ -344813,14 +363670,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3775, + "id": 3774, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "io::Stderr" } }, @@ -344832,7 +363689,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3774 + 3773 ], "provided_trait_methods": [], "trait": { @@ -344846,18 +363703,18 @@ "name": null, "span": { "begin": [ - 209, + 213, 1 ], "end": [ - 214, + 218, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3776": { + "3775": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -344866,7 +363723,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3776, + "id": 3775, "inner": { "function": { "generics": { @@ -344919,18 +363776,18 @@ "name": "as_fd", "span": { "begin": [ - 494, + 512, 5 ], "end": [ - 496, + 514, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3777": { + "3776": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -344939,14 +363796,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3777, + "id": 3776, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "io::Stderr" } }, @@ -344958,7 +363815,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3776 + 3775 ], "provided_trait_methods": [], "trait": { @@ -344972,23 +363829,23 @@ "name": null, "span": { "begin": [ - 492, + 510, 1 ], "end": [ - 497, + 515, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3778": { + "3777": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Redirect command stdout/stderr to our stderr\n\n# Examples\n\n```rust\n#![feature(exit_status_error)]\nuse std::io;\nuse std::process::Command;\n\n# fn test() -> Result<(), Box> {\nlet output = Command::new(\"whoami\")\n .stdout(io::stderr())\n .output()?;\noutput.status.exit_ok()?;\nassert!(output.stdout.is_empty());\n# Ok(())\n# }\n#\n# if cfg!(all(unix, not(target_os = \"android\"))) {\n# test().unwrap();\n# }\n```", - "id": 3778, + "docs": "Redirect command stdout/stderr to our stderr\n\n# Examples\n\n```rust\n#![feature(exit_status_error)]\nuse std::io;\nuse std::process::Command;\n\n# fn test() -> Result<(), Box> {\nlet output = Command::new(\"whoami\")\n .stdout(io::stderr())\n .output()?;\noutput.status.exit_ok()?;\nassert!(output.stdout.is_empty());\n# Ok(())\n# }\n#\n# if cfg!(all(unix, not(target_os = \"android\"), not(all(target_vendor = \"apple\", not(target_os = \"macos\"))))) {\n# test().unwrap();\n# }\n```", + "id": 3777, "inner": { "function": { "generics": { @@ -345009,7 +363866,7 @@ { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "io::Stderr" } } @@ -345030,18 +363887,18 @@ "name": "from", "span": { "begin": [ - 1731, + 1742, 5 ], "end": [ - 1733, + 1744, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "3779": { + "3778": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 74, patch: 0})}, feature: \"stdio_from_stdio\"}}]" @@ -345050,7 +363907,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3779, + "id": 3778, "inner": { "impl": { "blanket_impl": null, @@ -345069,7 +363926,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3778 + 3777 ], "provided_trait_methods": [], "trait": { @@ -345080,7 +363937,7 @@ "type": { "resolved_path": { "args": null, - "id": 3733, + "id": 3732, "path": "Stderr" } } @@ -345098,23 +363955,23 @@ "name": null, "span": { "begin": [ - 1708, + 1719, 1 ], "end": [ - 1734, + 1745, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "3781": { + "3780": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3781, + "id": 3780, "inner": { "impl": { "blanket_impl": null, @@ -345130,7 +363987,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -345164,12 +364021,12 @@ "span": null, "visibility": "default" }, - "3782": { + "3781": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3782, + "id": 3781, "inner": { "impl": { "blanket_impl": null, @@ -345185,7 +364042,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -345219,12 +364076,12 @@ "span": null, "visibility": "default" }, - "3783": { + "3782": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3783, + "id": 3782, "inner": { "impl": { "blanket_impl": null, @@ -345240,7 +364097,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -345264,7 +364121,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -345274,12 +364131,12 @@ "span": null, "visibility": "default" }, - "3784": { + "3783": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3784, + "id": 3783, "inner": { "impl": { "blanket_impl": null, @@ -345295,7 +364152,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -345329,12 +364186,12 @@ "span": null, "visibility": "default" }, - "3785": { + "3784": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3785, + "id": 3784, "inner": { "impl": { "blanket_impl": { @@ -345352,7 +364209,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -345397,7 +364254,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -345413,7 +364270,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -345422,23 +364279,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3786": { + "3785": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3786, + "id": 3785, "inner": { "impl": { "blanket_impl": { @@ -345456,7 +364313,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -345501,7 +364358,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -345517,7 +364374,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -345526,23 +364383,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3787": { + "3786": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3787, + "id": 3786, "inner": { "impl": { "blanket_impl": { @@ -345560,7 +364417,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -345626,7 +364483,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -345651,23 +364508,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3788": { + "3787": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3788, + "id": 3787, "inner": { "impl": { "blanket_impl": { @@ -345685,7 +364542,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -345708,7 +364565,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -345733,23 +364590,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3789": { + "3788": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3789, + "id": 3788, "inner": { "impl": { "blanket_impl": { @@ -345767,7 +364624,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -345815,7 +364672,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -345833,8 +364690,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -345850,7 +364707,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -345859,82 +364716,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "379": { - "attrs": [ - { - "other": "#[(not(test), rustc_diagnostic_item = \"process_abort\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"process_abort\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 17, patch: 0})}, feature: \"process_abort\"}}]" - }, - { - "other": "#[attr = Cold]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Terminates the process in an abnormal fashion.\n\nThe function will never return and will immediately terminate the current\nprocess in a platform specific \"abnormal\" manner. As a consequence,\nno destructors on the current stack or any other thread's stack\nwill be run, Rust IO buffers (eg, from `BufWriter`) will not be flushed,\nand C stdio buffers will (on most platforms) not be flushed.\n\nThis is in contrast to the default behavior of [`panic!`] which unwinds\nthe current thread's stack and calls all destructors.\nWhen `panic=\"abort\"` is set, either as an argument to `rustc` or in a\ncrate's Cargo.toml, [`panic!`] and `abort` are similar. However,\n[`panic!`] will still call the [panic hook] while `abort` will not.\n\nIf a clean shutdown is needed it is recommended to only call\nthis function at a known point where there are no more destructors left\nto run.\n\nThe process's termination will be similar to that from the C `abort()`\nfunction. On Unix, the process will terminate with signal `SIGABRT`, which\ntypically means that the shell prints \"Aborted\".\n\n# Examples\n\n```no_run\nuse std::process;\n\nfn main() {\n println!(\"aborting\");\n\n process::abort();\n\n // execution never gets here\n}\n```\n\nThe `abort` function terminates the process, so the destructor will not\nget run on the example below:\n\n```no_run\nuse std::process;\n\nstruct HasDrop;\n\nimpl Drop for HasDrop {\n fn drop(&mut self) {\n println!(\"This will never be printed!\");\n }\n}\n\nfn main() {\n let _x = HasDrop;\n process::abort();\n // the destructor implemented for HasDrop will never get run\n}\n```\n\n[panic hook]: crate::panic::set_hook", - "id": 379, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "primitive": "never" - } - } - } - }, - "links": { - "`panic!`": 492, - "crate::panic::set_hook": 6238 - }, - "name": "abort", - "span": { - "begin": [ - 2498, - 1 - ], - "end": [ - 2500, - 2 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "3790": { + "3789": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3790, + "id": 3789, "inner": { "impl": { "blanket_impl": { @@ -345952,7 +364750,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -346018,8 +364816,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -346035,7 +364833,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -346044,23 +364842,85 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3791": { + "379": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"process_abort\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"process_abort\"]" + }, + { + "other": "#[(miri, track_caller)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 17, patch: 0})}, feature: \"process_abort\"}}]" + }, + { + "other": "#[attr = Cold]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Terminates the process in an abnormal fashion.\n\nThe function will never return and will immediately terminate the current\nprocess in a platform specific \"abnormal\" manner. As a consequence,\nno destructors on the current stack or any other thread's stack\nwill be run, Rust IO buffers (eg, from `BufWriter`) will not be flushed,\nand C stdio buffers will (on most platforms) not be flushed.\n\nThis is in contrast to the default behavior of [`panic!`] which unwinds\nthe current thread's stack and calls all destructors.\nWhen `panic=\"abort\"` is set, either as an argument to `rustc` or in a\ncrate's Cargo.toml, [`panic!`] and `abort` are similar. However,\n[`panic!`] will still call the [panic hook] while `abort` will not.\n\nIf a clean shutdown is needed it is recommended to only call\nthis function at a known point where there are no more destructors left\nto run.\n\nThe process's termination will be similar to that from the C `abort()`\nfunction. On Unix, the process will terminate with signal `SIGABRT`, which\ntypically means that the shell prints \"Aborted\".\n\n# Examples\n\n```no_run\nuse std::process;\n\nfn main() {\n println!(\"aborting\");\n\n process::abort();\n\n // execution never gets here\n}\n```\n\nThe `abort` function terminates the process, so the destructor will not\nget run on the example below:\n\n```no_run\nuse std::process;\n\nstruct HasDrop;\n\nimpl Drop for HasDrop {\n fn drop(&mut self) {\n println!(\"This will never be printed!\");\n }\n}\n\nfn main() {\n let _x = HasDrop;\n process::abort();\n // the destructor implemented for HasDrop will never get run\n}\n```\n\n[panic hook]: crate::panic::set_hook", + "id": 379, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "primitive": "never" + } + } + } + }, + "links": { + "`panic!`": 493, + "crate::panic::set_hook": 6271 + }, + "name": "abort", + "span": { + "begin": [ + 2510, + 1 + ], + "end": [ + 2512, + 2 + ], + "filename": "std/src/process.rs" + }, + "visibility": "public" + }, + "3790": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3791, + "id": 3790, "inner": { "impl": { "blanket_impl": { @@ -346078,7 +364938,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -346126,12 +364986,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -346151,7 +365011,7 @@ }, "visibility": "default" }, - "3792": { + "3791": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -346160,7 +365020,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3792, + "id": 3791, "inner": { "impl": { "blanket_impl": null, @@ -346176,7 +365036,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -346191,7 +365051,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -346211,7 +365071,7 @@ }, "visibility": "default" }, - "3793": { + "3792": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -346220,7 +365080,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3793, + "id": 3792, "inner": { "impl": { "blanket_impl": null, @@ -346236,7 +365096,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -346251,7 +365111,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -346271,12 +365131,12 @@ }, "visibility": "default" }, - "3794": { + "3793": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3794, + "id": 3793, "inner": { "function": { "generics": { @@ -346334,7 +365194,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -346356,12 +365216,12 @@ }, "visibility": "default" }, - "3795": { + "3794": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3795, + "id": 3794, "inner": { "function": { "generics": { @@ -346408,7 +365268,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -346432,7 +365292,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -346454,7 +365314,7 @@ }, "visibility": "default" }, - "3796": { + "3795": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -346463,7 +365323,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3796, + "id": 3795, "inner": { "function": { "generics": { @@ -346514,12 +365374,12 @@ }, "visibility": "default" }, - "3797": { + "3796": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3797, + "id": 3796, "inner": { "function": { "generics": { @@ -346563,7 +365423,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -346585,12 +365445,12 @@ }, "visibility": "default" }, - "3798": { + "3797": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3798, + "id": 3797, "inner": { "function": { "generics": { @@ -346648,7 +365508,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -346670,12 +365530,12 @@ }, "visibility": "default" }, - "3799": { + "3798": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3799, + "id": 3798, "inner": { "function": { "generics": { @@ -346722,7 +365582,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -346746,7 +365606,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -346768,43 +365628,7 @@ }, "visibility": "default" }, - "38": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 38, - "inner": { - "use": { - "id": 39, - "is_glob": false, - "name": "Into", - "source": "crate::convert::Into" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 32, - 46 - ], - "end": [ - 32, - 50 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "3800": { + "3799": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -346813,7 +365637,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3800, + "id": 3799, "inner": { "impl": { "blanket_impl": null, @@ -346829,7 +365653,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -346841,12 +365665,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3793, 3794, 3795, 3796, 3797, - 3798, - 3799 + 3798 ], "provided_trait_methods": [ "write_vectored", @@ -346858,7 +365682,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -346878,12 +365702,48 @@ }, "visibility": "default" }, - "3801": { + "38": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 38, + "inner": { + "use": { + "id": 39, + "is_glob": false, + "name": "Into", + "source": "crate::convert::Into" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 32, + 46 + ], + "end": [ + 32, + 50 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "3800": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3801, + "id": 3800, "inner": { "function": { "generics": { @@ -346929,7 +365789,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -346941,7 +365801,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -346963,7 +365823,7 @@ }, "visibility": "default" }, - "3802": { + "3801": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -346972,7 +365832,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3802, + "id": 3801, "inner": { "impl": { "blanket_impl": null, @@ -346988,7 +365848,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -347000,12 +365860,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3801 + 3800 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -347025,7 +365885,7 @@ }, "visibility": "default" }, - "3803": { + "3802": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -347034,7 +365894,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3803, + "id": 3802, "inner": { "function": { "generics": { @@ -347085,7 +365945,7 @@ }, "visibility": "default" }, - "3804": { + "3803": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" @@ -347094,7 +365954,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3804, + "id": 3803, "inner": { "impl": { "blanket_impl": null, @@ -347110,7 +365970,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "StderrLock" } }, @@ -347122,12 +365982,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3803 + 3802 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2510, + "id": 2508, "path": "IsTerminal" } } @@ -347147,7 +366007,7 @@ }, "visibility": "default" }, - "3805": { + "3804": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -347156,7 +366016,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3805, + "id": 3804, "inner": { "function": { "generics": { @@ -347220,7 +366080,7 @@ }, "visibility": "default" }, - "3806": { + "3805": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -347232,7 +366092,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3806, + "id": 3805, "inner": { "impl": { "blanket_impl": null, @@ -347248,7 +366108,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "crate::io::StderrLock" } }, @@ -347269,7 +366129,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3805 + 3804 ], "provided_trait_methods": [], "trait": { @@ -347294,12 +366154,12 @@ }, "visibility": "default" }, - "3807": { + "3806": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3807, + "id": 3806, "inner": { "function": { "generics": { @@ -347354,7 +366214,7 @@ }, "visibility": "default" }, - "3808": { + "3807": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -347366,7 +366226,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3808, + "id": 3807, "inner": { "impl": { "blanket_impl": null, @@ -347382,7 +366242,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "io::StderrLock" } }, @@ -347403,7 +366263,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3807 + 3806 ], "provided_trait_methods": [], "trait": { @@ -347428,7 +366288,7 @@ }, "visibility": "default" }, - "3809": { + "3808": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -347437,7 +366297,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3809, + "id": 3808, "inner": { "function": { "generics": { @@ -347481,18 +366341,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 236, + 240, 5 ], "end": [ - 238, + 242, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3810": { + "3809": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 35, patch: 0})}, feature: \"asraw_stdio_locks\"}}]" @@ -347501,7 +366361,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3810, + "id": 3809, "inner": { "impl": { "blanket_impl": null, @@ -347517,7 +366377,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "io::StderrLock" } }, @@ -347538,7 +366398,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3809 + 3808 ], "provided_trait_methods": [], "trait": { @@ -347552,18 +366412,18 @@ "name": null, "span": { "begin": [ - 234, + 238, 1 ], "end": [ - 239, + 243, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "3811": { + "3810": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -347572,7 +366432,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3811, + "id": 3810, "inner": { "function": { "generics": { @@ -347625,18 +366485,18 @@ "name": "as_fd", "span": { "begin": [ - 502, + 520, 5 ], "end": [ - 505, + 523, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3812": { + "3811": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -347645,7 +366505,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3812, + "id": 3811, "inner": { "impl": { "blanket_impl": null, @@ -347661,7 +366521,7 @@ "constraints": [] } }, - "id": 3735, + "id": 3734, "path": "io::StderrLock" } }, @@ -347682,7 +366542,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3811 + 3810 ], "provided_trait_methods": [], "trait": { @@ -347696,18 +366556,18 @@ "name": null, "span": { "begin": [ - 500, + 518, 1 ], "end": [ - 506, + 524, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3813": { + "3812": { "attrs": [ { "other": "#[doc(alias = \"isatty\")]" @@ -347719,7 +366579,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the descriptor/handle refers to a terminal/tty.\n\nOn platforms where Rust does not know how to detect a terminal yet, this will return\n`false`. This will also return `false` if an unexpected error occurred, such as from\npassing an invalid file descriptor.\n\n# Platform-specific behavior\n\nOn Windows, in addition to detecting consoles, this currently uses some heuristics to\ndetect older msys/cygwin/mingw pseudo-terminals based on device name: devices with names\nstarting with `msys-` or `cygwin-` and ending in `-pty` will be considered terminals.\nNote that this [may change in the future][changes].\n\n# Examples\n\nAn example of a type for which `IsTerminal` is implemented is [`Stdin`]:\n\n```no_run\nuse std::io::{self, IsTerminal, Write};\n\nfn main() -> io::Result<()> {\n let stdin = io::stdin();\n\n // Indicate that the user is prompted for input, if this is a terminal.\n if stdin.is_terminal() {\n print!(\"> \");\n io::stdout().flush()?;\n }\n\n let mut name = String::new();\n let _ = stdin.read_line(&mut name)?;\n\n println!(\"Hello {}\", name.trim_end());\n\n Ok(())\n}\n```\n\nThe example can be run in two ways:\n\n- If you run this example by piping some text to it, e.g. `echo \"foo\" | path/to/executable`\n it will print: `Hello foo`.\n- If you instead run the example interactively by running `path/to/executable` directly, it will\n prompt for input.\n\n[changes]: io#platform-specific-behavior\n[`Stdin`]: crate::io::Stdin", - "id": 3813, + "id": 3812, "inner": { "function": { "generics": { @@ -347756,8 +366616,8 @@ } }, "links": { - "crate::io::Stdin": 3556, - "io#platform-specific-behavior": 501 + "crate::io::Stdin": 3555, + "io#platform-specific-behavior": 502 }, "name": "is_terminal", "span": { @@ -347773,7 +366633,7 @@ }, "visibility": "default" }, - "3814": { + "3813": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nis_soft: false}, feature: \"sealed\"}}]" @@ -347782,7 +366642,7 @@ "crate_id": 0, "deprecation": null, "docs": "This trait being unreachable from outside the crate\nprevents outside implementations of our extension traits.\nThis allows adding more trait methods in the future.", - "id": 3814, + "id": 3813, "inner": { "trait": { "bounds": [], @@ -347801,18 +366661,18 @@ "name": "Sealed", "span": { "begin": [ - 770, + 762, 5 ], "end": [ - 770, + 762, 24 ], "filename": "std/src/lib.rs" }, "visibility": "public" }, - "3815": { + "3814": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -347821,7 +366681,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3815, + "id": 3814, "inner": { "function": { "generics": { @@ -347872,7 +366732,7 @@ }, "visibility": "default" }, - "3816": { + "3815": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -347884,7 +366744,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3816, + "id": 3815, "inner": { "impl": { "blanket_impl": null, @@ -347912,12 +366772,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3815 + 3814 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2510, + "id": 2508, "path": "IsTerminal" } } @@ -347937,7 +366797,7 @@ }, "visibility": "default" }, - "3817": { + "3816": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -347946,7 +366806,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3817, + "id": 3816, "inner": { "function": { "generics": { @@ -347997,7 +366857,7 @@ }, "visibility": "default" }, - "3818": { + "3817": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -348009,7 +366869,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3818, + "id": 3817, "inner": { "impl": { "blanket_impl": null, @@ -348028,12 +366888,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3817 + 3816 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2510, + "id": 2508, "path": "IsTerminal" } } @@ -348053,7 +366913,7 @@ }, "visibility": "default" }, - "3819": { + "3818": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -348062,7 +366922,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3819, + "id": 3818, "inner": { "function": { "generics": { @@ -348102,11 +366962,73 @@ "name": "is_terminal", "span": { "begin": [ - 227, + 245, 1 ], "end": [ - 227, + 245, + 43 + ], + "filename": "std/src/os/fd/owned.rs" + }, + "visibility": "default" + }, + "3819": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3819, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2558, + "path": "BorrowedFd" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 3818 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 2508, + "path": "IsTerminal" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 245, + 1 + ], + "end": [ + 245, 43 ], "filename": "std/src/os/fd/owned.rs" @@ -348160,7 +367082,7 @@ "constraints": [] } }, - "id": 351, + "id": 349, "path": "Result" } } @@ -348168,19 +367090,19 @@ } }, "links": { - "`panic!`": 492, + "`panic!`": 493, "crate::result::Result::Err": 59, - "crate::sync::atomic": 350, - "spawn": 469 + "crate::sync::atomic": 348, + "spawn": 470 }, "name": "join", "span": { "begin": [ - 1923, + 1962, 5 ], "end": [ - 1925, + 1964, 6 ], "filename": "std/src/thread/mod.rs" @@ -348188,68 +367110,6 @@ "visibility": "public" }, "3820": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3820, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2558, - "path": "BorrowedFd" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 3819 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 2510, - "path": "IsTerminal" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 227, - 1 - ], - "end": [ - 227, - 43 - ], - "filename": "std/src/os/fd/owned.rs" - }, - "visibility": "default" - }, - "3821": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -348258,7 +367118,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3821, + "id": 3820, "inner": { "function": { "generics": { @@ -348298,18 +367158,18 @@ "name": "is_terminal", "span": { "begin": [ - 227, + 245, 1 ], "end": [ - 227, + 245, 43 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3822": { + "3821": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" @@ -348318,7 +367178,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3822, + "id": 3821, "inner": { "impl": { "blanket_impl": null, @@ -348337,12 +367197,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3821 + 3820 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2510, + "id": 2508, "path": "IsTerminal" } } @@ -348351,18 +367211,18 @@ "name": null, "span": { "begin": [ - 227, + 245, 1 ], "end": [ - 227, + 245, 43 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "3824": { + "3823": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"const_io_structs\", promotable: false}}]" @@ -348379,7 +367239,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a value that is always at EOF for reads, and ignores all data written.\n\nAll calls to [`write`] on the returned instance will return [`Ok(buf.len())`]\nand the contents of the buffer will not be inspected.\n\nAll calls to [`read`] from the returned reader will return [`Ok(0)`].\n\n[`Ok(buf.len())`]: Ok\n[`Ok(0)`]: Ok\n\n[`write`]: Write::write\n[`read`]: Read::read\n\n# Examples\n\n```rust\nuse std::io::{self, Write};\n\nlet buffer = vec![1, 2, 3, 5, 8];\nlet num_bytes = io::empty().write(&buffer).unwrap();\nassert_eq!(num_bytes, 5);\n```\n\n\n```rust\nuse std::io::{self, Read};\n\nlet mut buffer = String::new();\nio::empty().read_to_string(&mut buffer).unwrap();\nassert!(buffer.is_empty());\n```", - "id": 3824, + "id": 3823, "inner": { "function": { "generics": { @@ -348399,7 +367259,7 @@ "output": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } } @@ -348408,8 +367268,8 @@ }, "links": { "Ok": 61, - "Read::read": 2435, - "Write::write": 2436 + "Read::read": 2433, + "Write::write": 2434 }, "name": "empty", "span": { @@ -348425,7 +367285,7 @@ }, "visibility": "public" }, - "3825": { + "3824": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -348435,7 +367295,7 @@ "crate_id": 0, "deprecation": null, "docs": "`Empty` ignores any data written via [`Write`], and will always be empty\n(returning zero bytes) when read via [`Read`].\n\nThis struct is generally created by calling [`empty()`]. Please\nsee the documentation of [`empty()`] for more details.", - "id": 3825, + "id": 3824, "inner": { "struct": { "generics": { @@ -348443,6 +367303,7 @@ "where_predicates": [] }, "impls": [ + 3825, 3826, 3827, 3828, @@ -348458,23 +367319,22 @@ 3838, 3839, 3840, - 3841, - 3843, - 3845, - 3847, - 3856, - 3863, - 3867, - 3875, - 3883 + 3842, + 3844, + 3846, + 3855, + 3862, + 3866, + 3874, + 3882 ], "kind": "unit" } }, "links": { - "`Read`": 2476, - "`Write`": 2486, - "`empty()`": 3824 + "`Read`": 2474, + "`Write`": 2484, + "`empty()`": 3823 }, "name": "Empty", "span": { @@ -348490,19 +367350,19 @@ }, "visibility": "public" }, - "3826": { + "3825": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3826, + "id": 3825, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -348527,19 +367387,19 @@ "span": null, "visibility": "default" }, - "3827": { + "3826": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3827, + "id": 3826, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -348564,6 +367424,43 @@ "span": null, "visibility": "default" }, + "3827": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3827, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 3824, + "path": "Empty" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, "3828": { "attrs": [], "crate_id": 0, @@ -348576,7 +367473,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -348591,8 +367488,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -348613,7 +367510,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -348628,8 +367525,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -348652,7 +367549,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "A thread local storage (TLS) key which owns its contents.\n\nThis key uses the fastest possible implementation available to it for the\ntarget platform. It is instantiated with the [`thread_local!`] macro and the\nprimary method is the [`with`] method, though there are helpers to make\nworking with [`Cell`] types easier.\n\nThe [`with`] method yields a reference to the contained value which cannot\noutlive the current thread or escape the given closure.\n\n[`thread_local!`]: crate::thread_local\n\n# Initialization and Destruction\n\nInitialization is dynamically performed on the first call to a setter (e.g.\n[`with`]) within a thread, and values that implement [`Drop`] get\ndestructed when a thread exits. Some platform-specific caveats apply, which\nare explained below.\nNote that, should the destructor panics, the whole process will be [aborted].\n\nA `LocalKey`'s initializer cannot recursively depend on itself. Using a\n`LocalKey` in this way may cause panics, aborts or infinite recursion on\nthe first call to `with`.\n\n[aborted]: crate::process::abort\n\n# Single-thread Synchronization\n\nThough there is no potential race with other threads, it is still possible to\nobtain multiple references to the thread-local data in different places on\nthe call stack. For this reason, only shared (`&T`) references may be obtained.\n\nTo allow obtaining an exclusive mutable reference (`&mut T`), typically a\n[`Cell`] or [`RefCell`] is used (see the [`std::cell`] for more information\non how exactly this works). To make this easier there are specialized\nimplementations for [`LocalKey>`] and [`LocalKey>`].\n\n[`std::cell`]: `crate::cell`\n[`LocalKey>`]: struct.LocalKey.html#impl-LocalKey>\n[`LocalKey>`]: struct.LocalKey.html#impl-LocalKey>\n\n\n# Examples\n\n```\nuse std::cell::Cell;\nuse std::thread;\n\n// explicit `const {}` block enables more efficient initialization\nthread_local!(static FOO: Cell = const { Cell::new(1) });\n\nassert_eq!(FOO.get(), 1);\nFOO.set(2);\n\n// each thread starts out with the initial value of 1\nlet t = thread::spawn(move || {\n assert_eq!(FOO.get(), 1);\n FOO.set(3);\n});\n\n// wait for the thread to complete and bail out on panic\nt.join().unwrap();\n\n// we retain our original value of 2 despite the child thread\nassert_eq!(FOO.get(), 2);\n```\n\n# Platform-specific behavior\n\nNote that a \"best effort\" is made to ensure that destructors for types\nstored in thread local storage are run, but not all platforms can guarantee\nthat destructors will be run for all types in thread local storage. For\nexample, there are a number of known caveats where destructors are not run:\n\n1. On Unix systems when pthread-based TLS is being used, destructors will\n not be run for TLS values on the main thread when it exits. Note that the\n application will exit immediately after the main thread exits as well.\n2. On all platforms it's possible for TLS to re-initialize other TLS slots\n during destruction. Some platforms ensure that this cannot happen\n infinitely by preventing re-initialization of any slot that has been\n destroyed, but not all platforms have this guard. Those platforms that do\n not guard typically have a synthetic limit after which point no more\n destructors are run.\n3. When the process exits on Windows systems, TLS destructors may only be\n run on the thread that causes the process to exit. This is because the\n other threads may be forcibly terminated.\n\n## Synchronization in thread-local destructors\n\nOn Windows, synchronization operations (such as [`JoinHandle::join`]) in\nthread local destructors are prone to deadlocks and so should be avoided.\nThis is because the [loader lock] is held while a destructor is run. The\nlock is acquired whenever a thread starts or exits or when a DLL is loaded\nor unloaded. Therefore these events are blocked for as long as a thread\nlocal destructor is running.\n\n[loader lock]: https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-best-practices\n[`JoinHandle::join`]: crate::thread::JoinHandle::join\n[`with`]: LocalKey::with", + "docs": "A thread local storage (TLS) key which owns its contents.\n\nThis key uses the fastest implementation available on the target platform.\nIt is instantiated with the [`thread_local!`] macro and the\nprimary method is the [`with`] method, though there are helpers to make\nworking with [`Cell`] types easier.\n\nThe [`with`] method yields a reference to the contained value which cannot\noutlive the current thread or escape the given closure.\n\n[`thread_local!`]: crate::thread_local\n\n# Initialization and Destruction\n\nInitialization is dynamically performed on the first call to a setter (e.g.\n[`with`]) within a thread, and values that implement [`Drop`] get\ndestructed when a thread exits. Some platform-specific caveats apply, which\nare explained below.\nNote that if the destructor panics, the whole process will be [aborted].\n\nA `LocalKey`'s initializer cannot recursively depend on itself. Using a\n`LocalKey` in this way may cause panics, aborts, or infinite recursion on\nthe first call to `with`.\n\n[aborted]: crate::process::abort\n\n# Single-thread Synchronization\n\nThough there is no potential race with other threads, it is still possible to\nobtain multiple references to the thread-local data in different places on\nthe call stack. For this reason, only shared (`&T`) references may be obtained.\n\nTo allow obtaining an exclusive mutable reference (`&mut T`), typically a\n[`Cell`] or [`RefCell`] is used (see the [`std::cell`] for more information\non how exactly this works). To make this easier there are specialized\nimplementations for [`LocalKey>`] and [`LocalKey>`].\n\n[`std::cell`]: `crate::cell`\n[`LocalKey>`]: struct.LocalKey.html#impl-LocalKey>\n[`LocalKey>`]: struct.LocalKey.html#impl-LocalKey>\n\n\n# Examples\n\n```\nuse std::cell::Cell;\nuse std::thread;\n\n// explicit `const {}` block enables more efficient initialization\nthread_local!(static FOO: Cell = const { Cell::new(1) });\n\nassert_eq!(FOO.get(), 1);\nFOO.set(2);\n\n// each thread starts out with the initial value of 1\nlet t = thread::spawn(move || {\n assert_eq!(FOO.get(), 1);\n FOO.set(3);\n});\n\n// wait for the thread to complete and bail out on panic\nt.join().unwrap();\n\n// we retain our original value of 2 despite the child thread\nassert_eq!(FOO.get(), 2);\n```\n\n# Platform-specific behavior\n\nNote that a \"best effort\" is made to ensure that destructors for types\nstored in thread local storage are run, but not all platforms can guarantee\nthat destructors will be run for all types in thread local storage. For\nexample, there are a number of known caveats where destructors are not run:\n\n1. On Unix systems when pthread-based TLS is being used, destructors will\n not be run for TLS values on the main thread when it exits. Note that the\n application will exit immediately after the main thread exits as well.\n2. On all platforms it's possible for TLS to re-initialize other TLS slots\n during destruction. Some platforms ensure that this cannot happen\n infinitely by preventing re-initialization of any slot that has been\n destroyed, but not all platforms have this guard. Those platforms that do\n not guard typically have a synthetic limit after which point no more\n destructors are run.\n3. When the process exits on Windows systems, TLS destructors may only be\n run on the thread that causes the process to exit. This is because the\n other threads may be forcibly terminated.\n\n## Synchronization in thread-local destructors\n\nOn Windows, synchronization operations (such as [`JoinHandle::join`]) in\nthread local destructors are prone to deadlocks and so should be avoided.\nThis is because the [loader lock] is held while a destructor is run. The\nlock is acquired whenever a thread starts or exits or when a DLL is loaded\nor unloaded. Therefore these events are blocked for as long as a thread\nlocal destructor is running.\n\n[loader lock]: https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-best-practices\n[`JoinHandle::join`]: crate::thread::JoinHandle::join\n[`with`]: LocalKey::with", "id": 383, "inner": { "struct": { @@ -348738,7 +367635,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -348754,7 +367651,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -348769,43 +367666,6 @@ "deprecation": null, "docs": null, "id": 3831, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 3825, - "path": "Empty" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3832": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3832, "inner": { "impl": { "blanket_impl": { @@ -348814,7 +367674,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -348859,7 +367719,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -348875,7 +367735,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -348884,23 +367744,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3833": { + "3832": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3833, + "id": 3832, "inner": { "impl": { "blanket_impl": { @@ -348909,7 +367769,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -348954,7 +367814,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -348970,7 +367830,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -348979,23 +367839,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3834": { + "3833": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3834, + "id": 3833, "inner": { "impl": { "blanket_impl": { @@ -349004,7 +367864,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -349031,7 +367891,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -349063,23 +367923,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "3835": { + "3834": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3835, + "id": 3834, "inner": { "impl": { "blanket_impl": { @@ -349088,7 +367948,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -349154,7 +368014,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -349179,23 +368039,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3836": { + "3835": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3836, + "id": 3835, "inner": { "impl": { "blanket_impl": { @@ -349204,7 +368064,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -349227,7 +368087,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -349252,23 +368112,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3837": { + "3836": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3837, + "id": 3836, "inner": { "impl": { "blanket_impl": { @@ -349277,7 +368137,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -349325,7 +368185,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -349343,8 +368203,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -349360,7 +368220,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -349369,23 +368229,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3838": { + "3837": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3838, + "id": 3837, "inner": { "impl": { "blanket_impl": { @@ -349394,7 +368254,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -349460,8 +368320,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -349477,7 +368337,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -349486,23 +368346,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3839": { + "3838": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3839, + "id": 3838, "inner": { "impl": { "blanket_impl": { @@ -349511,7 +368371,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -349559,12 +368419,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -349584,73 +368444,12 @@ }, "visibility": "default" }, - "384": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"thread_local_try_with\"}}]" - }, - "non_exhaustive" - ], - "crate_id": 0, - "deprecation": null, - "docs": "An error returned by [`LocalKey::try_with`](struct.LocalKey.html#method.try_with).", - "id": 384, - "inner": { - "struct": { - "generics": { - "params": [], - "where_predicates": [] - }, - "impls": [ - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 423, - 425, - 426, - 427, - 428, - 429, - 433, - 435, - 438, - 439, - 440, - 441, - 444, - 446, - 448, - 449 - ], - "kind": "unit" - } - }, - "links": {}, - "name": "AccessError", - "span": { - "begin": [ - 213, - 1 - ], - "end": [ - 213, - 24 - ], - "filename": "std/src/thread/local.rs" - }, - "visibility": "public" - }, - "3840": { + "3839": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3840, + "id": 3839, "inner": { "impl": { "blanket_impl": { @@ -349659,7 +368458,7 @@ "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -349686,7 +368485,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -349713,7 +368512,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -349722,18 +368521,79 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "3841": { + "384": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"thread_local_try_with\"}}]" + }, + "non_exhaustive" + ], + "crate_id": 0, + "deprecation": null, + "docs": "An error returned by [`LocalKey::try_with`](struct.LocalKey.html#method.try_with).", + "id": 384, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 423, + 425, + 426, + 427, + 428, + 429, + 433, + 435, + 438, + 439, + 440, + 441, + 444, + 446, + 448, + 449 + ], + "kind": "unit" + } + }, + "links": {}, + "name": "AccessError", + "span": { + "begin": [ + 406, + 1 + ], + "end": [ + 406, + 24 + ], + "filename": "std/src/thread/local.rs" + }, + "visibility": "public" + }, + "3840": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -349743,14 +368603,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3841, + "id": 3840, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -349765,7 +368625,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -349785,7 +368645,7 @@ }, "visibility": "default" }, - "3842": { + "3841": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -349794,7 +368654,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3842, + "id": 3841, "inner": { "function": { "generics": { @@ -349827,7 +368687,7 @@ "output": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } } @@ -349849,7 +368709,7 @@ }, "visibility": "default" }, - "3843": { + "3842": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -349859,14 +368719,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3843, + "id": 3842, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -349878,14 +368738,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3842 + 3841 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -349905,7 +368765,7 @@ }, "visibility": "default" }, - "3844": { + "3843": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -349914,7 +368774,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3844, + "id": 3843, "inner": { "function": { "generics": { @@ -349960,7 +368820,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -349972,7 +368832,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -349994,7 +368854,7 @@ }, "visibility": "default" }, - "3845": { + "3844": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -350004,14 +368864,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3845, + "id": 3844, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -350023,12 +368883,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3844 + 3843 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -350048,7 +368908,7 @@ }, "visibility": "default" }, - "3846": { + "3845": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -350057,7 +368917,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3846, + "id": 3845, "inner": { "function": { "generics": { @@ -350077,7 +368937,7 @@ "output": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } } @@ -350099,7 +368959,7 @@ }, "visibility": "default" }, - "3847": { + "3846": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -350109,14 +368969,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3847, + "id": 3846, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -350128,12 +368988,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3846 + 3845 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -350153,7 +369013,7 @@ }, "visibility": "default" }, - "3848": { + "3847": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -350162,7 +369022,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3848, + "id": 3847, "inner": { "function": { "generics": { @@ -350220,7 +369080,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -350242,7 +369102,7 @@ }, "visibility": "default" }, - "3849": { + "3848": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -350251,7 +369111,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3849, + "id": 3848, "inner": { "function": { "generics": { @@ -350293,7 +369153,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -350314,7 +369174,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -350336,162 +369196,7 @@ }, "visibility": "default" }, - "385": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"thread_local_try_with\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Acquires a reference to the value in this TLS key.\n\nThis will lazily initialize the value if this thread has not referenced\nthis key yet. If the key has been destroyed (which may happen if this is called\nin a destructor), this function will return an [`AccessError`].\n\n# Panics\n\nThis function will still `panic!()` if the key is uninitialized and the\nkey's initializer panics.\n\n# Examples\n\n```\nthread_local! {\n pub static STATIC: String = String::from(\"I am\");\n}\n\nassert_eq!(\n STATIC.try_with(|original_value| format!(\"{original_value} initialized\")),\n Ok(String::from(\"I am initialized\")),\n);\n```", - "id": 385, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "R" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - ], - "output": { - "generic": "R" - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'static", - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "R" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } - } - }, - "links": { - "`AccessError`": 384 - }, - "name": "try_with", - "span": { - "begin": [ - 310, - 5 - ], - "end": [ - 316, - 6 - ], - "filename": "std/src/thread/local.rs" - }, - "visibility": "public" - }, - "3850": { + "3849": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -350500,7 +369205,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3850, + "id": 3849, "inner": { "function": { "generics": { @@ -350547,7 +369252,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -350571,7 +369276,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -350593,7 +369298,162 @@ }, "visibility": "default" }, - "3851": { + "385": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"thread_local_try_with\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Acquires a reference to the value in this TLS key.\n\nThis will lazily initialize the value if this thread has not referenced\nthis key yet. If the key has been destroyed (which may happen if this is called\nin a destructor), this function will return an [`AccessError`].\n\n# Panics\n\nThis function will still `panic!()` if the key is uninitialized and the\nkey's initializer panics.\n\n# Examples\n\n```\nthread_local! {\n pub static STATIC: String = String::from(\"I am\");\n}\n\nassert_eq!(\n STATIC.try_with(|original_value| format!(\"{original_value} initialized\")),\n Ok(String::from(\"I am initialized\")),\n);\n```", + "id": 385, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "R" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "generic": "R" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'static", + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "R" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": { + "`AccessError`": 384 + }, + "name": "try_with", + "span": { + "begin": [ + 503, + 5 + ], + "end": [ + 509, + 6 + ], + "filename": "std/src/thread/local.rs" + }, + "visibility": "public" + }, + "3850": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -350602,7 +369462,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3851, + "id": 3850, "inner": { "function": { "generics": { @@ -350653,7 +369513,7 @@ }, "visibility": "default" }, - "3852": { + "3851": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -350662,7 +369522,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3852, + "id": 3851, "inner": { "function": { "generics": { @@ -350720,7 +369580,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -350742,7 +369602,7 @@ }, "visibility": "default" }, - "3853": { + "3852": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -350751,7 +369611,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3853, + "id": 3852, "inner": { "function": { "generics": { @@ -350793,7 +369653,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -350814,7 +369674,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -350836,7 +369696,7 @@ }, "visibility": "default" }, - "3854": { + "3853": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -350845,7 +369705,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3854, + "id": 3853, "inner": { "function": { "generics": { @@ -350893,7 +369753,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -350916,7 +369776,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -350938,7 +369798,7 @@ }, "visibility": "default" }, - "3855": { + "3854": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -350947,7 +369807,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3855, + "id": 3854, "inner": { "function": { "generics": { @@ -350984,7 +369844,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -351007,7 +369867,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -351029,7 +369889,7 @@ }, "visibility": "default" }, - "3856": { + "3855": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -351038,14 +369898,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3856, + "id": 3855, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -351057,14 +369917,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3847, 3848, 3849, 3850, 3851, 3852, 3853, - 3854, - 3855 + 3854 ], "provided_trait_methods": [ "read_vectored", @@ -351081,7 +369941,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -351101,7 +369961,7 @@ }, "visibility": "default" }, - "3857": { + "3856": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -351110,7 +369970,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3857, + "id": 3856, "inner": { "function": { "generics": { @@ -351162,7 +370022,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -351184,7 +370044,7 @@ }, "visibility": "default" }, - "3858": { + "3857": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -351193,7 +370053,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3858, + "id": 3857, "inner": { "function": { "generics": { @@ -351248,6 +370108,81 @@ }, "visibility": "default" }, + "3858": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3858, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "bool" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "has_data_left", + "span": { + "begin": [ + 114, + 5 + ], + "end": [ + 116, + 6 + ], + "filename": "std/src/io/util.rs" + }, + "visibility": "default" + }, "3859": { "attrs": [ { @@ -351284,6 +370219,39 @@ } } } + ], + [ + "_byte", + { + "primitive": "u8" + } + ], + [ + "_buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 163, + "path": "Vec" + } + } + } + } ] ], "is_c_variadic": false, @@ -351294,14 +370262,14 @@ "args": [ { "type": { - "primitive": "bool" + "primitive": "usize" } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -351309,14 +370277,14 @@ } }, "links": {}, - "name": "has_data_left", + "name": "read_until", "span": { "begin": [ - 114, + 119, 5 ], "end": [ - 116, + 121, 6 ], "filename": "std/src/io/util.rs" @@ -351384,11 +370352,11 @@ "name": null, "span": { "begin": [ - 240, + 433, 1 ], "end": [ - 345, + 538, 2 ], "filename": "std/src/thread/local.rs" @@ -351437,33 +370405,6 @@ { "primitive": "u8" } - ], - [ - "_buf", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 165, - "path": "Vec" - } - } - } - } ] ], "is_c_variadic": false, @@ -351481,88 +370422,7 @@ "constraints": [] } }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "read_until", - "span": { - "begin": [ - 119, - 5 - ], - "end": [ - 121, - 6 - ], - "filename": "std/src/io/util.rs" - }, - "visibility": "default" - }, - "3861": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3861, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "_byte", - { - "primitive": "u8" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -351584,7 +370444,7 @@ }, "visibility": "default" }, - "3862": { + "3861": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -351593,7 +370453,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3862, + "id": 3861, "inner": { "function": { "generics": { @@ -351630,7 +370490,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -351653,7 +370513,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -351675,7 +370535,7 @@ }, "visibility": "default" }, - "3863": { + "3862": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -351684,14 +370544,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3863, + "id": 3862, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -351703,12 +370563,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3856, 3857, 3858, 3859, 3860, - 3861, - 3862 + 3861 ], "provided_trait_methods": [ "has_data_left", @@ -351720,7 +370580,7 @@ ], "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -351740,7 +370600,7 @@ }, "visibility": "default" }, - "3864": { + "3863": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -351749,7 +370609,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3864, + "id": 3863, "inner": { "function": { "generics": { @@ -351782,7 +370642,7 @@ { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -351803,7 +370663,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -351825,7 +370685,7 @@ }, "visibility": "default" }, - "3865": { + "3864": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -351834,7 +370694,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3865, + "id": 3864, "inner": { "function": { "generics": { @@ -351878,7 +370738,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -351900,7 +370760,7 @@ }, "visibility": "default" }, - "3866": { + "3865": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -351909,7 +370769,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3866, + "id": 3865, "inner": { "function": { "generics": { @@ -351953,7 +370813,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -351975,7 +370835,7 @@ }, "visibility": "default" }, - "3867": { + "3866": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"empty_seek\"}}]" @@ -351984,14 +370844,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3867, + "id": 3866, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -352003,9 +370863,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3863, 3864, - 3865, - 3866 + 3865 ], "provided_trait_methods": [ "rewind", @@ -352015,7 +370875,7 @@ ], "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -352035,6 +370895,95 @@ }, "visibility": "default" }, + "3867": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3867, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "write", + "span": { + "begin": [ + 162, + 5 + ], + "end": [ + 164, + 6 + ], + "filename": "std/src/io/util.rs" + }, + "visibility": "default" + }, "3868": { "attrs": [ { @@ -352073,14 +371022,27 @@ } ], [ - "buf", + "bufs", { "borrowed_ref": { "is_mutable": false, "lifetime": null, "type": { "slice": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2478, + "path": "IoSlice" + } } } } @@ -352102,7 +371064,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -352110,14 +371072,14 @@ } }, "links": {}, - "name": "write", + "name": "write_vectored", "span": { "begin": [ - 162, + 167, 5 ], "end": [ - 164, + 170, 6 ], "filename": "std/src/io/util.rs" @@ -352151,39 +371113,12 @@ "inputs": [ [ "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "bufs", { "borrowed_ref": { "is_mutable": false, "lifetime": null, "type": { - "slice": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2480, - "path": "IoSlice" - } - } + "generic": "Self" } } } @@ -352191,35 +371126,20 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } + "primitive": "bool" } } } }, "links": {}, - "name": "write_vectored", + "name": "is_write_vectored", "span": { "begin": [ - 167, + 173, 5 ], "end": [ - 170, + 175, 6 ], "filename": "std/src/io/util.rs" @@ -352279,11 +371199,11 @@ "name": "set", "span": { "begin": [ - 375, + 568, 5 ], "end": [ - 384, + 577, 6 ], "filename": "std/src/thread/local.rs" @@ -352300,66 +371220,6 @@ "deprecation": null, "docs": null, "id": 3870, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_write_vectored", - "span": { - "begin": [ - 173, - 5 - ], - "end": [ - 175, - 6 - ], - "filename": "std/src/io/util.rs" - }, - "visibility": "default" - }, - "3871": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3871, "inner": { "function": { "generics": { @@ -352417,7 +371277,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -352439,7 +371299,7 @@ }, "visibility": "default" }, - "3872": { + "3871": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -352448,7 +371308,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3872, + "id": 3871, "inner": { "function": { "generics": { @@ -352495,7 +371355,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -352519,7 +371379,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -352541,7 +371401,7 @@ }, "visibility": "default" }, - "3873": { + "3872": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -352550,7 +371410,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3873, + "id": 3872, "inner": { "function": { "generics": { @@ -352592,7 +371452,7 @@ "constraints": [] } }, - "id": 3189, + "id": 3190, "path": "fmt::Arguments" } } @@ -352613,7 +371473,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -352635,7 +371495,7 @@ }, "visibility": "default" }, - "3874": { + "3873": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -352644,7 +371504,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3874, + "id": 3873, "inner": { "function": { "generics": { @@ -352688,7 +371548,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -352710,7 +371570,7 @@ }, "visibility": "default" }, - "3875": { + "3874": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"empty_write\"}}]" @@ -352719,14 +371579,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3875, + "id": 3874, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } }, @@ -352738,13 +371598,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3867, 3868, 3869, 3870, 3871, 3872, - 3873, - 3874 + 3873 ], "provided_trait_methods": [ "write_vectored", @@ -352756,7 +371616,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -352776,7 +371636,7 @@ }, "visibility": "default" }, - "3876": { + "3875": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -352785,7 +371645,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3876, + "id": 3875, "inner": { "function": { "generics": { @@ -352843,7 +371703,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -352865,7 +371725,7 @@ }, "visibility": "default" }, - "3877": { + "3876": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -352874,7 +371734,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3877, + "id": 3876, "inner": { "function": { "generics": { @@ -352921,7 +371781,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -352945,7 +371805,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -352967,7 +371827,7 @@ }, "visibility": "default" }, - "3878": { + "3877": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -352976,7 +371836,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3878, + "id": 3877, "inner": { "function": { "generics": { @@ -353027,7 +371887,7 @@ }, "visibility": "default" }, - "3879": { + "3878": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -353036,7 +371896,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3879, + "id": 3878, "inner": { "function": { "generics": { @@ -353094,7 +371954,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -353116,6 +371976,108 @@ }, "visibility": "default" }, + "3879": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3879, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "_bufs", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2478, + "path": "IoSlice" + } + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "write_all_vectored", + "span": { + "begin": [ + 222, + 5 + ], + "end": [ + 224, + 6 + ], + "filename": "std/src/io/util.rs" + }, + "visibility": "default" + }, "388": { "attrs": [ { @@ -353140,7 +372102,7 @@ "modifier": "none", "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -353187,11 +372149,11 @@ "name": "get", "span": { "begin": [ - 408, + 601, 5 ], "end": [ - 413, + 606, 6 ], "filename": "std/src/thread/local.rs" @@ -353208,108 +372170,6 @@ "deprecation": null, "docs": null, "id": 3880, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "_bufs", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2480, - "path": "IoSlice" - } - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "write_all_vectored", - "span": { - "begin": [ - 222, - 5 - ], - "end": [ - 224, - 6 - ], - "filename": "std/src/io/util.rs" - }, - "visibility": "default" - }, - "3881": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3881, "inner": { "function": { "generics": { @@ -353351,7 +372211,7 @@ "constraints": [] } }, - "id": 3189, + "id": 3190, "path": "fmt::Arguments" } } @@ -353372,7 +372232,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -353394,7 +372254,7 @@ }, "visibility": "default" }, - "3882": { + "3881": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -353403,7 +372263,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3882, + "id": 3881, "inner": { "function": { "generics": { @@ -353447,7 +372307,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -353469,7 +372329,7 @@ }, "visibility": "default" }, - "3883": { + "3882": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"empty_write\"}}]" @@ -353478,7 +372338,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3883, + "id": 3882, "inner": { "impl": { "blanket_impl": null, @@ -353489,7 +372349,7 @@ "type": { "resolved_path": { "args": null, - "id": 3825, + "id": 3824, "path": "Empty" } } @@ -353503,13 +372363,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3875, 3876, 3877, 3878, 3879, 3880, - 3881, - 3882 + 3881 ], "provided_trait_methods": [ "write_vectored", @@ -353521,7 +372381,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -353541,7 +372401,7 @@ }, "visibility": "default" }, - "3885": { + "3884": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"const_io_structs\", promotable: false}}]" @@ -353558,7 +372418,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an instance of a reader that infinitely repeats one byte.\n\nAll reads from this reader will succeed by filling the specified buffer with\nthe given byte.\n\n# Examples\n\n```\nuse std::io::{self, Read};\n\nlet mut buffer = [0; 3];\nio::repeat(0b101).read_exact(&mut buffer).unwrap();\nassert_eq!(buffer, [0b101, 0b101, 0b101]);\n```", - "id": 3885, + "id": 3884, "inner": { "function": { "generics": { @@ -353585,7 +372445,7 @@ "output": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } } @@ -353607,7 +372467,7 @@ }, "visibility": "public" }, - "3886": { + "3885": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -353616,7 +372476,7 @@ "crate_id": 0, "deprecation": null, "docs": "A reader which yields one byte over and over and over and over and over and...\n\nThis struct is generally created by calling [`repeat()`]. Please\nsee the documentation of [`repeat()`] for more details.", - "id": 3886, + "id": 3885, "inner": { "struct": { "generics": { @@ -353624,6 +372484,7 @@ "where_predicates": [] }, "impls": [ + 3886, 3887, 3888, 3889, @@ -353636,9 +372497,8 @@ 3896, 3897, 3898, - 3899, - 3908, - 3910 + 3907, + 3909 ], "kind": { "plain": { @@ -353649,7 +372509,7 @@ } }, "links": { - "`repeat()`": 3885 + "`repeat()`": 3884 }, "name": "Repeat", "span": { @@ -353665,19 +372525,19 @@ }, "visibility": "public" }, - "3887": { + "3886": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3887, + "id": 3886, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -353702,19 +372562,19 @@ "span": null, "visibility": "default" }, - "3888": { + "3887": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3888, + "id": 3887, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -353739,6 +372599,43 @@ "span": null, "visibility": "default" }, + "3888": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3888, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 3885, + "path": "Repeat" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, "3889": { "attrs": [], "crate_id": 0, @@ -353751,7 +372648,7 @@ "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -353766,8 +372663,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -353800,7 +372697,7 @@ "modifier": "none", "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -353847,11 +372744,11 @@ "name": "take", "span": { "begin": [ - 438, + 631, 5 ], "end": [ - 443, + 636, 6 ], "filename": "std/src/thread/local.rs" @@ -353870,7 +372767,7 @@ "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -353885,8 +372782,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -353907,7 +372804,7 @@ "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -353923,7 +372820,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -353938,43 +372835,6 @@ "deprecation": null, "docs": null, "id": 3892, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 3886, - "path": "Repeat" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3893": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3893, "inner": { "impl": { "blanket_impl": { @@ -353983,7 +372843,7 @@ "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -354028,7 +372888,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -354044,7 +372904,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -354053,23 +372913,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3894": { + "3893": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3894, + "id": 3893, "inner": { "impl": { "blanket_impl": { @@ -354078,7 +372938,7 @@ "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -354123,7 +372983,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -354139,7 +372999,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -354148,23 +373008,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "3895": { + "3894": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3895, + "id": 3894, "inner": { "impl": { "blanket_impl": { @@ -354173,7 +373033,7 @@ "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -354239,7 +373099,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -354264,23 +373124,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3896": { + "3895": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3896, + "id": 3895, "inner": { "impl": { "blanket_impl": { @@ -354289,7 +373149,7 @@ "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -354312,7 +373172,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -354337,23 +373197,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3897": { + "3896": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3897, + "id": 3896, "inner": { "impl": { "blanket_impl": { @@ -354362,7 +373222,7 @@ "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -354410,7 +373270,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -354428,8 +373288,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -354445,7 +373305,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -354454,23 +373314,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3898": { + "3897": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3898, + "id": 3897, "inner": { "impl": { "blanket_impl": { @@ -354479,7 +373339,7 @@ "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -354545,8 +373405,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -354562,7 +373422,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -354571,23 +373431,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3899": { + "3898": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3899, + "id": 3898, "inner": { "impl": { "blanket_impl": { @@ -354596,7 +373456,7 @@ "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -354644,12 +373504,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -354669,19 +373529,16 @@ }, "visibility": "default" }, - "390": { + "3899": { "attrs": [ { - "other": "#[attr = Confusables {symbols: [\"swap\"]}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"local_key_cell_methods\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Replaces the contained value, returning the old value.\n\nThis will lazily initialize the value if this thread has not referenced\nthis key yet.\n\n# Panics\n\nPanics if the key currently has its destructor running,\nand it **may** panic if the destructor has previously been run for this thread.\n\n# Examples\n\n```\nuse std::cell::Cell;\n\nthread_local! {\n static X: Cell = const { Cell::new(1) };\n}\n\nassert_eq!(X.replace(2), 1);\nassert_eq!(X.replace(3), 2);\n```", - "id": 390, + "docs": null, + "id": 3899, "inner": { "function": { "generics": { @@ -354701,8 +373558,8 @@ "self", { "borrowed_ref": { - "is_mutable": false, - "lifetime": "'static", + "is_mutable": true, + "lifetime": null, "type": { "generic": "Self" } @@ -354710,44 +373567,70 @@ } ], [ - "value", + "buf", { - "generic": "T" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "T" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } } } } }, "links": {}, - "name": "replace", + "name": "read", "span": { "begin": [ - 469, + 270, 5 ], "end": [ - 471, + 273, 6 ], - "filename": "std/src/thread/local.rs" + "filename": "std/src/io/util.rs" }, - "visibility": "public" + "visibility": "default" }, - "3900": { + "390": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Confusables {symbols: [\"swap\"]}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"local_key_cell_methods\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 3900, + "docs": "Replaces the contained value, returning the old value.\n\nThis will lazily initialize the value if this thread has not referenced\nthis key yet.\n\n# Panics\n\nPanics if the key currently has its destructor running,\nand it **may** panic if the destructor has previously been run for this thread.\n\n# Examples\n\n```\nuse std::cell::Cell;\n\nthread_local! {\n static X: Cell = const { Cell::new(1) };\n}\n\nassert_eq!(X.replace(2), 1);\nassert_eq!(X.replace(3), 2);\n```", + "id": 390, "inner": { "function": { "generics": { @@ -354767,8 +373650,8 @@ "self", { "borrowed_ref": { - "is_mutable": true, - "lifetime": null, + "is_mutable": false, + "lifetime": "'static", "type": { "generic": "Self" } @@ -354776,58 +373659,35 @@ } ], [ - "buf", + "value", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } + "generic": "T" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } + "generic": "T" } } } }, "links": {}, - "name": "read", + "name": "replace", "span": { "begin": [ - 270, + 662, 5 ], "end": [ - 273, + 664, 6 ], - "filename": "std/src/io/util.rs" + "filename": "std/src/thread/local.rs" }, - "visibility": "default" + "visibility": "public" }, - "3901": { + "3900": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -354836,7 +373696,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3901, + "id": 3900, "inner": { "function": { "generics": { @@ -354894,7 +373754,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -354916,7 +373776,7 @@ }, "visibility": "default" }, - "3902": { + "3901": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -354925,7 +373785,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3902, + "id": 3901, "inner": { "function": { "generics": { @@ -354967,7 +373827,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -354988,7 +373848,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -355010,7 +373870,7 @@ }, "visibility": "default" }, - "3903": { + "3902": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -355019,7 +373879,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3903, + "id": 3902, "inner": { "function": { "generics": { @@ -355061,7 +373921,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -355082,7 +373942,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -355104,12 +373964,12 @@ }, "visibility": "default" }, - "3904": { + "3903": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "This function is not supported by `io::Repeat`, because there's no end of its data", - "id": 3904, + "id": 3903, "inner": { "function": { "generics": { @@ -355157,7 +374017,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -355180,7 +374040,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -355202,12 +374062,12 @@ }, "visibility": "default" }, - "3905": { + "3904": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "This function is not supported by `io::Repeat`, because there's no end of its data", - "id": 3905, + "id": 3904, "inner": { "function": { "generics": { @@ -355244,7 +374104,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -355267,7 +374127,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -355289,7 +374149,7 @@ }, "visibility": "default" }, - "3906": { + "3905": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -355298,7 +374158,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3906, + "id": 3905, "inner": { "function": { "generics": { @@ -355345,7 +374205,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -355369,7 +374229,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -355391,7 +374251,7 @@ }, "visibility": "default" }, - "3907": { + "3906": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -355400,7 +374260,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3907, + "id": 3906, "inner": { "function": { "generics": { @@ -355451,7 +374311,7 @@ }, "visibility": "default" }, - "3908": { + "3907": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -355460,14 +374320,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3908, + "id": 3907, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3886, + "id": 3885, "path": "Repeat" } }, @@ -355479,14 +374339,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3899, 3900, 3901, 3902, 3903, 3904, 3905, - 3906, - 3907 + 3906 ], "provided_trait_methods": [ "read_vectored", @@ -355503,7 +374363,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -355523,12 +374383,12 @@ }, "visibility": "default" }, - "3909": { + "3908": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3909, + "id": 3908, "inner": { "function": { "generics": { @@ -355574,7 +374434,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -355586,7 +374446,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -355608,6 +374468,59 @@ }, "visibility": "default" }, + "3909": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3909, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 3885, + "path": "Repeat" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 3908 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 333, + 1 + ], + "end": [ + 337, + 2 + ], + "filename": "std/src/io/util.rs" + }, + "visibility": "default" + }, "391": { "attrs": [ { @@ -355666,7 +374579,7 @@ "modifier": "none", "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -355740,11 +374653,11 @@ "name": "update", "span": { "begin": [ - 489, + 682, 5 ], "end": [ - 494, + 687, 6 ], "filename": "std/src/thread/local.rs" @@ -355752,59 +374665,6 @@ "visibility": "public" }, "3910": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3910, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 3886, - "path": "Repeat" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 3909 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 333, - 1 - ], - "end": [ - 337, - 2 - ], - "filename": "std/src/io/util.rs" - }, - "visibility": "default" - }, - "3911": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"const_io_structs\", promotable: false}}]" @@ -355821,7 +374681,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an instance of a writer which will successfully consume all data.\n\nAll calls to [`write`] on the returned instance will return [`Ok(buf.len())`]\nand the contents of the buffer will not be inspected.\n\n[`write`]: Write::write\n[`Ok(buf.len())`]: Ok\n\n# Examples\n\n```rust\nuse std::io::{self, Write};\n\nlet buffer = vec![1, 2, 3, 5, 8];\nlet num_bytes = io::sink().write(&buffer).unwrap();\nassert_eq!(num_bytes, 5);\n```", - "id": 3911, + "id": 3910, "inner": { "function": { "generics": { @@ -355841,7 +374701,7 @@ "output": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } } @@ -355850,7 +374710,7 @@ }, "links": { "Ok": 61, - "Write::write": 2436 + "Write::write": 2434 }, "name": "sink", "span": { @@ -355866,7 +374726,7 @@ }, "visibility": "public" }, - "3912": { + "3911": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -355876,7 +374736,7 @@ "crate_id": 0, "deprecation": null, "docs": "A writer which will move data into the void.\n\nThis struct is generally created by calling [`sink()`]. Please\nsee the documentation of [`sink()`] for more details.", - "id": 3912, + "id": 3911, "inner": { "struct": { "generics": { @@ -355884,6 +374744,7 @@ "where_predicates": [] }, "impls": [ + 3912, 3913, 3914, 3915, @@ -355899,18 +374760,17 @@ 3925, 3926, 3927, - 3928, - 3930, - 3932, - 3934, - 3942, - 3950 + 3929, + 3931, + 3933, + 3941, + 3949 ], "kind": "unit" } }, "links": { - "`sink()`": 3911 + "`sink()`": 3910 }, "name": "Sink", "span": { @@ -355926,19 +374786,19 @@ }, "visibility": "public" }, - "3913": { + "3912": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3913, + "id": 3912, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -355963,19 +374823,19 @@ "span": null, "visibility": "default" }, - "3914": { + "3913": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3914, + "id": 3913, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356000,19 +374860,19 @@ "span": null, "visibility": "default" }, - "3915": { + "3914": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3915, + "id": 3914, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356027,7 +374887,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -356037,19 +374897,19 @@ "span": null, "visibility": "default" }, - "3916": { + "3915": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3916, + "id": 3915, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356074,19 +374934,19 @@ "span": null, "visibility": "default" }, - "3917": { + "3916": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3917, + "id": 3916, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356101,7 +374961,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -356111,19 +374971,19 @@ "span": null, "visibility": "default" }, - "3918": { + "3917": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3918, + "id": 3917, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356138,7 +374998,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -356148,6 +375008,101 @@ "span": null, "visibility": "default" }, + "3918": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3918, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 3911, + "path": "Sink" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, "3919": { "attrs": [], "crate_id": 0, @@ -356162,7 +375117,7 @@ "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356207,7 +375162,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 322 ], "provided_trait_methods": [], "trait": { @@ -356223,8 +375178,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 324, + "path": "BorrowMut" } } }, @@ -356232,12 +375187,12 @@ "name": null, "span": { "begin": [ - 209, + 221, 1 ], "end": [ - 209, - 32 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -356322,11 +375277,11 @@ "name": null, "span": { "begin": [ - 347, + 540, 1 ], "end": [ - 495, + 688, 2 ], "filename": "std/src/thread/local.rs" @@ -356347,102 +375302,7 @@ "for": { "resolved_path": { "args": null, - "id": 3912, - "path": "Sink" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "3921": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3921, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356469,7 +375329,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -356501,23 +375361,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "3922": { + "3921": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3922, + "id": 3921, "inner": { "impl": { "blanket_impl": { @@ -356526,7 +375386,7 @@ "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356592,7 +375452,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -356617,23 +375477,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3923": { + "3922": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3923, + "id": 3922, "inner": { "impl": { "blanket_impl": { @@ -356642,7 +375502,7 @@ "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356665,7 +375525,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -356690,23 +375550,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3924": { + "3923": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3924, + "id": 3923, "inner": { "impl": { "blanket_impl": { @@ -356715,7 +375575,7 @@ "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356763,7 +375623,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -356781,8 +375641,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -356798,7 +375658,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -356807,23 +375667,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3925": { + "3924": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3925, + "id": 3924, "inner": { "impl": { "blanket_impl": { @@ -356832,7 +375692,7 @@ "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356898,8 +375758,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -356915,7 +375775,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -356924,23 +375784,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "3926": { + "3925": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3926, + "id": 3925, "inner": { "impl": { "blanket_impl": { @@ -356949,7 +375809,7 @@ "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -356997,12 +375857,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -357022,12 +375882,12 @@ }, "visibility": "default" }, - "3927": { + "3926": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 3927, + "id": 3926, "inner": { "impl": { "blanket_impl": { @@ -357036,7 +375896,7 @@ "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -357063,7 +375923,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -357090,7 +375950,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -357099,18 +375959,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "3928": { + "3927": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -357120,14 +375980,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3928, + "id": 3927, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -357142,7 +376002,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -357162,7 +376022,7 @@ }, "visibility": "default" }, - "3929": { + "3928": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -357171,7 +376031,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3929, + "id": 3928, "inner": { "function": { "generics": { @@ -357204,7 +376064,7 @@ "output": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } } @@ -357226,6 +376086,62 @@ }, "visibility": "default" }, + "3929": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3929, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 3911, + "path": "Sink" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 3928 + ], + "provided_trait_methods": [ + "clone_from" + ], + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 345, + 16 + ], + "end": [ + 345, + 21 + ], + "filename": "std/src/io/util.rs" + }, + "visibility": "default" + }, "393": { "attrs": [ { @@ -357341,11 +376257,11 @@ "name": "with_borrow", "span": { "begin": [ - 522, + 715, 5 ], "end": [ - 527, + 720, 6 ], "filename": "std/src/thread/local.rs" @@ -357353,62 +376269,6 @@ "visibility": "public" }, "3930": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3930, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 3912, - "path": "Sink" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 3929 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 345, - 16 - ], - "end": [ - 345, - 21 - ], - "filename": "std/src/io/util.rs" - }, - "visibility": "default" - }, - "3931": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -357417,7 +376277,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3931, + "id": 3930, "inner": { "function": { "generics": { @@ -357463,7 +376323,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -357475,7 +376335,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -357497,7 +376357,7 @@ }, "visibility": "default" }, - "3932": { + "3931": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -357507,14 +376367,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3932, + "id": 3931, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -357526,12 +376386,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3931 + 3930 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -357551,7 +376411,7 @@ }, "visibility": "default" }, - "3933": { + "3932": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -357560,7 +376420,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3933, + "id": 3932, "inner": { "function": { "generics": { @@ -357580,7 +376440,7 @@ "output": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } } @@ -357602,7 +376462,7 @@ }, "visibility": "default" }, - "3934": { + "3933": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -357612,14 +376472,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3934, + "id": 3933, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -357631,12 +376491,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3933 + 3932 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -357656,7 +376516,7 @@ }, "visibility": "default" }, - "3935": { + "3934": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -357665,7 +376525,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3935, + "id": 3934, "inner": { "function": { "generics": { @@ -357723,7 +376583,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -357745,7 +376605,7 @@ }, "visibility": "default" }, - "3936": { + "3935": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -357754,7 +376614,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3936, + "id": 3935, "inner": { "function": { "generics": { @@ -357801,7 +376661,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -357825,7 +376685,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -357847,7 +376707,7 @@ }, "visibility": "default" }, - "3937": { + "3936": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -357856,7 +376716,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3937, + "id": 3936, "inner": { "function": { "generics": { @@ -357907,7 +376767,7 @@ }, "visibility": "default" }, - "3938": { + "3937": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -357916,7 +376776,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3938, + "id": 3937, "inner": { "function": { "generics": { @@ -357974,7 +376834,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -357996,7 +376856,7 @@ }, "visibility": "default" }, - "3939": { + "3938": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -358005,7 +376865,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3939, + "id": 3938, "inner": { "function": { "generics": { @@ -358052,7 +376912,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -358076,7 +376936,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -358098,6 +376958,100 @@ }, "visibility": "default" }, + "3939": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3939, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "_args", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 3190, + "path": "fmt::Arguments" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "write_fmt", + "span": { + "begin": [ + 401, + 5 + ], + "end": [ + 403, + 6 + ], + "filename": "std/src/io/util.rs" + }, + "visibility": "default" + }, "394": { "attrs": [ { @@ -358213,11 +377167,11 @@ "name": "with_borrow_mut", "span": { "begin": [ - 555, + 748, 5 ], "end": [ - 560, + 753, 6 ], "filename": "std/src/thread/local.rs" @@ -358260,25 +377214,6 @@ } } } - ], - [ - "_args", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 3189, - "path": "fmt::Arguments" - } - } ] ], "is_c_variadic": false, @@ -358296,82 +377231,7 @@ "constraints": [] } }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "write_fmt", - "span": { - "begin": [ - 401, - 5 - ], - "end": [ - 403, - 6 - ], - "filename": "std/src/io/util.rs" - }, - "visibility": "default" - }, - "3941": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3941, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -358393,7 +377253,7 @@ }, "visibility": "default" }, - "3942": { + "3941": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -358402,14 +377262,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3942, + "id": 3941, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } }, @@ -358421,13 +377281,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3934, 3935, 3936, 3937, 3938, 3939, - 3940, - 3941 + 3940 ], "provided_trait_methods": [ "write_vectored", @@ -358439,7 +377299,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -358459,7 +377319,7 @@ }, "visibility": "default" }, - "3943": { + "3942": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -358468,7 +377328,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3943, + "id": 3942, "inner": { "function": { "generics": { @@ -358526,7 +377386,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -358548,7 +377408,7 @@ }, "visibility": "default" }, - "3944": { + "3943": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -358557,7 +377417,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3944, + "id": 3943, "inner": { "function": { "generics": { @@ -358604,7 +377464,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -358628,7 +377488,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -358650,7 +377510,7 @@ }, "visibility": "default" }, - "3945": { + "3944": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -358659,7 +377519,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3945, + "id": 3944, "inner": { "function": { "generics": { @@ -358710,7 +377570,7 @@ }, "visibility": "default" }, - "3946": { + "3945": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -358719,7 +377579,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3946, + "id": 3945, "inner": { "function": { "generics": { @@ -358777,7 +377637,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -358799,7 +377659,7 @@ }, "visibility": "default" }, - "3947": { + "3946": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -358808,7 +377668,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3947, + "id": 3946, "inner": { "function": { "generics": { @@ -358855,7 +377715,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -358879,7 +377739,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -358901,7 +377761,7 @@ }, "visibility": "default" }, - "3948": { + "3947": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -358910,7 +377770,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3948, + "id": 3947, "inner": { "function": { "generics": { @@ -358952,7 +377812,7 @@ "constraints": [] } }, - "id": 3189, + "id": 3190, "path": "fmt::Arguments" } } @@ -358973,7 +377833,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -358995,7 +377855,7 @@ }, "visibility": "default" }, - "3949": { + "3948": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -359004,7 +377864,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3949, + "id": 3948, "inner": { "function": { "generics": { @@ -359048,7 +377908,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -359070,71 +377930,7 @@ }, "visibility": "default" }, - "395": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"local_key_cell_methods\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Sets or initializes the contained value.\n\nUnlike the other methods, this will *not* run the lazy initializer of\nthe thread local. Instead, it will be directly initialized with the\ngiven value if it wasn't initialized yet.\n\n# Panics\n\nPanics if the value is currently borrowed.\n\nPanics if the key currently has its destructor running,\nand it **may** panic if the destructor has previously been run for this thread.\n\n# Examples\n\n```\nuse std::cell::RefCell;\n\nthread_local! {\n static X: RefCell> = panic!(\"!\");\n}\n\n// Calling X.with() here would result in a panic.\n\nX.set(vec![1, 2, 3]); // But X.set() is fine, as it skips the initializer above.\n\nX.with_borrow(|v| assert_eq!(*v, vec![1, 2, 3]));\n```", - "id": 395, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'static", - "type": { - "generic": "Self" - } - } - } - ], - [ - "value", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "set", - "span": { - "begin": [ - 591, - 5 - ], - "end": [ - 600, - 6 - ], - "filename": "std/src/thread/local.rs" - }, - "visibility": "public" - }, - "3950": { + "3949": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 48, patch: 0})}, feature: \"write_mt\"}}]" @@ -359143,7 +377939,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3950, + "id": 3949, "inner": { "impl": { "blanket_impl": null, @@ -359154,7 +377950,7 @@ "type": { "resolved_path": { "args": null, - "id": 3912, + "id": 3911, "path": "Sink" } } @@ -359168,13 +377964,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3942, 3943, 3944, 3945, 3946, 3947, - 3948, - 3949 + 3948 ], "provided_trait_methods": [ "write_vectored", @@ -359186,7 +377982,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -359206,7 +378002,71 @@ }, "visibility": "default" }, - "3952": { + "395": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"local_key_cell_methods\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Sets or initializes the contained value.\n\nUnlike the other methods, this will *not* run the lazy initializer of\nthe thread local. Instead, it will be directly initialized with the\ngiven value if it wasn't initialized yet.\n\n# Panics\n\nPanics if the value is currently borrowed.\n\nPanics if the key currently has its destructor running,\nand it **may** panic if the destructor has previously been run for this thread.\n\n# Examples\n\n```\nuse std::cell::RefCell;\n\nthread_local! {\n static X: RefCell> = panic!(\"!\");\n}\n\n// Calling X.with() here would result in a panic.\n\nX.set(vec![1, 2, 3]); // But X.set() is fine, as it skips the initializer above.\n\nX.with_borrow(|v| assert_eq!(*v, vec![1, 2, 3]));\n```", + "id": 395, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'static", + "type": { + "generic": "Self" + } + } + } + ], + [ + "value", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "set", + "span": { + "begin": [ + 784, + 5 + ], + "end": [ + 793, + 6 + ], + "filename": "std/src/thread/local.rs" + }, + "visibility": "public" + }, + "3951": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 78485, is_soft: false}, feature: \"read_buf\"}}]" @@ -359215,10 +378075,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3952, + "id": 3951, "inner": { "use": { - "id": 3953, + "id": 3952, "is_glob": false, "name": "BorrowedBuf", "source": "core::io::BorrowedBuf" @@ -359239,7 +378099,7 @@ }, "visibility": "public" }, - "3954": { + "3953": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 78485, is_soft: false}, feature: \"read_buf\"}}]" @@ -359248,10 +378108,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3954, + "id": 3953, "inner": { "use": { - "id": 2470, + "id": 2468, "is_glob": false, "name": "BorrowedCursor", "source": "core::io::BorrowedCursor" @@ -359272,7 +378132,7 @@ }, "visibility": "public" }, - "3955": { + "3954": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"bufwriter_into_parts\"}}]" @@ -359281,10 +378141,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3955, + "id": 3954, "inner": { "use": { - "id": 3105, + "id": 3107, "is_glob": false, "name": "WriterPanicked", "source": "self::buffered::WriterPanicked" @@ -359305,7 +378165,7 @@ }, "visibility": "public" }, - "3956": { + "3955": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 107792, is_soft: false}, feature: \"raw_os_error_ty\"}}]" @@ -359314,7 +378174,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3956, + "id": 3955, "inner": { "use": { "id": 3330, @@ -359338,7 +378198,7 @@ }, "visibility": "public" }, - "3957": { + "3956": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133448, is_soft: false}, feature: \"io_const_error\"}}]" @@ -359347,10 +378207,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3957, + "id": 3956, "inner": { "use": { - "id": 3368, + "id": 3367, "is_glob": false, "name": "const_error", "source": "self::error::const_error" @@ -359371,7 +378231,7 @@ }, "visibility": "public" }, - "3958": { + "3957": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -359380,10 +378240,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3958, + "id": 3957, "inner": { "use": { - "id": 3436, + "id": 3435, "is_glob": false, "name": "PipeReader", "source": "self::pipe::PipeReader" @@ -359404,7 +378264,7 @@ }, "visibility": "public" }, - "3959": { + "3958": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" @@ -359413,10 +378273,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3959, + "id": 3958, "inner": { "use": { - "id": 3437, + "id": 3436, "is_glob": false, "name": "PipeWriter", "source": "self::pipe::PipeWriter" @@ -359437,6 +378297,39 @@ }, "visibility": "public" }, + "3959": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3959, + "inner": { + "use": { + "id": 3437, + "is_glob": false, + "name": "pipe", + "source": "self::pipe::pipe" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 314, + 46 + ], + "end": [ + 314, + 50 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "public" + }, "396": { "attrs": [ { @@ -359461,7 +378354,7 @@ "modifier": "none", "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -359508,11 +378401,11 @@ "name": "take", "span": { "begin": [ - 632, + 825, 5 ], "end": [ - 637, + 830, 6 ], "filename": "std/src/thread/local.rs" @@ -359520,39 +378413,6 @@ "visibility": "public" }, "3960": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"anonymous_pipe\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3960, - "inner": { - "use": { - "id": 3438, - "is_glob": false, - "name": "pipe", - "source": "self::pipe::pipe" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 314, - 46 - ], - "end": [ - 314, - 50 - ], - "filename": "std/src/io/mod.rs" - }, - "visibility": "public" - }, - "3961": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"is_terminal\"}}]" @@ -359561,10 +378421,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3961, + "id": 3960, "inner": { "use": { - "id": 2510, + "id": 2508, "is_glob": false, "name": "IsTerminal", "source": "self::stdio::IsTerminal" @@ -359585,7 +378445,7 @@ }, "visibility": "public" }, - "3962": { + "3961": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -359594,10 +378454,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3962, + "id": 3961, "inner": { "use": { - "id": 2409, + "id": 2407, "is_glob": false, "name": "BufReader", "source": "self::buffered::BufReader" @@ -359618,7 +378478,7 @@ }, "visibility": "public" }, - "3963": { + "3962": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -359627,10 +378487,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3963, + "id": 3962, "inner": { "use": { - "id": 2410, + "id": 2408, "is_glob": false, "name": "BufWriter", "source": "self::buffered::BufWriter" @@ -359651,7 +378511,7 @@ }, "visibility": "public" }, - "3964": { + "3963": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -359660,10 +378520,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3964, + "id": 3963, "inner": { "use": { - "id": 3103, + "id": 3105, "is_glob": false, "name": "IntoInnerError", "source": "self::buffered::IntoInnerError" @@ -359684,7 +378544,7 @@ }, "visibility": "public" }, - "3965": { + "3964": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -359693,10 +378553,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3965, + "id": 3964, "inner": { "use": { - "id": 3161, + "id": 3162, "is_glob": false, "name": "LineWriter", "source": "self::buffered::LineWriter" @@ -359717,7 +378577,7 @@ }, "visibility": "public" }, - "3966": { + "3965": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -359726,10 +378586,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3966, + "id": 3965, "inner": { "use": { - "id": 2963, + "id": 2965, "is_glob": false, "name": "copy", "source": "self::copy::copy" @@ -359750,7 +378610,7 @@ }, "visibility": "public" }, - "3967": { + "3966": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -359759,7 +378619,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3967, + "id": 3966, "inner": { "use": { "id": 3232, @@ -359783,7 +378643,7 @@ }, "visibility": "public" }, - "3968": { + "3967": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -359792,7 +378652,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3968, + "id": 3967, "inner": { "use": { "id": 2570, @@ -359816,7 +378676,7 @@ }, "visibility": "public" }, - "3969": { + "3968": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -359825,7 +378685,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3969, + "id": 3968, "inner": { "use": { "id": 2774, @@ -359849,6 +378709,39 @@ }, "visibility": "public" }, + "3969": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3969, + "inner": { + "use": { + "id": 469, + "is_glob": false, + "name": "Result", + "source": "self::error::Result" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 329, + 31 + ], + "end": [ + 329, + 37 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "public" + }, "397": { "attrs": [ { @@ -359907,11 +378800,11 @@ "name": "replace", "span": { "begin": [ - 664, + 857, 5 ], "end": [ - 666, + 859, 6 ], "filename": "std/src/thread/local.rs" @@ -359930,22 +378823,22 @@ "id": 3970, "inner": { "use": { - "id": 468, + "id": 3732, "is_glob": false, - "name": "Result", - "source": "self::error::Result" + "name": "Stderr", + "source": "self::stdio::Stderr" } }, "links": {}, "name": null, "span": { "begin": [ - 329, - 31 + 330, + 13 ], "end": [ - 329, - 37 + 330, + 19 ], "filename": "std/src/io/mod.rs" }, @@ -359963,10 +378856,10 @@ "id": 3971, "inner": { "use": { - "id": 3733, + "id": 3734, "is_glob": false, - "name": "Stderr", - "source": "self::stdio::Stderr" + "name": "StderrLock", + "source": "self::stdio::StderrLock" } }, "links": {}, @@ -359974,11 +378867,11 @@ "span": { "begin": [ 330, - 13 + 21 ], "end": [ 330, - 19 + 31 ], "filename": "std/src/io/mod.rs" }, @@ -359996,10 +378889,10 @@ "id": 3972, "inner": { "use": { - "id": 3735, + "id": 3555, "is_glob": false, - "name": "StderrLock", - "source": "self::stdio::StderrLock" + "name": "Stdin", + "source": "self::stdio::Stdin" } }, "links": {}, @@ -360007,11 +378900,11 @@ "span": { "begin": [ 330, - 21 + 33 ], "end": [ 330, - 31 + 38 ], "filename": "std/src/io/mod.rs" }, @@ -360029,10 +378922,10 @@ "id": 3973, "inner": { "use": { - "id": 3556, + "id": 3557, "is_glob": false, - "name": "Stdin", - "source": "self::stdio::Stdin" + "name": "StdinLock", + "source": "self::stdio::StdinLock" } }, "links": {}, @@ -360040,11 +378933,11 @@ "span": { "begin": [ 330, - 33 + 40 ], "end": [ 330, - 38 + 49 ], "filename": "std/src/io/mod.rs" }, @@ -360062,10 +378955,10 @@ "id": 3974, "inner": { "use": { - "id": 3558, + "id": 3651, "is_glob": false, - "name": "StdinLock", - "source": "self::stdio::StdinLock" + "name": "Stdout", + "source": "self::stdio::Stdout" } }, "links": {}, @@ -360073,11 +378966,11 @@ "span": { "begin": [ 330, - 40 + 51 ], "end": [ 330, - 49 + 57 ], "filename": "std/src/io/mod.rs" }, @@ -360097,8 +378990,8 @@ "use": { "id": 3652, "is_glob": false, - "name": "Stdout", - "source": "self::stdio::Stdout" + "name": "StdoutLock", + "source": "self::stdio::StdoutLock" } }, "links": {}, @@ -360106,11 +378999,11 @@ "span": { "begin": [ 330, - 51 + 59 ], "end": [ 330, - 57 + 69 ], "filename": "std/src/io/mod.rs" }, @@ -360128,10 +379021,10 @@ "id": 3976, "inner": { "use": { - "id": 3653, + "id": 3731, "is_glob": false, - "name": "StdoutLock", - "source": "self::stdio::StdoutLock" + "name": "stderr", + "source": "self::stdio::stderr" } }, "links": {}, @@ -360139,11 +379032,11 @@ "span": { "begin": [ 330, - 59 + 71 ], "end": [ 330, - 69 + 77 ], "filename": "std/src/io/mod.rs" }, @@ -360161,10 +379054,10 @@ "id": 3977, "inner": { "use": { - "id": 3732, + "id": 3554, "is_glob": false, - "name": "stderr", - "source": "self::stdio::stderr" + "name": "stdin", + "source": "self::stdio::stdin" } }, "links": {}, @@ -360172,11 +379065,11 @@ "span": { "begin": [ 330, - 71 + 79 ], "end": [ 330, - 77 + 84 ], "filename": "std/src/io/mod.rs" }, @@ -360194,10 +379087,10 @@ "id": 3978, "inner": { "use": { - "id": 3555, + "id": 3650, "is_glob": false, - "name": "stdin", - "source": "self::stdio::stdin" + "name": "stdout", + "source": "self::stdio::stdout" } }, "links": {}, @@ -360205,11 +379098,11 @@ "span": { "begin": [ 330, - 79 + 86 ], "end": [ 330, - 84 + 92 ], "filename": "std/src/io/mod.rs" }, @@ -360227,22 +379120,22 @@ "id": 3979, "inner": { "use": { - "id": 3651, + "id": 3824, "is_glob": false, - "name": "stdout", - "source": "self::stdio::stdout" + "name": "Empty", + "source": "self::util::Empty" } }, "links": {}, "name": null, "span": { "begin": [ - 330, - 86 + 331, + 12 ], "end": [ - 330, - 92 + 331, + 17 ], "filename": "std/src/io/mod.rs" }, @@ -360327,11 +379220,11 @@ "name": null, "span": { "begin": [ - 497, + 690, 1 ], "end": [ - 667, + 860, 2 ], "filename": "std/src/thread/local.rs" @@ -360350,40 +379243,7 @@ "id": 3980, "inner": { "use": { - "id": 3825, - "is_glob": false, - "name": "Empty", - "source": "self::util::Empty" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 331, - 12 - ], - "end": [ - 331, - 17 - ], - "filename": "std/src/io/mod.rs" - }, - "visibility": "public" - }, - "3981": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 3981, - "inner": { - "use": { - "id": 3886, + "id": 3885, "is_glob": false, "name": "Repeat", "source": "self::util::Repeat" @@ -360404,7 +379264,7 @@ }, "visibility": "public" }, - "3982": { + "3981": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -360413,10 +379273,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3982, + "id": 3981, "inner": { "use": { - "id": 3912, + "id": 3911, "is_glob": false, "name": "Sink", "source": "self::util::Sink" @@ -360437,7 +379297,7 @@ }, "visibility": "public" }, - "3983": { + "3982": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -360446,10 +379306,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3983, + "id": 3982, "inner": { "use": { - "id": 3824, + "id": 3823, "is_glob": false, "name": "empty", "source": "self::util::empty" @@ -360470,7 +379330,7 @@ }, "visibility": "public" }, - "3984": { + "3983": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -360479,10 +379339,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3984, + "id": 3983, "inner": { "use": { - "id": 3885, + "id": 3884, "is_glob": false, "name": "repeat", "source": "self::util::repeat" @@ -360503,7 +379363,7 @@ }, "visibility": "public" }, - "3985": { + "3984": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -360512,10 +379372,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 3985, + "id": 3984, "inner": { "use": { - "id": 3911, + "id": 3910, "is_glob": false, "name": "sink", "source": "self::util::sink" @@ -360536,7 +379396,7 @@ }, "visibility": "public" }, - "3988": { + "3987": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"read_exact\"}}]" @@ -360545,7 +379405,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reads the exact number of bytes required to fill `buf`.\n\nThis function reads as many bytes as necessary to completely fill the\nspecified buffer `buf`.\n\n*Implementations* of this method can make no assumptions about the contents of `buf` when\nthis function is called. It is recommended that implementations only write data to `buf`\ninstead of reading its contents. The documentation on [`read`] has a more detailed\nexplanation of this subject.\n\n# Errors\n\nIf this function encounters an error of the kind\n[`ErrorKind::Interrupted`] then the error is ignored and the operation\nwill continue.\n\nIf this function encounters an \"end of file\" before completely filling\nthe buffer, it returns an error of the kind [`ErrorKind::UnexpectedEof`].\nThe contents of `buf` are unspecified in this case.\n\nIf any other read error is encountered then this function immediately\nreturns. The contents of `buf` are unspecified in this case.\n\nIf this function returns an error, it is unspecified how many bytes it\nhas read, but it will never read more than would be necessary to\ncompletely fill the buffer.\n\n# Examples\n\n[`File`]s implement `Read`:\n\n[`read`]: Read::read\n[`File`]: crate::fs::File\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let mut buffer = [0; 10];\n\n // read exactly 10 bytes\n f.read_exact(&mut buffer)?;\n Ok(())\n}\n```", - "id": 3988, + "id": 3987, "inner": { "function": { "generics": { @@ -360603,7 +379463,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -360611,10 +379471,10 @@ } }, "links": { - "Read::read": 2435, + "Read::read": 2433, "`ErrorKind::Interrupted`": 2958, - "`ErrorKind::UnexpectedEof`": 3398, - "crate::fs::File": 2413 + "`ErrorKind::UnexpectedEof`": 3397, + "crate::fs::File": 2411 }, "name": "read_exact", "span": { @@ -360630,7 +379490,7 @@ }, "visibility": "default" }, - "3989": { + "3988": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 78485, is_soft: false}, feature: \"read_buf\"}}]" @@ -360639,7 +379499,7 @@ "crate_id": 0, "deprecation": null, "docs": "Pull some bytes from this source into the specified buffer.\n\nThis is equivalent to the [`read`](Read::read) method, except that it is passed a [`BorrowedCursor`] rather than `[u8]` to allow use\nwith uninitialized buffers. The new data will be appended to any existing contents of `buf`.\n\nThe default implementation delegates to `read`.\n\nThis method makes it possible to return both data and an error but it is advised against.", - "id": 3989, + "id": 3988, "inner": { "function": { "generics": { @@ -360681,7 +379541,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -360702,7 +379562,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -360710,8 +379570,8 @@ } }, "links": { - "Read::read": 2435, - "`BorrowedCursor`": 2470 + "Read::read": 2433, + "`BorrowedCursor`": 2468 }, "name": "read_buf", "span": { @@ -360727,66 +379587,7 @@ }, "visibility": "default" }, - "399": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 399, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 383, - "path": "LocalKey" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "3990": { + "3989": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 78485, is_soft: false}, feature: \"read_buf\"}}]" @@ -360795,7 +379596,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reads the exact number of bytes required to fill `cursor`.\n\nThis is similar to the [`read_exact`](Read::read_exact) method, except\nthat it is passed a [`BorrowedCursor`] rather than `[u8]` to allow use\nwith uninitialized buffers.\n\n# Errors\n\nIf this function encounters an error of the kind [`ErrorKind::Interrupted`]\nthen the error is ignored and the operation will continue.\n\nIf this function encounters an \"end of file\" before completely filling\nthe buffer, it returns an error of the kind [`ErrorKind::UnexpectedEof`].\n\nIf any other read error is encountered then this function immediately\nreturns.\n\nIf this function returns an error, all bytes read will be appended to `cursor`.", - "id": 3990, + "id": 3989, "inner": { "function": { "generics": { @@ -360837,7 +379638,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -360858,7 +379659,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -360866,10 +379667,10 @@ } }, "links": { - "Read::read_exact": 3988, - "`BorrowedCursor`": 2470, + "Read::read_exact": 3987, + "`BorrowedCursor`": 2468, "`ErrorKind::Interrupted`": 2958, - "`ErrorKind::UnexpectedEof`": 3398 + "`ErrorKind::UnexpectedEof`": 3397 }, "name": "read_buf_exact", "span": { @@ -360885,7 +379686,66 @@ }, "visibility": "default" }, - "3991": { + "399": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 399, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 383, + "path": "LocalKey" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "3990": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -360893,8 +379753,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Creates a \"by reference\" adaptor for this instance of `Read`.\n\nThe returned adapter also implements `Read` and will simply borrow this\ncurrent reader.\n\n# Examples\n\n[`File`]s implement `Read`:\n\n[`File`]: crate::fs::File\n\n```no_run\nuse std::io;\nuse std::io::Read;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let mut buffer = Vec::new();\n let mut other_buffer = Vec::new();\n\n {\n let reference = f.by_ref();\n\n // read at most 5 bytes\n reference.take(5).read_to_end(&mut buffer)?;\n\n } // drop our &mut reference so we can use f again\n\n // original file still usable, read the rest\n f.read_to_end(&mut other_buffer)?;\n Ok(())\n}\n```", - "id": 3991, + "docs": "Creates a \"by reference\" adapter for this instance of `Read`.\n\nThe returned adapter also implements `Read` and will simply borrow this\ncurrent reader.\n\n# Examples\n\n[`File`]s implement `Read`:\n\n[`File`]: crate::fs::File\n\n```no_run\nuse std::io;\nuse std::io::Read;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let mut buffer = Vec::new();\n let mut other_buffer = Vec::new();\n\n {\n let reference = f.by_ref();\n\n // read at most 5 bytes\n reference.take(5).read_to_end(&mut buffer)?;\n\n } // drop our &mut reference so we can use f again\n\n // original file still usable, read the rest\n f.read_to_end(&mut other_buffer)?;\n Ok(())\n}\n```", + "id": 3990, "inner": { "function": { "generics": { @@ -360959,7 +379819,7 @@ } }, "links": { - "crate::fs::File": 2413 + "crate::fs::File": 2411 }, "name": "by_ref", "span": { @@ -360975,7 +379835,7 @@ }, "visibility": "default" }, - "3993": { + "3992": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -360984,7 +379844,7 @@ "crate_id": 0, "deprecation": null, "docs": "Transforms this `Read` instance to an [`Iterator`] over its bytes.\n\nThe returned type implements [`Iterator`] where the [`Item`] is\n[Result]<[u8], [io::Error]>.\nThe yielded item is [`Ok`] if a byte was successfully read and [`Err`]\notherwise. EOF is mapped to returning [`None`] from this iterator.\n\nThe default implementation calls `read` for each byte,\nwhich can be very inefficient for data that's not in memory,\nsuch as [`File`]. Consider using a [`BufReader`] in such cases.\n\n# Examples\n\n[`File`]s implement `Read`:\n\n[`Item`]: Iterator::Item\n[`File`]: crate::fs::File \"fs::File\"\n[Result]: crate::result::Result \"Result\"\n[io::Error]: self::Error \"io::Error\"\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = BufReader::new(File::open(\"foo.txt\")?);\n\n for byte in f.bytes() {\n println!(\"{}\", byte?);\n }\n Ok(())\n}\n```", - "id": 3993, + "id": 3992, "inner": { "function": { "generics": { @@ -361044,7 +379904,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } } @@ -361052,16 +379912,16 @@ } }, "links": { - "Iterator::Item": 3992, - "`BufReader`": 2409, + "Iterator::Item": 3991, + "`BufReader`": 2407, "`Err`": 59, "`Iterator`": 49, "`None`": 53, "`Ok`": 61, - "crate::fs::File": 2413, + "crate::fs::File": 2411, "crate::result::Result": 57, "self::Error": 2570, - "u8": 2398 + "u8": 2396 }, "name": "bytes", "span": { @@ -361077,7 +379937,7 @@ }, "visibility": "default" }, - "3994": { + "3993": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -361086,7 +379946,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over `u8` values of a reader.\n\nThis struct is generally created by calling [`bytes`] on a reader.\nPlease see the documentation of [`bytes`] for more details.\n\n[`bytes`]: Read::bytes", - "id": 3994, + "id": 3993, "inner": { "struct": { "generics": { @@ -361105,6 +379965,7 @@ "where_predicates": [] }, "impls": [ + 4357, 4358, 4359, 4360, @@ -361118,9 +379979,8 @@ 4368, 4369, 4370, - 4371, - 4373, - 4377 + 4372, + 4376 ], "kind": { "plain": { @@ -361131,7 +379991,7 @@ } }, "links": { - "Read::bytes": 3993 + "Read::bytes": 3992 }, "name": "Bytes", "span": { @@ -361147,7 +380007,7 @@ }, "visibility": "public" }, - "3995": { + "3994": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -361156,7 +380016,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an adapter which will chain this stream with another.\n\nThe returned `Read` instance will first read all bytes from this object\nuntil EOF is encountered. Afterwards the output is equivalent to the\noutput of `next`.\n\n# Examples\n\n[`File`]s implement `Read`:\n\n[`File`]: crate::fs::File\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f1 = File::open(\"foo.txt\")?;\n let f2 = File::open(\"bar.txt\")?;\n\n let mut handle = f1.chain(f2);\n let mut buffer = String::new();\n\n // read the value into a String. We could use any Read method here,\n // this is just one example.\n handle.read_to_string(&mut buffer)?;\n Ok(())\n}\n```", - "id": 3995, + "id": 3994, "inner": { "function": { "generics": { @@ -361171,7 +380031,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -361250,7 +380110,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } } @@ -361258,7 +380118,7 @@ } }, "links": { - "crate::fs::File": 2413 + "crate::fs::File": 2411 }, "name": "chain", "span": { @@ -361274,7 +380134,7 @@ }, "visibility": "default" }, - "3996": { + "3995": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -361283,7 +380143,7 @@ "crate_id": 0, "deprecation": null, "docs": "Adapter to chain together two readers.\n\nThis struct is generally created by calling [`chain`] on a reader.\nPlease see the documentation of [`chain`] for more details.\n\n[`chain`]: Read::chain", - "id": 3996, + "id": 3995, "inner": { "struct": { "generics": { @@ -361312,6 +380172,7 @@ "where_predicates": [] }, "impls": [ + 4315, 4316, 4317, 4318, @@ -361325,10 +380186,9 @@ 4326, 4327, 4328, - 4329, - 4331, - 4047, - 4306 + 4330, + 4046, + 4305 ], "kind": { "plain": { @@ -361339,7 +380199,7 @@ } }, "links": { - "Read::chain": 3995 + "Read::chain": 3994 }, "name": "Chain", "span": { @@ -361355,7 +380215,7 @@ }, "visibility": "public" }, - "3997": { + "3996": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -361364,7 +380224,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an adapter which will read at most `limit` bytes from it.\n\nThis function returns a new instance of `Read` which will read at most\n`limit` bytes, after which it will always return EOF ([`Ok(0)`]). Any\nread errors will not count towards the number of bytes read and future\ncalls to [`read()`] may succeed.\n\n# Examples\n\n[`File`]s implement `Read`:\n\n[`File`]: crate::fs::File\n[`Ok(0)`]: Ok\n[`read()`]: Read::read\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n let mut buffer = [0; 5];\n\n // read at most five bytes\n let mut handle = f.take(5);\n\n handle.read(&mut buffer)?;\n Ok(())\n}\n```", - "id": 3997, + "id": 3996, "inner": { "function": { "generics": { @@ -361430,7 +380290,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } } @@ -361439,8 +380299,8 @@ }, "links": { "Ok": 61, - "Read::read": 2435, - "crate::fs::File": 2413 + "Read::read": 2433, + "crate::fs::File": 2411 }, "name": "take", "span": { @@ -361456,7 +380316,7 @@ }, "visibility": "default" }, - "3998": { + "3997": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -361465,7 +380325,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reader adapter which limits the bytes read from an underlying reader.\n\nThis struct is generally created by calling [`take`] on a reader.\nPlease see the documentation of [`take`] for more details.\n\n[`take`]: Read::take", - "id": 3998, + "id": 3997, "inner": { "struct": { "generics": { @@ -361484,6 +380344,7 @@ "where_predicates": [] }, "impls": [ + 4340, 4341, 4342, 4343, @@ -361497,11 +380358,10 @@ 4351, 4352, 4353, - 4354, - 4356, - 4050, - 4309, - 4250 + 4355, + 4049, + 4308, + 4249 ], "kind": { "plain": { @@ -361512,7 +380372,7 @@ } }, "links": { - "Read::take": 3997 + "Read::take": 3996 }, "name": "Take", "span": { @@ -361528,7 +380388,7 @@ }, "visibility": "public" }, - "3999": { + "3998": { "attrs": [ { "other": "#[rustc_doc_primitive = \"slice\"]" @@ -361549,31 +380409,31 @@ "crate_id": 0, "deprecation": null, "docs": "A dynamically-sized view into a contiguous sequence, `[T]`.\n\nContiguous here means that elements are laid out so that every element is the same\ndistance from its neighbors.\n\n*[See also the `std::slice` module](crate::slice).*\n\nSlices are a view into a block of memory represented as a pointer and a\nlength.\n\n```\n// slicing a Vec\nlet vec = vec![1, 2, 3];\nlet int_slice = &vec[..];\n// coercing an array to a slice\nlet str_slice: &[&str] = &[\"one\", \"two\", \"three\"];\n```\n\nSlices are either mutable or shared. The shared slice type is `&[T]`,\nwhile the mutable slice type is `&mut [T]`, where `T` represents the element\ntype. For example, you can mutate the block of memory that a mutable slice\npoints to:\n\n```\nlet mut x = [1, 2, 3];\nlet x = &mut x[..]; // Take a full slice of `x`.\nx[1] = 7;\nassert_eq!(x, &[1, 7, 3]);\n```\n\nIt is possible to slice empty subranges of slices by using empty ranges (including `slice.len()..slice.len()`):\n```\nlet x = [1, 2, 3];\nlet empty = &x[0..0]; // subslice before the first element\nassert_eq!(empty, &[]);\nlet empty = &x[..0]; // same as &x[0..0]\nassert_eq!(empty, &[]);\nlet empty = &x[1..1]; // empty subslice in the middle\nassert_eq!(empty, &[]);\nlet empty = &x[3..3]; // subslice after the last element\nassert_eq!(empty, &[]);\nlet empty = &x[3..]; // same as &x[3..3]\nassert_eq!(empty, &[]);\n```\n\nIt is not allowed to use subranges that start with lower bound bigger than `slice.len()`:\n```should_panic\nlet x = vec![1, 2, 3];\nlet _ = &x[4..4];\n```\n\nAs slices store the length of the sequence they refer to, they have twice\nthe size of pointers to [`Sized`](marker/trait.Sized.html) types.\nAlso see the reference on\n[dynamically sized types](../reference/dynamically-sized-types.html).\n\n```\n# use std::rc::Rc;\nlet pointer_size = size_of::<&u8>();\nassert_eq!(2 * pointer_size, size_of::<&[u8]>());\nassert_eq!(2 * pointer_size, size_of::<*const [u8]>());\nassert_eq!(2 * pointer_size, size_of::>());\nassert_eq!(2 * pointer_size, size_of::>());\n```\n\n## Trait Implementations\n\nSome traits are implemented for slices if the element type implements\nthat trait. This includes [`Eq`], [`Hash`] and [`Ord`].\n\n## Iteration\n\nThe slices implement `IntoIterator`. The iterator yields references to the\nslice elements.\n\n```\nlet numbers: &[i32] = &[0, 1, 2];\nfor n in numbers {\n println!(\"{n} is a number!\");\n}\n```\n\nThe mutable slice yields mutable references to the elements:\n\n```\nlet mut scores: &mut [i32] = &mut [7, 8, 9];\nfor score in scores {\n *score += 1;\n}\n```\n\nThis iterator yields mutable references to the slice's elements, so while\nthe element type of the slice is `i32`, the element type of the iterator is\n`&mut i32`.\n\n* [`.iter`] and [`.iter_mut`] are the explicit methods to return the default\n iterators.\n* Further methods that return iterators are [`.split`], [`.splitn`],\n [`.chunks`], [`.windows`] and more.\n\n[`Hash`]: core::hash::Hash\n[`.iter`]: slice::iter\n[`.iter_mut`]: slice::iter_mut\n[`.split`]: slice::split\n[`.splitn`]: slice::splitn\n[`.chunks`]: slice::chunks\n[`.windows`]: slice::windows", - "id": 3999, + "id": 3998, "inner": { "primitive": { "impls": [ 647, - 2232, - 4033, - 4299, - 4175, - 4472 + 2230, + 4032, + 4298, + 4174, + 4473 ], "name": "slice" } }, "links": { - "`Eq`": 113, - "`Ord`": 119, + "`Eq`": 111, + "`Ord`": 117, "core::hash::Hash": 539, - "crate::slice": 205, - "slice::chunks": 9158, - "slice::iter": 9153, - "slice::iter_mut": 9155, - "slice::split": 9156, - "slice::splitn": 9157, - "slice::windows": 9159 + "crate::slice": 203, + "slice::chunks": 9380, + "slice::iter": 9375, + "slice::iter_mut": 9377, + "slice::split": 9378, + "slice::splitn": 9379, + "slice::windows": 9381 }, "name": "slice", "span": { @@ -361589,6 +380449,91 @@ }, "visibility": "public" }, + "3999": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 3999, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "read", + "span": { + "begin": [ + 1508, + 5 + ], + "end": [ + 1510, + 6 + ], + "filename": "std/src/fs.rs" + }, + "visibility": "default" + }, "4": { "attrs": [ { @@ -361726,91 +380671,6 @@ "deprecation": null, "docs": null, "id": 4000, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "buf", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "read", - "span": { - "begin": [ - 1427, - 5 - ], - "end": [ - 1429, - 6 - ], - "filename": "std/src/fs.rs" - }, - "visibility": "default" - }, - "4001": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4001, "inner": { "function": { "generics": { @@ -361857,7 +380717,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -361881,7 +380741,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -361892,23 +380752,23 @@ "name": "read_vectored", "span": { "begin": [ - 1430, + 1511, 5 ], "end": [ - 1432, + 1513, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4002": { + "4001": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4002, + "id": 4001, "inner": { "function": { "generics": { @@ -361950,7 +380810,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -361971,7 +380831,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -361982,18 +380842,18 @@ "name": "read_buf", "span": { "begin": [ - 1433, + 1514, 5 ], "end": [ - 1435, + 1516, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4003": { + "4002": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -362002,7 +380862,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4003, + "id": 4002, "inner": { "function": { "generics": { @@ -362042,23 +380902,23 @@ "name": "is_read_vectored", "span": { "begin": [ - 1437, + 1518, 5 ], "end": [ - 1439, + 1520, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4004": { + "4003": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4004, + "id": 4003, "inner": { "function": { "generics": { @@ -362106,7 +380966,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -362129,7 +380989,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -362140,23 +381000,23 @@ "name": "read_to_end", "span": { "begin": [ - 1440, + 1521, 5 ], "end": [ - 1442, + 1523, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4005": { + "4004": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4005, + "id": 4004, "inner": { "function": { "generics": { @@ -362193,7 +381053,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -362216,7 +381076,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -362227,18 +381087,18 @@ "name": "read_to_string", "span": { "begin": [ - 1443, + 1524, 5 ], "end": [ - 1445, + 1526, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4006": { + "4005": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"io_traits_arc\"}}]" @@ -362247,7 +381107,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4006, + "id": 4005, "inner": { "impl": { "blanket_impl": null, @@ -362260,7 +381120,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -362281,12 +381141,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 3999, 4000, 4001, 4002, 4003, - 4004, - 4005 + 4004 ], "provided_trait_methods": [ "read_vectored", @@ -362303,7 +381163,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -362312,18 +381172,18 @@ "name": null, "span": { "begin": [ - 1426, + 1507, 1 ], "end": [ - 1446, + 1527, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4007": { + "4006": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -362332,7 +381192,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4007, + "id": 4006, "inner": { "function": { "generics": { @@ -362390,7 +381250,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -362412,7 +381272,7 @@ }, "visibility": "default" }, - "4008": { + "4007": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -362421,7 +381281,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4008, + "id": 4007, "inner": { "function": { "generics": { @@ -362463,7 +381323,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -362484,7 +381344,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -362506,7 +381366,7 @@ }, "visibility": "default" }, - "4009": { + "4008": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -362515,7 +381375,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4009, + "id": 4008, "inner": { "function": { "generics": { @@ -362562,7 +381422,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -362586,7 +381446,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -362608,6 +381468,66 @@ }, "visibility": "default" }, + "4009": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4009, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_read_vectored", + "span": { + "begin": [ + 30, + 5 + ], + "end": [ + 32, + 6 + ], + "filename": "std/src/io/impls.rs" + }, + "visibility": "default" + }, "401": { "attrs": [], "crate_id": 0, @@ -362657,7 +381577,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -362677,66 +381597,6 @@ "deprecation": null, "docs": null, "id": 4010, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_read_vectored", - "span": { - "begin": [ - 30, - 5 - ], - "end": [ - 32, - 6 - ], - "filename": "std/src/io/impls.rs" - }, - "visibility": "default" - }, - "4011": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4011, "inner": { "function": { "generics": { @@ -362784,7 +381644,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -362807,7 +381667,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -362829,7 +381689,7 @@ }, "visibility": "default" }, - "4012": { + "4011": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -362838,7 +381698,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4012, + "id": 4011, "inner": { "function": { "generics": { @@ -362875,7 +381735,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -362898,7 +381758,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -362920,7 +381780,7 @@ }, "visibility": "default" }, - "4013": { + "4012": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -362929,7 +381789,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4013, + "id": 4012, "inner": { "function": { "generics": { @@ -362987,7 +381847,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -363009,7 +381869,7 @@ }, "visibility": "default" }, - "4014": { + "4013": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -363018,7 +381878,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4014, + "id": 4013, "inner": { "function": { "generics": { @@ -363060,7 +381920,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -363081,7 +381941,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -363103,7 +381963,7 @@ }, "visibility": "default" }, - "4015": { + "4014": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -363112,7 +381972,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4015, + "id": 4014, "inner": { "impl": { "blanket_impl": null, @@ -363137,7 +381997,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -363167,14 +382027,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4006, 4007, 4008, 4009, 4010, 4011, 4012, - 4013, - 4014 + 4013 ], "provided_trait_methods": [ "read_vectored", @@ -363191,7 +382051,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -363211,7 +382071,7 @@ }, "visibility": "default" }, - "4016": { + "4015": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -363220,7 +382080,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4016, + "id": 4015, "inner": { "function": { "generics": { @@ -363278,7 +382138,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -363300,7 +382160,7 @@ }, "visibility": "default" }, - "4017": { + "4016": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -363309,7 +382169,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4017, + "id": 4016, "inner": { "function": { "generics": { @@ -363351,7 +382211,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -363372,7 +382232,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -363394,7 +382254,7 @@ }, "visibility": "default" }, - "4018": { + "4017": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -363403,7 +382263,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4018, + "id": 4017, "inner": { "function": { "generics": { @@ -363450,7 +382310,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -363474,7 +382334,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -363496,7 +382356,7 @@ }, "visibility": "default" }, - "4019": { + "4018": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -363505,7 +382365,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4019, + "id": 4018, "inner": { "function": { "generics": { @@ -363556,66 +382416,7 @@ }, "visibility": "default" }, - "402": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 402, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 383, - "path": "LocalKey" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4020": { + "4019": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -363624,7 +382425,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4020, + "id": 4019, "inner": { "function": { "generics": { @@ -363672,7 +382473,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -363695,7 +382496,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -363717,7 +382518,66 @@ }, "visibility": "default" }, - "4021": { + "402": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 402, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 383, + "path": "LocalKey" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4020": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -363726,7 +382586,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4021, + "id": 4020, "inner": { "function": { "generics": { @@ -363763,7 +382623,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -363786,7 +382646,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -363808,7 +382668,7 @@ }, "visibility": "default" }, - "4022": { + "4021": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -363817,7 +382677,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4022, + "id": 4021, "inner": { "function": { "generics": { @@ -363875,7 +382735,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -363897,7 +382757,7 @@ }, "visibility": "default" }, - "4023": { + "4022": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -363906,7 +382766,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4023, + "id": 4022, "inner": { "function": { "generics": { @@ -363948,7 +382808,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -363969,7 +382829,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -363991,7 +382851,7 @@ }, "visibility": "default" }, - "4024": { + "4023": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -364000,7 +382860,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4024, + "id": 4023, "inner": { "impl": { "blanket_impl": null, @@ -364018,7 +382878,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -364034,7 +382894,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -364064,14 +382924,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4015, 4016, 4017, 4018, 4019, 4020, 4021, - 4022, - 4023 + 4022 ], "provided_trait_methods": [ "read_vectored", @@ -364088,7 +382948,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -364108,7 +382968,7 @@ }, "visibility": "default" }, - "4025": { + "4024": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -364117,7 +382977,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4025, + "id": 4024, "inner": { "function": { "generics": { @@ -364175,7 +383035,203 @@ "constraints": [] } }, - "id": 468, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "read", + "span": { + "begin": [ + 300, + 5 + ], + "end": [ + 315, + 6 + ], + "filename": "std/src/io/impls.rs" + }, + "visibility": "default" + }, + "4025": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4025, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "cursor", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2468, + "path": "BorrowedCursor" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "read_buf", + "span": { + "begin": [ + 318, + 5 + ], + "end": [ + 326, + 6 + ], + "filename": "std/src/io/impls.rs" + }, + "visibility": "default" + }, + "4026": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4026, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "bufs", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2466, + "path": "IoSliceMut" + } + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, "path": "io::Result" } } @@ -364183,21 +383239,21 @@ } }, "links": {}, - "name": "read", + "name": "read_vectored", "span": { "begin": [ - 300, + 329, 5 ], "end": [ - 315, + 339, 6 ], "filename": "std/src/io/impls.rs" }, "visibility": "default" }, - "4026": { + "4027": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -364206,7 +383262,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4026, + "id": 4027, "inner": { "function": { "generics": { @@ -364226,72 +383282,38 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } - ], - [ - "cursor", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2470, - "path": "BorrowedCursor" - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } + "primitive": "bool" } } } }, "links": {}, - "name": "read_buf", + "name": "is_read_vectored", "span": { "begin": [ - 318, + 342, 5 ], "end": [ - 326, + 344, 6 ], "filename": "std/src/io/impls.rs" }, "visibility": "default" }, - "4027": { + "4028": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -364300,7 +383322,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4027, + "id": 4028, "inner": { "function": { "generics": { @@ -364329,27 +383351,14 @@ } ], [ - "bufs", + "buf", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { "slice": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2468, - "path": "IoSliceMut" - } + "primitive": "u8" } } } @@ -364364,14 +383373,14 @@ "args": [ { "type": { - "primitive": "usize" + "tuple": [] } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -364379,74 +383388,14 @@ } }, "links": {}, - "name": "read_vectored", - "span": { - "begin": [ - 329, - 5 - ], - "end": [ - 339, - 6 - ], - "filename": "std/src/io/impls.rs" - }, - "visibility": "default" - }, - "4028": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4028, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_read_vectored", + "name": "read_exact", "span": { "begin": [ - 342, + 347, 5 ], "end": [ - 344, + 367, 6 ], "filename": "std/src/io/impls.rs" @@ -364491,16 +383440,21 @@ } ], [ - "buf", + "cursor", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - } + }, + "id": 2468, + "path": "BorrowedCursor" } } ] @@ -364520,7 +383474,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -364528,14 +383482,14 @@ } }, "links": {}, - "name": "read_exact", + "name": "read_buf_exact", "span": { "begin": [ - 347, + 370, 5 ], "end": [ - 367, + 383, 6 ], "filename": "std/src/io/impls.rs" @@ -364591,7 +383545,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -364611,100 +383565,6 @@ "deprecation": null, "docs": null, "id": 4030, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "cursor", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2470, - "path": "BorrowedCursor" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "read_buf_exact", - "span": { - "begin": [ - 370, - 5 - ], - "end": [ - 383, - 6 - ], - "filename": "std/src/io/impls.rs" - }, - "visibility": "default" - }, - "4031": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4031, "inner": { "function": { "generics": { @@ -364752,7 +383612,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -364775,7 +383635,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -364797,7 +383657,7 @@ }, "visibility": "default" }, - "4032": { + "4031": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -364806,7 +383666,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4032, + "id": 4031, "inner": { "function": { "generics": { @@ -364843,7 +383703,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -364866,7 +383726,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -364888,7 +383748,7 @@ }, "visibility": "default" }, - "4033": { + "4032": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -364897,7 +383757,7 @@ "crate_id": 0, "deprecation": null, "docs": "Read is implemented for `&[u8]` by copying from the slice.\n\nNote that reading updates the slice to point to the yet unread part.\nThe slice will be empty when EOF is reached.", - "id": 4033, + "id": 4032, "inner": { "impl": { "blanket_impl": null, @@ -364920,14 +383780,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4024, 4025, 4026, 4027, 4028, 4029, 4030, - 4031, - 4032 + 4031 ], "provided_trait_methods": [ "read_vectored", @@ -364944,7 +383804,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -364964,7 +383824,7 @@ }, "visibility": "default" }, - "4035": { + "4034": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -364973,7 +383833,7 @@ "crate_id": 0, "deprecation": null, "docs": "Fill `buf` with the contents of the \"front\" slice as returned by\n[`as_slices`][`VecDeque::as_slices`]. If the contained byte slices of the `VecDeque` are\ndiscontiguous, multiple calls to `read` will be needed to read the entire content.", - "id": 4035, + "id": 4034, "inner": { "function": { "generics": { @@ -365031,7 +383891,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -365039,7 +383899,7 @@ } }, "links": { - "`VecDeque::as_slices`": 4034 + "`VecDeque::as_slices`": 4033 }, "name": "read", "span": { @@ -365055,7 +383915,7 @@ }, "visibility": "default" }, - "4036": { + "4035": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -365064,7 +383924,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4036, + "id": 4035, "inner": { "function": { "generics": { @@ -365122,7 +383982,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -365144,7 +384004,7 @@ }, "visibility": "default" }, - "4037": { + "4036": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -365153,7 +384013,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4037, + "id": 4036, "inner": { "function": { "generics": { @@ -365195,7 +384055,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -365216,7 +384076,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -365238,7 +384098,7 @@ }, "visibility": "default" }, - "4038": { + "4037": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -365247,7 +384107,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4038, + "id": 4037, "inner": { "function": { "generics": { @@ -365289,7 +384149,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -365310,7 +384170,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -365332,7 +384192,7 @@ }, "visibility": "default" }, - "4039": { + "4038": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -365341,7 +384201,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4039, + "id": 4038, "inner": { "function": { "generics": { @@ -365389,7 +384249,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -365412,7 +384272,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -365434,66 +384294,7 @@ }, "visibility": "default" }, - "404": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 404, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 383, - "path": "LocalKey" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4040": { + "4039": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -365502,7 +384303,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4040, + "id": 4039, "inner": { "function": { "generics": { @@ -365539,7 +384340,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -365562,7 +384363,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -365584,7 +384385,66 @@ }, "visibility": "default" }, - "4041": { + "404": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 404, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 383, + "path": "LocalKey" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4040": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"vecdeque_read_write\"}}]" @@ -365593,7 +384453,7 @@ "crate_id": 0, "deprecation": null, "docs": "Read is implemented for `VecDeque` by consuming bytes from the front of the `VecDeque`.", - "id": 4041, + "id": 4040, "inner": { "impl": { "blanket_impl": null, @@ -365616,7 +384476,7 @@ "constraints": [] } }, - "id": 1640, + "id": 1639, "path": "crate::collections::VecDeque" } }, @@ -365651,12 +384511,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4034, 4035, 4036, 4037, 4038, - 4039, - 4040 + 4039 ], "provided_trait_methods": [ "read_vectored", @@ -365673,7 +384533,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -365693,12 +384553,12 @@ }, "visibility": "default" }, - "4042": { + "4041": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4042, + "id": 4041, "inner": { "function": { "generics": { @@ -365756,7 +384616,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -365778,12 +384638,12 @@ }, "visibility": "default" }, - "4043": { + "4042": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4043, + "id": 4042, "inner": { "function": { "generics": { @@ -365830,7 +384690,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -365854,7 +384714,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -365876,7 +384736,7 @@ }, "visibility": "default" }, - "4044": { + "4043": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -365885,7 +384745,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4044, + "id": 4043, "inner": { "function": { "generics": { @@ -365936,12 +384796,12 @@ }, "visibility": "default" }, - "4045": { + "4044": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4045, + "id": 4044, "inner": { "function": { "generics": { @@ -365989,7 +384849,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -366012,7 +384872,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -366034,12 +384894,12 @@ }, "visibility": "default" }, - "4046": { + "4045": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4046, + "id": 4045, "inner": { "function": { "generics": { @@ -366081,7 +384941,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -366102,7 +384962,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -366124,7 +384984,7 @@ }, "visibility": "default" }, - "4047": { + "4046": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -366133,7 +384993,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4047, + "id": 4046, "inner": { "impl": { "blanket_impl": null, @@ -366156,7 +385016,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -366172,7 +385032,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -366194,7 +385054,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -366213,11 +385073,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4041, 4042, 4043, 4044, - 4045, - 4046 + 4045 ], "provided_trait_methods": [ "read_vectored", @@ -366234,7 +385094,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -366254,12 +385114,12 @@ }, "visibility": "default" }, - "4048": { + "4047": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4048, + "id": 4047, "inner": { "function": { "generics": { @@ -366317,7 +385177,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -366339,12 +385199,12 @@ }, "visibility": "default" }, - "4049": { + "4048": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4049, + "id": 4048, "inner": { "function": { "generics": { @@ -366386,7 +385246,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -366407,7 +385267,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -366429,6 +385289,106 @@ }, "visibility": "default" }, + "4049": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4049, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 3997, + "path": "Take" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 2474, + "path": "Read" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 4047, + 4048 + ], + "provided_trait_methods": [ + "read_vectored", + "is_read_vectored", + "read_to_end", + "read_to_string", + "read_exact", + "read_buf", + "read_buf_exact", + "by_ref", + "bytes", + "chain", + "take" + ], + "trait": { + "args": null, + "id": 2474, + "path": "Read" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 3037, + 1 + ], + "end": [ + 3098, + 2 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "default" + }, "405": { "attrs": [], "crate_id": 0, @@ -366499,7 +385459,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -366515,7 +385475,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -366524,123 +385484,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, "4050": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4050, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 3998, - "path": "Take" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 2476, - "path": "Read" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 4048, - 4049 - ], - "provided_trait_methods": [ - "read_vectored", - "is_read_vectored", - "read_to_end", - "read_to_string", - "read_exact", - "read_buf", - "read_buf_exact", - "by_ref", - "bytes", - "chain", - "take" - ], - "trait": { - "args": null, - "id": 2476, - "path": "Read" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 3037, - 1 - ], - "end": [ - 3098, - 2 - ], - "filename": "std/src/io/mod.rs" - }, - "visibility": "default" - }, - "4051": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4051, + "id": 4050, "inner": { "function": { "generics": { @@ -366682,7 +385542,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -366703,7 +385563,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -366725,12 +385585,12 @@ }, "visibility": "default" }, - "4052": { + "4051": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4052, + "id": 4051, "inner": { "function": { "generics": { @@ -366777,7 +385637,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -366801,7 +385661,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -366823,7 +385683,7 @@ }, "visibility": "default" }, - "4053": { + "4052": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -366832,7 +385692,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4053, + "id": 4052, "inner": { "function": { "generics": { @@ -366883,7 +385743,7 @@ }, "visibility": "default" }, - "4054": { + "4053": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -366892,14 +385752,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4054, + "id": 4053, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -366911,10 +385771,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 3046, + 3048, + 4050, 4051, - 4052, - 4053 + 4052 ], "provided_trait_methods": [ "read_vectored", @@ -366931,7 +385791,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -366951,12 +385811,12 @@ }, "visibility": "default" }, - "4055": { + "4054": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4055, + "id": 4054, "inner": { "function": { "generics": { @@ -367014,7 +385874,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -367036,12 +385896,12 @@ }, "visibility": "default" }, - "4056": { + "4055": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4056, + "id": 4055, "inner": { "function": { "generics": { @@ -367083,7 +385943,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -367104,7 +385964,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -367126,12 +385986,12 @@ }, "visibility": "default" }, - "4057": { + "4056": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4057, + "id": 4056, "inner": { "function": { "generics": { @@ -367178,7 +386038,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -367202,7 +386062,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -367224,7 +386084,7 @@ }, "visibility": "default" }, - "4058": { + "4057": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -367233,7 +386093,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4058, + "id": 4057, "inner": { "function": { "generics": { @@ -367284,7 +386144,7 @@ }, "visibility": "default" }, - "4059": { + "4058": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -367293,7 +386153,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4059, + "id": 4058, "inner": { "impl": { "blanket_impl": null, @@ -367304,7 +386164,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -367318,10 +386178,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4054, 4055, 4056, - 4057, - 4058 + 4057 ], "provided_trait_methods": [ "read_vectored", @@ -367338,7 +386198,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -367358,6 +386218,91 @@ }, "visibility": "default" }, + "4059": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4059, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "read", + "span": { + "begin": [ + 610, + 5 + ], + "end": [ + 612, + 6 + ], + "filename": "std/src/os/unix/net/stream.rs" + }, + "visibility": "default" + }, "406": { "attrs": [], "crate_id": 0, @@ -367428,7 +386373,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -367444,7 +386389,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -367453,12 +386398,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -367470,91 +386415,6 @@ "deprecation": null, "docs": null, "id": 4060, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "buf", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "read", - "span": { - "begin": [ - 598, - 5 - ], - "end": [ - 600, - 6 - ], - "filename": "std/src/os/unix/net/stream.rs" - }, - "visibility": "default" - }, - "4061": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4061, "inner": { "function": { "generics": { @@ -367596,7 +386456,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "io::BorrowedCursor" } } @@ -367617,7 +386477,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -367628,23 +386488,23 @@ "name": "read_buf", "span": { "begin": [ - 602, + 614, 5 ], "end": [ - 604, + 616, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4062": { + "4061": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4062, + "id": 4061, "inner": { "function": { "generics": { @@ -367691,7 +386551,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -367715,7 +386575,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -367726,18 +386586,18 @@ "name": "read_vectored", "span": { "begin": [ - 606, + 618, 5 ], "end": [ - 608, + 620, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4063": { + "4062": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -367746,7 +386606,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4063, + "id": 4062, "inner": { "function": { "generics": { @@ -367786,18 +386646,18 @@ "name": "is_read_vectored", "span": { "begin": [ - 611, + 623, 5 ], "end": [ - 613, + 625, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4064": { + "4063": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -367809,14 +386669,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4064, + "id": 4063, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -367828,10 +386688,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4059, 4060, 4061, - 4062, - 4063 + 4062 ], "provided_trait_methods": [ "read_vectored", @@ -367848,7 +386708,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -367857,18 +386717,18 @@ "name": null, "span": { "begin": [ - 597, + 609, 1 ], "end": [ - 614, + 626, 2 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4065": { + "4064": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -367877,7 +386737,7 @@ "crate_id": 0, "deprecation": null, "docs": "A Unix stream socket.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\nuse std::io::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let mut stream = UnixStream::connect(\"/path/to/my/socket\")?;\n stream.write_all(b\"hello world\")?;\n let mut response = String::new();\n stream.read_to_string(&mut response)?;\n println!(\"{response}\");\n Ok(())\n}\n```\n\n# `SIGPIPE`\n\nWrites to the underlying socket in `SOCK_STREAM` mode are made with `MSG_NOSIGNAL` flag.\nThis suppresses the emission of the `SIGPIPE` signal when writing to disconnected socket.\nIn some cases getting a `SIGPIPE` would trigger process termination.", - "id": 4065, + "id": 4064, "inner": { "struct": { "generics": { @@ -367885,11 +386745,6 @@ "where_predicates": [] }, "impls": [ - 5266, - 5267, - 5268, - 5269, - 5270, 5271, 5272, 5273, @@ -367899,18 +386754,23 @@ 5277, 5278, 5279, + 5280, 5281, - 4064, - 4070, - 4210, - 4215, + 5282, 5283, - 5285, - 5287, - 5289, - 5291, - 5293, - 5296 + 5284, + 5286, + 4063, + 4069, + 4209, + 4214, + 5288, + 5290, + 5292, + 5294, + 5296, + 5298, + 5301 ], "kind": { "tuple": [ @@ -367934,12 +386794,12 @@ }, "visibility": "public" }, - "4066": { + "4065": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4066, + "id": 4065, "inner": { "function": { "generics": { @@ -367997,7 +386857,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -368008,23 +386868,23 @@ "name": "read", "span": { "begin": [ - 618, + 630, 5 ], "end": [ - 620, + 632, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4067": { + "4066": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4067, + "id": 4066, "inner": { "function": { "generics": { @@ -368066,7 +386926,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "io::BorrowedCursor" } } @@ -368087,7 +386947,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -368098,23 +386958,23 @@ "name": "read_buf", "span": { "begin": [ - 622, + 634, 5 ], "end": [ - 624, + 636, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4068": { + "4067": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4068, + "id": 4067, "inner": { "function": { "generics": { @@ -368161,7 +387021,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -368185,7 +387045,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -368196,18 +387056,18 @@ "name": "read_vectored", "span": { "begin": [ - 626, + 638, 5 ], "end": [ - 628, + 640, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4069": { + "4068": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -368216,7 +387076,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4069, + "id": 4068, "inner": { "function": { "generics": { @@ -368256,17 +387116,103 @@ "name": "is_read_vectored", "span": { "begin": [ - 631, + 643, 5 ], "end": [ - 633, + 645, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, + "4069": { + "attrs": [ + { + "other": "#[doc(cfg(unix))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4069, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "resolved_path": { + "args": null, + "id": 4064, + "path": "UnixStream" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 4065, + 4066, + 4067, + 4068 + ], + "provided_trait_methods": [ + "read_vectored", + "is_read_vectored", + "read_to_end", + "read_to_string", + "read_exact", + "read_buf", + "read_buf_exact", + "by_ref", + "bytes", + "chain", + "take" + ], + "trait": { + "args": null, + "id": 2474, + "path": "Read" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 629, + 1 + ], + "end": [ + 646, + 2 + ], + "filename": "std/src/os/unix/net/stream.rs" + }, + "visibility": "default" + }, "407": { "attrs": [], "crate_id": 0, @@ -368358,7 +387304,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -368383,11 +387329,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -368395,97 +387341,11 @@ "visibility": "default" }, "4070": { - "attrs": [ - { - "other": "#[doc(cfg(unix))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4070, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "resolved_path": { - "args": null, - "id": 4065, - "path": "UnixStream" - } - } - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 4066, - 4067, - 4068, - 4069 - ], - "provided_trait_methods": [ - "read_vectored", - "is_read_vectored", - "read_to_end", - "read_to_string", - "read_exact", - "read_buf", - "read_buf_exact", - "by_ref", - "bytes", - "chain", - "take" - ], - "trait": { - "args": null, - "id": 2476, - "path": "Read" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 617, - 1 - ], - "end": [ - 634, - 2 - ], - "filename": "std/src/os/unix/net/stream.rs" - }, - "visibility": "default" - }, - "4071": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4071, + "id": 4070, "inner": { "function": { "generics": { @@ -368543,7 +387403,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -368554,23 +387414,23 @@ "name": "read", "span": { "begin": [ - 408, + 417, 5 ], "end": [ - 410, + 419, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4072": { + "4071": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4072, + "id": 4071, "inner": { "function": { "generics": { @@ -368612,7 +387472,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -368633,7 +387493,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -368644,23 +387504,23 @@ "name": "read_buf", "span": { "begin": [ - 412, + 421, 5 ], "end": [ - 414, + 423, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4073": { + "4072": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4073, + "id": 4072, "inner": { "function": { "generics": { @@ -368707,7 +387567,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -368731,7 +387591,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -368742,18 +387602,18 @@ "name": "read_vectored", "span": { "begin": [ - 416, + 425, 5 ], "end": [ - 418, + 427, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4074": { + "4073": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -368762,7 +387622,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4074, + "id": 4073, "inner": { "function": { "generics": { @@ -368802,23 +387662,23 @@ "name": "is_read_vectored", "span": { "begin": [ - 421, + 430, 5 ], "end": [ - 423, + 432, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4075": { + "4074": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4075, + "id": 4074, "inner": { "function": { "generics": { @@ -368866,7 +387726,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -368889,7 +387749,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -368900,18 +387760,18 @@ "name": "read_to_end", "span": { "begin": [ - 425, + 434, 5 ], "end": [ - 427, + 436, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4076": { + "4075": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -368920,14 +387780,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4076, + "id": 4075, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -368939,11 +387799,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4070, 4071, 4072, 4073, - 4074, - 4075 + 4074 ], "provided_trait_methods": [ "read_vectored", @@ -368960,7 +387820,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -368969,18 +387829,18 @@ "name": null, "span": { "begin": [ - 407, + 416, 1 ], "end": [ - 428, + 437, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4077": { + "4076": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -368989,7 +387849,7 @@ "crate_id": 0, "deprecation": null, "docs": "A handle to a child process's standard output (stdout).\n\nThis struct is used in the [`stdout`] field on [`Child`].\n\nWhen an instance of `ChildStdout` is [dropped], the `ChildStdout`'s\nunderlying file handle will be closed.\n\n[`stdout`]: Child::stdout\n[dropped]: Drop", - "id": 4077, + "id": 4076, "inner": { "struct": { "generics": { @@ -368997,32 +387857,32 @@ "where_predicates": [] }, "impls": [ - 6889, - 6890, - 6891, - 6892, - 6893, - 6894, - 6895, - 6896, - 6897, - 6898, - 6899, - 6900, - 6901, - 6063, - 6092, - 6166, - 6150, - 6152, - 5843, - 5716, - 5858, - 5869, - 5726, - 4076, - 6903, - 6905 + 6927, + 6928, + 6929, + 6930, + 6931, + 6932, + 6933, + 6934, + 6935, + 6936, + 6937, + 6938, + 6939, + 6096, + 6125, + 6199, + 6183, + 6185, + 5874, + 5747, + 5889, + 5900, + 5757, + 4075, + 6941, + 6943 ], "kind": { "plain": { @@ -369033,30 +387893,30 @@ } }, "links": { - "Child::stdout": 6849, + "Child::stdout": 6887, "Drop": 9, - "`Child`": 5388 + "`Child`": 5393 }, "name": "ChildStdout", "span": { "begin": [ - 396, + 405, 1 ], "end": [ - 398, + 407, 2 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "4078": { + "4077": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4078, + "id": 4077, "inner": { "function": { "generics": { @@ -369114,7 +387974,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -369125,23 +387985,23 @@ "name": "read", "span": { "begin": [ - 478, + 487, 5 ], "end": [ - 480, + 489, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4079": { + "4078": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4079, + "id": 4078, "inner": { "function": { "generics": { @@ -369183,7 +388043,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "BorrowedCursor" } } @@ -369204,7 +388064,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -369215,107 +388075,23 @@ "name": "read_buf", "span": { "begin": [ - 482, + 491, 5 ], "end": [ - 484, + 493, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "408": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 408, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 383, - "path": "LocalKey" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 791, - 28 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "4080": { + "4079": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4080, + "id": 4079, "inner": { "function": { "generics": { @@ -369362,7 +388138,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -369386,7 +388162,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -369397,18 +388173,102 @@ "name": "read_vectored", "span": { "begin": [ - 486, + 495, 5 ], "end": [ - 488, + 497, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4081": { + "408": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 408, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 383, + "path": "LocalKey" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 785, + 1 + ], + "end": [ + 785, + 28 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "4080": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -369417,7 +388277,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4081, + "id": 4080, "inner": { "function": { "generics": { @@ -369457,23 +388317,23 @@ "name": "is_read_vectored", "span": { "begin": [ - 491, + 500, 5 ], "end": [ - 493, + 502, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4082": { + "4081": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4082, + "id": 4081, "inner": { "function": { "generics": { @@ -369521,7 +388381,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -369544,7 +388404,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -369555,18 +388415,18 @@ "name": "read_to_end", "span": { "begin": [ - 495, + 504, 5 ], "end": [ - 497, + 506, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4083": { + "4082": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -369575,14 +388435,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4083, + "id": 4082, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -369594,11 +388454,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4077, 4078, 4079, 4080, - 4081, - 4082 + 4081 ], "provided_trait_methods": [ "read_vectored", @@ -369615,7 +388475,7 @@ ], "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -369624,18 +388484,18 @@ "name": null, "span": { "begin": [ - 477, + 486, 1 ], "end": [ - 498, + 507, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4084": { + "4083": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -369644,7 +388504,7 @@ "crate_id": 0, "deprecation": null, "docs": "A handle to a child process's stderr.\n\nThis struct is used in the [`stderr`] field on [`Child`].\n\nWhen an instance of `ChildStderr` is [dropped], the `ChildStderr`'s\nunderlying file handle will be closed.\n\n[`stderr`]: Child::stderr\n[dropped]: Drop", - "id": 4084, + "id": 4083, "inner": { "struct": { "generics": { @@ -369652,32 +388512,32 @@ "where_predicates": [] }, "impls": [ - 6907, - 6908, - 6909, - 6910, - 6911, - 6912, - 6913, - 6914, - 6915, - 6916, - 6917, - 6918, - 6919, - 6065, - 6094, - 6168, - 6154, - 6156, - 5845, - 5718, - 5860, - 5871, - 5728, - 4083, - 6921, - 6923 + 6945, + 6946, + 6947, + 6948, + 6949, + 6950, + 6951, + 6952, + 6953, + 6954, + 6955, + 6956, + 6957, + 6098, + 6127, + 6201, + 6187, + 6189, + 5876, + 5749, + 5891, + 5902, + 5759, + 4082, + 6959, + 6961 ], "kind": { "plain": { @@ -369688,25 +388548,25 @@ } }, "links": { - "Child::stderr": 6850, + "Child::stderr": 6888, "Drop": 9, - "`Child`": 5388 + "`Child`": 5393 }, "name": "ChildStderr", "span": { "begin": [ - 466, + 475, 1 ], "end": [ - 468, + 477, 2 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "4086": { + "4085": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"io_read_to_string\"}}]" @@ -369715,7 +388575,7 @@ "crate_id": 0, "deprecation": null, "docs": " Reads all bytes from a [reader][Read] into a new [`String`].\n\n This is a convenience function for [`Read::read_to_string`]. Using this\n function avoids having to create a variable first and provides more type\n safety since you can only get the buffer out if there were no errors. (If you\n use [`Read::read_to_string`] you have to remember to check whether the read\n succeeded because otherwise your buffer will be empty or only partially full.)\n\n # Performance\n\n The downside of this function's increased ease of use and type safety is\n that it gives you less control over performance. For example, you can't\n pre-allocate memory like you can using [`String::with_capacity`] and\n [`Read::read_to_string`]. Also, you can't re-use the buffer if an error\n occurs while reading.\n\n In many cases, this function's performance will be adequate and the ease of use\n and type safety tradeoffs will be worth it. However, there are cases where you\n need more control over performance, and in those cases you should definitely use\n [`Read::read_to_string`] directly.\n\n Note that in some special cases, such as when reading files, this function will\n pre-allocate memory based on the size of the input it is reading. In those\n cases, the performance should be as good as if you had used\n [`Read::read_to_string`] with a manually pre-allocated buffer.\n\n # Errors\n\n This function forces you to handle errors because the output (the `String`)\n is wrapped in a [`Result`]. See [`Read::read_to_string`] for the errors\n that can occur. If any error occurs, you will get an [`Err`], so you\n don't have to worry about your buffer being empty or partially full.\n\n # Examples\n\n ```no_run\n # use std::io;\n fn main() -> io::Result<()> {\n let stdin = io::read_to_string(io::stdin())?;\n println!(\"Stdin was:\");\n println!(\"{stdin}\");\n Ok(())\n }\n ```\n\n # Usage Notes\n\n `read_to_string` attempts to read a source until EOF, but many sources are continuous streams\n that do not send EOF. In these cases, `read_to_string` will block indefinitely. Standard input\n is one such stream which may be finite if piped, but is typically continuous. For example,\n `cat file | my-rust-program` will correctly terminate with an `EOF` upon closure of cat.\n Reading user input or running programs that remain open indefinitely will never terminate\n the stream with `EOF` (e.g. `yes | my-rust-program`).\n\n Using `.lines()` with a [`BufReader`] or using [`read`] can provide a better solution\n\n[`read`]: Read::read\n", - "id": 4086, + "id": 4085, "inner": { "function": { "generics": { @@ -369730,7 +388590,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -369771,7 +388631,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -369780,7 +388640,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -369788,14 +388648,14 @@ } }, "links": { - "Read": 2476, - "Read::read": 2435, - "`BufReader`": 2409, + "Read": 2474, + "Read::read": 2433, + "`BufReader`": 2407, "`Err`": 59, "`Read::read_to_string`": 2959, - "`Result`": 468, - "`String::with_capacity`": 4085, - "`String`": 161 + "`Result`": 469, + "`String::with_capacity`": 4084, + "`String`": 159 }, "name": "read_to_string", "span": { @@ -369811,7 +388671,7 @@ }, "visibility": "public" }, - "4088": { + "4087": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -369823,7 +388683,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `IoSliceMut` wrapping a byte slice.\n\n# Panics\n\nPanics on Windows if the slice is larger than 4GB.", - "id": 4088, + "id": 4087, "inner": { "function": { "generics": { @@ -369867,7 +388727,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -369889,7 +388749,7 @@ }, "visibility": "public" }, - "4089": { + "4088": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 81, patch: 0})}, feature: \"io_slice_advance\"}}]" @@ -369901,7 +388761,7 @@ "crate_id": 0, "deprecation": null, "docs": "Advance a slice of slices.\n\nShrinks the slice to remove any `IoSliceMut`s that are fully advanced over.\nIf the cursor ends up in the middle of an `IoSliceMut`, it is modified\nto start at that cursor.\n\nFor example, if we have a slice of two 8-byte `IoSliceMut`s, and we advance by 10 bytes,\nthe result will only include the second `IoSliceMut`, advanced by 2 bytes.\n\n# Panics\n\nPanics when trying to advance beyond the end of the slices.\n\n# Examples\n\n```\nuse std::io::IoSliceMut;\nuse std::ops::Deref;\n\nlet mut buf1 = [1; 8];\nlet mut buf2 = [2; 16];\nlet mut buf3 = [3; 8];\nlet mut bufs = &mut [\n IoSliceMut::new(&mut buf1),\n IoSliceMut::new(&mut buf2),\n IoSliceMut::new(&mut buf3),\n][..];\n\n// Mark 10 bytes as read.\nIoSliceMut::advance_slices(&mut bufs, 10);\nassert_eq!(bufs[0].deref(), [2; 14].as_ref());\nassert_eq!(bufs[1].deref(), [3; 8].as_ref());\n```", - "id": 4089, + "id": 4088, "inner": { "function": { "generics": { @@ -369940,7 +388800,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -369977,6 +388837,75 @@ }, "visibility": "public" }, + "4089": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 81, patch: 0})}, feature: \"io_slice_advance\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Advance the internal cursor of the slice.\n\nAlso see [`IoSliceMut::advance_slices`] to advance the cursors of\nmultiple buffers.\n\n# Panics\n\nPanics when trying to advance beyond the end of the slice.\n\n# Examples\n\n```\nuse std::io::IoSliceMut;\nuse std::ops::Deref;\n\nlet mut data = [1; 8];\nlet mut buf = IoSliceMut::new(&mut data);\n\n// Mark 3 bytes as read.\nbuf.advance(3);\nassert_eq!(buf.deref(), [1; 5].as_ref());\n```", + "id": 4089, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "n", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "`IoSliceMut::advance_slices`": 4088 + }, + "name": "advance", + "span": { + "begin": [ + 1370, + 5 + ], + "end": [ + 1372, + 6 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "public" + }, "409": { "attrs": [], "crate_id": 0, @@ -370050,7 +388979,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -370068,8 +388997,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -370085,7 +389014,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -370094,11 +389023,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -370106,75 +389035,6 @@ "visibility": "default" }, "4090": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 81, patch: 0})}, feature: \"io_slice_advance\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Advance the internal cursor of the slice.\n\nAlso see [`IoSliceMut::advance_slices`] to advance the cursors of\nmultiple buffers.\n\n# Panics\n\nPanics when trying to advance beyond the end of the slice.\n\n# Examples\n\n```\nuse std::io::IoSliceMut;\nuse std::ops::Deref;\n\nlet mut data = [1; 8];\nlet mut buf = IoSliceMut::new(&mut data);\n\n// Mark 3 bytes as read.\nbuf.advance(3);\nassert_eq!(buf.deref(), [1; 5].as_ref());\n```", - "id": 4090, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "n", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "`IoSliceMut::advance_slices`": 4089 - }, - "name": "advance", - "span": { - "begin": [ - 1370, - 5 - ], - "end": [ - 1372, - 6 - ], - "filename": "std/src/io/mod.rs" - }, - "visibility": "public" - }, - "4091": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 132818, is_soft: false}, feature: \"io_slice_as_bytes\"}}]" @@ -370183,7 +389043,7 @@ "crate_id": 0, "deprecation": null, "docs": "Get the underlying bytes as a mutable slice with the original lifetime.\n\n# Examples\n\n```\n#![feature(io_slice_as_bytes)]\nuse std::io::IoSliceMut;\n\nlet mut data = *b\"abcdef\";\nlet io_slice = IoSliceMut::new(&mut data);\nio_slice.into_slice()[0] = b'A';\n\nassert_eq!(&data, b\"Abcdef\");\n```", - "id": 4091, + "id": 4090, "inner": { "function": { "generics": { @@ -370236,12 +389096,12 @@ }, "visibility": "public" }, - "4092": { + "4091": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4092, + "id": 4091, "inner": { "impl": { "blanket_impl": null, @@ -370257,7 +389117,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -370278,10 +389138,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4088, - 4090, + 4087, 4089, - 4091 + 4088, + 4090 ], "provided_trait_methods": [], "trait": null @@ -370302,6 +389162,61 @@ }, "visibility": "default" }, + "4092": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4092, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2466, + "path": "IoSliceMut" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, "4093": { "attrs": [], "crate_id": 0, @@ -370323,7 +389238,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -370347,8 +389262,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -370378,7 +389293,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -370395,15 +389310,15 @@ ], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -370433,7 +389348,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -370450,7 +389365,7 @@ ], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], @@ -370458,7 +389373,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -370473,61 +389388,6 @@ "deprecation": null, "docs": null, "id": 4096, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2468, - "path": "IoSliceMut" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4097": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4097, "inner": { "impl": { "blanket_impl": { @@ -370545,7 +389405,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -370590,7 +389450,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -370606,7 +389466,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -370615,23 +389475,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4098": { + "4097": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4098, + "id": 4097, "inner": { "impl": { "blanket_impl": { @@ -370649,7 +389509,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -370694,7 +389554,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -370710,7 +389570,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -370719,23 +389579,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4099": { + "4098": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4099, + "id": 4098, "inner": { "impl": { "blanket_impl": { @@ -370753,7 +389613,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -370819,7 +389679,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -370844,23 +389704,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "410": { + "4099": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 410, + "id": 4099, "inner": { "impl": { "blanket_impl": { @@ -370872,16 +389732,14 @@ "angle_bracketed": { "args": [ { - "type": { - "generic": "T" - } + "lifetime": "'a" } ], "constraints": [] } }, - "id": 383, - "path": "LocalKey" + "id": 2466, + "path": "IoSliceMut" } }, "generics": { @@ -370895,59 +389753,15 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 327 ], "provided_trait_methods": [], "trait": { @@ -370956,15 +389770,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 37, + "path": "From" } } }, @@ -370972,23 +389786,23 @@ "name": null, "span": { "begin": [ - 833, + 785, 1 ], "end": [ - 835, - 24 + 785, + 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4100": { + "410": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4100, + "id": 410, "inner": { "impl": { "blanket_impl": { @@ -371000,14 +389814,16 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2468, - "path": "IoSliceMut" + "id": 383, + "path": "LocalKey" } }, "generics": { @@ -371021,15 +389837,59 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -371038,15 +389898,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 37, - "path": "From" + "id": 197, + "path": "TryFrom" } } }, @@ -371054,23 +389914,23 @@ "name": null, "span": { "begin": [ - 791, + 827, 1 ], "end": [ - 791, - 28 + 829, + 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4101": { + "4100": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4101, + "id": 4100, "inner": { "impl": { "blanket_impl": { @@ -371088,7 +389948,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -371136,7 +389996,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -371154,8 +390014,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -371171,7 +390031,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -371180,23 +390040,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4102": { + "4101": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4102, + "id": 4101, "inner": { "impl": { "blanket_impl": { @@ -371214,7 +390074,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -371280,8 +390140,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -371297,7 +390157,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -371306,23 +390166,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4103": { + "4102": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4103, + "id": 4102, "inner": { "impl": { "blanket_impl": { @@ -371340,7 +390200,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -371394,7 +390254,7 @@ ] } }, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -371444,12 +390304,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1970, + "id": 1968, "path": "Receiver" } } @@ -371458,23 +390318,23 @@ "name": null, "span": { "begin": [ - 380, + 378, 1 ], "end": [ - 382, + 380, 26 ], "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "4104": { + "4103": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4104, + "id": 4103, "inner": { "impl": { "blanket_impl": { @@ -371492,7 +390352,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -371540,12 +390400,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -371565,7 +390425,7 @@ }, "visibility": "default" }, - "4105": { + "4104": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"iovec_send_sync\"}}]" @@ -371574,7 +390434,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4105, + "id": 4104, "inner": { "impl": { "blanket_impl": null, @@ -371590,7 +390450,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -371634,7 +390494,7 @@ }, "visibility": "default" }, - "4106": { + "4105": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"iovec_send_sync\"}}]" @@ -371643,7 +390503,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4106, + "id": 4105, "inner": { "impl": { "blanket_impl": null, @@ -371659,7 +390519,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -371703,12 +390563,12 @@ }, "visibility": "default" }, - "4107": { + "4106": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4107, + "id": 4106, "inner": { "function": { "generics": { @@ -371754,7 +390614,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -371766,7 +390626,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -371788,7 +390648,7 @@ }, "visibility": "default" }, - "4108": { + "4107": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -371797,7 +390657,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4108, + "id": 4107, "inner": { "impl": { "blanket_impl": null, @@ -371813,7 +390673,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -371834,12 +390694,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4107 + 4106 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -371859,12 +390719,12 @@ }, "visibility": "default" }, - "4109": { + "4108": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4109, + "id": 4108, "inner": { "assoc_type": { "bounds": [], @@ -371894,6 +390754,74 @@ }, "visibility": "default" }, + "4109": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4109, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + } + } + }, + "links": {}, + "name": "deref", + "span": { + "begin": [ + 1456, + 5 + ], + "end": [ + 1458, + 6 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "default" + }, "411": { "attrs": [], "crate_id": 0, @@ -371967,12 +390895,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -371993,74 +390921,6 @@ "visibility": "default" }, "4110": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4110, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - } - } - }, - "links": {}, - "name": "deref", - "span": { - "begin": [ - 1456, - 5 - ], - "end": [ - 1458, - 6 - ], - "filename": "std/src/io/mod.rs" - }, - "visibility": "default" - }, - "4111": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -372069,7 +390929,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4111, + "id": 4110, "inner": { "impl": { "blanket_impl": null, @@ -372085,7 +390945,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -372106,13 +390966,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4109, - 4110 + 4108, + 4109 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -372132,7 +390992,7 @@ }, "visibility": "default" }, - "4112": { + "4111": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -372141,7 +391001,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4112, + "id": 4111, "inner": { "function": { "generics": { @@ -372200,7 +391060,7 @@ }, "visibility": "default" }, - "4113": { + "4112": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -372209,7 +391069,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4113, + "id": 4112, "inner": { "impl": { "blanket_impl": null, @@ -372225,7 +391085,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } }, @@ -372246,12 +391106,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4112 + 4111 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1989, + "id": 1987, "path": "DerefMut" } } @@ -372271,7 +391131,7 @@ }, "visibility": "default" }, - "4115": { + "4114": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -372288,7 +391148,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `IoSlice` wrapping a byte slice.\n\n# Panics\n\nPanics on Windows if the slice is larger than 4GB.", - "id": 4115, + "id": 4114, "inner": { "function": { "generics": { @@ -372332,7 +391192,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -372354,7 +391214,7 @@ }, "visibility": "public" }, - "4116": { + "4115": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 81, patch: 0})}, feature: \"io_slice_advance\"}}]" @@ -372366,7 +391226,7 @@ "crate_id": 0, "deprecation": null, "docs": "Advance a slice of slices.\n\nShrinks the slice to remove any `IoSlice`s that are fully advanced over.\nIf the cursor ends up in the middle of an `IoSlice`, it is modified\nto start at that cursor.\n\nFor example, if we have a slice of two 8-byte `IoSlice`s, and we advance by 10 bytes,\nthe result will only include the second `IoSlice`, advanced by 2 bytes.\n\n# Panics\n\nPanics when trying to advance beyond the end of the slices.\n\n# Examples\n\n```\nuse std::io::IoSlice;\nuse std::ops::Deref;\n\nlet buf1 = [1; 8];\nlet buf2 = [2; 16];\nlet buf3 = [3; 8];\nlet mut bufs = &mut [\n IoSlice::new(&buf1),\n IoSlice::new(&buf2),\n IoSlice::new(&buf3),\n][..];\n\n// Mark 10 bytes as written.\nIoSlice::advance_slices(&mut bufs, 10);\nassert_eq!(bufs[0].deref(), [2; 14].as_ref());\nassert_eq!(bufs[1].deref(), [3; 8].as_ref());", - "id": 4116, + "id": 4115, "inner": { "function": { "generics": { @@ -372405,7 +391265,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -372442,7 +391302,7 @@ }, "visibility": "public" }, - "4117": { + "4116": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 81, patch: 0})}, feature: \"io_slice_advance\"}}]" @@ -372454,7 +391314,7 @@ "crate_id": 0, "deprecation": null, "docs": "Advance the internal cursor of the slice.\n\nAlso see [`IoSlice::advance_slices`] to advance the cursors of multiple\nbuffers.\n\n# Panics\n\nPanics when trying to advance beyond the end of the slice.\n\n# Examples\n\n```\nuse std::io::IoSlice;\nuse std::ops::Deref;\n\nlet data = [1; 8];\nlet mut buf = IoSlice::new(&data);\n\n// Mark 3 bytes as read.\nbuf.advance(3);\nassert_eq!(buf.deref(), [1; 5].as_ref());\n```", - "id": 4117, + "id": 4116, "inner": { "function": { "generics": { @@ -372495,7 +391355,7 @@ } }, "links": { - "`IoSlice::advance_slices`": 4116 + "`IoSlice::advance_slices`": 4115 }, "name": "advance", "span": { @@ -372511,7 +391371,7 @@ }, "visibility": "public" }, - "4118": { + "4117": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 132818, is_soft: false}, feature: \"io_slice_as_bytes\"}}]" @@ -372520,7 +391380,7 @@ "crate_id": 0, "deprecation": null, "docs": "Get the underlying bytes as a slice with the original lifetime.\n\nThis doesn't borrow from `self`, so is less restrictive than calling\n`.deref()`, which does.\n\n# Examples\n\n```\n#![feature(io_slice_as_bytes)]\nuse std::io::IoSlice;\n\nlet data = b\"abcdef\";\n\nlet mut io_slice = IoSlice::new(data);\nlet tail = &io_slice.as_slice()[3..];\n\n// This works because `tail` doesn't borrow `io_slice`\nio_slice = IoSlice::new(tail);\n\nassert_eq!(io_slice.as_slice(), b\"def\");\n```", - "id": 4118, + "id": 4117, "inner": { "function": { "generics": { @@ -372573,6 +391433,72 @@ }, "visibility": "public" }, + "4118": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4118, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2478, + "path": "IoSlice" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 4114, + 4116, + 4115, + 4117 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1492, + 1 + ], + "end": [ + 1617, + 2 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "default" + }, "4119": { "attrs": [], "crate_id": 0, @@ -372594,7 +391520,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -372612,31 +391538,20 @@ "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 4115, - 4117, - 4116, - 4118 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 1492, - 1 - ], - "end": [ - 1617, - 2 - ], - "filename": "std/src/io/mod.rs" - }, + "span": null, "visibility": "default" }, "412": { @@ -372690,7 +391605,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -372702,7 +391617,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -372745,7 +391660,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -372769,8 +391684,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -372800,7 +391715,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -372824,8 +391739,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -372855,7 +391770,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -372880,7 +391795,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -372895,61 +391810,6 @@ "deprecation": null, "docs": null, "id": 4123, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2480, - "path": "IoSlice" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4124": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4124, "inner": { "impl": { "blanket_impl": { @@ -372967,7 +391827,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -373012,7 +391872,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -373028,7 +391888,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -373037,23 +391897,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4125": { + "4124": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4125, + "id": 4124, "inner": { "impl": { "blanket_impl": { @@ -373071,7 +391931,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -373116,7 +391976,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -373132,7 +391992,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -373141,23 +392001,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4126": { + "4125": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4126, + "id": 4125, "inner": { "impl": { "blanket_impl": { @@ -373175,7 +392035,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -373202,7 +392062,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -373234,23 +392094,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "4127": { + "4126": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4127, + "id": 4126, "inner": { "impl": { "blanket_impl": { @@ -373268,7 +392128,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -373334,7 +392194,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -373359,23 +392219,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4128": { + "4127": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4128, + "id": 4127, "inner": { "impl": { "blanket_impl": { @@ -373393,7 +392253,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -373416,7 +392276,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -373441,23 +392301,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4129": { + "4128": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4129, + "id": 4128, "inner": { "impl": { "blanket_impl": { @@ -373475,7 +392335,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -373523,7 +392383,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -373541,8 +392401,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -373558,7 +392418,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -373567,17 +392427,143 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, + "4129": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4129, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2478, + "path": "IoSlice" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, "413": { "attrs": [ { @@ -373637,7 +392623,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -373663,132 +392649,6 @@ "deprecation": null, "docs": null, "id": 4130, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2480, - "path": "IoSlice" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "4131": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4131, "inner": { "impl": { "blanket_impl": { @@ -373806,7 +392666,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -373860,7 +392720,7 @@ ] } }, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -373910,12 +392770,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1970, + "id": 1968, "path": "Receiver" } } @@ -373924,23 +392784,23 @@ "name": null, "span": { "begin": [ - 380, + 378, 1 ], "end": [ - 382, + 380, 26 ], "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "4132": { + "4131": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4132, + "id": 4131, "inner": { "impl": { "blanket_impl": { @@ -373958,7 +392818,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -374006,12 +392866,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -374031,12 +392891,12 @@ }, "visibility": "default" }, - "4133": { + "4132": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4133, + "id": 4132, "inner": { "impl": { "blanket_impl": { @@ -374054,7 +392914,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -374081,7 +392941,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -374108,7 +392968,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -374117,18 +392977,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "4134": { + "4133": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -374138,7 +392998,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4134, + "id": 4133, "inner": { "impl": { "blanket_impl": null, @@ -374154,7 +393014,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -374178,7 +393038,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -374198,7 +393058,7 @@ }, "visibility": "default" }, - "4135": { + "4134": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -374207,7 +393067,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4135, + "id": 4134, "inner": { "function": { "generics": { @@ -374249,7 +393109,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -374271,7 +393131,7 @@ }, "visibility": "default" }, - "4136": { + "4135": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -374281,7 +393141,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4136, + "id": 4135, "inner": { "impl": { "blanket_impl": null, @@ -374297,7 +393157,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -374318,14 +393178,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4135 + 4134 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -374345,7 +393205,7 @@ }, "visibility": "default" }, - "4137": { + "4136": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"iovec_send_sync\"}}]" @@ -374354,7 +393214,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4137, + "id": 4136, "inner": { "impl": { "blanket_impl": null, @@ -374370,7 +393230,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -374414,7 +393274,7 @@ }, "visibility": "default" }, - "4138": { + "4137": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"iovec_send_sync\"}}]" @@ -374423,7 +393283,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4138, + "id": 4137, "inner": { "impl": { "blanket_impl": null, @@ -374439,7 +393299,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -374483,12 +393343,12 @@ }, "visibility": "default" }, - "4139": { + "4138": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4139, + "id": 4138, "inner": { "function": { "generics": { @@ -374534,7 +393394,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -374546,7 +393406,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -374568,44 +393428,7 @@ }, "visibility": "default" }, - "414": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 414, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4140": { + "4139": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -374614,7 +393437,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4140, + "id": 4139, "inner": { "impl": { "blanket_impl": null, @@ -374630,7 +393453,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -374651,12 +393474,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4139 + 4138 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -374676,12 +393499,49 @@ }, "visibility": "default" }, - "4141": { + "414": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4141, + "id": 414, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4140": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4140, "inner": { "assoc_type": { "bounds": [], @@ -374711,7 +393571,7 @@ }, "visibility": "default" }, - "4142": { + "4141": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -374720,7 +393580,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4142, + "id": 4141, "inner": { "function": { "generics": { @@ -374779,7 +393639,7 @@ }, "visibility": "default" }, - "4143": { + "4142": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"iovec\"}}]" @@ -374788,7 +393648,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4143, + "id": 4142, "inner": { "impl": { "blanket_impl": null, @@ -374804,7 +393664,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } }, @@ -374825,13 +393685,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4141, - 4142 + 4140, + 4141 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -374851,7 +393711,7 @@ }, "visibility": "default" }, - "4144": { + "4143": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 70436, is_soft: false}, feature: \"write_all_vectored\"}}]" @@ -374860,7 +393720,7 @@ "crate_id": 0, "deprecation": null, "docs": "Attempts to write multiple buffers into this writer.\n\nThis method will continuously call [`write_vectored`] until there is no\nmore data to be written or an error of non-[`ErrorKind::Interrupted`]\nkind is returned. This method will not return until all buffers have\nbeen successfully written or such an error occurs. The first error that\nis not of [`ErrorKind::Interrupted`] kind generated from this method\nwill be returned.\n\nIf the buffer contains no data, this will never call [`write_vectored`].\n\n# Notes\n\nUnlike [`write_vectored`], this takes a *mutable* reference to\na slice of [`IoSlice`]s, not an immutable one. That's because we need to\nmodify the slice to keep track of the bytes already written.\n\nOnce this function returns, the contents of `bufs` are unspecified, as\nthis depends on how many calls to [`write_vectored`] were necessary. It is\nbest to understand this function as taking ownership of `bufs` and to\nnot use `bufs` afterwards. The underlying buffers, to which the\n[`IoSlice`]s point (but not the [`IoSlice`]s themselves), are unchanged and\ncan be reused.\n\n[`write_vectored`]: Write::write_vectored\n\n# Examples\n\n```\n#![feature(write_all_vectored)]\n# fn main() -> std::io::Result<()> {\n\nuse std::io::{Write, IoSlice};\n\nlet mut writer = Vec::new();\nlet bufs = &mut [\n IoSlice::new(&[1]),\n IoSlice::new(&[2, 3]),\n IoSlice::new(&[4, 5, 6]),\n];\n\nwriter.write_all_vectored(bufs)?;\n// Note: the contents of `bufs` is now undefined, see the Notes section.\n\nassert_eq!(writer, &[1, 2, 3, 4, 5, 6]);\n# Ok(()) }\n```", - "id": 4144, + "id": 4143, "inner": { "function": { "generics": { @@ -374907,7 +393767,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -374931,7 +393791,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -374939,9 +393799,9 @@ } }, "links": { - "Write::write_vectored": 2478, + "Write::write_vectored": 2476, "`ErrorKind::Interrupted`": 2958, - "`IoSlice`": 2480 + "`IoSlice`": 2478 }, "name": "write_all_vectored", "span": { @@ -374957,7 +393817,7 @@ }, "visibility": "default" }, - "4146": { + "4145": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -374966,7 +393826,7 @@ "crate_id": 0, "deprecation": null, "docs": "Writes a formatted string into this writer, returning any error\nencountered.\n\nThis method is primarily used to interface with the\n[`format_args!()`] macro, and it is rare that this should\nexplicitly be called. The [`write!()`] macro should be favored to\ninvoke this method instead.\n\nThis function internally uses the [`write_all`] method on\nthis trait and hence will continuously write data so long as no errors\nare received. This also means that partial writes are not indicated in\nthis signature.\n\n[`write_all`]: Write::write_all\n\n# Errors\n\nThis function will return any I/O error reported while formatting.\n\n# Examples\n\n```no_run\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let mut buffer = File::create(\"foo.txt\")?;\n\n // this call\n write!(buffer, \"{:.*}\", 2, 1.234567)?;\n // turns into this:\n buffer.write_fmt(format_args!(\"{:.*}\", 2, 1.234567))?;\n Ok(())\n}\n```", - "id": 4146, + "id": 4145, "inner": { "function": { "generics": { @@ -375008,7 +393868,7 @@ "constraints": [] } }, - "id": 3189, + "id": 3190, "path": "fmt::Arguments" } } @@ -375029,7 +393889,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -375039,7 +393899,7 @@ "links": { "Write::write_all": 2960, "`format_args!()`": 77, - "`write!()`": 4145 + "`write!()`": 4144 }, "name": "write_fmt", "span": { @@ -375055,7 +393915,7 @@ }, "visibility": "default" }, - "4147": { + "4146": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -375064,7 +393924,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a \"by reference\" adapter for this instance of `Write`.\n\nThe returned adapter also implements `Write` and will simply borrow this\ncurrent writer.\n\n# Examples\n\n```no_run\nuse std::io::Write;\nuse std::fs::File;\n\nfn main() -> std::io::Result<()> {\n let mut buffer = File::create(\"foo.txt\")?;\n\n let reference = buffer.by_ref();\n\n // we can use reference just like our original buffer\n reference.write_all(b\"some bytes\")?;\n Ok(())\n}\n```", - "id": 4147, + "id": 4146, "inner": { "function": { "generics": { @@ -375143,12 +394003,12 @@ }, "visibility": "default" }, - "4148": { + "4147": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4148, + "id": 4147, "inner": { "function": { "generics": { @@ -375206,7 +394066,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -375217,23 +394077,23 @@ "name": "write", "span": { "begin": [ - 1449, + 1530, 5 ], "end": [ - 1451, + 1532, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4149": { + "4148": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4149, + "id": 4148, "inner": { "function": { "generics": { @@ -375280,7 +394140,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -375304,7 +394164,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -375315,55 +394175,18 @@ "name": "write_vectored", "span": { "begin": [ - 1452, + 1533, 5 ], "end": [ - 1454, + 1535, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "415": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 415, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4150": { + "4149": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -375372,7 +394195,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4150, + "id": 4149, "inner": { "function": { "generics": { @@ -375412,18 +394235,55 @@ "name": "is_write_vectored", "span": { "begin": [ - 1456, + 1537, 5 ], "end": [ - 1458, + 1539, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4151": { + "415": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 415, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4150": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -375432,7 +394292,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4151, + "id": 4150, "inner": { "function": { "generics": { @@ -375476,7 +394336,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -375487,18 +394347,18 @@ "name": "flush", "span": { "begin": [ - 1460, + 1541, 5 ], "end": [ - 1462, + 1543, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4152": { + "4151": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"io_traits_arc\"}}]" @@ -375507,7 +394367,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4152, + "id": 4151, "inner": { "impl": { "blanket_impl": null, @@ -375520,7 +394380,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -375541,10 +394401,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4147, 4148, 4149, - 4150, - 4151 + 4150 ], "provided_trait_methods": [ "write_vectored", @@ -375556,7 +394416,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -375565,18 +394425,18 @@ "name": null, "span": { "begin": [ - 1448, + 1529, 1 ], "end": [ - 1463, + 1544, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4153": { + "4152": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -375585,7 +394445,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4153, + "id": 4152, "inner": { "function": { "generics": { @@ -375643,7 +394503,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -375665,7 +394525,7 @@ }, "visibility": "default" }, - "4154": { + "4153": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -375674,7 +394534,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4154, + "id": 4153, "inner": { "function": { "generics": { @@ -375721,7 +394581,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -375745,7 +394605,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -375767,7 +394627,7 @@ }, "visibility": "default" }, - "4155": { + "4154": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -375776,7 +394636,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4155, + "id": 4154, "inner": { "function": { "generics": { @@ -375827,7 +394687,7 @@ }, "visibility": "default" }, - "4156": { + "4155": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -375836,7 +394696,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4156, + "id": 4155, "inner": { "function": { "generics": { @@ -375880,7 +394740,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -375902,7 +394762,7 @@ }, "visibility": "default" }, - "4157": { + "4156": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -375911,7 +394771,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4157, + "id": 4156, "inner": { "function": { "generics": { @@ -375969,7 +394829,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -375991,7 +394851,7 @@ }, "visibility": "default" }, - "4158": { + "4157": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -376000,7 +394860,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4158, + "id": 4157, "inner": { "function": { "generics": { @@ -376047,7 +394907,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -376071,7 +394931,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -376093,7 +394953,7 @@ }, "visibility": "default" }, - "4159": { + "4158": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -376102,7 +394962,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4159, + "id": 4158, "inner": { "function": { "generics": { @@ -376144,7 +395004,7 @@ "constraints": [] } }, - "id": 3189, + "id": 3190, "path": "fmt::Arguments" } } @@ -376165,7 +395025,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -376187,44 +395047,7 @@ }, "visibility": "default" }, - "416": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 416, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4160": { + "4159": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -376233,7 +395056,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4160, + "id": 4159, "inner": { "impl": { "blanket_impl": null, @@ -376258,7 +395081,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -376288,13 +395111,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4152, 4153, 4154, 4155, 4156, 4157, - 4158, - 4159 + 4158 ], "provided_trait_methods": [ "write_vectored", @@ -376306,7 +395129,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -376326,7 +395149,44 @@ }, "visibility": "default" }, - "4161": { + "416": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 416, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4160": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -376335,7 +395195,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4161, + "id": 4160, "inner": { "function": { "generics": { @@ -376393,7 +395253,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -376415,7 +395275,7 @@ }, "visibility": "default" }, - "4162": { + "4161": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -376424,7 +395284,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4162, + "id": 4161, "inner": { "function": { "generics": { @@ -376471,7 +395331,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -376495,7 +395355,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -376517,7 +395377,7 @@ }, "visibility": "default" }, - "4163": { + "4162": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -376526,7 +395386,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4163, + "id": 4162, "inner": { "function": { "generics": { @@ -376577,7 +395437,7 @@ }, "visibility": "default" }, - "4164": { + "4163": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -376586,7 +395446,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4164, + "id": 4163, "inner": { "function": { "generics": { @@ -376630,7 +395490,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -376652,7 +395512,7 @@ }, "visibility": "default" }, - "4165": { + "4164": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -376661,7 +395521,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4165, + "id": 4164, "inner": { "function": { "generics": { @@ -376719,7 +395579,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -376741,7 +395601,7 @@ }, "visibility": "default" }, - "4166": { + "4165": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -376750,7 +395610,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4166, + "id": 4165, "inner": { "function": { "generics": { @@ -376797,7 +395657,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -376821,7 +395681,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -376843,7 +395703,7 @@ }, "visibility": "default" }, - "4167": { + "4166": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -376852,7 +395712,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4167, + "id": 4166, "inner": { "function": { "generics": { @@ -376894,7 +395754,7 @@ "constraints": [] } }, - "id": 3189, + "id": 3190, "path": "fmt::Arguments" } } @@ -376915,7 +395775,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -376937,7 +395797,7 @@ }, "visibility": "default" }, - "4168": { + "4167": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -376946,7 +395806,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4168, + "id": 4167, "inner": { "impl": { "blanket_impl": null, @@ -376964,7 +395824,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -376980,7 +395840,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -377010,13 +395870,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4160, 4161, 4162, 4163, 4164, 4165, - 4166, - 4167 + 4166 ], "provided_trait_methods": [ "write_vectored", @@ -377028,7 +395888,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -377048,7 +395908,7 @@ }, "visibility": "default" }, - "4169": { + "4168": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -377057,7 +395917,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4169, + "id": 4168, "inner": { "function": { "generics": { @@ -377115,7 +395975,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -377137,44 +395997,7 @@ }, "visibility": "default" }, - "417": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 417, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4170": { + "4169": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -377183,7 +396006,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4170, + "id": 4169, "inner": { "function": { "generics": { @@ -377230,7 +396053,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -377254,7 +396077,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -377276,7 +396099,44 @@ }, "visibility": "default" }, - "4171": { + "417": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 417, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4170": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -377285,7 +396145,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4171, + "id": 4170, "inner": { "function": { "generics": { @@ -377336,7 +396196,7 @@ }, "visibility": "default" }, - "4172": { + "4171": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -377345,7 +396205,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4172, + "id": 4171, "inner": { "function": { "generics": { @@ -377403,7 +396263,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -377425,7 +396285,7 @@ }, "visibility": "default" }, - "4173": { + "4172": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -377434,7 +396294,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4173, + "id": 4172, "inner": { "function": { "generics": { @@ -377481,7 +396341,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -377505,7 +396365,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -377527,7 +396387,7 @@ }, "visibility": "default" }, - "4174": { + "4173": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -377536,7 +396396,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4174, + "id": 4173, "inner": { "function": { "generics": { @@ -377580,7 +396440,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -377602,7 +396462,7 @@ }, "visibility": "default" }, - "4175": { + "4174": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -377611,7 +396471,7 @@ "crate_id": 0, "deprecation": null, "docs": "Write is implemented for `&mut [u8]` by copying into the slice, overwriting\nits data.\n\nNote that writing updates the slice to point to the yet unwritten part.\nThe slice will be empty when it has been completely overwritten.\n\nIf the number of bytes to be written exceeds the size of the slice, write operations will\nreturn short writes: ultimately, `Ok(0)`; in this situation, `write_all` returns an error of\nkind `ErrorKind::WriteZero`.", - "id": 4175, + "id": 4174, "inner": { "impl": { "blanket_impl": null, @@ -377634,12 +396494,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4168, 4169, 4170, 4171, 4172, - 4173, - 4174 + 4173 ], "provided_trait_methods": [ "write_vectored", @@ -377651,7 +396511,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -377671,7 +396531,7 @@ }, "visibility": "default" }, - "4176": { + "4175": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -377680,7 +396540,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4176, + "id": 4175, "inner": { "function": { "generics": { @@ -377738,7 +396598,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -377760,7 +396620,7 @@ }, "visibility": "default" }, - "4177": { + "4176": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -377769,7 +396629,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4177, + "id": 4176, "inner": { "function": { "generics": { @@ -377816,7 +396676,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -377840,7 +396700,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -377862,7 +396722,7 @@ }, "visibility": "default" }, - "4178": { + "4177": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -377871,7 +396731,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4178, + "id": 4177, "inner": { "function": { "generics": { @@ -377922,7 +396782,7 @@ }, "visibility": "default" }, - "4179": { + "4178": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -377931,7 +396791,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4179, + "id": 4178, "inner": { "function": { "generics": { @@ -377989,7 +396849,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -378011,44 +396871,7 @@ }, "visibility": "default" }, - "418": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 418, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4180": { + "4179": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -378057,7 +396880,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4180, + "id": 4179, "inner": { "function": { "generics": { @@ -378104,7 +396927,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -378128,7 +396951,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -378150,7 +396973,44 @@ }, "visibility": "default" }, - "4181": { + "418": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 418, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4180": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -378159,7 +397019,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4181, + "id": 4180, "inner": { "function": { "generics": { @@ -378203,7 +397063,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -378225,7 +397085,7 @@ }, "visibility": "default" }, - "4182": { + "4181": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -378234,7 +397094,7 @@ "crate_id": 0, "deprecation": null, "docs": "Write is implemented for `Vec` by appending to the vector.\nThe vector will grow as needed.", - "id": 4182, + "id": 4181, "inner": { "impl": { "blanket_impl": null, @@ -378257,7 +397117,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } }, @@ -378292,12 +397152,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4175, 4176, 4177, 4178, 4179, - 4180, - 4181 + 4180 ], "provided_trait_methods": [ "write_vectored", @@ -378309,7 +397169,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -378329,7 +397189,7 @@ }, "visibility": "default" }, - "4183": { + "4182": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -378338,7 +397198,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4183, + "id": 4182, "inner": { "function": { "generics": { @@ -378396,7 +397256,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -378418,7 +397278,7 @@ }, "visibility": "default" }, - "4184": { + "4183": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -378427,7 +397287,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4184, + "id": 4183, "inner": { "function": { "generics": { @@ -378474,7 +397334,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -378498,7 +397358,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -378520,7 +397380,7 @@ }, "visibility": "default" }, - "4185": { + "4184": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -378529,7 +397389,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4185, + "id": 4184, "inner": { "function": { "generics": { @@ -378580,7 +397440,7 @@ }, "visibility": "default" }, - "4186": { + "4185": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -378589,7 +397449,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4186, + "id": 4185, "inner": { "function": { "generics": { @@ -378647,7 +397507,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -378669,7 +397529,7 @@ }, "visibility": "default" }, - "4187": { + "4186": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -378678,7 +397538,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4187, + "id": 4186, "inner": { "function": { "generics": { @@ -378725,7 +397585,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -378749,7 +397609,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -378771,7 +397631,7 @@ }, "visibility": "default" }, - "4188": { + "4187": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -378780,7 +397640,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4188, + "id": 4187, "inner": { "function": { "generics": { @@ -378824,7 +397684,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -378846,7 +397706,7 @@ }, "visibility": "default" }, - "4189": { + "4188": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"vecdeque_read_write\"}}]" @@ -378855,7 +397715,7 @@ "crate_id": 0, "deprecation": null, "docs": "Write is implemented for `VecDeque` by appending to the `VecDeque`, growing it as needed.", - "id": 4189, + "id": 4188, "inner": { "impl": { "blanket_impl": null, @@ -378878,7 +397738,7 @@ "constraints": [] } }, - "id": 1640, + "id": 1639, "path": "crate::collections::VecDeque" } }, @@ -378913,12 +397773,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4182, 4183, 4184, 4185, 4186, - 4187, - 4188 + 4187 ], "provided_trait_methods": [ "write_vectored", @@ -378930,7 +397790,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -378950,44 +397810,7 @@ }, "visibility": "default" }, - "419": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 419, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4190": { + "4189": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -378996,7 +397819,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4190, + "id": 4189, "inner": { "function": { "generics": { @@ -379054,7 +397877,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -379076,7 +397899,44 @@ }, "visibility": "default" }, - "4191": { + "419": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 419, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4190": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -379085,7 +397945,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4191, + "id": 4190, "inner": { "function": { "generics": { @@ -379132,7 +397992,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -379156,7 +398016,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -379178,7 +398038,7 @@ }, "visibility": "default" }, - "4192": { + "4191": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -379187,7 +398047,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4192, + "id": 4191, "inner": { "function": { "generics": { @@ -379238,7 +398098,7 @@ }, "visibility": "default" }, - "4193": { + "4192": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -379247,7 +398107,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4193, + "id": 4192, "inner": { "function": { "generics": { @@ -379305,7 +398165,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -379327,7 +398187,7 @@ }, "visibility": "default" }, - "4194": { + "4193": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -379336,7 +398196,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4194, + "id": 4193, "inner": { "function": { "generics": { @@ -379383,7 +398243,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -379407,7 +398267,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -379429,7 +398289,7 @@ }, "visibility": "default" }, - "4195": { + "4194": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -379438,7 +398298,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4195, + "id": 4194, "inner": { "function": { "generics": { @@ -379482,7 +398342,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -379504,7 +398364,7 @@ }, "visibility": "default" }, - "4196": { + "4195": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 78485, is_soft: false}, feature: \"read_buf\"}}]" @@ -379513,7 +398373,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4196, + "id": 4195, "inner": { "impl": { "blanket_impl": null, @@ -379529,7 +398389,7 @@ "constraints": [] } }, - "id": 2470, + "id": 2468, "path": "core::io::BorrowedCursor" } }, @@ -379550,12 +398410,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4189, 4190, 4191, 4192, 4193, - 4194, - 4195 + 4194 ], "provided_trait_methods": [ "write_vectored", @@ -379567,7 +398427,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -379587,12 +398447,12 @@ }, "visibility": "default" }, - "4197": { + "4196": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4197, + "id": 4196, "inner": { "function": { "generics": { @@ -379639,7 +398499,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -379663,7 +398523,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -379685,7 +398545,7 @@ }, "visibility": "default" }, - "4198": { + "4197": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -379694,7 +398554,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4198, + "id": 4197, "inner": { "function": { "generics": { @@ -379745,7 +398605,7 @@ }, "visibility": "default" }, - "4199": { + "4198": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -379754,7 +398614,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4199, + "id": 4198, "inner": { "function": { "generics": { @@ -379798,7 +398658,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -379820,6 +398680,69 @@ }, "visibility": "default" }, + "4199": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4199, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 3049, + "path": "TcpStream" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 3100, + 4196, + 4197, + 4198 + ], + "provided_trait_methods": [ + "write_vectored", + "is_write_vectored", + "write_all", + "write_all_vectored", + "write_fmt", + "by_ref" + ], + "trait": { + "args": null, + "id": 2484, + "path": "Write" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 649, + 1 + ], + "end": [ + 667, + 2 + ], + "filename": "std/src/net/tcp.rs" + }, + "visibility": "default" + }, "42": { "attrs": [ { @@ -379915,7 +398838,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -379931,7 +398854,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -379940,86 +398863,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, "4200": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4200, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 3047, - "path": "TcpStream" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 3098, - 4197, - 4198, - 4199 - ], - "provided_trait_methods": [ - "write_vectored", - "is_write_vectored", - "write_all", - "write_all_vectored", - "write_fmt", - "by_ref" - ], - "trait": { - "args": null, - "id": 2486, - "path": "Write" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 649, - 1 - ], - "end": [ - 667, - 2 - ], - "filename": "std/src/net/tcp.rs" - }, - "visibility": "default" - }, - "4201": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4201, + "id": 4200, "inner": { "function": { "generics": { @@ -380077,7 +398937,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -380099,12 +398959,12 @@ }, "visibility": "default" }, - "4202": { + "4201": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4202, + "id": 4201, "inner": { "function": { "generics": { @@ -380151,7 +399011,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -380175,7 +399035,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -380197,7 +399057,7 @@ }, "visibility": "default" }, - "4203": { + "4202": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -380206,7 +399066,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4203, + "id": 4202, "inner": { "function": { "generics": { @@ -380257,7 +399117,7 @@ }, "visibility": "default" }, - "4204": { + "4203": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -380266,7 +399126,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4204, + "id": 4203, "inner": { "function": { "generics": { @@ -380310,7 +399170,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -380332,7 +399192,7 @@ }, "visibility": "default" }, - "4205": { + "4204": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -380341,7 +399201,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4205, + "id": 4204, "inner": { "impl": { "blanket_impl": null, @@ -380352,7 +399212,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -380366,10 +399226,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4200, 4201, 4202, - 4203, - 4204 + 4203 ], "provided_trait_methods": [ "write_vectored", @@ -380381,7 +399241,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -380401,97 +399261,97 @@ }, "visibility": "default" }, + "4205": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4205, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "buf", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "write", + "span": { + "begin": [ + 650, + 5 + ], + "end": [ + 652, + 6 + ], + "filename": "std/src/os/unix/net/stream.rs" + }, + "visibility": "default" + }, "4206": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": 4206, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "buf", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "write", - "span": { - "begin": [ - 638, - 5 - ], - "end": [ - 640, - 6 - ], - "filename": "std/src/os/unix/net/stream.rs" - }, - "visibility": "default" - }, - "4207": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4207, "inner": { "function": { "generics": { @@ -380538,7 +399398,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -380562,7 +399422,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -380573,18 +399433,18 @@ "name": "write_vectored", "span": { "begin": [ - 642, + 654, 5 ], "end": [ - 644, + 656, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4208": { + "4207": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -380593,7 +399453,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4208, + "id": 4207, "inner": { "function": { "generics": { @@ -380633,23 +399493,23 @@ "name": "is_write_vectored", "span": { "begin": [ - 647, + 659, 5 ], "end": [ - 649, + 661, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4209": { + "4208": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4209, + "id": 4208, "inner": { "function": { "generics": { @@ -380693,7 +399553,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -380704,17 +399564,83 @@ "name": "flush", "span": { "begin": [ - 651, + 663, 5 ], "end": [ - 653, + 665, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, + "4209": { + "attrs": [ + { + "other": "#[doc(cfg(unix))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4209, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4064, + "path": "UnixStream" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 4205, + 4206, + 4207, + 4208 + ], + "provided_trait_methods": [ + "write_vectored", + "is_write_vectored", + "write_all", + "write_all_vectored", + "write_fmt", + "by_ref" + ], + "trait": { + "args": null, + "id": 2484, + "path": "Write" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 649, + 1 + ], + "end": [ + 666, + 2 + ], + "filename": "std/src/os/unix/net/stream.rs" + }, + "visibility": "default" + }, "421": { "attrs": [], "crate_id": 0, @@ -380774,7 +399700,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -380790,7 +399716,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -380799,89 +399725,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, "4210": { - "attrs": [ - { - "other": "#[doc(cfg(unix))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4210, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4065, - "path": "UnixStream" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 4206, - 4207, - 4208, - 4209 - ], - "provided_trait_methods": [ - "write_vectored", - "is_write_vectored", - "write_all", - "write_all_vectored", - "write_fmt", - "by_ref" - ], - "trait": { - "args": null, - "id": 2486, - "path": "Write" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 637, - 1 - ], - "end": [ - 654, - 2 - ], - "filename": "std/src/os/unix/net/stream.rs" - }, - "visibility": "default" - }, - "4211": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4211, + "id": 4210, "inner": { "function": { "generics": { @@ -380939,7 +399799,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -380950,23 +399810,23 @@ "name": "write", "span": { "begin": [ - 658, + 670, 5 ], "end": [ - 660, + 672, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4212": { + "4211": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4212, + "id": 4211, "inner": { "function": { "generics": { @@ -381013,7 +399873,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -381037,7 +399897,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -381048,18 +399908,18 @@ "name": "write_vectored", "span": { "begin": [ - 662, + 674, 5 ], "end": [ - 664, + 676, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4213": { + "4212": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -381068,7 +399928,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4213, + "id": 4212, "inner": { "function": { "generics": { @@ -381108,18 +399968,18 @@ "name": "is_write_vectored", "span": { "begin": [ - 667, + 679, 5 ], "end": [ - 669, + 681, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4214": { + "4213": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -381128,7 +399988,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4214, + "id": 4213, "inner": { "function": { "generics": { @@ -381172,7 +400032,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -381183,18 +400043,18 @@ "name": "flush", "span": { "begin": [ - 672, + 684, 5 ], "end": [ - 674, + 686, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4215": { + "4214": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -381206,7 +400066,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4215, + "id": 4214, "inner": { "impl": { "blanket_impl": null, @@ -381217,7 +400077,7 @@ "type": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -381240,10 +400100,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4210, 4211, 4212, - 4213, - 4214 + 4213 ], "provided_trait_methods": [ "write_vectored", @@ -381255,7 +400115,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -381264,23 +400124,23 @@ "name": null, "span": { "begin": [ - 657, + 669, 1 ], "end": [ - 675, + 687, 2 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "4216": { + "4215": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4216, + "id": 4215, "inner": { "function": { "generics": { @@ -381338,7 +400198,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -381349,23 +400209,23 @@ "name": "write", "span": { "begin": [ - 322, + 331, 5 ], "end": [ - 324, + 333, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4217": { + "4216": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4217, + "id": 4216, "inner": { "function": { "generics": { @@ -381412,7 +400272,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -381436,7 +400296,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -381447,23 +400307,23 @@ "name": "write_vectored", "span": { "begin": [ - 326, + 335, 5 ], "end": [ - 328, + 337, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4218": { + "4217": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4218, + "id": 4217, "inner": { "function": { "generics": { @@ -381503,18 +400363,18 @@ "name": "is_write_vectored", "span": { "begin": [ - 330, + 339, 5 ], "end": [ - 332, + 341, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4219": { + "4218": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -381523,7 +400383,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4219, + "id": 4218, "inner": { "function": { "generics": { @@ -381567,7 +400427,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -381578,17 +400438,80 @@ "name": "flush", "span": { "begin": [ - 335, + 344, 5 ], "end": [ - 337, + 346, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, + "4219": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4219, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4220, + "path": "ChildStdin" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 4215, + 4216, + 4217, + 4218 + ], + "provided_trait_methods": [ + "write_vectored", + "is_write_vectored", + "write_all", + "write_all_vectored", + "write_fmt", + "by_ref" + ], + "trait": { + "args": null, + "id": 2484, + "path": "Write" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 330, + 1 + ], + "end": [ + 347, + 2 + ], + "filename": "std/src/process.rs" + }, + "visibility": "default" + }, "422": { "attrs": [], "crate_id": 1, @@ -381643,11 +400566,11 @@ "name": "clone_to_uninit", "span": { "begin": [ - 518, + 517, 5 ], "end": [ - 518, + 517, 52 ], "filename": "checkouts/rust/library/core/src/clone.rs" @@ -381655,69 +400578,6 @@ "visibility": "default" }, "4220": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4220, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4221, - "path": "ChildStdin" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 4216, - 4217, - 4218, - 4219 - ], - "provided_trait_methods": [ - "write_vectored", - "is_write_vectored", - "write_all", - "write_all_vectored", - "write_fmt", - "by_ref" - ], - "trait": { - "args": null, - "id": 2486, - "path": "Write" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 321, - 1 - ], - "end": [ - 338, - 2 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "4221": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -381726,7 +400586,7 @@ "crate_id": 0, "deprecation": null, "docs": "A handle to a child process's standard input (stdin).\n\nThis struct is used in the [`stdin`] field on [`Child`].\n\nWhen an instance of `ChildStdin` is [dropped], the `ChildStdin`'s underlying\nfile handle will be closed. If the child process was blocked on input prior\nto being dropped, it will become unblocked after dropping.\n\n[`stdin`]: Child::stdin\n[dropped]: Drop", - "id": 4221, + "id": 4220, "inner": { "struct": { "generics": { @@ -381734,33 +400594,33 @@ "where_predicates": [] }, "impls": [ - 6871, - 6872, - 6873, - 6874, - 6875, - 6876, - 6877, - 6878, - 6879, - 6880, - 6881, - 6882, - 6883, - 6061, - 6090, - 6164, - 6146, - 6148, - 5841, - 5714, - 5856, - 5867, - 5724, - 4220, - 4226, - 6885, - 6887 + 6909, + 6910, + 6911, + 6912, + 6913, + 6914, + 6915, + 6916, + 6917, + 6918, + 6919, + 6920, + 6921, + 6094, + 6123, + 6197, + 6179, + 6181, + 5872, + 5745, + 5887, + 5898, + 5755, + 4219, + 4225, + 6923, + 6925 ], "kind": { "plain": { @@ -381771,30 +400631,30 @@ } }, "links": { - "Child::stdin": 6848, + "Child::stdin": 6886, "Drop": 9, - "`Child`": 5388 + "`Child`": 5393 }, "name": "ChildStdin", "span": { "begin": [ - 310, + 319, 1 ], "end": [ - 312, + 321, 2 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "4222": { + "4221": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4222, + "id": 4221, "inner": { "function": { "generics": { @@ -381852,7 +400712,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -381863,23 +400723,23 @@ "name": "write", "span": { "begin": [ - 342, + 351, 5 ], "end": [ - 344, + 353, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4223": { + "4222": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4223, + "id": 4222, "inner": { "function": { "generics": { @@ -381926,7 +400786,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -381950,7 +400810,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -381961,23 +400821,23 @@ "name": "write_vectored", "span": { "begin": [ - 346, + 355, 5 ], "end": [ - 348, + 357, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4224": { + "4223": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4224, + "id": 4223, "inner": { "function": { "generics": { @@ -382017,18 +400877,18 @@ "name": "is_write_vectored", "span": { "begin": [ - 350, + 359, 5 ], "end": [ - 352, + 361, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4225": { + "4224": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -382037,7 +400897,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4225, + "id": 4224, "inner": { "function": { "generics": { @@ -382081,7 +400941,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -382092,18 +400952,18 @@ "name": "flush", "span": { "begin": [ - 355, + 364, 5 ], "end": [ - 357, + 366, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4226": { + "4225": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 48, patch: 0})}, feature: \"write_mt\"}}]" @@ -382112,7 +400972,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4226, + "id": 4225, "inner": { "impl": { "blanket_impl": null, @@ -382123,7 +400983,7 @@ "type": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } } @@ -382137,10 +400997,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4221, 4222, 4223, - 4224, - 4225 + 4224 ], "provided_trait_methods": [ "write_vectored", @@ -382152,7 +401012,7 @@ ], "trait": { "args": null, - "id": 2486, + "id": 2484, "path": "Write" } } @@ -382161,18 +401021,18 @@ "name": null, "span": { "begin": [ - 341, + 350, 1 ], "end": [ - 358, + 367, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "4227": { + "4226": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -382181,13 +401041,13 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the offset to the provided number of bytes.", - "id": 4227, + "id": 4226, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 4251 + 4250 ] } } @@ -382207,7 +401067,7 @@ }, "visibility": "default" }, - "4228": { + "4227": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"seek_rewind\"}}]" @@ -382216,7 +401076,7 @@ "crate_id": 0, "deprecation": null, "docs": "Rewind to the beginning of a stream.\n\nThis is a convenience method, equivalent to `seek(SeekFrom::Start(0))`.\n\n# Errors\n\nRewinding can fail, for example because it might involve flushing a buffer.\n\n# Example\n\n```no_run\nuse std::io::{Read, Seek, Write};\nuse std::fs::OpenOptions;\n\nlet mut f = OpenOptions::new()\n .write(true)\n .read(true)\n .create(true)\n .open(\"foo.txt\")?;\n\nlet hello = \"Hello!\\n\";\nwrite!(f, \"{hello}\")?;\nf.rewind()?;\n\nlet mut buf = String::new();\nf.read_to_string(&mut buf)?;\nassert_eq!(&buf, hello);\n# std::io::Result::Ok(())\n```", - "id": 4228, + "id": 4227, "inner": { "function": { "generics": { @@ -382260,7 +401120,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -382282,7 +401142,7 @@ }, "visibility": "default" }, - "4229": { + "4228": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"seek_seek_relative\"}}]" @@ -382291,7 +401151,7 @@ "crate_id": 0, "deprecation": null, "docs": "Seeks relative to the current position.\n\nThis is equivalent to `self.seek(SeekFrom::Current(offset))` but\ndoesn't return the new position which can allow some implementations\nsuch as [`BufReader`] to perform more efficient seeks.\n\n# Example\n\n```no_run\nuse std::{\n io::{self, Seek},\n fs::File,\n};\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n f.seek_relative(10)?;\n assert_eq!(f.stream_position()?, 10);\n Ok(())\n}\n```\n\n[`BufReader`]: crate::io::BufReader", - "id": 4229, + "id": 4228, "inner": { "function": { "generics": { @@ -382341,7 +401201,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -382349,7 +401209,7 @@ } }, "links": { - "crate::io::BufReader": 2409 + "crate::io::BufReader": 2407 }, "name": "seek_relative", "span": { @@ -382365,6 +401225,87 @@ }, "visibility": "default" }, + "4229": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4229, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pos", + { + "resolved_path": { + "args": null, + "id": 2487, + "path": "SeekFrom" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "seek", + "span": { + "begin": [ + 1547, + 5 + ], + "end": [ + 1549, + 6 + ], + "filename": "std/src/fs.rs" + }, + "visibility": "default" + }, "423": { "attrs": [], "crate_id": 0, @@ -382406,7 +401347,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -382438,11 +401379,11 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" @@ -382481,16 +401422,6 @@ } } } - ], - [ - "pos", - { - "resolved_path": { - "args": null, - "id": 2489, - "path": "SeekFrom" - } - } ] ], "is_c_variadic": false, @@ -382508,7 +401439,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -382516,14 +401447,14 @@ } }, "links": {}, - "name": "seek", + "name": "stream_len", "span": { "begin": [ - 1466, + 1550, 5 ], "end": [ - 1468, + 1552, 6 ], "filename": "std/src/fs.rs" @@ -382579,78 +401510,7 @@ "constraints": [] } }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "stream_len", - "span": { - "begin": [ - 1469, - 5 - ], - "end": [ - 1471, - 6 - ], - "filename": "std/src/fs.rs" - }, - "visibility": "default" - }, - "4232": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4232, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -382661,18 +401521,18 @@ "name": "stream_position", "span": { "begin": [ - 1472, + 1553, 5 ], "end": [ - 1474, + 1555, 6 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4233": { + "4232": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"io_traits_arc\"}}]" @@ -382681,7 +401541,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4233, + "id": 4232, "inner": { "impl": { "blanket_impl": null, @@ -382694,7 +401554,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -382715,9 +401575,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4229, 4230, - 4231, - 4232 + 4231 ], "provided_trait_methods": [ "rewind", @@ -382727,7 +401587,7 @@ ], "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -382736,18 +401596,18 @@ "name": null, "span": { "begin": [ - 1465, + 1546, 1 ], "end": [ - 1475, + 1556, 2 ], "filename": "std/src/fs.rs" }, "visibility": "default" }, - "4234": { + "4233": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -382756,7 +401616,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4234, + "id": 4233, "inner": { "function": { "generics": { @@ -382789,7 +401649,7 @@ { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -382810,7 +401670,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -382832,7 +401692,7 @@ }, "visibility": "default" }, - "4235": { + "4234": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -382841,7 +401701,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4235, + "id": 4234, "inner": { "function": { "generics": { @@ -382885,7 +401745,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -382907,7 +401767,7 @@ }, "visibility": "default" }, - "4236": { + "4235": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -382916,7 +401776,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4236, + "id": 4235, "inner": { "function": { "generics": { @@ -382960,7 +401820,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -382982,7 +401842,7 @@ }, "visibility": "default" }, - "4237": { + "4236": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -382991,7 +401851,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4237, + "id": 4236, "inner": { "function": { "generics": { @@ -383035,7 +401895,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -383057,7 +401917,7 @@ }, "visibility": "default" }, - "4238": { + "4237": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -383066,7 +401926,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4238, + "id": 4237, "inner": { "function": { "generics": { @@ -383116,7 +401976,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -383138,7 +401998,7 @@ }, "visibility": "default" }, - "4239": { + "4238": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -383147,7 +402007,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4239, + "id": 4238, "inner": { "impl": { "blanket_impl": null, @@ -383172,7 +402032,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -383202,11 +402062,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4233, 4234, 4235, 4236, - 4237, - 4238 + 4237 ], "provided_trait_methods": [ "rewind", @@ -383216,7 +402076,7 @@ ], "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -383236,7 +402096,7 @@ }, "visibility": "default" }, - "4240": { + "4239": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -383245,7 +402105,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4240, + "id": 4239, "inner": { "function": { "generics": { @@ -383278,7 +402138,7 @@ { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -383299,7 +402159,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -383321,7 +402181,7 @@ }, "visibility": "default" }, - "4241": { + "4240": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -383330,7 +402190,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4241, + "id": 4240, "inner": { "function": { "generics": { @@ -383374,7 +402234,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -383396,7 +402256,7 @@ }, "visibility": "default" }, - "4242": { + "4241": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -383405,7 +402265,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4242, + "id": 4241, "inner": { "function": { "generics": { @@ -383449,7 +402309,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -383471,7 +402331,7 @@ }, "visibility": "default" }, - "4243": { + "4242": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -383480,7 +402340,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4243, + "id": 4242, "inner": { "function": { "generics": { @@ -383524,7 +402384,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -383546,7 +402406,7 @@ }, "visibility": "default" }, - "4244": { + "4243": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -383555,7 +402415,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4244, + "id": 4243, "inner": { "function": { "generics": { @@ -383605,7 +402465,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -383627,7 +402487,7 @@ }, "visibility": "default" }, - "4245": { + "4244": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -383636,7 +402496,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4245, + "id": 4244, "inner": { "impl": { "blanket_impl": null, @@ -383654,7 +402514,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -383670,7 +402530,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -383700,11 +402560,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4239, 4240, 4241, 4242, - 4243, - 4244 + 4243 ], "provided_trait_methods": [ "rewind", @@ -383714,7 +402574,7 @@ ], "trait": { "args": null, - "id": 2407, + "id": 2405, "path": "Seek" } } @@ -383734,12 +402594,12 @@ }, "visibility": "default" }, - "4246": { + "4245": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4246, + "id": 4245, "inner": { "function": { "generics": { @@ -383772,7 +402632,7 @@ { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -383793,7 +402653,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -383815,12 +402675,12 @@ }, "visibility": "default" }, - "4247": { + "4246": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4247, + "id": 4246, "inner": { "function": { "generics": { @@ -383864,7 +402724,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -383886,12 +402746,12 @@ }, "visibility": "default" }, - "4248": { + "4247": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4248, + "id": 4247, "inner": { "function": { "generics": { @@ -383935,7 +402795,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -383957,12 +402817,12 @@ }, "visibility": "default" }, - "4249": { + "4248": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4249, + "id": 4248, "inner": { "function": { "generics": { @@ -384012,7 +402872,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -384034,6 +402894,101 @@ }, "visibility": "default" }, + "4249": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"seek_io_take\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4249, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 3997, + "path": "Take" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 2405, + "path": "Seek" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 4245, + 4246, + 4247, + 4248 + ], + "provided_trait_methods": [ + "rewind", + "stream_len", + "stream_position", + "seek_relative" + ], + "trait": { + "args": null, + "id": 2405, + "path": "Seek" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 3137, + 1 + ], + "end": [ + 3177, + 2 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "default" + }, "425": { "attrs": [], "crate_id": 0, @@ -384114,7 +403069,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -384139,11 +403094,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -384151,101 +403106,6 @@ "visibility": "default" }, "4250": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"seek_io_take\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4250, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 3998, - "path": "Take" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 2407, - "path": "Seek" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 4246, - 4247, - 4248, - 4249 - ], - "provided_trait_methods": [ - "rewind", - "stream_len", - "stream_position", - "seek_relative" - ], - "trait": { - "args": null, - "id": 2407, - "path": "Seek" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 3137, - 1 - ], - "end": [ - 3177, - 2 - ], - "filename": "std/src/io/mod.rs" - }, - "visibility": "default" - }, - "4251": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -384254,7 +403114,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4251, + "id": 4250, "inner": { "struct_field": { "primitive": "u64" @@ -384275,7 +403135,7 @@ }, "visibility": "default" }, - "4252": { + "4251": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -384284,7 +403144,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4252, + "id": 4251, "inner": { "struct_field": { "primitive": "i64" @@ -384305,7 +403165,7 @@ }, "visibility": "default" }, - "4253": { + "4252": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -384314,7 +403174,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4253, + "id": 4252, "inner": { "struct_field": { "primitive": "i64" @@ -384335,19 +403195,19 @@ }, "visibility": "default" }, - "4254": { + "4253": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4254, + "id": 4253, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -384372,19 +403232,19 @@ "span": null, "visibility": "default" }, - "4255": { + "4254": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4255, + "id": 4254, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -384409,19 +403269,19 @@ "span": null, "visibility": "default" }, - "4256": { + "4255": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4256, + "id": 4255, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -384436,7 +403296,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -384446,19 +403306,19 @@ "span": null, "visibility": "default" }, - "4257": { + "4256": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4257, + "id": 4256, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -384483,19 +403343,19 @@ "span": null, "visibility": "default" }, - "4258": { + "4257": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4258, + "id": 4257, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -384510,7 +403370,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -384520,19 +403380,19 @@ "span": null, "visibility": "default" }, - "4259": { + "4258": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4259, + "id": 4258, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -384547,7 +403407,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -384557,12 +403417,12 @@ "span": null, "visibility": "default" }, - "426": { + "4259": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 426, + "id": 4259, "inner": { "impl": { "blanket_impl": { @@ -384571,8 +403431,8 @@ "for": { "resolved_path": { "args": null, - "id": 384, - "path": "AccessError" + "id": 2487, + "path": "SeekFrom" } }, "generics": { @@ -384588,13 +403448,35 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 319 ], "provided_trait_methods": [], "trait": { @@ -384610,8 +403492,8 @@ "constraints": [] } }, - "id": 37, - "path": "From" + "id": 321, + "path": "Borrow" } } }, @@ -384619,23 +403501,23 @@ "name": null, "span": { "begin": [ - 791, + 212, 1 ], "end": [ - 791, - 28 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4260": { + "426": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4260, + "id": 426, "inner": { "impl": { "blanket_impl": { @@ -384644,8 +403526,8 @@ "for": { "resolved_path": { "args": null, - "id": 2489, - "path": "SeekFrom" + "id": 384, + "path": "AccessError" } }, "generics": { @@ -384661,35 +403543,13 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 327 ], "provided_trait_methods": [], "trait": { @@ -384705,8 +403565,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 37, + "path": "From" } } }, @@ -384714,23 +403574,23 @@ "name": null, "span": { "begin": [ - 209, + 785, 1 ], "end": [ - 209, - 32 + 785, + 28 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4261": { + "4260": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4261, + "id": 4260, "inner": { "impl": { "blanket_impl": { @@ -384739,7 +403599,7 @@ "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -384784,7 +403644,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -384800,7 +403660,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -384809,23 +403669,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4262": { + "4261": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4262, + "id": 4261, "inner": { "impl": { "blanket_impl": { @@ -384834,7 +403694,7 @@ "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -384861,7 +403721,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -384893,23 +403753,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "4263": { + "4262": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4263, + "id": 4262, "inner": { "impl": { "blanket_impl": { @@ -384918,7 +403778,7 @@ "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -384984,7 +403844,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -385009,23 +403869,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4264": { + "4263": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4264, + "id": 4263, "inner": { "impl": { "blanket_impl": { @@ -385034,7 +403894,7 @@ "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -385057,7 +403917,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -385082,23 +403942,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4265": { + "4264": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4265, + "id": 4264, "inner": { "impl": { "blanket_impl": { @@ -385107,7 +403967,7 @@ "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -385155,7 +404015,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -385173,8 +404033,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -385190,7 +404050,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -385199,23 +404059,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4266": { + "4265": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4266, + "id": 4265, "inner": { "impl": { "blanket_impl": { @@ -385224,7 +404084,7 @@ "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -385290,8 +404150,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -385307,7 +404167,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -385316,23 +404176,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4267": { + "4266": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4267, + "id": 4266, "inner": { "impl": { "blanket_impl": { @@ -385341,7 +404201,7 @@ "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -385389,12 +404249,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -385414,12 +404274,12 @@ }, "visibility": "default" }, - "4268": { + "4267": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4268, + "id": 4267, "inner": { "impl": { "blanket_impl": { @@ -385428,7 +404288,7 @@ "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -385455,7 +404315,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -385482,7 +404342,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -385491,18 +404351,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "4269": { + "4268": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -385512,14 +404372,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4269, + "id": 4268, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -385534,7 +404394,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -385554,6 +404414,58 @@ }, "visibility": "default" }, + "4269": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4269, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2487, + "path": "SeekFrom" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 442, + "path": "StructuralPartialEq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2182, + 16 + ], + "end": [ + 2182, + 25 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "default" + }, "427": { "attrs": [], "crate_id": 0, @@ -385616,7 +404528,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -385634,8 +404546,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -385651,7 +404563,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -385660,11 +404572,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -385672,58 +404584,6 @@ "visibility": "default" }, "4270": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4270, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2489, - "path": "SeekFrom" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 442, - "path": "StructuralPartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2182, - 16 - ], - "end": [ - 2182, - 25 - ], - "filename": "std/src/io/mod.rs" - }, - "visibility": "default" - }, - "4271": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -385732,7 +404592,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4271, + "id": 4270, "inner": { "function": { "generics": { @@ -385769,7 +404629,7 @@ "type": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -385799,7 +404659,7 @@ }, "visibility": "default" }, - "4272": { + "4271": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -385809,14 +404669,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4272, + "id": 4271, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -385828,14 +404688,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4271 + 4270 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -385855,7 +404715,7 @@ }, "visibility": "default" }, - "4273": { + "4272": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -385865,14 +404725,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4273, + "id": 4272, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -385889,7 +404749,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -385909,7 +404769,7 @@ }, "visibility": "default" }, - "4274": { + "4273": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -385918,7 +404778,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4274, + "id": 4273, "inner": { "function": { "generics": { @@ -385951,7 +404811,7 @@ "output": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } } @@ -385973,7 +404833,7 @@ }, "visibility": "default" }, - "4275": { + "4274": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -385983,14 +404843,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4275, + "id": 4274, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -386002,14 +404862,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4274 + 4273 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -386029,7 +404889,7 @@ }, "visibility": "default" }, - "4276": { + "4275": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -386038,7 +404898,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4276, + "id": 4275, "inner": { "function": { "generics": { @@ -386084,7 +404944,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -386096,7 +404956,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -386118,7 +404978,7 @@ }, "visibility": "default" }, - "4277": { + "4276": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -386128,14 +404988,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4277, + "id": 4276, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2489, + "id": 2487, "path": "SeekFrom" } }, @@ -386147,12 +405007,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4276 + 4275 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -386172,7 +405032,7 @@ }, "visibility": "default" }, - "4278": { + "4277": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"recently added\"),\nissue: 86423, is_soft: false}, feature: \"buf_read_has_data_left\"}}]" @@ -386181,7 +405041,7 @@ "crate_id": 0, "deprecation": null, "docs": "Checks if there is any data left to be `read`.\n\nThis function may fill the buffer to check for data,\nso this function returns `Result`, not `bool`.\n\nThe default implementation calls `fill_buf` and checks that the\nreturned slice is empty (which means that there is no data left,\nsince EOF is reached).\n\n# Errors\n\nThis function will return an I/O error if a `Read` method was called, but returned an error.\n\nExamples\n\n```\n#![feature(buf_read_has_data_left)]\nuse std::io;\nuse std::io::prelude::*;\n\nlet stdin = io::stdin();\nlet mut stdin = stdin.lock();\n\nwhile stdin.has_data_left()? {\n let mut line = String::new();\n stdin.read_line(&mut line)?;\n // work with line\n println!(\"{line:?}\");\n}\n# std::io::Result::Ok(())\n```", - "id": 4278, + "id": 4277, "inner": { "function": { "generics": { @@ -386225,7 +405085,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -386247,7 +405107,7 @@ }, "visibility": "default" }, - "4279": { + "4278": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -386256,7 +405116,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reads all bytes into `buf` until the delimiter `byte` or EOF is reached.\n\nThis function will read bytes from the underlying stream until the\ndelimiter or EOF is found. Once found, all bytes up to, and including,\nthe delimiter (if found) will be appended to `buf`.\n\nIf successful, this function will return the total number of bytes read.\n\nThis function is blocking and should be used carefully: it is possible for\nan attacker to continuously send bytes without ever sending the delimiter\nor EOF.\n\n# Errors\n\nThis function will ignore all instances of [`ErrorKind::Interrupted`] and\nwill otherwise return any errors returned by [`fill_buf`].\n\nIf an I/O error is encountered then all bytes read so far will be\npresent in `buf` and its length will have been adjusted appropriately.\n\n[`fill_buf`]: BufRead::fill_buf\n\n# Examples\n\n[`std::io::Cursor`][`Cursor`] is a type that implements `BufRead`. In\nthis example, we use [`Cursor`] to read all the bytes in a byte slice\nin hyphen delimited segments:\n\n```\nuse std::io::{self, BufRead};\n\nlet mut cursor = io::Cursor::new(b\"lorem-ipsum\");\nlet mut buf = vec![];\n\n// cursor is at 'l'\nlet num_bytes = cursor.read_until(b'-', &mut buf)\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 6);\nassert_eq!(buf, b\"lorem-\");\nbuf.clear();\n\n// cursor is at 'i'\nlet num_bytes = cursor.read_until(b'-', &mut buf)\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 5);\nassert_eq!(buf, b\"ipsum\");\nbuf.clear();\n\n// cursor is at EOF\nlet num_bytes = cursor.read_until(b'-', &mut buf)\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 0);\nassert_eq!(buf, b\"\");\n```", - "id": 4279, + "id": 4278, "inner": { "function": { "generics": { @@ -386310,7 +405170,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -386333,7 +405193,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -386341,7 +405201,7 @@ } }, "links": { - "BufRead::fill_buf": 3057, + "BufRead::fill_buf": 3059, "`Cursor`": 3232, "`ErrorKind::Interrupted`": 2958 }, @@ -386359,6 +405219,91 @@ }, "visibility": "default" }, + "4279": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"bufread_skip_until\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Skips all bytes until the delimiter `byte` or EOF is reached.\n\nThis function will read (and discard) bytes from the underlying stream until the\ndelimiter or EOF is found.\n\nIf successful, this function will return the total number of bytes read,\nincluding the delimiter byte if found.\n\nThis is useful for efficiently skipping data such as NUL-terminated strings\nin binary file formats without buffering.\n\nThis function is blocking and should be used carefully: it is possible for\nan attacker to continuously send bytes without ever sending the delimiter\nor EOF.\n\n# Errors\n\nThis function will ignore all instances of [`ErrorKind::Interrupted`] and\nwill otherwise return any errors returned by [`fill_buf`].\n\nIf an I/O error is encountered then all bytes read so far will be\npresent in `buf` and its length will have been adjusted appropriately.\n\n[`fill_buf`]: BufRead::fill_buf\n\n# Examples\n\n[`std::io::Cursor`][`Cursor`] is a type that implements `BufRead`. In\nthis example, we use [`Cursor`] to read some NUL-terminated information\nabout Ferris from a binary string, skipping the fun fact:\n\n```\nuse std::io::{self, BufRead};\n\nlet mut cursor = io::Cursor::new(b\"Ferris\\0Likes long walks on the beach\\0Crustacean\\0!\");\n\n// read name\nlet mut name = Vec::new();\nlet num_bytes = cursor.read_until(b'\\0', &mut name)\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 7);\nassert_eq!(name, b\"Ferris\\0\");\n\n// skip fun fact\nlet num_bytes = cursor.skip_until(b'\\0')\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 30);\n\n// read animal type\nlet mut animal = Vec::new();\nlet num_bytes = cursor.read_until(b'\\0', &mut animal)\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 11);\nassert_eq!(animal, b\"Crustacean\\0\");\n\n// reach EOF\nlet num_bytes = cursor.skip_until(b'\\0')\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 1);\n```", + "id": 4279, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "byte", + { + "primitive": "u8" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "Result" + } + } + } + } + }, + "links": { + "BufRead::fill_buf": 3059, + "`Cursor`": 3232, + "`ErrorKind::Interrupted`": 2958 + }, + "name": "skip_until", + "span": { + "begin": [ + 2519, + 5 + ], + "end": [ + 2521, + 6 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "default" + }, "428": { "attrs": [], "crate_id": 0, @@ -386439,8 +405384,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -386456,7 +405401,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -386465,11 +405410,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -386477,91 +405422,6 @@ "visibility": "default" }, "4280": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"bufread_skip_until\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Skips all bytes until the delimiter `byte` or EOF is reached.\n\nThis function will read (and discard) bytes from the underlying stream until the\ndelimiter or EOF is found.\n\nIf successful, this function will return the total number of bytes read,\nincluding the delimiter byte if found.\n\nThis is useful for efficiently skipping data such as NUL-terminated strings\nin binary file formats without buffering.\n\nThis function is blocking and should be used carefully: it is possible for\nan attacker to continuously send bytes without ever sending the delimiter\nor EOF.\n\n# Errors\n\nThis function will ignore all instances of [`ErrorKind::Interrupted`] and\nwill otherwise return any errors returned by [`fill_buf`].\n\nIf an I/O error is encountered then all bytes read so far will be\npresent in `buf` and its length will have been adjusted appropriately.\n\n[`fill_buf`]: BufRead::fill_buf\n\n# Examples\n\n[`std::io::Cursor`][`Cursor`] is a type that implements `BufRead`. In\nthis example, we use [`Cursor`] to read some NUL-terminated information\nabout Ferris from a binary string, skipping the fun fact:\n\n```\nuse std::io::{self, BufRead};\n\nlet mut cursor = io::Cursor::new(b\"Ferris\\0Likes long walks on the beach\\0Crustacean\\0!\");\n\n// read name\nlet mut name = Vec::new();\nlet num_bytes = cursor.read_until(b'\\0', &mut name)\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 7);\nassert_eq!(name, b\"Ferris\\0\");\n\n// skip fun fact\nlet num_bytes = cursor.skip_until(b'\\0')\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 30);\n\n// read animal type\nlet mut animal = Vec::new();\nlet num_bytes = cursor.read_until(b'\\0', &mut animal)\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 11);\nassert_eq!(animal, b\"Crustacean\\0\");\n\n// reach EOF\nlet num_bytes = cursor.skip_until(b'\\0')\n .expect(\"reading from cursor won't fail\");\nassert_eq!(num_bytes, 1);\n```", - "id": 4280, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "byte", - { - "primitive": "u8" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "Result" - } - } - } - } - }, - "links": { - "BufRead::fill_buf": 3057, - "`Cursor`": 3232, - "`ErrorKind::Interrupted`": 2958 - }, - "name": "skip_until", - "span": { - "begin": [ - 2519, - 5 - ], - "end": [ - 2521, - 6 - ], - "filename": "std/src/io/mod.rs" - }, - "visibility": "default" - }, - "4281": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -386570,7 +405430,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns an iterator over the contents of this reader split on the byte\n`byte`.\n\nThe iterator returned from this function will return instances of\n[io::Result]<[Vec]\\>. Each vector returned will *not* have\nthe delimiter byte at the end.\n\nThis function will yield errors whenever [`read_until`] would have\nalso yielded an error.\n\n[io::Result]: self::Result \"io::Result\"\n[`read_until`]: BufRead::read_until\n\n# Examples\n\n[`std::io::Cursor`][`Cursor`] is a type that implements `BufRead`. In\nthis example, we use [`Cursor`] to iterate over all hyphen delimited\nsegments in a byte slice\n\n```\nuse std::io::{self, BufRead};\n\nlet cursor = io::Cursor::new(b\"lorem-ipsum-dolor\");\n\nlet mut split_iter = cursor.split(b'-').map(|l| l.unwrap());\nassert_eq!(split_iter.next(), Some(b\"lorem\".to_vec()));\nassert_eq!(split_iter.next(), Some(b\"ipsum\".to_vec()));\nassert_eq!(split_iter.next(), Some(b\"dolor\".to_vec()));\nassert_eq!(split_iter.next(), None);\n```", - "id": 4281, + "id": 4280, "inner": { "function": { "generics": { @@ -386636,7 +405496,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } } @@ -386644,10 +405504,10 @@ } }, "links": { - "BufRead::read_until": 4279, - "Vec": 165, + "BufRead::read_until": 4278, + "Vec": 163, "`Cursor`": 3232, - "self::Result": 468 + "self::Result": 469 }, "name": "split", "span": { @@ -386663,7 +405523,7 @@ }, "visibility": "default" }, - "4282": { + "4281": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -386672,7 +405532,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over the contents of an instance of `BufRead` split on a\nparticular byte.\n\nThis struct is generally created by calling [`split`] on a `BufRead`.\nPlease see the documentation of [`split`] for more details.\n\n[`split`]: BufRead::split", - "id": 4282, + "id": 4281, "inner": { "struct": { "generics": { @@ -386691,6 +405551,7 @@ "where_predicates": [] }, "impls": [ + 4379, 4380, 4381, 4382, @@ -386704,9 +405565,8 @@ 4390, 4391, 4392, - 4393, - 4395, - 4398 + 4394, + 4397 ], "kind": { "plain": { @@ -386717,7 +405577,7 @@ } }, "links": { - "BufRead::split": 4281 + "BufRead::split": 4280 }, "name": "Split", "span": { @@ -386733,7 +405593,7 @@ }, "visibility": "public" }, - "4283": { + "4282": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -386742,7 +405602,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4283, + "id": 4282, "inner": { "function": { "generics": { @@ -386794,7 +405654,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -386816,7 +405676,7 @@ }, "visibility": "default" }, - "4284": { + "4283": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -386825,7 +405685,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4284, + "id": 4283, "inner": { "function": { "generics": { @@ -386880,7 +405740,7 @@ }, "visibility": "default" }, - "4285": { + "4284": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -386889,7 +405749,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4285, + "id": 4284, "inner": { "function": { "generics": { @@ -386933,7 +405793,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -386955,7 +405815,7 @@ }, "visibility": "default" }, - "4286": { + "4285": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -386964,7 +405824,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4286, + "id": 4285, "inner": { "function": { "generics": { @@ -387018,7 +405878,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -387041,7 +405901,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -387063,7 +405923,7 @@ }, "visibility": "default" }, - "4287": { + "4286": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -387072,7 +405932,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4287, + "id": 4286, "inner": { "function": { "generics": { @@ -387122,7 +405982,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -387144,7 +406004,7 @@ }, "visibility": "default" }, - "4288": { + "4287": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -387153,7 +406013,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4288, + "id": 4287, "inner": { "function": { "generics": { @@ -387190,7 +406050,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -387213,7 +406073,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -387235,7 +406095,7 @@ }, "visibility": "default" }, - "4289": { + "4288": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -387244,7 +406104,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4289, + "id": 4288, "inner": { "impl": { "blanket_impl": null, @@ -387269,7 +406129,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -387299,12 +406159,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4282, 4283, 4284, 4285, 4286, - 4287, - 4288 + 4287 ], "provided_trait_methods": [ "has_data_left", @@ -387316,7 +406176,7 @@ ], "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -387336,6 +406196,89 @@ }, "visibility": "default" }, + "4289": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4289, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "fill_buf", + "span": { + "begin": [ + 260, + 5 + ], + "end": [ + 262, + 6 + ], + "filename": "std/src/io/impls.rs" + }, + "visibility": "default" + }, "429": { "attrs": [], "crate_id": 0, @@ -387398,12 +406341,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -387433,89 +406376,6 @@ "deprecation": null, "docs": null, "id": 4290, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "fill_buf", - "span": { - "begin": [ - 260, - 5 - ], - "end": [ - 262, - 6 - ], - "filename": "std/src/io/impls.rs" - }, - "visibility": "default" - }, - "4291": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4291, "inner": { "function": { "generics": { @@ -387570,7 +406430,7 @@ }, "visibility": "default" }, - "4292": { + "4291": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -387579,7 +406439,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4292, + "id": 4291, "inner": { "function": { "generics": { @@ -387623,7 +406483,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -387645,7 +406505,7 @@ }, "visibility": "default" }, - "4293": { + "4292": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -387654,7 +406514,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4293, + "id": 4292, "inner": { "function": { "generics": { @@ -387708,7 +406568,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -387731,7 +406591,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -387753,7 +406613,7 @@ }, "visibility": "default" }, - "4294": { + "4293": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -387762,7 +406622,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4294, + "id": 4293, "inner": { "function": { "generics": { @@ -387812,7 +406672,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -387834,7 +406694,7 @@ }, "visibility": "default" }, - "4295": { + "4294": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -387843,7 +406703,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4295, + "id": 4294, "inner": { "function": { "generics": { @@ -387880,7 +406740,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -387903,7 +406763,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -387925,7 +406785,7 @@ }, "visibility": "default" }, - "4296": { + "4295": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -387934,7 +406794,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4296, + "id": 4295, "inner": { "impl": { "blanket_impl": null, @@ -387952,7 +406812,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -387968,7 +406828,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -387998,12 +406858,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4289, 4290, 4291, 4292, 4293, - 4294, - 4295 + 4294 ], "provided_trait_methods": [ "has_data_left", @@ -388015,7 +406875,7 @@ ], "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -388035,7 +406895,7 @@ }, "visibility": "default" }, - "4297": { + "4296": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -388044,7 +406904,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4297, + "id": 4296, "inner": { "function": { "generics": { @@ -388096,7 +406956,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -388118,7 +406978,7 @@ }, "visibility": "default" }, - "4298": { + "4297": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -388127,7 +406987,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4298, + "id": 4297, "inner": { "function": { "generics": { @@ -388182,7 +407042,7 @@ }, "visibility": "default" }, - "4299": { + "4298": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -388191,7 +407051,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4299, + "id": 4298, "inner": { "impl": { "blanket_impl": null, @@ -388214,8 +407074,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4297, - 4298 + 4296, + 4297 ], "provided_trait_methods": [ "has_data_left", @@ -388227,7 +407087,7 @@ ], "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -388247,40 +407107,7 @@ }, "visibility": "default" }, - "430": { - "attrs": [], - "crate_id": 2, - "deprecation": null, - "docs": null, - "id": 430, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "T" - } - } - }, - "links": {}, - "name": "Owned", - "span": { - "begin": [ - 86, - 5 - ], - "end": [ - 86, - 15 - ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" - }, - "visibility": "default" - }, - "4300": { + "4299": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -388289,7 +407116,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the contents of the \"front\" slice as returned by\n[`as_slices`][`VecDeque::as_slices`]. If the contained byte slices of the `VecDeque` are\ndiscontiguous, multiple calls to `fill_buf` will be needed to read the entire content.", - "id": 4300, + "id": 4299, "inner": { "function": { "generics": { @@ -388341,7 +407168,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -388349,7 +407176,7 @@ } }, "links": { - "`VecDeque::as_slices`": 4034 + "`VecDeque::as_slices`": 4033 }, "name": "fill_buf", "span": { @@ -388365,7 +407192,40 @@ }, "visibility": "default" }, - "4301": { + "430": { + "attrs": [], + "crate_id": 2, + "deprecation": null, + "docs": null, + "id": 430, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } + } + }, + "links": {}, + "name": "Owned", + "span": { + "begin": [ + 89, + 5 + ], + "end": [ + 89, + 15 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "4300": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -388374,7 +407234,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4301, + "id": 4300, "inner": { "function": { "generics": { @@ -388429,7 +407289,7 @@ }, "visibility": "default" }, - "4302": { + "4301": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 75, patch: 0})}, feature: \"vecdeque_buf_read\"}}]" @@ -388438,7 +407298,7 @@ "crate_id": 0, "deprecation": null, "docs": "BufRead is implemented for `VecDeque` by reading bytes from the front of the `VecDeque`.", - "id": 4302, + "id": 4301, "inner": { "impl": { "blanket_impl": null, @@ -388461,7 +407321,7 @@ "constraints": [] } }, - "id": 1640, + "id": 1639, "path": "crate::collections::VecDeque" } }, @@ -388496,8 +407356,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4300, - 4301 + 4299, + 4300 ], "provided_trait_methods": [ "has_data_left", @@ -388509,7 +407369,7 @@ ], "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -388529,12 +407389,12 @@ }, "visibility": "default" }, - "4303": { + "4302": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4303, + "id": 4302, "inner": { "function": { "generics": { @@ -388586,7 +407446,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -388608,12 +407468,12 @@ }, "visibility": "default" }, - "4304": { + "4303": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4304, + "id": 4303, "inner": { "function": { "generics": { @@ -388668,12 +407528,12 @@ }, "visibility": "default" }, - "4305": { + "4304": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4305, + "id": 4304, "inner": { "function": { "generics": { @@ -388727,7 +407587,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -388750,7 +407610,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -388772,7 +407632,7 @@ }, "visibility": "default" }, - "4306": { + "4305": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"chain_bufread\"}}]" @@ -388781,7 +407641,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4306, + "id": 4305, "inner": { "impl": { "blanket_impl": null, @@ -388804,7 +407664,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -388820,7 +407680,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -388842,7 +407702,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -388861,9 +407721,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4302, 4303, - 4304, - 4305 + 4304 ], "provided_trait_methods": [ "has_data_left", @@ -388875,7 +407735,7 @@ ], "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -388895,12 +407755,12 @@ }, "visibility": "default" }, - "4307": { + "4306": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4307, + "id": 4306, "inner": { "function": { "generics": { @@ -388952,7 +407812,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -388974,12 +407834,12 @@ }, "visibility": "default" }, - "4308": { + "4307": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4308, + "id": 4307, "inner": { "function": { "generics": { @@ -389034,7 +407894,7 @@ }, "visibility": "default" }, - "4309": { + "4308": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -389043,7 +407903,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4309, + "id": 4308, "inner": { "impl": { "blanket_impl": null, @@ -389061,7 +407921,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -389077,7 +407937,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -389096,8 +407956,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4307, - 4308 + 4306, + 4307 ], "provided_trait_methods": [ "has_data_left", @@ -389109,7 +407969,7 @@ ], "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -389174,18 +408034,18 @@ "name": "to_owned", "span": { "begin": [ - 87, + 90, 5 ], "end": [ - 87, + 90, 28 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "4313": { + "4312": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"more_io_inner_methods\"}}]" @@ -389194,7 +408054,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes the `Chain`, returning the wrapped readers.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut foo_file = File::open(\"foo.txt\")?;\n let mut bar_file = File::open(\"bar.txt\")?;\n\n let chain = foo_file.chain(bar_file);\n let (foo_file, bar_file) = chain.into_inner();\n Ok(())\n}\n```", - "id": 4313, + "id": 4312, "inner": { "function": { "generics": { @@ -389246,7 +408106,7 @@ }, "visibility": "public" }, - "4314": { + "4313": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"more_io_inner_methods\"}}]" @@ -389255,7 +408115,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets references to the underlying readers in this `Chain`.\n\nCare should be taken to avoid modifying the internal I/O state of the\nunderlying readers as doing so may corrupt the internal state of this\n`Chain`.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut foo_file = File::open(\"foo.txt\")?;\n let mut bar_file = File::open(\"bar.txt\")?;\n\n let chain = foo_file.chain(bar_file);\n let (foo_file, bar_file) = chain.get_ref();\n Ok(())\n}\n```", - "id": 4314, + "id": 4313, "inner": { "function": { "generics": { @@ -389325,7 +408185,7 @@ }, "visibility": "public" }, - "4315": { + "4314": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"more_io_inner_methods\"}}]" @@ -389334,7 +408194,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets mutable references to the underlying readers in this `Chain`.\n\nCare should be taken to avoid modifying the internal I/O state of the\nunderlying readers as doing so may corrupt the internal state of this\n`Chain`.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut foo_file = File::open(\"foo.txt\")?;\n let mut bar_file = File::open(\"bar.txt\")?;\n\n let mut chain = foo_file.chain(bar_file);\n let (foo_file, bar_file) = chain.get_mut();\n Ok(())\n}\n```", - "id": 4315, + "id": 4314, "inner": { "function": { "generics": { @@ -389404,12 +408264,12 @@ }, "visibility": "public" }, - "4316": { + "4315": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4316, + "id": 4315, "inner": { "impl": { "blanket_impl": null, @@ -389432,7 +408292,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -389465,9 +408325,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4312, 4313, - 4314, - 4315 + 4314 ], "provided_trait_methods": [], "trait": null @@ -389488,12 +408348,12 @@ }, "visibility": "default" }, - "4317": { + "4316": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4317, + "id": 4316, "inner": { "impl": { "blanket_impl": null, @@ -389516,7 +408376,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -389605,12 +408465,12 @@ "span": null, "visibility": "default" }, - "4318": { + "4317": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4318, + "id": 4317, "inner": { "impl": { "blanket_impl": null, @@ -389633,7 +408493,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -389722,12 +408582,12 @@ "span": null, "visibility": "default" }, - "4319": { + "4318": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4319, + "id": 4318, "inner": { "impl": { "blanket_impl": null, @@ -389750,7 +408610,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -389787,7 +408647,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -389808,7 +408668,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -389829,7 +408689,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -389839,6 +408699,123 @@ "span": null, "visibility": "default" }, + "4319": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4319, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 3995, + "path": "Chain" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, "432": { "attrs": [], "crate_id": 2, @@ -389894,11 +408871,11 @@ "name": "clone_into", "span": { "begin": [ - 91, + 94, 5 ], "end": [ - 91, + 94, 41 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" @@ -389933,7 +408910,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -389970,8 +408947,8 @@ "modifier": "none", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } } @@ -389991,8 +408968,8 @@ "modifier": "none", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } } @@ -390012,8 +408989,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -390050,7 +409027,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -390088,7 +409065,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } } @@ -390109,7 +409086,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } } @@ -390130,7 +409107,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -390145,123 +409122,6 @@ "deprecation": null, "docs": null, "id": 4322, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 3996, - "path": "Chain" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4323": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4323, "inner": { "impl": { "blanket_impl": { @@ -390286,7 +409146,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -390331,7 +409191,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -390347,7 +409207,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -390356,23 +409216,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4324": { + "4323": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4324, + "id": 4323, "inner": { "impl": { "blanket_impl": { @@ -390397,7 +409257,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -390442,7 +409302,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -390458,7 +409318,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -390467,23 +409327,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4325": { + "4324": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4325, + "id": 4324, "inner": { "impl": { "blanket_impl": { @@ -390508,7 +409368,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -390574,7 +409434,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -390599,23 +409459,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4326": { + "4325": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4326, + "id": 4325, "inner": { "impl": { "blanket_impl": { @@ -390640,7 +409500,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -390663,7 +409523,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -390688,23 +409548,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4327": { + "4326": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4327, + "id": 4326, "inner": { "impl": { "blanket_impl": { @@ -390729,7 +409589,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -390777,7 +409637,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -390795,8 +409655,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -390812,7 +409672,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -390821,23 +409681,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4328": { + "4327": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4328, + "id": 4327, "inner": { "impl": { "blanket_impl": { @@ -390862,7 +409722,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -390928,8 +409788,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -390945,7 +409805,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -390954,23 +409814,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4329": { + "4328": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4329, + "id": 4328, "inner": { "impl": { "blanket_impl": { @@ -390995,7 +409855,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -391043,12 +409903,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -391068,95 +409928,7 @@ }, "visibility": "default" }, - "433": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 433, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 82, - 1 - ], - "end": [ - 84, - 14 - ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" - }, - "visibility": "default" - }, - "4330": { + "4329": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -391165,7 +409937,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4330, + "id": 4329, "inner": { "function": { "generics": { @@ -391211,7 +409983,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -391223,7 +409995,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -391245,7 +410017,95 @@ }, "visibility": "default" }, - "4331": { + "433": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 433, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 85, + 1 + ], + "end": [ + 87, + 14 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "4330": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -391255,7 +410115,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4331, + "id": 4330, "inner": { "impl": { "blanket_impl": null, @@ -391278,7 +410138,7 @@ "constraints": [] } }, - "id": 3996, + "id": 3995, "path": "Chain" } }, @@ -391294,7 +410154,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } @@ -391316,7 +410176,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } @@ -391335,12 +410195,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4330 + 4329 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -391360,7 +410220,7 @@ }, "visibility": "default" }, - "4335": { + "4334": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -391369,7 +410229,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of bytes that can be read before this instance will\nreturn EOF.\n\n# Note\n\nThis instance may reach `EOF` after reading fewer bytes than indicated by\nthis method if the underlying [`Read`] instance reaches EOF.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n\n // read at most five bytes\n let handle = f.take(5);\n\n println!(\"limit: {}\", handle.limit());\n Ok(())\n}\n```", - "id": 4335, + "id": 4334, "inner": { "function": { "generics": { @@ -391406,7 +410266,7 @@ } }, "links": { - "`Read`": 2476 + "`Read`": 2474 }, "name": "limit", "span": { @@ -391422,7 +410282,7 @@ }, "visibility": "public" }, - "4336": { + "4335": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 97227, is_soft: false}, feature: \"seek_io_take_position\"}}]" @@ -391431,7 +410291,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of bytes read so far.", - "id": 4336, + "id": 4335, "inner": { "function": { "generics": { @@ -391482,7 +410342,7 @@ }, "visibility": "public" }, - "4337": { + "4336": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"take_set_limit\"}}]" @@ -391491,7 +410351,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the number of bytes that can be read before this instance will\nreturn EOF. This is the same as constructing a new `Take` instance, so\nthe amount of bytes read and the previous limit value don't matter when\ncalling this method.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n\n // read at most five bytes\n let mut handle = f.take(5);\n handle.set_limit(10);\n\n assert_eq!(handle.limit(), 10);\n Ok(())\n}\n```", - "id": 4337, + "id": 4336, "inner": { "function": { "generics": { @@ -391546,7 +410406,7 @@ }, "visibility": "public" }, - "4338": { + "4337": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"io_take_into_inner\"}}]" @@ -391555,7 +410415,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes the `Take`, returning the wrapped reader.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut file = File::open(\"foo.txt\")?;\n\n let mut buffer = [0; 5];\n let mut handle = file.take(5);\n handle.read(&mut buffer)?;\n\n let file = handle.into_inner();\n Ok(())\n}\n```", - "id": 4338, + "id": 4337, "inner": { "function": { "generics": { @@ -391600,7 +410460,7 @@ }, "visibility": "public" }, - "4339": { + "4338": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"more_io_inner_methods\"}}]" @@ -391609,7 +410469,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets a reference to the underlying reader.\n\nCare should be taken to avoid modifying the internal I/O state of the\nunderlying reader as doing so may corrupt the internal limit of this\n`Take`.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut file = File::open(\"foo.txt\")?;\n\n let mut buffer = [0; 5];\n let mut handle = file.take(5);\n handle.read(&mut buffer)?;\n\n let file = handle.get_ref();\n Ok(())\n}\n```", - "id": 4339, + "id": 4338, "inner": { "function": { "generics": { @@ -391666,12 +410526,16 @@ }, "visibility": "public" }, - "434": { - "attrs": [], - "crate_id": 2, + "4339": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"more_io_inner_methods\"}}]" + } + ], + "crate_id": 0, "deprecation": null, - "docs": null, - "id": 434, + "docs": "Gets a mutable reference to the underlying reader.\n\nCare should be taken to avoid modifying the internal I/O state of the\nunderlying reader as doing so may corrupt the internal limit of this\n`Take`.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut file = File::open(\"foo.txt\")?;\n\n let mut buffer = [0; 5];\n let mut handle = file.take(5);\n handle.read(&mut buffer)?;\n\n let file = handle.get_mut();\n Ok(())\n}\n```", + "id": 4339, "inner": { "function": { "generics": { @@ -391691,7 +410555,7 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" @@ -391702,40 +410566,38 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "to_string", + "name": "get_mut", "span": { "begin": [ - 2808, + 3031, 5 ], "end": [ - 2808, - 34 + 3033, + 6 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "std/src/io/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "4340": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"more_io_inner_methods\"}}]" - } - ], - "crate_id": 0, + "434": { + "attrs": [], + "crate_id": 2, "deprecation": null, - "docs": "Gets a mutable reference to the underlying reader.\n\nCare should be taken to avoid modifying the internal I/O state of the\nunderlying reader as doing so may corrupt the internal limit of this\n`Take`.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut file = File::open(\"foo.txt\")?;\n\n let mut buffer = [0; 5];\n let mut handle = file.take(5);\n handle.read(&mut buffer)?;\n\n let file = handle.get_mut();\n Ok(())\n}\n```", - "id": 4340, + "docs": null, + "id": 434, "inner": { "function": { "generics": { @@ -391755,7 +410617,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -391766,38 +410628,36 @@ ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } + "resolved_path": { + "args": null, + "id": 159, + "path": "String" } } } } }, "links": {}, - "name": "get_mut", + "name": "to_string", "span": { "begin": [ - 3031, + 2868, 5 ], "end": [ - 3033, - 6 + 2868, + 34 ], - "filename": "std/src/io/mod.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, - "visibility": "public" + "visibility": "default" }, - "4341": { + "4340": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4341, + "id": 4340, "inner": { "impl": { "blanket_impl": null, @@ -391815,7 +410675,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -391838,12 +410698,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4334, 4335, 4336, 4337, 4338, - 4339, - 4340 + 4339 ], "provided_trait_methods": [], "trait": null @@ -391864,12 +410724,12 @@ }, "visibility": "default" }, - "4342": { + "4341": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4342, + "id": 4341, "inner": { "impl": { "blanket_impl": null, @@ -391887,7 +410747,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -391945,12 +410805,12 @@ "span": null, "visibility": "default" }, - "4343": { + "4342": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4343, + "id": 4342, "inner": { "impl": { "blanket_impl": null, @@ -391968,7 +410828,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -392026,12 +410886,12 @@ "span": null, "visibility": "default" }, - "4344": { + "4343": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4344, + "id": 4343, "inner": { "impl": { "blanket_impl": null, @@ -392049,7 +410909,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -392076,7 +410936,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -392097,7 +410957,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -392107,12 +410967,12 @@ "span": null, "visibility": "default" }, - "4345": { + "4344": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4345, + "id": 4344, "inner": { "impl": { "blanket_impl": null, @@ -392130,7 +410990,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -392188,12 +411048,12 @@ "span": null, "visibility": "default" }, - "4346": { + "4345": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4346, + "id": 4345, "inner": { "impl": { "blanket_impl": null, @@ -392211,7 +411071,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -392238,7 +411098,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -392259,7 +411119,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -392269,12 +411129,12 @@ "span": null, "visibility": "default" }, - "4347": { + "4346": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4347, + "id": 4346, "inner": { "impl": { "blanket_impl": null, @@ -392292,7 +411152,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -392319,7 +411179,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -392340,7 +411200,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -392350,118 +411210,12 @@ "span": null, "visibility": "default" }, - "4348": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4348, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 3998, - "path": "Take" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "4349": { + "4347": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4349, + "id": 4347, "inner": { "impl": { "blanket_impl": { @@ -392481,7 +411235,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -392526,7 +411280,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 319 ], "provided_trait_methods": [], "trait": { @@ -392542,8 +411296,8 @@ "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 321, + "path": "Borrow" } } }, @@ -392551,23 +411305,23 @@ "name": null, "span": { "begin": [ - 217, + 212, 1 ], "end": [ - 217, - 35 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "435": { + "4348": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 435, + "id": 4348, "inner": { "impl": { "blanket_impl": { @@ -392575,9 +411329,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 3997, + "path": "Take" } }, "generics": { @@ -392597,17 +411362,6 @@ { "bound_predicate": { "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, { "trait_bound": { "generic_params": [], @@ -392632,13 +411386,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 434 + 322 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 163, - "path": "ToString" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, @@ -392646,23 +411411,23 @@ "name": null, "span": { "begin": [ - 2806, + 221, 1 ], "end": [ - 2806, - 46 + 221, + 41 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4350": { + "4349": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4350, + "id": 4349, "inner": { "impl": { "blanket_impl": { @@ -392682,7 +411447,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -392748,7 +411513,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -392773,23 +411538,118 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4351": { + "435": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4351, + "id": 435, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2866, + 1 + ], + "end": [ + 2866, + 46 + ], + "filename": "checkouts/rust/library/alloc/src/string.rs" + }, + "visibility": "default" + }, + "4350": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4350, "inner": { "impl": { "blanket_impl": { @@ -392809,7 +411669,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -392832,7 +411692,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -392857,23 +411717,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4352": { + "4351": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4352, + "id": 4351, "inner": { "impl": { "blanket_impl": { @@ -392893,7 +411753,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -392941,7 +411801,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -392959,8 +411819,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -392976,7 +411836,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -392985,23 +411845,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4353": { + "4352": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4353, + "id": 4352, "inner": { "impl": { "blanket_impl": { @@ -393021,7 +411881,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -393087,8 +411947,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -393104,7 +411964,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -393113,23 +411973,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4354": { + "4353": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4354, + "id": 4353, "inner": { "impl": { "blanket_impl": { @@ -393149,7 +412009,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -393197,12 +412057,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -393222,7 +412082,7 @@ }, "visibility": "default" }, - "4355": { + "4354": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -393231,7 +412091,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4355, + "id": 4354, "inner": { "function": { "generics": { @@ -393277,7 +412137,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -393289,7 +412149,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -393311,7 +412171,7 @@ }, "visibility": "default" }, - "4356": { + "4355": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -393321,7 +412181,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4356, + "id": 4355, "inner": { "impl": { "blanket_impl": null, @@ -393339,7 +412199,7 @@ "constraints": [] } }, - "id": 3998, + "id": 3997, "path": "Take" } }, @@ -393355,7 +412215,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } @@ -393374,12 +412234,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4355 + 4354 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -393399,12 +412259,12 @@ }, "visibility": "default" }, - "4358": { + "4357": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4358, + "id": 4357, "inner": { "impl": { "blanket_impl": null, @@ -393422,7 +412282,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -393480,12 +412340,12 @@ "span": null, "visibility": "default" }, - "4359": { + "4358": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4359, + "id": 4358, "inner": { "impl": { "blanket_impl": null, @@ -393503,7 +412363,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -393561,12 +412421,12 @@ "span": null, "visibility": "default" }, - "4360": { + "4359": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4360, + "id": 4359, "inner": { "impl": { "blanket_impl": null, @@ -393584,7 +412444,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -393611,7 +412471,7 @@ "modifier": "none", "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -393632,7 +412492,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -393642,12 +412502,12 @@ "span": null, "visibility": "default" }, - "4361": { + "4360": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4361, + "id": 4360, "inner": { "impl": { "blanket_impl": null, @@ -393665,7 +412525,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -393723,12 +412583,12 @@ "span": null, "visibility": "default" }, - "4362": { + "4361": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4362, + "id": 4361, "inner": { "impl": { "blanket_impl": null, @@ -393746,7 +412606,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -393773,7 +412633,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -393794,7 +412654,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -393804,12 +412664,12 @@ "span": null, "visibility": "default" }, - "4363": { + "4362": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4363, + "id": 4362, "inner": { "impl": { "blanket_impl": null, @@ -393827,7 +412687,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -393854,7 +412714,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -393875,7 +412735,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -393885,12 +412745,12 @@ "span": null, "visibility": "default" }, - "4364": { + "4363": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4364, + "id": 4363, "inner": { "impl": { "blanket_impl": { @@ -393910,7 +412770,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -393955,7 +412815,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -393971,7 +412831,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -393980,23 +412840,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4365": { + "4364": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4365, + "id": 4364, "inner": { "impl": { "blanket_impl": { @@ -394016,7 +412876,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -394061,7 +412921,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -394077,7 +412937,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -394086,23 +412946,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4366": { + "4365": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4366, + "id": 4365, "inner": { "impl": { "blanket_impl": { @@ -394122,7 +412982,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -394188,7 +413048,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -394213,23 +413073,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4367": { + "4366": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4367, + "id": 4366, "inner": { "impl": { "blanket_impl": { @@ -394249,7 +413109,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -394272,7 +413132,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -394297,23 +413157,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4368": { + "4367": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4368, + "id": 4367, "inner": { "impl": { "blanket_impl": { @@ -394333,7 +413193,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -394381,7 +413241,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -394399,8 +413259,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -394416,7 +413276,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -394425,23 +413285,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4369": { + "4368": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4369, + "id": 4368, "inner": { "impl": { "blanket_impl": { @@ -394461,7 +413321,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -394527,8 +413387,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -394544,7 +413404,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -394553,87 +413413,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "437": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 437, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 212, - 10 - ], - "end": [ - 212, - 15 - ], - "filename": "std/src/thread/local.rs" - }, - "visibility": "default" - }, - "4370": { + "4369": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4370, + "id": 4369, "inner": { "impl": { "blanket_impl": { @@ -394653,7 +413449,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -394701,12 +413497,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -394726,12 +413522,76 @@ }, "visibility": "default" }, - "4371": { + "437": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 437, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + } + } + } + }, + "links": {}, + "name": "clone", + "span": { + "begin": [ + 405, + 10 + ], + "end": [ + 405, + 15 + ], + "filename": "std/src/thread/local.rs" + }, + "visibility": "default" + }, + "4370": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4371, + "id": 4370, "inner": { "impl": { "blanket_impl": { @@ -394751,7 +413611,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -394823,7 +413683,7 @@ }, "visibility": "default" }, - "4372": { + "4371": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -394832,7 +413692,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4372, + "id": 4371, "inner": { "function": { "generics": { @@ -394878,7 +413738,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -394890,7 +413750,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -394912,7 +413772,7 @@ }, "visibility": "default" }, - "4373": { + "4372": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -394922,7 +413782,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4373, + "id": 4372, "inner": { "impl": { "blanket_impl": null, @@ -394940,7 +413800,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -394956,7 +413816,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } @@ -394975,12 +413835,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4372 + 4371 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -395000,12 +413860,12 @@ }, "visibility": "default" }, - "4374": { + "4373": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4374, + "id": 4373, "inner": { "assoc_type": { "bounds": [], @@ -395057,12 +413917,12 @@ }, "visibility": "default" }, - "4375": { + "4374": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4375, + "id": 4374, "inner": { "function": { "generics": { @@ -395112,7 +413972,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -395143,7 +414003,7 @@ }, "visibility": "default" }, - "4376": { + "4375": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -395152,7 +414012,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4376, + "id": 4375, "inner": { "function": { "generics": { @@ -395225,7 +414085,7 @@ }, "visibility": "default" }, - "4377": { + "4376": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -395234,7 +414094,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4377, + "id": 4376, "inner": { "impl": { "blanket_impl": null, @@ -395252,7 +414112,7 @@ "constraints": [] } }, - "id": 3994, + "id": 3993, "path": "Bytes" } }, @@ -395268,7 +414128,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2476, + "id": 2474, "path": "Read" } } @@ -395287,9 +414147,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ + 4373, 4374, - 4375, - 4376 + 4375 ], "provided_trait_methods": [ "next_chunk", @@ -395391,6 +414251,87 @@ }, "visibility": "default" }, + "4379": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4379, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "B" + } + } + ], + "constraints": [] + } + }, + "id": 4281, + "path": "Split" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "B" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "B" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, "438": { "attrs": [ { @@ -395427,7 +414368,7 @@ ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -395436,11 +414377,11 @@ "name": null, "span": { "begin": [ - 212, + 405, 10 ], "end": [ - 212, + 405, 15 ], "filename": "std/src/thread/local.rs" @@ -395470,7 +414411,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -395497,8 +414438,8 @@ "modifier": "none", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } } @@ -395518,8 +414459,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } }, @@ -395551,7 +414492,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -395578,8 +414519,8 @@ "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } } @@ -395599,8 +414540,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -395632,7 +414573,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -395659,8 +414600,8 @@ "modifier": "none", "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } } @@ -395680,8 +414621,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -395713,7 +414654,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -395740,8 +414681,8 @@ "modifier": "none", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } } @@ -395761,8 +414702,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -395794,7 +414735,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -395822,7 +414763,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } } @@ -395843,7 +414784,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -395858,87 +414799,6 @@ "deprecation": null, "docs": null, "id": 4385, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "B" - } - } - ], - "constraints": [] - } - }, - "id": 4282, - "path": "Split" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "B" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "B" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4386": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4386, "inner": { "impl": { "blanket_impl": { @@ -395958,7 +414818,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -396003,7 +414863,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -396019,7 +414879,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -396028,23 +414888,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4387": { + "4386": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4387, + "id": 4386, "inner": { "impl": { "blanket_impl": { @@ -396064,7 +414924,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -396109,7 +414969,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -396125,7 +414985,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -396134,23 +414994,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4388": { + "4387": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4388, + "id": 4387, "inner": { "impl": { "blanket_impl": { @@ -396170,7 +415030,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -396236,7 +415096,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -396261,23 +415121,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4389": { + "4388": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4389, + "id": 4388, "inner": { "impl": { "blanket_impl": { @@ -396297,7 +415157,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -396320,7 +415180,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -396345,75 +415205,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "439": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"thread_local_try_with\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 439, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 384, - "path": "AccessError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 103, - "path": "Copy" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 212, - 17 - ], - "end": [ - 212, - 21 - ], - "filename": "std/src/thread/local.rs" - }, - "visibility": "default" - }, - "4390": { + "4389": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4390, + "id": 4389, "inner": { "impl": { "blanket_impl": { @@ -396433,7 +415241,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -396481,7 +415289,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -396499,8 +415307,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -396516,7 +415324,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -396525,23 +415333,75 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4391": { + "439": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"thread_local_try_with\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 439, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 384, + "path": "AccessError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 101, + "path": "Copy" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 405, + 17 + ], + "end": [ + 405, + 21 + ], + "filename": "std/src/thread/local.rs" + }, + "visibility": "default" + }, + "4390": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4391, + "id": 4390, "inner": { "impl": { "blanket_impl": { @@ -396561,7 +415421,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -396627,8 +415487,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -396644,7 +415504,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -396653,23 +415513,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4392": { + "4391": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4392, + "id": 4391, "inner": { "impl": { "blanket_impl": { @@ -396689,7 +415549,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -396737,12 +415597,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -396762,12 +415622,12 @@ }, "visibility": "default" }, - "4393": { + "4392": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4393, + "id": 4392, "inner": { "impl": { "blanket_impl": { @@ -396787,7 +415647,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -396859,7 +415719,7 @@ }, "visibility": "default" }, - "4394": { + "4393": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -396868,7 +415728,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4394, + "id": 4393, "inner": { "function": { "generics": { @@ -396914,7 +415774,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -396926,7 +415786,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -396948,7 +415808,7 @@ }, "visibility": "default" }, - "4395": { + "4394": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -396958,7 +415818,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4395, + "id": 4394, "inner": { "impl": { "blanket_impl": null, @@ -396976,7 +415836,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -396992,7 +415852,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } @@ -397011,12 +415871,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4394 + 4393 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -397036,12 +415896,12 @@ }, "visibility": "default" }, - "4396": { + "4395": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4396, + "id": 4395, "inner": { "assoc_type": { "bounds": [], @@ -397069,7 +415929,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -397108,12 +415968,12 @@ }, "visibility": "default" }, - "4397": { + "4396": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4397, + "id": 4396, "inner": { "function": { "generics": { @@ -397169,7 +416029,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -397178,7 +416038,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -397209,7 +416069,7 @@ }, "visibility": "default" }, - "4398": { + "4397": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -397218,7 +416078,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4398, + "id": 4397, "inner": { "impl": { "blanket_impl": null, @@ -397236,7 +416096,7 @@ "constraints": [] } }, - "id": 4282, + "id": 4281, "path": "Split" } }, @@ -397252,7 +416112,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -397271,8 +416131,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4396, - 4397 + 4395, + 4396 ], "provided_trait_methods": [ "next_chunk", @@ -397374,6 +416234,87 @@ }, "visibility": "default" }, + "4399": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4399, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "B" + } + } + ], + "constraints": [] + } + }, + "id": 3563, + "path": "Lines" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "B" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "B" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, "44": { "attrs": [ { @@ -397444,7 +416385,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -397453,11 +416394,11 @@ "name": null, "span": { "begin": [ - 212, + 405, 23 ], "end": [ - 212, + 405, 25 ], "filename": "std/src/thread/local.rs" @@ -397487,7 +416428,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -397514,8 +416455,8 @@ "modifier": "none", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } } @@ -397535,8 +416476,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } }, @@ -397568,7 +416509,169 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, + "path": "Lines" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "B" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "B" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4402": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4402, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "B" + } + } + ], + "constraints": [] + } + }, + "id": 3563, + "path": "Lines" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "B" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "B" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4403": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4403, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "B" + } + } + ], + "constraints": [] + } + }, + "id": 3563, "path": "Lines" } }, @@ -397595,8 +416698,8 @@ "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 316, + "path": "UnwindSafe" } } } @@ -397616,8 +416719,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 316, + "path": "UnwindSafe" } } }, @@ -397626,12 +416729,12 @@ "span": null, "visibility": "default" }, - "4402": { + "4404": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4402, + "id": 4404, "inner": { "impl": { "blanket_impl": null, @@ -397649,7 +416752,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -397676,8 +416779,8 @@ "modifier": "none", "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 318, + "path": "RefUnwindSafe" } } } @@ -397697,8 +416800,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -397707,15 +416810,17 @@ "span": null, "visibility": "default" }, - "4403": { + "4405": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4403, + "id": 4405, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -397730,7 +416835,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -397744,7 +416849,7 @@ "is_synthetic": false } }, - "name": "B" + "name": "T" } ], "where_predicates": [ @@ -397754,49 +416859,74 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "B" + "generic": "T" } } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 319 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 7, - "path": "Unpin" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "4404": { + "4406": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4404, + "id": 4406, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -397811,7 +416941,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -397825,7 +416955,7 @@ "is_synthetic": false } }, - "name": "B" + "name": "T" } ], "where_predicates": [ @@ -397835,49 +416965,74 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "B" + "generic": "T" } } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 322 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "4405": { + "4407": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4405, + "id": 4407, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -397892,7 +417047,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -397906,81 +417061,8 @@ "is_synthetic": false } }, - "name": "B" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "B" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4406": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4406, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "B" - } - } - ], - "constraints": [] - } + "name": "T" }, - "id": 3564, - "path": "Lines" - } - }, - "generics": { - "params": [ { "kind": { "type": { @@ -397989,7 +417071,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "U" } ], "where_predicates": [ @@ -397999,18 +417081,29 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -398020,7 +417113,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 325 ], "provided_trait_methods": [], "trait": { @@ -398029,15 +417122,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 39, + "path": "Into" } } }, @@ -398045,23 +417138,23 @@ "name": null, "span": { "begin": [ - 209, + 767, 1 ], "end": [ - 209, - 32 + 769, + 24 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4407": { + "4408": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4407, + "id": 4408, "inner": { "impl": { "blanket_impl": { @@ -398081,7 +417174,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -398098,35 +417191,13 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 327 ], "provided_trait_methods": [], "trait": { @@ -398142,8 +417213,8 @@ "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 37, + "path": "From" } } }, @@ -398151,23 +417222,23 @@ "name": null, "span": { "begin": [ - 217, + 785, 1 ], "end": [ - 217, - 35 + 785, + 28 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4408": { + "4409": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4408, + "id": 4409, "inner": { "impl": { "blanket_impl": { @@ -398187,7 +417258,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -398235,8 +417306,8 @@ "constraints": [] } }, - "id": 37, - "path": "From" + "id": 197, + "path": "TryFrom" } } } @@ -398253,7 +417324,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -398269,92 +417341,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 773, - 1 - ], - "end": [ - 775, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "4409": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4409, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "B" - } - } - ], - "constraints": [] - } - }, - "id": 3564, - "path": "Lines" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "id": 198, + "path": "TryInto" } } }, @@ -398362,12 +417350,12 @@ "name": null, "span": { "begin": [ - 791, + 811, 1 ], "end": [ - 791, - 28 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -398414,11 +417402,11 @@ "name": null, "span": { "begin": [ - 212, + 405, 27 ], "end": [ - 212, + 405, 36 ], "filename": "std/src/thread/local.rs" @@ -398450,135 +417438,7 @@ "constraints": [] } }, - "id": 3564, - "path": "Lines" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 817, - 1 - ], - "end": [ - 819, - 27 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "4411": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4411, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "B" - } - } - ], - "constraints": [] - } - }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -398644,8 +417504,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -398661,7 +417521,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -398670,23 +417530,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4412": { + "4411": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4412, + "id": 4411, "inner": { "impl": { "blanket_impl": { @@ -398706,7 +417566,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -398754,12 +417614,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -398779,12 +417639,12 @@ }, "visibility": "default" }, - "4413": { + "4412": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4413, + "id": 4412, "inner": { "impl": { "blanket_impl": { @@ -398804,7 +417664,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -398876,7 +417736,7 @@ }, "visibility": "default" }, - "4414": { + "4413": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -398885,7 +417745,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4414, + "id": 4413, "inner": { "function": { "generics": { @@ -398931,7 +417791,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -398943,7 +417803,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -398965,7 +417825,7 @@ }, "visibility": "default" }, - "4415": { + "4414": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -398975,7 +417835,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4415, + "id": 4414, "inner": { "impl": { "blanket_impl": null, @@ -398993,7 +417853,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -399009,7 +417869,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } @@ -399028,12 +417888,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4414 + 4413 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -399053,12 +417913,12 @@ }, "visibility": "default" }, - "4416": { + "4415": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4416, + "id": 4415, "inner": { "assoc_type": { "bounds": [], @@ -399075,7 +417935,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -399114,12 +417974,12 @@ }, "visibility": "default" }, - "4417": { + "4416": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4417, + "id": 4416, "inner": { "function": { "generics": { @@ -399164,7 +418024,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -399173,7 +418033,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -399204,7 +418064,7 @@ }, "visibility": "default" }, - "4418": { + "4417": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -399213,7 +418073,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4418, + "id": 4417, "inner": { "impl": { "blanket_impl": null, @@ -399231,7 +418091,7 @@ "constraints": [] } }, - "id": 3564, + "id": 3563, "path": "Lines" } }, @@ -399247,7 +418107,7 @@ "modifier": "none", "trait": { "args": null, - "id": 2418, + "id": 2416, "path": "BufRead" } } @@ -399266,8 +418126,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4416, - 4417 + 4415, + 4416 ], "provided_trait_methods": [ "next_chunk", @@ -399369,9 +418229,8 @@ }, "visibility": "default" }, - "4419": { + "4418": { "attrs": [ - "macro_export", { "other": "#[(not(test), rustc_diagnostic_item = \"println_macro\")]" }, @@ -399383,21 +418242,22 @@ }, { "other": "#[attr = AllowInternalUnstable([\"print_internals\", \"format_args_nl\"])]" - } + }, + "macro_export" ], "crate_id": 0, "deprecation": null, "docs": "Prints to the standard output, with a newline.\n\nOn all platforms, the newline is the LINE FEED character (`\\n`/`U+000A`) alone\n(no additional CARRIAGE RETURN (`\\r`/`U+000D`)).\n\nThis macro uses the same syntax as [`format!`], but writes to the standard output instead.\nSee [`std::fmt`] for more information.\n\nThe `println!` macro will lock the standard output on each call. If you call\n`println!` within a hot loop, this behavior may be the bottleneck of the loop.\nTo avoid this, lock stdout with [`io::stdout().lock()`][lock]:\n```\nuse std::io::{stdout, Write};\n\nlet mut lock = stdout().lock();\nwriteln!(lock, \"hello world\").unwrap();\n```\n\nUse `println!` only for the primary output of your program. Use\n[`eprintln!`] instead to print error and progress messages.\n\nSee the formatting documentation in [`std::fmt`](crate::fmt)\nfor details of the macro argument syntax.\n\n[`std::fmt`]: crate::fmt\n[`eprintln!`]: crate::eprintln\n[lock]: crate::io::Stdout\n\n# Panics\n\nPanics if writing to [`io::stdout`] fails.\n\nWriting to non-blocking stdout can cause an error, which will lead\nthis macro to panic.\n\n[`io::stdout`]: crate::io::stdout\n\n# Examples\n\n```\nprintln!(); // prints just a newline\nprintln!(\"hello there!\");\nprintln!(\"format {} arguments\", \"some\");\nlet local_variable = \"some\";\nprintln!(\"format {local_variable} arguments\");\n```", - "id": 4419, + "id": 4418, "inner": { "macro": "macro_rules! println {\n () => { ... };\n ($($arg:tt)*) => { ... };\n}" }, "links": { - "`format!`": 2328, - "crate::eprintln": 9356, - "crate::fmt": 6957, - "crate::io::Stdout": 3652, - "crate::io::stdout": 3651 + "`format!`": 2326, + "crate::eprintln": 9578, + "crate::fmt": 6995, + "crate::io::Stdout": 3651, + "crate::io::stdout": 3650 }, "name": "println", "span": { @@ -399413,7 +418273,75 @@ }, "visibility": "public" }, - "4420": { + "4419": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135142, is_soft: false}, feature: \"gethostname\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the system hostname.\n\nThis can error out in platform-specific error cases;\nfor example, uefi and wasm, where hostnames aren't\nsupported.\n\n# Underlying system calls\n\n| Platform | System call |\n|----------|---------------------------------------------------------------------------------------------------------|\n| UNIX | [`gethostname`](https://www.man7.org/linux/man-pages/man2/gethostname.2.html) |\n| Windows | [`GetHostNameW`](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-gethostnamew) |\n\nNote that platform-specific behavior [may change in the future][changes].\n\n[changes]: crate::io#platform-specific-behavior", + "id": 4419, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1708, + "path": "crate::ffi::OsString" + } + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "crate::io::Result" + } + } + } + } + }, + "links": { + "crate::io#platform-specific-behavior": 502 + }, + "name": "hostname", + "span": { + "begin": [ + 20, + 1 + ], + "end": [ + 22, + 2 + ], + "filename": "std/src/net/hostname.rs" + }, + "visibility": "public" + }, + "4421": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"ip_addr\"}}]" @@ -399422,10 +418350,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4420, + "id": 4421, "inner": { "use": { - "id": 4421, + "id": 4422, "is_glob": false, "name": "IpAddr", "source": "core::net::IpAddr" @@ -399446,7 +418374,7 @@ }, "visibility": "public" }, - "4422": { + "4423": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 27709, is_soft: false}, feature: \"ip\"}}]" @@ -399455,10 +418383,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4422, + "id": 4423, "inner": { "use": { - "id": 4423, + "id": 4424, "is_glob": false, "name": "Ipv6MulticastScope", "source": "core::net::Ipv6MulticastScope" @@ -399479,7 +418407,7 @@ }, "visibility": "public" }, - "4424": { + "4425": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -399488,10 +418416,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4424, + "id": 4425, "inner": { "use": { - "id": 4425, + "id": 4426, "is_glob": false, "name": "Ipv4Addr", "source": "core::net::Ipv4Addr" @@ -399512,7 +418440,7 @@ }, "visibility": "public" }, - "4426": { + "4427": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -399521,10 +418449,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4426, + "id": 4427, "inner": { "use": { - "id": 4427, + "id": 4428, "is_glob": false, "name": "Ipv6Addr", "source": "core::net::Ipv6Addr" @@ -399545,39 +418473,6 @@ }, "visibility": "public" }, - "4429": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4429, - "inner": { - "use": { - "id": 4430, - "is_glob": false, - "name": "SocketAddr", - "source": "core::net::SocketAddr" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 6, - 21 - ], - "end": [ - 6, - 31 - ], - "filename": "std/src/net/socket_addr.rs" - }, - "visibility": "public" - }, "443": { "attrs": [ { @@ -399643,18 +418538,51 @@ "name": "eq", "span": { "begin": [ - 212, + 405, 27 ], "end": [ - 212, + 405, 36 ], "filename": "std/src/thread/local.rs" }, "visibility": "default" }, - "4431": { + "4430": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4430, + "inner": { + "use": { + "id": 4431, + "is_glob": false, + "name": "SocketAddr", + "source": "core::net::SocketAddr" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 6, + 21 + ], + "end": [ + 6, + 31 + ], + "filename": "std/src/net/socket_addr.rs" + }, + "visibility": "public" + }, + "4432": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -399663,10 +418591,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4431, + "id": 4432, "inner": { "use": { - "id": 4432, + "id": 4433, "is_glob": false, "name": "SocketAddrV4", "source": "core::net::SocketAddrV4" @@ -399687,7 +418615,7 @@ }, "visibility": "public" }, - "4433": { + "4434": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -399696,10 +418624,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4433, + "id": 4434, "inner": { "use": { - "id": 4434, + "id": 4435, "is_glob": false, "name": "SocketAddrV6", "source": "core::net::SocketAddrV6" @@ -399720,7 +418648,7 @@ }, "visibility": "public" }, - "4435": { + "4436": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -399729,7 +418657,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returned iterator over socket addresses which this type may correspond\nto.", - "id": 4435, + "id": 4436, "inner": { "assoc_type": { "bounds": [ @@ -399749,7 +418677,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -399777,18 +418705,18 @@ "name": "Iter", "span": { "begin": [ - 124, + 125, 5 ], "end": [ - 124, + 125, 44 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4436": { + "4437": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -399797,7 +418725,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts this object to an iterator of resolved [`SocketAddr`]s.\n\nThe returned iterator might not actually yield any values depending on the\noutcome of any resolution performed.\n\nNote that this function may block the current thread while resolution is\nperformed.", - "id": 4436, + "id": 4437, "inner": { "function": { "generics": { @@ -399842,7 +418770,7 @@ }, "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "" } } @@ -399852,7 +418780,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -399860,23 +418788,23 @@ } }, "links": { - "`SocketAddr`": 4430 + "`SocketAddr`": 4431 }, "name": "to_socket_addrs", "span": { "begin": [ - 134, + 135, 5 ], "end": [ - 134, + 135, 57 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4437": { + "4438": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -399885,7 +418813,7 @@ "crate_id": 0, "deprecation": null, "docs": "A UDP socket.\n\nAfter creating a `UdpSocket` by [`bind`]ing it to a socket address, data can be\n[sent to] and [received from] any other socket address.\n\nAlthough UDP is a connectionless protocol, this implementation provides an interface\nto set an address where data should be sent and received from. After setting a remote\naddress with [`connect`], data can be sent to and received from that address with\n[`send`] and [`recv`].\n\nAs stated in the User Datagram Protocol's specification in [IETF RFC 768], UDP is\nan unordered, unreliable protocol; refer to [`TcpListener`] and [`TcpStream`] for TCP\nprimitives.\n\n[`bind`]: UdpSocket::bind\n[`connect`]: UdpSocket::connect\n[IETF RFC 768]: https://tools.ietf.org/html/rfc768\n[`recv`]: UdpSocket::recv\n[received from]: UdpSocket::recv_from\n[`send`]: UdpSocket::send\n[sent to]: UdpSocket::send_to\n[`TcpListener`]: crate::net::TcpListener\n[`TcpStream`]: crate::net::TcpStream\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nfn main() -> std::io::Result<()> {\n {\n let socket = UdpSocket::bind(\"127.0.0.1:34254\")?;\n\n // Receives a single datagram message on the socket. If `buf` is too small to hold\n // the message, it will be cut off.\n let mut buf = [0; 10];\n let (amt, src) = socket.recv_from(&mut buf)?;\n\n // Redeclare `buf` as slice of the received data and send reverse data back to origin.\n let buf = &mut buf[..amt];\n buf.reverse();\n socket.send_to(buf, &src)?;\n } // the socket is closed here\n Ok(())\n}\n```", - "id": 4437, + "id": 4438, "inner": { "struct": { "generics": { @@ -399893,7 +418821,6 @@ "where_predicates": [] }, "impls": [ - 4686, 4687, 4688, 4689, @@ -399907,19 +418834,20 @@ 4697, 4698, 4699, - 4701, - 4703, - 4705, - 4707, - 4709, - 4711, - 4713, - 4715, - 4717, - 4719, - 4721, - 4723, - 4725 + 4700, + 4702, + 4704, + 4706, + 4708, + 4710, + 4712, + 4714, + 4716, + 4718, + 4720, + 4722, + 4724, + 4726 ], "kind": { "tuple": [ @@ -399929,14 +418857,14 @@ } }, "links": { - "UdpSocket::bind": 4653, - "UdpSocket::connect": 4656, - "UdpSocket::recv": 4658, - "UdpSocket::recv_from": 4655, - "UdpSocket::send": 4657, - "UdpSocket::send_to": 4654, - "crate::net::TcpListener": 4482, - "crate::net::TcpStream": 3047 + "UdpSocket::bind": 4654, + "UdpSocket::connect": 4657, + "UdpSocket::recv": 4659, + "UdpSocket::recv_from": 4656, + "UdpSocket::send": 4658, + "UdpSocket::send_to": 4655, + "crate::net::TcpListener": 4483, + "crate::net::TcpStream": 3049 }, "name": "UdpSocket", "span": { @@ -399952,7 +418880,7 @@ }, "visibility": "public" }, - "4438": { + "4439": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -399961,7 +418889,7 @@ "crate_id": 0, "deprecation": null, "docs": "Opens a TCP connection to a remote host.\n\n`addr` is an address of the remote host. Anything which implements\n[`ToSocketAddrs`] trait can be supplied for the address; see this trait\ndocumentation for concrete examples.\n\nIf `addr` yields multiple addresses, `connect` will be attempted with\neach of the addresses until a connection is successful. If none of\nthe addresses result in a successful connection, the error returned from\nthe last connection attempt (the last address) is returned.\n\n# Examples\n\nOpen a TCP connection to `127.0.0.1:8080`:\n\n```no_run\nuse std::net::TcpStream;\n\nif let Ok(stream) = TcpStream::connect(\"127.0.0.1:8080\") {\n println!(\"Connected to the server!\");\n} else {\n println!(\"Couldn't connect to server...\");\n}\n```\n\nOpen a TCP connection to `127.0.0.1:8080`. If the connection fails, open\na TCP connection to `127.0.0.1:8081`:\n\n```no_run\nuse std::net::{SocketAddr, TcpStream};\n\nlet addrs = [\n SocketAddr::from(([127, 0, 0, 1], 8080)),\n SocketAddr::from(([127, 0, 0, 1], 8081)),\n];\nif let Ok(stream) = TcpStream::connect(&addrs[..]) {\n println!(\"Connected to the server!\");\n} else {\n println!(\"Couldn't connect to server...\");\n}\n```", - "id": 4438, + "id": 4439, "inner": { "function": { "generics": { @@ -399976,7 +418904,7 @@ "modifier": "none", "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -400017,7 +418945,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -400026,7 +418954,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -400034,7 +418962,7 @@ } }, "links": { - "`ToSocketAddrs`": 1751 + "`ToSocketAddrs`": 1749 }, "name": "connect", "span": { @@ -400050,58 +418978,6 @@ }, "visibility": "public" }, - "4439": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4439, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 4430, - "path": "SocketAddr" - } - } - } - ], - "constraints": [] - } - }, - "id": 4440, - "path": "IntoIter" - } - } - } - }, - "links": {}, - "name": "Iter", - "span": { - "begin": [ - 139, - 5 - ], - "end": [ - 139, - 46 - ], - "filename": "std/src/net/socket_addr.rs" - }, - "visibility": "default" - }, "444": { "attrs": [ { @@ -400138,7 +419014,7 @@ ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -400147,23 +419023,75 @@ "name": null, "span": { "begin": [ - 212, + 405, 27 ], "end": [ - 212, + 405, 36 ], "filename": "std/src/thread/local.rs" }, "visibility": "default" }, - "4441": { + "4440": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4440, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 4431, + "path": "SocketAddr" + } + } + } + ], + "constraints": [] + } + }, + "id": 4441, + "path": "IntoIter" + } + } + } + }, + "links": {}, + "name": "Iter", + "span": { + "begin": [ + 140, + 5 + ], + "end": [ + 140, + 46 + ], + "filename": "std/src/net/socket_addr.rs" + }, + "visibility": "default" + }, + "4442": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4441, + "id": 4442, "inner": { "function": { "generics": { @@ -400208,7 +419136,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -400217,7 +419145,7 @@ "constraints": [] } }, - "id": 4440, + "id": 4441, "path": "option::IntoIter" } } @@ -400226,7 +419154,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -400237,18 +419165,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 140, + 141, 5 ], "end": [ - 142, + 143, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4442": { + "4443": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -400257,14 +419185,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4442, + "id": 4443, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } }, @@ -400276,13 +419204,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4439, - 4441 + 4440, + 4442 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -400291,23 +419219,23 @@ "name": null, "span": { "begin": [ - 138, + 139, 1 ], "end": [ - 143, + 144, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4443": { + "4444": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4443, + "id": 4444, "inner": { "assoc_type": { "bounds": [], @@ -400324,7 +419252,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -400333,7 +419261,7 @@ "constraints": [] } }, - "id": 4440, + "id": 4441, "path": "IntoIter" } } @@ -400343,23 +419271,23 @@ "name": "Iter", "span": { "begin": [ - 147, + 148, 5 ], "end": [ - 147, + 148, 46 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4444": { + "4445": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4444, + "id": 4445, "inner": { "function": { "generics": { @@ -400404,7 +419332,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -400413,7 +419341,7 @@ "constraints": [] } }, - "id": 4440, + "id": 4441, "path": "option::IntoIter" } } @@ -400422,7 +419350,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -400433,18 +419361,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 148, + 149, 5 ], "end": [ - 150, + 151, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4445": { + "4446": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -400453,14 +419381,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4445, + "id": 4446, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4432, + "id": 4433, "path": "SocketAddrV4" } }, @@ -400472,13 +419400,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4443, - 4444 + 4444, + 4445 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -400487,23 +419415,23 @@ "name": null, "span": { "begin": [ - 146, + 147, 1 ], "end": [ - 151, + 152, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4446": { + "4447": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4446, + "id": 4447, "inner": { "assoc_type": { "bounds": [], @@ -400520,7 +419448,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -400529,7 +419457,7 @@ "constraints": [] } }, - "id": 4440, + "id": 4441, "path": "IntoIter" } } @@ -400539,23 +419467,23 @@ "name": "Iter", "span": { "begin": [ - 155, + 156, 5 ], "end": [ - 155, + 156, 46 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4447": { + "4448": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4447, + "id": 4448, "inner": { "function": { "generics": { @@ -400600,7 +419528,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -400609,7 +419537,7 @@ "constraints": [] } }, - "id": 4440, + "id": 4441, "path": "option::IntoIter" } } @@ -400618,7 +419546,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -400629,18 +419557,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 156, + 157, 5 ], "end": [ - 158, + 159, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4448": { + "4449": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -400649,14 +419577,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4448, + "id": 4449, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4434, + "id": 4435, "path": "SocketAddrV6" } }, @@ -400668,13 +419596,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4446, - 4447 + 4447, + 4448 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -400683,69 +419611,17 @@ "name": null, "span": { "begin": [ - 154, + 155, 1 ], "end": [ - 159, + 160, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4449": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4449, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 4430, - "path": "SocketAddr" - } - } - } - ], - "constraints": [] - } - }, - "id": 4440, - "path": "IntoIter" - } - } - } - }, - "links": {}, - "name": "Iter", - "span": { - "begin": [ - 163, - 5 - ], - "end": [ - 163, - 46 - ], - "filename": "std/src/net/socket_addr.rs" - }, - "visibility": "default" - }, "445": { "attrs": [], "crate_id": 0, @@ -400797,7 +419673,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -400809,7 +419685,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -400820,11 +419696,11 @@ "name": "fmt", "span": { "begin": [ - 217, + 410, 5 ], "end": [ - 219, + 412, 6 ], "filename": "std/src/thread/local.rs" @@ -400837,6 +419713,58 @@ "deprecation": null, "docs": null, "id": 4450, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 4431, + "path": "SocketAddr" + } + } + } + ], + "constraints": [] + } + }, + "id": 4441, + "path": "IntoIter" + } + } + } + }, + "links": {}, + "name": "Iter", + "span": { + "begin": [ + 164, + 5 + ], + "end": [ + 164, + 46 + ], + "filename": "std/src/net/socket_addr.rs" + }, + "visibility": "default" + }, + "4451": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4451, "inner": { "function": { "generics": { @@ -400881,7 +419809,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -400890,7 +419818,7 @@ "constraints": [] } }, - "id": 4440, + "id": 4441, "path": "option::IntoIter" } } @@ -400899,7 +419827,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -400910,18 +419838,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 164, + 165, 5 ], "end": [ - 170, + 171, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4451": { + "4452": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -400930,7 +419858,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4451, + "id": 4452, "inner": { "impl": { "blanket_impl": null, @@ -400939,7 +419867,7 @@ { "resolved_path": { "args": null, - "id": 4421, + "id": 4422, "path": "crate::net::IpAddr" } }, @@ -400956,13 +419884,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4449, - 4450 + 4450, + 4451 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -400971,23 +419899,23 @@ "name": null, "span": { "begin": [ - 162, + 163, 1 ], "end": [ - 171, + 172, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4452": { + "4453": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4452, + "id": 4453, "inner": { "assoc_type": { "bounds": [], @@ -401004,7 +419932,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -401013,7 +419941,7 @@ "constraints": [] } }, - "id": 4440, + "id": 4441, "path": "IntoIter" } } @@ -401023,23 +419951,23 @@ "name": "Iter", "span": { "begin": [ - 175, + 176, 5 ], "end": [ - 175, + 176, 46 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4453": { + "4454": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4453, + "id": 4454, "inner": { "function": { "generics": { @@ -401084,7 +420012,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -401093,7 +420021,7 @@ "constraints": [] } }, - "id": 4440, + "id": 4441, "path": "option::IntoIter" } } @@ -401102,7 +420030,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -401113,18 +420041,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 176, + 177, 5 ], "end": [ - 179, + 180, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4454": { + "4455": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -401133,7 +420061,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4454, + "id": 4455, "inner": { "impl": { "blanket_impl": null, @@ -401142,7 +420070,7 @@ { "resolved_path": { "args": null, - "id": 4425, + "id": 4426, "path": "crate::net::Ipv4Addr" } }, @@ -401159,13 +420087,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4452, - 4453 + 4453, + 4454 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -401174,23 +420102,23 @@ "name": null, "span": { "begin": [ - 174, + 175, 1 ], "end": [ - 180, + 181, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4455": { + "4456": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4455, + "id": 4456, "inner": { "assoc_type": { "bounds": [], @@ -401207,7 +420135,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -401216,7 +420144,7 @@ "constraints": [] } }, - "id": 4440, + "id": 4441, "path": "IntoIter" } } @@ -401226,23 +420154,23 @@ "name": "Iter", "span": { "begin": [ - 184, + 185, 5 ], "end": [ - 184, + 185, 46 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4456": { + "4457": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4456, + "id": 4457, "inner": { "function": { "generics": { @@ -401287,7 +420215,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -401296,7 +420224,7 @@ "constraints": [] } }, - "id": 4440, + "id": 4441, "path": "option::IntoIter" } } @@ -401305,7 +420233,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -401316,18 +420244,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 185, + 186, 5 ], "end": [ - 188, + 189, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4457": { + "4458": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -401336,7 +420264,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4457, + "id": 4458, "inner": { "impl": { "blanket_impl": null, @@ -401345,7 +420273,7 @@ { "resolved_path": { "args": null, - "id": 4427, + "id": 4428, "path": "crate::net::Ipv6Addr" } }, @@ -401362,13 +420290,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4455, - 4456 + 4456, + 4457 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -401377,23 +420305,23 @@ "name": null, "span": { "begin": [ - 183, + 184, 1 ], "end": [ - 189, + 190, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4458": { + "4459": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4458, + "id": 4459, "inner": { "assoc_type": { "bounds": [], @@ -401410,7 +420338,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -401419,7 +420347,7 @@ "constraints": [] } }, - "id": 4459, + "id": 4460, "path": "IntoIter" } } @@ -401429,11 +420357,11 @@ "name": "Iter", "span": { "begin": [ - 204, + 199, 5 ], "end": [ - 204, + 199, 43 ], "filename": "std/src/net/socket_addr.rs" @@ -401473,7 +420401,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -401482,23 +420410,23 @@ "name": null, "span": { "begin": [ - 216, + 409, 1 ], "end": [ - 220, + 413, 2 ], "filename": "std/src/thread/local.rs" }, "visibility": "default" }, - "4460": { + "4461": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4460, + "id": 4461, "inner": { "function": { "generics": { @@ -401543,7 +420471,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -401552,7 +420480,7 @@ "constraints": [] } }, - "id": 4459, + "id": 4460, "path": "vec::IntoIter" } } @@ -401561,7 +420489,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -401572,18 +420500,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 205, + 200, 5 ], "end": [ - 219, + 211, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4461": { + "4462": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -401592,7 +420520,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4461, + "id": 4462, "inner": { "impl": { "blanket_impl": null, @@ -401620,13 +420548,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4458, - 4460 + 4459, + 4461 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -401635,23 +420563,23 @@ "name": null, "span": { "begin": [ - 203, + 198, 1 ], "end": [ - 220, + 212, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4462": { + "4463": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4462, + "id": 4463, "inner": { "assoc_type": { "bounds": [], @@ -401668,7 +420596,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -401677,7 +420605,7 @@ "constraints": [] } }, - "id": 4459, + "id": 4460, "path": "IntoIter" } } @@ -401687,23 +420615,23 @@ "name": "Iter", "span": { "begin": [ - 224, + 216, 5 ], "end": [ - 224, + 216, 43 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4463": { + "4464": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4463, + "id": 4464, "inner": { "function": { "generics": { @@ -401748,7 +420676,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -401757,7 +420685,7 @@ "constraints": [] } }, - "id": 4459, + "id": 4460, "path": "vec::IntoIter" } } @@ -401766,7 +420694,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -401777,18 +420705,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 225, + 217, 5 ], "end": [ - 227, + 219, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4464": { + "4465": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 46, patch: 0})}, feature: \"string_u16_to_socket_addrs\"}}]" @@ -401797,7 +420725,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4464, + "id": 4465, "inner": { "impl": { "blanket_impl": null, @@ -401806,7 +420734,7 @@ { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } }, @@ -401823,13 +420751,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4462, - 4463 + 4463, + 4464 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -401838,23 +420766,23 @@ "name": null, "span": { "begin": [ - 223, + 215, 1 ], "end": [ - 228, + 220, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4465": { + "4466": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4465, + "id": 4466, "inner": { "assoc_type": { "bounds": [], @@ -401871,7 +420799,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -401880,7 +420808,7 @@ "constraints": [] } }, - "id": 4459, + "id": 4460, "path": "IntoIter" } } @@ -401890,23 +420818,23 @@ "name": "Iter", "span": { "begin": [ - 233, + 225, 5 ], "end": [ - 233, + 225, 43 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4466": { + "4467": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4466, + "id": 4467, "inner": { "function": { "generics": { @@ -401951,7 +420879,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -401960,7 +420888,7 @@ "constraints": [] } }, - "id": 4459, + "id": 4460, "path": "vec::IntoIter" } } @@ -401969,7 +420897,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -401980,18 +420908,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 234, + 226, 5 ], "end": [ - 241, + 242, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4467": { + "4468": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -402000,7 +420928,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4467, + "id": 4468, "inner": { "impl": { "blanket_impl": null, @@ -402015,13 +420943,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4465, - 4466 + 4466, + 4467 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -402030,23 +420958,23 @@ "name": null, "span": { "begin": [ - 232, + 224, 1 ], "end": [ - 242, + 243, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4468": { + "4469": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4468, + "id": 4469, "inner": { "assoc_type": { "bounds": [], @@ -402072,7 +421000,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -402081,7 +421009,7 @@ "constraints": [] } }, - "id": 4470, + "id": 4471, "path": "Iter" } } @@ -402090,7 +421018,7 @@ "constraints": [] } }, - "id": 4469, + "id": 4470, "path": "Cloned" } } @@ -402100,11 +421028,11 @@ "name": "Iter", "span": { "begin": [ - 246, + 247, 5 ], "end": [ - 246, + 247, 59 ], "filename": "std/src/net/socket_addr.rs" @@ -402162,7 +421090,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -402174,7 +421102,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -402185,23 +421113,23 @@ "name": "fmt", "span": { "begin": [ - 224, + 417, 5 ], "end": [ - 226, + 419, 6 ], "filename": "std/src/thread/local.rs" }, "visibility": "default" }, - "4471": { + "4472": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4471, + "id": 4472, "inner": { "function": { "generics": { @@ -402246,7 +421174,7 @@ }, "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "" } } @@ -402256,7 +421184,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -402267,18 +421195,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 248, + 249, 5 ], "end": [ - 250, + 251, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4472": { + "4473": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"slice_to_socket_addrs\"}}]" @@ -402287,7 +421215,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4472, + "id": 4473, "inner": { "impl": { "blanket_impl": null, @@ -402299,7 +421227,7 @@ "slice": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -402323,13 +421251,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4468, - 4471 + 4469, + 4472 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -402338,23 +421266,23 @@ "name": null, "span": { "begin": [ - 245, + 246, 1 ], "end": [ - 251, + 252, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4473": { + "4474": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4473, + "id": 4474, "inner": { "assoc_type": { "bounds": [], @@ -402371,7 +421299,7 @@ }, "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -402382,23 +421310,23 @@ "name": "Iter", "span": { "begin": [ - 255, + 256, 5 ], "end": [ - 255, + 256, 25 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4474": { + "4475": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4474, + "id": 4475, "inner": { "function": { "generics": { @@ -402443,7 +421371,7 @@ }, "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "" } } @@ -402453,7 +421381,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -402464,18 +421392,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 256, + 257, 5 ], "end": [ - 258, + 259, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4475": { + "4476": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -402484,7 +421412,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4475, + "id": 4476, "inner": { "impl": { "blanket_impl": null, @@ -402509,7 +421437,7 @@ "modifier": "none", "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -402539,13 +421467,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4473, - 4474 + 4474, + 4475 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -402554,23 +421482,23 @@ "name": null, "span": { "begin": [ - 254, + 255, 1 ], "end": [ - 259, + 260, 2 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4476": { + "4477": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4476, + "id": 4477, "inner": { "assoc_type": { "bounds": [], @@ -402587,7 +421515,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -402596,7 +421524,7 @@ "constraints": [] } }, - "id": 4459, + "id": 4460, "path": "IntoIter" } } @@ -402606,23 +421534,23 @@ "name": "Iter", "span": { "begin": [ - 263, + 264, 5 ], "end": [ - 263, + 264, 43 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4477": { + "4478": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4477, + "id": 4478, "inner": { "function": { "generics": { @@ -402667,7 +421595,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -402676,7 +421604,7 @@ "constraints": [] } }, - "id": 4459, + "id": 4460, "path": "vec::IntoIter" } } @@ -402685,7 +421613,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -402696,18 +421624,18 @@ "name": "to_socket_addrs", "span": { "begin": [ - 264, + 265, 5 ], "end": [ - 266, + 267, 6 ], "filename": "std/src/net/socket_addr.rs" }, "visibility": "default" }, - "4478": { + "4479": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"string_to_socket_addrs\"}}]" @@ -402716,14 +421644,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4478, + "id": 4479, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } }, @@ -402735,13 +421663,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4476, - 4477 + 4477, + 4478 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -402750,11 +421678,11 @@ "name": null, "span": { "begin": [ - 262, + 263, 1 ], "end": [ - 267, + 268, 2 ], "filename": "std/src/net/socket_addr.rs" @@ -402803,18 +421731,18 @@ "name": null, "span": { "begin": [ - 223, + 416, 1 ], "end": [ - 227, + 420, 2 ], "filename": "std/src/thread/local.rs" }, "visibility": "default" }, - "4481": { + "4482": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -402823,7 +421751,7 @@ "crate_id": 0, "deprecation": null, "docs": "Accept a new incoming connection from this listener.\n\nThis function will block the calling thread until a new TCP connection\nis established. When established, the corresponding [`TcpStream`] and the\nremote peer's address will be returned.\n\n# Examples\n\n```no_run\nuse std::net::TcpListener;\n\nlet listener = TcpListener::bind(\"127.0.0.1:8080\").unwrap();\nmatch listener.accept() {\n Ok((_socket, addr)) => println!(\"new client: {addr:?}\"),\n Err(e) => println!(\"couldn't get client: {e:?}\"),\n}\n```", - "id": 4481, + "id": 4482, "inner": { "function": { "generics": { @@ -402864,14 +421792,14 @@ { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -402882,7 +421810,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -402890,7 +421818,7 @@ } }, "links": { - "`TcpStream`": 3047 + "`TcpStream`": 3049 }, "name": "accept", "span": { @@ -402906,7 +421834,7 @@ }, "visibility": "public" }, - "4482": { + "4483": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -402915,7 +421843,7 @@ "crate_id": 0, "deprecation": null, "docs": "A TCP socket server, listening for connections.\n\nAfter creating a `TcpListener` by [`bind`]ing it to a socket address, it listens\nfor incoming TCP connections. These can be accepted by calling [`accept`] or by\niterating over the [`Incoming`] iterator returned by [`incoming`][`TcpListener::incoming`].\n\nThe socket will be closed when the value is dropped.\n\nThe Transmission Control Protocol is specified in [IETF RFC 793].\n\n[`accept`]: TcpListener::accept\n[`bind`]: TcpListener::bind\n[IETF RFC 793]: https://tools.ietf.org/html/rfc793\n\n# Examples\n\n```no_run\nuse std::net::{TcpListener, TcpStream};\n\nfn handle_client(stream: TcpStream) {\n // ...\n}\n\nfn main() -> std::io::Result<()> {\n let listener = TcpListener::bind(\"127.0.0.1:80\")?;\n\n // accept connections and process them serially\n for stream in listener.incoming() {\n handle_client(stream?);\n }\n Ok(())\n}\n```", - "id": 4482, + "id": 4483, "inner": { "struct": { "generics": { @@ -402923,7 +421851,6 @@ "where_predicates": [] }, "impls": [ - 4569, 4570, 4571, 4572, @@ -402937,19 +421864,20 @@ 4580, 4581, 4582, - 4584, - 4586, - 4588, - 4590, - 4592, - 4594, - 4596, - 4598, - 4600, - 4602, - 4604, - 4606, - 4608 + 4583, + 4585, + 4587, + 4589, + 4591, + 4593, + 4595, + 4597, + 4599, + 4601, + 4603, + 4605, + 4607, + 4609 ], "kind": { "tuple": [ @@ -402959,10 +421887,10 @@ } }, "links": { - "TcpListener::accept": 4481, - "TcpListener::bind": 4556, - "`Incoming`": 4557, - "`TcpListener::incoming`": 4558 + "TcpListener::accept": 4482, + "TcpListener::bind": 4557, + "`Incoming`": 4558, + "`TcpListener::incoming`": 4559 }, "name": "TcpListener", "span": { @@ -402978,7 +421906,7 @@ }, "visibility": "public" }, - "4483": { + "4484": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -402987,7 +421915,7 @@ "crate_id": 0, "deprecation": null, "docs": "Shuts down the read, write, or both halves of this connection.\n\nThis function will cause all pending and future I/O on the specified\nportions to return immediately with an appropriate value (see the\ndocumentation of [`Shutdown`]).\n\n# Platform-specific behavior\n\nCalling this function multiple times may result in different behavior,\ndepending on the operating system. On Linux, the second call will\nreturn `Ok(())`, but on macOS, it will return `ErrorKind::NotConnected`.\nThis may change in the future.\n\n# Examples\n\n```no_run\nuse std::net::{Shutdown, TcpStream};\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.shutdown(Shutdown::Both).expect(\"shutdown call failed\");\n```", - "id": 4483, + "id": 4484, "inner": { "function": { "generics": { @@ -403020,7 +421948,7 @@ { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } } @@ -403041,7 +421969,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -403049,7 +421977,7 @@ } }, "links": { - "`Shutdown`": 4487 + "`Shutdown`": 4488 }, "name": "shutdown", "span": { @@ -403065,7 +421993,7 @@ }, "visibility": "public" }, - "4484": { + "4485": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 21, patch: 0})}, feature: \"tcpstream_connect_timeout\"}}]" @@ -403074,7 +422002,7 @@ "crate_id": 0, "deprecation": null, "docs": "Opens a TCP connection to a remote host with a timeout.\n\nUnlike `connect`, `connect_timeout` takes a single [`SocketAddr`] since\ntimeout must be applied to individual addresses.\n\nIt is an error to pass a zero `Duration` to this function.\n\nUnlike other methods on `TcpStream`, this does not correspond to a\nsingle system call. It instead calls `connect` in nonblocking mode and\nthen uses an OS-specific mechanism to await the completion of the\nconnection request.", - "id": 4484, + "id": 4485, "inner": { "function": { "generics": { @@ -403099,7 +422027,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -403111,7 +422039,7 @@ { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -403127,7 +422055,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -403136,7 +422064,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -403144,7 +422072,7 @@ } }, "links": { - "`SocketAddr`": 4430 + "`SocketAddr`": 4431 }, "name": "connect_timeout", "span": { @@ -403160,7 +422088,7 @@ }, "visibility": "public" }, - "4485": { + "4486": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -403169,7 +422097,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the socket address of the remote peer of this TCP connection.\n\n# Examples\n\n```no_run\nuse std::net::{Ipv4Addr, SocketAddr, SocketAddrV4, TcpStream};\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nassert_eq!(stream.peer_addr().unwrap(),\n SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080)));\n```", - "id": 4485, + "id": 4486, "inner": { "function": { "generics": { @@ -403208,7 +422136,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -403217,7 +422145,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -403239,7 +422167,7 @@ }, "visibility": "public" }, - "4486": { + "4487": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -403248,7 +422176,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the socket address of the local half of this TCP connection.\n\n# Examples\n\n```no_run\nuse std::net::{IpAddr, Ipv4Addr, TcpStream};\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nassert_eq!(stream.local_addr().unwrap().ip(),\n IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)));\n```", - "id": 4486, + "id": 4487, "inner": { "function": { "generics": { @@ -403287,7 +422215,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -403296,7 +422224,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -403318,7 +422246,7 @@ }, "visibility": "public" }, - "4487": { + "4488": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -403327,7 +422255,7 @@ "crate_id": 0, "deprecation": null, "docs": "Possible values which can be passed to the [`TcpStream::shutdown`] method.", - "id": 4487, + "id": 4488, "inner": { "enum": { "generics": { @@ -403336,8 +422264,6 @@ }, "has_stripped_variants": false, "impls": [ - 4745, - 4746, 4747, 4748, 4749, @@ -403352,37 +422278,39 @@ 4758, 4759, 4760, + 4761, 4762, - 4763, + 4764, 4765, - 4766, - 4768 + 4767, + 4768, + 4770 ], "variants": [ - 4742, - 4743, - 4744 + 4744, + 4745, + 4746 ] } }, "links": { - "`TcpStream::shutdown`": 4483 + "`TcpStream::shutdown`": 4484 }, "name": "Shutdown", "span": { "begin": [ - 49, + 52, 1 ], "end": [ - 69, + 72, 2 ], "filename": "std/src/net/mod.rs" }, "visibility": "public" }, - "4488": { + "4489": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -403391,7 +422319,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new independently owned handle to the underlying socket.\n\nThe returned `TcpStream` is a reference to the same stream that this\nobject references. Both handles will read and write the same stream of\ndata, and options set on one stream will be propagated to the other\nstream.\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nlet stream_clone = stream.try_clone().expect(\"clone failed...\");\n```", - "id": 4488, + "id": 4489, "inner": { "function": { "generics": { @@ -403430,7 +422358,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -403439,7 +422367,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -403461,113 +422389,6 @@ }, "visibility": "public" }, - "4489": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"socket_timeout\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Sets the read timeout to the timeout specified.\n\nIf the value specified is [`None`], then [`read`] calls will block\nindefinitely. An [`Err`] is returned if the zero [`Duration`] is\npassed to this method.\n\n# Platform-specific behavior\n\nPlatforms may return a different error code whenever a read times out as\na result of setting this option. For example Unix typically returns an\nerror of the kind [`WouldBlock`], but Windows may return [`TimedOut`].\n\n[`read`]: Read::read\n[`WouldBlock`]: io::ErrorKind::WouldBlock\n[`TimedOut`]: io::ErrorKind::TimedOut\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_read_timeout(None).expect(\"set_read_timeout call failed\");\n```\n\nAn [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod:\n\n```no_run\nuse std::io;\nuse std::net::TcpStream;\nuse std::time::Duration;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\").unwrap();\nlet result = stream.set_read_timeout(Some(Duration::new(0, 0)));\nlet err = result.unwrap_err();\nassert_eq!(err.kind(), io::ErrorKind::InvalidInput)\n```", - "id": 4489, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "dur", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": { - "Read::read": 2435, - "`Duration`": 500, - "`Err`": 59, - "`None`": 53, - "io::ErrorKind::TimedOut": 3384, - "io::ErrorKind::WouldBlock": 2571 - }, - "name": "set_read_timeout", - "span": { - "begin": [ - 311, - 5 - ], - "end": [ - 313, - 6 - ], - "filename": "std/src/net/tcp.rs" - }, - "visibility": "public" - }, "449": { "attrs": [ { @@ -403614,11 +422435,11 @@ "name": null, "span": { "begin": [ - 230, + 423, 1 ], "end": [ - 230, + 423, 30 ], "filename": "std/src/thread/local.rs" @@ -403633,7 +422454,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Sets the write timeout to the timeout specified.\n\nIf the value specified is [`None`], then [`write`] calls will block\nindefinitely. An [`Err`] is returned if the zero [`Duration`] is\npassed to this method.\n\n# Platform-specific behavior\n\nPlatforms may return a different error code whenever a write times out\nas a result of setting this option. For example Unix typically returns\nan error of the kind [`WouldBlock`], but Windows may return [`TimedOut`].\n\n[`write`]: Write::write\n[`WouldBlock`]: io::ErrorKind::WouldBlock\n[`TimedOut`]: io::ErrorKind::TimedOut\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_write_timeout(None).expect(\"set_write_timeout call failed\");\n```\n\nAn [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod:\n\n```no_run\nuse std::io;\nuse std::net::TcpStream;\nuse std::time::Duration;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\").unwrap();\nlet result = stream.set_write_timeout(Some(Duration::new(0, 0)));\nlet err = result.unwrap_err();\nassert_eq!(err.kind(), io::ErrorKind::InvalidInput)\n```", + "docs": "Sets the read timeout to the timeout specified.\n\nIf the value specified is [`None`], then [`read`] calls will block\nindefinitely. An [`Err`] is returned if the zero [`Duration`] is\npassed to this method.\n\n# Platform-specific behavior\n\nPlatforms may return a different error code whenever a read times out as\na result of setting this option. For example Unix typically returns an\nerror of the kind [`WouldBlock`], but Windows may return [`TimedOut`].\n\n[`read`]: Read::read\n[`WouldBlock`]: io::ErrorKind::WouldBlock\n[`TimedOut`]: io::ErrorKind::TimedOut\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_read_timeout(None).expect(\"set_read_timeout call failed\");\n```\n\nAn [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod:\n\n```no_run\nuse std::io;\nuse std::net::TcpStream;\nuse std::time::Duration;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\").unwrap();\nlet result = stream.set_read_timeout(Some(Duration::new(0, 0)));\nlet err = result.unwrap_err();\nassert_eq!(err.kind(), io::ErrorKind::InvalidInput)\n```", "id": 4490, "inner": { "function": { @@ -403673,7 +422494,114 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, + "path": "Duration" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": { + "Read::read": 2433, + "`Duration`": 501, + "`Err`": 59, + "`None`": 53, + "io::ErrorKind::TimedOut": 3383, + "io::ErrorKind::WouldBlock": 2571 + }, + "name": "set_read_timeout", + "span": { + "begin": [ + 311, + 5 + ], + "end": [ + 313, + 6 + ], + "filename": "std/src/net/tcp.rs" + }, + "visibility": "public" + }, + "4491": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"socket_timeout\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Sets the write timeout to the timeout specified.\n\nIf the value specified is [`None`], then [`write`] calls will block\nindefinitely. An [`Err`] is returned if the zero [`Duration`] is\npassed to this method.\n\n# Platform-specific behavior\n\nPlatforms may return a different error code whenever a write times out\nas a result of setting this option. For example Unix typically returns\nan error of the kind [`WouldBlock`], but Windows may return [`TimedOut`].\n\n[`write`]: Write::write\n[`WouldBlock`]: io::ErrorKind::WouldBlock\n[`TimedOut`]: io::ErrorKind::TimedOut\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_write_timeout(None).expect(\"set_write_timeout call failed\");\n```\n\nAn [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod:\n\n```no_run\nuse std::io;\nuse std::net::TcpStream;\nuse std::time::Duration;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\").unwrap();\nlet result = stream.set_write_timeout(Some(Duration::new(0, 0)));\nlet err = result.unwrap_err();\nassert_eq!(err.kind(), io::ErrorKind::InvalidInput)\n```", + "id": 4491, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "dur", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, "path": "Duration" } } @@ -403703,7 +422631,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -403711,11 +422639,11 @@ } }, "links": { - "Write::write": 2436, - "`Duration`": 500, + "Write::write": 2434, + "`Duration`": 501, "`Err`": 59, "`None`": 53, - "io::ErrorKind::TimedOut": 3384, + "io::ErrorKind::TimedOut": 3383, "io::ErrorKind::WouldBlock": 2571 }, "name": "set_write_timeout", @@ -403732,7 +422660,7 @@ }, "visibility": "public" }, - "4491": { + "4492": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"socket_timeout\"}}]" @@ -403741,7 +422669,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the read timeout of this socket.\n\nIf the timeout is [`None`], then [`read`] calls will block indefinitely.\n\n# Platform-specific behavior\n\nSome platforms do not provide access to the current timeout.\n\n[`read`]: Read::read\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_read_timeout(None).expect(\"set_read_timeout call failed\");\nassert_eq!(stream.read_timeout().unwrap(), None);\n```", - "id": 4491, + "id": 4492, "inner": { "function": { "generics": { @@ -403786,7 +422714,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -403804,7 +422732,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -403812,7 +422740,7 @@ } }, "links": { - "Read::read": 2435, + "Read::read": 2433, "`None`": 53 }, "name": "read_timeout", @@ -403829,7 +422757,7 @@ }, "visibility": "public" }, - "4492": { + "4493": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"socket_timeout\"}}]" @@ -403838,7 +422766,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the write timeout of this socket.\n\nIf the timeout is [`None`], then [`write`] calls will block indefinitely.\n\n# Platform-specific behavior\n\nSome platforms do not provide access to the current timeout.\n\n[`write`]: Write::write\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_write_timeout(None).expect(\"set_write_timeout call failed\");\nassert_eq!(stream.write_timeout().unwrap(), None);\n```", - "id": 4492, + "id": 4493, "inner": { "function": { "generics": { @@ -403883,7 +422811,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -403901,7 +422829,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -403909,7 +422837,7 @@ } }, "links": { - "Write::write": 2436, + "Write::write": 2434, "`None`": 53 }, "name": "write_timeout", @@ -403926,7 +422854,7 @@ }, "visibility": "public" }, - "4493": { + "4494": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 18, patch: 0})}, feature: \"peek\"}}]" @@ -403935,7 +422863,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives data on the socket from the remote address to which it is\nconnected, without removing that data from the queue. On success,\nreturns the number of bytes peeked.\n\nSuccessive calls return the same data. This is accomplished by passing\n`MSG_PEEK` as a flag to the underlying `recv` system call.\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8000\")\n .expect(\"Couldn't connect to the server...\");\nlet mut buf = [0; 10];\nlet len = stream.peek(&mut buf).expect(\"peek failed\");\n```", - "id": 4493, + "id": 4494, "inner": { "function": { "generics": { @@ -403993,7 +422921,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -404015,7 +422943,7 @@ }, "visibility": "public" }, - "4494": { + "4495": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88494, is_soft: false}, feature: \"tcp_linger\"}}]" @@ -404024,7 +422952,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the value of the `SO_LINGER` option on this socket.\n\nThis value controls how the socket is closed when data remains\nto be sent. If `SO_LINGER` is set, the socket will remain open\nfor the specified duration as the system attempts to send pending data.\nOtherwise, the system may close the socket immediately, or wait for a\ndefault timeout.\n\n# Examples\n\n```no_run\n#![feature(tcp_linger)]\n\nuse std::net::TcpStream;\nuse std::time::Duration;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_linger(Some(Duration::from_secs(0))).expect(\"set_linger call failed\");\n```", - "id": 4494, + "id": 4495, "inner": { "function": { "generics": { @@ -404063,7 +422991,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -404093,7 +423021,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -404115,7 +423043,7 @@ }, "visibility": "public" }, - "4495": { + "4496": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88494, is_soft: false}, feature: \"tcp_linger\"}}]" @@ -404124,7 +423052,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `SO_LINGER` option on this socket.\n\nFor more information about this option, see [`TcpStream::set_linger`].\n\n# Examples\n\n```no_run\n#![feature(tcp_linger)]\n\nuse std::net::TcpStream;\nuse std::time::Duration;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_linger(Some(Duration::from_secs(0))).expect(\"set_linger call failed\");\nassert_eq!(stream.linger().unwrap(), Some(Duration::from_secs(0)));\n```", - "id": 4495, + "id": 4496, "inner": { "function": { "generics": { @@ -404169,7 +423097,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -404187,7 +423115,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -404195,7 +423123,7 @@ } }, "links": { - "`TcpStream::set_linger`": 4494 + "`TcpStream::set_linger`": 4495 }, "name": "linger", "span": { @@ -404211,7 +423139,7 @@ }, "visibility": "public" }, - "4496": { + "4497": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -404220,7 +423148,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the value of the `TCP_NODELAY` option on this socket.\n\nIf set, this option disables the Nagle algorithm. This means that\nsegments are always sent as soon as possible, even if there is only a\nsmall amount of data. When not set, data is buffered until there is a\nsufficient amount to send out, thereby avoiding the frequent sending of\nsmall packets.\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_nodelay(true).expect(\"set_nodelay call failed\");\n```", - "id": 4496, + "id": 4497, "inner": { "function": { "generics": { @@ -404270,7 +423198,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -404292,7 +423220,7 @@ }, "visibility": "public" }, - "4497": { + "4498": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -404301,7 +423229,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `TCP_NODELAY` option on this socket.\n\nFor more information about this option, see [`TcpStream::set_nodelay`].\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_nodelay(true).expect(\"set_nodelay call failed\");\nassert_eq!(stream.nodelay().unwrap_or(false), true);\n```", - "id": 4497, + "id": 4498, "inner": { "function": { "generics": { @@ -404345,7 +423273,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -404353,7 +423281,7 @@ } }, "links": { - "`TcpStream::set_nodelay`": 4496 + "`TcpStream::set_nodelay`": 4497 }, "name": "nodelay", "span": { @@ -404369,7 +423297,7 @@ }, "visibility": "public" }, - "4498": { + "4499": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -404378,7 +423306,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the value for the `IP_TTL` option on this socket.\n\nThis value sets the time-to-live field that is used in every packet sent\nfrom this socket.\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_ttl(100).expect(\"set_ttl call failed\");\n```", - "id": 4498, + "id": 4499, "inner": { "function": { "generics": { @@ -404428,7 +423356,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -404450,7 +423378,7 @@ }, "visibility": "public" }, - "4499": { + "4500": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -404459,7 +423387,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `IP_TTL` option for this socket.\n\nFor more information about this option, see [`TcpStream::set_ttl`].\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_ttl(100).expect(\"set_ttl call failed\");\nassert_eq!(stream.ttl().unwrap_or(0), 100);\n```", - "id": 4499, + "id": 4500, "inner": { "function": { "generics": { @@ -404503,7 +423431,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -404511,7 +423439,7 @@ } }, "links": { - "`TcpStream::set_ttl`": 4498 + "`TcpStream::set_ttl`": 4499 }, "name": "ttl", "span": { @@ -404527,7 +423455,7 @@ }, "visibility": "public" }, - "4500": { + "4501": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -404536,7 +423464,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `SO_ERROR` option on this socket.\n\nThis will retrieve the stored error in the underlying socket, clearing\nthe field in the process. This can be useful for checking errors between\ncalls.\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.take_error().expect(\"No error was expected...\");\n```", - "id": 4500, + "id": 4501, "inner": { "function": { "generics": { @@ -404599,7 +423527,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -404621,7 +423549,7 @@ }, "visibility": "public" }, - "4501": { + "4502": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -404630,7 +423558,7 @@ "crate_id": 0, "deprecation": null, "docs": "Moves this TCP stream into or out of nonblocking mode.\n\nThis will result in `read`, `write`, `recv` and `send` system operations\nbecoming nonblocking, i.e., immediately returning from their calls.\nIf the IO operation is successful, `Ok` is returned and no further\naction is required. If the IO operation could not be completed and needs\nto be retried, an error with kind [`io::ErrorKind::WouldBlock`] is\nreturned.\n\nOn Unix platforms, calling this method corresponds to calling `fcntl`\n`FIONBIO`. On Windows calling this method corresponds to calling\n`ioctlsocket` `FIONBIO`.\n\n# Examples\n\nReading bytes from a TCP stream in non-blocking mode:\n\n```no_run\nuse std::io::{self, Read};\nuse std::net::TcpStream;\n\nlet mut stream = TcpStream::connect(\"127.0.0.1:7878\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_nonblocking(true).expect(\"set_nonblocking call failed\");\n\n# fn wait_for_fd() { unimplemented!() }\nlet mut buf = vec![];\nloop {\n match stream.read_to_end(&mut buf) {\n Ok(_) => break,\n Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {\n // wait until network socket is ready, typically implemented\n // via platform-specific APIs such as epoll or IOCP\n wait_for_fd();\n }\n Err(e) => panic!(\"encountered IO error: {e}\"),\n };\n};\nprintln!(\"bytes: {buf:?}\");\n```", - "id": 4501, + "id": 4502, "inner": { "function": { "generics": { @@ -404680,7 +423608,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -404704,19 +423632,19 @@ }, "visibility": "public" }, - "4502": { + "4503": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4502, + "id": 4503, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -404728,12 +423656,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4438, - 4484, + 4439, 4485, 4486, - 4483, - 4488, + 4487, + 4484, 4489, 4490, 4491, @@ -404746,7 +423673,8 @@ 4498, 4499, 4500, - 4501 + 4501, + 4502 ], "provided_trait_methods": [], "trait": null @@ -404767,19 +423695,19 @@ }, "visibility": "default" }, - "4503": { + "4504": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4503, + "id": 4504, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -404804,19 +423732,19 @@ "span": null, "visibility": "default" }, - "4504": { + "4505": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4504, + "id": 4505, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -404841,19 +423769,19 @@ "span": null, "visibility": "default" }, - "4505": { + "4506": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4505, + "id": 4506, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -404868,7 +423796,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -404878,19 +423806,19 @@ "span": null, "visibility": "default" }, - "4506": { + "4507": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4506, + "id": 4507, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -404915,19 +423843,19 @@ "span": null, "visibility": "default" }, - "4507": { + "4508": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4507, + "id": 4508, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -404942,7 +423870,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -404952,19 +423880,19 @@ "span": null, "visibility": "default" }, - "4508": { + "4509": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4508, + "id": 4509, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -404979,7 +423907,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -404989,12 +423917,12 @@ "span": null, "visibility": "default" }, - "4509": { + "4510": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4509, + "id": 4510, "inner": { "impl": { "blanket_impl": { @@ -405003,7 +423931,7 @@ "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -405048,7 +423976,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -405064,7 +423992,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -405073,23 +424001,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4510": { + "4511": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4510, + "id": 4511, "inner": { "impl": { "blanket_impl": { @@ -405098,7 +424026,7 @@ "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -405143,7 +424071,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -405159,7 +424087,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -405168,23 +424096,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4511": { + "4512": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4511, + "id": 4512, "inner": { "impl": { "blanket_impl": { @@ -405193,7 +424121,7 @@ "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -405259,7 +424187,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -405284,23 +424212,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4512": { + "4513": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4512, + "id": 4513, "inner": { "impl": { "blanket_impl": { @@ -405309,7 +424237,7 @@ "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -405332,7 +424260,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -405357,23 +424285,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4513": { + "4514": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4513, + "id": 4514, "inner": { "impl": { "blanket_impl": { @@ -405382,7 +424310,7 @@ "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -405430,7 +424358,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -405448,8 +424376,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -405465,7 +424393,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -405474,23 +424402,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4514": { + "4515": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4514, + "id": 4515, "inner": { "impl": { "blanket_impl": { @@ -405499,7 +424427,7 @@ "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -405565,8 +424493,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -405582,7 +424510,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -405591,23 +424519,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4515": { + "4516": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4515, + "id": 4516, "inner": { "impl": { "blanket_impl": { @@ -405616,7 +424544,7 @@ "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -405664,12 +424592,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -405689,12 +424617,12 @@ }, "visibility": "default" }, - "4516": { + "4517": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4516, + "id": 4517, "inner": { "function": { "generics": { @@ -405740,7 +424668,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -405752,7 +424680,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -405774,7 +424702,7 @@ }, "visibility": "default" }, - "4517": { + "4518": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -405783,14 +424711,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4517, + "id": 4518, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } }, @@ -405802,12 +424730,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4516 + 4517 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -405827,7 +424755,7 @@ }, "visibility": "default" }, - "4518": { + "4519": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -405836,7 +424764,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4518, + "id": 4519, "inner": { "function": { "generics": { @@ -405869,7 +424797,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -405891,7 +424819,7 @@ }, "visibility": "default" }, - "4519": { + "4520": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -405900,7 +424828,7 @@ "crate_id": 0, "deprecation": null, "docs": "Raw SOCKETs.", - "id": 4519, + "id": 4520, "inner": { "type_alias": { "generics": { @@ -405910,7 +424838,7 @@ "type": { "resolved_path": { "args": null, - "id": 5851, + "id": 5882, "path": "raw::SOCKET" } } @@ -405931,7 +424859,7 @@ }, "visibility": "public" }, - "4520": { + "4521": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -405943,14 +424871,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4520, + "id": 4521, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "net::TcpStream" } }, @@ -405962,12 +424890,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4518 + 4519 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4521, + "id": 4522, "path": "AsRawSocket" } } @@ -405987,7 +424915,7 @@ }, "visibility": "default" }, - "4521": { + "4522": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -405996,7 +424924,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts raw sockets.", - "id": 4521, + "id": 4522, "inner": { "trait": { "bounds": [], @@ -406005,17 +424933,17 @@ "where_predicates": [] }, "implementations": [ - 4520, - 4586, - 4703, - 5875, - 5877 + 4521, + 4587, + 4704, + 5906, + 5908 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5873 + 5904 ] } }, @@ -406034,7 +424962,7 @@ }, "visibility": "public" }, - "4522": { + "4523": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -406043,7 +424971,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4522, + "id": 4523, "inner": { "function": { "generics": { @@ -406064,7 +424992,7 @@ { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -406074,7 +425002,7 @@ "output": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "net::TcpStream" } } @@ -406096,7 +425024,7 @@ }, "visibility": "default" }, - "4523": { + "4524": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -406108,14 +425036,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4523, + "id": 4524, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "net::TcpStream" } }, @@ -406127,12 +425055,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4522 + 4523 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4524, + "id": 4525, "path": "FromRawSocket" } } @@ -406152,7 +425080,7 @@ }, "visibility": "default" }, - "4524": { + "4525": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"from_raw_os\"}}]" @@ -406161,7 +425089,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates I/O objects from raw sockets.", - "id": 4524, + "id": 4525, "inner": { "trait": { "bounds": [], @@ -406170,16 +425098,16 @@ "where_predicates": [] }, "implementations": [ - 4523, - 4588, - 4705, - 5880 + 4524, + 4589, + 4706, + 5911 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5878 + 5909 ] } }, @@ -406198,7 +425126,7 @@ }, "visibility": "public" }, - "4525": { + "4526": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -406207,7 +425135,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4525, + "id": 4526, "inner": { "function": { "generics": { @@ -406234,7 +425162,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -406256,7 +425184,7 @@ }, "visibility": "default" }, - "4526": { + "4527": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -406268,14 +425196,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4526, + "id": 4527, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "net::TcpStream" } }, @@ -406287,12 +425215,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4525 + 4526 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4527, + "id": 4528, "path": "IntoRawSocket" } } @@ -406312,7 +425240,7 @@ }, "visibility": "default" }, - "4527": { + "4528": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" @@ -406321,7 +425249,7 @@ "crate_id": 0, "deprecation": null, "docs": "A trait to express the ability to consume an object and acquire ownership of\nits raw `SOCKET`.", - "id": 4527, + "id": 4528, "inner": { "trait": { "bounds": [], @@ -406330,16 +425258,16 @@ "where_predicates": [] }, "implementations": [ - 4526, - 4590, - 4707, - 5883 + 4527, + 4591, + 4708, + 5914 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5881 + 5912 ] } }, @@ -406358,7 +425286,7 @@ }, "visibility": "public" }, - "4528": { + "4529": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -406367,7 +425295,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4528, + "id": 4529, "inner": { "function": { "generics": { @@ -406409,7 +425337,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -406431,7 +425359,7 @@ }, "visibility": "default" }, - "4529": { + "4530": { "attrs": [ { "other": "#[rustc_nonnull_optimization_guaranteed]" @@ -406451,7 +425379,7 @@ "crate_id": 0, "deprecation": null, "docs": "A borrowed socket.\n\nThis has a lifetime parameter to tie it to the lifetime of something that\nowns the socket.\n\nThis uses `repr(transparent)` and has the representation of a host socket,\nso it can be used in FFI in places where a socket is passed as an argument,\nit is not captured or consumed, and it never has the value\n`INVALID_SOCKET`.\n\nThis type's `.to_owned()` implementation returns another `BorrowedSocket`\nrather than an `OwnedSocket`. It just makes a trivial copy of the raw\nsocket, which is then borrowed under the same lifetime.", - "id": 4529, + "id": 4530, "inner": { "struct": { "generics": { @@ -406468,28 +425396,28 @@ "where_predicates": [] }, "impls": [ - 5888, - 5890, - 5891, - 5892, - 5893, - 5894, - 5895, - 5896, - 5897, - 5898, - 5899, - 5900, - 5901, - 5902, - 5903, - 5904, - 5905, + 5919, + 5921, + 5922, + 5923, + 5924, + 5925, + 5926, + 5927, + 5928, + 5929, + 5930, + 5931, + 5932, + 5933, + 5934, + 5935, + 5936, + 5937, + 5939, 5906, - 5908, - 5875, - 5910, - 5912 + 5941, + 5943 ], "kind": { "plain": { @@ -406514,7 +425442,7 @@ }, "visibility": "public" }, - "4530": { + "4531": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -406526,14 +425454,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4530, + "id": 4531, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "crate::net::TcpStream" } }, @@ -406545,12 +425473,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4528 + 4529 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -406570,7 +425498,7 @@ }, "visibility": "default" }, - "4531": { + "4532": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -406579,7 +425507,7 @@ "crate_id": 0, "deprecation": null, "docs": "A trait to borrow the socket from an underlying object.", - "id": 4531, + "id": 4532, "inner": { "trait": { "bounds": [], @@ -406588,23 +425516,23 @@ "where_predicates": [] }, "implementations": [ - 5936, - 5938, - 5940, - 5942, - 5944, - 5946, - 5912, - 5934, - 4530, - 4592, - 4709 + 5967, + 5969, + 5971, + 5973, + 5975, + 5977, + 5943, + 5965, + 4531, + 4593, + 4710 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5872 + 5903 ] } }, @@ -406623,7 +425551,7 @@ }, "visibility": "public" }, - "4532": { + "4533": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -406632,7 +425560,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`TcpStream`](crate::net::TcpStream)'s socket.", - "id": 4532, + "id": 4533, "inner": { "function": { "generics": { @@ -406653,7 +425581,7 @@ { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "crate::net::TcpStream" } } @@ -406663,7 +425591,7 @@ "output": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } } @@ -406671,7 +425599,7 @@ } }, "links": { - "crate::net::TcpStream": 3047 + "crate::net::TcpStream": 3049 }, "name": "from", "span": { @@ -406687,7 +425615,7 @@ }, "visibility": "default" }, - "4533": { + "4534": { "attrs": [ { "other": "#[rustc_nonnull_optimization_guaranteed]" @@ -406707,7 +425635,7 @@ "crate_id": 0, "deprecation": null, "docs": "An owned socket.\n\nThis closes the socket on drop.\n\nThis uses `repr(transparent)` and has the representation of a host socket,\nso it can be used in FFI in places where a socket is passed as a consumed\nargument or returned as an owned value, and it never has the value\n`INVALID_SOCKET`.", - "id": 4533, + "id": 4534, "inner": { "struct": { "generics": { @@ -406715,32 +425643,32 @@ "where_predicates": [] }, "impls": [ - 5915, - 5916, - 5917, - 5918, - 5919, - 5920, - 5921, - 5922, - 5923, - 5924, - 5925, - 5926, - 5927, - 5928, - 5877, - 5883, - 5880, - 5930, - 5932, - 5934, - 4534, - 4536, - 4594, - 4596, - 4711, - 4713 + 5946, + 5947, + 5948, + 5949, + 5950, + 5951, + 5952, + 5953, + 5954, + 5955, + 5956, + 5957, + 5958, + 5959, + 5908, + 5914, + 5911, + 5961, + 5963, + 5965, + 4535, + 4537, + 4595, + 4597, + 4712, + 4714 ], "kind": { "plain": { @@ -406765,7 +425693,7 @@ }, "visibility": "public" }, - "4534": { + "4535": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -406777,14 +425705,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4534, + "id": 4535, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -406796,7 +425724,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4532 + 4533 ], "provided_trait_methods": [], "trait": { @@ -406807,7 +425735,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -406836,7 +425764,7 @@ }, "visibility": "default" }, - "4535": { + "4536": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -406845,7 +425773,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4535, + "id": 4536, "inner": { "function": { "generics": { @@ -406866,7 +425794,7 @@ { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } } @@ -406894,7 +425822,7 @@ }, "visibility": "default" }, - "4536": { + "4537": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -406906,14 +425834,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4536, + "id": 4537, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "crate::net::TcpStream" } }, @@ -406925,7 +425853,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4535 + 4536 ], "provided_trait_methods": [], "trait": { @@ -406936,7 +425864,7 @@ "type": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } } @@ -406965,7 +425893,7 @@ }, "visibility": "default" }, - "4537": { + "4538": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -406974,7 +425902,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4537, + "id": 4538, "inner": { "function": { "generics": { @@ -407027,18 +425955,18 @@ "name": "as_fd", "span": { "begin": [ - 324, + 342, 5 ], "end": [ - 326, + 344, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4538": { + "4539": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -407050,14 +425978,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4538, + "id": 4539, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "crate::net::TcpStream" } }, @@ -407069,7 +425997,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4537 + 4538 ], "provided_trait_methods": [], "trait": { @@ -407083,18 +426011,18 @@ "name": null, "span": { "begin": [ - 322, + 340, 1 ], "end": [ - 327, + 345, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4539": { + "4540": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -407103,7 +426031,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`TcpStream`](crate::net::TcpStream)'s socket file descriptor.", - "id": 4539, + "id": 4540, "inner": { "function": { "generics": { @@ -407124,7 +426052,7 @@ { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "crate::net::TcpStream" } } @@ -407142,23 +426070,23 @@ } }, "links": { - "crate::net::TcpStream": 3047 + "crate::net::TcpStream": 3049 }, "name": "from", "span": { "begin": [ - 334, + 352, 5 ], "end": [ - 336, + 354, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4540": { + "4541": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -407170,7 +426098,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4540, + "id": 4541, "inner": { "impl": { "blanket_impl": null, @@ -407189,7 +426117,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4539 + 4540 ], "provided_trait_methods": [], "trait": { @@ -407200,7 +426128,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -407218,18 +426146,18 @@ "name": null, "span": { "begin": [ - 331, + 349, 1 ], "end": [ - 337, + 355, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4541": { + "4542": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -407238,7 +426166,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4541, + "id": 4542, "inner": { "function": { "generics": { @@ -407276,18 +426204,18 @@ "name": "from", "span": { "begin": [ - 343, + 361, 5 ], "end": [ - 347, + 365, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4542": { + "4543": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -407299,14 +426227,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4542, + "id": 4543, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "crate::net::TcpStream" } }, @@ -407318,7 +426246,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4541 + 4542 ], "provided_trait_methods": [], "trait": { @@ -407347,18 +426275,18 @@ "name": null, "span": { "begin": [ - 341, + 359, 1 ], "end": [ - 348, + 366, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4543": { + "4544": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -407367,7 +426295,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4543, + "id": 4544, "inner": { "function": { "generics": { @@ -407422,7 +426350,7 @@ }, "visibility": "default" }, - "4544": { + "4545": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -407431,14 +426359,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4544, + "id": 4545, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "net::TcpStream" } }, @@ -407450,7 +426378,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4543 + 4544 ], "provided_trait_methods": [], "trait": { @@ -407475,7 +426403,7 @@ }, "visibility": "default" }, - "4545": { + "4546": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -407484,7 +426412,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4545, + "id": 4546, "inner": { "function": { "generics": { @@ -407515,7 +426443,7 @@ "output": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "net::TcpStream" } } @@ -407537,7 +426465,7 @@ }, "visibility": "default" }, - "4546": { + "4547": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"from_raw_os\"}}]" @@ -407546,14 +426474,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4546, + "id": 4547, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "net::TcpStream" } }, @@ -407565,7 +426493,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4545 + 4546 ], "provided_trait_methods": [], "trait": { @@ -407590,7 +426518,7 @@ }, "visibility": "default" }, - "4547": { + "4548": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -407599,7 +426527,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4547, + "id": 4548, "inner": { "function": { "generics": { @@ -407648,7 +426576,7 @@ }, "visibility": "default" }, - "4548": { + "4549": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" @@ -407657,14 +426585,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4548, + "id": 4549, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "net::TcpStream" } }, @@ -407676,7 +426604,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4547 + 4548 ], "provided_trait_methods": [], "trait": { @@ -407701,12 +426629,45 @@ }, "visibility": "default" }, - "4549": { + "455": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 455, + "inner": { + "use": { + "id": 303, + "is_glob": false, + "name": "Scope", + "source": "scoped::Scope" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 180, + 18 + ], + "end": [ + 180, + 23 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4550": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4549, + "id": 4550, "inner": { "function": { "generics": { @@ -407756,7 +426717,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -407767,56 +426728,23 @@ "name": "set_quickack", "span": { "begin": [ - 111, + 117, 5 ], "end": [ - 113, + 119, 6 ], "filename": "std/src/os/net/linux_ext/tcp.rs" }, "visibility": "default" }, - "455": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 455, - "inner": { - "use": { - "id": 305, - "is_glob": false, - "name": "Scope", - "source": "scoped::Scope" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 180, - 18 - ], - "end": [ - 180, - 23 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4550": { + "4551": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4550, + "id": 4551, "inner": { "function": { "generics": { @@ -407860,7 +426788,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -407871,18 +426799,18 @@ "name": "quickack", "span": { "begin": [ - 115, + 121, 5 ], "end": [ - 117, + 123, 6 ], "filename": "std/src/os/net/linux_ext/tcp.rs" }, "visibility": "default" }, - "4551": { + "4552": { "attrs": [ { "other": "#[(target_os = \"linux\")]" @@ -407891,7 +426819,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4551, + "id": 4552, "inner": { "function": { "generics": { @@ -407922,7 +426850,11 @@ [ "accept", { - "primitive": "u32" + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } } ] ], @@ -407941,7 +426873,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -407952,18 +426884,18 @@ "name": "set_deferaccept", "span": { "begin": [ - 120, + 126, 5 ], "end": [ - 122, + 128, 6 ], "filename": "std/src/os/net/linux_ext/tcp.rs" }, "visibility": "default" }, - "4552": { + "4553": { "attrs": [ { "other": "#[(target_os = \"linux\")]" @@ -407972,7 +426904,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4552, + "id": 4553, "inner": { "function": { "generics": { @@ -408009,14 +426941,18 @@ "args": [ { "type": { - "primitive": "u32" + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -408027,21 +426963,21 @@ "name": "deferaccept", "span": { "begin": [ - 125, + 131, 5 ], "end": [ - 127, + 133, 6 ], "filename": "std/src/os/net/linux_ext/tcp.rs" }, "visibility": "default" }, - "4553": { + "4554": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"linux\", target_os = \"android\")))]" + "other": "#[doc(cfg(any(target_os = \"linux\", target_os = \"android\", target_os =\n\"cygwin\")))]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"tcp_quickack\"}}]" @@ -408050,14 +426986,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4553, + "id": 4554, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "net::TcpStream" } }, @@ -408069,15 +427005,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4549, 4550, 4551, - 4552 + 4552, + 4553 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4554, + "id": 4555, "path": "TcpStreamExt" } } @@ -408086,18 +427022,18 @@ "name": null, "span": { "begin": [ - 110, + 116, 1 ], "end": [ - 128, + 134, 2 ], "filename": "std/src/os/net/linux_ext/tcp.rs" }, "visibility": "default" }, - "4554": { + "4555": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"tcp_quickack\"}}]" @@ -408106,7 +427042,7 @@ "crate_id": 0, "deprecation": null, "docs": "Os-specific extensions for [`TcpStream`]\n\n[`TcpStream`]: net::TcpStream", - "id": 4554, + "id": 4555, "inner": { "trait": { "bounds": [ @@ -408116,7 +427052,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -408127,37 +427063,37 @@ "where_predicates": [] }, "implementations": [ - 4553 + 4554 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 6191, - 6192, - 6193, - 6194 + 6224, + 6225, + 6226, + 6227 ] } }, "links": { - "net::TcpStream": 3047 + "net::TcpStream": 3049 }, "name": "TcpStreamExt", "span": { "begin": [ - 13, + 15, 1 ], "end": [ - 104, + 110, 2 ], "filename": "std/src/os/net/linux_ext/tcp.rs" }, "visibility": "public" }, - "4556": { + "4557": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -408166,7 +427102,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `TcpListener` which will be bound to the specified\naddress.\n\nThe returned listener is ready for accepting connections.\n\nBinding with a port number of 0 will request that the OS assigns a port\nto this listener. The port allocated can be queried via the\n[`TcpListener::local_addr`] method.\n\nThe address type can be any implementor of [`ToSocketAddrs`] trait. See\nits documentation for concrete examples.\n\nIf `addr` yields multiple addresses, `bind` will be attempted with\neach of the addresses until one succeeds and returns the listener. If\nnone of the addresses succeed in creating a listener, the error returned\nfrom the last attempt (the last address) is returned.\n\n# Examples\n\nCreates a TCP listener bound to `127.0.0.1:80`:\n\n```no_run\nuse std::net::TcpListener;\n\nlet listener = TcpListener::bind(\"127.0.0.1:80\").unwrap();\n```\n\nCreates a TCP listener bound to `127.0.0.1:80`. If that fails, create a\nTCP listener bound to `127.0.0.1:443`:\n\n```no_run\nuse std::net::{SocketAddr, TcpListener};\n\nlet addrs = [\n SocketAddr::from(([127, 0, 0, 1], 80)),\n SocketAddr::from(([127, 0, 0, 1], 443)),\n];\nlet listener = TcpListener::bind(&addrs[..]).unwrap();\n```\n\nCreates a TCP listener bound to a port assigned by the operating system\nat `127.0.0.1`.\n\n```no_run\nuse std::net::TcpListener;\n\nlet socket = TcpListener::bind(\"127.0.0.1:0\").unwrap();\n```", - "id": 4556, + "id": 4557, "inner": { "function": { "generics": { @@ -408181,7 +427117,7 @@ "modifier": "none", "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -408222,7 +427158,7 @@ "type": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } } @@ -408231,7 +427167,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -408239,8 +427175,8 @@ } }, "links": { - "`TcpListener::local_addr`": 4559, - "`ToSocketAddrs`": 1751 + "`TcpListener::local_addr`": 4560, + "`ToSocketAddrs`": 1749 }, "name": "bind", "span": { @@ -408256,7 +427192,7 @@ }, "visibility": "public" }, - "4557": { + "4558": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -408270,7 +427206,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator that infinitely [`accept`]s connections on a [`TcpListener`].\n\nThis `struct` is created by the [`TcpListener::incoming`] method.\nSee its documentation for more.\n\n[`accept`]: TcpListener::accept", - "id": 4557, + "id": 4558, "inner": { "struct": { "generics": { @@ -408287,7 +427223,6 @@ "where_predicates": [] }, "impls": [ - 4610, 4611, 4612, 4613, @@ -408301,9 +427236,10 @@ 4621, 4622, 4623, - 4625, - 4628, - 4629 + 4624, + 4626, + 4629, + 4630 ], "kind": { "plain": { @@ -408314,9 +427250,9 @@ } }, "links": { - "TcpListener::accept": 4481, - "`TcpListener::incoming`": 4558, - "`TcpListener`": 4482 + "TcpListener::accept": 4482, + "`TcpListener::incoming`": 4559, + "`TcpListener`": 4483 }, "name": "Incoming", "span": { @@ -408332,7 +427268,7 @@ }, "visibility": "public" }, - "4558": { + "4559": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -408341,7 +427277,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns an iterator over the connections being received on this\nlistener.\n\nThe returned iterator will never return [`None`] and will also not yield\nthe peer's [`SocketAddr`] structure. Iterating over it is equivalent to\ncalling [`TcpListener::accept`] in a loop.\n\n# Examples\n\n```no_run\nuse std::net::{TcpListener, TcpStream};\n\nfn handle_connection(stream: TcpStream) {\n //...\n}\n\nfn main() -> std::io::Result<()> {\n let listener = TcpListener::bind(\"127.0.0.1:80\")?;\n\n for stream in listener.incoming() {\n match stream {\n Ok(stream) => {\n handle_connection(stream);\n }\n Err(e) => { /* connection failed */ }\n }\n }\n Ok(())\n}\n```", - "id": 4558, + "id": 4559, "inner": { "function": { "generics": { @@ -408383,7 +427319,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } } @@ -408392,8 +427328,8 @@ }, "links": { "`None`": 53, - "`SocketAddr`": 4430, - "`TcpListener::accept`": 4481 + "`SocketAddr`": 4431, + "`TcpListener::accept`": 4482 }, "name": "incoming", "span": { @@ -408409,7 +427345,40 @@ }, "visibility": "public" }, - "4559": { + "456": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 456, + "inner": { + "use": { + "id": 304, + "is_glob": false, + "name": "ScopedJoinHandle", + "source": "scoped::ScopedJoinHandle" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 180, + 25 + ], + "end": [ + 180, + 41 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4560": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -408418,7 +427387,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the local socket address of this listener.\n\n# Examples\n\n```no_run\nuse std::net::{Ipv4Addr, SocketAddr, SocketAddrV4, TcpListener};\n\nlet listener = TcpListener::bind(\"127.0.0.1:8080\").unwrap();\nassert_eq!(listener.local_addr().unwrap(),\n SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080)));\n```", - "id": 4559, + "id": 4560, "inner": { "function": { "generics": { @@ -408457,7 +427426,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -408466,7 +427435,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -408488,40 +427457,7 @@ }, "visibility": "public" }, - "456": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 456, - "inner": { - "use": { - "id": 306, - "is_glob": false, - "name": "ScopedJoinHandle", - "source": "scoped::ScopedJoinHandle" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 180, - 25 - ], - "end": [ - 180, - 41 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4560": { + "4561": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -408530,7 +427466,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new independently owned handle to the underlying socket.\n\nThe returned [`TcpListener`] is a reference to the same socket that this\nobject references. Both handles can be used to accept incoming\nconnections and options set on one listener will affect the other.\n\n# Examples\n\n```no_run\nuse std::net::TcpListener;\n\nlet listener = TcpListener::bind(\"127.0.0.1:8080\").unwrap();\nlet listener_clone = listener.try_clone().unwrap();\n```", - "id": 4560, + "id": 4561, "inner": { "function": { "generics": { @@ -408569,7 +427505,7 @@ "type": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } } @@ -408578,7 +427514,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -408586,7 +427522,7 @@ } }, "links": { - "`TcpListener`": 4482 + "`TcpListener`": 4483 }, "name": "try_clone", "span": { @@ -408602,7 +427538,7 @@ }, "visibility": "public" }, - "4561": { + "4562": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88373, is_soft: false}, feature: \"tcplistener_into_incoming\"}}]" @@ -408616,7 +427552,7 @@ "crate_id": 0, "deprecation": null, "docs": "Turn this into an iterator over the connections being received on this\nlistener.\n\nThe returned iterator will never return [`None`] and will also not yield\nthe peer's [`SocketAddr`] structure. Iterating over it is equivalent to\ncalling [`TcpListener::accept`] in a loop.\n\n# Examples\n\n```no_run\n#![feature(tcplistener_into_incoming)]\nuse std::net::{TcpListener, TcpStream};\n\nfn listen_on(port: u16) -> impl Iterator {\n let listener = TcpListener::bind((\"127.0.0.1\", port)).unwrap();\n listener.into_incoming()\n .filter_map(Result::ok) /* Ignore failed connections */\n}\n\nfn main() -> std::io::Result<()> {\n for stream in listen_on(80) {\n /* handle the connection here */\n }\n Ok(())\n}\n```", - "id": 4561, + "id": 4562, "inner": { "function": { "generics": { @@ -408643,7 +427579,7 @@ "output": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } } @@ -408652,8 +427588,8 @@ }, "links": { "`None`": 53, - "`SocketAddr`": 4430, - "`TcpListener::accept`": 4481 + "`SocketAddr`": 4431, + "`TcpListener::accept`": 4482 }, "name": "into_incoming", "span": { @@ -408669,7 +427605,7 @@ }, "visibility": "public" }, - "4562": { + "4563": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88373, is_soft: false}, feature: \"tcplistener_into_incoming\"}}]" @@ -408678,7 +427614,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator that infinitely [`accept`]s connections on a [`TcpListener`].\n\nThis `struct` is created by the [`TcpListener::into_incoming`] method.\nSee its documentation for more.\n\n[`accept`]: TcpListener::accept", - "id": 4562, + "id": 4563, "inner": { "struct": { "generics": { @@ -408686,7 +427622,6 @@ "where_predicates": [] }, "impls": [ - 4631, 4632, 4633, 4634, @@ -408700,9 +427635,10 @@ 4642, 4643, 4644, - 4646, - 4649, - 4650 + 4645, + 4647, + 4650, + 4651 ], "kind": { "plain": { @@ -408713,9 +427649,9 @@ } }, "links": { - "TcpListener::accept": 4481, - "`TcpListener::into_incoming`": 4561, - "`TcpListener`": 4482 + "TcpListener::accept": 4482, + "`TcpListener::into_incoming`": 4562, + "`TcpListener`": 4483 }, "name": "IntoIncoming", "span": { @@ -408731,7 +427667,7 @@ }, "visibility": "public" }, - "4563": { + "4564": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -408740,7 +427676,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the value for the `IP_TTL` option on this socket.\n\nThis value sets the time-to-live field that is used in every packet sent\nfrom this socket.\n\n# Examples\n\n```no_run\nuse std::net::TcpListener;\n\nlet listener = TcpListener::bind(\"127.0.0.1:80\").unwrap();\nlistener.set_ttl(100).expect(\"could not set TTL\");\n```", - "id": 4563, + "id": 4564, "inner": { "function": { "generics": { @@ -408790,7 +427726,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -408812,7 +427748,7 @@ }, "visibility": "public" }, - "4564": { + "4565": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -408821,7 +427757,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `IP_TTL` option for this socket.\n\nFor more information about this option, see [`TcpListener::set_ttl`].\n\n# Examples\n\n```no_run\nuse std::net::TcpListener;\n\nlet listener = TcpListener::bind(\"127.0.0.1:80\").unwrap();\nlistener.set_ttl(100).expect(\"could not set TTL\");\nassert_eq!(listener.ttl().unwrap_or(0), 100);\n```", - "id": 4564, + "id": 4565, "inner": { "function": { "generics": { @@ -408865,7 +427801,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -408873,7 +427809,7 @@ } }, "links": { - "`TcpListener::set_ttl`": 4563 + "`TcpListener::set_ttl`": 4564 }, "name": "ttl", "span": { @@ -408889,7 +427825,7 @@ }, "visibility": "public" }, - "4565": { + "4566": { "attrs": [ { "other": "#[allow(missing_docs)]" @@ -408904,7 +427840,7 @@ "since": "1.16.0" }, "docs": null, - "id": 4565, + "id": 4566, "inner": { "function": { "generics": { @@ -408954,7 +427890,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -408976,7 +427912,7 @@ }, "visibility": "public" }, - "4566": { + "4567": { "attrs": [ { "other": "#[allow(missing_docs)]" @@ -408991,7 +427927,7 @@ "since": "1.16.0" }, "docs": null, - "id": 4566, + "id": 4567, "inner": { "function": { "generics": { @@ -409035,7 +427971,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -409057,7 +427993,7 @@ }, "visibility": "public" }, - "4567": { + "4568": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -409066,7 +428002,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `SO_ERROR` option on this socket.\n\nThis will retrieve the stored error in the underlying socket, clearing\nthe field in the process. This can be useful for checking errors between\ncalls.\n\n# Examples\n\n```no_run\nuse std::net::TcpListener;\n\nlet listener = TcpListener::bind(\"127.0.0.1:80\").unwrap();\nlistener.take_error().expect(\"No error was expected\");\n```", - "id": 4567, + "id": 4568, "inner": { "function": { "generics": { @@ -409129,7 +428065,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -409151,7 +428087,7 @@ }, "visibility": "public" }, - "4568": { + "4569": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -409160,7 +428096,7 @@ "crate_id": 0, "deprecation": null, "docs": "Moves this TCP stream into or out of nonblocking mode.\n\nThis will result in the `accept` operation becoming nonblocking,\ni.e., immediately returning from their calls. If the IO operation is\nsuccessful, `Ok` is returned and no further action is required. If the\nIO operation could not be completed and needs to be retried, an error\nwith kind [`io::ErrorKind::WouldBlock`] is returned.\n\nOn Unix platforms, calling this method corresponds to calling `fcntl`\n`FIONBIO`. On Windows calling this method corresponds to calling\n`ioctlsocket` `FIONBIO`.\n\n# Examples\n\nBind a TCP listener to an address, listen for connections, and read\nbytes in nonblocking mode:\n\n```no_run\nuse std::io;\nuse std::net::TcpListener;\n\nlet listener = TcpListener::bind(\"127.0.0.1:7878\").unwrap();\nlistener.set_nonblocking(true).expect(\"Cannot set non-blocking\");\n\n# fn wait_for_fd() { unimplemented!() }\n# fn handle_connection(stream: std::net::TcpStream) { unimplemented!() }\nfor stream in listener.incoming() {\n match stream {\n Ok(s) => {\n // do something with the TcpStream\n handle_connection(s);\n }\n Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {\n // wait until network socket is ready, typically implemented\n // via platform-specific APIs such as epoll or IOCP\n wait_for_fd();\n continue;\n }\n Err(e) => panic!(\"encountered IO error: {e}\"),\n }\n}\n```", - "id": 4568, + "id": 4569, "inner": { "function": { "generics": { @@ -409210,7 +428146,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -409234,19 +428170,52 @@ }, "visibility": "public" }, - "4569": { + "457": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 457, + "inner": { + "use": { + "id": 302, + "is_glob": false, + "name": "scope", + "source": "scoped::scope" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 180, + 43 + ], + "end": [ + 180, + 48 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4570": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4569, + "id": 4570, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409258,18 +428227,18 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4556, - 4559, + 4557, 4560, - 4481, - 4558, 4561, - 4563, + 4482, + 4559, + 4562, 4564, 4565, 4566, 4567, - 4568 + 4568, + 4569 ], "provided_trait_methods": [], "trait": null @@ -409290,52 +428259,19 @@ }, "visibility": "default" }, - "457": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"scoped_threads\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 457, - "inner": { - "use": { - "id": 304, - "is_glob": false, - "name": "scope", - "source": "scoped::scope" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 180, - 43 - ], - "end": [ - 180, - 48 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4570": { + "4571": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4570, + "id": 4571, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409360,19 +428296,19 @@ "span": null, "visibility": "default" }, - "4571": { + "4572": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4571, + "id": 4572, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409397,19 +428333,19 @@ "span": null, "visibility": "default" }, - "4572": { + "4573": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4572, + "id": 4573, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409424,7 +428360,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -409434,19 +428370,19 @@ "span": null, "visibility": "default" }, - "4573": { + "4574": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4573, + "id": 4574, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409471,19 +428407,19 @@ "span": null, "visibility": "default" }, - "4574": { + "4575": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4574, + "id": 4575, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409498,7 +428434,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -409508,19 +428444,19 @@ "span": null, "visibility": "default" }, - "4575": { + "4576": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4575, + "id": 4576, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409535,7 +428471,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -409545,12 +428481,12 @@ "span": null, "visibility": "default" }, - "4576": { + "4577": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4576, + "id": 4577, "inner": { "impl": { "blanket_impl": { @@ -409559,7 +428495,7 @@ "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409604,7 +428540,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -409620,7 +428556,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -409629,23 +428565,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4577": { + "4578": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4577, + "id": 4578, "inner": { "impl": { "blanket_impl": { @@ -409654,7 +428590,7 @@ "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409699,7 +428635,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -409715,7 +428651,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -409724,23 +428660,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4578": { + "4579": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4578, + "id": 4579, "inner": { "impl": { "blanket_impl": { @@ -409749,7 +428685,7 @@ "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409815,7 +428751,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -409840,23 +428776,56 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4579": { + "458": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 458, + "inner": { + "use": { + "id": 371, + "is_glob": false, + "name": "current", + "source": "current::current" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 185, + 1 + ], + "end": [ + 185, + 26 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4580": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4579, + "id": 4580, "inner": { "impl": { "blanket_impl": { @@ -409865,7 +428834,7 @@ "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -409888,7 +428857,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -409913,56 +428882,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "458": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 458, - "inner": { - "use": { - "id": 371, - "is_glob": false, - "name": "current", - "source": "current::current" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 185, - 1 - ], - "end": [ - 185, - 26 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4580": { + "4581": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4580, + "id": 4581, "inner": { "impl": { "blanket_impl": { @@ -409971,7 +428907,7 @@ "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -410019,7 +428955,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -410037,8 +428973,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -410054,7 +428990,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -410063,23 +428999,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4581": { + "4582": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4581, + "id": 4582, "inner": { "impl": { "blanket_impl": { @@ -410088,7 +429024,7 @@ "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -410154,8 +429090,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -410171,7 +429107,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -410180,23 +429116,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4582": { + "4583": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4582, + "id": 4583, "inner": { "impl": { "blanket_impl": { @@ -410205,7 +429141,7 @@ "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -410253,12 +429189,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -410278,12 +429214,12 @@ }, "visibility": "default" }, - "4583": { + "4584": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4583, + "id": 4584, "inner": { "function": { "generics": { @@ -410329,7 +429265,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -410341,7 +429277,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -410363,7 +429299,7 @@ }, "visibility": "default" }, - "4584": { + "4585": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -410372,14 +429308,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4584, + "id": 4585, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } }, @@ -410391,12 +429327,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4583 + 4584 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -410416,7 +429352,7 @@ }, "visibility": "default" }, - "4585": { + "4586": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -410425,7 +429361,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4585, + "id": 4586, "inner": { "function": { "generics": { @@ -410458,7 +429394,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -410480,7 +429416,7 @@ }, "visibility": "default" }, - "4586": { + "4587": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -410492,14 +429428,132 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4586, + "id": 4587, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4483, + "path": "net::TcpListener" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 4586 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 4522, + "path": "AsRawSocket" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 245, + 1 + ], + "end": [ + 250, + 2 + ], + "filename": "std/src/os/windows/io/raw.rs" + }, + "visibility": "default" + }, + "4588": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4588, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "sock", + { + "resolved_path": { + "args": null, + "id": 4520, + "path": "RawSocket" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 4483, + "path": "net::TcpListener" + } + } + } + } + }, + "links": {}, + "name": "from_raw_socket", + "span": { + "begin": [ + 272, + 5 + ], + "end": [ + 277, + 6 + ], + "filename": "std/src/os/windows/io/raw.rs" + }, + "visibility": "default" + }, + "4589": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"from_raw_os\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4589, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "net::TcpListener" } }, @@ -410511,13 +429565,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4585 + 4588 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4521, - "path": "AsRawSocket" + "id": 4525, + "path": "FromRawSocket" } } }, @@ -410525,136 +429579,51 @@ "name": null, "span": { "begin": [ - 245, + 270, 1 ], "end": [ - 250, + 278, 2 ], "filename": "std/src/os/windows/io/raw.rs" }, "visibility": "default" }, - "4587": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4587, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "sock", - { - "resolved_path": { - "args": null, - "id": 4519, - "path": "RawSocket" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 4482, - "path": "net::TcpListener" - } - } - } - } - }, - "links": {}, - "name": "from_raw_socket", - "span": { - "begin": [ - 272, - 5 - ], - "end": [ - 277, - 6 - ], - "filename": "std/src/os/windows/io/raw.rs" - }, - "visibility": "default" - }, - "4588": { + "459": { "attrs": [ { - "other": "#[doc(cfg(windows))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"from_raw_os\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 147194, is_soft: false}, feature: \"current_thread_id\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4588, + "id": 459, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4482, - "path": "net::TcpListener" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 4587 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 4524, - "path": "FromRawSocket" - } + "use": { + "id": 369, + "is_glob": false, + "name": "current_id", + "source": "current::current_id" } }, "links": {}, "name": null, "span": { "begin": [ - 270, + 187, 1 ], "end": [ - 278, - 2 + 187, + 29 ], - "filename": "std/src/os/windows/io/raw.rs" + "filename": "std/src/thread/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "4589": { + "4590": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -410663,7 +429632,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4589, + "id": 4590, "inner": { "function": { "generics": { @@ -410690,7 +429659,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -410712,40 +429681,7 @@ }, "visibility": "default" }, - "459": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 132951, is_soft: false}, feature: \"thread_spawn_hook\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 459, - "inner": { - "use": { - "id": 373, - "is_glob": false, - "name": "add_spawn_hook", - "source": "spawnhook::add_spawn_hook" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 192, - 1 - ], - "end": [ - 192, - 35 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4590": { + "4591": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -410757,14 +429693,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4590, + "id": 4591, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "net::TcpListener" } }, @@ -410776,12 +429712,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4589 + 4590 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4527, + "id": 4528, "path": "IntoRawSocket" } } @@ -410801,7 +429737,7 @@ }, "visibility": "default" }, - "4591": { + "4592": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -410810,7 +429746,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4591, + "id": 4592, "inner": { "function": { "generics": { @@ -410852,7 +429788,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -410874,7 +429810,7 @@ }, "visibility": "default" }, - "4592": { + "4593": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -410886,14 +429822,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4592, + "id": 4593, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "crate::net::TcpListener" } }, @@ -410905,12 +429841,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4591 + 4592 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -410930,7 +429866,7 @@ }, "visibility": "default" }, - "4593": { + "4594": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -410939,7 +429875,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`TcpListener`](crate::net::TcpListener)'s socket.", - "id": 4593, + "id": 4594, "inner": { "function": { "generics": { @@ -410960,7 +429896,7 @@ { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "crate::net::TcpListener" } } @@ -410970,7 +429906,7 @@ "output": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } } @@ -410978,7 +429914,7 @@ } }, "links": { - "crate::net::TcpListener": 4482 + "crate::net::TcpListener": 4483 }, "name": "from", "span": { @@ -410994,7 +429930,7 @@ }, "visibility": "default" }, - "4594": { + "4595": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -411006,14 +429942,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4594, + "id": 4595, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -411025,7 +429961,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4593 + 4594 ], "provided_trait_methods": [], "trait": { @@ -411036,7 +429972,7 @@ "type": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } } @@ -411065,7 +430001,7 @@ }, "visibility": "default" }, - "4595": { + "4596": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -411074,7 +430010,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4595, + "id": 4596, "inner": { "function": { "generics": { @@ -411095,7 +430031,7 @@ { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } } @@ -411123,7 +430059,7 @@ }, "visibility": "default" }, - "4596": { + "4597": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -411135,14 +430071,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4596, + "id": 4597, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "crate::net::TcpListener" } }, @@ -411154,7 +430090,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4595 + 4596 ], "provided_trait_methods": [], "trait": { @@ -411165,7 +430101,7 @@ "type": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } } @@ -411194,7 +430130,7 @@ }, "visibility": "default" }, - "4597": { + "4598": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -411203,7 +430139,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4597, + "id": 4598, "inner": { "function": { "generics": { @@ -411256,18 +430192,18 @@ "name": "as_fd", "span": { "begin": [ - 354, + 372, 5 ], "end": [ - 356, + 374, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4598": { + "4599": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -411279,14 +430215,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4598, + "id": 4599, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "crate::net::TcpListener" } }, @@ -411298,7 +430234,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4597 + 4598 ], "provided_trait_methods": [], "trait": { @@ -411312,18 +430248,87 @@ "name": null, "span": { "begin": [ - 352, + 370, 1 ], "end": [ - 357, + 375, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4599": { + "46": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 46, + "inner": { + "use": { + "id": 47, + "is_glob": false, + "name": "IntoIterator", + "source": "crate::iter::IntoIterator" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 38, + 31 + ], + "end": [ + 38, + 43 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "460": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 132951, is_soft: false}, feature: \"thread_spawn_hook\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 460, + "inner": { + "use": { + "id": 373, + "is_glob": false, + "name": "add_spawn_hook", + "source": "spawnhook::add_spawn_hook" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 194, + 1 + ], + "end": [ + 194, + 35 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4600": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -411332,7 +430337,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`TcpListener`](crate::net::TcpListener)'s socket file descriptor.", - "id": 4599, + "id": 4600, "inner": { "function": { "generics": { @@ -411353,7 +430358,7 @@ { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "crate::net::TcpListener" } } @@ -411371,92 +430376,23 @@ } }, "links": { - "crate::net::TcpListener": 4482 + "crate::net::TcpListener": 4483 }, "name": "from", "span": { "begin": [ - 364, + 382, 5 ], "end": [ - 366, + 384, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "46": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 46, - "inner": { - "use": { - "id": 47, - "is_glob": false, - "name": "IntoIterator", - "source": "crate::iter::IntoIterator" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 38, - 31 - ], - "end": [ - 38, - 43 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "460": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 460, - "inner": { - "use": { - "id": 384, - "is_glob": false, - "name": "AccessError", - "source": "self::local::AccessError" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 202, - 23 - ], - "end": [ - 202, - 34 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4600": { + "4601": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -411468,7 +430404,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4600, + "id": 4601, "inner": { "impl": { "blanket_impl": null, @@ -411487,7 +430423,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4599 + 4600 ], "provided_trait_methods": [], "trait": { @@ -411498,7 +430434,7 @@ "type": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "TcpListener" } } @@ -411516,18 +430452,18 @@ "name": null, "span": { "begin": [ - 361, + 379, 1 ], "end": [ - 367, + 385, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4601": { + "4602": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -411536,7 +430472,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4601, + "id": 4602, "inner": { "function": { "generics": { @@ -411574,18 +430510,18 @@ "name": "from", "span": { "begin": [ - 373, + 391, 5 ], "end": [ - 377, + 395, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4602": { + "4603": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -411597,14 +430533,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4602, + "id": 4603, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "crate::net::TcpListener" } }, @@ -411616,7 +430552,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4601 + 4602 ], "provided_trait_methods": [], "trait": { @@ -411645,18 +430581,18 @@ "name": null, "span": { "begin": [ - 371, + 389, 1 ], "end": [ - 378, + 396, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4603": { + "4604": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -411665,7 +430601,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4603, + "id": 4604, "inner": { "function": { "generics": { @@ -411720,7 +430656,7 @@ }, "visibility": "default" }, - "4604": { + "4605": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -411729,14 +430665,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4604, + "id": 4605, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "net::TcpListener" } }, @@ -411748,7 +430684,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4603 + 4604 ], "provided_trait_methods": [], "trait": { @@ -411773,7 +430709,7 @@ }, "visibility": "default" }, - "4605": { + "4606": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -411782,7 +430718,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4605, + "id": 4606, "inner": { "function": { "generics": { @@ -411813,7 +430749,7 @@ "output": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "net::TcpListener" } } @@ -411835,7 +430771,7 @@ }, "visibility": "default" }, - "4606": { + "4607": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"from_raw_os\"}}]" @@ -411844,14 +430780,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4606, + "id": 4607, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "net::TcpListener" } }, @@ -411863,7 +430799,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4605 + 4606 ], "provided_trait_methods": [], "trait": { @@ -411888,7 +430824,7 @@ }, "visibility": "default" }, - "4607": { + "4608": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -411897,7 +430833,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4607, + "id": 4608, "inner": { "function": { "generics": { @@ -411946,7 +430882,7 @@ }, "visibility": "default" }, - "4608": { + "4609": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" @@ -411955,14 +430891,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4608, + "id": 4609, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4482, + "id": 4483, "path": "net::TcpListener" } }, @@ -411974,7 +430910,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4607 + 4608 ], "provided_trait_methods": [], "trait": { @@ -412011,33 +430947,33 @@ "id": 461, "inner": { "use": { - "id": 383, + "id": 384, "is_glob": false, - "name": "LocalKey", - "source": "self::local::LocalKey" + "name": "AccessError", + "source": "self::local::AccessError" } }, "links": {}, "name": null, "span": { "begin": [ - 202, - 36 + 204, + 23 ], "end": [ - 202, - 44 + 204, + 34 ], "filename": "std/src/thread/mod.rs" }, "visibility": "public" }, - "4610": { + "4611": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4610, + "id": 4611, "inner": { "impl": { "blanket_impl": null, @@ -412053,7 +430989,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412087,12 +431023,12 @@ "span": null, "visibility": "default" }, - "4611": { + "4612": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4611, + "id": 4612, "inner": { "impl": { "blanket_impl": null, @@ -412108,7 +431044,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412142,12 +431078,12 @@ "span": null, "visibility": "default" }, - "4612": { + "4613": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4612, + "id": 4613, "inner": { "impl": { "blanket_impl": null, @@ -412163,7 +431099,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412187,7 +431123,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -412197,12 +431133,12 @@ "span": null, "visibility": "default" }, - "4613": { + "4614": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4613, + "id": 4614, "inner": { "impl": { "blanket_impl": null, @@ -412218,7 +431154,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412252,12 +431188,12 @@ "span": null, "visibility": "default" }, - "4614": { + "4615": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4614, + "id": 4615, "inner": { "impl": { "blanket_impl": null, @@ -412273,7 +431209,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412297,7 +431233,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -412307,12 +431243,12 @@ "span": null, "visibility": "default" }, - "4615": { + "4616": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4615, + "id": 4616, "inner": { "impl": { "blanket_impl": null, @@ -412328,7 +431264,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412352,7 +431288,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -412362,12 +431298,12 @@ "span": null, "visibility": "default" }, - "4616": { + "4617": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4616, + "id": 4617, "inner": { "impl": { "blanket_impl": { @@ -412385,7 +431321,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412430,7 +431366,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -412446,7 +431382,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -412455,23 +431391,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4617": { + "4618": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4617, + "id": 4618, "inner": { "impl": { "blanket_impl": { @@ -412489,7 +431425,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412534,7 +431470,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -412550,7 +431486,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -412559,23 +431495,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4618": { + "4619": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4618, + "id": 4619, "inner": { "impl": { "blanket_impl": { @@ -412593,7 +431529,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412659,7 +431595,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -412684,23 +431620,56 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4619": { + "462": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 462, + "inner": { + "use": { + "id": 383, + "is_glob": false, + "name": "LocalKey", + "source": "self::local::LocalKey" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 204, + 36 + ], + "end": [ + 204, + 44 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4620": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4619, + "id": 4620, "inner": { "impl": { "blanket_impl": { @@ -412718,7 +431687,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412741,7 +431710,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -412766,23 +431735,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4620": { + "4621": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4620, + "id": 4621, "inner": { "impl": { "blanket_impl": { @@ -412800,7 +431769,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412848,7 +431817,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -412866,8 +431835,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -412883,7 +431852,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -412892,23 +431861,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4621": { + "4622": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4621, + "id": 4622, "inner": { "impl": { "blanket_impl": { @@ -412926,7 +431895,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -412992,8 +431961,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -413009,7 +431978,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -413018,23 +431987,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4622": { + "4623": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4622, + "id": 4623, "inner": { "impl": { "blanket_impl": { @@ -413052,7 +432021,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -413100,12 +432069,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -413125,12 +432094,12 @@ }, "visibility": "default" }, - "4623": { + "4624": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4623, + "id": 4624, "inner": { "impl": { "blanket_impl": { @@ -413148,7 +432117,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -413220,7 +432189,7 @@ }, "visibility": "default" }, - "4624": { + "4625": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -413229,7 +432198,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4624, + "id": 4625, "inner": { "function": { "generics": { @@ -413275,7 +432244,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -413287,7 +432256,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -413309,7 +432278,7 @@ }, "visibility": "default" }, - "4625": { + "4626": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -413319,7 +432288,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4625, + "id": 4626, "inner": { "impl": { "blanket_impl": null, @@ -413335,7 +432304,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -413356,12 +432325,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4624 + 4625 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -413381,12 +432350,12 @@ }, "visibility": "default" }, - "4626": { + "4627": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4626, + "id": 4627, "inner": { "assoc_type": { "bounds": [], @@ -413403,7 +432372,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -413442,12 +432411,12 @@ }, "visibility": "default" }, - "4627": { + "4628": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4627, + "id": 4628, "inner": { "function": { "generics": { @@ -413492,7 +432461,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -413501,7 +432470,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -413532,7 +432501,7 @@ }, "visibility": "default" }, - "4628": { + "4629": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -413541,7 +432510,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4628, + "id": 4629, "inner": { "impl": { "blanket_impl": null, @@ -413557,7 +432526,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -413578,8 +432547,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4626, - 4627 + 4627, + 4628 ], "provided_trait_methods": [ "next_chunk", @@ -413681,7 +432650,7 @@ }, "visibility": "default" }, - "4629": { + "4630": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"tcp_listener_incoming_fused_iterator\"}}]" @@ -413690,7 +432659,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4629, + "id": 4630, "inner": { "impl": { "blanket_impl": null, @@ -413706,7 +432675,7 @@ "constraints": [] } }, - "id": 4557, + "id": 4558, "path": "Incoming" } }, @@ -413741,19 +432710,19 @@ }, "visibility": "default" }, - "4631": { + "4632": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4631, + "id": 4632, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -413778,19 +432747,19 @@ "span": null, "visibility": "default" }, - "4632": { + "4633": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4632, + "id": 4633, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -413815,19 +432784,19 @@ "span": null, "visibility": "default" }, - "4633": { + "4634": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4633, + "id": 4634, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -413842,7 +432811,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -413852,19 +432821,19 @@ "span": null, "visibility": "default" }, - "4634": { + "4635": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4634, + "id": 4635, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -413889,19 +432858,19 @@ "span": null, "visibility": "default" }, - "4635": { + "4636": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4635, + "id": 4636, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -413916,7 +432885,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -413926,19 +432895,19 @@ "span": null, "visibility": "default" }, - "4636": { + "4637": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4636, + "id": 4637, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -413953,7 +432922,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -413963,12 +432932,12 @@ "span": null, "visibility": "default" }, - "4637": { + "4638": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4637, + "id": 4638, "inner": { "impl": { "blanket_impl": { @@ -413977,7 +432946,7 @@ "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -414022,7 +432991,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -414038,7 +433007,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -414047,23 +433016,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4638": { + "4639": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4638, + "id": 4639, "inner": { "impl": { "blanket_impl": { @@ -414072,7 +433041,7 @@ "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -414117,7 +433086,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -414133,7 +433102,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -414142,23 +433111,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4639": { + "4640": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4639, + "id": 4640, "inner": { "impl": { "blanket_impl": { @@ -414167,7 +433136,7 @@ "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -414233,7 +433202,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -414258,23 +433227,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4640": { + "4641": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4640, + "id": 4641, "inner": { "impl": { "blanket_impl": { @@ -414283,7 +433252,7 @@ "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -414306,7 +433275,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -414331,23 +433300,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4641": { + "4642": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4641, + "id": 4642, "inner": { "impl": { "blanket_impl": { @@ -414356,7 +433325,7 @@ "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -414404,7 +433373,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -414422,8 +433391,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -414439,7 +433408,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -414448,23 +433417,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4642": { + "4643": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4642, + "id": 4643, "inner": { "impl": { "blanket_impl": { @@ -414473,7 +433442,7 @@ "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -414539,8 +433508,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -414556,7 +433525,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -414565,23 +433534,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4643": { + "4644": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4643, + "id": 4644, "inner": { "impl": { "blanket_impl": { @@ -414590,7 +433559,7 @@ "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -414638,12 +433607,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -414663,12 +433632,12 @@ }, "visibility": "default" }, - "4644": { + "4645": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4644, + "id": 4645, "inner": { "impl": { "blanket_impl": { @@ -414677,7 +433646,7 @@ "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -414749,7 +433718,7 @@ }, "visibility": "default" }, - "4645": { + "4646": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -414758,7 +433727,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4645, + "id": 4646, "inner": { "function": { "generics": { @@ -414804,7 +433773,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -414816,7 +433785,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -414838,7 +433807,7 @@ }, "visibility": "default" }, - "4646": { + "4647": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88373, is_soft: false}, feature: \"tcplistener_into_incoming\"}}]" @@ -414848,14 +433817,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4646, + "id": 4647, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -414867,12 +433836,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4645 + 4646 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -414892,12 +433861,12 @@ }, "visibility": "default" }, - "4647": { + "4648": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4647, + "id": 4648, "inner": { "assoc_type": { "bounds": [], @@ -414914,7 +433883,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -414953,12 +433922,12 @@ }, "visibility": "default" }, - "4648": { + "4649": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4648, + "id": 4649, "inner": { "function": { "generics": { @@ -415003,7 +433972,7 @@ "type": { "resolved_path": { "args": null, - "id": 3047, + "id": 3049, "path": "TcpStream" } } @@ -415012,7 +433981,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -415043,7 +434012,7 @@ }, "visibility": "default" }, - "4649": { + "4650": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88373, is_soft: false}, feature: \"tcplistener_into_incoming\"}}]" @@ -415052,14 +434021,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4649, + "id": 4650, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -415071,8 +434040,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4647, - 4648 + 4648, + 4649 ], "provided_trait_methods": [ "next_chunk", @@ -415174,75 +434143,7 @@ }, "visibility": "default" }, - "465": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Names the thread-to-be. Currently the name is used for identification\nonly in panic messages.\n\nThe name must not contain null bytes (`\\0`).\n\nFor more information about named threads, see\n[this module-level documentation][naming-threads].\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new()\n .name(\"foo\".into());\n\nlet handler = builder.spawn(|| {\n assert_eq!(thread::current().name(), Some(\"foo\"))\n}).unwrap();\n\nhandler.join().unwrap();\n```\n\n[naming-threads]: ./index.html#naming-threads", - "id": 465, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "name", - { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 308, - "path": "Builder" - } - } - } - } - }, - "links": {}, - "name": "name", - "span": { - "begin": [ - 318, - 5 - ], - "end": [ - 321, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4650": { + "4651": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88373, is_soft: false}, feature: \"tcplistener_into_incoming\"}}]" @@ -415251,14 +434152,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4650, + "id": 4651, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4562, + "id": 4563, "path": "IntoIncoming" } }, @@ -415293,7 +434194,7 @@ }, "visibility": "default" }, - "4653": { + "4654": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -415302,7 +434203,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a UDP socket from the given address.\n\nThe address type can be any implementor of [`ToSocketAddrs`] trait. See\nits documentation for concrete examples.\n\nIf `addr` yields multiple addresses, `bind` will be attempted with\neach of the addresses until one succeeds and returns the socket. If none\nof the addresses succeed in creating a socket, the error returned from\nthe last attempt (the last address) is returned.\n\n# Examples\n\nCreates a UDP socket bound to `127.0.0.1:3400`:\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:3400\").expect(\"couldn't bind to address\");\n```\n\nCreates a UDP socket bound to `127.0.0.1:3400`. If the socket cannot be\nbound to that address, create a UDP socket bound to `127.0.0.1:3401`:\n\n```no_run\nuse std::net::{SocketAddr, UdpSocket};\n\nlet addrs = [\n SocketAddr::from(([127, 0, 0, 1], 3400)),\n SocketAddr::from(([127, 0, 0, 1], 3401)),\n];\nlet socket = UdpSocket::bind(&addrs[..]).expect(\"couldn't bind to address\");\n```\n\nCreates a UDP socket bound to a port assigned by the operating system\nat `127.0.0.1`.\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:0\").unwrap();\n```\n\nNote that `bind` declares the scope of your network connection.\nYou can only receive datagrams from and send datagrams to\nparticipants in that view of the network.\nFor instance, binding to a loopback address as in the example\nabove will prevent you from sending datagrams to another device\nin your local network.\n\nIn order to limit your view of the network the least, `bind` to\n[`Ipv4Addr::UNSPECIFIED`] or [`Ipv6Addr::UNSPECIFIED`].", - "id": 4653, + "id": 4654, "inner": { "function": { "generics": { @@ -415317,7 +434218,7 @@ "modifier": "none", "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -415358,7 +434259,7 @@ "type": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } } @@ -415367,7 +434268,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -415375,9 +434276,9 @@ } }, "links": { - "`Ipv4Addr::UNSPECIFIED`": 4659, - "`Ipv6Addr::UNSPECIFIED`": 4660, - "`ToSocketAddrs`": 1751 + "`Ipv4Addr::UNSPECIFIED`": 4660, + "`Ipv6Addr::UNSPECIFIED`": 4661, + "`ToSocketAddrs`": 1749 }, "name": "bind", "span": { @@ -415393,7 +434294,7 @@ }, "visibility": "public" }, - "4654": { + "4655": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -415402,7 +434303,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sends data on the socket to the given address. On success, returns the\nnumber of bytes written. Note that the operating system may refuse\nbuffers larger than 65507. However, partial writes are not possible\nuntil buffer sizes above `i32::MAX`.\n\nAddress type can be any implementor of [`ToSocketAddrs`] trait. See its\ndocumentation for concrete examples.\n\nIt is possible for `addr` to yield multiple addresses, but `send_to`\nwill only send data to the first address yielded by `addr`.\n\nThis will return an error when the IP version of the local socket\ndoes not match that returned from [`ToSocketAddrs`].\n\nSee [Issue #34202] for more details.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.send_to(&[0; 10], \"127.0.0.1:4242\").expect(\"couldn't send data\");\n```\n\n[Issue #34202]: https://github.com/rust-lang/rust/issues/34202", - "id": 4654, + "id": 4655, "inner": { "function": { "generics": { @@ -415417,7 +434318,7 @@ "modifier": "none", "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -415489,7 +434390,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -415497,7 +434398,7 @@ } }, "links": { - "`ToSocketAddrs`": 1751 + "`ToSocketAddrs`": 1749 }, "name": "send_to", "span": { @@ -415513,7 +434414,7 @@ }, "visibility": "public" }, - "4655": { + "4656": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -415522,7 +434423,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives a single datagram message on the socket. On success, returns the number\nof bytes read and the origin.\n\nThe function must be called with valid byte array `buf` of sufficient size to\nhold the message bytes. If a message is too long to fit in the supplied buffer,\nexcess bytes may be discarded.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nlet mut buf = [0; 10];\nlet (number_of_bytes, src_addr) = socket.recv_from(&mut buf)\n .expect(\"Didn't receive data\");\nlet filled_buf = &mut buf[..number_of_bytes];\n```", - "id": 4655, + "id": 4656, "inner": { "function": { "generics": { @@ -415580,7 +434481,7 @@ { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -415591,7 +434492,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -415613,7 +434514,7 @@ }, "visibility": "public" }, - "4656": { + "4657": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -415622,7 +434523,7 @@ "crate_id": 0, "deprecation": null, "docs": "Connects this UDP socket to a remote address, allowing the `send` and\n`recv` syscalls to be used to send data and also applies filters to only\nreceive data from the specified address.\n\nIf `addr` yields multiple addresses, `connect` will be attempted with\neach of the addresses until the underlying OS function returns no\nerror. Note that usually, a successful `connect` call does not specify\nthat there is a remote server listening on the port, rather, such an\nerror would only be detected after the first send. If the OS returns an\nerror for each of the specified addresses, the error returned from the\nlast connection attempt (the last address) is returned.\n\n# Examples\n\nCreates a UDP socket bound to `127.0.0.1:3400` and connect the socket to\n`127.0.0.1:8080`:\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:3400\").expect(\"couldn't bind to address\");\nsocket.connect(\"127.0.0.1:8080\").expect(\"connect function failed\");\n```\n\nUnlike in the TCP case, passing an array of addresses to the `connect`\nfunction of a UDP socket is not a useful thing to do: The OS will be\nunable to determine whether something is listening on the remote\naddress without the application sending data.\n\nIf your first `connect` is to a loopback address, subsequent\n`connect`s to non-loopback addresses might fail, depending\non the platform.", - "id": 4656, + "id": 4657, "inner": { "function": { "generics": { @@ -415637,7 +434538,7 @@ "modifier": "none", "trait": { "args": null, - "id": 1751, + "id": 1749, "path": "ToSocketAddrs" } } @@ -415695,7 +434596,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -415717,7 +434618,7 @@ }, "visibility": "public" }, - "4657": { + "4658": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -415726,7 +434627,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sends data on the socket to the remote address to which it is connected.\nOn success, returns the number of bytes written. Note that the operating\nsystem may refuse buffers larger than 65507. However, partial writes are\nnot possible until buffer sizes above `i32::MAX`.\n\n[`UdpSocket::connect`] will connect this socket to a remote address. This\nmethod will fail if the socket is not connected.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.connect(\"127.0.0.1:8080\").expect(\"connect function failed\");\nsocket.send(&[0, 1, 2]).expect(\"couldn't send message\");\n```", - "id": 4657, + "id": 4658, "inner": { "function": { "generics": { @@ -415784,7 +434685,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -415792,7 +434693,7 @@ } }, "links": { - "`UdpSocket::connect`": 4656 + "`UdpSocket::connect`": 4657 }, "name": "send", "span": { @@ -415808,7 +434709,7 @@ }, "visibility": "public" }, - "4658": { + "4659": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -415817,7 +434718,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives a single datagram message on the socket from the remote address to\nwhich it is connected. On success, returns the number of bytes read.\n\nThe function must be called with valid byte array `buf` of sufficient size to\nhold the message bytes. If a message is too long to fit in the supplied buffer,\nexcess bytes may be discarded.\n\n[`UdpSocket::connect`] will connect this socket to a remote address. This\nmethod will fail if the socket is not connected.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.connect(\"127.0.0.1:8080\").expect(\"connect function failed\");\nlet mut buf = [0; 10];\nmatch socket.recv(&mut buf) {\n Ok(received) => println!(\"received {received} bytes {:?}\", &buf[..received]),\n Err(e) => println!(\"recv function failed: {e:?}\"),\n}\n```", - "id": 4658, + "id": 4659, "inner": { "function": { "generics": { @@ -415875,7 +434776,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -415883,7 +434784,7 @@ } }, "links": { - "`UdpSocket::connect`": 4656 + "`UdpSocket::connect`": 4657 }, "name": "recv", "span": { @@ -415907,7 +434808,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Sets the size of the stack (in bytes) for the new thread.\n\nThe actual stack size may be greater than this value if\nthe platform specifies a minimal stack size.\n\nFor more information about the stack size for threads, see\n[this module-level documentation][stack-size].\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new().stack_size(32 * 1024);\n```\n\n[stack-size]: ./index.html#stack-size", + "docs": "Names the thread-to-be. Currently the name is used for identification\nonly in panic messages.\n\nThe name must not contain null bytes (`\\0`).\n\nFor more information about named threads, see\n[this module-level documentation][naming-threads].\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new()\n .name(\"foo\".into());\n\nlet handler = builder.spawn(|| {\n assert_eq!(thread::current().name(), Some(\"foo\"))\n}).unwrap();\n\nhandler.join().unwrap();\n```\n\n[naming-threads]: ./index.html#naming-threads", "id": 466, "inner": { "function": { @@ -415931,9 +434832,13 @@ } ], [ - "size", + "name", { - "primitive": "usize" + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } } ] ], @@ -415941,7 +434846,7 @@ "output": { "resolved_path": { "args": null, - "id": 308, + "id": 306, "path": "Builder" } } @@ -415949,21 +434854,21 @@ } }, "links": {}, - "name": "stack_size", + "name": "name", "span": { "begin": [ - 341, + 321, 5 ], "end": [ - 344, + 324, 6 ], "filename": "std/src/thread/mod.rs" }, "visibility": "public" }, - "4661": { + "4662": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 18, patch: 0})}, feature: \"peek\"}}]" @@ -415972,7 +434877,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives a single datagram message on the socket, without removing it from the\nqueue. On success, returns the number of bytes read and the origin.\n\nThe function must be called with valid byte array `buf` of sufficient size to\nhold the message bytes. If a message is too long to fit in the supplied buffer,\nexcess bytes may be discarded.\n\nSuccessive calls return the same data. This is accomplished by passing\n`MSG_PEEK` as a flag to the underlying `recvfrom` system call.\n\nDo not use this function to implement busy waiting, instead use `libc::poll` to\nsynchronize IO events on one or more sockets.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nlet mut buf = [0; 10];\nlet (number_of_bytes, src_addr) = socket.peek_from(&mut buf)\n .expect(\"Didn't receive data\");\nlet filled_buf = &mut buf[..number_of_bytes];\n```", - "id": 4661, + "id": 4662, "inner": { "function": { "generics": { @@ -416030,7 +434935,7 @@ { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -416041,7 +434946,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -416063,7 +434968,7 @@ }, "visibility": "public" }, - "4662": { + "4663": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"udp_peer_addr\"}}]" @@ -416072,7 +434977,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the socket address of the remote peer this socket was connected to.\n\n# Examples\n\n```no_run\nuse std::net::{Ipv4Addr, SocketAddr, SocketAddrV4, UdpSocket};\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.connect(\"192.168.0.1:41203\").expect(\"couldn't connect to address\");\nassert_eq!(socket.peer_addr().unwrap(),\n SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(192, 168, 0, 1), 41203)));\n```\n\nIf the socket isn't connected, it will return a [`NotConnected`] error.\n\n[`NotConnected`]: io::ErrorKind::NotConnected\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nassert_eq!(socket.peer_addr().unwrap_err().kind(),\n std::io::ErrorKind::NotConnected);\n```", - "id": 4662, + "id": 4663, "inner": { "function": { "generics": { @@ -416111,7 +435016,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -416120,7 +435025,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -416128,7 +435033,7 @@ } }, "links": { - "io::ErrorKind::NotConnected": 3374 + "io::ErrorKind::NotConnected": 3373 }, "name": "peer_addr", "span": { @@ -416144,7 +435049,7 @@ }, "visibility": "public" }, - "4663": { + "4664": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -416153,7 +435058,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the socket address that this socket was created from.\n\n# Examples\n\n```no_run\nuse std::net::{Ipv4Addr, SocketAddr, SocketAddrV4, UdpSocket};\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nassert_eq!(socket.local_addr().unwrap(),\n SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 34254)));\n```", - "id": 4663, + "id": 4664, "inner": { "function": { "generics": { @@ -416192,7 +435097,7 @@ "type": { "resolved_path": { "args": null, - "id": 4430, + "id": 4431, "path": "SocketAddr" } } @@ -416201,7 +435106,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -416223,7 +435128,7 @@ }, "visibility": "public" }, - "4664": { + "4665": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -416232,7 +435137,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new independently owned handle to the underlying socket.\n\nThe returned `UdpSocket` is a reference to the same socket that this\nobject references. Both handles will read and write the same port, and\noptions set on one socket will be propagated to the other.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nlet socket_clone = socket.try_clone().expect(\"couldn't clone the socket\");\n```", - "id": 4664, + "id": 4665, "inner": { "function": { "generics": { @@ -416271,7 +435176,7 @@ "type": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } } @@ -416280,7 +435185,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -416302,7 +435207,7 @@ }, "visibility": "public" }, - "4665": { + "4666": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"socket_timeout\"}}]" @@ -416311,7 +435216,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the read timeout to the timeout specified.\n\nIf the value specified is [`None`], then [`read`] calls will block\nindefinitely. An [`Err`] is returned if the zero [`Duration`] is\npassed to this method.\n\n# Platform-specific behavior\n\nPlatforms may return a different error code whenever a read times out as\na result of setting this option. For example Unix typically returns an\nerror of the kind [`WouldBlock`], but Windows may return [`TimedOut`].\n\n[`read`]: io::Read::read\n[`WouldBlock`]: io::ErrorKind::WouldBlock\n[`TimedOut`]: io::ErrorKind::TimedOut\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_read_timeout(None).expect(\"set_read_timeout call failed\");\n```\n\nAn [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod:\n\n```no_run\nuse std::io;\nuse std::net::UdpSocket;\nuse std::time::Duration;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").unwrap();\nlet result = socket.set_read_timeout(Some(Duration::new(0, 0)));\nlet err = result.unwrap_err();\nassert_eq!(err.kind(), io::ErrorKind::InvalidInput)\n```", - "id": 4665, + "id": 4666, "inner": { "function": { "generics": { @@ -416350,7 +435255,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -416380,7 +435285,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -416388,12 +435293,12 @@ } }, "links": { - "`Duration`": 500, + "`Duration`": 501, "`Err`": 59, "`None`": 53, - "io::ErrorKind::TimedOut": 3384, + "io::ErrorKind::TimedOut": 3383, "io::ErrorKind::WouldBlock": 2571, - "io::Read::read": 2435 + "io::Read::read": 2433 }, "name": "set_read_timeout", "span": { @@ -416409,7 +435314,7 @@ }, "visibility": "public" }, - "4666": { + "4667": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"socket_timeout\"}}]" @@ -416418,7 +435323,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the write timeout to the timeout specified.\n\nIf the value specified is [`None`], then [`write`] calls will block\nindefinitely. An [`Err`] is returned if the zero [`Duration`] is\npassed to this method.\n\n# Platform-specific behavior\n\nPlatforms may return a different error code whenever a write times out\nas a result of setting this option. For example Unix typically returns\nan error of the kind [`WouldBlock`], but Windows may return [`TimedOut`].\n\n[`write`]: io::Write::write\n[`WouldBlock`]: io::ErrorKind::WouldBlock\n[`TimedOut`]: io::ErrorKind::TimedOut\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_write_timeout(None).expect(\"set_write_timeout call failed\");\n```\n\nAn [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod:\n\n```no_run\nuse std::io;\nuse std::net::UdpSocket;\nuse std::time::Duration;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").unwrap();\nlet result = socket.set_write_timeout(Some(Duration::new(0, 0)));\nlet err = result.unwrap_err();\nassert_eq!(err.kind(), io::ErrorKind::InvalidInput)\n```", - "id": 4666, + "id": 4667, "inner": { "function": { "generics": { @@ -416457,7 +435362,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -416487,7 +435392,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -416495,12 +435400,12 @@ } }, "links": { - "`Duration`": 500, + "`Duration`": 501, "`Err`": 59, "`None`": 53, - "io::ErrorKind::TimedOut": 3384, + "io::ErrorKind::TimedOut": 3383, "io::ErrorKind::WouldBlock": 2571, - "io::Write::write": 2436 + "io::Write::write": 2434 }, "name": "set_write_timeout", "span": { @@ -416516,7 +435421,7 @@ }, "visibility": "public" }, - "4667": { + "4668": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"socket_timeout\"}}]" @@ -416525,7 +435430,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the read timeout of this socket.\n\nIf the timeout is [`None`], then [`read`] calls will block indefinitely.\n\n[`read`]: io::Read::read\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_read_timeout(None).expect(\"set_read_timeout call failed\");\nassert_eq!(socket.read_timeout().unwrap(), None);\n```", - "id": 4667, + "id": 4668, "inner": { "function": { "generics": { @@ -416570,7 +435475,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -416588,7 +435493,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -416597,7 +435502,7 @@ }, "links": { "`None`": 53, - "io::Read::read": 2435 + "io::Read::read": 2433 }, "name": "read_timeout", "span": { @@ -416613,7 +435518,7 @@ }, "visibility": "public" }, - "4668": { + "4669": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"socket_timeout\"}}]" @@ -416622,7 +435527,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the write timeout of this socket.\n\nIf the timeout is [`None`], then [`write`] calls will block indefinitely.\n\n[`write`]: io::Write::write\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_write_timeout(None).expect(\"set_write_timeout call failed\");\nassert_eq!(socket.write_timeout().unwrap(), None);\n```", - "id": 4668, + "id": 4669, "inner": { "function": { "generics": { @@ -416667,7 +435572,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -416685,7 +435590,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -416694,7 +435599,7 @@ }, "links": { "`None`": 53, - "io::Write::write": 2436 + "io::Write::write": 2434 }, "name": "write_timeout", "span": { @@ -416710,7 +435615,71 @@ }, "visibility": "public" }, - "4669": { + "467": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Sets the size of the stack (in bytes) for the new thread.\n\nThe actual stack size may be greater than this value if\nthe platform specifies a minimal stack size.\n\nFor more information about the stack size for threads, see\n[this module-level documentation][stack-size].\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new().stack_size(32 * 1024);\n```\n\n[stack-size]: ./index.html#stack-size", + "id": 467, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "size", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 306, + "path": "Builder" + } + } + } + } + }, + "links": {}, + "name": "stack_size", + "span": { + "begin": [ + 344, + 5 + ], + "end": [ + 347, + 6 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4670": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -416719,7 +435688,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the value of the `SO_BROADCAST` option for this socket.\n\nWhen enabled, this socket is allowed to send packets to a broadcast\naddress.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_broadcast(false).expect(\"set_broadcast call failed\");\n```", - "id": 4669, + "id": 4670, "inner": { "function": { "generics": { @@ -416769,7 +435738,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -416791,192 +435760,7 @@ }, "visibility": "public" }, - "467": { - "attrs": [ - { - "other": "#[(miri, track_caller)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Spawns a new thread by taking ownership of the `Builder`, and returns an\n[`io::Result`] to its [`JoinHandle`].\n\nThe spawned thread may outlive the caller (unless the caller thread\nis the main thread; the whole process is terminated when the main\nthread finishes). The join handle can be used to block on\ntermination of the spawned thread, including recovering its panics.\n\nFor a more complete documentation see [`thread::spawn`][`spawn`].\n\n# Errors\n\nUnlike the [`spawn`] free function, this method yields an\n[`io::Result`] to capture any failure to create the thread at\nthe OS level.\n\n[`io::Result`]: crate::io::Result\n\n# Panics\n\nPanics if a thread name was set and it contained null bytes.\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet handler = builder.spawn(|| {\n // thread code\n}).unwrap();\n\nhandler.join().unwrap();\n```", - "id": 467, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "T" - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - { - "outlives": "'static" - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - { - "outlives": "'static" - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" - } - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": { - "`JoinHandle`": 474, - "`spawn`": 469, - "crate::io::Result": 468 - }, - "name": "spawn", - "span": { - "begin": [ - 393, - 5 - ], - "end": [ - 400, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4670": { + "4671": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -416985,7 +435769,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `SO_BROADCAST` option for this socket.\n\nFor more information about this option, see [`UdpSocket::set_broadcast`].\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_broadcast(false).expect(\"set_broadcast call failed\");\nassert_eq!(socket.broadcast().unwrap(), false);\n```", - "id": 4670, + "id": 4671, "inner": { "function": { "generics": { @@ -417029,7 +435813,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -417037,7 +435821,7 @@ } }, "links": { - "`UdpSocket::set_broadcast`": 4669 + "`UdpSocket::set_broadcast`": 4670 }, "name": "broadcast", "span": { @@ -417053,7 +435837,7 @@ }, "visibility": "public" }, - "4671": { + "4672": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -417062,7 +435846,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the value of the `IP_MULTICAST_LOOP` option for this socket.\n\nIf enabled, multicast packets will be looped back to the local socket.\nNote that this might not have any effect on IPv6 sockets.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_multicast_loop_v4(false).expect(\"set_multicast_loop_v4 call failed\");\n```", - "id": 4671, + "id": 4672, "inner": { "function": { "generics": { @@ -417112,7 +435896,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -417134,7 +435918,7 @@ }, "visibility": "public" }, - "4672": { + "4673": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -417143,7 +435927,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `IP_MULTICAST_LOOP` option for this socket.\n\nFor more information about this option, see [`UdpSocket::set_multicast_loop_v4`].\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_multicast_loop_v4(false).expect(\"set_multicast_loop_v4 call failed\");\nassert_eq!(socket.multicast_loop_v4().unwrap(), false);\n```", - "id": 4672, + "id": 4673, "inner": { "function": { "generics": { @@ -417187,7 +435971,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -417195,7 +435979,7 @@ } }, "links": { - "`UdpSocket::set_multicast_loop_v4`": 4671 + "`UdpSocket::set_multicast_loop_v4`": 4672 }, "name": "multicast_loop_v4", "span": { @@ -417211,7 +435995,7 @@ }, "visibility": "public" }, - "4673": { + "4674": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -417220,7 +436004,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the value of the `IP_MULTICAST_TTL` option for this socket.\n\nIndicates the time-to-live value of outgoing multicast packets for\nthis socket. The default value is 1 which means that multicast packets\ndon't leave the local network unless explicitly requested.\n\nNote that this might not have any effect on IPv6 sockets.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_multicast_ttl_v4(42).expect(\"set_multicast_ttl_v4 call failed\");\n```", - "id": 4673, + "id": 4674, "inner": { "function": { "generics": { @@ -417270,7 +436054,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -417292,7 +436076,7 @@ }, "visibility": "public" }, - "4674": { + "4675": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -417301,7 +436085,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `IP_MULTICAST_TTL` option for this socket.\n\nFor more information about this option, see [`UdpSocket::set_multicast_ttl_v4`].\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_multicast_ttl_v4(42).expect(\"set_multicast_ttl_v4 call failed\");\nassert_eq!(socket.multicast_ttl_v4().unwrap(), 42);\n```", - "id": 4674, + "id": 4675, "inner": { "function": { "generics": { @@ -417345,7 +436129,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -417353,7 +436137,7 @@ } }, "links": { - "`UdpSocket::set_multicast_ttl_v4`": 4673 + "`UdpSocket::set_multicast_ttl_v4`": 4674 }, "name": "multicast_ttl_v4", "span": { @@ -417369,7 +436153,7 @@ }, "visibility": "public" }, - "4675": { + "4676": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -417378,7 +436162,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the value of the `IPV6_MULTICAST_LOOP` option for this socket.\n\nControls whether this socket sees the multicast packets it sends itself.\nNote that this might not have any affect on IPv4 sockets.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_multicast_loop_v6(false).expect(\"set_multicast_loop_v6 call failed\");\n```", - "id": 4675, + "id": 4676, "inner": { "function": { "generics": { @@ -417428,7 +436212,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -417450,7 +436234,7 @@ }, "visibility": "public" }, - "4676": { + "4677": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -417459,7 +436243,84 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `IPV6_MULTICAST_LOOP` option for this socket.\n\nFor more information about this option, see [`UdpSocket::set_multicast_loop_v6`].\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_multicast_loop_v6(false).expect(\"set_multicast_loop_v6 call failed\");\nassert_eq!(socket.multicast_loop_v6().unwrap(), false);\n```", - "id": 4676, + "id": 4677, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "bool" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": { + "`UdpSocket::set_multicast_loop_v6`": 4676 + }, + "name": "multicast_loop_v6", + "span": { + "begin": [ + 545, + 5 + ], + "end": [ + 547, + 6 + ], + "filename": "std/src/net/udp.rs" + }, + "visibility": "public" + }, + "4678": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Sets the value for the `IP_TTL` option on this socket.\n\nThis value sets the time-to-live field that is used in every packet sent\nfrom this socket.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_ttl(42).expect(\"set_ttl call failed\");\n```", + "id": 4678, "inner": { "function": { "generics": { @@ -417486,6 +436347,12 @@ } } } + ], + [ + "ttl", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, @@ -417496,38 +436363,36 @@ "args": [ { "type": { - "primitive": "bool" + "tuple": [] } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } } } }, - "links": { - "`UdpSocket::set_multicast_loop_v6`": 4675 - }, - "name": "multicast_loop_v6", + "links": {}, + "name": "set_ttl", "span": { "begin": [ - 545, + 563, 5 ], "end": [ - 547, + 565, 6 ], "filename": "std/src/net/udp.rs" }, "visibility": "public" }, - "4677": { + "4679": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -417535,8 +436400,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Sets the value for the `IP_TTL` option on this socket.\n\nThis value sets the time-to-live field that is used in every packet sent\nfrom this socket.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_ttl(42).expect(\"set_ttl call failed\");\n```", - "id": 4677, + "docs": "Gets the value of the `IP_TTL` option for this socket.\n\nFor more information about this option, see [`UdpSocket::set_ttl`].\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_ttl(42).expect(\"set_ttl call failed\");\nassert_eq!(socket.ttl().unwrap(), 42);\n```", + "id": 4679, "inner": { "function": { "generics": { @@ -417563,12 +436428,6 @@ } } } - ], - [ - "ttl", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, @@ -417579,50 +436438,143 @@ "args": [ { "type": { - "tuple": [] + "primitive": "u32" } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } } } }, - "links": {}, - "name": "set_ttl", + "links": { + "`UdpSocket::set_ttl`": 4678 + }, + "name": "ttl", "span": { "begin": [ - 563, + 581, 5 ], "end": [ - 565, + 583, 6 ], "filename": "std/src/net/udp.rs" }, "visibility": "public" }, - "4678": { + "468": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" + "other": "#[(miri, track_caller)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Gets the value of the `IP_TTL` option for this socket.\n\nFor more information about this option, see [`UdpSocket::set_ttl`].\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.set_ttl(42).expect(\"set_ttl call failed\");\nassert_eq!(socket.ttl().unwrap(), 42);\n```", - "id": 4678, + "docs": "Spawns a new thread by taking ownership of the `Builder`, and returns an\n[`io::Result`] to its [`JoinHandle`].\n\nThe spawned thread may outlive the caller (unless the caller thread\nis the main thread; the whole process is terminated when the main\nthread finishes). The join handle can be used to block on\ntermination of the spawned thread, including recovering its panics.\n\nFor a more complete documentation see [`thread::spawn`][`spawn`].\n\n# Errors\n\nUnlike the [`spawn`] free function, this method yields an\n[`io::Result`] to capture any failure to create the thread at\nthe OS level.\n\n[`io::Result`]: crate::io::Result\n\n# Panics\n\nPanics if a thread name was set and it contained null bytes.\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet handler = builder.spawn(|| {\n // thread code\n}).unwrap();\n\nhandler.join().unwrap();\n```", + "id": 468, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + { + "outlives": "'static" + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + { + "outlives": "'static" + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "has_body": true, "header": { @@ -417636,13 +436588,13 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" } ] ], @@ -417654,14 +436606,29 @@ "args": [ { "type": { - "primitive": "u32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" + } } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -417669,23 +436636,25 @@ } }, "links": { - "`UdpSocket::set_ttl`": 4677 + "`JoinHandle`": 475, + "`spawn`": 470, + "crate::io::Result": 469 }, - "name": "ttl", + "name": "spawn", "span": { "begin": [ - 581, + 396, 5 ], "end": [ - 583, + 403, 6 ], - "filename": "std/src/net/udp.rs" + "filename": "std/src/thread/mod.rs" }, "visibility": "public" }, - "4679": { + "4680": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -417694,7 +436663,7 @@ "crate_id": 0, "deprecation": null, "docs": "Executes an operation of the `IP_ADD_MEMBERSHIP` type.\n\nThis function specifies a new multicast group for this socket to join.\nThe address must be a valid multicast address, and `interface` is the\naddress of the local interface with which the system should join the\nmulticast group. If it's equal to [`UNSPECIFIED`](Ipv4Addr::UNSPECIFIED)\nthen an appropriate interface is chosen by the system.", - "id": 4679, + "id": 4680, "inner": { "function": { "generics": { @@ -417731,7 +436700,7 @@ "type": { "resolved_path": { "args": null, - "id": 4425, + "id": 4426, "path": "Ipv4Addr" } } @@ -417747,7 +436716,7 @@ "type": { "resolved_path": { "args": null, - "id": 4425, + "id": 4426, "path": "Ipv4Addr" } } @@ -417770,7 +436739,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -417778,7 +436747,7 @@ } }, "links": { - "Ipv4Addr::UNSPECIFIED": 4659 + "Ipv4Addr::UNSPECIFIED": 4660 }, "name": "join_multicast_v4", "span": { @@ -417794,86 +436763,7 @@ }, "visibility": "public" }, - "468": { - "attrs": [ - { - "other": "#[doc(search_unbox)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A specialized [`Result`] type for I/O operations.\n\nThis type is broadly used across [`std::io`] for any operation which may\nproduce an error.\n\nThis typedef is generally used to avoid writing out [`io::Error`] directly and\nis otherwise a direct mapping to [`Result`].\n\nWhile usual Rust style is to import types directly, aliases of [`Result`]\noften are not, to make it easier to distinguish between them. [`Result`] is\ngenerally assumed to be [`std::result::Result`][`Result`], and so users of this alias\nwill generally use `io::Result` instead of shadowing the [prelude]'s import\nof [`std::result::Result`][`Result`].\n\n[`std::io`]: crate::io\n[`io::Error`]: Error\n[`Result`]: crate::result::Result\n[prelude]: crate::prelude\n\n# Examples\n\nA convenience function that bubbles an `io::Result` to its caller:\n\n```\nuse std::io;\n\nfn get_string() -> io::Result {\n let mut buffer = String::new();\n\n io::stdin().read_line(&mut buffer)?;\n\n Ok(buffer)\n}\n```", - "id": 468, - "inner": { - "type_alias": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 2570, - "path": "Error" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "result::Result" - } - } - } - }, - "links": { - "Error": 2570, - "crate::io": 501, - "crate::prelude": 166, - "crate::result::Result": 57 - }, - "name": "Result", - "span": { - "begin": [ - 52, - 1 - ], - "end": [ - 52, - 47 - ], - "filename": "std/src/io/error.rs" - }, - "visibility": "public" - }, - "4680": { + "4681": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -417882,7 +436772,7 @@ "crate_id": 0, "deprecation": null, "docs": "Executes an operation of the `IPV6_ADD_MEMBERSHIP` type.\n\nThis function specifies a new multicast group for this socket to join.\nThe address must be a valid multicast address, and `interface` is the\nindex of the interface to join/leave (or 0 to indicate any interface).", - "id": 4680, + "id": 4681, "inner": { "function": { "generics": { @@ -417919,7 +436809,7 @@ "type": { "resolved_path": { "args": null, - "id": 4427, + "id": 4428, "path": "Ipv6Addr" } } @@ -417948,7 +436838,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -417970,7 +436860,7 @@ }, "visibility": "public" }, - "4681": { + "4682": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -417979,7 +436869,7 @@ "crate_id": 0, "deprecation": null, "docs": "Executes an operation of the `IP_DROP_MEMBERSHIP` type.\n\nFor more information about this option, see [`UdpSocket::join_multicast_v4`].", - "id": 4681, + "id": 4682, "inner": { "function": { "generics": { @@ -418016,7 +436906,7 @@ "type": { "resolved_path": { "args": null, - "id": 4425, + "id": 4426, "path": "Ipv4Addr" } } @@ -418032,7 +436922,7 @@ "type": { "resolved_path": { "args": null, - "id": 4425, + "id": 4426, "path": "Ipv4Addr" } } @@ -418055,7 +436945,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -418063,7 +436953,7 @@ } }, "links": { - "`UdpSocket::join_multicast_v4`": 4679 + "`UdpSocket::join_multicast_v4`": 4680 }, "name": "leave_multicast_v4", "span": { @@ -418079,7 +436969,7 @@ }, "visibility": "public" }, - "4682": { + "4683": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -418088,7 +436978,7 @@ "crate_id": 0, "deprecation": null, "docs": "Executes an operation of the `IPV6_DROP_MEMBERSHIP` type.\n\nFor more information about this option, see [`UdpSocket::join_multicast_v6`].", - "id": 4682, + "id": 4683, "inner": { "function": { "generics": { @@ -418125,7 +437015,7 @@ "type": { "resolved_path": { "args": null, - "id": 4427, + "id": 4428, "path": "Ipv6Addr" } } @@ -418154,7 +437044,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -418162,7 +437052,7 @@ } }, "links": { - "`UdpSocket::join_multicast_v6`": 4680 + "`UdpSocket::join_multicast_v6`": 4681 }, "name": "leave_multicast_v6", "span": { @@ -418178,7 +437068,7 @@ }, "visibility": "public" }, - "4683": { + "4684": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -418187,7 +437077,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `SO_ERROR` option on this socket.\n\nThis will retrieve the stored error in the underlying socket, clearing\nthe field in the process. This can be useful for checking errors between\ncalls.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nmatch socket.take_error() {\n Ok(Some(error)) => println!(\"UdpSocket error: {error:?}\"),\n Ok(None) => println!(\"No error\"),\n Err(error) => println!(\"UdpSocket.take_error failed: {error:?}\"),\n}\n```", - "id": 4683, + "id": 4684, "inner": { "function": { "generics": { @@ -418250,7 +437140,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -418272,7 +437162,7 @@ }, "visibility": "public" }, - "4684": { + "4685": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 18, patch: 0})}, feature: \"peek\"}}]" @@ -418281,7 +437171,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives single datagram on the socket from the remote address to which it is\nconnected, without removing the message from input queue. On success, returns\nthe number of bytes peeked.\n\nThe function must be called with valid byte array `buf` of sufficient size to\nhold the message bytes. If a message is too long to fit in the supplied buffer,\nexcess bytes may be discarded.\n\nSuccessive calls return the same data. This is accomplished by passing\n`MSG_PEEK` as a flag to the underlying `recv` system call.\n\nDo not use this function to implement busy waiting, instead use `libc::poll` to\nsynchronize IO events on one or more sockets.\n\n[`UdpSocket::connect`] will connect this socket to a remote address. This\nmethod will fail if the socket is not connected.\n\n# Errors\n\nThis method will fail if the socket is not connected. The `connect` method\nwill connect this socket to a remote address.\n\n# Examples\n\n```no_run\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:34254\").expect(\"couldn't bind to address\");\nsocket.connect(\"127.0.0.1:8080\").expect(\"connect function failed\");\nlet mut buf = [0; 10];\nmatch socket.peek(&mut buf) {\n Ok(received) => println!(\"received {received} bytes\"),\n Err(e) => println!(\"peek function failed: {e:?}\"),\n}\n```", - "id": 4684, + "id": 4685, "inner": { "function": { "generics": { @@ -418339,7 +437229,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -418347,7 +437237,7 @@ } }, "links": { - "`UdpSocket::connect`": 4656 + "`UdpSocket::connect`": 4657 }, "name": "peek", "span": { @@ -418363,7 +437253,7 @@ }, "visibility": "public" }, - "4685": { + "4686": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"net2_mutators\"}}]" @@ -418372,7 +437262,7 @@ "crate_id": 0, "deprecation": null, "docs": "Moves this UDP socket into or out of nonblocking mode.\n\nThis will result in `recv`, `recv_from`, `send`, and `send_to` system\noperations becoming nonblocking, i.e., immediately returning from their\ncalls. If the IO operation is successful, `Ok` is returned and no\nfurther action is required. If the IO operation could not be completed\nand needs to be retried, an error with kind\n[`io::ErrorKind::WouldBlock`] is returned.\n\nOn Unix platforms, calling this method corresponds to calling `fcntl`\n`FIONBIO`. On Windows calling this method corresponds to calling\n`ioctlsocket` `FIONBIO`.\n\n# Examples\n\nCreates a UDP socket bound to `127.0.0.1:7878` and read bytes in\nnonblocking mode:\n\n```no_run\nuse std::io;\nuse std::net::UdpSocket;\n\nlet socket = UdpSocket::bind(\"127.0.0.1:7878\").unwrap();\nsocket.set_nonblocking(true).unwrap();\n\n# fn wait_for_fd() { unimplemented!() }\nlet mut buf = [0; 10];\nlet (num_bytes_read, _) = loop {\n match socket.recv_from(&mut buf) {\n Ok(n) => break n,\n Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {\n // wait until network socket is ready, typically implemented\n // via platform-specific APIs such as epoll or IOCP\n wait_for_fd();\n }\n Err(e) => panic!(\"encountered IO error: {e}\"),\n }\n};\nprintln!(\"bytes: {:?}\", &buf[..num_bytes_read]);\n```", - "id": 4685, + "id": 4686, "inner": { "function": { "generics": { @@ -418422,7 +437312,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -418446,19 +437336,19 @@ }, "visibility": "public" }, - "4686": { + "4687": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4686, + "id": 4687, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -418470,11 +437360,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4653, - 4655, - 4661, 4654, + 4656, 4662, + 4655, 4663, 4664, 4665, @@ -418496,11 +437385,12 @@ 4681, 4682, 4683, - 4656, + 4684, 4657, 4658, - 4684, - 4685 + 4659, + 4685, + 4686 ], "provided_trait_methods": [], "trait": null @@ -418521,43 +437411,6 @@ }, "visibility": "default" }, - "4687": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4687, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4437, - "path": "UdpSocket" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, "4688": { "attrs": [], "crate_id": 0, @@ -418570,7 +437423,7 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -418585,8 +437438,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 1, + "path": "Send" } } }, @@ -418607,7 +437460,7 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -418622,8 +437475,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 5, + "path": "Sync" } } }, @@ -418635,7 +437488,7 @@ "469": { "attrs": [ { - "other": "#[(miri, track_caller)]" + "other": "#[doc(search_unbox)]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -418643,22 +437496,12 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Spawns a new thread, returning a [`JoinHandle`] for it.\n\nThe join handle provides a [`join`] method that can be used to join the spawned\nthread. If the spawned thread panics, [`join`] will return an [`Err`] containing\nthe argument given to [`panic!`].\n\nIf the join handle is dropped, the spawned thread will implicitly be *detached*.\nIn this case, the spawned thread may no longer be joined.\n(It is the responsibility of the program to either eventually join threads it\ncreates or detach them; otherwise, a resource leak will result.)\n\nThis call will create a thread using default parameters of [`Builder`], if you\nwant to specify the stack size or the name of the thread, use this API\ninstead.\n\nAs you can see in the signature of `spawn` there are two constraints on\nboth the closure given to `spawn` and its return value, let's explain them:\n\n- The `'static` constraint means that the closure and its return value\n must have a lifetime of the whole program execution. The reason for this\n is that threads can outlive the lifetime they have been created in.\n\n Indeed if the thread, and by extension its return value, can outlive their\n caller, we need to make sure that they will be valid afterwards, and since\n we *can't* know when it will return we need to have them valid as long as\n possible, that is until the end of the program, hence the `'static`\n lifetime.\n- The [`Send`] constraint is because the closure will need to be passed\n *by value* from the thread where it is spawned to the new thread. Its\n return value will need to be passed from the new thread to the thread\n where it is `join`ed.\n As a reminder, the [`Send`] marker trait expresses that it is safe to be\n passed from thread to thread. [`Sync`] expresses that it is safe to have a\n reference be passed from thread to thread.\n\n# Panics\n\nPanics if the OS fails to create a thread; use [`Builder::spawn`]\nto recover from such errors.\n\n# Examples\n\nCreating a thread.\n\n```\nuse std::thread;\n\nlet handler = thread::spawn(|| {\n // thread code\n});\n\nhandler.join().unwrap();\n```\n\nAs mentioned in the module documentation, threads are usually made to\ncommunicate using [`channels`], here is how it usually looks.\n\nThis example also shows how to use `move`, in order to give ownership\nof values to a thread.\n\n```\nuse std::thread;\nuse std::sync::mpsc::channel;\n\nlet (tx, rx) = channel();\n\nlet sender = thread::spawn(move || {\n tx.send(\"Hello, thread\".to_owned())\n .expect(\"Unable to send on channel\");\n});\n\nlet receiver = thread::spawn(move || {\n let value = rx.recv().expect(\"Unable to receive from channel\");\n println!(\"{value}\");\n});\n\nsender.join().expect(\"The sender thread has panicked\");\nreceiver.join().expect(\"The receiver thread has panicked\");\n```\n\nA thread can also return a value through its [`JoinHandle`], you can use\nthis to make asynchronous computations (futures might be more appropriate\nthough).\n\n```\nuse std::thread;\n\nlet computation = thread::spawn(|| {\n // Some expensive computation.\n 42\n});\n\nlet result = computation.join().unwrap();\nprintln!(\"{result}\");\n```\n\n# Notes\n\nThis function has the same minimal guarantee regarding \"foreign\" unwinding operations (e.g.\nan exception thrown from C++ code, or a `panic!` in Rust code compiled or linked with a\ndifferent runtime) as [`catch_unwind`]; namely, if the thread created with `thread::spawn`\nunwinds all the way to the root with such an exception, one of two behaviors are possible,\nand it is unspecified which will occur:\n\n* The process aborts.\n* The process does not abort, and [`join`] will return a `Result::Err`\n containing an opaque type.\n\n[`catch_unwind`]: ../../std/panic/fn.catch_unwind.html\n[`channels`]: crate::sync::mpsc\n[`join`]: JoinHandle::join\n[`Err`]: crate::result::Result::Err", + "docs": "A specialized [`Result`] type for I/O operations.\n\nThis type is broadly used across [`std::io`] for any operation which may\nproduce an error.\n\nThis type alias is generally used to avoid writing out [`io::Error`] directly and\nis otherwise a direct mapping to [`Result`].\n\nWhile usual Rust style is to import types directly, aliases of [`Result`]\noften are not, to make it easier to distinguish between them. [`Result`] is\ngenerally assumed to be [`std::result::Result`][`Result`], and so users of this alias\nwill generally use `io::Result` instead of shadowing the [prelude]'s import\nof [`std::result::Result`][`Result`].\n\n[`std::io`]: crate::io\n[`io::Error`]: Error\n[`Result`]: crate::result::Result\n[prelude]: crate::prelude\n\n# Examples\n\nA convenience function that bubbles an `io::Result` to its caller:\n\n```\nuse std::io;\n\nfn get_string() -> io::Result {\n let mut buffer = String::new();\n\n io::stdin().read_line(&mut buffer)?;\n\n Ok(buffer)\n}\n```", "id": 469, "inner": { - "function": { + "type_alias": { "generics": { "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - }, { "kind": { "type": { @@ -418670,135 +437513,54 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "T" - } - } - }, - "id": 15, - "path": "FnOnce" - } + "type": { + "generic": "T" } }, { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { + "type": { + "resolved_path": { "args": null, - "id": 1, - "path": "Send" + "id": 2570, + "path": "Error" } } - }, - { - "outlives": "'static" } ], - "generic_params": [], - "type": { - "generic": "F" - } + "constraints": [] } }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - { - "outlives": "'static" - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" - } + "id": 57, + "path": "result::Result" } } } }, "links": { - "JoinHandle::join": 382, - "`Builder::spawn`": 467, - "`Builder`": 308, - "`JoinHandle`": 474, - "`Send`": 1, - "`Sync`": 5, - "`panic!`": 492, - "crate::result::Result::Err": 59, - "crate::sync::mpsc": 493 + "Error": 2570, + "crate::io": 502, + "crate::prelude": 164, + "crate::result::Result": 57 }, - "name": "spawn", + "name": "Result", "span": { "begin": [ - 723, + 52, 1 ], "end": [ - 730, - 2 + 52, + 47 ], - "filename": "std/src/thread/mod.rs" + "filename": "std/src/io/error.rs" }, "visibility": "public" }, @@ -418814,7 +437576,7 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -418829,8 +437591,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 313, + "path": "Freeze" } } }, @@ -418851,7 +437613,81 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, + "path": "UdpSocket" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4692": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4692, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4438, + "path": "UdpSocket" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4693": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4693, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4438, "path": "UdpSocket" } }, @@ -418867,43 +437703,6 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4692": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4692, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4437, - "path": "UdpSocket" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, "path": "RefUnwindSafe" } } @@ -418913,12 +437712,12 @@ "span": null, "visibility": "default" }, - "4693": { + "4694": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4693, + "id": 4694, "inner": { "impl": { "blanket_impl": { @@ -418927,7 +437726,7 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -418972,7 +437771,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -418988,7 +437787,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -418997,23 +437796,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4694": { + "4695": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4694, + "id": 4695, "inner": { "impl": { "blanket_impl": { @@ -419022,7 +437821,7 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -419067,7 +437866,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -419083,7 +437882,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -419092,23 +437891,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4695": { + "4696": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4695, + "id": 4696, "inner": { "impl": { "blanket_impl": { @@ -419117,7 +437916,7 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -419183,7 +437982,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -419208,23 +438007,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4696": { + "4697": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4696, + "id": 4697, "inner": { "impl": { "blanket_impl": { @@ -419233,7 +438032,7 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -419256,7 +438055,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -419281,23 +438080,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4697": { + "4698": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4697, + "id": 4698, "inner": { "impl": { "blanket_impl": { @@ -419306,7 +438105,7 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -419354,7 +438153,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -419372,8 +438171,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -419389,7 +438188,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -419398,23 +438197,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4698": { + "4699": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4698, + "id": 4699, "inner": { "impl": { "blanket_impl": { @@ -419423,7 +438222,7 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -419489,8 +438288,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -419506,7 +438305,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -419515,23 +438314,193 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4699": { + "470": { + "attrs": [ + { + "other": "#[(miri, track_caller)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Spawns a new thread, returning a [`JoinHandle`] for it.\n\nThe join handle provides a [`join`] method that can be used to join the spawned\nthread. If the spawned thread panics, [`join`] will return an [`Err`] containing\nthe argument given to [`panic!`].\n\nIf the join handle is dropped, the spawned thread will implicitly be *detached*.\nIn this case, the spawned thread may no longer be joined.\n(It is the responsibility of the program to either eventually join threads it\ncreates or detach them; otherwise, a resource leak will result.)\n\nThis function creates a thread with the default parameters of [`Builder`].\nTo specify the new thread's stack size or the name, use [`Builder::spawn`].\n\nAs you can see in the signature of `spawn` there are two constraints on\nboth the closure given to `spawn` and its return value, let's explain them:\n\n- The `'static` constraint means that the closure and its return value\n must have a lifetime of the whole program execution. The reason for this\n is that threads can outlive the lifetime they have been created in.\n\n Indeed if the thread, and by extension its return value, can outlive their\n caller, we need to make sure that they will be valid afterwards, and since\n we *can't* know when it will return we need to have them valid as long as\n possible, that is until the end of the program, hence the `'static`\n lifetime.\n- The [`Send`] constraint is because the closure will need to be passed\n *by value* from the thread where it is spawned to the new thread. Its\n return value will need to be passed from the new thread to the thread\n where it is `join`ed.\n As a reminder, the [`Send`] marker trait expresses that it is safe to be\n passed from thread to thread. [`Sync`] expresses that it is safe to have a\n reference be passed from thread to thread.\n\n# Panics\n\nPanics if the OS fails to create a thread; use [`Builder::spawn`]\nto recover from such errors.\n\n# Examples\n\nCreating a thread.\n\n```\nuse std::thread;\n\nlet handler = thread::spawn(|| {\n // thread code\n});\n\nhandler.join().unwrap();\n```\n\nAs mentioned in the module documentation, threads are usually made to\ncommunicate using [`channels`], here is how it usually looks.\n\nThis example also shows how to use `move`, in order to give ownership\nof values to a thread.\n\n```\nuse std::thread;\nuse std::sync::mpsc::channel;\n\nlet (tx, rx) = channel();\n\nlet sender = thread::spawn(move || {\n tx.send(\"Hello, thread\".to_owned())\n .expect(\"Unable to send on channel\");\n});\n\nlet receiver = thread::spawn(move || {\n let value = rx.recv().expect(\"Unable to receive from channel\");\n println!(\"{value}\");\n});\n\nsender.join().expect(\"The sender thread has panicked\");\nreceiver.join().expect(\"The receiver thread has panicked\");\n```\n\nA thread can also return a value through its [`JoinHandle`], you can use\nthis to make asynchronous computations (futures might be more appropriate\nthough).\n\n```\nuse std::thread;\n\nlet computation = thread::spawn(|| {\n // Some expensive computation.\n 42\n});\n\nlet result = computation.join().unwrap();\nprintln!(\"{result}\");\n```\n\n# Notes\n\nThis function has the same minimal guarantee regarding \"foreign\" unwinding operations (e.g.\nan exception thrown from C++ code, or a `panic!` in Rust code compiled or linked with a\ndifferent runtime) as [`catch_unwind`]; namely, if the thread created with `thread::spawn`\nunwinds all the way to the root with such an exception, one of two behaviors are possible,\nand it is unspecified which will occur:\n\n* The process aborts.\n* The process does not abort, and [`join`] will return a `Result::Err`\n containing an opaque type.\n\n[`catch_unwind`]: ../../std/panic/fn.catch_unwind.html\n[`channels`]: crate::sync::mpsc\n[`join`]: JoinHandle::join\n[`Err`]: crate::result::Result::Err", + "id": 470, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + { + "outlives": "'static" + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + { + "outlives": "'static" + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" + } + } + } + } + }, + "links": { + "JoinHandle::join": 382, + "`Builder::spawn`": 468, + "`Builder`": 306, + "`JoinHandle`": 475, + "`Send`": 1, + "`Sync`": 5, + "`panic!`": 493, + "crate::result::Result::Err": 59, + "crate::sync::mpsc": 494 + }, + "name": "spawn", + "span": { + "begin": [ + 725, + 1 + ], + "end": [ + 732, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4700": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4699, + "id": 4700, "inner": { "impl": { "blanket_impl": { @@ -419540,7 +438509,7 @@ "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -419588,12 +438557,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -419613,12 +438582,12 @@ }, "visibility": "default" }, - "4700": { + "4701": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4700, + "id": 4701, "inner": { "function": { "generics": { @@ -419664,7 +438633,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -419676,7 +438645,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -419698,7 +438667,7 @@ }, "visibility": "default" }, - "4701": { + "4702": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -419707,14 +438676,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4701, + "id": 4702, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } }, @@ -419726,12 +438695,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4700 + 4701 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -419751,7 +438720,7 @@ }, "visibility": "default" }, - "4702": { + "4703": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -419760,7 +438729,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4702, + "id": 4703, "inner": { "function": { "generics": { @@ -419793,7 +438762,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -419815,7 +438784,7 @@ }, "visibility": "default" }, - "4703": { + "4704": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -419827,14 +438796,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4703, + "id": 4704, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "net::UdpSocket" } }, @@ -419846,12 +438815,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4702 + 4703 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4521, + "id": 4522, "path": "AsRawSocket" } } @@ -419871,7 +438840,7 @@ }, "visibility": "default" }, - "4704": { + "4705": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -419880,7 +438849,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4704, + "id": 4705, "inner": { "function": { "generics": { @@ -419901,7 +438870,7 @@ { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -419911,7 +438880,7 @@ "output": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "net::UdpSocket" } } @@ -419933,7 +438902,7 @@ }, "visibility": "default" }, - "4705": { + "4706": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -419945,14 +438914,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4705, + "id": 4706, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "net::UdpSocket" } }, @@ -419964,12 +438933,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4704 + 4705 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4524, + "id": 4525, "path": "FromRawSocket" } } @@ -419989,7 +438958,7 @@ }, "visibility": "default" }, - "4706": { + "4707": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -419998,7 +438967,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4706, + "id": 4707, "inner": { "function": { "generics": { @@ -420025,7 +438994,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -420047,7 +439016,7 @@ }, "visibility": "default" }, - "4707": { + "4708": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -420059,14 +439028,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4707, + "id": 4708, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "net::UdpSocket" } }, @@ -420078,12 +439047,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4706 + 4707 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4527, + "id": 4528, "path": "IntoRawSocket" } } @@ -420103,7 +439072,7 @@ }, "visibility": "default" }, - "4708": { + "4709": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -420112,7 +439081,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4708, + "id": 4709, "inner": { "function": { "generics": { @@ -420154,7 +439123,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -420176,7 +439145,7 @@ }, "visibility": "default" }, - "4709": { + "4710": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -420188,14 +439157,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4709, + "id": 4710, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "crate::net::UdpSocket" } }, @@ -420207,12 +439176,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4708 + 4709 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -420232,52 +439201,7 @@ }, "visibility": "default" }, - "471": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 471, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 308, - "path": "super::Builder" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 309 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 204, - 1 - ], - "end": [ - 263, - 2 - ], - "filename": "std/src/thread/scoped.rs" - }, - "visibility": "default" - }, - "4710": { + "4711": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -420286,7 +439210,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`UdpSocket`](crate::net::UdpSocket)'s underlying socket.", - "id": 4710, + "id": 4711, "inner": { "function": { "generics": { @@ -420307,7 +439231,7 @@ { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "crate::net::UdpSocket" } } @@ -420317,7 +439241,7 @@ "output": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } } @@ -420325,7 +439249,7 @@ } }, "links": { - "crate::net::UdpSocket": 4437 + "crate::net::UdpSocket": 4438 }, "name": "from", "span": { @@ -420341,7 +439265,7 @@ }, "visibility": "default" }, - "4711": { + "4712": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -420353,14 +439277,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4711, + "id": 4712, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -420372,7 +439296,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4710 + 4711 ], "provided_trait_methods": [], "trait": { @@ -420383,7 +439307,7 @@ "type": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } } @@ -420412,7 +439336,7 @@ }, "visibility": "default" }, - "4712": { + "4713": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -420421,7 +439345,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4712, + "id": 4713, "inner": { "function": { "generics": { @@ -420442,7 +439366,7 @@ { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } } @@ -420470,7 +439394,7 @@ }, "visibility": "default" }, - "4713": { + "4714": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -420482,14 +439406,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4713, + "id": 4714, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "crate::net::UdpSocket" } }, @@ -420501,7 +439425,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4712 + 4713 ], "provided_trait_methods": [], "trait": { @@ -420512,7 +439436,7 @@ "type": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } } @@ -420541,7 +439465,7 @@ }, "visibility": "default" }, - "4714": { + "4715": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -420550,7 +439474,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4714, + "id": 4715, "inner": { "function": { "generics": { @@ -420603,18 +439527,18 @@ "name": "as_fd", "span": { "begin": [ - 384, + 402, 5 ], "end": [ - 386, + 404, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4715": { + "4716": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -420626,14 +439550,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4715, + "id": 4716, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "crate::net::UdpSocket" } }, @@ -420645,7 +439569,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4714 + 4715 ], "provided_trait_methods": [], "trait": { @@ -420659,18 +439583,18 @@ "name": null, "span": { "begin": [ - 382, + 400, 1 ], "end": [ - 387, + 405, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4716": { + "4717": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -420679,7 +439603,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`UdpSocket`](crate::net::UdpSocket)'s file descriptor.", - "id": 4716, + "id": 4717, "inner": { "function": { "generics": { @@ -420700,7 +439624,7 @@ { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "crate::net::UdpSocket" } } @@ -420718,23 +439642,23 @@ } }, "links": { - "crate::net::UdpSocket": 4437 + "crate::net::UdpSocket": 4438 }, "name": "from", "span": { "begin": [ - 394, + 412, 5 ], "end": [ - 396, + 414, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4717": { + "4718": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -420746,7 +439670,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4717, + "id": 4718, "inner": { "impl": { "blanket_impl": null, @@ -420765,7 +439689,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4716 + 4717 ], "provided_trait_methods": [], "trait": { @@ -420776,7 +439700,7 @@ "type": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "UdpSocket" } } @@ -420794,18 +439718,18 @@ "name": null, "span": { "begin": [ - 391, + 409, 1 ], "end": [ - 397, + 415, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4718": { + "4719": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -420814,7 +439738,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4718, + "id": 4719, "inner": { "function": { "generics": { @@ -420852,18 +439776,63 @@ "name": "from", "span": { "begin": [ - 403, + 421, 5 ], "end": [ - 407, + 425, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "4719": { + "472": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 472, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 306, + "path": "super::Builder" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 307 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 203, + 1 + ], + "end": [ + 262, + 2 + ], + "filename": "std/src/thread/scoped.rs" + }, + "visibility": "default" + }, + "4720": { "attrs": [ { "other": "#[(not(target_os = \"trusty\"))]" @@ -420875,14 +439844,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4719, + "id": 4720, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "crate::net::UdpSocket" } }, @@ -420894,7 +439863,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4718 + 4719 ], "provided_trait_methods": [], "trait": { @@ -420923,69 +439892,18 @@ "name": null, "span": { "begin": [ - 401, + 419, 1 ], "end": [ - 408, + 426, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "472": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Generates the base configuration for spawning a thread, from which\nconfiguration methods can be chained.\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new()\n .name(\"foo\".into())\n .stack_size(32 * 1024);\n\nlet handler = builder.spawn(|| {\n // thread code\n}).unwrap();\n\nhandler.join().unwrap();\n```", - "id": 472, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 308, - "path": "Builder" - } - } - } - } - }, - "links": {}, - "name": "new", - "span": { - "begin": [ - 289, - 5 - ], - "end": [ - 291, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4720": { + "4721": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -420994,7 +439912,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4720, + "id": 4721, "inner": { "function": { "generics": { @@ -421049,7 +439967,7 @@ }, "visibility": "default" }, - "4721": { + "4722": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -421058,14 +439976,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4721, + "id": 4722, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "net::UdpSocket" } }, @@ -421077,7 +439995,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4720 + 4721 ], "provided_trait_methods": [], "trait": { @@ -421102,7 +440020,7 @@ }, "visibility": "default" }, - "4722": { + "4723": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -421111,7 +440029,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4722, + "id": 4723, "inner": { "function": { "generics": { @@ -421142,7 +440060,7 @@ "output": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "net::UdpSocket" } } @@ -421164,7 +440082,7 @@ }, "visibility": "default" }, - "4723": { + "4724": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"from_raw_os\"}}]" @@ -421173,14 +440091,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4723, + "id": 4724, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "net::UdpSocket" } }, @@ -421192,7 +440110,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4722 + 4723 ], "provided_trait_methods": [], "trait": { @@ -421217,7 +440135,7 @@ }, "visibility": "default" }, - "4724": { + "4725": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -421226,7 +440144,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4724, + "id": 4725, "inner": { "function": { "generics": { @@ -421275,7 +440193,7 @@ }, "visibility": "default" }, - "4725": { + "4726": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" @@ -421284,14 +440202,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4725, + "id": 4726, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4437, + "id": 4438, "path": "net::UdpSocket" } }, @@ -421303,7 +440221,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4724 + 4725 ], "provided_trait_methods": [], "trait": { @@ -421328,7 +440246,7 @@ }, "visibility": "default" }, - "4727": { + "4728": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -421337,10 +440255,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4727, + "id": 4728, "inner": { "use": { - "id": 4728, + "id": 4729, "is_glob": false, "name": "AddrParseError", "source": "core::net::AddrParseError" @@ -421350,59 +440268,26 @@ "name": null, "span": { "begin": [ - 25, + 26, 1 ], "end": [ - 25, + 26, 35 ], "filename": "std/src/net/mod.rs" }, "visibility": "public" }, - "4729": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4729, - "inner": { - "use": { - "id": 4421, - "is_glob": false, - "name": "IpAddr", - "source": "self::ip_addr::IpAddr" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 28, - 25 - ], - "end": [ - 28, - 31 - ], - "filename": "std/src/net/mod.rs" - }, - "visibility": "public" - }, "473": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 132951, is_soft: false}, feature: \"thread_spawn_hook\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Disables running and inheriting [spawn hooks](add_spawn_hook).\n\nUse this if the parent thread is in no way relevant for the child thread.\nFor example, when lazily spawning threads for a thread pool.", + "docs": "Generates the base configuration for spawning a thread, from which\nconfiguration methods can be chained.\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new()\n .name(\"foo\".into())\n .stack_size(32 * 1024);\n\nlet handler = builder.spawn(|| {\n // thread code\n}).unwrap();\n\nhandler.join().unwrap();\n```", "id": 473, "inner": { "function": { @@ -421418,36 +440303,27 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { "resolved_path": { "args": null, - "id": 308, + "id": 306, "path": "Builder" } } } } }, - "links": { - "add_spawn_hook": 373 - }, - "name": "no_hooks", + "links": {}, + "name": "new", "span": { "begin": [ - 351, + 292, 5 ], "end": [ - 354, + 294, 6 ], "filename": "std/src/thread/mod.rs" @@ -421457,7 +440333,7 @@ "4730": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135142, is_soft: false}, feature: \"gethostname\"}}]" } ], "crate_id": 0, @@ -421466,22 +440342,22 @@ "id": 4730, "inner": { "use": { - "id": 4425, + "id": 4419, "is_glob": false, - "name": "Ipv4Addr", - "source": "self::ip_addr::Ipv4Addr" + "name": "hostname", + "source": "self::hostname::hostname" } }, "links": {}, "name": null, "span": { "begin": [ - 28, - 33 + 29, + 1 ], "end": [ - 28, - 41 + 29, + 34 ], "filename": "std/src/net/mod.rs" }, @@ -421499,22 +440375,22 @@ "id": 4731, "inner": { "use": { - "id": 4427, + "id": 4422, "is_glob": false, - "name": "Ipv6Addr", - "source": "self::ip_addr::Ipv6Addr" + "name": "IpAddr", + "source": "self::ip_addr::IpAddr" } }, "links": {}, "name": null, "span": { "begin": [ - 28, - 43 + 31, + 25 ], "end": [ - 28, - 51 + 31, + 31 ], "filename": "std/src/net/mod.rs" }, @@ -421532,22 +440408,22 @@ "id": 4732, "inner": { "use": { - "id": 4423, + "id": 4426, "is_glob": false, - "name": "Ipv6MulticastScope", - "source": "self::ip_addr::Ipv6MulticastScope" + "name": "Ipv4Addr", + "source": "self::ip_addr::Ipv4Addr" } }, "links": {}, "name": null, "span": { "begin": [ - 28, - 53 + 31, + 33 ], "end": [ - 28, - 71 + 31, + 41 ], "filename": "std/src/net/mod.rs" }, @@ -421565,22 +440441,22 @@ "id": 4733, "inner": { "use": { - "id": 4430, + "id": 4428, "is_glob": false, - "name": "SocketAddr", - "source": "self::socket_addr::SocketAddr" + "name": "Ipv6Addr", + "source": "self::ip_addr::Ipv6Addr" } }, "links": {}, "name": null, "span": { "begin": [ - 30, - 29 + 31, + 43 ], "end": [ - 30, - 39 + 31, + 51 ], "filename": "std/src/net/mod.rs" }, @@ -421598,22 +440474,22 @@ "id": 4734, "inner": { "use": { - "id": 4432, + "id": 4424, "is_glob": false, - "name": "SocketAddrV4", - "source": "self::socket_addr::SocketAddrV4" + "name": "Ipv6MulticastScope", + "source": "self::ip_addr::Ipv6MulticastScope" } }, "links": {}, "name": null, "span": { "begin": [ - 30, - 41 + 31, + 53 ], "end": [ - 30, - 53 + 31, + 71 ], "filename": "std/src/net/mod.rs" }, @@ -421631,22 +440507,22 @@ "id": 4735, "inner": { "use": { - "id": 4434, + "id": 4431, "is_glob": false, - "name": "SocketAddrV6", - "source": "self::socket_addr::SocketAddrV6" + "name": "SocketAddr", + "source": "self::socket_addr::SocketAddr" } }, "links": {}, "name": null, "span": { "begin": [ - 30, - 55 + 33, + 29 ], "end": [ - 30, - 67 + 33, + 39 ], "filename": "std/src/net/mod.rs" }, @@ -421664,22 +440540,22 @@ "id": 4736, "inner": { "use": { - "id": 1751, + "id": 4433, "is_glob": false, - "name": "ToSocketAddrs", - "source": "self::socket_addr::ToSocketAddrs" + "name": "SocketAddrV4", + "source": "self::socket_addr::SocketAddrV4" } }, "links": {}, "name": null, "span": { "begin": [ - 30, - 69 + 33, + 41 ], "end": [ - 30, - 82 + 33, + 53 ], "filename": "std/src/net/mod.rs" }, @@ -421688,7 +440564,7 @@ "4737": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88373, is_soft: false}, feature: \"tcplistener_into_incoming\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, @@ -421697,22 +440573,22 @@ "id": 4737, "inner": { "use": { - "id": 4562, + "id": 4435, "is_glob": false, - "name": "IntoIncoming", - "source": "self::tcp::IntoIncoming" + "name": "SocketAddrV6", + "source": "self::socket_addr::SocketAddrV6" } }, "links": {}, "name": null, "span": { "begin": [ - 32, - 1 + 33, + 55 ], "end": [ - 32, - 33 + 33, + 67 ], "filename": "std/src/net/mod.rs" }, @@ -421730,22 +440606,22 @@ "id": 4738, "inner": { "use": { - "id": 4557, + "id": 1749, "is_glob": false, - "name": "Incoming", - "source": "self::tcp::Incoming" + "name": "ToSocketAddrs", + "source": "self::socket_addr::ToSocketAddrs" } }, "links": {}, "name": null, "span": { "begin": [ - 34, - 21 + 33, + 69 ], "end": [ - 34, - 29 + 33, + 82 ], "filename": "std/src/net/mod.rs" }, @@ -421754,7 +440630,7 @@ "4739": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 88373, is_soft: false}, feature: \"tcplistener_into_incoming\"}}]" } ], "crate_id": 0, @@ -421763,22 +440639,22 @@ "id": 4739, "inner": { "use": { - "id": 4482, + "id": 4563, "is_glob": false, - "name": "TcpListener", - "source": "self::tcp::TcpListener" + "name": "IntoIncoming", + "source": "self::tcp::IntoIncoming" } }, "links": {}, "name": null, "span": { "begin": [ - 34, - 31 + 35, + 1 ], "end": [ - 34, - 42 + 35, + 33 ], "filename": "std/src/net/mod.rs" }, @@ -421787,76 +440663,58 @@ "474": { "attrs": [ { - "other": "#[(target_os = \"teeos\", must_use)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 132951, is_soft: false}, feature: \"thread_spawn_hook\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "An owned permission to join on a thread (block on its termination).\n\nA `JoinHandle` *detaches* the associated thread when it is dropped, which\nmeans that there is no longer any handle to the thread and no way to `join`\non it.\n\nDue to platform restrictions, it is not possible to [`Clone`] this\nhandle: the ability to join a thread is a uniquely-owned permission.\n\nThis `struct` is created by the [`thread::spawn`] function and the\n[`thread::Builder::spawn`] method.\n\n# Examples\n\nCreation from [`thread::spawn`]:\n\n```\nuse std::thread;\n\nlet join_handle: thread::JoinHandle<_> = thread::spawn(|| {\n // some work here\n});\n```\n\nCreation from [`thread::Builder::spawn`]:\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet join_handle: thread::JoinHandle<_> = builder.spawn(|| {\n // some work here\n}).unwrap();\n```\n\nA thread being detached and outliving the thread that spawned it:\n\n```no_run\nuse std::thread;\nuse std::time::Duration;\n\nlet original_thread = thread::spawn(|| {\n let _detached_thread = thread::spawn(|| {\n // Here we sleep to make sure that the first thread returns before.\n thread::sleep(Duration::from_millis(10));\n // This will be called, even though the JoinHandle is dropped.\n println!(\"♫ Still alive ♫\");\n });\n});\n\noriginal_thread.join().expect(\"The thread being joined has panicked\");\nprintln!(\"Original thread is joined.\");\n\n// We make sure that the new thread has time to run, before the main\n// thread returns.\n\nthread::sleep(Duration::from_millis(1000));\n```\n\n[`thread::Builder::spawn`]: Builder::spawn\n[`thread::spawn`]: spawn", + "docs": "Disables running and inheriting [spawn hooks](add_spawn_hook).\n\nUse this if the parent thread is in no way relevant for the child thread.\nFor example, when lazily spawning threads for a thread pool.", "id": 474, "inner": { - "struct": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "impls": [ - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 585, - 589, - 593, - 597, - 600, - 603 - ], - "kind": { - "tuple": [ - null - ] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 306, + "path": "Builder" + } + } } } }, "links": { - "Builder::spawn": 467, - "`Clone`": 99, - "spawn": 469 + "add_spawn_hook": 373 }, - "name": "JoinHandle", + "name": "no_hooks", "span": { "begin": [ - 1847, - 1 + 354, + 5 ], "end": [ - 1847, - 49 + 357, + 6 ], "filename": "std/src/thread/mod.rs" }, @@ -421874,7 +440732,73 @@ "id": 4740, "inner": { "use": { - "id": 3047, + "id": 4558, + "is_glob": false, + "name": "Incoming", + "source": "self::tcp::Incoming" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 37, + 21 + ], + "end": [ + 37, + 29 + ], + "filename": "std/src/net/mod.rs" + }, + "visibility": "public" + }, + "4741": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4741, + "inner": { + "use": { + "id": 4483, + "is_glob": false, + "name": "TcpListener", + "source": "self::tcp::TcpListener" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 37, + 31 + ], + "end": [ + 37, + 42 + ], + "filename": "std/src/net/mod.rs" + }, + "visibility": "public" + }, + "4742": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4742, + "inner": { + "use": { + "id": 3049, "is_glob": false, "name": "TcpStream", "source": "self::tcp::TcpStream" @@ -421884,18 +440808,18 @@ "name": null, "span": { "begin": [ - 34, + 37, 44 ], "end": [ - 34, + 37, 53 ], "filename": "std/src/net/mod.rs" }, "visibility": "public" }, - "4741": { + "4743": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -421904,10 +440828,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4741, + "id": 4743, "inner": { "use": { - "id": 4437, + "id": 4438, "is_glob": false, "name": "UdpSocket", "source": "self::udp::UdpSocket" @@ -421917,18 +440841,18 @@ "name": null, "span": { "begin": [ - 36, + 39, 1 ], "end": [ - 36, + 39, 30 ], "filename": "std/src/net/mod.rs" }, "visibility": "public" }, - "4742": { + "4744": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -421937,7 +440861,7 @@ "crate_id": 0, "deprecation": null, "docs": "The reading portion of the [`TcpStream`] should be shut down.\n\nAll currently blocked and future [reads] will return [Ok]\\(0).\n\n[reads]: crate::io::Read \"io::Read\"", - "id": 4742, + "id": 4744, "inner": { "variant": { "discriminant": null, @@ -421946,24 +440870,24 @@ }, "links": { "Ok": 61, - "`TcpStream`": 3047, - "crate::io::Read": 2476 + "`TcpStream`": 3049, + "crate::io::Read": 2474 }, "name": "Read", "span": { "begin": [ - 56, + 59, 5 ], "end": [ - 56, + 59, 9 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4743": { + "4745": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -421972,7 +440896,7 @@ "crate_id": 0, "deprecation": null, "docs": "The writing portion of the [`TcpStream`] should be shut down.\n\nAll currently blocked and future [writes] will return an error.\n\n[writes]: crate::io::Write \"io::Write\"", - "id": 4743, + "id": 4745, "inner": { "variant": { "discriminant": null, @@ -421980,24 +440904,24 @@ } }, "links": { - "`TcpStream`": 3047, - "crate::io::Write": 2486 + "`TcpStream`": 3049, + "crate::io::Write": 2484 }, "name": "Write", "span": { "begin": [ - 63, + 66, 5 ], "end": [ - 63, + 66, 10 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4744": { + "4746": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -422006,7 +440930,7 @@ "crate_id": 0, "deprecation": null, "docs": "Both the reading and the writing portions of the [`TcpStream`] should be shut down.\n\nSee [`Shutdown::Read`] and [`Shutdown::Write`] for more information.", - "id": 4744, + "id": 4746, "inner": { "variant": { "discriminant": null, @@ -422014,98 +440938,24 @@ } }, "links": { - "`Shutdown::Read`": 4742, - "`Shutdown::Write`": 4743, - "`TcpStream`": 3047 + "`Shutdown::Read`": 4744, + "`Shutdown::Write`": 4745, + "`TcpStream`": 3049 }, "name": "Both", "span": { "begin": [ - 68, + 71, 5 ], "end": [ - 68, + 71, 9 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4745": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4745, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4487, - "path": "Shutdown" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4746": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4746, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4487, - "path": "Shutdown" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, "4747": { "attrs": [], "crate_id": 0, @@ -422118,7 +440968,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -422133,8 +440983,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 1, + "path": "Send" } } }, @@ -422155,7 +441005,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -422170,8 +441020,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 5, + "path": "Sync" } } }, @@ -422192,7 +441042,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -422207,8 +441057,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 313, + "path": "Freeze" } } }, @@ -422220,30 +441070,20 @@ "475": { "attrs": [ { - "other": "#[(miri, track_caller)]" + "other": "#[(target_os = \"teeos\", must_use)]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"thread_spawn_unchecked\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Spawns a new thread without any lifetime restrictions by taking ownership\nof the `Builder`, and returns an [`io::Result`] to its [`JoinHandle`].\n\nThe spawned thread may outlive the caller (unless the caller thread\nis the main thread; the whole process is terminated when the main\nthread finishes). The join handle can be used to block on\ntermination of the spawned thread, including recovering its panics.\n\nThis method is identical to [`thread::Builder::spawn`][`Builder::spawn`],\nexcept for the relaxed lifetime bounds, which render it unsafe.\nFor a more complete documentation see [`thread::spawn`][`spawn`].\n\n# Errors\n\nUnlike the [`spawn`] free function, this method yields an\n[`io::Result`] to capture any failure to create the thread at\nthe OS level.\n\n# Panics\n\nPanics if a thread name was set and it contained null bytes.\n\n# Safety\n\nThe caller has to ensure that the spawned thread does not outlive any\nreferences in the supplied thread closure and its return type.\nThis can be guaranteed in two ways:\n\n- ensure that [`join`][`JoinHandle::join`] is called before any referenced\ndata is dropped\n- use only types with `'static` lifetime bounds, i.e., those with no or only\n`'static` references (both [`thread::Builder::spawn`][`Builder::spawn`]\nand [`thread::spawn`][`spawn`] enforce this property statically)\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet x = 1;\nlet thread_x = &x;\n\nlet handler = unsafe {\n builder.spawn_unchecked(move || {\n println!(\"x = {}\", *thread_x);\n }).unwrap()\n};\n\n// caller has to ensure `join()` is called, otherwise\n// it is possible to access freed memory if `x` gets\n// dropped before the thread closure is executed!\nhandler.join().unwrap();\n```\n\n[`io::Result`]: crate::io::Result", + "docs": "An owned permission to join on a thread (block on its termination).\n\nA `JoinHandle` *detaches* the associated thread when it is dropped, which\nmeans that there is no longer any handle to the thread and no way to `join`\non it.\n\nDue to platform restrictions, it is not possible to [`Clone`] this\nhandle: the ability to join a thread is a uniquely-owned permission.\n\nThis `struct` is created by the [`thread::spawn`] function and the\n[`thread::Builder::spawn`] method.\n\n# Examples\n\nCreation from [`thread::spawn`]:\n\n```\nuse std::thread;\n\nlet join_handle: thread::JoinHandle<_> = thread::spawn(|| {\n // some work here\n});\n```\n\nCreation from [`thread::Builder::spawn`]:\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet join_handle: thread::JoinHandle<_> = builder.spawn(|| {\n // some work here\n}).unwrap();\n```\n\nA thread being detached and outliving the thread that spawned it:\n\n```no_run\nuse std::thread;\nuse std::time::Duration;\n\nlet original_thread = thread::spawn(|| {\n let _detached_thread = thread::spawn(|| {\n // Here we sleep to make sure that the first thread returns before.\n thread::sleep(Duration::from_millis(10));\n // This will be called, even though the JoinHandle is dropped.\n println!(\"♫ Still alive ♫\");\n });\n});\n\noriginal_thread.join().expect(\"The thread being joined has panicked\");\nprintln!(\"Original thread is joined.\");\n\n// We make sure that the new thread has time to run, before the main\n// thread returns.\n\nthread::sleep(Duration::from_millis(1000));\n```\n\n[`thread::Builder::spawn`]: Builder::spawn\n[`thread::spawn`]: spawn", "id": 475, "inner": { - "function": { + "struct": { "generics": { "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - }, { "kind": { "type": { @@ -422255,144 +441095,51 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "T" - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true + "where_predicates": [] }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" - } - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } + "impls": [ + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 585, + 589, + 593, + 597, + 600, + 603 + ], + "kind": { + "tuple": [ + null + ] } } }, "links": { - "`Builder::spawn`": 467, - "`JoinHandle::join`": 382, - "`JoinHandle`": 474, - "`spawn`": 469, - "crate::io::Result": 468 + "Builder::spawn": 468, + "`Clone`": 97, + "spawn": 470 }, - "name": "spawn_unchecked", + "name": "JoinHandle", "span": { "begin": [ - 461, - 5 + 1886, + 1 ], "end": [ - 468, - 6 + 1886, + 49 ], "filename": "std/src/thread/mod.rs" }, @@ -422410,7 +441157,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -422425,8 +441172,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 7, + "path": "Unpin" } } }, @@ -422441,6 +441188,80 @@ "deprecation": null, "docs": null, "id": 4751, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4488, + "path": "Shutdown" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4752": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4752, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4488, + "path": "Shutdown" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4753": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4753, "inner": { "impl": { "blanket_impl": { @@ -422449,7 +441270,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -422494,7 +441315,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -422510,7 +441331,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -422519,23 +441340,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4752": { + "4754": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4752, + "id": 4754, "inner": { "impl": { "blanket_impl": { @@ -422544,7 +441365,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -422589,7 +441410,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -422605,7 +441426,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -422614,23 +441435,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4753": { + "4755": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4753, + "id": 4755, "inner": { "impl": { "blanket_impl": { @@ -422639,7 +441460,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -422666,7 +441487,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -422698,23 +441519,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "4754": { + "4756": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4754, + "id": 4756, "inner": { "impl": { "blanket_impl": { @@ -422723,7 +441544,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -422789,7 +441610,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -422814,23 +441635,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4755": { + "4757": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4755, + "id": 4757, "inner": { "impl": { "blanket_impl": { @@ -422839,7 +441660,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -422862,7 +441683,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -422887,23 +441708,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4756": { + "4758": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4756, + "id": 4758, "inner": { "impl": { "blanket_impl": { @@ -422912,7 +441733,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -422960,7 +441781,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -422978,8 +441799,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -422995,7 +441816,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -423004,23 +441825,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4757": { + "4759": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4757, + "id": 4759, "inner": { "impl": { "blanket_impl": { @@ -423029,7 +441850,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -423095,8 +441916,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -423112,7 +441933,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -423121,23 +441942,204 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4758": { + "476": { + "attrs": [ + { + "other": "#[(miri, track_caller)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 82, patch: 0})}, feature: \"thread_spawn_unchecked\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Spawns a new thread without any lifetime restrictions by taking ownership\nof the `Builder`, and returns an [`io::Result`] to its [`JoinHandle`].\n\nThe spawned thread may outlive the caller (unless the caller thread\nis the main thread; the whole process is terminated when the main\nthread finishes). The join handle can be used to block on\ntermination of the spawned thread, including recovering its panics.\n\nThis method is identical to [`thread::Builder::spawn`][`Builder::spawn`],\nexcept for the relaxed lifetime bounds, which render it unsafe.\nFor a more complete documentation see [`thread::spawn`][`spawn`].\n\n# Errors\n\nUnlike the [`spawn`] free function, this method yields an\n[`io::Result`] to capture any failure to create the thread at\nthe OS level.\n\n# Panics\n\nPanics if a thread name was set and it contained null bytes.\n\n# Safety\n\nThe caller has to ensure that the spawned thread does not outlive any\nreferences in the supplied thread closure and its return type.\nThis can be guaranteed in two ways:\n\n- ensure that [`join`][`JoinHandle::join`] is called before any referenced\ndata is dropped\n- use only types with `'static` lifetime bounds, i.e., those with no or only\n`'static` references (both [`thread::Builder::spawn`][`Builder::spawn`]\nand [`thread::spawn`][`spawn`] enforce this property statically)\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet x = 1;\nlet thread_x = &x;\n\nlet handler = unsafe {\n builder.spawn_unchecked(move || {\n println!(\"x = {}\", *thread_x);\n }).unwrap()\n};\n\n// caller has to ensure `join()` is called, otherwise\n// it is possible to access freed memory if `x` gets\n// dropped before the thread closure is executed!\nhandler.join().unwrap();\n```\n\n[`io::Result`]: crate::io::Result", + "id": 476, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" + } + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": { + "`Builder::spawn`": 468, + "`JoinHandle::join`": 382, + "`JoinHandle`": 475, + "`spawn`": 470, + "crate::io::Result": 469 + }, + "name": "spawn_unchecked", + "span": { + "begin": [ + 464, + 5 + ], + "end": [ + 471, + 6 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4760": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4758, + "id": 4760, "inner": { "impl": { "blanket_impl": { @@ -423146,7 +442148,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -423194,12 +442196,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -423219,12 +442221,12 @@ }, "visibility": "default" }, - "4759": { + "4761": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4759, + "id": 4761, "inner": { "impl": { "blanket_impl": { @@ -423233,7 +442235,7 @@ "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -423260,7 +442262,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -423287,7 +442289,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -423296,68 +442298,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "476": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 476, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 308, - "path": "Builder" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 472, - 465, - 466, - 473, - 467, - 475 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 269, - 1 - ], - "end": [ - 603, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "4760": { + "4762": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -423367,14 +442319,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4760, + "id": 4762, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -423389,7 +442341,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -423398,18 +442350,18 @@ "name": null, "span": { "begin": [ - 47, + 50, 10 ], "end": [ - 47, + 50, 14 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4761": { + "4763": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -423418,7 +442370,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4761, + "id": 4763, "inner": { "function": { "generics": { @@ -423451,7 +442403,7 @@ "output": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } } @@ -423462,18 +442414,18 @@ "name": "clone", "span": { "begin": [ - 47, + 50, 16 ], "end": [ - 47, + 50, 21 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4762": { + "4764": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -423483,14 +442435,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4762, + "id": 4764, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -423502,14 +442454,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4761 + 4763 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -423518,18 +442470,18 @@ "name": null, "span": { "begin": [ - 47, + 50, 16 ], "end": [ - 47, + 50, 21 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4763": { + "4765": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -423539,14 +442491,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4763, + "id": 4765, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -423570,18 +442522,18 @@ "name": null, "span": { "begin": [ - 47, + 50, 23 ], "end": [ - 47, + 50, 32 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4764": { + "4766": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -423590,7 +442542,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4764, + "id": 4766, "inner": { "function": { "generics": { @@ -423627,7 +442579,7 @@ "type": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } } @@ -423646,18 +442598,18 @@ "name": "eq", "span": { "begin": [ - 47, + 50, 23 ], "end": [ - 47, + 50, 32 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4765": { + "4767": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -423667,14 +442619,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4765, + "id": 4767, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -423686,14 +442638,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4764 + 4766 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -423702,18 +442654,18 @@ "name": null, "span": { "begin": [ - 47, + 50, 23 ], "end": [ - 47, + 50, 32 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4766": { + "4768": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -423723,14 +442675,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4766, + "id": 4768, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -423747,7 +442699,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -423756,18 +442708,18 @@ "name": null, "span": { "begin": [ - 47, + 50, 34 ], "end": [ - 47, + 50, 36 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4767": { + "4769": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -423776,7 +442728,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4767, + "id": 4769, "inner": { "function": { "generics": { @@ -423822,7 +442774,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -423834,7 +442786,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -423845,18 +442797,68 @@ "name": "fmt", "span": { "begin": [ - 47, + 50, 38 ], "end": [ - 47, + 50, 43 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4768": { + "477": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 477, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 306, + "path": "Builder" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 473, + 466, + 467, + 474, + 468, + 476 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 272, + 1 + ], + "end": [ + 606, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "4770": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -423866,14 +442868,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4768, + "id": 4770, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } }, @@ -423885,12 +442887,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4767 + 4769 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -423899,18 +442901,18 @@ "name": null, "span": { "begin": [ - 47, + 50, 38 ], "end": [ - 47, + 50, 43 ], "filename": "std/src/net/mod.rs" }, "visibility": "default" }, - "4769": { + "4771": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -423918,15 +442920,14 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Networking primitives for TCP/UDP communication.\n\nThis module provides networking functionality for the Transmission Control and User\nDatagram Protocols, as well as types for IP and socket addresses.\n\n# Organization\n\n* [`TcpListener`] and [`TcpStream`] provide functionality for communication over TCP\n* [`UdpSocket`] provides functionality for communication over UDP\n* [`IpAddr`] represents IP addresses of either IPv4 or IPv6; [`Ipv4Addr`] and\n [`Ipv6Addr`] are respectively IPv4 and IPv6 addresses\n* [`SocketAddr`] represents socket addresses of either IPv4 or IPv6; [`SocketAddrV4`]\n and [`SocketAddrV6`] are respectively IPv4 and IPv6 socket addresses\n* [`ToSocketAddrs`] is a trait that is used for generic address resolution when interacting\n with networking objects like [`TcpListener`], [`TcpStream`] or [`UdpSocket`]\n* Other types are return or parameter types for various methods in this module\n\nRust disables inheritance of socket objects to child processes by default when possible. For\nexample, through the use of the `CLOEXEC` flag in UNIX systems or the `HANDLE_FLAG_INHERIT`\nflag on Windows.", - "id": 4769, + "docs": "Networking primitives for TCP/UDP communication.\n\nThis module provides networking functionality for the Transmission Control and User\nDatagram Protocols, as well as types for IP and socket addresses and functions related\nto network properties.\n\n# Organization\n\n* [`TcpListener`] and [`TcpStream`] provide functionality for communication over TCP\n* [`UdpSocket`] provides functionality for communication over UDP\n* [`IpAddr`] represents IP addresses of either IPv4 or IPv6; [`Ipv4Addr`] and\n [`Ipv6Addr`] are respectively IPv4 and IPv6 addresses\n* [`SocketAddr`] represents socket addresses of either IPv4 or IPv6; [`SocketAddrV4`]\n and [`SocketAddrV6`] are respectively IPv4 and IPv6 socket addresses\n* [`ToSocketAddrs`] is a trait that is used for generic address resolution when interacting\n with networking objects like [`TcpListener`], [`TcpStream`] or [`UdpSocket`]\n* Other types are return or parameter types for various methods in this module\n\nRust disables inheritance of socket objects to child processes by default when possible. For\nexample, through the use of the `CLOEXEC` flag in UNIX systems or the `HANDLE_FLAG_INHERIT`\nflag on Windows.", + "id": 4771, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 4727, - 4729, + 4728, 4730, 4731, 4732, @@ -423939,21 +442940,23 @@ 4739, 4740, 4741, - 4487 + 4742, + 4743, + 4488 ] } }, "links": { - "`IpAddr`": 4421, - "`Ipv4Addr`": 4425, - "`Ipv6Addr`": 4427, - "`SocketAddrV4`": 4432, - "`SocketAddrV6`": 4434, - "`SocketAddr`": 4430, - "`TcpListener`": 4482, - "`TcpStream`": 3047, - "`ToSocketAddrs`": 1751, - "`UdpSocket`": 4437 + "`IpAddr`": 4422, + "`Ipv4Addr`": 4426, + "`Ipv6Addr`": 4428, + "`SocketAddrV4`": 4433, + "`SocketAddrV6`": 4435, + "`SocketAddr`": 4431, + "`TcpListener`": 4483, + "`TcpStream`": 3049, + "`ToSocketAddrs`": 1749, + "`UdpSocket`": 4438 }, "name": "net", "span": { @@ -423962,51 +442965,14 @@ 1 ], "end": [ - 89, + 72, 2 ], "filename": "std/src/net/mod.rs" }, "visibility": "public" }, - "477": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 477, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 308, - "path": "Builder" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4770": { + "4772": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 55, patch: 0})}, feature: \"int_error_matching\"}}]" @@ -424015,10 +442981,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4770, + "id": 4772, "inner": { "use": { - "id": 4771, + "id": 4773, "is_glob": false, "name": "IntErrorKind", "source": "core::num::IntErrorKind" @@ -424039,7 +443005,7 @@ }, "visibility": "public" }, - "4772": { + "4774": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"generic_nonzero\"}}]" @@ -424048,7 +443014,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4772, + "id": 4774, "inner": { "use": { "id": 512, @@ -424072,7 +443038,7 @@ }, "visibility": "public" }, - "4773": { + "4775": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 74, patch: 0})}, feature: \"saturating_int_impl\"}}]" @@ -424081,10 +443047,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4773, + "id": 4775, "inner": { "use": { - "id": 4774, + "id": 4776, "is_glob": false, "name": "Saturating", "source": "core::num::Saturating" @@ -424105,7 +443071,7 @@ }, "visibility": "public" }, - "4775": { + "4777": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -424114,10 +443080,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4775, + "id": 4777, "inner": { "use": { - "id": 4776, + "id": 4778, "is_glob": false, "name": "Wrapping", "source": "core::num::Wrapping" @@ -424138,7 +443104,7 @@ }, "visibility": "public" }, - "4777": { + "4779": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"implementation detail which may disappear or be replaced at any time\"),\nis_soft: false}, feature: \"nonzero_internals\"}}]" @@ -424147,10 +443113,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4777, + "id": 4779, "inner": { "use": { - "id": 4778, + "id": 4780, "is_glob": false, "name": "ZeroablePrimitive", "source": "core::num::ZeroablePrimitive" @@ -424171,39 +443137,6 @@ }, "visibility": "public" }, - "4779": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4779, - "inner": { - "use": { - "id": 4780, - "is_glob": false, - "name": "FpCategory", - "source": "core::num::FpCategory" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 24, - 21 - ], - "end": [ - 24, - 31 - ], - "filename": "std/src/num/mod.rs" - }, - "visibility": "public" - }, "478": { "attrs": [], "crate_id": 0, @@ -424216,7 +443149,7 @@ "for": { "resolved_path": { "args": null, - "id": 308, + "id": 306, "path": "Builder" } }, @@ -424231,8 +443164,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 1, + "path": "Send" } } }, @@ -424255,8 +443188,8 @@ "use": { "id": 4782, "is_glob": false, - "name": "ParseFloatError", - "source": "core::num::ParseFloatError" + "name": "FpCategory", + "source": "core::num::FpCategory" } }, "links": {}, @@ -424264,11 +443197,11 @@ "span": { "begin": [ 24, - 33 + 21 ], "end": [ 24, - 48 + 31 ], "filename": "std/src/num/mod.rs" }, @@ -424288,8 +443221,8 @@ "use": { "id": 4784, "is_glob": false, - "name": "ParseIntError", - "source": "core::num::ParseIntError" + "name": "ParseFloatError", + "source": "core::num::ParseFloatError" } }, "links": {}, @@ -424297,11 +443230,11 @@ "span": { "begin": [ 24, - 50 + 33 ], "end": [ 24, - 63 + 48 ], "filename": "std/src/num/mod.rs" }, @@ -424321,8 +443254,8 @@ "use": { "id": 4786, "is_glob": false, - "name": "TryFromIntError", - "source": "core::num::TryFromIntError" + "name": "ParseIntError", + "source": "core::num::ParseIntError" } }, "links": {}, @@ -424330,11 +443263,11 @@ "span": { "begin": [ 24, - 65 + 50 ], "end": [ 24, - 80 + 63 ], "filename": "std/src/num/mod.rs" }, @@ -424343,7 +443276,7 @@ "4787": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"signed_nonzero\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, @@ -424354,20 +443287,20 @@ "use": { "id": 4788, "is_glob": false, - "name": "NonZeroI8", - "source": "core::num::NonZeroI8" + "name": "TryFromIntError", + "source": "core::num::TryFromIntError" } }, "links": {}, "name": null, "span": { "begin": [ - 26, - 21 + 24, + 65 ], "end": [ - 26, - 30 + 24, + 80 ], "filename": "std/src/num/mod.rs" }, @@ -424387,8 +443320,8 @@ "use": { "id": 4790, "is_glob": false, - "name": "NonZeroI16", - "source": "core::num::NonZeroI16" + "name": "NonZeroI8", + "source": "core::num::NonZeroI8" } }, "links": {}, @@ -424396,11 +443329,11 @@ "span": { "begin": [ 26, - 32 + 21 ], "end": [ 26, - 42 + 30 ], "filename": "std/src/num/mod.rs" }, @@ -424418,7 +443351,7 @@ "for": { "resolved_path": { "args": null, - "id": 308, + "id": 306, "path": "Builder" } }, @@ -424433,8 +443366,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 5, + "path": "Sync" } } }, @@ -424457,8 +443390,8 @@ "use": { "id": 4792, "is_glob": false, - "name": "NonZeroI32", - "source": "core::num::NonZeroI32" + "name": "NonZeroI16", + "source": "core::num::NonZeroI16" } }, "links": {}, @@ -424466,11 +443399,11 @@ "span": { "begin": [ 26, - 44 + 32 ], "end": [ 26, - 54 + 42 ], "filename": "std/src/num/mod.rs" }, @@ -424490,8 +443423,8 @@ "use": { "id": 4794, "is_glob": false, - "name": "NonZeroI64", - "source": "core::num::NonZeroI64" + "name": "NonZeroI32", + "source": "core::num::NonZeroI32" } }, "links": {}, @@ -424499,11 +443432,11 @@ "span": { "begin": [ 26, - 56 + 44 ], "end": [ 26, - 66 + 54 ], "filename": "std/src/num/mod.rs" }, @@ -424523,8 +443456,8 @@ "use": { "id": 4796, "is_glob": false, - "name": "NonZeroI128", - "source": "core::num::NonZeroI128" + "name": "NonZeroI64", + "source": "core::num::NonZeroI64" } }, "links": {}, @@ -424532,11 +443465,11 @@ "span": { "begin": [ 26, - 68 + 56 ], "end": [ 26, - 79 + 66 ], "filename": "std/src/num/mod.rs" }, @@ -424556,8 +443489,8 @@ "use": { "id": 4798, "is_glob": false, - "name": "NonZeroIsize", - "source": "core::num::NonZeroIsize" + "name": "NonZeroI128", + "source": "core::num::NonZeroI128" } }, "links": {}, @@ -424565,11 +443498,11 @@ "span": { "begin": [ 26, - 81 + 68 ], "end": [ 26, - 93 + 79 ], "filename": "std/src/num/mod.rs" }, @@ -424578,7 +443511,7 @@ "4799": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"nonzero\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"signed_nonzero\"}}]" } ], "crate_id": 0, @@ -424589,20 +443522,20 @@ "use": { "id": 4800, "is_glob": false, - "name": "NonZeroU8", - "source": "core::num::NonZeroU8" + "name": "NonZeroIsize", + "source": "core::num::NonZeroIsize" } }, "links": {}, "name": null, "span": { "begin": [ - 28, - 21 + 26, + 81 ], "end": [ - 28, - 30 + 26, + 93 ], "filename": "std/src/num/mod.rs" }, @@ -424656,7 +443589,7 @@ "for": { "resolved_path": { "args": null, - "id": 308, + "id": 306, "path": "Builder" } }, @@ -424671,8 +443604,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 313, + "path": "Freeze" } } }, @@ -424695,8 +443628,8 @@ "use": { "id": 4802, "is_glob": false, - "name": "NonZeroU16", - "source": "core::num::NonZeroU16" + "name": "NonZeroU8", + "source": "core::num::NonZeroU8" } }, "links": {}, @@ -424704,11 +443637,11 @@ "span": { "begin": [ 28, - 32 + 21 ], "end": [ 28, - 42 + 30 ], "filename": "std/src/num/mod.rs" }, @@ -424728,8 +443661,8 @@ "use": { "id": 4804, "is_glob": false, - "name": "NonZeroU32", - "source": "core::num::NonZeroU32" + "name": "NonZeroU16", + "source": "core::num::NonZeroU16" } }, "links": {}, @@ -424737,11 +443670,11 @@ "span": { "begin": [ 28, - 44 + 32 ], "end": [ 28, - 54 + 42 ], "filename": "std/src/num/mod.rs" }, @@ -424761,8 +443694,8 @@ "use": { "id": 4806, "is_glob": false, - "name": "NonZeroU64", - "source": "core::num::NonZeroU64" + "name": "NonZeroU32", + "source": "core::num::NonZeroU32" } }, "links": {}, @@ -424770,11 +443703,11 @@ "span": { "begin": [ 28, - 56 + 44 ], "end": [ 28, - 66 + 54 ], "filename": "std/src/num/mod.rs" }, @@ -424794,8 +443727,8 @@ "use": { "id": 4808, "is_glob": false, - "name": "NonZeroU128", - "source": "core::num::NonZeroU128" + "name": "NonZeroU64", + "source": "core::num::NonZeroU64" } }, "links": {}, @@ -424803,11 +443736,11 @@ "span": { "begin": [ 28, - 68 + 56 ], "end": [ 28, - 79 + 66 ], "filename": "std/src/num/mod.rs" }, @@ -424827,8 +443760,8 @@ "use": { "id": 4810, "is_glob": false, - "name": "NonZeroUsize", - "source": "core::num::NonZeroUsize" + "name": "NonZeroU128", + "source": "core::num::NonZeroU128" } }, "links": {}, @@ -424836,11 +443769,11 @@ "span": { "begin": [ 28, - 81 + 68 ], "end": [ 28, - 93 + 79 ], "filename": "std/src/num/mod.rs" }, @@ -424858,7 +443791,7 @@ "for": { "resolved_path": { "args": null, - "id": 308, + "id": 306, "path": "Builder" } }, @@ -424873,8 +443806,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 7, + "path": "Unpin" } } }, @@ -424884,6 +443817,39 @@ "visibility": "default" }, "4811": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"nonzero\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4811, + "inner": { + "use": { + "id": 4812, + "is_glob": false, + "name": "NonZeroUsize", + "source": "core::num::NonZeroUsize" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 28, + 81 + ], + "end": [ + 28, + 93 + ], + "filename": "std/src/num/mod.rs" + }, + "visibility": "public" + }, + "4813": { "attrs": [ { "other": "#[allow(missing_docs)]" @@ -424895,15 +443861,14 @@ "crate_id": 0, "deprecation": null, "docs": "Additional functionality for numerics.\n\nThis module provides some extra types that are useful when doing numerical\nwork. See the individual documentation for each piece for more information.", - "id": 4811, + "id": 4813, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 4770, 4772, - 4773, + 4774, 4775, 4777, 4779, @@ -424921,7 +443886,8 @@ 4803, 4805, 4807, - 4809 + 4809, + 4811 ] } }, @@ -424940,7 +443906,7 @@ }, "visibility": "public" }, - "4812": { + "4814": { "attrs": [ { "other": "#[rustc_doc_primitive = \"i8\"]" @@ -424952,13 +443918,13 @@ "crate_id": 0, "deprecation": null, "docs": "The 8-bit signed integer type.", - "id": 4812, + "id": 4814, "inner": { "primitive": { "impls": [ - 10157, - 10161, - 10164 + 10382, + 10386, + 10389 ], "name": "i8" } @@ -424978,7 +443944,7 @@ }, "visibility": "public" }, - "4813": { + "4815": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -424990,7 +443956,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `char` type.\n\n[C's `char` type] is completely unlike [Rust's `char` type]; while Rust's type represents a unicode scalar value, C's `char` type is just an ordinary integer. On modern architectures this type will always be either [`i8`] or [`u8`], as they use byte-addressed memory with 8-bit bytes.\n\nC chars are most commonly used to make C strings. Unlike Rust, where the length of a string is included alongside the string, C strings mark the end of a string with the character `'\\0'`. See `CStr` for more information.\n\n[C's `char` type]: https://en.wikipedia.org/wiki/C_data_types#Basic_types\n[Rust's `char` type]: char", - "id": 4813, + "id": 4815, "inner": { "type_alias": { "generics": { @@ -425000,16 +443966,16 @@ "type": { "resolved_path": { "args": null, - "id": 2357, + "id": 2355, "path": "core::ffi::c_char" } } } }, "links": { - "`i8`": 4812, - "`u8`": 2398, - "char": 2397 + "`i8`": 4814, + "`u8`": 2396, + "char": 2395 }, "name": "c_char", "span": { @@ -425025,7 +443991,7 @@ }, "visibility": "public" }, - "4814": { + "4816": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425037,7 +444003,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `signed char` type.\n\nThis type will always be [`i8`], but is included for completeness. It is defined as being a signed integer the same size as a C [`char`].\n\n[`char`]: c_char", - "id": 4814, + "id": 4816, "inner": { "type_alias": { "generics": { @@ -425047,15 +444013,15 @@ "type": { "resolved_path": { "args": null, - "id": 2369, + "id": 2367, "path": "core::ffi::c_schar" } } } }, "links": { - "`i8`": 4812, - "c_char": 4813 + "`i8`": 4814, + "c_char": 4815 }, "name": "c_schar", "span": { @@ -425071,7 +444037,7 @@ }, "visibility": "public" }, - "4815": { + "4817": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425083,7 +444049,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `unsigned char` type.\n\nThis type will always be [`u8`], but is included for completeness. It is defined as being an unsigned integer the same size as a C [`char`].\n\n[`char`]: c_char", - "id": 4815, + "id": 4817, "inner": { "type_alias": { "generics": { @@ -425093,15 +444059,15 @@ "type": { "resolved_path": { "args": null, - "id": 2373, + "id": 2371, "path": "core::ffi::c_uchar" } } } }, "links": { - "`u8`": 2398, - "c_char": 4813 + "`u8`": 2396, + "c_char": 4815 }, "name": "c_uchar", "span": { @@ -425117,7 +444083,7 @@ }, "visibility": "public" }, - "4816": { + "4818": { "attrs": [ { "other": "#[rustc_doc_primitive = \"i16\"]" @@ -425129,13 +444095,13 @@ "crate_id": 0, "deprecation": null, "docs": "The 16-bit signed integer type.", - "id": 4816, + "id": 4818, "inner": { "primitive": { "impls": [ - 10300, - 10304, - 10306 + 10529, + 10533, + 10535 ], "name": "i16" } @@ -425155,7 +444121,7 @@ }, "visibility": "public" }, - "4817": { + "4819": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425167,7 +444133,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `signed short` (`short`) type.\n\nThis type will almost always be [`i16`], but may differ on some esoteric systems. The C standard technically only requires that this type be a signed integer with at least 16 bits; some systems may define it as `i32`, for example.\n\n[`char`]: c_char", - "id": 4817, + "id": 4819, "inner": { "type_alias": { "generics": { @@ -425177,15 +444143,15 @@ "type": { "resolved_path": { "args": null, - "id": 2371, + "id": 2369, "path": "core::ffi::c_short" } } } }, "links": { - "`i16`": 4816, - "c_char": 4813 + "`i16`": 4818, + "c_char": 4815 }, "name": "c_short", "span": { @@ -425201,7 +444167,44 @@ }, "visibility": "public" }, - "4818": { + "482": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 482, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 306, + "path": "Builder" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4820": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425213,7 +444216,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `unsigned short` type.\n\nThis type will almost always be [`u16`], but may differ on some esoteric systems. The C standard technically only requires that this type be an unsigned integer with the same size as a [`short`].\n\n[`short`]: c_short", - "id": 4818, + "id": 4820, "inner": { "type_alias": { "generics": { @@ -425223,15 +444226,15 @@ "type": { "resolved_path": { "args": null, - "id": 2381, + "id": 2379, "path": "core::ffi::c_ushort" } } } }, "links": { - "`u16`": 2404, - "c_short": 4817 + "`u16`": 2402, + "c_short": 4819 }, "name": "c_ushort", "span": { @@ -425247,7 +444250,7 @@ }, "visibility": "public" }, - "4819": { + "4821": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425259,7 +444262,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `signed int` (`int`) type.\n\nThis type will almost always be [`i32`], but may differ on some esoteric systems. The C standard technically only requires that this type be a signed integer that is at least the size of a [`short`]; some systems define it as an [`i16`], for example.\n\n[`short`]: c_short", - "id": 4819, + "id": 4821, "inner": { "type_alias": { "generics": { @@ -425269,16 +444272,16 @@ "type": { "resolved_path": { "args": null, - "id": 2363, + "id": 2361, "path": "core::ffi::c_int" } } } }, "links": { - "`i16`": 4816, - "`i32`": 3367, - "c_short": 4817 + "`i16`": 4818, + "`i32`": 3366, + "c_short": 4819 }, "name": "c_int", "span": { @@ -425294,44 +444297,7 @@ }, "visibility": "public" }, - "482": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 482, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 308, - "path": "Builder" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "4820": { + "4822": { "attrs": [ { "other": "#[rustc_doc_primitive = \"u32\"]" @@ -425343,13 +444309,13 @@ "crate_id": 0, "deprecation": null, "docs": "The 32-bit unsigned integer type.", - "id": 4820, + "id": 4822, "inner": { "primitive": { "impls": [ - 11143, - 11147, - 11149 + 11402, + 11406, + 11408 ], "name": "u32" } @@ -425369,7 +444335,7 @@ }, "visibility": "public" }, - "4821": { + "4823": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425381,7 +444347,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `unsigned int` type.\n\nThis type will almost always be [`u32`], but may differ on some esoteric systems. The C standard technically only requires that this type be an unsigned integer with the same size as an [`int`]; some systems define it as a [`u16`], for example.\n\n[`int`]: c_int", - "id": 4821, + "id": 4823, "inner": { "type_alias": { "generics": { @@ -425391,16 +444357,16 @@ "type": { "resolved_path": { "args": null, - "id": 2375, + "id": 2373, "path": "core::ffi::c_uint" } } } }, "links": { - "`u16`": 2404, - "`u32`": 4820, - "c_int": 4819 + "`u16`": 2402, + "`u32`": 4822, + "c_int": 4821 }, "name": "c_uint", "span": { @@ -425416,7 +444382,7 @@ }, "visibility": "public" }, - "4822": { + "4824": { "attrs": [ { "other": "#[rustc_doc_primitive = \"i64\"]" @@ -425428,13 +444394,13 @@ "crate_id": 0, "deprecation": null, "docs": "The 64-bit signed integer type.", - "id": 4822, + "id": 4824, "inner": { "primitive": { "impls": [ - 10584, - 10588, - 10590 + 10821, + 10825, + 10827 ], "name": "i64" } @@ -425454,7 +444420,7 @@ }, "visibility": "public" }, - "4823": { + "4825": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425466,7 +444432,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `signed long` (`long`) type.\n\nThis type will always be [`i32`] or [`i64`]. Most notably, many Linux-based systems assume an `i64`, but Windows assumes `i32`. The C standard technically only requires that this type be a signed integer that is at least 32 bits and at least the size of an [`int`], although in practice, no system would have a `long` that is neither an `i32` nor `i64`.\n\n[`int`]: c_int", - "id": 4823, + "id": 4825, "inner": { "type_alias": { "generics": { @@ -425476,16 +444442,16 @@ "type": { "resolved_path": { "args": null, - "id": 2365, + "id": 2363, "path": "core::ffi::c_long" } } } }, "links": { - "`i32`": 3367, - "`i64`": 4822, - "c_int": 4819 + "`i32`": 3366, + "`i64`": 4824, + "c_int": 4821 }, "name": "c_long", "span": { @@ -425501,7 +444467,7 @@ }, "visibility": "public" }, - "4824": { + "4826": { "attrs": [ { "other": "#[rustc_doc_primitive = \"u64\"]" @@ -425513,13 +444479,13 @@ "crate_id": 0, "deprecation": null, "docs": "The 64-bit unsigned integer type.", - "id": 4824, + "id": 4826, "inner": { "primitive": { "impls": [ - 11276, - 11280, - 11282 + 11541, + 11545, + 11547 ], "name": "u64" } @@ -425539,7 +444505,7 @@ }, "visibility": "public" }, - "4825": { + "4827": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425551,7 +444517,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `unsigned long` type.\n\nThis type will always be [`u32`] or [`u64`]. Most notably, many Linux-based systems assume an `u64`, but Windows assumes `u32`. The C standard technically only requires that this type be an unsigned integer with the size of a [`long`], although in practice, no system would have a `ulong` that is neither a `u32` nor `u64`.\n\n[`long`]: c_long", - "id": 4825, + "id": 4827, "inner": { "type_alias": { "generics": { @@ -425561,16 +444527,16 @@ "type": { "resolved_path": { "args": null, - "id": 2377, + "id": 2375, "path": "core::ffi::c_ulong" } } } }, "links": { - "`u32`": 4820, - "`u64`": 4824, - "c_long": 4823 + "`u32`": 4822, + "`u64`": 4826, + "c_long": 4825 }, "name": "c_ulong", "span": { @@ -425586,7 +444552,7 @@ }, "visibility": "public" }, - "4826": { + "4828": { "attrs": [ { "other": "#[rustc_doc_primitive = \"i128\"]" @@ -425598,13 +444564,13 @@ "crate_id": 0, "deprecation": null, "docs": "The 128-bit signed integer type.\n\n# ABI compatibility\n\nRust's `i128` is expected to be ABI-compatible with C's `__int128` on platforms where the type\nis available, which includes most 64-bit architectures. If any platforms that do not specify\n`__int128` are updated to introduce it, the Rust `i128` ABI on relevant targets will be changed\nto match.\n\nIt is important to note that in C, `__int128` is _not_ the same as `_BitInt(128)`, and the two\ntypes are allowed to have different ABIs. In particular, on x86, `__int128` and `_BitInt(128)`\ndo not use the same alignment. `i128` is intended to always match `__int128` and does not\nattempt to match `_BitInt(128)` on platforms without `__int128`.", - "id": 4826, + "id": 4828, "inner": { "primitive": { "impls": [ - 10726, - 10730, - 10732 + 10967, + 10971, + 10973 ], "name": "i128" } @@ -425624,7 +444590,7 @@ }, "visibility": "public" }, - "4827": { + "4829": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425636,7 +444602,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `signed long long` (`long long`) type.\n\nThis type will almost always be [`i64`], but may differ on some systems. The C standard technically only requires that this type be a signed integer that is at least 64 bits and at least the size of a [`long`], although in practice, no system would have a `long long` that is not an `i64`, as most systems do not have a standardised [`i128`] type.\n\n[`long`]: c_int", - "id": 4827, + "id": 4829, "inner": { "type_alias": { "generics": { @@ -425646,16 +444612,16 @@ "type": { "resolved_path": { "args": null, - "id": 2367, + "id": 2365, "path": "core::ffi::c_longlong" } } } }, "links": { - "`i128`": 4826, - "`i64`": 4822, - "c_int": 4819 + "`i128`": 4828, + "`i64`": 4824, + "c_int": 4821 }, "name": "c_longlong", "span": { @@ -425671,7 +444637,44 @@ }, "visibility": "public" }, - "4828": { + "483": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 483, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 306, + "path": "Builder" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "4830": { "attrs": [ { "other": "#[rustc_doc_primitive = \"u128\"]" @@ -425683,19 +444686,19 @@ "crate_id": 0, "deprecation": null, "docs": "The 128-bit unsigned integer type.\n\nPlease see [the documentation for `i128`](prim@i128) for information on ABI compatibility.", - "id": 4828, + "id": 4830, "inner": { "primitive": { "impls": [ - 11409, - 11413, - 11415 + 11680, + 11684, + 11686 ], "name": "u128" } }, "links": { - "prim@i128": 4826 + "prim@i128": 4828 }, "name": "u128", "span": { @@ -425711,7 +444714,7 @@ }, "visibility": "public" }, - "4829": { + "4831": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425723,7 +444726,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `unsigned long long` type.\n\nThis type will almost always be [`u64`], but may differ on some systems. The C standard technically only requires that this type be an unsigned integer with the size of a [`long long`], although in practice, no system would have a `long long` that is not a `u64`, as most systems do not have a standardised [`u128`] type.\n\n[`long long`]: c_longlong", - "id": 4829, + "id": 4831, "inner": { "type_alias": { "generics": { @@ -425733,16 +444736,16 @@ "type": { "resolved_path": { "args": null, - "id": 2379, + "id": 2377, "path": "core::ffi::c_ulonglong" } } } }, "links": { - "`u128`": 4828, - "`u64`": 4824, - "c_longlong": 4827 + "`u128`": 4830, + "`u64`": 4826, + "c_longlong": 4829 }, "name": "c_ulonglong", "span": { @@ -425758,102 +444761,7 @@ }, "visibility": "public" }, - "483": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 483, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 308, - "path": "Builder" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "4830": { + "4832": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425865,7 +444773,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `float` type.\n\nThis type will almost always be [`f32`], which is guaranteed to be an [IEEE 754 single-precision float] in Rust. That said, the standard technically only guarantees that it be a floating-point number, and it may have less precision than `f32` or not follow the IEEE-754 standard at all.\n\n[IEEE 754 single-precision float]: https://en.wikipedia.org/wiki/IEEE_754", - "id": 4830, + "id": 4832, "inner": { "type_alias": { "generics": { @@ -425875,14 +444783,14 @@ "type": { "resolved_path": { "args": null, - "id": 2361, + "id": 2359, "path": "core::ffi::c_float" } } } }, "links": { - "`f32`": 267 + "`f32`": 265 }, "name": "c_float", "span": { @@ -425898,7 +444806,7 @@ }, "visibility": "public" }, - "4831": { + "4833": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -425910,7 +444818,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `double` type.\n\nThis type will almost always be [`f64`], which is guaranteed to be an [IEEE 754 double-precision float] in Rust. That said, the standard technically only guarantees that it be a floating-point number with at least the precision of a [`float`], and it may be `f32` or something entirely different from the IEEE-754 standard.\n\n[IEEE 754 double-precision float]: https://en.wikipedia.org/wiki/IEEE_754\n[`float`]: c_float", - "id": 4831, + "id": 4833, "inner": { "type_alias": { "generics": { @@ -425920,15 +444828,15 @@ "type": { "resolved_path": { "args": null, - "id": 2359, + "id": 2357, "path": "core::ffi::c_double" } } } }, "links": { - "`f64`": 299, - "c_float": 4830 + "`f64`": 297, + "c_float": 4832 }, "name": "c_double", "span": { @@ -425944,7 +444852,7 @@ }, "visibility": "public" }, - "4832": { + "4834": { "attrs": [ { "other": "#[rustc_doc_primitive = \"pointer\"]" @@ -425968,7 +444876,7 @@ "crate_id": 0, "deprecation": null, "docs": "Raw, unsafe pointers, `*const T`, and `*mut T`.\n\n*[See also the `std::ptr` module](ptr).*\n\nWorking with raw pointers in Rust is uncommon, typically limited to a few patterns. Raw pointers\ncan be out-of-bounds, unaligned, or [`null`]. However, when loading from or storing to a raw\npointer, it must be [valid] for the given access and aligned. When using a field expression,\ntuple index expression, or array/slice index expression on a raw pointer, it follows the rules\nof [in-bounds pointer arithmetic][`offset`].\n\nStoring through a raw pointer using `*ptr = data` calls `drop` on the old value, so\n[`write`] must be used if the type has drop glue and memory is not already\ninitialized - otherwise `drop` would be called on the uninitialized memory.\n\nUse the [`null`] and [`null_mut`] functions to create null pointers, and the\n[`is_null`] method of the `*const T` and `*mut T` types to check for null.\nThe `*const T` and `*mut T` types also define the [`offset`] method, for\npointer math.\n\n# Common ways to create raw pointers\n\n## 1. Coerce a reference (`&T`) or mutable reference (`&mut T`).\n\n```\nlet my_num: i32 = 10;\nlet my_num_ptr: *const i32 = &my_num;\nlet mut my_speed: i32 = 88;\nlet my_speed_ptr: *mut i32 = &mut my_speed;\n```\n\nTo get a pointer to a boxed value, dereference the box:\n\n```\nlet my_num: Box = Box::new(10);\nlet my_num_ptr: *const i32 = &*my_num;\nlet mut my_speed: Box = Box::new(88);\nlet my_speed_ptr: *mut i32 = &mut *my_speed;\n```\n\nThis does not take ownership of the original allocation\nand requires no resource management later,\nbut you must not use the pointer after its lifetime.\n\n## 2. Consume a box (`Box`).\n\nThe [`into_raw`] function consumes a box and returns\nthe raw pointer. It doesn't destroy `T` or deallocate any memory.\n\n```\nlet my_speed: Box = Box::new(88);\nlet my_speed: *mut i32 = Box::into_raw(my_speed);\n\n// By taking ownership of the original `Box` though\n// we are obligated to put it together later to be destroyed.\nunsafe {\n drop(Box::from_raw(my_speed));\n}\n```\n\nNote that here the call to [`drop`] is for clarity - it indicates\nthat we are done with the given value and it should be destroyed.\n\n## 3. Create it using `&raw`\n\nInstead of coercing a reference to a raw pointer, you can use the raw borrow\noperators `&raw const` (for `*const T`) and `&raw mut` (for `*mut T`).\nThese operators allow you to create raw pointers to fields to which you cannot\ncreate a reference (without causing undefined behavior), such as an\nunaligned field. This might be necessary if packed structs or uninitialized\nmemory is involved.\n\n```\n#[derive(Debug, Default, Copy, Clone)]\n#[repr(C, packed)]\nstruct S {\n aligned: u8,\n unaligned: u32,\n}\nlet s = S::default();\nlet p = &raw const s.unaligned; // not allowed with coercion\n```\n\n## 4. Get it from C.\n\n```\n# mod libc {\n# pub unsafe fn malloc(_size: usize) -> *mut core::ffi::c_void { core::ptr::NonNull::dangling().as_ptr() }\n# pub unsafe fn free(_ptr: *mut core::ffi::c_void) {}\n# }\n# #[cfg(any())]\n#[allow(unused_extern_crates)]\nextern crate libc;\n\nunsafe {\n let my_num: *mut i32 = libc::malloc(size_of::()) as *mut i32;\n if my_num.is_null() {\n panic!(\"failed to allocate memory\");\n }\n libc::free(my_num as *mut core::ffi::c_void);\n}\n```\n\nUsually you wouldn't literally use `malloc` and `free` from Rust,\nbut C APIs hand out a lot of pointers generally, so are a common source\nof raw pointers in Rust.\n\n[`null`]: ptr::null\n[`null_mut`]: ptr::null_mut\n[`is_null`]: pointer::is_null\n[`offset`]: pointer::offset\n[`into_raw`]: ../std/boxed/struct.Box.html#method.into_raw\n[`write`]: ptr::write\n[valid]: ptr#safety", - "id": 4832, + "id": 4834, "inner": { "primitive": { "impls": [], @@ -425977,13 +444885,13 @@ }, "links": { "`drop`": 23, - "pointer::is_null": 9149, - "pointer::offset": 9146, - "ptr": 9144, - "ptr#safety": 9144, - "ptr::null": 9145, - "ptr::null_mut": 9148, - "ptr::write": 9147 + "pointer::is_null": 9371, + "pointer::offset": 9368, + "ptr": 9366, + "ptr#safety": 9366, + "ptr::null": 9367, + "ptr::null_mut": 9370, + "ptr::write": 9369 }, "name": "pointer", "span": { @@ -425999,7 +444907,7 @@ }, "visibility": "public" }, - "4833": { + "4835": { "attrs": [ { "other": "#[doc(cfg(all()))]" @@ -426011,7 +444919,7 @@ "crate_id": 0, "deprecation": null, "docs": "Equivalent to C's `void` type when used as a [pointer].\n\nIn essence, `*const c_void` is equivalent to C's `const void*`\nand `*mut c_void` is equivalent to C's `void*`. That said, this is\n*not* the same as C's `void` return type, which is Rust's `()` type.\n\nTo model pointers to opaque types in FFI, until `extern type` is\nstabilized, it is recommended to use a newtype wrapper around an empty\nbyte array. See the [Nomicon] for details.\n\nOne could use `std::os::raw::c_void` if they want to support old Rust\ncompiler down to 1.1.0. After Rust 1.30.0, it was re-exported by\nthis definition. For more information, please read [RFC 2521].\n\n[Nomicon]: https://doc.rust-lang.org/nomicon/ffi.html#representing-opaque-structs\n[RFC 2521]: https://github.com/rust-lang/rfcs/blob/master/text/2521-c_void-reunification.md", - "id": 4833, + "id": 4835, "inner": { "type_alias": { "generics": { @@ -426021,14 +444929,14 @@ "type": { "resolved_path": { "args": null, - "id": 2349, + "id": 2347, "path": "core::ffi::c_void" } } } }, "links": { - "pointer": 4832 + "pointer": 4834 }, "name": "c_void", "span": { @@ -426044,7 +444952,7 @@ }, "visibility": "public" }, - "4835": { + "4837": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_os\"}}]" @@ -426053,31 +444961,31 @@ "crate_id": 0, "deprecation": null, "docs": "Compatibility module for C platform-specific types. Use [`core::ffi`] instead.", - "id": 4835, + "id": 4837, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 4813, - 4814, 4815, + 4816, 4817, - 4818, 4819, + 4820, 4821, 4823, 4825, 4827, 4829, - 4830, 4831, - 4833 + 4832, + 4833, + 4835 ] } }, "links": { - "`core::ffi`": 4834 + "`core::ffi`": 4836 }, "name": "raw", "span": { @@ -426093,7 +445001,7 @@ }, "visibility": "public" }, - "4836": { + "4838": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -426114,7 +445022,7 @@ "since": "1.8.0" }, "docs": "Gain a reference to the underlying `stat` structure which contains\nthe raw information returned by the OS.\n\nThe contents of the returned `stat` are **not** consistent across\nUnix platforms. The `os::unix::fs::MetadataExt` trait contains the\ncross-Unix abstractions contained within the raw stat.", - "id": 4836, + "id": 4838, "inner": { "function": { "generics": { @@ -426175,7 +445083,7 @@ }, "visibility": "default" }, - "4837": { + "4839": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -426184,7 +445092,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4837, + "id": 4839, "inner": { "function": { "generics": { @@ -426235,126 +445143,6 @@ }, "visibility": "default" }, - "4838": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4838, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u64" - } - } - } - }, - "links": {}, - "name": "st_ino", - "span": { - "begin": [ - 37, - 5 - ], - "end": [ - 37, - 29 - ], - "filename": "std/src/os/darwin/fs.rs" - }, - "visibility": "default" - }, - "4839": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4839, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "st_mode", - "span": { - "begin": [ - 39, - 5 - ], - "end": [ - 39, - 30 - ], - "filename": "std/src/os/darwin/fs.rs" - }, - "visibility": "default" - }, "484": { "attrs": [], "crate_id": 0, @@ -426369,7 +445157,7 @@ "for": { "resolved_path": { "args": null, - "id": 308, + "id": 306, "path": "Builder" } }, @@ -426414,7 +445202,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 319 ], "provided_trait_methods": [], "trait": { @@ -426430,8 +445218,8 @@ "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 321, + "path": "Borrow" } } }, @@ -426439,12 +445227,12 @@ "name": null, "span": { "begin": [ - 217, + 212, 1 ], "end": [ - 217, - 35 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -426496,15 +445284,15 @@ } }, "links": {}, - "name": "st_nlink", + "name": "st_ino", "span": { "begin": [ - 41, + 37, 5 ], "end": [ - 41, - 31 + 37, + 29 ], "filename": "std/src/os/darwin/fs.rs" }, @@ -426556,15 +445344,15 @@ } }, "links": {}, - "name": "st_uid", + "name": "st_mode", "span": { "begin": [ - 43, + 39, 5 ], "end": [ - 43, - 29 + 39, + 30 ], "filename": "std/src/os/darwin/fs.rs" }, @@ -426610,21 +445398,21 @@ ], "is_c_variadic": false, "output": { - "primitive": "u32" + "primitive": "u64" } } } }, "links": {}, - "name": "st_gid", + "name": "st_nlink", "span": { "begin": [ - 45, + 41, 5 ], "end": [ - 45, - 29 + 41, + 31 ], "filename": "std/src/os/darwin/fs.rs" }, @@ -426670,21 +445458,21 @@ ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u32" } } } }, "links": {}, - "name": "st_rdev", + "name": "st_uid", "span": { "begin": [ - 47, + 43, 5 ], "end": [ - 47, - 30 + 43, + 29 ], "filename": "std/src/os/darwin/fs.rs" }, @@ -426730,21 +445518,21 @@ ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u32" } } } }, "links": {}, - "name": "st_size", + "name": "st_gid", "span": { "begin": [ - 49, + 45, 5 ], "end": [ - 49, - 30 + 45, + 29 ], "filename": "std/src/os/darwin/fs.rs" }, @@ -426790,21 +445578,21 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "u64" } } } }, "links": {}, - "name": "st_atime", + "name": "st_rdev", "span": { "begin": [ - 51, + 47, 5 ], "end": [ - 51, - 31 + 47, + 30 ], "filename": "std/src/os/darwin/fs.rs" }, @@ -426850,21 +445638,21 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "u64" } } } }, "links": {}, - "name": "st_atime_nsec", + "name": "st_size", "span": { "begin": [ - 53, + 49, 5 ], "end": [ - 53, - 36 + 49, + 30 ], "filename": "std/src/os/darwin/fs.rs" }, @@ -426916,14 +445704,14 @@ } }, "links": {}, - "name": "st_mtime", + "name": "st_atime", "span": { "begin": [ - 55, + 51, 5 ], "end": [ - 55, + 51, 31 ], "filename": "std/src/os/darwin/fs.rs" @@ -426976,14 +445764,14 @@ } }, "links": {}, - "name": "st_mtime_nsec", + "name": "st_atime_nsec", "span": { "begin": [ - 57, + 53, 5 ], "end": [ - 57, + 53, 36 ], "filename": "std/src/os/darwin/fs.rs" @@ -427036,14 +445824,14 @@ } }, "links": {}, - "name": "st_ctime", + "name": "st_mtime", "span": { "begin": [ - 59, + 55, 5 ], "end": [ - 59, + 55, 31 ], "filename": "std/src/os/darwin/fs.rs" @@ -427064,7 +445852,7 @@ "for": { "resolved_path": { "args": null, - "id": 308, + "id": 306, "path": "Builder" } }, @@ -427079,16 +445867,6 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ @@ -427098,29 +445876,18 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -427130,7 +445897,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 322 ], "provided_trait_methods": [], "trait": { @@ -427139,15 +445906,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 324, + "path": "BorrowMut" } } }, @@ -427155,14 +445922,14 @@ "name": null, "span": { "begin": [ - 773, + 221, 1 ], "end": [ - 775, - 24 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, @@ -427212,6 +445979,126 @@ } }, "links": {}, + "name": "st_mtime_nsec", + "span": { + "begin": [ + 57, + 5 + ], + "end": [ + 57, + 36 + ], + "filename": "std/src/os/darwin/fs.rs" + }, + "visibility": "default" + }, + "4851": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4851, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i64" + } + } + } + }, + "links": {}, + "name": "st_ctime", + "span": { + "begin": [ + 59, + 5 + ], + "end": [ + 59, + 31 + ], + "filename": "std/src/os/darwin/fs.rs" + }, + "visibility": "default" + }, + "4852": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4852, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i64" + } + } + } + }, + "links": {}, "name": "st_ctime_nsec", "span": { "begin": [ @@ -427226,7 +446113,7 @@ }, "visibility": "default" }, - "4851": { + "4853": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -427235,7 +446122,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4851, + "id": 4853, "inner": { "function": { "generics": { @@ -427286,7 +446173,7 @@ }, "visibility": "default" }, - "4852": { + "4854": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -427295,7 +446182,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4852, + "id": 4854, "inner": { "function": { "generics": { @@ -427346,7 +446233,7 @@ }, "visibility": "default" }, - "4853": { + "4855": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -427355,7 +446242,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4853, + "id": 4855, "inner": { "function": { "generics": { @@ -427406,7 +446293,7 @@ }, "visibility": "default" }, - "4854": { + "4856": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -427415,7 +446302,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4854, + "id": 4856, "inner": { "function": { "generics": { @@ -427466,7 +446353,7 @@ }, "visibility": "default" }, - "4855": { + "4857": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -427475,7 +446362,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4855, + "id": 4857, "inner": { "function": { "generics": { @@ -427526,7 +446413,7 @@ }, "visibility": "default" }, - "4856": { + "4858": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -427535,7 +446422,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4856, + "id": 4858, "inner": { "function": { "generics": { @@ -427586,7 +446473,7 @@ }, "visibility": "default" }, - "4857": { + "4859": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -427595,7 +446482,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4857, + "id": 4859, "inner": { "function": { "generics": { @@ -427646,7 +446533,123 @@ }, "visibility": "default" }, - "4858": { + "486": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 486, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 306, + "path": "Builder" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "4860": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 75, patch: 0})}, feature: \"file_set_times\"}}]" @@ -427655,7 +446658,7 @@ "crate_id": 0, "deprecation": null, "docs": "Set the creation time of a file.", - "id": 4858, + "id": 4860, "inner": { "function": { "generics": { @@ -427682,7 +446685,7 @@ { "resolved_path": { "args": null, - "id": 2448, + "id": 2446, "path": "SystemTime" } } @@ -427710,7 +446713,7 @@ }, "visibility": "default" }, - "4859": { + "4861": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -427719,7 +446722,7 @@ "crate_id": 0, "deprecation": null, "docs": "Darwin-specific extension traits to [`fs`].\n\n[`fs`]: crate::fs", - "id": 4859, + "id": 4861, "inner": { "module": { "is_crate": false, @@ -427731,7 +446734,7 @@ } }, "links": { - "crate::fs": 2424 + "crate::fs": 2422 }, "name": "fs", "span": { @@ -427747,80 +446750,39 @@ }, "visibility": "public" }, - "486": { - "attrs": [], + "4862": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 145496, is_soft: false}, feature: \"darwin_objc\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 486, + "docs": "Defines types and macros for Objective-C interoperability.\n\nThis module re-exports all the items in [`core::os::darwin::objc`].\n\n[`core::os::darwin::objc`]: ../../../../core/os/darwin/objc/index.html \"mod core::os::darwin::objc\"", + "id": 4862, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 308, - "path": "Builder" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } + "module": { + "is_crate": false, + "is_stripped": false, + "items": [] } }, "links": {}, - "name": null, + "name": "objc", "span": { "begin": [ - 791, + 1, 1 ], "end": [ - 791, - 28 + 13, + 35 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/os/darwin/objc.rs" }, - "visibility": "default" + "visibility": "public" }, - "4860": { + "4863": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -427829,7 +446791,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4860, + "id": 4863, "inner": { "struct_field": { "primitive": "i32" @@ -427850,7 +446812,7 @@ }, "visibility": "public" }, - "4861": { + "4864": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -427859,7 +446821,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4861, + "id": 4864, "inner": { "struct_field": { "primitive": "u16" @@ -427880,7 +446842,7 @@ }, "visibility": "public" }, - "4862": { + "4865": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -427889,7 +446851,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4862, + "id": 4865, "inner": { "struct_field": { "primitive": "u16" @@ -427910,7 +446872,7 @@ }, "visibility": "public" }, - "4863": { + "4866": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -427919,7 +446881,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4863, + "id": 4866, "inner": { "struct_field": { "primitive": "u64" @@ -427940,7 +446902,7 @@ }, "visibility": "public" }, - "4864": { + "4867": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -427949,7 +446911,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4864, + "id": 4867, "inner": { "struct_field": { "primitive": "u32" @@ -427970,7 +446932,7 @@ }, "visibility": "public" }, - "4865": { + "4868": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -427979,7 +446941,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4865, + "id": 4868, "inner": { "struct_field": { "primitive": "u32" @@ -428000,7 +446962,7 @@ }, "visibility": "public" }, - "4866": { + "4869": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -428009,7 +446971,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4866, + "id": 4869, "inner": { "struct_field": { "primitive": "i32" @@ -428030,108 +446992,6 @@ }, "visibility": "public" }, - "4867": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4867, - "inner": { - "struct_field": { - "resolved_path": { - "args": null, - "id": 4823, - "path": "crate::os::raw::c_long" - } - } - }, - "links": {}, - "name": "st_atime", - "span": { - "begin": [ - 44, - 5 - ], - "end": [ - 44, - 25 - ], - "filename": "std/src/os/darwin/raw.rs" - }, - "visibility": "public" - }, - "4868": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4868, - "inner": { - "struct_field": { - "resolved_path": { - "args": null, - "id": 4823, - "path": "crate::os::raw::c_long" - } - } - }, - "links": {}, - "name": "st_atime_nsec", - "span": { - "begin": [ - 46, - 5 - ], - "end": [ - 46, - 30 - ], - "filename": "std/src/os/darwin/raw.rs" - }, - "visibility": "public" - }, - "4869": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4869, - "inner": { - "struct_field": { - "resolved_path": { - "args": null, - "id": 4823, - "path": "crate::os::raw::c_long" - } - } - }, - "links": {}, - "name": "st_mtime", - "span": { - "begin": [ - 48, - 5 - ], - "end": [ - 48, - 25 - ], - "filename": "std/src/os/darwin/raw.rs" - }, - "visibility": "public" - }, "487": { "attrs": [], "crate_id": 0, @@ -428146,7 +447006,7 @@ "for": { "resolved_path": { "args": null, - "id": 308, + "id": 306, "path": "Builder" } }, @@ -428161,59 +447021,15 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 327 ], "provided_trait_methods": [], "trait": { @@ -428222,15 +447038,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 37, + "path": "From" } } }, @@ -428238,12 +447054,12 @@ "name": null, "span": { "begin": [ - 817, + 785, 1 ], "end": [ - 819, - 27 + 785, + 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -428263,21 +447079,21 @@ "struct_field": { "resolved_path": { "args": null, - "id": 4823, + "id": 4825, "path": "crate::os::raw::c_long" } } }, "links": {}, - "name": "st_mtime_nsec", + "name": "st_atime", "span": { "begin": [ - 50, + 44, 5 ], "end": [ - 50, - 30 + 44, + 25 ], "filename": "std/src/os/darwin/raw.rs" }, @@ -428297,21 +447113,21 @@ "struct_field": { "resolved_path": { "args": null, - "id": 4823, + "id": 4825, "path": "crate::os::raw::c_long" } } }, "links": {}, - "name": "st_ctime", + "name": "st_atime_nsec", "span": { "begin": [ - 52, + 46, 5 ], "end": [ - 52, - 25 + 46, + 30 ], "filename": "std/src/os/darwin/raw.rs" }, @@ -428331,21 +447147,21 @@ "struct_field": { "resolved_path": { "args": null, - "id": 4823, + "id": 4825, "path": "crate::os::raw::c_long" } } }, "links": {}, - "name": "st_ctime_nsec", + "name": "st_mtime", "span": { "begin": [ - 54, + 48, 5 ], "end": [ - 54, - 30 + 48, + 25 ], "filename": "std/src/os/darwin/raw.rs" }, @@ -428365,21 +447181,21 @@ "struct_field": { "resolved_path": { "args": null, - "id": 4823, + "id": 4825, "path": "crate::os::raw::c_long" } } }, "links": {}, - "name": "st_birthtime", + "name": "st_mtime_nsec", "span": { "begin": [ - 56, + 50, 5 ], "end": [ - 56, - 29 + 50, + 30 ], "filename": "std/src/os/darwin/raw.rs" }, @@ -428399,21 +447215,21 @@ "struct_field": { "resolved_path": { "args": null, - "id": 4823, + "id": 4825, "path": "crate::os::raw::c_long" } } }, "links": {}, - "name": "st_birthtime_nsec", + "name": "st_ctime", "span": { "begin": [ - 58, + 52, 5 ], "end": [ - 58, - 34 + 52, + 25 ], "filename": "std/src/os/darwin/raw.rs" }, @@ -428431,19 +447247,23 @@ "id": 4875, "inner": { "struct_field": { - "primitive": "i64" + "resolved_path": { + "args": null, + "id": 4825, + "path": "crate::os::raw::c_long" + } } }, "links": {}, - "name": "st_size", + "name": "st_ctime_nsec", "span": { "begin": [ - 60, + 54, 5 ], "end": [ - 60, - 21 + 54, + 30 ], "filename": "std/src/os/darwin/raw.rs" }, @@ -428461,19 +447281,23 @@ "id": 4876, "inner": { "struct_field": { - "primitive": "i64" + "resolved_path": { + "args": null, + "id": 4825, + "path": "crate::os::raw::c_long" + } } }, "links": {}, - "name": "st_blocks", + "name": "st_birthtime", "span": { "begin": [ - 62, + 56, 5 ], "end": [ - 62, - 23 + 56, + 29 ], "filename": "std/src/os/darwin/raw.rs" }, @@ -428491,19 +447315,23 @@ "id": 4877, "inner": { "struct_field": { - "primitive": "i32" + "resolved_path": { + "args": null, + "id": 4825, + "path": "crate::os::raw::c_long" + } } }, "links": {}, - "name": "st_blksize", + "name": "st_birthtime_nsec", "span": { "begin": [ - 64, + 58, 5 ], "end": [ - 64, - 24 + 58, + 34 ], "filename": "std/src/os/darwin/raw.rs" }, @@ -428521,19 +447349,19 @@ "id": 4878, "inner": { "struct_field": { - "primitive": "u32" + "primitive": "i64" } }, "links": {}, - "name": "st_flags", + "name": "st_size", "span": { "begin": [ - 66, + 60, 5 ], "end": [ - 66, - 22 + 60, + 21 ], "filename": "std/src/os/darwin/raw.rs" }, @@ -428551,19 +447379,19 @@ "id": 4879, "inner": { "struct_field": { - "primitive": "u32" + "primitive": "i64" } }, "links": {}, - "name": "st_gen", + "name": "st_blocks", "span": { "begin": [ - 68, + 62, 5 ], "end": [ - 68, - 20 + 62, + 23 ], "filename": "std/src/os/darwin/raw.rs" }, @@ -428583,7 +447411,7 @@ "for": { "resolved_path": { "args": null, - "id": 308, + "id": 306, "path": "Builder" } }, @@ -428631,8 +447459,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 197, + "path": "TryFrom" } } } @@ -428649,8 +447477,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -428666,8 +447494,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 198, + "path": "TryInto" } } }, @@ -428675,12 +447503,12 @@ "name": null, "span": { "begin": [ - 833, + 811, 1 ], "end": [ - 835, - 24 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -428702,6 +447530,96 @@ } }, "links": {}, + "name": "st_blksize", + "span": { + "begin": [ + 64, + 5 + ], + "end": [ + 64, + 24 + ], + "filename": "std/src/os/darwin/raw.rs" + }, + "visibility": "public" + }, + "4881": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4881, + "inner": { + "struct_field": { + "primitive": "u32" + } + }, + "links": {}, + "name": "st_flags", + "span": { + "begin": [ + 66, + 5 + ], + "end": [ + 66, + 22 + ], + "filename": "std/src/os/darwin/raw.rs" + }, + "visibility": "public" + }, + "4882": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4882, + "inner": { + "struct_field": { + "primitive": "u32" + } + }, + "links": {}, + "name": "st_gen", + "span": { + "begin": [ + 68, + 5 + ], + "end": [ + 68, + 20 + ], + "filename": "std/src/os/darwin/raw.rs" + }, + "visibility": "public" + }, + "4883": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4883, + "inner": { + "struct_field": { + "primitive": "i32" + } + }, + "links": {}, "name": "st_lspare", "span": { "begin": [ @@ -428716,7 +447634,7 @@ }, "visibility": "public" }, - "4881": { + "4884": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -428725,7 +447643,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4881, + "id": 4884, "inner": { "struct_field": { "array": { @@ -428751,7 +447669,7 @@ }, "visibility": "public" }, - "4883": { + "4886": { "attrs": [ { "other": "#[(not(all(doc,\nany(all(target_arch = \"wasm32\", not(target_os = \"wasi\")),\nall(target_vendor = \"fortanix\", target_env = \"sgx\")))))]" @@ -428769,13 +447687,14 @@ "crate_id": 0, "deprecation": null, "docs": "Platform-specific extensions to `std` for Darwin / Apple platforms.\n\nThis is available on the following operating systems:\n- macOS\n- iOS\n- tvOS\n- watchOS\n- visionOS\n\nNote: This module is called \"Darwin\" as that's the name of the underlying\ncore OS of the above operating systems, but it should not be confused with\nthe `-darwin` suffix in the `x86_64-apple-darwin` and\n`aarch64-apple-darwin` target names, which are mostly named that way for\nlegacy reasons.", - "id": 4883, + "id": 4886, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 4859 + 4861, + 4862 ] } }, @@ -428787,14 +447706,14 @@ 1 ], "end": [ - 23, + 25, 20 ], "filename": "std/src/os/darwin/mod.rs" }, "visibility": "public" }, - "4885": { + "4888": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -428803,10 +447722,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4885, + "id": 4888, "inner": { "use": { - "id": 2247, + "id": 2245, "is_glob": false, "name": "OsStrExt", "source": "self::os_str::OsStrExt" @@ -428827,7 +447746,7 @@ }, "visibility": "public" }, - "4886": { + "4889": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -428836,10 +447755,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4886, + "id": 4889, "inner": { "use": { - "id": 2089, + "id": 2087, "is_glob": false, "name": "OsStringExt", "source": "self::os_str::OsStringExt" @@ -428860,7 +447779,124 @@ }, "visibility": "public" }, - "4887": { + "489": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 489, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 306, + "path": "Builder" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "4890": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -428869,19 +447905,19 @@ "crate_id": 0, "deprecation": null, "docs": "Unix-specific extensions to primitives in the [`std::ffi`] module.\n\n# Examples\n\n```\nuse std::ffi::OsString;\nuse std::os::unix::ffi::OsStringExt;\n\nlet bytes = b\"foo\".to_vec();\n\n// OsStringExt::from_vec\nlet os_string = OsString::from_vec(bytes);\nassert_eq!(os_string.to_str(), Some(\"foo\"));\n\n// OsStringExt::into_vec\nlet bytes = os_string.into_vec();\nassert_eq!(bytes, b\"foo\");\n```\n\n```\nuse std::ffi::OsStr;\nuse std::os::unix::ffi::OsStrExt;\n\nlet bytes = b\"foo\";\n\n// OsStrExt::from_bytes\nlet os_str = OsStr::from_bytes(bytes);\nassert_eq!(os_str.to_str(), Some(\"foo\"));\n\n// OsStrExt::as_bytes\nlet bytes = os_str.as_bytes();\nassert_eq!(bytes, b\"foo\");\n```\n\n[`std::ffi`]: crate::ffi", - "id": 4887, + "id": 4890, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 4885, - 4886 + 4888, + 4889 ] } }, "links": { - "crate::ffi": 1934 + "crate::ffi": 1932 }, "name": "ffi", "span": { @@ -428897,7 +447933,7 @@ }, "visibility": "public" }, - "4888": { + "4891": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"file_offset\"}}]" @@ -428906,7 +447942,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reads a number of bytes starting from a given offset.\n\nReturns the number of bytes read.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nNote that similar to [`File::read`], it is not an error to return with a\nshort read.\n\n[`File::read`]: fs::File::read\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::fs::File;\nuse std::os::unix::prelude::FileExt;\n\nfn main() -> io::Result<()> {\n let mut buf = [0u8; 8];\n let file = File::open(\"foo.txt\")?;\n\n // We now read 8 bytes from the offset 10.\n let num_bytes_read = file.read_at(&mut buf, 10)?;\n println!(\"read {num_bytes_read} bytes: {buf:?}\");\n Ok(())\n}\n```", - "id": 4888, + "id": 4891, "inner": { "function": { "generics": { @@ -428935,14 +447971,124 @@ } ], [ - "buf", + "buf", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ], + [ + "offset", + { + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": { + "fs::File::read": 2409 + }, + "name": "read_at", + "span": { + "begin": [ + 60, + 5 + ], + "end": [ + 60, + 73 + ], + "filename": "std/src/os/unix/fs.rs" + }, + "visibility": "default" + }, + "4892": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 89517, is_soft: false}, feature: \"unix_file_vectored_at\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Like `read_at`, except that it reads into a slice of buffers.\n\nData is copied to fill each buffer in order, with the final buffer\nwritten to possibly being only partially filled. This method must behave\nequivalently to a single call to read with concatenated buffers.", + "id": 4892, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "bufs", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { "slice": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2466, + "path": "io::IoSliceMut" + } } } } @@ -428970,40 +448116,38 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } } } }, - "links": { - "fs::File::read": 2411 - }, - "name": "read_at", + "links": {}, + "name": "read_vectored_at", "span": { "begin": [ - 59, + 68, 5 ], "end": [ - 59, - 73 + 70, + 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4889": { + "4893": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 89517, is_soft: false}, feature: \"unix_file_vectored_at\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 33, patch: 0})}, feature: \"rw_exact_all_at\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Like `read_at`, except that it reads into a slice of buffers.\n\nData is copied to fill each buffer in order, with the final buffer\nwritten to possibly being only partially filled. This method must behave\nequivalently to a single call to read with concatenated buffers.", - "id": 4889, + "docs": "Reads the exact number of bytes required to fill `buf` from the given offset.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nSimilar to [`io::Read::read_exact`] but uses [`read_at`] instead of `read`.\n\n[`read_at`]: FileExt::read_at\n\n# Errors\n\nIf this function encounters an error of the kind\n[`io::ErrorKind::Interrupted`] then the error is ignored and the operation\nwill continue.\n\nIf this function encounters an \"end of file\" before completely filling\nthe buffer, it returns an error of the kind [`io::ErrorKind::UnexpectedEof`].\nThe contents of `buf` are unspecified in this case.\n\nIf any other read error is encountered then this function immediately\nreturns. The contents of `buf` are unspecified in this case.\n\nIf this function returns an error, it is unspecified how many bytes it\nhas read, but it will never read more than would be necessary to\ncompletely fill the buffer.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::fs::File;\nuse std::os::unix::prelude::FileExt;\n\nfn main() -> io::Result<()> {\n let mut buf = [0u8; 8];\n let file = File::open(\"foo.txt\")?;\n\n // We now read exactly 8 bytes from the offset 10.\n file.read_exact_at(&mut buf, 10)?;\n println!(\"read {} bytes: {:?}\", buf.len(), buf);\n Ok(())\n}\n```", + "id": 4893, "inner": { "function": { "generics": { @@ -429032,27 +448176,14 @@ } ], [ - "bufs", + "buf", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { "slice": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2468, - "path": "io::IoSliceMut" - } + "primitive": "u8" } } } @@ -429073,132 +448204,153 @@ "args": [ { "type": { - "primitive": "usize" + "tuple": [] } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } } } }, - "links": {}, - "name": "read_vectored_at", + "links": { + "FileExt::read_at": 4891, + "`io::ErrorKind::Interrupted`": 2958, + "`io::ErrorKind::UnexpectedEof`": 3397, + "`io::Read::read_exact`": 3987 + }, + "name": "read_exact_at", "span": { "begin": [ - 67, + 118, 5 ], "end": [ - 69, + 132, 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "489": { - "attrs": [], + "4894": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140771, is_soft: false}, feature: \"read_buf_at\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 489, + "docs": "Reads some bytes starting from a given offset into the buffer.\n\nThis equivalent to the [`read_at`](FileExt::read_at) method, except that it is passed a\n[`BorrowedCursor`] rather than `&mut [u8]` to allow use with uninitialized buffers. The new\ndata will be appended to any existing contents of `buf`.\n\n# Examples\n\n```no_run\n#![feature(core_io_borrowed_buf)]\n#![feature(read_buf_at)]\n\nuse std::io;\nuse std::io::BorrowedBuf;\nuse std::fs::File;\nuse std::mem::MaybeUninit;\nuse std::os::unix::prelude::*;\n\nfn main() -> io::Result<()> {\n let mut file = File::open(\"pi.txt\")?;\n\n // Read some bytes starting from offset 2\n let mut buf: [MaybeUninit; 10] = [MaybeUninit::uninit(); 10];\n let mut buf = BorrowedBuf::from(buf.as_mut_slice());\n file.read_buf_at(buf.unfilled(), 2)?;\n\n assert!(buf.filled().starts_with(b\"1\"));\n\n Ok(())\n}\n```", + "id": 4894, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 308, - "path": "Builder" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" + } + ], + [ + "buf", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "id": 2468, + "path": "BorrowedCursor" + } + } + ], + [ + "offset", + { + "primitive": "u64" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] } } - } - ], - "generic_params": [], - "type": { - "generic": "T" + ], + "constraints": [] } - } + }, + "id": 469, + "path": "io::Result" } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + } } } }, - "links": {}, - "name": null, + "links": { + "FileExt::read_at": 4891, + "`BorrowedCursor`": 2468 + }, + "name": "read_buf_at", "span": { "begin": [ - 138, - 1 + 166, + 5 ], "end": [ - 138, - 36 + 168, + 6 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4890": { + "4895": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 33, patch: 0})}, feature: \"rw_exact_all_at\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140771, is_soft: false}, feature: \"read_buf_at\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Reads the exact number of bytes required to fill `buf` from the given offset.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nSimilar to [`io::Read::read_exact`] but uses [`read_at`] instead of `read`.\n\n[`read_at`]: FileExt::read_at\n\n# Errors\n\nIf this function encounters an error of the kind\n[`io::ErrorKind::Interrupted`] then the error is ignored and the operation\nwill continue.\n\nIf this function encounters an \"end of file\" before completely filling\nthe buffer, it returns an error of the kind [`io::ErrorKind::UnexpectedEof`].\nThe contents of `buf` are unspecified in this case.\n\nIf any other read error is encountered then this function immediately\nreturns. The contents of `buf` are unspecified in this case.\n\nIf this function returns an error, it is unspecified how many bytes it\nhas read, but it will never read more than would be necessary to\ncompletely fill the buffer.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::fs::File;\nuse std::os::unix::prelude::FileExt;\n\nfn main() -> io::Result<()> {\n let mut buf = [0u8; 8];\n let file = File::open(\"foo.txt\")?;\n\n // We now read exactly 8 bytes from the offset 10.\n file.read_exact_at(&mut buf, 10)?;\n println!(\"read {} bytes: {:?}\", buf.len(), buf);\n Ok(())\n}\n```", - "id": 4890, + "docs": "Reads the exact number of bytes required to fill the buffer from a given offset.\n\nThis is equivalent to the [`read_exact_at`](FileExt::read_exact_at) method, except that it\nis passed a [`BorrowedCursor`] rather than `&mut [u8]` to allow use with uninitialized\nbuffers. The new data will be appended to any existing contents of `buf`.\n\n# Examples\n\n```no_run\n#![feature(core_io_borrowed_buf)]\n#![feature(read_buf_at)]\n\nuse std::io;\nuse std::io::BorrowedBuf;\nuse std::fs::File;\nuse std::mem::MaybeUninit;\nuse std::os::unix::prelude::*;\n\nfn main() -> io::Result<()> {\n let mut file = File::open(\"pi.txt\")?;\n\n // Read exactly 10 bytes starting from offset 2\n let mut buf: [MaybeUninit; 10] = [MaybeUninit::uninit(); 10];\n let mut buf = BorrowedBuf::from(buf.as_mut_slice());\n file.read_buf_exact_at(buf.unfilled(), 2)?;\n\n assert_eq!(buf.filled(), b\"1415926535\");\n\n Ok(())\n}\n```", + "id": 4895, "inner": { "function": { "generics": { @@ -429229,14 +448381,19 @@ [ "buf", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - } + }, + "id": 2468, + "path": "BorrowedCursor" } } ], @@ -429262,7 +448419,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -429270,26 +448427,24 @@ } }, "links": { - "FileExt::read_at": 4888, - "`io::ErrorKind::Interrupted`": 2958, - "`io::ErrorKind::UnexpectedEof`": 3398, - "`io::Read::read_exact`": 3988 + "FileExt::read_exact_at": 4893, + "`BorrowedCursor`": 2468 }, - "name": "read_exact_at", + "name": "read_buf_exact_at", "span": { "begin": [ - 117, + 202, 5 ], "end": [ - 131, + 217, 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4891": { + "4896": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"file_offset\"}}]" @@ -429298,7 +448453,7 @@ "crate_id": 0, "deprecation": null, "docs": "Writes a number of bytes starting from a given offset.\n\nReturns the number of bytes written.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nWhen writing beyond the end of the file, the file is appropriately\nextended and the intermediate bytes are initialized with the value 0.\n\nNote that similar to [`File::write`], it is not an error to return a\nshort write.\n\n# Bug\nOn some systems, `write_at` utilises [`pwrite64`] to write to files.\nHowever, this syscall has a [bug] where files opened with the `O_APPEND`\nflag fail to respect the offset parameter, always appending to the end\nof the file instead.\n\nIt is possible to inadvertently set this flag, like in the example below.\nTherefore, it is important to be vigilant while changing options to mitigate\nunexpected behavior.\n\n```no_run\nuse std::fs::File;\nuse std::io;\nuse std::os::unix::prelude::FileExt;\n\nfn main() -> io::Result<()> {\n // Open a file with the append option (sets the `O_APPEND` flag)\n let file = File::options().append(true).open(\"foo.txt\")?;\n\n // We attempt to write at offset 10; instead appended to EOF\n file.write_at(b\"sushi\", 10)?;\n\n // foo.txt is 5 bytes long instead of 15\n Ok(())\n}\n```\n\n[`File::write`]: fs::File::write\n[`pwrite64`]: https://man7.org/linux/man-pages/man2/pwrite.2.html\n[bug]: https://man7.org/linux/man-pages/man2/pwrite.2.html#BUGS\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io;\nuse std::os::unix::prelude::FileExt;\n\nfn main() -> io::Result<()> {\n let file = File::create(\"foo.txt\")?;\n\n // We now write at the offset 10.\n file.write_at(b\"sushi\", 10)?;\n Ok(())\n}\n```", - "id": 4891, + "id": 4896, "inner": { "function": { "generics": { @@ -429362,7 +448517,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -429370,23 +448525,23 @@ } }, "links": { - "fs::File::write": 2412 + "fs::File::write": 2410 }, "name": "write_at", "span": { "begin": [ - 195, + 281, 5 ], "end": [ - 195, + 281, 70 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4892": { + "4897": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 89517, is_soft: false}, feature: \"unix_file_vectored_at\"}}]" @@ -429395,7 +448550,7 @@ "crate_id": 0, "deprecation": null, "docs": "Like `write_at`, except that it writes from a slice of buffers.\n\nData is copied from each buffer in order, with the final buffer read\nfrom possibly being only partially consumed. This method must behave as\na call to `write_at` with the buffers concatenated would.", - "id": 4892, + "id": 4897, "inner": { "function": { "generics": { @@ -429442,7 +448597,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "io::IoSlice" } } @@ -429472,7 +448627,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -429483,18 +448638,18 @@ "name": "write_vectored_at", "span": { "begin": [ - 203, + 289, 5 ], "end": [ - 205, + 291, 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4893": { + "4898": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 33, patch: 0})}, feature: \"rw_exact_all_at\"}}]" @@ -429503,7 +448658,7 @@ "crate_id": 0, "deprecation": null, "docs": "Attempts to write an entire buffer starting from a given offset.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nThis method will continuously call [`write_at`] until there is no more data\nto be written or an error of non-[`io::ErrorKind::Interrupted`] kind is\nreturned. This method will not return until the entire buffer has been\nsuccessfully written or such an error occurs. The first error that is\nnot of [`io::ErrorKind::Interrupted`] kind generated from this method will be\nreturned.\n\n# Errors\n\nThis function will return the first error of\nnon-[`io::ErrorKind::Interrupted`] kind that [`write_at`] returns.\n\n[`write_at`]: FileExt::write_at\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::io;\nuse std::os::unix::prelude::FileExt;\n\nfn main() -> io::Result<()> {\n let file = File::open(\"foo.txt\")?;\n\n // We now write at the offset 10.\n file.write_all_at(b\"sushi\", 10)?;\n Ok(())\n}\n```", - "id": 4893, + "id": 4898, "inner": { "function": { "generics": { @@ -429567,7 +448722,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -429575,24 +448730,24 @@ } }, "links": { - "FileExt::write_at": 4891, + "FileExt::write_at": 4896, "`io::ErrorKind::Interrupted`": 2958 }, "name": "write_all_at", "span": { "begin": [ - 244, + 330, 5 ], "end": [ - 259, + 345, 6 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4894": { + "4899": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"fs_ext\"}}]" @@ -429601,7 +448756,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the mode permission bits", - "id": 4894, + "id": 4899, "inner": { "function": { "generics": { @@ -429641,18 +448796,105 @@ "name": "mode", "span": { "begin": [ - 355, + 444, 5 ], "end": [ - 355, + 444, 27 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4895": { + "490": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 490, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 306, + "path": "Builder" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "4900": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"fs_ext\"}}]" @@ -429661,7 +448903,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the mode permission bits.", - "id": 4895, + "id": 4900, "inner": { "function": { "generics": { @@ -429705,18 +448947,18 @@ "name": "set_mode", "span": { "begin": [ - 359, + 448, 5 ], "end": [ - 359, + 448, 39 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4896": { + "4901": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"permissions_from_mode\")]" @@ -429731,7 +448973,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new instance from the given mode permission bits.", - "id": 4896, + "id": 4901, "inner": { "function": { "generics": { @@ -429765,18 +449007,18 @@ "name": "from_mode", "span": { "begin": [ - 364, + 453, 5 ], "end": [ - 364, + 453, 37 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4897": { + "4902": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"fs_ext\"}}]" @@ -429785,7 +449027,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the mode bits that a new file will be created with.\n\nIf a new file is created as part of an `OpenOptions::open` call then this\nspecified `mode` will be used as the permission bits for the new file.\nIf no `mode` is set, the default of `0o666` will be used.\nThe operating system masks out bits with the system's `umask`, to produce\nthe final permissions.\n\n# Examples\n\n```no_run\nuse std::fs::OpenOptions;\nuse std::os::unix::fs::OpenOptionsExt;\n\n# fn main() {\nlet mut options = OpenOptions::new();\noptions.mode(0o644); // Give read/write for owner and read for others.\nlet file = options.open(\"foo.txt\");\n# }\n```", - "id": 4897, + "id": 4902, "inner": { "function": { "generics": { @@ -429837,18 +449079,18 @@ "name": "mode", "span": { "begin": [ - 406, + 495, 5 ], "end": [ - 406, + 495, 48 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4898": { + "4903": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"open_options_ext\"}}]" @@ -429857,7 +449099,7 @@ "crate_id": 0, "deprecation": null, "docs": "Pass custom flags to the `flags` argument of `open`.\n\nThe bits that define the access mode are masked out with `O_ACCMODE`, to\nensure they do not interfere with the access mode set by Rust's options.\n\nCustom flags can only set flags, not remove flags set by Rust's options.\nThis function overwrites any previously-set custom flags.\n\n# Examples\n\n```no_run\n# mod libc { pub const O_NOFOLLOW: i32 = 0; }\nuse std::fs::OpenOptions;\nuse std::os::unix::fs::OpenOptionsExt;\n\n# fn main() {\nlet mut options = OpenOptions::new();\noptions.write(true);\noptions.custom_flags(libc::O_NOFOLLOW);\nlet file = options.open(\"foo.txt\");\n# }\n```", - "id": 4898, + "id": 4903, "inner": { "function": { "generics": { @@ -429909,18 +449151,18 @@ "name": "custom_flags", "span": { "begin": [ - 431, + 520, 5 ], "end": [ - 431, + 520, 57 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4899": { + "4904": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -429929,7 +449171,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the ID of the device containing the file.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let dev_id = meta.dev();\n Ok(())\n}\n```", - "id": 4899, + "id": 4904, "inner": { "function": { "generics": { @@ -429969,107 +449211,18 @@ "name": "dev", "span": { "begin": [ - 466, + 555, 5 ], "end": [ - 466, + 555, 26 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "490": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 490, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "$crate::fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "$crate::fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 259, - 10 - ], - "end": [ - 259, - 15 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "4900": { + "4905": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430078,7 +449231,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the inode number.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let inode = meta.ino();\n Ok(())\n}\n```", - "id": 4900, + "id": 4905, "inner": { "function": { "generics": { @@ -430118,18 +449271,18 @@ "name": "ino", "span": { "begin": [ - 483, + 572, 5 ], "end": [ - 483, + 572, 26 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4901": { + "4906": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430138,7 +449291,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the rights applied to this file.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let mode = meta.mode();\n let user_has_write_access = mode & 0o200;\n let user_has_read_write_access = mode & 0o600;\n let group_has_read_access = mode & 0o040;\n let others_have_exec_access = mode & 0o001;\n Ok(())\n}\n```", - "id": 4901, + "id": 4906, "inner": { "function": { "generics": { @@ -430178,18 +449331,18 @@ "name": "mode", "span": { "begin": [ - 504, + 593, 5 ], "end": [ - 504, + 593, 27 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4902": { + "4907": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430198,7 +449351,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of hard links pointing to this file.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let nb_hard_links = meta.nlink();\n Ok(())\n}\n```", - "id": 4902, + "id": 4907, "inner": { "function": { "generics": { @@ -430238,18 +449391,18 @@ "name": "nlink", "span": { "begin": [ - 521, + 610, 5 ], "end": [ - 521, + 610, 28 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4903": { + "4908": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430258,67 +449411,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the user ID of the owner of this file.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let user_id = meta.uid();\n Ok(())\n}\n```", - "id": 4903, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "uid", - "span": { - "begin": [ - 538, - 5 - ], - "end": [ - 538, - 26 - ], - "filename": "std/src/os/unix/fs.rs" - }, - "visibility": "default" - }, - "4904": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the group ID of the owner of this file.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let group_id = meta.gid();\n Ok(())\n}\n```", - "id": 4904, + "id": 4908, "inner": { "function": { "generics": { @@ -430355,21 +449448,21 @@ } }, "links": {}, - "name": "gid", + "name": "uid", "span": { "begin": [ - 555, + 627, 5 ], "end": [ - 555, + 627, 26 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4905": { + "4909": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430377,8 +449470,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the device ID of this file (if it is a special one).\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let device_id = meta.rdev();\n Ok(())\n}\n```", - "id": 4905, + "docs": "Returns the group ID of the owner of this file.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let group_id = meta.gid();\n Ok(())\n}\n```", + "id": 4909, "inner": { "function": { "generics": { @@ -430409,27 +449502,116 @@ ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u32" } } } }, "links": {}, - "name": "rdev", + "name": "gid", "span": { "begin": [ - 572, + 644, 5 ], "end": [ - 572, - 27 + 644, + 26 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4906": { + "491": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 491, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "$crate::fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "$crate::fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 262, + 10 + ], + "end": [ + 262, + 15 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "4910": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430437,8 +449619,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the total size of this file in bytes.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let file_size = meta.size();\n Ok(())\n}\n```", - "id": 4906, + "docs": "Returns the device ID of this file (if it is a special one).\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let device_id = meta.rdev();\n Ok(())\n}\n```", + "id": 4910, "inner": { "function": { "generics": { @@ -430475,21 +449657,21 @@ } }, "links": {}, - "name": "size", + "name": "rdev", "span": { "begin": [ - 589, + 661, 5 ], "end": [ - 589, + 661, 27 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4907": { + "4911": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430497,8 +449679,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the last access time of the file, in seconds since Unix Epoch.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let last_access_time = meta.atime();\n Ok(())\n}\n```", - "id": 4907, + "docs": "Returns the total size of this file in bytes.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let file_size = meta.size();\n Ok(())\n}\n```", + "id": 4911, "inner": { "function": { "generics": { @@ -430529,27 +449711,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "u64" } } } }, "links": {}, - "name": "atime", + "name": "size", "span": { "begin": [ - 606, + 678, 5 ], "end": [ - 606, - 28 + 678, + 27 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4908": { + "4912": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430557,8 +449739,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the last access time of the file, in nanoseconds since [`atime`].\n\n[`atime`]: MetadataExt::atime\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let nano_last_access_time = meta.atime_nsec();\n Ok(())\n}\n```", - "id": 4908, + "docs": "Returns the last access time of the file, in seconds since Unix Epoch.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let last_access_time = meta.atime();\n Ok(())\n}\n```", + "id": 4912, "inner": { "function": { "generics": { @@ -430594,24 +449776,22 @@ } } }, - "links": { - "MetadataExt::atime": 4907 - }, - "name": "atime_nsec", + "links": {}, + "name": "atime", "span": { "begin": [ - 625, + 695, 5 ], "end": [ - 625, - 33 + 695, + 28 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4909": { + "4913": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430619,8 +449799,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the last modification time of the file, in seconds since Unix Epoch.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let last_modification_time = meta.mtime();\n Ok(())\n}\n```", - "id": 4909, + "docs": "Returns the last access time of the file, in nanoseconds since [`atime`].\n\n[`atime`]: MetadataExt::atime\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let nano_last_access_time = meta.atime_nsec();\n Ok(())\n}\n```", + "id": 4913, "inner": { "function": { "generics": { @@ -430656,76 +449836,84 @@ } } }, - "links": {}, - "name": "mtime", + "links": { + "MetadataExt::atime": 4912 + }, + "name": "atime_nsec", "span": { "begin": [ - 642, + 714, 5 ], "end": [ - 642, - 28 + 714, + 33 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "491": { + "4914": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" + } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 491, + "docs": "Returns the last modification time of the file, in seconds since Unix Epoch.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let last_modification_time = meta.mtime();\n Ok(())\n}\n```", + "id": 4914, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 308, - "path": "Builder" - } - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 490 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "i64" + } } } }, "links": {}, - "name": null, + "name": "mtime", "span": { "begin": [ - 259, - 10 + 731, + 5 ], "end": [ - 259, - 15 + 731, + 28 ], - "filename": "std/src/thread/mod.rs" + "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4910": { + "4915": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430734,7 +449922,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the last modification time of the file, in nanoseconds since [`mtime`].\n\n[`mtime`]: MetadataExt::mtime\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let nano_last_modification_time = meta.mtime_nsec();\n Ok(())\n}\n```", - "id": 4910, + "id": 4915, "inner": { "function": { "generics": { @@ -430771,23 +449959,23 @@ } }, "links": { - "MetadataExt::mtime": 4909 + "MetadataExt::mtime": 4914 }, "name": "mtime_nsec", "span": { "begin": [ - 661, + 750, 5 ], "end": [ - 661, + 750, 33 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4911": { + "4916": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430796,7 +449984,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the last status change time of the file, in seconds since Unix Epoch.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let last_status_change_time = meta.ctime();\n Ok(())\n}\n```", - "id": 4911, + "id": 4916, "inner": { "function": { "generics": { @@ -430836,18 +450024,18 @@ "name": "ctime", "span": { "begin": [ - 678, + 767, 5 ], "end": [ - 678, + 767, 28 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4912": { + "4917": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430856,7 +450044,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the last status change time of the file, in nanoseconds since [`ctime`].\n\n[`ctime`]: MetadataExt::ctime\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let nano_last_status_change_time = meta.ctime_nsec();\n Ok(())\n}\n```", - "id": 4912, + "id": 4917, "inner": { "function": { "generics": { @@ -430893,23 +450081,23 @@ } }, "links": { - "MetadataExt::ctime": 4911 + "MetadataExt::ctime": 4916 }, "name": "ctime_nsec", "span": { "begin": [ - 697, + 786, 5 ], "end": [ - 697, + 786, 33 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4913": { + "4918": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430918,7 +450106,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the block size for filesystem I/O.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let block_size = meta.blksize();\n Ok(())\n}\n```", - "id": 4913, + "id": 4918, "inner": { "function": { "generics": { @@ -430958,18 +450146,18 @@ "name": "blksize", "span": { "begin": [ - 714, + 803, 5 ], "end": [ - 714, + 803, 30 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4914": { + "4919": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -430978,7 +450166,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of blocks allocated to the file, in 512-byte units.\n\nPlease note that this may be smaller than `st_size / 512` when the file has holes.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::MetadataExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let blocks = meta.blocks();\n Ok(())\n}\n```", - "id": 4914, + "id": 4919, "inner": { "function": { "generics": { @@ -431018,18 +450206,72 @@ "name": "blocks", "span": { "begin": [ - 733, + 822, 5 ], "end": [ - 733, + 822, 29 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4915": { + "492": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 492, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 306, + "path": "Builder" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 491 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 262, + 10 + ], + "end": [ + 262, + 15 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "4920": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"file_type_ext\"}}]" @@ -431038,7 +450280,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is a block device.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::FileTypeExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"block_device_file\")?;\n let file_type = meta.file_type();\n assert!(file_type.is_block_device());\n Ok(())\n}\n```", - "id": 4915, + "id": 4920, "inner": { "function": { "generics": { @@ -431078,18 +450320,18 @@ "name": "is_block_device", "span": { "begin": [ - 818, + 907, 5 ], "end": [ - 818, + 907, 39 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4916": { + "4921": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"file_type_ext\"}}]" @@ -431098,7 +450340,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is a char device.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::FileTypeExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"char_device_file\")?;\n let file_type = meta.file_type();\n assert!(file_type.is_char_device());\n Ok(())\n}\n```", - "id": 4916, + "id": 4921, "inner": { "function": { "generics": { @@ -431138,18 +450380,18 @@ "name": "is_char_device", "span": { "begin": [ - 836, + 925, 5 ], "end": [ - 836, + 925, 38 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4917": { + "4922": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"file_type_ext\"}}]" @@ -431158,7 +450400,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is a fifo.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::FileTypeExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"fifo_file\")?;\n let file_type = meta.file_type();\n assert!(file_type.is_fifo());\n Ok(())\n}\n```", - "id": 4917, + "id": 4922, "inner": { "function": { "generics": { @@ -431198,18 +450440,18 @@ "name": "is_fifo", "span": { "begin": [ - 854, + 943, 5 ], "end": [ - 854, + 943, 31 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4918": { + "4923": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"file_type_ext\"}}]" @@ -431218,7 +450460,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is a socket.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::os::unix::fs::FileTypeExt;\nuse std::io;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"unix.socket\")?;\n let file_type = meta.file_type();\n assert!(file_type.is_socket());\n Ok(())\n}\n```", - "id": 4918, + "id": 4923, "inner": { "function": { "generics": { @@ -431258,18 +450500,18 @@ "name": "is_socket", "span": { "begin": [ - 872, + 961, 5 ], "end": [ - 872, + 961, 33 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4919": { + "4924": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"dir_entry_ext\"}}]" @@ -431278,7 +450520,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the underlying `d_ino` field in the contained `dirent`\nstructure.\n\n# Examples\n\n```\nuse std::fs;\nuse std::os::unix::fs::DirEntryExt;\n\nif let Ok(entries) = fs::read_dir(\".\") {\n for entry in entries {\n if let Ok(entry) = entry {\n // Here, `entry` is a `DirEntry`.\n println!(\"{:?}: {}\", entry.file_name(), entry.ino());\n }\n }\n}\n```", - "id": 4919, + "id": 4924, "inner": { "function": { "generics": { @@ -431318,71 +450560,23 @@ "name": "ino", "span": { "begin": [ - 913, + 1002, 5 ], "end": [ - 913, + 1002, 26 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "492": { - "attrs": [ - "macro_export", - { - "other": "#[(not(test), rustc_diagnostic_item = \"std_panic_macro\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"std_panic_macro\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = AllowInternalUnstable([\"edition_panic\"])]" - }, - { - "other": "#[attr = RustcBuiltinMacro {builtin_name: \"std_panic\", helper_attrs: []}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Panics the current thread.\n\nThis allows a program to terminate immediately and provide feedback\nto the caller of the program.\n\nThis macro is the perfect way to assert conditions in example code and in\ntests. `panic!` is closely tied with the `unwrap` method of both\n[`Option`][ounwrap] and [`Result`][runwrap] enums. Both implementations call\n`panic!` when they are set to [`None`] or [`Err`] variants.\n\nWhen using `panic!()` you can specify a string payload that is built using\n[formatting syntax]. That payload is used when injecting the panic into\nthe calling Rust thread, causing the thread to panic entirely.\n\nThe behavior of the default `std` hook, i.e. the code that runs directly\nafter the panic is invoked, is to print the message payload to\n`stderr` along with the file/line/column information of the `panic!()`\ncall. You can override the panic hook using [`std::panic::set_hook()`].\nInside the hook a panic can be accessed as a `&dyn Any + Send`,\nwhich contains either a `&str` or `String` for regular `panic!()` invocations.\n(Whether a particular invocation contains the payload at type `&str` or `String` is unspecified and can change.)\nTo panic with a value of another other type, [`panic_any`] can be used.\n\nSee also the macro [`compile_error!`], for raising errors during compilation.\n\n# When to use `panic!` vs `Result`\n\nThe Rust language provides two complementary systems for constructing /\nrepresenting, reporting, propagating, reacting to, and discarding errors. These\nresponsibilities are collectively known as \"error handling.\" `panic!` and\n`Result` are similar in that they are each the primary interface of their\nrespective error handling systems; however, the meaning these interfaces attach\nto their errors and the responsibilities they fulfill within their respective\nerror handling systems differ.\n\nThe `panic!` macro is used to construct errors that represent a bug that has\nbeen detected in your program. With `panic!` you provide a message that\ndescribes the bug and the language then constructs an error with that message,\nreports it, and propagates it for you.\n\n`Result` on the other hand is used to wrap other types that represent either\nthe successful result of some computation, `Ok(T)`, or error types that\nrepresent an anticipated runtime failure mode of that computation, `Err(E)`.\n`Result` is used alongside user defined types which represent the various\nanticipated runtime failure modes that the associated computation could\nencounter. `Result` must be propagated manually, often with the help of the\n`?` operator and `Try` trait, and they must be reported manually, often with\nthe help of the `Error` trait.\n\nFor more detailed information about error handling check out the [book] or the\n[`std::result`] module docs.\n\n[ounwrap]: Option::unwrap\n[runwrap]: Result::unwrap\n[`std::panic::set_hook()`]: ../std/panic/fn.set_hook.html\n[`panic_any`]: ../std/panic/fn.panic_any.html\n[`Box`]: ../std/boxed/struct.Box.html\n[`Any`]: crate::any::Any\n[formatting syntax]: ../std/fmt/index.html\n[book]: ../book/ch09-00-error-handling.html\n[`std::result`]: ../std/result/index.html\n\n# Current implementation\n\nIf the main thread panics it will terminate all your threads and end your\nprogram with code `101`.\n\n# Editions\n\nBehavior of the panic macros changed over editions.\n\n## 2021 and later\n\nIn Rust 2021 and later, `panic!` always requires a format string and\nthe applicable format arguments, and is the same in `core` and `std`.\nUse [`std::panic::panic_any(x)`](../std/panic/fn.panic_any.html) to\npanic with an arbitrary payload.\n\n## 2018 and 2015\n\nIn Rust Editions prior to 2021, `std::panic!(x)` with a single\nargument directly uses that argument as a payload.\nThis is true even if the argument is a string literal.\nFor example, `panic!(\"problem: {reason}\")` panics with a\npayload of literally `\"problem: {reason}\"` (a `&'static str`).\n\n`core::panic!(x)` with a single argument requires that `x` be `&str`,\nbut otherwise behaves like `std::panic!`. In particular, the string\nneed not be a literal, and is not interpreted as a format string.\n\n# Examples\n\n```should_panic\n# #![allow(unreachable_code)]\npanic!();\npanic!(\"this is a terrible mistake!\");\npanic!(\"this is a {} {message}\", \"fancy\", message = \"message\");\nstd::panic::panic_any(4); // panic with the value of 4 to be collected elsewhere\n```", - "id": 492, - "inner": { - "macro": "macro_rules! panic {\n ($($arg:tt)*) => { ... };\n}" - }, - "links": { - "Option::unwrap": 9353, - "Result::unwrap": 470, - "`Err`": 59, - "`None`": 53, - "`compile_error!`": 69, - "crate::any::Any": 341 - }, - "name": "panic", - "span": { - "begin": [ - 14, - 1 - ], - "end": [ - 20, - 2 - ], - "filename": "std/src/macros.rs" - }, - "visibility": "public" - }, - "4920": { + "4925": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns a reference to the underlying `OsStr` of this entry's filename.\n\n# Examples\n\n```\n#![feature(dir_entry_ext2)]\nuse std::os::unix::fs::DirEntryExt2;\nuse std::{fs, io};\n\nfn main() -> io::Result<()> {\n let mut entries = fs::read_dir(\".\")?.collect::, io::Error>>()?;\n entries.sort_unstable_by(|a, b| a.file_name_ref().cmp(b.file_name_ref()));\n\n for p in entries {\n println!(\"{p:?}\");\n }\n\n Ok(())\n}\n```", - "id": 4920, + "id": 4925, "inner": { "function": { "generics": { @@ -431419,7 +450613,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -431432,18 +450626,18 @@ "name": "file_name_ref", "span": { "begin": [ - 946, + 1035, 5 ], "end": [ - 946, + 1035, 39 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4921": { + "4926": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"dir_builder\"}}]" @@ -431452,7 +450646,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the mode to create new directories with. This option defaults to\n0o777.\n\n# Examples\n\n```no_run\nuse std::fs::DirBuilder;\nuse std::os::unix::fs::DirBuilderExt;\n\nlet mut builder = DirBuilder::new();\nbuilder.mode(0o755);\n```", - "id": 4921, + "id": 4926, "inner": { "function": { "generics": { @@ -431504,18 +450698,18 @@ "name": "mode", "span": { "begin": [ - 995, + 1084, 5 ], "end": [ - 995, + 1084, 48 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "default" }, - "4922": { + "4927": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"unix_chown\"}}]" @@ -431524,7 +450718,7 @@ "crate_id": 0, "deprecation": null, "docs": "Change the owner and group of the specified path, without dereferencing symbolic links.\n\nIdentical to [`chown`], except that if called on a symbolic link, this will change the owner\nand group of the link itself rather than the owner and group of the link target.\n\n# Examples\n\n```no_run\nuse std::os::unix::fs;\n\nfn main() -> std::io::Result<()> {\n fs::lchown(\"/symlink\", Some(0), Some(0))?;\n Ok(())\n}\n```", - "id": 4922, + "id": 4927, "inner": { "function": { "generics": { @@ -431545,7 +450739,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -431642,7 +450836,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -431650,23 +450844,23 @@ } }, "links": { - "`chown`": 4923 + "`chown`": 4928 }, "name": "lchown", "span": { "begin": [ - 1073, + 1162, 1 ], "end": [ - 1075, + 1164, 2 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "public" }, - "4923": { + "4928": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"unix_chown\"}}]" @@ -431675,7 +450869,7 @@ "crate_id": 0, "deprecation": null, "docs": "Change the owner and group of the specified path.\n\nSpecifying either the uid or gid as `None` will leave it unchanged.\n\nChanging the owner typically requires privileges, such as root or a specific capability.\nChanging the group typically requires either being the owner and a member of the group, or\nhaving privileges.\n\nBe aware that changing owner clears the `suid` and `sgid` permission bits in most cases\naccording to POSIX, usually even if the user is root. The sgid is not cleared when\nthe file is non-group-executable. See: \nThis call may also clear file capabilities, if there was any.\n\nIf called on a symbolic link, this will change the owner and group of the link target. To\nchange the owner and group of the link itself, see [`lchown`].\n\n# Examples\n\n```no_run\nuse std::os::unix::fs;\n\nfn main() -> std::io::Result<()> {\n fs::chown(\"/sandbox\", Some(0), Some(0))?;\n Ok(())\n}\n```", - "id": 4923, + "id": 4928, "inner": { "function": { "generics": { @@ -431696,7 +450890,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -431793,7 +450987,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -431801,23 +450995,23 @@ } }, "links": { - "`lchown`": 4922 + "`lchown`": 4927 }, "name": "chown", "span": { "begin": [ - 1033, + 1122, 1 ], "end": [ - 1035, + 1124, 2 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "public" }, - "4924": { + "4929": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"unix_chown\"}}]" @@ -431826,7 +451020,7 @@ "crate_id": 0, "deprecation": null, "docs": "Change the owner and group of the file referenced by the specified open file descriptor.\n\nFor semantics and required privileges, see [`chown`].\n\n# Examples\n\n```no_run\nuse std::os::unix::fs;\n\nfn main() -> std::io::Result<()> {\n let f = std::fs::File::open(\"/file\")?;\n fs::fchown(&f, Some(0), Some(0))?;\n Ok(())\n}\n```", - "id": 4924, + "id": 4929, "inner": { "function": { "generics": { @@ -431929,7 +451123,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -431937,23 +451131,71 @@ } }, "links": { - "`chown`": 4923 + "`chown`": 4928 }, "name": "fchown", "span": { "begin": [ - 1053, + 1142, 1 ], "end": [ - 1055, + 1144, 2 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "public" }, - "4925": { + "493": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"std_panic_macro\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"std_panic_macro\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = AllowInternalUnstable([\"edition_panic\"])]" + }, + "macro_export", + { + "other": "#[attr = RustcBuiltinMacro {builtin_name: \"std_panic\", helper_attrs: []}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Panics the current thread.\n\nThis allows a program to terminate immediately and provide feedback\nto the caller of the program.\n\nThis macro is the perfect way to assert conditions in example code and in\ntests. `panic!` is closely tied with the `unwrap` method of both\n[`Option`][ounwrap] and [`Result`][runwrap] enums. Both implementations call\n`panic!` when they are set to [`None`] or [`Err`] variants.\n\nWhen using `panic!()` you can specify a string payload that is built using\n[formatting syntax]. That payload is used when injecting the panic into\nthe calling Rust thread, causing the thread to panic entirely.\n\nThe behavior of the default `std` hook, i.e. the code that runs directly\nafter the panic is invoked, is to print the message payload to\n`stderr` along with the file/line/column information of the `panic!()`\ncall. You can override the panic hook using [`std::panic::set_hook()`].\nInside the hook a panic can be accessed as a `&dyn Any + Send`,\nwhich contains either a `&str` or `String` for regular `panic!()` invocations.\n(Whether a particular invocation contains the payload at type `&str` or `String` is unspecified and can change.)\nTo panic with a value of another other type, [`panic_any`] can be used.\n\nSee also the macro [`compile_error!`], for raising errors during compilation.\n\n# When to use `panic!` vs `Result`\n\nThe Rust language provides two complementary systems for constructing /\nrepresenting, reporting, propagating, reacting to, and discarding errors. These\nresponsibilities are collectively known as \"error handling.\" `panic!` and\n`Result` are similar in that they are each the primary interface of their\nrespective error handling systems; however, the meaning these interfaces attach\nto their errors and the responsibilities they fulfill within their respective\nerror handling systems differ.\n\nThe `panic!` macro is used to construct errors that represent a bug that has\nbeen detected in your program. With `panic!` you provide a message that\ndescribes the bug and the language then constructs an error with that message,\nreports it, and propagates it for you.\n\n`Result` on the other hand is used to wrap other types that represent either\nthe successful result of some computation, `Ok(T)`, or error types that\nrepresent an anticipated runtime failure mode of that computation, `Err(E)`.\n`Result` is used alongside user defined types which represent the various\nanticipated runtime failure modes that the associated computation could\nencounter. `Result` must be propagated manually, often with the help of the\n`?` operator and `Try` trait, and they must be reported manually, often with\nthe help of the `Error` trait.\n\nFor more detailed information about error handling check out the [book] or the\n[`std::result`] module docs.\n\n[ounwrap]: Option::unwrap\n[runwrap]: Result::unwrap\n[`std::panic::set_hook()`]: ../std/panic/fn.set_hook.html\n[`panic_any`]: ../std/panic/fn.panic_any.html\n[`Box`]: ../std/boxed/struct.Box.html\n[`Any`]: crate::any::Any\n[formatting syntax]: ../std/fmt/index.html\n[book]: ../book/ch09-00-error-handling.html\n[`std::result`]: ../std/result/index.html\n\n# Current implementation\n\nIf the main thread panics it will terminate all your threads and end your\nprogram with code `101`.\n\n# Editions\n\nBehavior of the panic macros changed over editions.\n\n## 2021 and later\n\nIn Rust 2021 and later, `panic!` always requires a format string and\nthe applicable format arguments, and is the same in `core` and `std`.\nUse [`std::panic::panic_any(x)`](../std/panic/fn.panic_any.html) to\npanic with an arbitrary payload.\n\n## 2018 and 2015\n\nIn Rust Editions prior to 2021, `std::panic!(x)` with a single\nargument directly uses that argument as a payload.\nThis is true even if the argument is a string literal.\nFor example, `panic!(\"problem: {reason}\")` panics with a\npayload of literally `\"problem: {reason}\"` (a `&'static str`).\n\n`core::panic!(x)` with a single argument requires that `x` be `&str`,\nbut otherwise behaves like `std::panic!`. In particular, the string\nneed not be a literal, and is not interpreted as a format string.\n\n# Examples\n\n```should_panic\n# #![allow(unreachable_code)]\npanic!();\npanic!(\"this is a terrible mistake!\");\npanic!(\"this is a {} {message}\", \"fancy\", message = \"message\");\nstd::panic::panic_any(4); // panic with the value of 4 to be collected elsewhere\n```", + "id": 493, + "inner": { + "macro": "macro_rules! panic {\n ($($arg:tt)*) => { ... };\n}" + }, + "links": { + "Option::unwrap": 9575, + "Result::unwrap": 471, + "`Err`": 59, + "`None`": 53, + "`compile_error!`": 69, + "crate::any::Any": 339 + }, + "name": "panic", + "span": { + "begin": [ + 14, + 1 + ], + "end": [ + 20, + 2 + ], + "filename": "std/src/macros.rs" + }, + "visibility": "public" + }, + "4930": { "attrs": [ { "other": "#[(not(target_os = \"fuchsia\"))]" @@ -431965,7 +451207,7 @@ "crate_id": 0, "deprecation": null, "docs": "Change the root directory of the current process to the specified path.\n\nThis typically requires privileges, such as root or a specific capability.\n\nThis does not change the current working directory; you should call\n[`std::env::set_current_dir`][`crate::env::set_current_dir`] afterwards.\n\n# Examples\n\n```no_run\nuse std::os::unix::fs;\n\nfn main() -> std::io::Result<()> {\n fs::chroot(\"/sandbox\")?;\n std::env::set_current_dir(\"/\")?;\n // continue working in sandbox\n Ok(())\n}\n```", - "id": 4925, + "id": 4930, "inner": { "function": { "generics": { @@ -431986,7 +451228,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -432041,7 +451283,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -432049,23 +451291,23 @@ } }, "links": { - "`crate::env::set_current_dir`": 1666 + "`crate::env::set_current_dir`": 1665 }, "name": "chroot", "span": { "begin": [ - 1098, + 1187, 1 ], "end": [ - 1100, + 1189, 2 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "public" }, - "4926": { + "4931": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 139324, is_soft: false}, feature: \"unix_mkfifo\"}}]" @@ -432074,7 +451316,7 @@ "crate_id": 0, "deprecation": null, "docs": "Create a FIFO special file at the specified path with the specified mode.\n\n# Examples\n\n```no_run\n# #![feature(unix_mkfifo)]\n# #[cfg(not(unix))]\n# fn main() {}\n# #[cfg(unix)]\n# fn main() -> std::io::Result<()> {\n# use std::{\n# os::unix::fs::{mkfifo, PermissionsExt},\n# fs::{File, Permissions, remove_file},\n# io::{Write, Read},\n# };\n# let _ = remove_file(\"/tmp/fifo\");\nmkfifo(\"/tmp/fifo\", Permissions::from_mode(0o774))?;\n\nlet mut wx = File::options().read(true).write(true).open(\"/tmp/fifo\")?;\nlet mut rx = File::open(\"/tmp/fifo\")?;\n\nwx.write_all(b\"hello, world!\")?;\ndrop(wx);\n\nlet mut s = String::new();\nrx.read_to_string(&mut s)?;\n\nassert_eq!(s, \"hello, world!\");\n# Ok(())\n# }\n```", - "id": 4926, + "id": 4931, "inner": { "function": { "generics": { @@ -432095,7 +451337,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -432139,7 +451381,7 @@ { "resolved_path": { "args": null, - "id": 2444, + "id": 2442, "path": "crate::fs::Permissions" } } @@ -432160,7 +451402,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -432171,18 +451413,18 @@ "name": "mkfifo", "span": { "begin": [ - 1134, + 1223, 1 ], "end": [ - 1136, + 1225, 2 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "public" }, - "4927": { + "4932": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -432191,31 +451433,31 @@ "crate_id": 0, "deprecation": null, "docs": "Unix-specific extensions to primitives in the [`std::fs`] module.\n\n[`std::fs`]: crate::fs", - "id": 4927, + "id": 4932, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 2516, + 2515, 2854, 2800, 2670, 2921, 2757, 2760, - 2966, + 2968, 2956, - 4923, - 4924, - 4922, - 4925, - 4926 + 4928, + 4929, + 4927, + 4930, + 4931 ] } }, "links": { - "crate::fs": 2424 + "crate::fs": 2422 }, "name": "fs", "span": { @@ -432224,14 +451466,14 @@ 1 ], "end": [ - 1136, + 1225, 2 ], "filename": "std/src/os/unix/fs.rs" }, "visibility": "public" }, - "4928": { + "4933": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -432240,10 +451482,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4928, + "id": 4933, "inner": { "use": { - "id": 4929, + "id": 4934, "is_glob": true, "name": "fd", "source": "crate::os::fd" @@ -432264,10 +451506,10 @@ }, "visibility": "public" }, - "4929": { + "4934": { "attrs": [ { - "other": "#[(any(unix, target_os = \"hermit\", target_os = \"trusty\", target_os =\n\"wasi\", doc))]" + "other": "#[(any(unix, target_os = \"hermit\", target_os = \"trusty\", target_os =\n\"wasi\", target_os = \"motor\", doc))]" }, { "other": "#[deny(unsafe_op_in_unsafe_fn)]" @@ -432279,14 +451521,14 @@ "crate_id": 0, "deprecation": null, "docs": "Owned and borrowed Unix-like file descriptors.\n\nThis module is supported on Unix platforms and WASI, which both use a\nsimilar file descriptor system for referencing OS resources.", - "id": 4929, + "id": 4934, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 6183, - 6184 + 6216, + 6217 ] } }, @@ -432305,63 +451547,7 @@ }, "visibility": "public" }, - "493": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Multi-producer, single-consumer FIFO queue communication primitives.\n\nThis module provides message-based communication over channels, concretely\ndefined among three types:\n\n* [`Sender`]\n* [`SyncSender`]\n* [`Receiver`]\n\nA [`Sender`] or [`SyncSender`] is used to send data to a [`Receiver`]. Both\nsenders are clone-able (multi-producer) such that many threads can send\nsimultaneously to one receiver (single-consumer).\n\nThese channels come in two flavors:\n\n1. An asynchronous, infinitely buffered channel. The [`channel`] function\n will return a `(Sender, Receiver)` tuple where all sends will be\n **asynchronous** (they never block). The channel conceptually has an\n infinite buffer.\n\n2. A synchronous, bounded channel. The [`sync_channel`] function will\n return a `(SyncSender, Receiver)` tuple where the storage for pending\n messages is a pre-allocated buffer of a fixed size. All sends will be\n **synchronous** by blocking until there is buffer space available. Note\n that a bound of 0 is allowed, causing the channel to become a \"rendezvous\"\n channel where each sender atomically hands off a message to a receiver.\n\n[`send`]: Sender::send\n\n## Disconnection\n\nThe send and receive operations on channels will all return a [`Result`]\nindicating whether the operation succeeded or not. An unsuccessful operation\nis normally indicative of the other half of a channel having \"hung up\" by\nbeing dropped in its corresponding thread.\n\nOnce half of a channel has been deallocated, most operations can no longer\ncontinue to make progress, so [`Err`] will be returned. Many applications\nwill continue to [`unwrap`] the results returned from this module,\ninstigating a propagation of failure among threads if one unexpectedly dies.\n\n[`unwrap`]: Result::unwrap\n\n# Examples\n\nSimple usage:\n\n```\nuse std::thread;\nuse std::sync::mpsc::channel;\n\n// Create a simple streaming channel\nlet (tx, rx) = channel();\nthread::spawn(move || {\n tx.send(10).unwrap();\n});\nassert_eq!(rx.recv().unwrap(), 10);\n```\n\nShared usage:\n\n```\nuse std::thread;\nuse std::sync::mpsc::channel;\n\n// Create a shared channel that can be sent along from many threads\n// where tx is the sending half (tx for transmission), and rx is the receiving\n// half (rx for receiving).\nlet (tx, rx) = channel();\nfor i in 0..10 {\n let tx = tx.clone();\n thread::spawn(move || {\n tx.send(i).unwrap();\n });\n}\n\nfor _ in 0..10 {\n let j = rx.recv().unwrap();\n assert!(0 <= j && j < 10);\n}\n```\n\nPropagating panics:\n\n```\nuse std::sync::mpsc::channel;\n\n// The call to recv() will return an error because the channel has already\n// hung up (or been deallocated)\nlet (tx, rx) = channel::();\ndrop(tx);\nassert!(rx.recv().is_err());\n```\n\nSynchronous channels:\n\n```\nuse std::thread;\nuse std::sync::mpsc::sync_channel;\n\nlet (tx, rx) = sync_channel::(0);\nthread::spawn(move || {\n // This will wait for the parent thread to start receiving\n tx.send(53).unwrap();\n});\nrx.recv().unwrap();\n```\n\nUnbounded receive loop:\n\n```\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\nlet (tx, rx) = sync_channel(3);\n\nfor _ in 0..3 {\n // It would be the same without thread and clone here\n // since there will still be one `tx` left.\n let tx = tx.clone();\n // cloned tx dropped within thread\n thread::spawn(move || tx.send(\"ok\").unwrap());\n}\n\n// Drop the last sender to stop `rx` waiting for message.\n// The program will not complete if we comment this out.\n// **All** `tx` needs to be dropped for `rx` to have `Err`.\ndrop(tx);\n\n// Unbounded receiver waiting for all senders to complete.\nwhile let Ok(msg) = rx.recv() {\n println!(\"{msg}\");\n}\n\nprintln!(\"completed\");\n```", - "id": 493, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 7403, - 7410, - 7412, - 7433, - 7405, - 7406, - 7207, - 7203, - 7209, - 7205, - 7211, - 7400, - 7401 - ] - } - }, - "links": { - "Result::unwrap": 470, - "Sender::send": 7499, - "`Err`": 59, - "`Receiver`": 7403, - "`Result`": 57, - "`Sender`": 7405, - "`SyncSender`": 7406, - "`channel`": 7400, - "`sync_channel`": 7401 - }, - "name": "mpsc", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 1246, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "public" - }, - "4930": { + "4935": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -432370,20 +451556,20 @@ "crate_id": 0, "deprecation": null, "docs": "Unix-specific extensions to general I/O primitives.\n\nJust like raw pointers, raw file descriptors point to resources with\ndynamic lifetimes, and they can dangle if they outlive their resources\nor be forged if they're created from invalid values.\n\nThis module provides three types for representing file descriptors,\nwith different ownership properties: raw, borrowed, and owned, which are\nanalogous to types used for representing pointers. These types reflect concepts of [I/O\nsafety][io-safety] on Unix.\n\n| Type | Analogous to |\n| ------------------ | ------------ |\n| [`RawFd`] | `*const _` |\n| [`BorrowedFd<'a>`] | `&'a Arc<_>` |\n| [`OwnedFd`] | `Arc<_>` |\n\nLike raw pointers, `RawFd` values are primitive values. And in new code,\nthey should be considered unsafe to do I/O on (analogous to dereferencing\nthem). Rust did not always provide this guidance, so existing code in the\nRust ecosystem often doesn't mark `RawFd` usage as unsafe.\nLibraries are encouraged to migrate,\neither by adding `unsafe` to APIs that dereference `RawFd` values, or by\nusing to `BorrowedFd` or `OwnedFd` instead.\n\nThe use of `Arc` for borrowed/owned file descriptors may be surprising. Unix file descriptors\nare mere references to internal kernel objects called \"open file descriptions\", and the same\nopen file description can be referenced by multiple file descriptors (e.g. if `dup` is used).\nState such as the offset within the file is shared among all file descriptors that refer to the\nsame open file description, and the kernel internally does reference-counting to only close the\nunderlying resource once all file descriptors referencing it are closed. That's why `Arc` (and\nnot `Box`) is the closest Rust analogy to an \"owned\" file descriptor.\n\nLike references, `BorrowedFd` values are tied to a lifetime, to ensure\nthat they don't outlive the resource they point to. These are safe to\nuse. `BorrowedFd` values may be used in APIs which provide safe access to\nany system call except for:\n\n - `close`, because that would end the dynamic lifetime of the resource\n without ending the lifetime of the file descriptor. (Equivalently:\n an `&Arc<_>` cannot be `drop`ed.)\n\n - `dup2`/`dup3`, in the second argument, because this argument is\n closed and assigned a new resource, which may break the assumptions of\n other code using that file descriptor.\n\n`BorrowedFd` values may be used in APIs which provide safe access to `dup` system calls, so code\nworking with `OwnedFd` cannot assume to have exclusive access to the underlying open file\ndescription. (Equivalently: `&Arc` may be used in APIs that provide safe access to `clone`, so\ncode working with an `Arc` cannot assume that the reference count is 1.)\n\n`BorrowedFd` values may also be used with `mmap`, since `mmap` uses the\nprovided file descriptor in a manner similar to `dup` and does not require\nthe `BorrowedFd` passed to it to live for the lifetime of the resulting\nmapping. That said, `mmap` is unsafe for other reasons: it operates on raw\npointers, and it can have undefined behavior if the underlying storage is\nmutated. Mutations may come from other processes, or from the same process\nif the API provides `BorrowedFd` access, since as mentioned earlier,\n`BorrowedFd` values may be used in APIs which provide safe access to any\nsystem call. Consequently, code using `mmap` and presenting a safe API must\ntake full responsibility for ensuring that safe Rust code cannot evoke\nundefined behavior through it.\n\nLike `Arc`, `OwnedFd` values conceptually own one reference to the resource they point to,\nand decrement the reference count when they are dropped (by calling `close`).\nWhen the reference count reaches 0, the underlying open file description will be freed\nby the kernel.\n\nSee the [`io` module docs][io-safety] for a general explanation of I/O safety.\n\n## `/proc/self/mem` and similar OS features\n\nSome platforms have special files, such as `/proc/self/mem`, which\nprovide read and write access to the process's memory. Such reads\nand writes happen outside the control of the Rust compiler, so they do not\nuphold Rust's memory safety guarantees.\n\nThis does not mean that all APIs that might allow `/proc/self/mem`\nto be opened and read from or written must be `unsafe`. Rust's safety guarantees\nonly cover what the program itself can do, and not what entities outside\nthe program can do to it. `/proc/self/mem` is considered to be such an\nexternal entity, along with `/proc/self/fd/*`, debugging interfaces, and people with physical\naccess to the hardware. This is true even in cases where the program is controlling the external\nentity.\n\nIf you desire to comprehensively prevent programs from reaching out and\ncausing external entities to reach back in and violate memory safety, it's\nnecessary to use *sandboxing*, which is outside the scope of `std`.\n\n[`BorrowedFd<'a>`]: crate::os::unix::io::BorrowedFd\n[io-safety]: crate::io#io-safety", - "id": 4930, + "id": 4935, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 4928 + 4933 ] } }, "links": { "`OwnedFd`": 2562, "`RawFd`": 2548, - "crate::io#io-safety": 501, + "crate::io#io-safety": 502, "crate::os::unix::io::BorrowedFd": 2558 }, "name": "io", @@ -432400,7 +451586,7 @@ }, "visibility": "public" }, - "4933": { + "4938": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -432409,7 +451595,7 @@ "crate_id": 0, "deprecation": null, "docs": "An address associated with a Unix socket.\n\n# Examples\n\n```\nuse std::os::unix::net::UnixListener;\n\nlet socket = match UnixListener::bind(\"/tmp/sock\") {\n Ok(sock) => sock,\n Err(e) => {\n println!(\"Couldn't bind: {e:?}\");\n return\n }\n};\nlet addr = socket.local_addr().expect(\"Couldn't get local address\");\n```", - "id": 4933, + "id": 4938, "inner": { "struct": { "generics": { @@ -432417,11 +451603,6 @@ "where_predicates": [] }, "impls": [ - 4937, - 4938, - 4939, - 4940, - 4941, 4942, 4943, 4944, @@ -432433,9 +451614,14 @@ 4950, 4951, 4952, + 4953, 4954, + 4955, + 4956, 4957, - 4960 + 4959, + 4962, + 4965 ], "kind": { "plain": { @@ -432460,7 +451646,7 @@ }, "visibility": "public" }, - "4934": { + "4939": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"unix_socket_creation\"}}]" @@ -432469,7 +451655,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a `SockAddr` with the family `AF_UNIX` and the provided path.\n\n# Errors\n\nReturns an error if the path is longer than `SUN_LEN` or if it contains\nNULL bytes.\n\n# Examples\n\n```\nuse std::os::unix::net::SocketAddr;\nuse std::path::Path;\n\n# fn main() -> std::io::Result<()> {\nlet address = SocketAddr::from_pathname(\"/path/to/socket\")?;\nassert_eq!(address.as_pathname(), Some(Path::new(\"/path/to/socket\")));\n# Ok(())\n# }\n```\n\nCreating a `SocketAddr` with a NULL byte results in an error.\n\n```\nuse std::os::unix::net::SocketAddr;\n\nassert!(SocketAddr::from_pathname(\"/path/with/\\0/bytes\").is_err());\n```", - "id": 4934, + "id": 4939, "inner": { "function": { "generics": { @@ -432501,7 +451687,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -432550,7 +451736,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -432559,7 +451745,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -432581,7 +451767,63 @@ }, "visibility": "public" }, - "4935": { + "494": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Multi-producer, single-consumer FIFO queue communication primitives.\n\nThis module provides message-based communication over channels, concretely\ndefined among three types:\n\n* [`Sender`]\n* [`SyncSender`]\n* [`Receiver`]\n\nA [`Sender`] or [`SyncSender`] is used to send data to a [`Receiver`]. Both\nsenders are clone-able (multi-producer) such that many threads can send\nsimultaneously to one receiver (single-consumer).\n\nThese channels come in two flavors:\n\n1. An asynchronous, infinitely buffered channel. The [`channel`] function\n will return a `(Sender, Receiver)` tuple where all sends will be\n **asynchronous** (they never block). The channel conceptually has an\n infinite buffer.\n\n2. A synchronous, bounded channel. The [`sync_channel`] function will\n return a `(SyncSender, Receiver)` tuple where the storage for pending\n messages is a pre-allocated buffer of a fixed size. All sends will be\n **synchronous** by blocking until there is buffer space available. Note\n that a bound of 0 is allowed, causing the channel to become a \"rendezvous\"\n channel where each sender atomically hands off a message to a receiver.\n\n[`send`]: Sender::send\n\n## Disconnection\n\nThe send and receive operations on channels will all return a [`Result`]\nindicating whether the operation succeeded or not. An unsuccessful operation\nis normally indicative of the other half of a channel having \"hung up\" by\nbeing dropped in its corresponding thread.\n\nOnce half of a channel has been deallocated, most operations can no longer\ncontinue to make progress, so [`Err`] will be returned. Many applications\nwill continue to [`unwrap`] the results returned from this module,\ninstigating a propagation of failure among threads if one unexpectedly dies.\n\n[`unwrap`]: Result::unwrap\n\n# Examples\n\nSimple usage:\n\n```\nuse std::thread;\nuse std::sync::mpsc::channel;\n\n// Create a simple streaming channel\nlet (tx, rx) = channel();\nthread::spawn(move || {\n tx.send(10).unwrap();\n});\nassert_eq!(rx.recv().unwrap(), 10);\n```\n\nShared usage:\n\n```\nuse std::thread;\nuse std::sync::mpsc::channel;\n\n// Create a shared channel that can be sent along from many threads\n// where tx is the sending half (tx for transmission), and rx is the receiving\n// half (rx for receiving).\nlet (tx, rx) = channel();\nfor i in 0..10 {\n let tx = tx.clone();\n thread::spawn(move || {\n tx.send(i).unwrap();\n });\n}\n\nfor _ in 0..10 {\n let j = rx.recv().unwrap();\n assert!(0 <= j && j < 10);\n}\n```\n\nPropagating panics:\n\n```\nuse std::sync::mpsc::channel;\n\n// The call to recv() will return an error because the channel has already\n// hung up (or been deallocated)\nlet (tx, rx) = channel::();\ndrop(tx);\nassert!(rx.recv().is_err());\n```\n\nSynchronous channels:\n\n```\nuse std::thread;\nuse std::sync::mpsc::sync_channel;\n\nlet (tx, rx) = sync_channel::(0);\nthread::spawn(move || {\n // This will wait for the parent thread to start receiving\n tx.send(53).unwrap();\n});\nrx.recv().unwrap();\n```\n\nUnbounded receive loop:\n\n```\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\nlet (tx, rx) = sync_channel(3);\n\nfor _ in 0..3 {\n // It would be the same without thread and clone here\n // since there will still be one `tx` left.\n let tx = tx.clone();\n // cloned tx dropped within thread\n thread::spawn(move || tx.send(\"ok\").unwrap());\n}\n\n// Drop the last sender to stop `rx` waiting for message.\n// The program will not complete if we comment this out.\n// **All** `tx` needs to be dropped for `rx` to have `Err`.\ndrop(tx);\n\n// Unbounded receiver waiting for all senders to complete.\nwhile let Ok(msg) = rx.recv() {\n println!(\"{msg}\");\n}\n\nprintln!(\"completed\");\n```", + "id": 494, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 7441, + 7448, + 7450, + 7471, + 7443, + 7444, + 7245, + 7241, + 7247, + 7243, + 7249, + 7438, + 7439 + ] + } + }, + "links": { + "Result::unwrap": 471, + "Sender::send": 7537, + "`Err`": 59, + "`Receiver`": 7441, + "`Result`": 57, + "`Sender`": 7443, + "`SyncSender`": 7444, + "`channel`": 7438, + "`sync_channel`": 7439 + }, + "name": "mpsc", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 1212, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "4940": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -432595,7 +451837,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the address is unnamed.\n\n# Examples\n\nA named address:\n\n```no_run\nuse std::os::unix::net::UnixListener;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixListener::bind(\"/tmp/sock\")?;\n let addr = socket.local_addr().expect(\"Couldn't get local address\");\n assert_eq!(addr.is_unnamed(), false);\n Ok(())\n}\n```\n\nAn unnamed address:\n\n```\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixDatagram::unbound()?;\n let addr = socket.local_addr().expect(\"Couldn't get local address\");\n assert_eq!(addr.is_unnamed(), true);\n Ok(())\n}\n```", - "id": 4935, + "id": 4940, "inner": { "function": { "generics": { @@ -432646,7 +451888,7 @@ }, "visibility": "public" }, - "4936": { + "4941": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -432660,7 +451902,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the contents of this address if it is a `pathname` address.\n\n# Examples\n\nWith a pathname:\n\n```no_run\nuse std::os::unix::net::UnixListener;\nuse std::path::Path;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixListener::bind(\"/tmp/sock\")?;\n let addr = socket.local_addr().expect(\"Couldn't get local address\");\n assert_eq!(addr.as_pathname(), Some(Path::new(\"/tmp/sock\")));\n Ok(())\n}\n```\n\nWithout a pathname:\n\n```\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixDatagram::unbound()?;\n let addr = socket.local_addr().expect(\"Couldn't get local address\");\n assert_eq!(addr.as_pathname(), None);\n Ok(())\n}\n```", - "id": 4936, + "id": 4941, "inner": { "function": { "generics": { @@ -432703,7 +451945,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -432736,19 +451978,19 @@ }, "visibility": "public" }, - "4937": { + "4942": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4937, + "id": 4942, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -432760,9 +452002,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4934, - 4935, - 4936 + 4939, + 4940, + 4941 ], "provided_trait_methods": [], "trait": null @@ -432783,19 +452025,19 @@ }, "visibility": "default" }, - "4938": { + "4943": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4938, + "id": 4943, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -432820,19 +452062,19 @@ "span": null, "visibility": "default" }, - "4939": { + "4944": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4939, + "id": 4944, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -432857,76 +452099,19 @@ "span": null, "visibility": "default" }, - "494": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A Condition Variable\n\nCondition variables represent the ability to block a thread such that it\nconsumes no CPU time while waiting for an event to occur. Condition\nvariables are typically associated with a boolean predicate (a condition)\nand a mutex. The predicate is always verified inside of the mutex before\ndetermining that a thread must block.\n\nFunctions in this module will block the current **thread** of execution.\nNote that any attempt to use multiple mutexes on the same condition\nvariable may result in a runtime panic.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\n// Inside of our lock, spawn a new thread, and then wait for it to start.\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\nwhile !*started {\n started = cvar.wait(started).unwrap();\n}\n```", - "id": 494, - "inner": { - "struct": { - "generics": { - "params": [], - "where_predicates": [] - }, - "impls": [ - 7866, - 7867, - 7868, - 7869, - 7870, - 7871, - 7872, - 7873, - 7874, - 7875, - 7876, - 7877, - 7878, - 7879, - 7881, - 7883 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": {}, - "name": "Condvar", - "span": { - "begin": [ - 109, - 1 - ], - "end": [ - 111, - 2 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "public" - }, - "4940": { + "4945": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4940, + "id": 4945, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -432941,7 +452126,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -432951,19 +452136,19 @@ "span": null, "visibility": "default" }, - "4941": { + "4946": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4941, + "id": 4946, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -432988,19 +452173,19 @@ "span": null, "visibility": "default" }, - "4942": { + "4947": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4942, + "id": 4947, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433015,7 +452200,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -433025,19 +452210,19 @@ "span": null, "visibility": "default" }, - "4943": { + "4948": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4943, + "id": 4948, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433052,7 +452237,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -433062,12 +452247,12 @@ "span": null, "visibility": "default" }, - "4944": { + "4949": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4944, + "id": 4949, "inner": { "impl": { "blanket_impl": { @@ -433076,7 +452261,7 @@ "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433121,7 +452306,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -433137,7 +452322,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -433146,23 +452331,80 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4945": { + "495": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A Condition Variable\n\nCondition variables represent the ability to block a thread such that it\nconsumes no CPU time while waiting for an event to occur. Condition\nvariables are typically associated with a boolean predicate (a condition)\nand a mutex. The predicate is always verified inside of the mutex before\ndetermining that a thread must block.\n\nFunctions in this module will block the current **thread** of execution.\nNote that any attempt to use multiple mutexes on the same condition\nvariable may result in a runtime panic.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\n// Inside of our lock, spawn a new thread, and then wait for it to start.\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\nwhile !*started {\n started = cvar.wait(started).unwrap();\n}\n```", + "id": 495, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 8305, + 8306, + 8307, + 8308, + 8309, + 8310, + 8311, + 8312, + 8313, + 8314, + 8315, + 8316, + 8317, + 8318, + 8320, + 8322 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": {}, + "name": "Condvar", + "span": { + "begin": [ + 45, + 1 + ], + "end": [ + 47, + 2 + ], + "filename": "std/src/sync/poison/condvar.rs" + }, + "visibility": "public" + }, + "4950": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4945, + "id": 4950, "inner": { "impl": { "blanket_impl": { @@ -433171,7 +452413,7 @@ "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433216,7 +452458,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -433232,7 +452474,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -433241,23 +452483,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "4946": { + "4951": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4946, + "id": 4951, "inner": { "impl": { "blanket_impl": { @@ -433266,7 +452508,7 @@ "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433293,7 +452535,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -433325,23 +452567,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "4947": { + "4952": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4947, + "id": 4952, "inner": { "impl": { "blanket_impl": { @@ -433350,7 +452592,7 @@ "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433416,7 +452658,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -433441,23 +452683,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4948": { + "4953": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4948, + "id": 4953, "inner": { "impl": { "blanket_impl": { @@ -433466,7 +452708,7 @@ "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433489,7 +452731,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -433514,23 +452756,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4949": { + "4954": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4949, + "id": 4954, "inner": { "impl": { "blanket_impl": { @@ -433539,7 +452781,7 @@ "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433587,7 +452829,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -433605,8 +452847,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -433622,7 +452864,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -433631,125 +452873,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "495": { - "attrs": [ - { - "other": "#[(not(test), rustc_diagnostic_item = \"Mutex\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"Mutex\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A mutual exclusion primitive useful for protecting shared data\n\nThis mutex will block threads waiting for the lock to become available. The\nmutex can be created via a [`new`] constructor. Each mutex has a type parameter\nwhich represents the data that it is protecting. The data can only be accessed\nthrough the RAII guards returned from [`lock`] and [`try_lock`], which\nguarantees that the data is only ever accessed when the mutex is locked.\n\n# Poisoning\n\nThe mutexes in this module implement a strategy called \"poisoning\" where a\nmutex becomes poisoned if it recognizes that the thread holding it has\npanicked.\n\nOnce a mutex is poisoned, all other threads are unable to access the data by\ndefault as it is likely tainted (some invariant is not being upheld). For a\nmutex, this means that the [`lock`] and [`try_lock`] methods return a\n[`Result`] which indicates whether a mutex has been poisoned or not. Most\nusage of a mutex will simply [`unwrap()`] these results, propagating panics\namong threads to ensure that a possibly invalid invariant is not witnessed.\n\nPoisoning is only advisory: the [`PoisonError`] type has an [`into_inner`]\nmethod which will return the guard that would have otherwise been returned\non a successful lock. This allows access to the data, despite the lock being\npoisoned.\n\nIn addition, the panic detection is not ideal, so even unpoisoned mutexes\nneed to be handled with care, since certain panics may have been skipped.\nHere is a non-exhaustive list of situations where this might occur:\n\n- If a mutex is locked while a panic is underway, e.g. within a [`Drop`]\n implementation or a [panic hook], panicking for the second time while the\n lock is held will leave the mutex unpoisoned. Note that while double panic\n usually aborts the program, [`catch_unwind`] can prevent this.\n\n- Locking and unlocking the mutex across different panic contexts, e.g. by\n storing the guard to a [`Cell`] within [`Drop::drop`] and accessing it\n outside, or vice versa, can affect poisoning status in an unexpected way.\n\n- Foreign exceptions do not currently trigger poisoning even in absence of\n other panics.\n\nWhile this rarely happens in realistic code, `unsafe` code cannot rely on\npoisoning for soundness, since the behavior of poisoning can depend on\noutside context. Here's an example of **incorrect** use of poisoning:\n\n```rust\nuse std::sync::Mutex;\n\nstruct MutexBox {\n data: Mutex<*mut T>,\n}\n\nimpl MutexBox {\n pub fn new(value: T) -> Self {\n Self {\n data: Mutex::new(Box::into_raw(Box::new(value))),\n }\n }\n\n pub fn replace_with(&self, f: impl FnOnce(T) -> T) {\n let ptr = self.data.lock().expect(\"poisoned\");\n // While `f` is running, the data is moved out of `*ptr`. If `f`\n // panics, `*ptr` keeps pointing at a dropped value. The intention\n // is that this will poison the mutex, so the following calls to\n // `replace_with` will panic without reading `*ptr`. But since\n // poisoning is not guaranteed to occur if this is run from a panic\n // hook, this can lead to use-after-free.\n unsafe {\n (*ptr).write(f((*ptr).read()));\n }\n }\n}\n```\n\n[`new`]: Self::new\n[`lock`]: Self::lock\n[`try_lock`]: Self::try_lock\n[`unwrap()`]: Result::unwrap\n[`PoisonError`]: super::PoisonError\n[`into_inner`]: super::PoisonError::into_inner\n[panic hook]: crate::panic::set_hook\n[`catch_unwind`]: crate::panic::catch_unwind\n[`Cell`]: crate::cell::Cell\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\nuse std::sync::mpsc::channel;\n\nconst N: usize = 10;\n\n// Spawn a few threads to increment a shared variable (non-atomically), and\n// let the main thread know once all increments are done.\n//\n// Here we're using an Arc to share memory among threads, and the data inside\n// the Arc is protected with a mutex.\nlet data = Arc::new(Mutex::new(0));\n\nlet (tx, rx) = channel();\nfor _ in 0..N {\n let (data, tx) = (Arc::clone(&data), tx.clone());\n thread::spawn(move || {\n // The shared state can only be accessed once the lock is held.\n // Our non-atomic increment is safe because we're the only thread\n // which can access the shared state when the lock is held.\n //\n // We unwrap() the return value to assert that we are not expecting\n // threads to ever fail while holding the lock.\n let mut data = data.lock().unwrap();\n *data += 1;\n if *data == N {\n tx.send(()).unwrap();\n }\n // the lock is unlocked here when `data` goes out of scope.\n });\n}\n\nrx.recv().unwrap();\n```\n\nTo recover from a poisoned mutex:\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet lock = Arc::new(Mutex::new(0_u32));\nlet lock2 = Arc::clone(&lock);\n\nlet _ = thread::spawn(move || -> () {\n // This thread will acquire the mutex first, unwrapping the result of\n // `lock` because the lock has not been poisoned.\n let _guard = lock2.lock().unwrap();\n\n // This panic while holding the lock (`_guard` is in scope) will poison\n // the mutex.\n panic!();\n}).join();\n\n// The lock is poisoned by this point, but the returned result can be\n// pattern matched on to return the underlying guard on both branches.\nlet mut guard = match lock.lock() {\n Ok(guard) => guard,\n Err(poisoned) => poisoned.into_inner(),\n};\n\n*guard += 1;\n```\n\nTo unlock a mutex guard sooner than the end of the enclosing scope,\neither create an inner scope or drop the guard manually.\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nconst N: usize = 3;\n\nlet data_mutex = Arc::new(Mutex::new(vec![1, 2, 3, 4]));\nlet res_mutex = Arc::new(Mutex::new(0));\n\nlet mut threads = Vec::with_capacity(N);\n(0..N).for_each(|_| {\n let data_mutex_clone = Arc::clone(&data_mutex);\n let res_mutex_clone = Arc::clone(&res_mutex);\n\n threads.push(thread::spawn(move || {\n // Here we use a block to limit the lifetime of the lock guard.\n let result = {\n let mut data = data_mutex_clone.lock().unwrap();\n // This is the result of some important and long-ish work.\n let result = data.iter().fold(0, |acc, x| acc + x * 2);\n data.push(result);\n result\n // The mutex guard gets dropped here, together with any other values\n // created in the critical section.\n };\n // The guard created here is a temporary dropped at the end of the statement, i.e.\n // the lock would not remain being held even if the thread did some additional work.\n *res_mutex_clone.lock().unwrap() += result;\n }));\n});\n\nlet mut data = data_mutex.lock().unwrap();\n// This is the result of some important and long-ish work.\nlet result = data.iter().fold(0, |acc, x| acc + x * 2);\ndata.push(result);\n// We drop the `data` explicitly because it's not necessary anymore and the\n// thread still has work to do. This allows other threads to start working on\n// the data immediately, without waiting for the rest of the unrelated work\n// to be done here.\n//\n// It's even more important here than in the threads because we `.join` the\n// threads after that. If we had not dropped the mutex guard, a thread could\n// be waiting forever for it, causing a deadlock.\n// As in the threads, a block could have been used instead of calling the\n// `drop` function.\ndrop(data);\n// Here the mutex guard is not assigned to a variable and so, even if the\n// scope does not end after this line, the mutex is still released: there is\n// no deadlock.\n*res_mutex.lock().unwrap() += result;\n\nthreads.into_iter().for_each(|thread| {\n thread\n .join()\n .expect(\"The thread creating or execution failed !\")\n});\n\nassert_eq!(*res_mutex.lock().unwrap(), 800);\n```\n", - "id": 495, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "impls": [ - 7897, - 7907, - 7908, - 7909, - 7910, - 7911, - 7912, - 7913, - 7914, - 7915, - 7916, - 7917, - 7918, - 7919, - 7920, - 7921, - 7923, - 7925, - 7927 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "Result::unwrap": 470, - "Self::lock": 7889, - "Self::new": 7888, - "Self::try_lock": 7890, - "`Drop::drop`": 7893, - "`Drop`": 9, - "`Result`": 57, - "crate::cell::Cell": 378, - "crate::panic::catch_unwind": 6243, - "crate::panic::set_hook": 6238, - "super::PoisonError": 7891, - "super::PoisonError::into_inner": 7892 - }, - "name": "Mutex", - "span": { - "begin": [ - 227, - 1 - ], - "end": [ - 231, - 2 - ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "public" - }, - "4950": { + "4955": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4950, + "id": 4955, "inner": { "impl": { "blanket_impl": { @@ -433758,7 +452898,7 @@ "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433824,8 +452964,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -433841,7 +452981,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -433850,23 +452990,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4951": { + "4956": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4951, + "id": 4956, "inner": { "impl": { "blanket_impl": { @@ -433875,7 +453015,7 @@ "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433923,12 +453063,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -433948,12 +453088,12 @@ }, "visibility": "default" }, - "4952": { + "4957": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4952, + "id": 4957, "inner": { "impl": { "blanket_impl": { @@ -433962,7 +453102,7 @@ "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -433989,7 +453129,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -434016,7 +453156,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -434025,18 +453165,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "4953": { + "4958": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -434045,7 +453185,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4953, + "id": 4958, "inner": { "function": { "generics": { @@ -434078,7 +453218,7 @@ "output": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -434100,7 +453240,7 @@ }, "visibility": "default" }, - "4954": { + "4959": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -434113,14 +453253,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4954, + "id": 4959, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -434132,14 +453272,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4953 + 4958 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -434159,12 +453299,114 @@ }, "visibility": "default" }, - "4955": { + "496": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"Mutex\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"Mutex\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A mutual exclusion primitive useful for protecting shared data\n\nThis mutex will block threads waiting for the lock to become available. The\nmutex can be created via a [`new`] constructor. Each mutex has a type parameter\nwhich represents the data that it is protecting. The data can only be accessed\nthrough the RAII guards returned from [`lock`] and [`try_lock`], which\nguarantees that the data is only ever accessed when the mutex is locked.\n\n# Poisoning\n\nThe mutexes in this module implement a strategy called \"poisoning\" where a\nmutex becomes poisoned if it recognizes that the thread holding it has\npanicked.\n\nOnce a mutex is poisoned, all other threads are unable to access the data by\ndefault as it is likely tainted (some invariant is not being upheld). For a\nmutex, this means that the [`lock`] and [`try_lock`] methods return a\n[`Result`] which indicates whether a mutex has been poisoned or not. Most\nusage of a mutex will simply [`unwrap()`] these results, propagating panics\namong threads to ensure that a possibly invalid invariant is not witnessed.\n\nPoisoning is only advisory: the [`PoisonError`] type has an [`into_inner`]\nmethod which will return the guard that would have otherwise been returned\non a successful lock. This allows access to the data, despite the lock being\npoisoned.\n\nIn addition, the panic detection is not ideal, so even unpoisoned mutexes\nneed to be handled with care, since certain panics may have been skipped.\nHere is a non-exhaustive list of situations where this might occur:\n\n- If a mutex is locked while a panic is underway, e.g. within a [`Drop`]\n implementation or a [panic hook], panicking for the second time while the\n lock is held will leave the mutex unpoisoned. Note that while double panic\n usually aborts the program, [`catch_unwind`] can prevent this.\n\n- Locking and unlocking the mutex across different panic contexts, e.g. by\n storing the guard to a [`Cell`] within [`Drop::drop`] and accessing it\n outside, or vice versa, can affect poisoning status in an unexpected way.\n\n- Foreign exceptions do not currently trigger poisoning even in absence of\n other panics.\n\nWhile this rarely happens in realistic code, `unsafe` code cannot rely on\npoisoning for soundness, since the behavior of poisoning can depend on\noutside context. Here's an example of **incorrect** use of poisoning:\n\n```rust\nuse std::sync::Mutex;\n\nstruct MutexBox {\n data: Mutex<*mut T>,\n}\n\nimpl MutexBox {\n pub fn new(value: T) -> Self {\n Self {\n data: Mutex::new(Box::into_raw(Box::new(value))),\n }\n }\n\n pub fn replace_with(&self, f: impl FnOnce(T) -> T) {\n let ptr = self.data.lock().expect(\"poisoned\");\n // While `f` is running, the data is moved out of `*ptr`. If `f`\n // panics, `*ptr` keeps pointing at a dropped value. The intention\n // is that this will poison the mutex, so the following calls to\n // `replace_with` will panic without reading `*ptr`. But since\n // poisoning is not guaranteed to occur if this is run from a panic\n // hook, this can lead to use-after-free.\n unsafe {\n (*ptr).write(f((*ptr).read()));\n }\n }\n}\n```\n\n[`new`]: Self::new\n[`lock`]: Self::lock\n[`try_lock`]: Self::try_lock\n[`unwrap()`]: Result::unwrap\n[`PoisonError`]: super::PoisonError\n[`into_inner`]: super::PoisonError::into_inner\n[panic hook]: crate::panic::set_hook\n[`catch_unwind`]: crate::panic::catch_unwind\n[`Cell`]: crate::cell::Cell\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\nuse std::sync::mpsc::channel;\n\nconst N: usize = 10;\n\n// Spawn a few threads to increment a shared variable (non-atomically), and\n// let the main thread know once all increments are done.\n//\n// Here we're using an Arc to share memory among threads, and the data inside\n// the Arc is protected with a mutex.\nlet data = Arc::new(Mutex::new(0));\n\nlet (tx, rx) = channel();\nfor _ in 0..N {\n let (data, tx) = (Arc::clone(&data), tx.clone());\n thread::spawn(move || {\n // The shared state can only be accessed once the lock is held.\n // Our non-atomic increment is safe because we're the only thread\n // which can access the shared state when the lock is held.\n //\n // We unwrap() the return value to assert that we are not expecting\n // threads to ever fail while holding the lock.\n let mut data = data.lock().unwrap();\n *data += 1;\n if *data == N {\n tx.send(()).unwrap();\n }\n // the lock is unlocked here when `data` goes out of scope.\n });\n}\n\nrx.recv().unwrap();\n```\n\nTo recover from a poisoned mutex:\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet lock = Arc::new(Mutex::new(0_u32));\nlet lock2 = Arc::clone(&lock);\n\nlet _ = thread::spawn(move || -> () {\n // This thread will acquire the mutex first, unwrapping the result of\n // `lock` because the lock has not been poisoned.\n let _guard = lock2.lock().unwrap();\n\n // This panic while holding the lock (`_guard` is in scope) will poison\n // the mutex.\n panic!();\n}).join();\n\n// The lock is poisoned by this point, but the returned result can be\n// pattern matched on to return the underlying guard on both branches.\nlet mut guard = match lock.lock() {\n Ok(guard) => guard,\n Err(poisoned) => poisoned.into_inner(),\n};\n\n*guard += 1;\n```\n\nTo unlock a mutex guard sooner than the end of the enclosing scope,\neither create an inner scope or drop the guard manually.\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nconst N: usize = 3;\n\nlet data_mutex = Arc::new(Mutex::new(vec![1, 2, 3, 4]));\nlet res_mutex = Arc::new(Mutex::new(0));\n\nlet mut threads = Vec::with_capacity(N);\n(0..N).for_each(|_| {\n let data_mutex_clone = Arc::clone(&data_mutex);\n let res_mutex_clone = Arc::clone(&res_mutex);\n\n threads.push(thread::spawn(move || {\n // Here we use a block to limit the lifetime of the lock guard.\n let result = {\n let mut data = data_mutex_clone.lock().unwrap();\n // This is the result of some important and long-ish work.\n let result = data.iter().fold(0, |acc, x| acc + x * 2);\n data.push(result);\n result\n // The mutex guard gets dropped here, together with any other values\n // created in the critical section.\n };\n // The guard created here is a temporary dropped at the end of the statement, i.e.\n // the lock would not remain being held even if the thread did some additional work.\n *res_mutex_clone.lock().unwrap() += result;\n }));\n});\n\nlet mut data = data_mutex.lock().unwrap();\n// This is the result of some important and long-ish work.\nlet result = data.iter().fold(0, |acc, x| acc + x * 2);\ndata.push(result);\n// We drop the `data` explicitly because it's not necessary anymore and the\n// thread still has work to do. This allows other threads to start working on\n// the data immediately, without waiting for the rest of the unrelated work\n// to be done here.\n//\n// It's even more important here than in the threads because we `.join` the\n// threads after that. If we had not dropped the mutex guard, a thread could\n// be waiting forever for it, causing a deadlock.\n// As in the threads, a block could have been used instead of calling the\n// `drop` function.\ndrop(data);\n// Here the mutex guard is not assigned to a variable and so, even if the\n// scope does not end after this line, the mutex is still released: there is\n// no deadlock.\n*res_mutex.lock().unwrap() += result;\n\nthreads.into_iter().for_each(|thread| {\n thread\n .join()\n .expect(\"The thread creating or execution failed !\")\n});\n\nassert_eq!(*res_mutex.lock().unwrap(), 800);\n```\n", + "id": 496, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 8335, + 8344, + 8345, + 8346, + 8347, + 8348, + 8349, + 8350, + 8351, + 8352, + 8353, + 8354, + 8355, + 8356, + 8357, + 8358, + 8360, + 8362, + 8364 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "Result::unwrap": 471, + "Self::lock": 8328, + "Self::new": 8327, + "Self::try_lock": 8329, + "`Drop::drop`": 8331, + "`Drop`": 9, + "`Result`": 57, + "crate::cell::Cell": 378, + "crate::panic::catch_unwind": 6276, + "crate::panic::set_hook": 6271, + "super::PoisonError": 8330, + "super::PoisonError::into_inner": 7830 + }, + "name": "Mutex", + "span": { + "begin": [ + 227, + 1 + ], + "end": [ + 231, + 2 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "public" + }, + "4960": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4955, + "id": 4960, "inner": { "function": { "generics": { @@ -434238,12 +453480,12 @@ }, "visibility": "default" }, - "4956": { + "4961": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4956, + "id": 4961, "inner": { "function": { "generics": { @@ -434327,7 +453569,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "crate::io::Result" } } @@ -434349,16 +453591,16 @@ }, "visibility": "default" }, - "4957": { + "4962": { "attrs": [ { "other": "#[doc(cfg(unix))]" }, { - "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\")))]" + "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")))]" }, { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -434367,14 +453609,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4957, + "id": 4962, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -434386,13 +453628,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4955, - 4956 + 4960, + 4961 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4958, + "id": 4963, "path": "SocketAddrExt" } } @@ -434412,7 +453654,7 @@ }, "visibility": "default" }, - "4958": { + "4963": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -434421,7 +453663,7 @@ "crate_id": 0, "deprecation": null, "docs": "Platform-specific extensions to [`SocketAddr`].", - "id": 4958, + "id": 4963, "inner": { "trait": { "bounds": [ @@ -434431,7 +453673,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -434442,19 +453684,19 @@ "where_predicates": [] }, "implementations": [ - 4957 + 4962 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 6185, - 6186 + 6218, + 6219 ] } }, "links": { - "`SocketAddr`": 4933 + "`SocketAddr`": 4938 }, "name": "SocketAddrExt", "span": { @@ -434470,12 +453712,12 @@ }, "visibility": "public" }, - "4959": { + "4964": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4959, + "id": 4964, "inner": { "function": { "generics": { @@ -434521,7 +453763,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -434533,7 +453775,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -434555,57 +453797,7 @@ }, "visibility": "default" }, - "496": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Cooperatively gives up a timeslice to the OS scheduler.\n\nThis calls the underlying OS scheduler's yield primitive, signaling\nthat the calling thread is willing to give up its remaining timeslice\nso that the OS may schedule other threads on the CPU.\n\nA drawback of yielding in a loop is that if the OS does not have any\nother ready threads to run on the current CPU, the thread will effectively\nbusy-wait, which wastes CPU time and energy.\n\nTherefore, when waiting for events of interest, a programmer's first\nchoice should be to use synchronization devices such as [`channel`]s,\n[`Condvar`]s, [`Mutex`]es or [`join`] since these primitives are\nimplemented in a blocking manner, giving up the CPU until the event\nof interest has occurred which avoids repeated yielding.\n\n`yield_now` should thus be used only rarely, mostly in situations where\nrepeated polling is required because there is no other suitable way to\nlearn when an event of interest has occurred.\n\n# Examples\n\n```\nuse std::thread;\n\nthread::yield_now();\n```\n\n[`channel`]: crate::sync::mpsc\n[`join`]: JoinHandle::join\n[`Condvar`]: crate::sync::Condvar\n[`Mutex`]: crate::sync::Mutex", - "id": 496, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "JoinHandle::join": 382, - "crate::sync::Condvar": 494, - "crate::sync::Mutex": 495, - "crate::sync::mpsc": 493 - }, - "name": "yield_now", - "span": { - "begin": [ - 765, - 1 - ], - "end": [ - 767, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4960": { + "4965": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -434617,14 +453809,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4960, + "id": 4965, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } }, @@ -434636,12 +453828,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4959 + 4964 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -434661,18 +453853,18 @@ }, "visibility": "default" }, - "4961": { + "4966": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4961, + "id": 4966, "inner": { "module": { "is_crate": false, "is_stripped": true, "items": [ - 4933 + 4938 ] } }, @@ -434691,12 +453883,12 @@ }, "visibility": { "restricted": { - "parent": 4962, + "parent": 4967, "path": "::os::unix::net" } } }, - "4962": { + "4967": { "attrs": [ { "other": "#[allow(irrefutable_let_patterns)]" @@ -434708,18 +453900,18 @@ "crate_id": 0, "deprecation": null, "docs": "Unix-specific networking functionality.", - "id": 4962, + "id": 4967, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5329, - 5330, - 5331, - 5332, - 5333, - 5334 + 5334, + 5335, + 5336, + 5337, + 5338, + 5339 ] } }, @@ -434738,10 +453930,10 @@ }, "visibility": "public" }, - "4964": { + "4969": { "attrs": [ { - "other": "#[(any(target_os = \"android\", target_os = \"linux\",))]" + "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -434750,7 +453942,7 @@ "crate_id": 0, "deprecation": null, "docs": "Unix credential.", - "id": 4964, + "id": 4969, "inner": { "struct": { "generics": { @@ -434758,11 +453950,6 @@ "where_predicates": [] }, "impls": [ - 4975, - 4976, - 4977, - 4978, - 4979, 4980, 4981, 4982, @@ -434774,7 +453961,12 @@ 4988, 4989, 4990, - 4992 + 4991, + 4992, + 4993, + 4994, + 4995, + 4997 ], "kind": { "tuple": [ @@ -434787,18 +453979,68 @@ "name": "SocketCred", "span": { "begin": [ - 208, + 210, 1 ], "end": [ - 208, + 210, 36 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "4965": { + "497": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Cooperatively gives up a timeslice to the OS scheduler.\n\nThis calls the underlying OS scheduler's yield primitive, signaling\nthat the calling thread is willing to give up its remaining timeslice\nso that the OS may schedule other threads on the CPU.\n\nA drawback of yielding in a loop is that if the OS does not have any\nother ready threads to run on the current CPU, the thread will effectively\nbusy-wait, which wastes CPU time and energy.\n\nTherefore, when waiting for events of interest, a programmer's first\nchoice should be to use synchronization devices such as [`channel`]s,\n[`Condvar`]s, [`Mutex`]es or [`join`] since these primitives are\nimplemented in a blocking manner, giving up the CPU until the event\nof interest has occurred which avoids repeated yielding.\n\n`yield_now` should thus be used only rarely, mostly in situations where\nrepeated polling is required because there is no other suitable way to\nlearn when an event of interest has occurred.\n\n# Examples\n\n```\nuse std::thread;\n\nthread::yield_now();\n```\n\n[`channel`]: crate::sync::mpsc\n[`join`]: JoinHandle::join\n[`Condvar`]: crate::sync::Condvar\n[`Mutex`]: crate::sync::Mutex", + "id": 497, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "JoinHandle::join": 382, + "crate::sync::Condvar": 495, + "crate::sync::Mutex": 496, + "crate::sync::mpsc": 494 + }, + "name": "yield_now", + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4970": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -434812,7 +454054,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a Unix credential struct.\n\nPID, UID and GID is set to 0.", - "id": 4965, + "id": 4970, "inner": { "function": { "generics": { @@ -434832,7 +454074,7 @@ "output": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } } @@ -434843,18 +454085,18 @@ "name": "new", "span": { "begin": [ - 228, + 230, 5 ], "end": [ - 230, + 232, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "4966": { + "4971": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -434863,7 +454105,7 @@ "crate_id": 0, "deprecation": null, "docs": "Set the PID.", - "id": 4966, + "id": 4971, "inner": { "function": { "generics": { @@ -434896,7 +454138,7 @@ { "resolved_path": { "args": null, - "id": 4967, + "id": 4972, "path": "libc::pid_t" } } @@ -434911,18 +454153,18 @@ "name": "set_pid", "span": { "begin": [ - 234, + 236, 5 ], "end": [ - 236, + 238, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "4968": { + "4973": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -434936,7 +454178,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the current PID.", - "id": 4968, + "id": 4973, "inner": { "function": { "generics": { @@ -434969,7 +454211,7 @@ "output": { "resolved_path": { "args": null, - "id": 4967, + "id": 4972, "path": "libc::pid_t" } } @@ -434980,18 +454222,18 @@ "name": "get_pid", "span": { "begin": [ - 241, + 243, 5 ], "end": [ - 243, + 245, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "4969": { + "4974": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -435000,7 +454242,7 @@ "crate_id": 0, "deprecation": null, "docs": "Set the UID.", - "id": 4969, + "id": 4974, "inner": { "function": { "generics": { @@ -435033,7 +454275,7 @@ { "resolved_path": { "args": null, - "id": 4970, + "id": 4975, "path": "libc::uid_t" } } @@ -435048,75 +454290,18 @@ "name": "set_uid", "span": { "begin": [ - 247, + 249, 5 ], "end": [ - 249, + 251, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "497": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Determines whether the current thread is unwinding because of panic.\n\nA common use of this feature is to poison shared resources when writing\nunsafe code, by checking `panicking` when the `drop` is called.\n\nThis is usually not needed when writing safe code, as [`Mutex`es][Mutex]\nalready poison themselves when a thread panics while holding the lock.\n\nThis can also be used in multithreaded applications, in order to send a\nmessage to other threads warning that a thread has panicked (e.g., for\nmonitoring purposes).\n\n# Examples\n\n```should_panic\nuse std::thread;\n\nstruct SomeStruct;\n\nimpl Drop for SomeStruct {\n fn drop(&mut self) {\n if thread::panicking() {\n println!(\"dropped while unwinding\");\n } else {\n println!(\"dropped while not unwinding\");\n }\n }\n}\n\n{\n print!(\"a: \");\n let a = SomeStruct;\n}\n\n{\n print!(\"b: \");\n let b = SomeStruct;\n panic!()\n}\n```\n\n[Mutex]: crate::sync::Mutex", - "id": 497, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": { - "crate::sync::Mutex": 495 - }, - "name": "panicking", - "span": { - "begin": [ - 814, - 1 - ], - "end": [ - 816, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4971": { + "4976": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -435130,7 +454315,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the current UID.", - "id": 4971, + "id": 4976, "inner": { "function": { "generics": { @@ -435163,7 +454348,7 @@ "output": { "resolved_path": { "args": null, - "id": 4970, + "id": 4975, "path": "libc::uid_t" } } @@ -435174,18 +454359,18 @@ "name": "get_uid", "span": { "begin": [ - 254, + 256, 5 ], "end": [ - 256, + 258, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "4972": { + "4977": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -435194,7 +454379,7 @@ "crate_id": 0, "deprecation": null, "docs": "Set the GID.", - "id": 4972, + "id": 4977, "inner": { "function": { "generics": { @@ -435227,7 +454412,7 @@ { "resolved_path": { "args": null, - "id": 4973, + "id": 4978, "path": "libc::gid_t" } } @@ -435242,18 +454427,18 @@ "name": "set_gid", "span": { "begin": [ - 260, + 262, 5 ], "end": [ - 262, + 264, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "4974": { + "4979": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -435267,7 +454452,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the current GID.", - "id": 4974, + "id": 4979, "inner": { "function": { "generics": { @@ -435300,7 +454485,7 @@ "output": { "resolved_path": { "args": null, - "id": 4973, + "id": 4978, "path": "libc::gid_t" } } @@ -435311,37 +454496,94 @@ "name": "get_gid", "span": { "begin": [ - 267, + 269, 5 ], "end": [ - 269, + 271, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "4975": { + "498": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Determines whether the current thread is unwinding because of panic.\n\nA common use of this feature is to poison shared resources when writing\nunsafe code, by checking `panicking` when the `drop` is called.\n\nThis is usually not needed when writing safe code, as [`Mutex`es][Mutex]\nalready poison themselves when a thread panics while holding the lock.\n\nThis can also be used in multithreaded applications, in order to send a\nmessage to other threads warning that a thread has panicked (e.g., for\nmonitoring purposes).\n\n# Examples\n\n```should_panic\nuse std::thread;\n\nstruct SomeStruct;\n\nimpl Drop for SomeStruct {\n fn drop(&mut self) {\n if thread::panicking() {\n println!(\"dropped while unwinding\");\n } else {\n println!(\"dropped while not unwinding\");\n }\n }\n}\n\n{\n print!(\"a: \");\n let a = SomeStruct;\n}\n\n{\n print!(\"b: \");\n let b = SomeStruct;\n panic!()\n}\n```\n\n[Mutex]: crate::sync::Mutex", + "id": 498, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": { + "crate::sync::Mutex": 496 + }, + "name": "panicking", + "span": { + "begin": [ + 816, + 1 + ], + "end": [ + 818, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "4980": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\")))]" + "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")))]" }, { - "other": "#[(any(target_os = \"android\", target_os = \"linux\"))]" + "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4975, + "id": 4980, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -435353,13 +454595,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4965, - 4966, - 4968, - 4969, + 4970, 4971, - 4972, - 4974 + 4973, + 4974, + 4976, + 4977, + 4979 ], "provided_trait_methods": [], "trait": null @@ -435369,30 +454611,30 @@ "name": null, "span": { "begin": [ - 222, + 224, 1 ], "end": [ - 270, + 272, 2 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "4976": { + "4981": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4976, + "id": 4981, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -435417,19 +454659,19 @@ "span": null, "visibility": "default" }, - "4977": { + "4982": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4977, + "id": 4982, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -435454,19 +454696,19 @@ "span": null, "visibility": "default" }, - "4978": { + "4983": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4978, + "id": 4983, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -435481,7 +454723,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -435491,19 +454733,19 @@ "span": null, "visibility": "default" }, - "4979": { + "4984": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4979, + "id": 4984, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -435528,77 +454770,56 @@ "span": null, "visibility": "default" }, - "498": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"thread_sleep\"}}]" - } - ], + "4985": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Puts the current thread to sleep for at least the specified amount of time.\n\nThe thread may sleep longer than the duration specified due to scheduling\nspecifics or platform-dependent functionality. It will never sleep less.\n\nThis function is blocking, and should not be used in `async` functions.\n\n# Platform-specific behavior\n\nOn Unix platforms, the underlying syscall may be interrupted by a\nspurious wakeup or signal handler. To ensure the sleep occurs for at least\nthe specified duration, this function may invoke that system call multiple\ntimes.\nPlatforms which do not support nanosecond precision for sleeping will\nhave `dur` rounded up to the nearest granularity of time they can sleep for.\n\nCurrently, specifying a zero duration on Unix platforms returns immediately\nwithout invoking the underlying [`nanosleep`] syscall, whereas on Windows\nplatforms the underlying [`Sleep`] syscall is always invoked.\nIf the intention is to yield the current time-slice you may want to use\n[`yield_now`] instead.\n\n[`nanosleep`]: https://linux.die.net/man/2/nanosleep\n[`Sleep`]: https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-sleep\n\n# Examples\n\n```no_run\nuse std::{thread, time};\n\nlet ten_millis = time::Duration::from_millis(10);\nlet now = time::Instant::now();\n\nthread::sleep(ten_millis);\n\nassert!(now.elapsed() >= ten_millis);\n```", - "id": 498, + "docs": null, + "id": 4985, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4969, + "path": "SocketCred" + } + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "dur", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "crate::time::Duration" - } - } - ] - ], - "is_c_variadic": false, - "output": null + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, - "links": { - "`yield_now`": 496 - }, - "name": "sleep", - "span": { - "begin": [ - 886, - 1 - ], - "end": [ - 888, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "4980": { + "4986": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4980, + "id": 4986, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -435614,7 +454835,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -435623,49 +454844,202 @@ "span": null, "visibility": "default" }, - "4981": { + "4987": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4981, + "id": 4987, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 319 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "4982": { + "4988": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4982, + "id": 4988, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 4969, + "path": "SocketCred" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "4989": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 4989, "inner": { "impl": { "blanket_impl": { @@ -435674,7 +455048,7 @@ "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -435698,11 +455072,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 97, + "path": "Clone" } } } @@ -435719,24 +455093,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 422 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 424, + "path": "CloneToUninit" } } }, @@ -435744,202 +455107,81 @@ "name": null, "span": { "begin": [ - 209, + 515, 1 ], "end": [ - 209, - 32 + 515, + 42 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "4983": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 4983, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 4964, - "path": "SocketCred" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" - } + "499": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"thread_sleep\"}}]" } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "4984": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 4984, + "docs": "Puts the current thread to sleep for at least the specified amount of time.\n\nThe thread may sleep longer than the duration specified due to scheduling\nspecifics or platform-dependent functionality. It will never sleep less.\n\nThis function is blocking, and should not be used in `async` functions.\n\n# Platform-specific behavior\n\nOn Unix platforms, the underlying syscall may be interrupted by a\nspurious wakeup or signal handler. To ensure the sleep occurs for at least\nthe specified duration, this function may invoke that system call multiple\ntimes.\nPlatforms which do not support nanosecond precision for sleeping will\nhave `dur` rounded up to the nearest granularity of time they can sleep for.\n\nCurrently, specifying a zero duration on Unix platforms returns immediately\nwithout invoking the underlying [`nanosleep`] syscall, whereas on Windows\nplatforms the underlying [`Sleep`] syscall is always invoked.\nIf the intention is to yield the current time-slice you may want to use\n[`yield_now`] instead.\n\n[`nanosleep`]: https://linux.die.net/man/2/nanosleep\n[`Sleep`]: https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-sleep\n\n# Examples\n\n```no_run\nuse std::{thread, time};\n\nlet ten_millis = time::Duration::from_millis(10);\nlet now = time::Instant::now();\n\nthread::sleep(ten_millis);\n\nassert!(now.elapsed() >= ten_millis);\n```", + "id": 499, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 4964, - "path": "SocketCred" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" + "sig": { + "inputs": [ + [ + "dur", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "crate::time::Duration" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 422 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" + ] + ], + "is_c_variadic": false, + "output": null } } }, - "links": {}, - "name": null, + "links": { + "`yield_now`": 497 + }, + "name": "sleep", "span": { "begin": [ - 516, + 888, 1 ], "end": [ - 516, - 42 + 890, + 2 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "std/src/thread/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "4985": { + "4990": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4985, + "id": 4990, "inner": { "impl": { "blanket_impl": { @@ -435948,7 +455190,7 @@ "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -436014,7 +455256,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -436039,23 +455281,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4986": { + "4991": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4986, + "id": 4991, "inner": { "impl": { "blanket_impl": { @@ -436064,7 +455306,7 @@ "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -436087,7 +455329,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -436112,23 +455354,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4987": { + "4992": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4987, + "id": 4992, "inner": { "impl": { "blanket_impl": { @@ -436137,7 +455379,7 @@ "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -436185,7 +455427,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -436203,8 +455445,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -436220,7 +455462,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -436229,23 +455471,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4988": { + "4993": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4988, + "id": 4993, "inner": { "impl": { "blanket_impl": { @@ -436254,7 +455496,7 @@ "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -436320,8 +455562,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -436337,7 +455579,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -436346,23 +455588,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "4989": { + "4994": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4989, + "id": 4994, "inner": { "impl": { "blanket_impl": { @@ -436371,7 +455613,7 @@ "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -436419,12 +455661,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -436444,69 +455686,12 @@ }, "visibility": "default" }, - "499": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "replaced by `std::thread::sleep`", - "since": "1.6.0" - }, - "docs": "Uses [`sleep`].\n\nPuts the current thread to sleep for at least the specified amount of time.\n\nThe thread may sleep longer than the duration specified due to scheduling\nspecifics or platform-dependent functionality. It will never sleep less.\n\nThis function is blocking, and should not be used in `async` functions.\n\n# Platform-specific behavior\n\nOn Unix platforms, the underlying syscall may be interrupted by a\nspurious wakeup or signal handler. To ensure the sleep occurs for at least\nthe specified duration, this function may invoke that system call multiple\ntimes.\n\n# Examples\n\n```no_run\nuse std::thread;\n\n// Let's sleep for 2 seconds:\nthread::sleep_ms(2000);\n```", - "id": 499, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "ms", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "`sleep`": 498 - }, - "name": "sleep_ms", - "span": { - "begin": [ - 844, - 1 - ], - "end": [ - 846, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "4990": { + "4995": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4990, + "id": 4995, "inner": { "impl": { "blanket_impl": { @@ -436515,7 +455700,7 @@ "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -436542,7 +455727,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -436569,7 +455754,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -436578,18 +455763,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "4991": { + "4996": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -436598,7 +455783,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4991, + "id": 4996, "inner": { "function": { "generics": { @@ -436631,7 +455816,7 @@ "output": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } } @@ -436642,21 +455827,21 @@ "name": "clone", "span": { "begin": [ - 207, + 209, 10 ], "end": [ - 207, + 209, 15 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "4992": { + "4997": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\")))]" + "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")))]" }, { "other": "#[doc(cfg(unix))]" @@ -436669,14 +455854,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 4992, + "id": 4997, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } }, @@ -436688,14 +455873,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 4991 + 4996 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -436704,18 +455889,18 @@ "name": null, "span": { "begin": [ - 207, + 209, 10 ], "end": [ - 207, + 209, 15 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "4994": { + "4999": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -436724,7 +455909,7 @@ "crate_id": 0, "deprecation": null, "docs": "This control message contains file descriptors.\n\nThe level is equal to `SOL_SOCKET` and the type is equal to `SCM_RIGHTS`.", - "id": 4994, + "id": 4999, "inner": { "struct": { "generics": { @@ -436741,11 +455926,6 @@ "where_predicates": [] }, "impls": [ - 4995, - 4996, - 4997, - 4998, - 4999, 5000, 5001, 5002, @@ -436755,7 +455935,12 @@ 5006, 5007, 5008, - 5011 + 5009, + 5010, + 5011, + 5012, + 5013, + 5016 ], "kind": { "tuple": [ @@ -436768,23 +455953,116 @@ "name": "ScmRights", "span": { "begin": [ - 394, + 396, 1 ], "end": [ - 394, + 396, 56 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "4995": { + "50": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 50, + "inner": { + "use": { + "id": 51, + "is_glob": false, + "name": "Option", + "source": "crate::option::Option" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 41, + 33 + ], + "end": [ + 41, + 37 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "500": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "replaced by `std::thread::sleep`", + "since": "1.6.0" + }, + "docs": "Uses [`sleep`].\n\nPuts the current thread to sleep for at least the specified amount of time.\n\nThe thread may sleep longer than the duration specified due to scheduling\nspecifics or platform-dependent functionality. It will never sleep less.\n\nThis function is blocking, and should not be used in `async` functions.\n\n# Platform-specific behavior\n\nOn Unix platforms, the underlying syscall may be interrupted by a\nspurious wakeup or signal handler. To ensure the sleep occurs for at least\nthe specified duration, this function may invoke that system call multiple\ntimes.\n\n# Examples\n\n```no_run\nuse std::thread;\n\n// Let's sleep for 2 seconds:\nthread::sleep_ms(2000);\n```", + "id": 500, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "ms", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "`sleep`": 499 + }, + "name": "sleep_ms", + "span": { + "begin": [ + 846, + 1 + ], + "end": [ + 848, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5000": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4995, + "id": 5000, "inner": { "impl": { "blanket_impl": null, @@ -436800,7 +456078,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -436834,12 +456112,12 @@ "span": null, "visibility": "default" }, - "4996": { + "5001": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4996, + "id": 5001, "inner": { "impl": { "blanket_impl": null, @@ -436855,7 +456133,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -436889,12 +456167,12 @@ "span": null, "visibility": "default" }, - "4997": { + "5002": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4997, + "id": 5002, "inner": { "impl": { "blanket_impl": null, @@ -436910,7 +456188,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -436934,7 +456212,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -436944,12 +456222,12 @@ "span": null, "visibility": "default" }, - "4998": { + "5003": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4998, + "id": 5003, "inner": { "impl": { "blanket_impl": null, @@ -436965,7 +456243,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -436999,12 +456277,12 @@ "span": null, "visibility": "default" }, - "4999": { + "5004": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 4999, + "id": 5004, "inner": { "impl": { "blanket_impl": null, @@ -437020,7 +456298,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -437044,7 +456322,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -437054,48 +456332,12 @@ "span": null, "visibility": "default" }, - "50": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 50, - "inner": { - "use": { - "id": 51, - "is_glob": false, - "name": "Option", - "source": "crate::option::Option" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 41, - 33 - ], - "end": [ - 41, - 37 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "5000": { + "5005": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5000, + "id": 5005, "inner": { "impl": { "blanket_impl": null, @@ -437111,7 +456353,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -437135,7 +456377,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -437145,12 +456387,12 @@ "span": null, "visibility": "default" }, - "5001": { + "5006": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5001, + "id": 5006, "inner": { "impl": { "blanket_impl": { @@ -437168,7 +456410,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -437213,7 +456455,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -437229,7 +456471,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -437238,23 +456480,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5002": { + "5007": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5002, + "id": 5007, "inner": { "impl": { "blanket_impl": { @@ -437272,7 +456514,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -437317,7 +456559,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -437333,7 +456575,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -437342,23 +456584,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5003": { + "5008": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5003, + "id": 5008, "inner": { "impl": { "blanket_impl": { @@ -437376,7 +456618,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -437442,7 +456684,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -437467,23 +456709,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5004": { + "5009": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5004, + "id": 5009, "inner": { "impl": { "blanket_impl": { @@ -437501,7 +456743,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -437524,7 +456766,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -437549,23 +456791,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5005": { + "5010": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5005, + "id": 5010, "inner": { "impl": { "blanket_impl": { @@ -437583,7 +456825,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -437631,7 +456873,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -437649,8 +456891,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -437666,7 +456908,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -437675,23 +456917,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5006": { + "5011": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5006, + "id": 5011, "inner": { "impl": { "blanket_impl": { @@ -437709,7 +456951,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -437775,8 +457017,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -437792,7 +457034,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -437801,23 +457043,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5007": { + "5012": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5007, + "id": 5012, "inner": { "impl": { "blanket_impl": { @@ -437835,7 +457077,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -437883,12 +457125,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -437908,12 +457150,12 @@ }, "visibility": "default" }, - "5008": { + "5013": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5008, + "id": 5013, "inner": { "impl": { "blanket_impl": { @@ -437931,7 +457173,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -438003,12 +457245,12 @@ }, "visibility": "default" }, - "5009": { + "5014": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5009, + "id": 5014, "inner": { "assoc_type": { "bounds": [], @@ -438025,122 +457267,23 @@ "name": "Item", "span": { "begin": [ - 398, + 400, 5 ], "end": [ - 398, + 400, 23 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "501": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Traits, helpers, and type definitions for core I/O functionality.\n\nThe `std::io` module contains a number of common things you'll need\nwhen doing input and output. The most core part of this module is\nthe [`Read`] and [`Write`] traits, which provide the\nmost general interface for reading and writing input and output.\n\n## Read and Write\n\nBecause they are traits, [`Read`] and [`Write`] are implemented by a number\nof other types, and you can implement them for your types too. As such,\nyou'll see a few different types of I/O throughout the documentation in\nthis module: [`File`]s, [`TcpStream`]s, and sometimes even [`Vec`]s. For\nexample, [`Read`] adds a [`read`][`Read::read`] method, which we can use on\n[`File`]s:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let mut buffer = [0; 10];\n\n // read up to 10 bytes\n let n = f.read(&mut buffer)?;\n\n println!(\"The bytes: {:?}\", &buffer[..n]);\n Ok(())\n}\n```\n\n[`Read`] and [`Write`] are so important, implementors of the two traits have a\nnickname: readers and writers. So you'll sometimes see 'a reader' instead\nof 'a type that implements the [`Read`] trait'. Much easier!\n\n## Seek and BufRead\n\nBeyond that, there are two important traits that are provided: [`Seek`]\nand [`BufRead`]. Both of these build on top of a reader to control\nhow the reading happens. [`Seek`] lets you control where the next byte is\ncoming from:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::io::SeekFrom;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let mut buffer = [0; 10];\n\n // skip to the last 10 bytes of the file\n f.seek(SeekFrom::End(-10))?;\n\n // read up to 10 bytes\n let n = f.read(&mut buffer)?;\n\n println!(\"The bytes: {:?}\", &buffer[..n]);\n Ok(())\n}\n```\n\n[`BufRead`] uses an internal buffer to provide a number of other ways to read, but\nto show it off, we'll need to talk about buffers in general. Keep reading!\n\n## BufReader and BufWriter\n\nByte-based interfaces are unwieldy and can be inefficient, as we'd need to be\nmaking near-constant calls to the operating system. To help with this,\n`std::io` comes with two structs, [`BufReader`] and [`BufWriter`], which wrap\nreaders and writers. The wrapper uses a buffer, reducing the number of\ncalls and providing nicer methods for accessing exactly what you want.\n\nFor example, [`BufReader`] works with the [`BufRead`] trait to add extra\nmethods to any reader:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n let mut reader = BufReader::new(f);\n let mut buffer = String::new();\n\n // read a line into buffer\n reader.read_line(&mut buffer)?;\n\n println!(\"{buffer}\");\n Ok(())\n}\n```\n\n[`BufWriter`] doesn't add any new ways of writing; it just buffers every call\nto [`write`][`Write::write`]:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::io::BufWriter;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = File::create(\"foo.txt\")?;\n {\n let mut writer = BufWriter::new(f);\n\n // write a byte to the buffer\n writer.write(&[42])?;\n\n } // the buffer is flushed once writer goes out of scope\n\n Ok(())\n}\n```\n\n## Standard input and output\n\nA very common source of input is standard input:\n\n```no_run\nuse std::io;\n\nfn main() -> io::Result<()> {\n let mut input = String::new();\n\n io::stdin().read_line(&mut input)?;\n\n println!(\"You typed: {}\", input.trim());\n Ok(())\n}\n```\n\nNote that you cannot use the [`?` operator] in functions that do not return\na [`Result`][`Result`]. Instead, you can call [`.unwrap()`]\nor `match` on the return value to catch any possible errors:\n\n```no_run\nuse std::io;\n\nlet mut input = String::new();\n\nio::stdin().read_line(&mut input).unwrap();\n```\n\nAnd a very common source of output is standard output:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\n\nfn main() -> io::Result<()> {\n io::stdout().write(&[42])?;\n Ok(())\n}\n```\n\nOf course, using [`io::stdout`] directly is less common than something like\n[`println!`].\n\n## Iterator types\n\nA large number of the structures provided by `std::io` are for various\nways of iterating over I/O. For example, [`Lines`] is used to split over\nlines:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n let reader = BufReader::new(f);\n\n for line in reader.lines() {\n println!(\"{}\", line?);\n }\n Ok(())\n}\n```\n\n## Functions\n\nThere are a number of [functions][functions-list] that offer access to various\nfeatures. For example, we can use three of these functions to copy everything\nfrom standard input to standard output:\n\n```no_run\nuse std::io;\n\nfn main() -> io::Result<()> {\n io::copy(&mut io::stdin(), &mut io::stdout())?;\n Ok(())\n}\n```\n\n[functions-list]: #functions-1\n\n## io::Result\n\nLast, but certainly not least, is [`io::Result`]. This type is used\nas the return type of many `std::io` functions that can cause an error, and\ncan be returned from your own functions as well. Many of the examples in this\nmodule use the [`?` operator]:\n\n```\nuse std::io;\n\nfn read_input() -> io::Result<()> {\n let mut input = String::new();\n\n io::stdin().read_line(&mut input)?;\n\n println!(\"You typed: {}\", input.trim());\n\n Ok(())\n}\n```\n\nThe return type of `read_input()`, [`io::Result<()>`][`io::Result`], is a very\ncommon type for functions which don't have a 'real' return value, but do want to\nreturn errors if they happen. In this case, the only purpose of this function is\nto read the line and print it, so we use `()`.\n\n## Platform-specific behavior\n\nMany I/O functions throughout the standard library are documented to indicate\nwhat various library or syscalls they are delegated to. This is done to help\napplications both understand what's happening under the hood as well as investigate\nany possibly unclear semantics. Note, however, that this is informative, not a binding\ncontract. The implementation of many of these functions are subject to change over\ntime and may call fewer or more syscalls/library functions.\n\n## I/O Safety\n\nRust follows an I/O safety discipline that is comparable to its memory safety discipline. This\nmeans that file descriptors can be *exclusively owned*. (Here, \"file descriptor\" is meant to\nsubsume similar concepts that exist across a wide range of operating systems even if they might\nuse a different name, such as \"handle\".) An exclusively owned file descriptor is one that no\nother code is allowed to access in any way, but the owner is allowed to access and even close\nit any time. A type that owns its file descriptor should usually close it in its `drop`\nfunction. Types like [`File`] own their file descriptor. Similarly, file descriptors\ncan be *borrowed*, granting the temporary right to perform operations on this file descriptor.\nThis indicates that the file descriptor will not be closed for the lifetime of the borrow, but\nit does *not* imply any right to close this file descriptor, since it will likely be owned by\nsomeone else.\n\nThe platform-specific parts of the Rust standard library expose types that reflect these\nconcepts, see [`os::unix`] and [`os::windows`].\n\nTo uphold I/O safety, it is crucial that no code acts on file descriptors it does not own or\nborrow, and no code closes file descriptors it does not own. In other words, a safe function\nthat takes a regular integer, treats it as a file descriptor, and acts on it, is *unsound*.\n\nNot upholding I/O safety and acting on a file descriptor without proof of ownership can lead to\nmisbehavior and even Undefined Behavior in code that relies on ownership of its file\ndescriptors: a closed file descriptor could be re-allocated, so the original owner of that file\ndescriptor is now working on the wrong file. Some code might even rely on fully encapsulating\nits file descriptors with no operations being performed by any other part of the program.\n\nNote that exclusive ownership of a file descriptor does *not* imply exclusive ownership of the\nunderlying kernel object that the file descriptor references (also called \"open file description\" on\nsome operating systems). File descriptors basically work like [`Arc`]: when you receive an owned\nfile descriptor, you cannot know whether there are any other file descriptors that reference the\nsame kernel object. However, when you create a new kernel object, you know that you are holding\nthe only reference to it. Just be careful not to lend it to anyone, since they can obtain a\nclone and then you can no longer know what the reference count is! In that sense, [`OwnedFd`] is\nlike `Arc` and [`BorrowedFd<'a>`] is like `&'a Arc` (and similar for the Windows types). In\nparticular, given a `BorrowedFd<'a>`, you are not allowed to close the file descriptor -- just\nlike how, given a `&'a Arc`, you are not allowed to decrement the reference count and\npotentially free the underlying object. There is no equivalent to `Box` for file descriptors in\nthe standard library (that would be a type that guarantees that the reference count is `1`),\nhowever, it would be possible for a crate to define a type with those semantics.\n\n[`File`]: crate::fs::File\n[`TcpStream`]: crate::net::TcpStream\n[`io::stdout`]: stdout\n[`io::Result`]: self::Result\n[`?` operator]: ../../book/appendix-02-operators.html\n[`Result`]: crate::result::Result\n[`.unwrap()`]: crate::result::Result::unwrap\n[`os::unix`]: ../os/unix/io/index.html\n[`os::windows`]: ../os/windows/io/index.html\n[`OwnedFd`]: ../os/fd/struct.OwnedFd.html\n[`BorrowedFd<'a>`]: ../os/fd/struct.BorrowedFd.html\n[`Arc`]: crate::sync::Arc", - "id": 501, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 182, - 3952, - 3954, - 3955, - 3956, - 3957, - 3958, - 3959, - 3960, - 3961, - 3962, - 3963, - 3964, - 3965, - 3966, - 3967, - 3968, - 3969, - 3970, - 3971, - 3972, - 3973, - 3974, - 3975, - 3976, - 3977, - 3978, - 3979, - 3980, - 3981, - 3982, - 3983, - 3984, - 3985, - 2476, - 4086, - 2468, - 2480, - 2486, - 2407, - 2489, - 2418, - 3996, - 3998, - 3994, - 4282, - 3564 - ] - } - }, - "links": { - "`BufRead`": 2418, - "`BufReader`": 2409, - "`BufWriter`": 2410, - "`Lines`": 3564, - "`Read::read`": 2435, - "`Read`": 2476, - "`Seek`": 2407, - "`Vec`": 165, - "`Write::write`": 2436, - "`Write`": 2486, - "`println!`": 4419, - "crate::fs::File": 2413, - "crate::net::TcpStream": 3047, - "crate::result::Result": 57, - "crate::result::Result::unwrap": 470, - "crate::sync::Arc": 606, - "self::Result": 468, - "stdout": 3651 - }, - "name": "io", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 3368, - 2 - ], - "filename": "std/src/io/mod.rs" - }, - "visibility": "public" - }, - "5010": { + "5015": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5010, + "id": 5015, "inner": { "function": { "generics": { @@ -438199,21 +457342,21 @@ "name": "next", "span": { "begin": [ - 400, + 402, 5 ], "end": [ - 402, + 404, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5011": { + "5016": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\")))]" + "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")))]" }, { "other": "#[doc(cfg(unix))]" @@ -438225,7 +457368,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5011, + "id": 5016, "inner": { "impl": { "blanket_impl": null, @@ -438241,7 +457384,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } }, @@ -438262,8 +457405,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5009, - 5010 + 5014, + 5015 ], "provided_trait_methods": [ "next_chunk", @@ -438354,21 +457497,21 @@ "name": null, "span": { "begin": [ - 397, + 399, 1 ], "end": [ - 403, + 405, 2 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5013": { + "5018": { "attrs": [ { - "other": "#[(any(target_os = \"android\", target_os = \"linux\",))]" + "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -438377,7 +457520,7 @@ "crate_id": 0, "deprecation": null, "docs": "This control message contains unix credentials.\n\nThe level is equal to `SOL_SOCKET` and the type is equal to `SCM_CREDENTIALS` or `SCM_CREDS`.", - "id": 5013, + "id": 5018, "inner": { "struct": { "generics": { @@ -438394,11 +457537,6 @@ "where_predicates": [] }, "impls": [ - 5014, - 5015, - 5016, - 5017, - 5018, 5019, 5020, 5021, @@ -438408,7 +457546,12 @@ 5025, 5026, 5027, - 5030 + 5028, + 5029, + 5030, + 5031, + 5032, + 5035 ], "kind": { "tuple": [ @@ -438421,23 +457564,23 @@ "name": "ScmCredentials", "span": { "begin": [ - 420, + 423, 1 ], "end": [ - 420, + 423, 67 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5014": { + "5019": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5014, + "id": 5019, "inner": { "impl": { "blanket_impl": null, @@ -438453,7 +457596,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -438487,12 +457630,111 @@ "span": null, "visibility": "default" }, - "5015": { + "502": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Traits, helpers, and type definitions for core I/O functionality.\n\nThe `std::io` module contains a number of common things you'll need\nwhen doing input and output. The most core part of this module is\nthe [`Read`] and [`Write`] traits, which provide the\nmost general interface for reading and writing input and output.\n\n## Read and Write\n\nBecause they are traits, [`Read`] and [`Write`] are implemented by a number\nof other types, and you can implement them for your types too. As such,\nyou'll see a few different types of I/O throughout the documentation in\nthis module: [`File`]s, [`TcpStream`]s, and sometimes even [`Vec`]s. For\nexample, [`Read`] adds a [`read`][`Read::read`] method, which we can use on\n[`File`]s:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let mut buffer = [0; 10];\n\n // read up to 10 bytes\n let n = f.read(&mut buffer)?;\n\n println!(\"The bytes: {:?}\", &buffer[..n]);\n Ok(())\n}\n```\n\n[`Read`] and [`Write`] are so important, implementors of the two traits have a\nnickname: readers and writers. So you'll sometimes see 'a reader' instead\nof 'a type that implements the [`Read`] trait'. Much easier!\n\n## Seek and BufRead\n\nBeyond that, there are two important traits that are provided: [`Seek`]\nand [`BufRead`]. Both of these build on top of a reader to control\nhow the reading happens. [`Seek`] lets you control where the next byte is\ncoming from:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::io::SeekFrom;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let mut f = File::open(\"foo.txt\")?;\n let mut buffer = [0; 10];\n\n // skip to the last 10 bytes of the file\n f.seek(SeekFrom::End(-10))?;\n\n // read up to 10 bytes\n let n = f.read(&mut buffer)?;\n\n println!(\"The bytes: {:?}\", &buffer[..n]);\n Ok(())\n}\n```\n\n[`BufRead`] uses an internal buffer to provide a number of other ways to read, but\nto show it off, we'll need to talk about buffers in general. Keep reading!\n\n## BufReader and BufWriter\n\nByte-based interfaces are unwieldy and can be inefficient, as we'd need to be\nmaking near-constant calls to the operating system. To help with this,\n`std::io` comes with two structs, [`BufReader`] and [`BufWriter`], which wrap\nreaders and writers. The wrapper uses a buffer, reducing the number of\ncalls and providing nicer methods for accessing exactly what you want.\n\nFor example, [`BufReader`] works with the [`BufRead`] trait to add extra\nmethods to any reader:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n let mut reader = BufReader::new(f);\n let mut buffer = String::new();\n\n // read a line into buffer\n reader.read_line(&mut buffer)?;\n\n println!(\"{buffer}\");\n Ok(())\n}\n```\n\n[`BufWriter`] doesn't add any new ways of writing; it just buffers every call\nto [`write`][`Write::write`]:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::io::BufWriter;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = File::create(\"foo.txt\")?;\n {\n let mut writer = BufWriter::new(f);\n\n // write a byte to the buffer\n writer.write(&[42])?;\n\n } // the buffer is flushed once writer goes out of scope\n\n Ok(())\n}\n```\n\n## Standard input and output\n\nA very common source of input is standard input:\n\n```no_run\nuse std::io;\n\nfn main() -> io::Result<()> {\n let mut input = String::new();\n\n io::stdin().read_line(&mut input)?;\n\n println!(\"You typed: {}\", input.trim());\n Ok(())\n}\n```\n\nNote that you cannot use the [`?` operator] in functions that do not return\na [`Result`][`Result`]. Instead, you can call [`.unwrap()`]\nor `match` on the return value to catch any possible errors:\n\n```no_run\nuse std::io;\n\nlet mut input = String::new();\n\nio::stdin().read_line(&mut input).unwrap();\n```\n\nAnd a very common source of output is standard output:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\n\nfn main() -> io::Result<()> {\n io::stdout().write(&[42])?;\n Ok(())\n}\n```\n\nOf course, using [`io::stdout`] directly is less common than something like\n[`println!`].\n\n## Iterator types\n\nA large number of the structures provided by `std::io` are for various\nways of iterating over I/O. For example, [`Lines`] is used to split over\nlines:\n\n```no_run\nuse std::io;\nuse std::io::prelude::*;\nuse std::io::BufReader;\nuse std::fs::File;\n\nfn main() -> io::Result<()> {\n let f = File::open(\"foo.txt\")?;\n let reader = BufReader::new(f);\n\n for line in reader.lines() {\n println!(\"{}\", line?);\n }\n Ok(())\n}\n```\n\n## Functions\n\nThere are a number of [functions][functions-list] that offer access to various\nfeatures. For example, we can use three of these functions to copy everything\nfrom standard input to standard output:\n\n```no_run\nuse std::io;\n\nfn main() -> io::Result<()> {\n io::copy(&mut io::stdin(), &mut io::stdout())?;\n Ok(())\n}\n```\n\n[functions-list]: #functions-1\n\n## io::Result\n\nLast, but certainly not least, is [`io::Result`]. This type is used\nas the return type of many `std::io` functions that can cause an error, and\ncan be returned from your own functions as well. Many of the examples in this\nmodule use the [`?` operator]:\n\n```\nuse std::io;\n\nfn read_input() -> io::Result<()> {\n let mut input = String::new();\n\n io::stdin().read_line(&mut input)?;\n\n println!(\"You typed: {}\", input.trim());\n\n Ok(())\n}\n```\n\nThe return type of `read_input()`, [`io::Result<()>`][`io::Result`], is a very\ncommon type for functions which don't have a 'real' return value, but do want to\nreturn errors if they happen. In this case, the only purpose of this function is\nto read the line and print it, so we use `()`.\n\n## Platform-specific behavior\n\nMany I/O functions throughout the standard library are documented to indicate\nwhat various library or syscalls they are delegated to. This is done to help\napplications both understand what's happening under the hood as well as investigate\nany possibly unclear semantics. Note, however, that this is informative, not a binding\ncontract. The implementation of many of these functions are subject to change over\ntime and may call fewer or more syscalls/library functions.\n\n## I/O Safety\n\nRust follows an I/O safety discipline that is comparable to its memory safety discipline. This\nmeans that file descriptors can be *exclusively owned*. (Here, \"file descriptor\" is meant to\nsubsume similar concepts that exist across a wide range of operating systems even if they might\nuse a different name, such as \"handle\".) An exclusively owned file descriptor is one that no\nother code is allowed to access in any way, but the owner is allowed to access and even close\nit any time. A type that owns its file descriptor should usually close it in its `drop`\nfunction. Types like [`File`] own their file descriptor. Similarly, file descriptors\ncan be *borrowed*, granting the temporary right to perform operations on this file descriptor.\nThis indicates that the file descriptor will not be closed for the lifetime of the borrow, but\nit does *not* imply any right to close this file descriptor, since it will likely be owned by\nsomeone else.\n\nThe platform-specific parts of the Rust standard library expose types that reflect these\nconcepts, see [`os::unix`] and [`os::windows`].\n\nTo uphold I/O safety, it is crucial that no code acts on file descriptors it does not own or\nborrow, and no code closes file descriptors it does not own. In other words, a safe function\nthat takes a regular integer, treats it as a file descriptor, and acts on it, is *unsound*.\n\nNot upholding I/O safety and acting on a file descriptor without proof of ownership can lead to\nmisbehavior and even Undefined Behavior in code that relies on ownership of its file\ndescriptors: a closed file descriptor could be re-allocated, so the original owner of that file\ndescriptor is now working on the wrong file. Some code might even rely on fully encapsulating\nits file descriptors with no operations being performed by any other part of the program.\n\nNote that exclusive ownership of a file descriptor does *not* imply exclusive ownership of the\nunderlying kernel object that the file descriptor references (also called \"open file description\" on\nsome operating systems). File descriptors basically work like [`Arc`]: when you receive an owned\nfile descriptor, you cannot know whether there are any other file descriptors that reference the\nsame kernel object. However, when you create a new kernel object, you know that you are holding\nthe only reference to it. Just be careful not to lend it to anyone, since they can obtain a\nclone and then you can no longer know what the reference count is! In that sense, [`OwnedFd`] is\nlike `Arc` and [`BorrowedFd<'a>`] is like `&'a Arc` (and similar for the Windows types). In\nparticular, given a `BorrowedFd<'a>`, you are not allowed to close the file descriptor -- just\nlike how, given a `&'a Arc`, you are not allowed to decrement the reference count and\npotentially free the underlying object. There is no equivalent to `Box` for file descriptors in\nthe standard library (that would be a type that guarantees that the reference count is `1`),\nhowever, it would be possible for a crate to define a type with those semantics.\n\n[`File`]: crate::fs::File\n[`TcpStream`]: crate::net::TcpStream\n[`io::stdout`]: stdout\n[`io::Result`]: self::Result\n[`?` operator]: ../../book/appendix-02-operators.html\n[`Result`]: crate::result::Result\n[`.unwrap()`]: crate::result::Result::unwrap\n[`os::unix`]: ../os/unix/io/index.html\n[`os::windows`]: ../os/windows/io/index.html\n[`OwnedFd`]: ../os/fd/struct.OwnedFd.html\n[`BorrowedFd<'a>`]: ../os/fd/struct.BorrowedFd.html\n[`Arc`]: crate::sync::Arc", + "id": 502, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 180, + 3951, + 3953, + 3954, + 3955, + 3956, + 3957, + 3958, + 3959, + 3960, + 3961, + 3962, + 3963, + 3964, + 3965, + 3966, + 3967, + 3968, + 3969, + 3970, + 3971, + 3972, + 3973, + 3974, + 3975, + 3976, + 3977, + 3978, + 3979, + 3980, + 3981, + 3982, + 3983, + 3984, + 2474, + 4085, + 2466, + 2478, + 2484, + 2405, + 2487, + 2416, + 3995, + 3997, + 3993, + 4281, + 3563 + ] + } + }, + "links": { + "`BufRead`": 2416, + "`BufReader`": 2407, + "`BufWriter`": 2408, + "`Lines`": 3563, + "`Read::read`": 2433, + "`Read`": 2474, + "`Seek`": 2405, + "`Vec`": 163, + "`Write::write`": 2434, + "`Write`": 2484, + "`println!`": 4418, + "crate::fs::File": 2411, + "crate::net::TcpStream": 3049, + "crate::result::Result": 57, + "crate::result::Result::unwrap": 471, + "crate::sync::Arc": 606, + "self::Result": 469, + "stdout": 3650 + }, + "name": "io", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 3368, + 2 + ], + "filename": "std/src/io/mod.rs" + }, + "visibility": "public" + }, + "5020": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5015, + "id": 5020, "inner": { "impl": { "blanket_impl": null, @@ -438508,7 +457750,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -438542,12 +457784,12 @@ "span": null, "visibility": "default" }, - "5016": { + "5021": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5016, + "id": 5021, "inner": { "impl": { "blanket_impl": null, @@ -438563,7 +457805,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -438587,7 +457829,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -438597,12 +457839,12 @@ "span": null, "visibility": "default" }, - "5017": { + "5022": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5017, + "id": 5022, "inner": { "impl": { "blanket_impl": null, @@ -438618,7 +457860,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -438652,12 +457894,12 @@ "span": null, "visibility": "default" }, - "5018": { + "5023": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5018, + "id": 5023, "inner": { "impl": { "blanket_impl": null, @@ -438673,7 +457915,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -438697,7 +457939,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -438707,12 +457949,12 @@ "span": null, "visibility": "default" }, - "5019": { + "5024": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5019, + "id": 5024, "inner": { "impl": { "blanket_impl": null, @@ -438728,7 +457970,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -438752,7 +457994,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -438762,71 +458004,12 @@ "span": null, "visibility": "default" }, - "502": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 113752, is_soft: false}, feature: \"thread_sleep_until\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Puts the current thread to sleep until the specified deadline has passed.\n\nThe thread may still be asleep after the deadline specified due to\nscheduling specifics or platform-dependent functionality. It will never\nwake before.\n\nThis function is blocking, and should not be used in `async` functions.\n\n# Platform-specific behavior\n\nIn most cases this function will call an OS specific function. Where that\nis not supported [`sleep`] is used. Those platforms are referred to as other\nin the table below.\n\n# Underlying System calls\n\nThe following system calls are [currently] being used:\n\n| Platform | System call |\n|-----------|----------------------------------------------------------------------|\n| Linux | [clock_nanosleep] (Monotonic clock) |\n| BSD except OpenBSD | [clock_nanosleep] (Monotonic Clock)] |\n| Android | [clock_nanosleep] (Monotonic Clock)] |\n| Solaris | [clock_nanosleep] (Monotonic Clock)] |\n| Illumos | [clock_nanosleep] (Monotonic Clock)] |\n| Dragonfly | [clock_nanosleep] (Monotonic Clock)] |\n| Hurd | [clock_nanosleep] (Monotonic Clock)] |\n| Fuchsia | [clock_nanosleep] (Monotonic Clock)] |\n| Vxworks | [clock_nanosleep] (Monotonic Clock)] |\n| Other | `sleep_until` uses [`sleep`] and does not issue a syscall itself |\n\n[currently]: crate::io#platform-specific-behavior\n[clock_nanosleep]: https://linux.die.net/man/3/clock_nanosleep\n\n**Disclaimer:** These system calls might change over time.\n\n# Examples\n\nA simple game loop that limits the game to 60 frames per second.\n\n```no_run\n#![feature(thread_sleep_until)]\n# use std::time::{Duration, Instant};\n# use std::thread;\n#\n# fn update() {}\n# fn render() {}\n#\nlet max_fps = 60.0;\nlet frame_time = Duration::from_secs_f32(1.0/max_fps);\nlet mut next_frame = Instant::now();\nloop {\n thread::sleep_until(next_frame);\n next_frame += frame_time;\n update();\n render();\n}\n```\n\nA slow API we must not call too fast and which takes a few\ntries before succeeding. By using `sleep_until` the time the\nAPI call takes does not influence when we retry or when we give up\n\n```no_run\n#![feature(thread_sleep_until)]\n# use std::time::{Duration, Instant};\n# use std::thread;\n#\n# enum Status {\n# Ready(usize),\n# Waiting,\n# }\n# fn slow_web_api_call() -> Status { Status::Ready(42) }\n#\n# const MAX_DURATION: Duration = Duration::from_secs(10);\n#\n# fn try_api_call() -> Result {\nlet deadline = Instant::now() + MAX_DURATION;\nlet delay = Duration::from_millis(250);\nlet mut next_attempt = Instant::now();\nloop {\n if Instant::now() > deadline {\n break Err(());\n }\n if let Status::Ready(data) = slow_web_api_call() {\n break Ok(data);\n }\n\n next_attempt = deadline.min(next_attempt + delay);\n thread::sleep_until(next_attempt);\n}\n# }\n# let _data = try_api_call();\n```", - "id": 502, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "deadline", - { - "resolved_path": { - "args": null, - "id": 503, - "path": "crate::time::Instant" - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "`sleep`": 498, - "crate::io#platform-specific-behavior": 501 - }, - "name": "sleep_until", - "span": { - "begin": [ - 985, - 1 - ], - "end": [ - 987, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5020": { + "5025": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5020, + "id": 5025, "inner": { "impl": { "blanket_impl": { @@ -438844,7 +458027,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -438889,7 +458072,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -438905,7 +458088,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -438914,23 +458097,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5021": { + "5026": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5021, + "id": 5026, "inner": { "impl": { "blanket_impl": { @@ -438948,7 +458131,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -438993,7 +458176,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -439009,7 +458192,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -439018,23 +458201,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5022": { + "5027": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5022, + "id": 5027, "inner": { "impl": { "blanket_impl": { @@ -439052,7 +458235,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -439118,7 +458301,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -439143,23 +458326,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5023": { + "5028": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5023, + "id": 5028, "inner": { "impl": { "blanket_impl": { @@ -439177,7 +458360,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -439200,7 +458383,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -439225,23 +458408,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5024": { + "5029": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5024, + "id": 5029, "inner": { "impl": { "blanket_impl": { @@ -439259,7 +458442,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -439307,7 +458490,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -439325,8 +458508,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -439342,7 +458525,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -439351,23 +458534,82 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5025": { + "503": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 113752, is_soft: false}, feature: \"thread_sleep_until\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Puts the current thread to sleep until the specified deadline has passed.\n\nThe thread may still be asleep after the deadline specified due to\nscheduling specifics or platform-dependent functionality. It will never\nwake before.\n\nThis function is blocking, and should not be used in `async` functions.\n\n# Platform-specific behavior\n\nIn most cases this function will call an OS specific function. Where that\nis not supported [`sleep`] is used. Those platforms are referred to as other\nin the table below.\n\n# Underlying System calls\n\nThe following system calls are [currently] being used:\n\n| Platform | System call |\n|-----------|----------------------------------------------------------------------|\n| Linux | [clock_nanosleep] (Monotonic clock) |\n| BSD except OpenBSD | [clock_nanosleep] (Monotonic Clock)] |\n| Android | [clock_nanosleep] (Monotonic Clock)] |\n| Solaris | [clock_nanosleep] (Monotonic Clock)] |\n| Illumos | [clock_nanosleep] (Monotonic Clock)] |\n| Dragonfly | [clock_nanosleep] (Monotonic Clock)] |\n| Hurd | [clock_nanosleep] (Monotonic Clock)] |\n| Fuchsia | [clock_nanosleep] (Monotonic Clock)] |\n| Vxworks | [clock_nanosleep] (Monotonic Clock)] |\n| Other | `sleep_until` uses [`sleep`] and does not issue a syscall itself |\n\n[currently]: crate::io#platform-specific-behavior\n[clock_nanosleep]: https://linux.die.net/man/3/clock_nanosleep\n\n**Disclaimer:** These system calls might change over time.\n\n# Examples\n\nA simple game loop that limits the game to 60 frames per second.\n\n```no_run\n#![feature(thread_sleep_until)]\n# use std::time::{Duration, Instant};\n# use std::thread;\n#\n# fn update() {}\n# fn render() {}\n#\nlet max_fps = 60.0;\nlet frame_time = Duration::from_secs_f32(1.0/max_fps);\nlet mut next_frame = Instant::now();\nloop {\n thread::sleep_until(next_frame);\n next_frame += frame_time;\n update();\n render();\n}\n```\n\nA slow API we must not call too fast and which takes a few\ntries before succeeding. By using `sleep_until` the time the\nAPI call takes does not influence when we retry or when we give up\n\n```no_run\n#![feature(thread_sleep_until)]\n# use std::time::{Duration, Instant};\n# use std::thread;\n#\n# enum Status {\n# Ready(usize),\n# Waiting,\n# }\n# fn slow_web_api_call() -> Status { Status::Ready(42) }\n#\n# const MAX_DURATION: Duration = Duration::from_secs(10);\n#\n# fn try_api_call() -> Result {\nlet deadline = Instant::now() + MAX_DURATION;\nlet delay = Duration::from_millis(250);\nlet mut next_attempt = Instant::now();\nloop {\n if Instant::now() > deadline {\n break Err(());\n }\n if let Status::Ready(data) = slow_web_api_call() {\n break Ok(data);\n }\n\n next_attempt = deadline.min(next_attempt + delay);\n thread::sleep_until(next_attempt);\n}\n# }\n# let _data = try_api_call();\n```", + "id": 503, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "deadline", + { + "resolved_path": { + "args": null, + "id": 504, + "path": "crate::time::Instant" + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "`sleep`": 499, + "crate::io#platform-specific-behavior": 502 + }, + "name": "sleep_until", + "span": { + "begin": [ + 987, + 1 + ], + "end": [ + 989, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5030": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5025, + "id": 5030, "inner": { "impl": { "blanket_impl": { @@ -439385,7 +458627,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -439451,8 +458693,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -439468,7 +458710,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -439477,23 +458719,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5026": { + "5031": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5026, + "id": 5031, "inner": { "impl": { "blanket_impl": { @@ -439511,7 +458753,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -439559,12 +458801,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -439584,12 +458826,12 @@ }, "visibility": "default" }, - "5027": { + "5032": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5027, + "id": 5032, "inner": { "impl": { "blanket_impl": { @@ -439607,7 +458849,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -439679,12 +458921,12 @@ }, "visibility": "default" }, - "5028": { + "5033": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5028, + "id": 5033, "inner": { "assoc_type": { "bounds": [], @@ -439695,7 +458937,7 @@ "type": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } } @@ -439705,23 +458947,23 @@ "name": "Item", "span": { "begin": [ - 439, + 443, 5 ], "end": [ - 439, + 443, 28 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5029": { + "5034": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5029, + "id": 5034, "inner": { "function": { "generics": { @@ -439760,7 +459002,7 @@ "type": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } } @@ -439780,112 +459022,27 @@ "name": "next", "span": { "begin": [ - 441, + 445, 5 ], "end": [ - 443, + 447, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "503": { - "attrs": [ - { - "other": "#[(not(test), rustc_diagnostic_item = \"Instant\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"Instant\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A measurement of a monotonically nondecreasing clock.\nOpaque and useful only with [`Duration`].\n\nInstants are always guaranteed, barring [platform bugs], to be no less than any previously\nmeasured instant when created, and are often useful for tasks such as measuring\nbenchmarks or timing how long an operation takes.\n\nNote, however, that instants are **not** guaranteed to be **steady**. In other\nwords, each tick of the underlying clock might not be the same length (e.g.\nsome seconds may be longer than others). An instant may jump forwards or\nexperience time dilation (slow down or speed up), but it will never go\nbackwards.\nAs part of this non-guarantee it is also not specified whether system suspends count as\nelapsed time or not. The behavior varies across platforms and Rust versions.\n\nInstants are opaque types that can only be compared to one another. There is\nno method to get \"the number of seconds\" from an instant. Instead, it only\nallows measuring the duration between two instants (or comparing two\ninstants).\n\nThe size of an `Instant` struct may vary depending on the target operating\nsystem.\n\nExample:\n\n```no_run\nuse std::time::{Duration, Instant};\nuse std::thread::sleep;\n\nfn main() {\n let now = Instant::now();\n\n // we sleep for 2 seconds\n sleep(Duration::new(2, 0));\n // it prints '2'\n println!(\"{}\", now.elapsed().as_secs());\n}\n```\n\n[platform bugs]: Instant#monotonicity\n\n# OS-specific behaviors\n\nAn `Instant` is a wrapper around system-specific types and it may behave\ndifferently depending on the underlying operating system. For example,\nthe following snippet is fine on Linux but panics on macOS:\n\n```no_run\nuse std::time::{Instant, Duration};\n\nlet now = Instant::now();\nlet days_per_10_millennia = 365_2425;\nlet solar_seconds_per_day = 60 * 60 * 24;\nlet millennium_in_solar_seconds = 31_556_952_000;\nassert_eq!(millennium_in_solar_seconds, days_per_10_millennia * solar_seconds_per_day / 10);\n\nlet duration = Duration::new(millennium_in_solar_seconds, 0);\nprintln!(\"{:?}\", now + duration);\n```\n\nFor cross-platform code, you can comfortably use durations of up to around one hundred years.\n\n# Underlying System calls\n\nThe following system calls are [currently] being used by `now()` to find out\nthe current time:\n\n| Platform | System call |\n|-----------|----------------------------------------------------------------------|\n| SGX | [`insecure_time` usercall]. More information on [timekeeping in SGX] |\n| UNIX | [clock_gettime (Monotonic Clock)] |\n| Darwin | [clock_gettime (Monotonic Clock)] |\n| VXWorks | [clock_gettime (Monotonic Clock)] |\n| SOLID | `get_tim` |\n| WASI | [__wasi_clock_time_get (Monotonic Clock)] |\n| Windows | [QueryPerformanceCounter] |\n\n[currently]: crate::io#platform-specific-behavior\n[QueryPerformanceCounter]: https://docs.microsoft.com/en-us/windows/win32/api/profileapi/nf-profileapi-queryperformancecounter\n[`insecure_time` usercall]: https://edp.fortanix.com/docs/api/fortanix_sgx_abi/struct.Usercalls.html#method.insecure_time\n[timekeeping in SGX]: https://edp.fortanix.com/docs/concepts/rust-std/#codestdtimecode\n[__wasi_clock_time_get (Monotonic Clock)]: https://github.com/WebAssembly/WASI/blob/main/legacy/preview1/docs.md#clock_time_get\n[clock_gettime (Monotonic Clock)]: https://linux.die.net/man/3/clock_gettime\n\n**Disclaimer:** These system calls might change over time.\n\n> Note: mathematical operations like [`add`] may panic if the underlying\n> structure cannot represent the new point in time.\n\n[`add`]: Instant::add\n\n## Monotonicity\n\nOn all platforms `Instant` will try to use an OS API that guarantees monotonic behavior\nif available, which is the case for all [tier 1] platforms.\nIn practice such guarantees are – under rare circumstances – broken by hardware, virtualization\nor operating system bugs. To work around these bugs and platforms not offering monotonic clocks\n[`duration_since`], [`elapsed`] and [`sub`] saturate to zero. In older Rust versions this\nlead to a panic instead. [`checked_duration_since`] can be used to detect and handle situations\nwhere monotonicity is violated, or `Instant`s are subtracted in the wrong order.\n\nThis workaround obscures programming errors where earlier and later instants are accidentally\nswapped. For this reason future Rust versions may reintroduce panics.\n\n[tier 1]: https://doc.rust-lang.org/rustc/platform-support.html\n[`duration_since`]: Instant::duration_since\n[`elapsed`]: Instant::elapsed\n[`sub`]: Instant::sub\n[`checked_duration_since`]: Instant::checked_duration_since\n", - "id": 503, - "inner": { - "struct": { - "generics": { - "params": [], - "where_predicates": [] - }, - "impls": [ - 8504, - 8505, - 8506, - 8507, - 8508, - 8509, - 8510, - 8511, - 8512, - 8513, - 8514, - 8515, - 8516, - 8517, - 8518, - 8519, - 8520, - 8522, - 8523, - 8525, - 8526, - 8528, - 8530, - 8532, - 8534, - 8537, - 8540, - 8542, - 8546, - 8548 - ], - "kind": { - "tuple": [ - null - ] - } - } - }, - "links": { - "Instant#monotonicity": 503, - "Instant::add": 8495, - "Instant::checked_duration_since": 8499, - "Instant::duration_since": 8496, - "Instant::elapsed": 8497, - "Instant::sub": 8498, - "`Duration`": 500, - "crate::io#platform-specific-behavior": 501 - }, - "name": "Instant", - "span": { - "begin": [ - 158, - 1 - ], - "end": [ - 158, - 35 - ], - "filename": "std/src/time.rs" - }, - "visibility": "public" - }, - "5030": { + "5035": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\")))]" + "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")))]" }, { "other": "#[doc(cfg(unix))]" }, { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"netbsd\", target_os = \"freebsd\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"netbsd\", target_os = \"freebsd\", target_os = \"cygwin\",))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -439894,7 +459051,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5030, + "id": 5035, "inner": { "impl": { "blanket_impl": null, @@ -439910,7 +459067,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } }, @@ -439931,8 +459088,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5028, - 5029 + 5033, + 5034 ], "provided_trait_methods": [ "next_chunk", @@ -440023,23 +459180,23 @@ "name": null, "span": { "begin": [ - 438, + 442, 1 ], "end": [ - 444, + 448, 2 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5031": { + "5036": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5031, + "id": 5036, "inner": { "struct_field": { "primitive": "i32" @@ -440049,23 +459206,23 @@ "name": "cmsg_level", "span": { "begin": [ - 451, + 455, 15 ], "end": [ - 451, + 455, 30 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5032": { + "5037": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5032, + "id": 5037, "inner": { "struct_field": { "primitive": "i32" @@ -440075,31 +459232,31 @@ "name": "cmsg_type", "span": { "begin": [ - 451, + 455, 32 ], "end": [ - 451, + 455, 46 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5033": { + "5038": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5033, + "id": 5038, "inner": { "variant": { "discriminant": null, "kind": { "struct": { "fields": [ - 5031, - 5032 + 5036, + 5037 ], "has_stripped_fields": false } @@ -440110,18 +459267,18 @@ "name": "Unknown", "span": { "begin": [ - 451, + 455, 5 ], "end": [ - 451, + 455, 48 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5034": { + "5039": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -440131,7 +459288,7 @@ "crate_id": 0, "deprecation": null, "docs": "The error type which is returned from parsing the type a control message.", - "id": 5034, + "id": 5039, "inner": { "enum": { "generics": { @@ -440140,11 +459297,6 @@ }, "has_stripped_variants": false, "impls": [ - 5035, - 5036, - 5037, - 5038, - 5039, 5040, 5041, 5042, @@ -440153,10 +459305,15 @@ 5045, 5046, 5047, - 5049 + 5048, + 5049, + 5050, + 5051, + 5052, + 5054 ], "variants": [ - 5033 + 5038 ] } }, @@ -440164,30 +459321,115 @@ "name": "AncillaryError", "span": { "begin": [ - 450, + 454, 1 ], "end": [ - 452, + 456, 2 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5035": { + "504": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"Instant\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"Instant\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A measurement of a monotonically nondecreasing clock.\nOpaque and useful only with [`Duration`].\n\nInstants are always guaranteed, barring [platform bugs], to be no less than any previously\nmeasured instant when created, and are often useful for tasks such as measuring\nbenchmarks or timing how long an operation takes.\n\nNote, however, that instants are **not** guaranteed to be **steady**. In other\nwords, each tick of the underlying clock might not be the same length (e.g.\nsome seconds may be longer than others). An instant may jump forwards or\nexperience time dilation (slow down or speed up), but it will never go\nbackwards.\nAs part of this non-guarantee it is also not specified whether system suspends count as\nelapsed time or not. The behavior varies across platforms and Rust versions.\n\nInstants are opaque types that can only be compared to one another. There is\nno method to get \"the number of seconds\" from an instant. Instead, it only\nallows measuring the duration between two instants (or comparing two\ninstants).\n\nThe size of an `Instant` struct may vary depending on the target operating\nsystem.\n\nExample:\n\n```no_run\nuse std::time::{Duration, Instant};\nuse std::thread::sleep;\n\nfn main() {\n let now = Instant::now();\n\n // we sleep for 2 seconds\n sleep(Duration::new(2, 0));\n // it prints '2'\n println!(\"{}\", now.elapsed().as_secs());\n}\n```\n\n[platform bugs]: Instant#monotonicity\n\n# OS-specific behaviors\n\nAn `Instant` is a wrapper around system-specific types and it may behave\ndifferently depending on the underlying operating system. For example,\nthe following snippet is fine on Linux but panics on macOS:\n\n```no_run\nuse std::time::{Instant, Duration};\n\nlet now = Instant::now();\nlet days_per_10_millennia = 365_2425;\nlet solar_seconds_per_day = 60 * 60 * 24;\nlet millennium_in_solar_seconds = 31_556_952_000;\nassert_eq!(millennium_in_solar_seconds, days_per_10_millennia * solar_seconds_per_day / 10);\n\nlet duration = Duration::new(millennium_in_solar_seconds, 0);\nprintln!(\"{:?}\", now + duration);\n```\n\nFor cross-platform code, you can comfortably use durations of up to around one hundred years.\n\n# Underlying System calls\n\nThe following system calls are [currently] being used by `now()` to find out\nthe current time:\n\n| Platform | System call |\n|-----------|----------------------------------------------------------------------|\n| SGX | [`insecure_time` usercall]. More information on [timekeeping in SGX] |\n| UNIX | [clock_gettime] with `CLOCK_MONOTONIC` |\n| Darwin | [clock_gettime] with `CLOCK_UPTIME_RAW` |\n| VXWorks | [clock_gettime] with `CLOCK_MONOTONIC` |\n| SOLID | `get_tim` |\n| WASI | [__wasi_clock_time_get] with `monotonic` |\n| Windows | [QueryPerformanceCounter] |\n\n[currently]: crate::io#platform-specific-behavior\n[QueryPerformanceCounter]: https://docs.microsoft.com/en-us/windows/win32/api/profileapi/nf-profileapi-queryperformancecounter\n[`insecure_time` usercall]: https://edp.fortanix.com/docs/api/fortanix_sgx_abi/struct.Usercalls.html#method.insecure_time\n[timekeeping in SGX]: https://edp.fortanix.com/docs/concepts/rust-std/#codestdtimecode\n[__wasi_clock_time_get]: https://github.com/WebAssembly/WASI/blob/main/legacy/preview1/docs.md#clock_time_get\n[clock_gettime]: https://linux.die.net/man/3/clock_gettime\n\n**Disclaimer:** These system calls might change over time.\n\n> Note: mathematical operations like [`add`] may panic if the underlying\n> structure cannot represent the new point in time.\n\n[`add`]: Instant::add\n\n## Monotonicity\n\nOn all platforms `Instant` will try to use an OS API that guarantees monotonic behavior\nif available, which is the case for all [tier 1] platforms.\nIn practice such guarantees are – under rare circumstances – broken by hardware, virtualization\nor operating system bugs. To work around these bugs and platforms not offering monotonic clocks\n[`duration_since`], [`elapsed`] and [`sub`] saturate to zero. In older Rust versions this\nlead to a panic instead. [`checked_duration_since`] can be used to detect and handle situations\nwhere monotonicity is violated, or `Instant`s are subtracted in the wrong order.\n\nThis workaround obscures programming errors where earlier and later instants are accidentally\nswapped. For this reason future Rust versions may reintroduce panics.\n\n[tier 1]: https://doc.rust-lang.org/rustc/platform-support.html\n[`duration_since`]: Instant::duration_since\n[`elapsed`]: Instant::elapsed\n[`sub`]: Instant::sub\n[`checked_duration_since`]: Instant::checked_duration_since\n", + "id": 504, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 8729, + 8730, + 8731, + 8732, + 8733, + 8734, + 8735, + 8736, + 8737, + 8738, + 8739, + 8740, + 8741, + 8742, + 8743, + 8744, + 8745, + 8747, + 8748, + 8750, + 8751, + 8753, + 8755, + 8757, + 8759, + 8762, + 8765, + 8767, + 8771, + 8773 + ], + "kind": { + "tuple": [ + null + ] + } + } + }, + "links": { + "Instant#monotonicity": 504, + "Instant::add": 8720, + "Instant::checked_duration_since": 8724, + "Instant::duration_since": 8721, + "Instant::elapsed": 8722, + "Instant::sub": 8723, + "`Duration`": 501, + "crate::io#platform-specific-behavior": 502 + }, + "name": "Instant", + "span": { + "begin": [ + 158, + 1 + ], + "end": [ + 158, + 35 + ], + "filename": "std/src/time.rs" + }, + "visibility": "public" + }, + "5040": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5035, + "id": 5040, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440212,19 +459454,19 @@ "span": null, "visibility": "default" }, - "5036": { + "5041": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5036, + "id": 5041, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440249,19 +459491,19 @@ "span": null, "visibility": "default" }, - "5037": { + "5042": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5037, + "id": 5042, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440276,7 +459518,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -440286,19 +459528,19 @@ "span": null, "visibility": "default" }, - "5038": { + "5043": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5038, + "id": 5043, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440323,19 +459565,19 @@ "span": null, "visibility": "default" }, - "5039": { + "5044": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5039, + "id": 5044, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440350,7 +459592,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -440360,69 +459602,19 @@ "span": null, "visibility": "default" }, - "504": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Blocks unless or until the current thread's token is made available.\n\nA call to `park` does not guarantee that the thread will remain parked\nforever, and callers should be prepared for this possibility. However,\nit is guaranteed that this function will not panic (it may abort the\nprocess if the implementation encounters some rare errors).\n\n# `park` and `unpark`\n\nEvery thread is equipped with some basic low-level blocking support, via the\n[`thread::park`][`park`] function and [`thread::Thread::unpark`][`unpark`]\nmethod. [`park`] blocks the current thread, which can then be resumed from\nanother thread by calling the [`unpark`] method on the blocked thread's\nhandle.\n\nConceptually, each [`Thread`] handle has an associated token, which is\ninitially not present:\n\n* The [`thread::park`][`park`] function blocks the current thread unless or\n until the token is available for its thread handle, at which point it\n atomically consumes the token. It may also return *spuriously*, without\n consuming the token. [`thread::park_timeout`] does the same, but allows\n specifying a maximum time to block the thread for.\n\n* The [`unpark`] method on a [`Thread`] atomically makes the token available\n if it wasn't already. Because the token is initially absent, [`unpark`]\n followed by [`park`] will result in the second call returning immediately.\n\nThe API is typically used by acquiring a handle to the current thread,\nplacing that handle in a shared data structure so that other threads can\nfind it, and then `park`ing in a loop. When some desired condition is met, another\nthread calls [`unpark`] on the handle.\n\nThe motivation for this design is twofold:\n\n* It avoids the need to allocate mutexes and condvars when building new\n synchronization primitives; the threads already provide basic\n blocking/signaling.\n\n* It can be implemented very efficiently on many platforms.\n\n# Memory Ordering\n\nCalls to `unpark` _synchronize-with_ calls to `park`, meaning that memory\noperations performed before a call to `unpark` are made visible to the thread that\nconsumes the token and returns from `park`. Note that all `park` and `unpark`\noperations for a given thread form a total order and _all_ prior `unpark` operations\nsynchronize-with `park`.\n\nIn atomic ordering terms, `unpark` performs a `Release` operation and `park`\nperforms the corresponding `Acquire` operation. Calls to `unpark` for the same\nthread form a [release sequence].\n\nNote that being unblocked does not imply a call was made to `unpark`, because\nwakeups can also be spurious. For example, a valid, but inefficient,\nimplementation could have `park` and `unpark` return immediately without doing anything,\nmaking *all* wakeups spurious.\n\n# Examples\n\n```\nuse std::thread;\nuse std::sync::{Arc, atomic::{Ordering, AtomicBool}};\nuse std::time::Duration;\n\nlet flag = Arc::new(AtomicBool::new(false));\nlet flag2 = Arc::clone(&flag);\n\nlet parked_thread = thread::spawn(move || {\n // We want to wait until the flag is set. We *could* just spin, but using\n // park/unpark is more efficient.\n while !flag2.load(Ordering::Relaxed) {\n println!(\"Parking thread\");\n thread::park();\n // We *could* get here spuriously, i.e., way before the 10ms below are over!\n // But that is no problem, we are in a loop until the flag is set anyway.\n println!(\"Thread unparked\");\n }\n println!(\"Flag received\");\n});\n\n// Let some time pass for the thread to be spawned.\nthread::sleep(Duration::from_millis(10));\n\n// Set the flag, and let the thread wake up.\n// There is no race condition here, if `unpark`\n// happens first, `park` will return immediately.\n// Hence there is no risk of a deadlock.\nflag.store(true, Ordering::Relaxed);\nprintln!(\"Unpark the thread\");\nparked_thread.thread().unpark();\n\nparked_thread.join().unwrap();\n```\n\n[`unpark`]: Thread::unpark\n[`thread::park_timeout`]: park_timeout\n[release sequence]: https://en.cppreference.com/w/cpp/atomic/memory_order#Release_sequence", - "id": 504, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "Thread::unpark": 505, - "`Thread`": 349, - "`park`": 504, - "park_timeout": 506 - }, - "name": "park", - "span": { - "begin": [ - 1098, - 1 - ], - "end": [ - 1106, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5040": { + "5045": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5040, + "id": 5045, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440437,7 +459629,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -440447,12 +459639,12 @@ "span": null, "visibility": "default" }, - "5041": { + "5046": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5041, + "id": 5046, "inner": { "impl": { "blanket_impl": { @@ -440461,7 +459653,7 @@ "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440506,7 +459698,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -440522,7 +459714,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -440531,23 +459723,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5042": { + "5047": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5042, + "id": 5047, "inner": { "impl": { "blanket_impl": { @@ -440556,7 +459748,7 @@ "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440601,7 +459793,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -440617,7 +459809,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -440626,23 +459818,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5043": { + "5048": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5043, + "id": 5048, "inner": { "impl": { "blanket_impl": { @@ -440651,7 +459843,7 @@ "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440717,7 +459909,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -440742,23 +459934,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5044": { + "5049": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5044, + "id": 5049, "inner": { "impl": { "blanket_impl": { @@ -440767,7 +459959,7 @@ "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440790,7 +459982,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -440815,23 +460007,73 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5045": { + "505": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Blocks unless or until the current thread's token is made available.\n\nA call to `park` does not guarantee that the thread will remain parked\nforever, and callers should be prepared for this possibility. However,\nit is guaranteed that this function will not panic (it may abort the\nprocess if the implementation encounters some rare errors).\n\n# `park` and `unpark`\n\nEvery thread is equipped with some basic low-level blocking support, via the\n[`thread::park`][`park`] function and [`thread::Thread::unpark`][`unpark`]\nmethod. [`park`] blocks the current thread, which can then be resumed from\nanother thread by calling the [`unpark`] method on the blocked thread's\nhandle.\n\nConceptually, each [`Thread`] handle has an associated token, which is\ninitially not present:\n\n* The [`thread::park`][`park`] function blocks the current thread unless or\n until the token is available for its thread handle, at which point it\n atomically consumes the token. It may also return *spuriously*, without\n consuming the token. [`thread::park_timeout`] does the same, but allows\n specifying a maximum time to block the thread for.\n\n* The [`unpark`] method on a [`Thread`] atomically makes the token available\n if it wasn't already. Because the token can be held by a thread even if it is currently not\n parked, [`unpark`] followed by [`park`] will result in the second call returning immediately.\n However, note that to rely on this guarantee, you need to make sure that your `unpark` happens\n after all `park` that may be done by other data structures!\n\nThe API is typically used by acquiring a handle to the current thread, placing that handle in a\nshared data structure so that other threads can find it, and then `park`ing in a loop. When some\ndesired condition is met, another thread calls [`unpark`] on the handle. The last bullet point\nabove guarantees that even if the `unpark` occurs before the thread is finished `park`ing, it\nwill be woken up properly.\n\nNote that the coordination via the shared data structure is crucial: If you `unpark` a thread\nwithout first establishing that it is about to be `park`ing within your code, that `unpark` may\nget consumed by a *different* `park` in the same thread, leading to a deadlock. This also means\nyou must not call unknown code between setting up for parking and calling `park`; for instance,\nif you invoke `println!`, that may itself call `park` and thus consume your `unpark` and cause a\ndeadlock.\n\nThe motivation for this design is twofold:\n\n* It avoids the need to allocate mutexes and condvars when building new\n synchronization primitives; the threads already provide basic\n blocking/signaling.\n\n* It can be implemented very efficiently on many platforms.\n\n# Memory Ordering\n\nCalls to `unpark` _synchronize-with_ calls to `park`, meaning that memory\noperations performed before a call to `unpark` are made visible to the thread that\nconsumes the token and returns from `park`. Note that all `park` and `unpark`\noperations for a given thread form a total order and _all_ prior `unpark` operations\nsynchronize-with `park`.\n\nIn atomic ordering terms, `unpark` performs a `Release` operation and `park`\nperforms the corresponding `Acquire` operation. Calls to `unpark` for the same\nthread form a [release sequence].\n\nNote that being unblocked does not imply a call was made to `unpark`, because\nwakeups can also be spurious. For example, a valid, but inefficient,\nimplementation could have `park` and `unpark` return immediately without doing anything,\nmaking *all* wakeups spurious.\n\n# Examples\n\n```\nuse std::thread;\nuse std::sync::atomic::{Ordering, AtomicBool};\nuse std::time::Duration;\n\nstatic QUEUED: AtomicBool = AtomicBool::new(false);\nstatic FLAG: AtomicBool = AtomicBool::new(false);\n\nlet parked_thread = thread::spawn(move || {\n println!(\"Thread spawned\");\n // Signal that we are going to `park`. Between this store and our `park`, there may\n // be no other `park`, or else that `park` could consume our `unpark` token!\n QUEUED.store(true, Ordering::Release);\n // We want to wait until the flag is set. We *could* just spin, but using\n // park/unpark is more efficient.\n while !FLAG.load(Ordering::Acquire) {\n // We can *not* use `println!` here since that could use thread parking internally.\n thread::park();\n // We *could* get here spuriously, i.e., way before the 10ms below are over!\n // But that is no problem, we are in a loop until the flag is set anyway.\n }\n println!(\"Flag received\");\n});\n\n// Let some time pass for the thread to be spawned.\nthread::sleep(Duration::from_millis(10));\n\n// Ensure the thread is about to park.\n// This is crucial! It guarantees that the `unpark` below is not consumed\n// by some other code in the parked thread (e.g. inside `println!`).\nwhile !QUEUED.load(Ordering::Acquire) {\n // Spinning is of course inefficient; in practice, this would more likely be\n // a dequeue where we have no work to do if there's nobody queued.\n std::hint::spin_loop();\n}\n\n// Set the flag, and let the thread wake up.\n// There is no race condition here: if `unpark`\n// happens first, `park` will return immediately.\n// There is also no other `park` that could consume this token,\n// since we waited until the other thread got queued.\n// Hence there is no risk of a deadlock.\nFLAG.store(true, Ordering::Release);\nprintln!(\"Unpark the thread\");\nparked_thread.thread().unpark();\n\nparked_thread.join().unwrap();\n```\n\n[`unpark`]: Thread::unpark\n[`thread::park_timeout`]: park_timeout\n[release sequence]: https://en.cppreference.com/w/cpp/atomic/memory_order#Release_sequence", + "id": 505, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "Thread::unpark": 506, + "`Thread`": 347, + "`park`": 505, + "park_timeout": 507 + }, + "name": "park", + "span": { + "begin": [ + 1124, + 1 + ], + "end": [ + 1132, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5050": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5045, + "id": 5050, "inner": { "impl": { "blanket_impl": { @@ -440840,7 +460082,7 @@ "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -440888,7 +460130,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -440906,8 +460148,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -440923,7 +460165,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -440932,23 +460174,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5046": { + "5051": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5046, + "id": 5051, "inner": { "impl": { "blanket_impl": { @@ -440957,7 +460199,7 @@ "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -441023,8 +460265,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -441040,7 +460282,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -441049,23 +460291,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5047": { + "5052": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5047, + "id": 5052, "inner": { "impl": { "blanket_impl": { @@ -441074,7 +460316,7 @@ "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -441122,12 +460364,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -441147,7 +460389,7 @@ }, "visibility": "default" }, - "5048": { + "5053": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -441156,7 +460398,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5048, + "id": 5053, "inner": { "function": { "generics": { @@ -441202,7 +460444,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -441214,7 +460456,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -441225,21 +460467,21 @@ "name": "fmt", "span": { "begin": [ - 448, + 452, 10 ], "end": [ - 448, + 452, 15 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5049": { + "5054": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\")))]" + "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")))]" }, { "other": "#[doc(cfg(unix))]" @@ -441252,14 +460494,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5049, + "id": 5054, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } }, @@ -441271,12 +460513,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5048 + 5053 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -441285,86 +460527,23 @@ "name": null, "span": { "begin": [ - 448, + 452, 10 ], "end": [ - 448, + 452, 15 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "505": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Atomically makes the handle's token available if it is not already.\n\nEvery thread is equipped with some basic low-level blocking support, via\nthe [`park`][park] function and the `unpark()` method. These can be\nused as a more CPU-efficient implementation of a spinlock.\n\nSee the [park documentation][park] for more details.\n\n# Examples\n\n```\nuse std::thread;\nuse std::time::Duration;\n\nlet parked_thread = thread::Builder::new()\n .spawn(|| {\n println!(\"Parking thread\");\n thread::park();\n println!(\"Thread unparked\");\n })\n .unwrap();\n\n// Let some time pass for the thread to be spawned.\nthread::sleep(Duration::from_millis(10));\n\nprintln!(\"Unpark the thread\");\nparked_thread.thread().unpark();\n\nparked_thread.join().unwrap();\n```", - "id": 505, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "park": 504 - }, - "name": "unpark", - "span": { - "begin": [ - 1516, - 5 - ], - "end": [ - 1518, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5050": { + "5055": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5050, + "id": 5055, "inner": { "struct_field": { "resolved_path": { @@ -441378,7 +460557,7 @@ "constraints": [] } }, - "id": 4994, + "id": 4999, "path": "ScmRights" } } @@ -441387,29 +460566,29 @@ "name": "0", "span": { "begin": [ - 457, + 461, 15 ], "end": [ - 457, + 461, 28 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5051": { + "5056": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5051, + "id": 5056, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 5050 + 5055 ] } } @@ -441418,23 +460597,23 @@ "name": "ScmRights", "span": { "begin": [ - 457, + 461, 5 ], "end": [ - 457, + 461, 29 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5052": { + "5057": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5052, + "id": 5057, "inner": { "struct_field": { "resolved_path": { @@ -441448,7 +460627,7 @@ "constraints": [] } }, - "id": 5013, + "id": 5018, "path": "ScmCredentials" } } @@ -441457,33 +460636,33 @@ "name": "0", "span": { "begin": [ - 465, + 470, 20 ], "end": [ - 465, + 470, 38 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5053": { + "5058": { "attrs": [ { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"netbsd\", target_os = \"freebsd\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"netbsd\", target_os = \"freebsd\", target_os = \"cygwin\",))]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5053, + "id": 5058, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 5052 + 5057 ] } } @@ -441492,18 +460671,18 @@ "name": "ScmCredentials", "span": { "begin": [ - 465, + 470, 5 ], "end": [ - 465, + 470, 39 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5054": { + "5059": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -441512,7 +460691,7 @@ "crate_id": 0, "deprecation": null, "docs": "This enum represent one control message of variable type.", - "id": 5054, + "id": 5059, "inner": { "enum": { "generics": { @@ -441530,11 +460709,6 @@ }, "has_stripped_variants": false, "impls": [ - 5055, - 5056, - 5057, - 5058, - 5059, 5060, 5061, 5062, @@ -441542,11 +460716,16 @@ 5064, 5065, 5066, - 5067 + 5067, + 5068, + 5069, + 5070, + 5071, + 5072 ], "variants": [ - 5051, - 5053 + 5056, + 5058 ] } }, @@ -441554,23 +460733,86 @@ "name": "AncillaryData", "span": { "begin": [ - 456, + 460, 1 ], "end": [ - 466, + 471, 2 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5055": { + "506": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Atomically makes the handle's token available if it is not already.\n\nEvery thread is equipped with some basic low-level blocking support, via\nthe [`park`][park] function and the `unpark()` method. These can be\nused as a more CPU-efficient implementation of a spinlock.\n\nSee the [park documentation][park] for more details.\n\n# Examples\n\n```\nuse std::thread;\nuse std::time::Duration;\nuse std::sync::atomic::{AtomicBool, Ordering};\n\nstatic QUEUED: AtomicBool = AtomicBool::new(false);\n\nlet parked_thread = thread::Builder::new()\n .spawn(|| {\n println!(\"Parking thread\");\n QUEUED.store(true, Ordering::Release);\n thread::park();\n println!(\"Thread unparked\");\n })\n .unwrap();\n\n// Let some time pass for the thread to be spawned.\nthread::sleep(Duration::from_millis(10));\n\n// Wait until the other thread is queued.\n// This is crucial! It guarantees that the `unpark` below is not consumed\n// by some other code in the parked thread (e.g. inside `println!`).\nwhile !QUEUED.load(Ordering::Acquire) {\n // Spinning is of course inefficient; in practice, this would more likely be\n // a dequeue where we have no work to do if there's nobody queued.\n std::hint::spin_loop();\n}\n\nprintln!(\"Unpark the thread\");\nparked_thread.thread().unpark();\n\nparked_thread.join().unwrap();\n```", + "id": 506, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "park": 505 + }, + "name": "unpark", + "span": { + "begin": [ + 1555, + 5 + ], + "end": [ + 1557, + 6 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5060": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5055, + "id": 5060, "inner": { "impl": { "blanket_impl": null, @@ -441586,7 +460828,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -441620,12 +460862,12 @@ "span": null, "visibility": "default" }, - "5056": { + "5061": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5056, + "id": 5061, "inner": { "impl": { "blanket_impl": null, @@ -441641,7 +460883,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -441675,12 +460917,12 @@ "span": null, "visibility": "default" }, - "5057": { + "5062": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5057, + "id": 5062, "inner": { "impl": { "blanket_impl": null, @@ -441696,7 +460938,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -441720,7 +460962,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -441730,12 +460972,12 @@ "span": null, "visibility": "default" }, - "5058": { + "5063": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5058, + "id": 5063, "inner": { "impl": { "blanket_impl": null, @@ -441751,7 +460993,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -441785,12 +461027,12 @@ "span": null, "visibility": "default" }, - "5059": { + "5064": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5059, + "id": 5064, "inner": { "impl": { "blanket_impl": null, @@ -441806,7 +461048,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -441830,7 +461072,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -441840,70 +461082,12 @@ "span": null, "visibility": "default" }, - "506": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"park_timeout\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Blocks unless or until the current thread's token is made available or\nthe specified duration has been reached (may wake spuriously).\n\nThe semantics of this function are equivalent to [`park`][park] except\nthat the thread will be blocked for roughly no longer than `dur`. This\nmethod should not be used for precise timing due to anomalies such as\npreemption or platform differences that might not cause the maximum\namount of time waited to be precisely `dur` long.\n\nSee the [park documentation][park] for more details.\n\n# Platform-specific behavior\n\nPlatforms which do not support nanosecond precision for sleeping will have\n`dur` rounded up to the nearest granularity of time they can sleep for.\n\n# Examples\n\nWaiting for the complete expiration of the timeout:\n\n```rust,no_run\nuse std::thread::park_timeout;\nuse std::time::{Instant, Duration};\n\nlet timeout = Duration::from_secs(2);\nlet beginning_park = Instant::now();\n\nlet mut timeout_remaining = timeout;\nloop {\n park_timeout(timeout_remaining);\n let elapsed = beginning_park.elapsed();\n if elapsed >= timeout {\n break;\n }\n println!(\"restarting park_timeout after {elapsed:?}\");\n timeout_remaining = timeout - elapsed;\n}\n```", - "id": 506, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "dur", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "crate::time::Duration" - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "park": 504 - }, - "name": "park_timeout", - "span": { - "begin": [ - 1165, - 1 - ], - "end": [ - 1173, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5060": { + "5065": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5060, + "id": 5065, "inner": { "impl": { "blanket_impl": null, @@ -441919,7 +461103,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -441943,7 +461127,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -441953,12 +461137,12 @@ "span": null, "visibility": "default" }, - "5061": { + "5066": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5061, + "id": 5066, "inner": { "impl": { "blanket_impl": { @@ -441976,7 +461160,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -442021,7 +461205,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -442037,7 +461221,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -442046,23 +461230,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5062": { + "5067": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5062, + "id": 5067, "inner": { "impl": { "blanket_impl": { @@ -442080,7 +461264,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -442125,7 +461309,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -442141,7 +461325,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -442150,23 +461334,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5063": { + "5068": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5063, + "id": 5068, "inner": { "impl": { "blanket_impl": { @@ -442184,7 +461368,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -442250,7 +461434,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -442275,23 +461459,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5064": { + "5069": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5064, + "id": 5069, "inner": { "impl": { "blanket_impl": { @@ -442309,7 +461493,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -442332,7 +461516,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -442357,23 +461541,81 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5065": { + "507": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"park_timeout\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Blocks unless or until the current thread's token is made available or\nthe specified duration has been reached (may wake spuriously).\n\nThe semantics of this function are equivalent to [`park`][park] except\nthat the thread will be blocked for roughly no longer than `dur`. This\nmethod should not be used for precise timing due to anomalies such as\npreemption or platform differences that might not cause the maximum\namount of time waited to be precisely `dur` long.\n\nSee the [park documentation][park] for more details.\n\n# Platform-specific behavior\n\nPlatforms which do not support nanosecond precision for sleeping will have\n`dur` rounded up to the nearest granularity of time they can sleep for.\n\n# Examples\n\nWaiting for the complete expiration of the timeout:\n\n```rust,no_run\nuse std::thread::park_timeout;\nuse std::time::{Instant, Duration};\n\nlet timeout = Duration::from_secs(2);\nlet beginning_park = Instant::now();\n\nlet mut timeout_remaining = timeout;\nloop {\n park_timeout(timeout_remaining);\n let elapsed = beginning_park.elapsed();\n if elapsed >= timeout {\n break;\n }\n println!(\"restarting park_timeout after {elapsed:?}\");\n timeout_remaining = timeout - elapsed;\n}\n```", + "id": 507, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "dur", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "crate::time::Duration" + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "park": 505 + }, + "name": "park_timeout", + "span": { + "begin": [ + 1191, + 1 + ], + "end": [ + 1199, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5070": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5065, + "id": 5070, "inner": { "impl": { "blanket_impl": { @@ -442391,7 +461633,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -442439,7 +461681,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -442457,8 +461699,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -442474,7 +461716,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -442483,23 +461725,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5066": { + "5071": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5066, + "id": 5071, "inner": { "impl": { "blanket_impl": { @@ -442517,7 +461759,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -442583,8 +461825,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -442600,7 +461842,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -442609,23 +461851,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5067": { + "5072": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5067, + "id": 5072, "inner": { "impl": { "blanket_impl": { @@ -442643,7 +461885,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } }, @@ -442691,12 +461933,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -442716,65 +461958,7 @@ }, "visibility": "default" }, - "507": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "replaced by `std::thread::park_timeout`", - "since": "1.6.0" - }, - "docs": "Uses [`park_timeout`].\n\nBlocks unless or until the current thread's token is made available or\nthe specified duration has been reached (may wake spuriously).\n\nThe semantics of this function are equivalent to [`park`] except\nthat the thread will be blocked for roughly no longer than `dur`. This\nmethod should not be used for precise timing due to anomalies such as\npreemption or platform differences that might not cause the maximum\namount of time waited to be precisely `ms` long.\n\nSee the [park documentation][`park`] for more detail.", - "id": 507, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "ms", - { - "primitive": "u32" - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "`park_timeout`": 506, - "`park`": 504 - }, - "name": "park_timeout_ms", - "span": { - "begin": [ - 1122, - 1 - ], - "end": [ - 1124, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5070": { + "5075": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -442788,7 +461972,7 @@ "crate_id": 0, "deprecation": null, "docs": "This struct is used to iterate through the control messages.", - "id": 5070, + "id": 5075, "inner": { "struct": { "generics": { @@ -442805,11 +461989,6 @@ "where_predicates": [] }, "impls": [ - 5071, - 5072, - 5073, - 5074, - 5075, 5076, 5077, 5078, @@ -442819,7 +461998,12 @@ 5082, 5083, 5084, - 5087 + 5085, + 5086, + 5087, + 5088, + 5089, + 5092 ], "kind": { "plain": { @@ -442833,23 +462017,23 @@ "name": "Messages", "span": { "begin": [ - 531, + 537, 1 ], "end": [ - 534, + 540, 2 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5071": { + "5076": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5071, + "id": 5076, "inner": { "impl": { "blanket_impl": null, @@ -442865,7 +462049,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -442899,12 +462083,12 @@ "span": null, "visibility": "default" }, - "5072": { + "5077": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5072, + "id": 5077, "inner": { "impl": { "blanket_impl": null, @@ -442920,7 +462104,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -442954,12 +462138,12 @@ "span": null, "visibility": "default" }, - "5073": { + "5078": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5073, + "id": 5078, "inner": { "impl": { "blanket_impl": null, @@ -442975,7 +462159,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -442999,7 +462183,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -443009,12 +462193,12 @@ "span": null, "visibility": "default" }, - "5074": { + "5079": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5074, + "id": 5079, "inner": { "impl": { "blanket_impl": null, @@ -443030,7 +462214,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -443064,12 +462248,125 @@ "span": null, "visibility": "default" }, - "5075": { + "508": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "replaced by `std::thread::park_timeout`", + "since": "1.6.0" + }, + "docs": "Uses [`park_timeout`].\n\nBlocks unless or until the current thread's token is made available or\nthe specified duration has been reached (may wake spuriously).\n\nThe semantics of this function are equivalent to [`park`] except\nthat the thread will be blocked for roughly no longer than `dur`. This\nmethod should not be used for precise timing due to anomalies such as\npreemption or platform differences that might not cause the maximum\namount of time waited to be precisely `ms` long.\n\nSee the [park documentation][`park`] for more detail.", + "id": 508, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "ms", + { + "primitive": "u32" + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "`park_timeout`": 507, + "`park`": 505 + }, + "name": "park_timeout_ms", + "span": { + "begin": [ + 1148, + 1 + ], + "end": [ + 1150, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5080": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5075, + "id": 5080, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 5075, + "path": "Messages" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5081": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5081, "inner": { "impl": { "blanket_impl": null, @@ -443085,7 +462382,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -443110,61 +462407,6 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5076": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5076, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 5070, - "path": "Messages" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, "path": "RefUnwindSafe" } } @@ -443174,12 +462416,12 @@ "span": null, "visibility": "default" }, - "5077": { + "5082": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5077, + "id": 5082, "inner": { "impl": { "blanket_impl": { @@ -443197,7 +462439,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -443242,7 +462484,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -443258,7 +462500,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -443267,23 +462509,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5078": { + "5083": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5078, + "id": 5083, "inner": { "impl": { "blanket_impl": { @@ -443301,7 +462543,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -443346,7 +462588,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -443362,7 +462604,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -443371,23 +462613,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5079": { + "5084": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5079, + "id": 5084, "inner": { "impl": { "blanket_impl": { @@ -443405,7 +462647,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -443471,7 +462713,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -443496,23 +462738,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5080": { + "5085": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5080, + "id": 5085, "inner": { "impl": { "blanket_impl": { @@ -443530,7 +462772,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -443553,7 +462795,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -443578,23 +462820,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5081": { + "5086": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5081, + "id": 5086, "inner": { "impl": { "blanket_impl": { @@ -443612,7 +462854,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -443660,7 +462902,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -443678,8 +462920,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -443695,7 +462937,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -443704,23 +462946,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5082": { + "5087": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5082, + "id": 5087, "inner": { "impl": { "blanket_impl": { @@ -443738,7 +462980,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -443804,8 +463046,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -443821,7 +463063,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -443830,23 +463072,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5083": { + "5088": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5083, + "id": 5088, "inner": { "impl": { "blanket_impl": { @@ -443864,7 +463106,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -443912,12 +463154,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -443937,12 +463179,12 @@ }, "visibility": "default" }, - "5084": { + "5089": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5084, + "id": 5089, "inner": { "impl": { "blanket_impl": { @@ -443960,7 +463202,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -444032,12 +463274,12 @@ }, "visibility": "default" }, - "5085": { + "5090": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5085, + "id": 5090, "inner": { "assoc_type": { "bounds": [], @@ -444063,7 +463305,7 @@ "constraints": [] } }, - "id": 5054, + "id": 5059, "path": "AncillaryData" } } @@ -444072,7 +463314,7 @@ "type": { "resolved_path": { "args": null, - "id": 5034, + "id": 5039, "path": "AncillaryError" } } @@ -444091,23 +463333,23 @@ "name": "Item", "span": { "begin": [ - 538, + 544, 5 ], "end": [ - 538, + 544, 59 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5086": { + "5091": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5086, + "id": 5091, "inner": { "function": { "generics": { @@ -444173,21 +463415,21 @@ "name": "next", "span": { "begin": [ - 540, + 546, 5 ], "end": [ - 567, + 573, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5087": { + "5092": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\")))]" + "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")))]" }, { "other": "#[doc(cfg(unix))]" @@ -444199,7 +463441,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5087, + "id": 5092, "inner": { "impl": { "blanket_impl": null, @@ -444215,7 +463457,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } }, @@ -444236,8 +463478,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5085, - 5086 + 5090, + 5091 ], "provided_trait_methods": [ "next_chunk", @@ -444328,87 +463570,18 @@ "name": null, "span": { "begin": [ - 537, + 543, 1 ], "end": [ - 568, + 574, 2 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "509": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Gets the thread's unique identifier.\n\n# Examples\n\n```\nuse std::thread;\n\nlet other_thread = thread::spawn(|| {\n thread::current().id()\n});\n\nlet other_thread_id = other_thread.join().unwrap();\nassert!(thread::current().id() != other_thread_id);\n```", - "id": 509, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - } - } - } - }, - "links": {}, - "name": "id", - "span": { - "begin": [ - 1536, - 5 - ], - "end": [ - 1538, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5091": { + "5096": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -444417,7 +463590,7 @@ "crate_id": 0, "deprecation": null, "docs": "A Unix socket Ancillary data struct.\n\n# Example\n```no_run\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::{UnixStream, SocketAncillary, AncillaryData};\nuse std::io::IoSliceMut;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixStream::connect(\"/tmp/sock\")?;\n\n let mut fds = [0; 8];\n let mut ancillary_buffer = [0; 128];\n let mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n\n let mut buf = [1; 8];\n let mut bufs = &mut [IoSliceMut::new(&mut buf[..])][..];\n sock.recv_vectored_with_ancillary(bufs, &mut ancillary)?;\n\n for ancillary_result in ancillary.messages() {\n if let AncillaryData::ScmRights(scm_rights) = ancillary_result.unwrap() {\n for fd in scm_rights {\n println!(\"receive file descriptor: {fd}\");\n }\n }\n }\n Ok(())\n}\n```", - "id": 5091, + "id": 5096, "inner": { "struct": { "generics": { @@ -444434,11 +463607,6 @@ "where_predicates": [] }, "impls": [ - 5101, - 5102, - 5103, - 5104, - 5105, 5106, 5107, 5108, @@ -444448,7 +463616,12 @@ 5112, 5113, 5114, - 5116 + 5115, + 5116, + 5117, + 5118, + 5119, + 5121 ], "kind": { "plain": { @@ -444462,18 +463635,18 @@ "name": "SocketAncillary", "span": { "begin": [ - 601, + 607, 1 ], "end": [ - 605, + 611, 2 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5092": { + "5097": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -444482,7 +463655,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an ancillary data with the given buffer.\n\n# Example\n\n```no_run\n# #![allow(unused_mut)]\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::SocketAncillary;\nlet mut ancillary_buffer = [0; 128];\nlet mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n```", - "id": 5092, + "id": 5097, "inner": { "function": { "generics": { @@ -444524,18 +463697,18 @@ "name": "new", "span": { "begin": [ - 620, + 626, 5 ], "end": [ - 622, + 628, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5093": { + "5098": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -444549,7 +463722,72 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the capacity of the buffer.", - "id": 5093, + "id": 5098, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "capacity", + "span": { + "begin": [ + 633, + 5 + ], + "end": [ + 635, + 6 + ], + "filename": "std/src/os/unix/net/ancillary.rs" + }, + "visibility": "public" + }, + "5099": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns `true` if the ancillary data is empty.", + "id": 5099, "inner": { "function": { "generics": { @@ -444580,30 +463818,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "bool" } } } }, "links": {}, - "name": "capacity", + "name": "is_empty", "span": { "begin": [ - 627, + 640, 5 ], "end": [ - 629, + 642, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5094": { + "510": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" }, { "must_use": { @@ -444613,8 +463851,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the ancillary data is empty.", - "id": 5094, + "docs": "Gets the thread's unique identifier.\n\n# Examples\n\n```\nuse std::thread;\n\nlet other_thread = thread::spawn(|| {\n thread::current().id()\n});\n\nlet other_thread_id = other_thread.join().unwrap();\nassert!(thread::current().id() != other_thread_id);\n```", + "id": 510, "inner": { "function": { "generics": { @@ -444645,27 +463883,31 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } } } } }, "links": {}, - "name": "is_empty", + "name": "id", "span": { "begin": [ - 634, + 1575, 5 ], "end": [ - 636, + 1577, 6 ], - "filename": "std/src/os/unix/net/ancillary.rs" + "filename": "std/src/thread/mod.rs" }, "visibility": "public" }, - "5095": { + "5100": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -444679,7 +463921,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of used bytes.", - "id": 5095, + "id": 5100, "inner": { "function": { "generics": { @@ -444719,18 +463961,18 @@ "name": "len", "span": { "begin": [ - 641, + 647, 5 ], "end": [ - 643, + 649, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5096": { + "5101": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -444739,7 +463981,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the iterator of the control messages.", - "id": 5096, + "id": 5101, "inner": { "function": { "generics": { @@ -444781,7 +464023,7 @@ "constraints": [] } }, - "id": 5070, + "id": 5075, "path": "Messages" } } @@ -444792,18 +464034,18 @@ "name": "messages", "span": { "begin": [ - 647, + 653, 5 ], "end": [ - 649, + 655, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5097": { + "5102": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -444817,7 +464059,7 @@ "crate_id": 0, "deprecation": null, "docs": "Is `true` if during a recv operation the ancillary was truncated.\n\n# Example\n\n```no_run\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::{UnixStream, SocketAncillary};\nuse std::io::IoSliceMut;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixStream::connect(\"/tmp/sock\")?;\n\n let mut ancillary_buffer = [0; 128];\n let mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n\n let mut buf = [1; 8];\n let mut bufs = &mut [IoSliceMut::new(&mut buf[..])][..];\n sock.recv_vectored_with_ancillary(bufs, &mut ancillary)?;\n\n println!(\"Is truncated: {}\", ancillary.truncated());\n Ok(())\n}\n```", - "id": 5097, + "id": 5102, "inner": { "function": { "generics": { @@ -444857,18 +464099,18 @@ "name": "truncated", "span": { "begin": [ - 676, + 682, 5 ], "end": [ - 678, + 684, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5098": { + "5103": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -444877,7 +464119,7 @@ "crate_id": 0, "deprecation": null, "docs": "Add file descriptors to the ancillary data.\n\nThe function returns `true` if there was enough space in the buffer.\nIf there was not enough space then no file descriptors was appended.\nTechnically, that means this operation adds a control message with the level `SOL_SOCKET`\nand type `SCM_RIGHTS`.\n\n# Example\n\n```no_run\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::{UnixStream, SocketAncillary};\nuse std::os::unix::io::AsRawFd;\nuse std::io::IoSlice;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixStream::connect(\"/tmp/sock\")?;\n\n let mut ancillary_buffer = [0; 128];\n let mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n ancillary.add_fds(&[sock.as_raw_fd()][..]);\n\n let buf = [1; 8];\n let mut bufs = &mut [IoSlice::new(&buf[..])][..];\n sock.send_vectored_with_ancillary(bufs, &mut ancillary)?;\n Ok(())\n}\n```", - "id": 5098, + "id": 5103, "inner": { "function": { "generics": { @@ -444935,21 +464177,21 @@ "name": "add_fds", "span": { "begin": [ - 709, + 715, 5 ], "end": [ - 718, + 724, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5099": { + "5104": { "attrs": [ { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"netbsd\", target_os = \"freebsd\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"netbsd\", target_os = \"freebsd\", target_os = \"cygwin\",))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -444958,7 +464200,7 @@ "crate_id": 0, "deprecation": null, "docs": "Add credentials to the ancillary data.\n\nThe function returns `true` if there is enough space in the buffer.\nIf there is not enough space then no credentials will be appended.\nTechnically, that means this operation adds a control message with the level `SOL_SOCKET`\nand type `SCM_CREDENTIALS`, `SCM_CREDS`, or `SCM_CREDS2`.\n", - "id": 5099, + "id": 5104, "inner": { "function": { "generics": { @@ -444996,7 +464238,7 @@ "slice": { "resolved_path": { "args": null, - "id": 4964, + "id": 4969, "path": "SocketCred" } } @@ -445016,84 +464258,18 @@ "name": "add_creds", "span": { "begin": [ - 735, + 742, 5 ], "end": [ - 749, + 756, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "510": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A unique identifier for a running thread.\n\nA `ThreadId` is an opaque object that uniquely identifies each thread\ncreated during the lifetime of a process. `ThreadId`s are guaranteed not to\nbe reused, even when a thread terminates. `ThreadId`s are under the control\nof Rust's standard library and there may not be any relationship between\n`ThreadId` and the underlying platform's notion of a thread identifier --\nthe two concepts cannot, therefore, be used interchangeably. A `ThreadId`\ncan be retrieved from the [`id`] method on a [`Thread`].\n\n# Examples\n\n```\nuse std::thread;\n\nlet other_thread = thread::spawn(|| {\n thread::current().id()\n});\n\nlet other_thread_id = other_thread.join().unwrap();\nassert!(thread::current().id() != other_thread_id);\n```\n\n[`id`]: Thread::id", - "id": 510, - "inner": { - "struct": { - "generics": { - "params": [], - "where_predicates": [] - }, - "impls": [ - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 532, - 534, - 535, - 538, - 541 - ], - "kind": { - "tuple": [ - null - ] - } - } - }, - "links": { - "Thread::id": 509, - "`Thread`": 349 - }, - "name": "ThreadId", - "span": { - "begin": [ - 1205, - 1 - ], - "end": [ - 1205, - 35 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5100": { + "5105": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -445102,7 +464278,7 @@ "crate_id": 0, "deprecation": null, "docs": "Clears the ancillary data, removing all values.\n\n# Example\n\n```no_run\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::{UnixStream, SocketAncillary, AncillaryData};\nuse std::io::IoSliceMut;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixStream::connect(\"/tmp/sock\")?;\n\n let mut fds1 = [0; 8];\n let mut fds2 = [0; 8];\n let mut ancillary_buffer = [0; 128];\n let mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n\n let mut buf = [1; 8];\n let mut bufs = &mut [IoSliceMut::new(&mut buf[..])][..];\n\n sock.recv_vectored_with_ancillary(bufs, &mut ancillary)?;\n for ancillary_result in ancillary.messages() {\n if let AncillaryData::ScmRights(scm_rights) = ancillary_result.unwrap() {\n for fd in scm_rights {\n println!(\"receive file descriptor: {fd}\");\n }\n }\n }\n\n ancillary.clear();\n\n sock.recv_vectored_with_ancillary(bufs, &mut ancillary)?;\n for ancillary_result in ancillary.messages() {\n if let AncillaryData::ScmRights(scm_rights) = ancillary_result.unwrap() {\n for fd in scm_rights {\n println!(\"receive file descriptor: {fd}\");\n }\n }\n }\n Ok(())\n}\n```", - "id": 5100, + "id": 5105, "inner": { "function": { "generics": { @@ -445140,23 +464316,23 @@ "name": "clear", "span": { "begin": [ - 794, + 801, 5 ], "end": [ - 797, + 804, 6 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "public" }, - "5101": { + "5106": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5101, + "id": 5106, "inner": { "impl": { "blanket_impl": null, @@ -445172,7 +464348,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -445193,15 +464369,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5092, - 5093, - 5094, - 5095, - 5096, 5097, 5098, 5099, - 5100 + 5100, + 5101, + 5102, + 5103, + 5104, + 5105 ], "provided_trait_methods": [], "trait": null @@ -445211,23 +464387,23 @@ "name": null, "span": { "begin": [ - 607, + 613, 1 ], "end": [ - 798, + 805, 2 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5102": { + "5107": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5102, + "id": 5107, "inner": { "impl": { "blanket_impl": null, @@ -445243,7 +464419,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -445277,12 +464453,12 @@ "span": null, "visibility": "default" }, - "5103": { + "5108": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5103, + "id": 5108, "inner": { "impl": { "blanket_impl": null, @@ -445298,7 +464474,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -445332,12 +464508,12 @@ "span": null, "visibility": "default" }, - "5104": { + "5109": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5104, + "id": 5109, "inner": { "impl": { "blanket_impl": null, @@ -445353,7 +464529,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -445377,7 +464553,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -445387,12 +464563,92 @@ "span": null, "visibility": "default" }, - "5105": { + "511": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 67939, is_soft: false}, feature: \"thread_id_value\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "This returns a numeric identifier for the thread identified by this\n`ThreadId`.\n\nAs noted in the documentation for the type itself, it is essentially an\nopaque ID, but is guaranteed to be unique for each thread. The returned\nvalue is entirely opaque -- only equality testing is stable. Note that\nit is not guaranteed which values new threads will return, and this may\nchange across Rust versions.", + "id": 511, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u64" + } + } + ], + "constraints": [] + } + }, + "id": 512, + "path": "NonZero" + } + } + } + } + }, + "links": {}, + "name": "as_u64", + "span": { + "begin": [ + 1294, + 5 + ], + "end": [ + 1296, + 6 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5110": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5105, + "id": 5110, "inner": { "impl": { "blanket_impl": null, @@ -445408,7 +464664,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -445442,12 +464698,12 @@ "span": null, "visibility": "default" }, - "5106": { + "5111": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5106, + "id": 5111, "inner": { "impl": { "blanket_impl": null, @@ -445463,7 +464719,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -445487,7 +464743,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -445497,12 +464753,12 @@ "span": null, "visibility": "default" }, - "5107": { + "5112": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5107, + "id": 5112, "inner": { "impl": { "blanket_impl": null, @@ -445518,7 +464774,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -445542,7 +464798,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -445552,12 +464808,12 @@ "span": null, "visibility": "default" }, - "5108": { + "5113": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5108, + "id": 5113, "inner": { "impl": { "blanket_impl": { @@ -445575,7 +464831,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -445620,7 +464876,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -445636,7 +464892,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -445645,23 +464901,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5109": { + "5114": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5109, + "id": 5114, "inner": { "impl": { "blanket_impl": { @@ -445679,7 +464935,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -445724,7 +464980,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -445740,7 +464996,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -445749,103 +465005,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "511": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 67939, is_soft: false}, feature: \"thread_id_value\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "This returns a numeric identifier for the thread identified by this\n`ThreadId`.\n\nAs noted in the documentation for the type itself, it is essentially an\nopaque ID, but is guaranteed to be unique for each thread. The returned\nvalue is entirely opaque -- only equality testing is stable. Note that\nit is not guaranteed which values new threads will return, and this may\nchange across Rust versions.", - "id": 511, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u64" - } - } - ], - "constraints": [] - } - }, - "id": 512, - "path": "NonZero" - } - } - } - } - }, - "links": {}, - "name": "as_u64", - "span": { - "begin": [ - 1268, - 5 - ], - "end": [ - 1270, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5110": { + "5115": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5110, + "id": 5115, "inner": { "impl": { "blanket_impl": { @@ -445863,7 +465039,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -445929,7 +465105,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -445954,23 +465130,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5111": { + "5116": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5111, + "id": 5116, "inner": { "impl": { "blanket_impl": { @@ -445988,7 +465164,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -446011,7 +465187,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -446036,23 +465212,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5112": { + "5117": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5112, + "id": 5117, "inner": { "impl": { "blanket_impl": { @@ -446070,7 +465246,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -446118,7 +465294,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -446136,8 +465312,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -446153,7 +465329,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -446162,23 +465338,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5113": { + "5118": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5113, + "id": 5118, "inner": { "impl": { "blanket_impl": { @@ -446196,7 +465372,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -446262,8 +465438,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -446279,7 +465455,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -446288,23 +465464,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5114": { + "5119": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5114, + "id": 5119, "inner": { "impl": { "blanket_impl": { @@ -446322,7 +465498,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -446370,12 +465546,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -446395,7 +465571,7 @@ }, "visibility": "default" }, - "5115": { + "5120": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -446404,7 +465580,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5115, + "id": 5120, "inner": { "function": { "generics": { @@ -446450,7 +465626,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -446462,7 +465638,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -446473,21 +465649,21 @@ "name": "fmt", "span": { "begin": [ - 600, + 606, 10 ], "end": [ - 600, + 606, 15 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5116": { + "5121": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\")))]" + "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")))]" }, { "other": "#[doc(cfg(unix))]" @@ -446500,7 +465676,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5116, + "id": 5121, "inner": { "impl": { "blanket_impl": null, @@ -446516,7 +465692,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } }, @@ -446537,12 +465713,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5115 + 5120 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -446551,42 +465727,42 @@ "name": null, "span": { "begin": [ - 600, + 606, 10 ], "end": [ - 600, + 606, 15 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": "default" }, - "5117": { + "5122": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\")))]" + "other": "#[doc(cfg(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")))]" }, { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5117, + "id": 5122, "inner": { "module": { "is_crate": false, "is_stripped": true, "items": [ - 4964, - 4994, - 5013, - 5034, - 5054, - 5070, - 5091 + 4969, + 4999, + 5018, + 5039, + 5059, + 5075, + 5096 ] } }, @@ -446598,19 +465774,19 @@ 1 ], "end": [ - 798, + 805, 2 ], "filename": "std/src/os/unix/net/ancillary.rs" }, "visibility": { "restricted": { - "parent": 4962, + "parent": 4967, "path": "::os::unix::net" } } }, - "5119": { + "5124": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -446619,7 +465795,7 @@ "crate_id": 0, "deprecation": null, "docs": "A Unix datagram socket.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixDatagram::bind(\"/path/to/my/socket\")?;\n socket.send_to(b\"hello world\", \"/path/to/other/socket\")?;\n let mut buf = [0; 100];\n let (count, address) = socket.recv_from(&mut buf)?;\n println!(\"socket {:?} sent {:?}\", address, &buf[..count]);\n Ok(())\n}\n```", - "id": 5119, + "id": 5124, "inner": { "struct": { "generics": { @@ -446627,11 +465803,6 @@ "where_predicates": [] }, "impls": [ - 5148, - 5149, - 5150, - 5151, - 5152, 5153, 5154, 5155, @@ -446641,14 +465812,19 @@ 5159, 5160, 5161, + 5162, 5163, + 5164, 5165, - 5167, - 5169, - 5171, - 5173, - 5175, - 5178 + 5166, + 5168, + 5170, + 5172, + 5174, + 5176, + 5178, + 5180, + 5183 ], "kind": { "tuple": [ @@ -446672,7 +465848,7 @@ }, "visibility": "public" }, - "5120": { + "5125": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -446681,7 +465857,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a Unix datagram socket bound to the given path.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nlet sock = match UnixDatagram::bind(\"/path/to/the/socket\") {\n Ok(sock) => sock,\n Err(e) => {\n println!(\"Couldn't bind: {e:?}\");\n return\n }\n};\n```", - "id": 5120, + "id": 5125, "inner": { "function": { "generics": { @@ -446702,7 +465878,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -446752,7 +465928,7 @@ "type": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } } @@ -446761,7 +465937,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -446783,7 +465959,7 @@ }, "visibility": "public" }, - "5121": { + "5126": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -446792,7 +465968,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a Unix datagram socket bound to an address.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::{UnixDatagram};\n\nfn main() -> std::io::Result<()> {\n let sock1 = UnixDatagram::bind(\"path/to/socket\")?;\n let addr = sock1.local_addr()?;\n\n let sock2 = match UnixDatagram::bind_addr(&addr) {\n Ok(sock) => sock,\n Err(err) => {\n println!(\"Couldn't bind: {err:?}\");\n return Err(err);\n }\n };\n Ok(())\n}\n```", - "id": 5121, + "id": 5126, "inner": { "function": { "generics": { @@ -446817,7 +465993,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -446835,7 +466011,7 @@ "type": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } } @@ -446844,7 +466020,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -446866,7 +466042,7 @@ }, "visibility": "public" }, - "5122": { + "5127": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -446875,7 +466051,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a Unix Datagram socket which is not bound to any address.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nlet sock = match UnixDatagram::unbound() {\n Ok(sock) => sock,\n Err(e) => {\n println!(\"Couldn't unbound: {e:?}\");\n return\n }\n};\n```", - "id": 5122, + "id": 5127, "inner": { "function": { "generics": { @@ -446901,7 +466077,7 @@ "type": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } } @@ -446910,7 +466086,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -446932,7 +466108,7 @@ }, "visibility": "public" }, - "5123": { + "5128": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -446941,7 +466117,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an unnamed pair of connected sockets.\n\nReturns two `UnixDatagrams`s which are connected to each other.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nlet (sock1, sock2) = match UnixDatagram::pair() {\n Ok((sock1, sock2)) => (sock1, sock2),\n Err(e) => {\n println!(\"Couldn't unbound: {e:?}\");\n return\n }\n};\n```", - "id": 5123, + "id": 5128, "inner": { "function": { "generics": { @@ -446969,14 +466145,14 @@ { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } } @@ -446987,7 +466163,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -447009,7 +466185,7 @@ }, "visibility": "public" }, - "5124": { + "5129": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -447018,7 +466194,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sends data on the socket to the socket's peer.\n\nThe peer address may be set by the `connect` method, and this method\nwill return an error if the socket has not already been connected.\n\nOn success, returns the number of bytes written.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.connect(\"/some/sock\").expect(\"Couldn't connect\");\n sock.send(b\"omelette au fromage\").expect(\"send_to function failed\");\n Ok(())\n}\n```", - "id": 5124, + "id": 5129, "inner": { "function": { "generics": { @@ -447076,7 +466252,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -447087,18 +466263,63 @@ "name": "send", "span": { "begin": [ - 581, + 593, 5 ], "end": [ - 583, + 595, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5125": { + "513": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 513, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 511 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1233, + 1 + ], + "end": [ + 1297, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5130": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -447107,7 +466328,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives data from the socket.\n\nOn success, returns the number of bytes read.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::bind(\"/path/to/the/socket\")?;\n let mut buf = vec![0; 10];\n sock.recv(buf.as_mut_slice()).expect(\"recv function failed\");\n Ok(())\n}\n```", - "id": 5125, + "id": 5130, "inner": { "function": { "generics": { @@ -447165,7 +466386,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -447187,7 +466408,7 @@ }, "visibility": "public" }, - "5126": { + "5131": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -447196,7 +466417,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives data from the socket.\n\nOn success, returns the number of bytes read and the address from\nwhence the data came.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n let mut buf = vec![0; 10];\n let (size, sender) = sock.recv_from(buf.as_mut_slice())?;\n println!(\"received {size} bytes from {sender:?}\");\n Ok(())\n}\n```", - "id": 5126, + "id": 5131, "inner": { "function": { "generics": { @@ -447254,7 +466475,7 @@ { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -447265,7 +466486,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -447287,7 +466508,7 @@ }, "visibility": "public" }, - "5127": { + "5132": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -447296,7 +466517,7 @@ "crate_id": 0, "deprecation": null, "docs": "Connects the socket to the specified path address.\n\nThe [`send`] method may be used to send data to the specified address.\n[`recv`] and [`recv_from`] will only receive data from that address.\n\n[`send`]: UnixDatagram::send\n[`recv`]: UnixDatagram::recv\n[`recv_from`]: UnixDatagram::recv_from\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n match sock.connect(\"/path/to/the/socket\") {\n Ok(sock) => sock,\n Err(e) => {\n println!(\"Couldn't connect: {e:?}\");\n return Err(e)\n }\n };\n Ok(())\n}\n```", - "id": 5127, + "id": 5132, "inner": { "function": { "generics": { @@ -447317,7 +466538,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -447384,7 +466605,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -447392,9 +466613,9 @@ } }, "links": { - "UnixDatagram::recv": 5125, - "UnixDatagram::recv_from": 5126, - "UnixDatagram::send": 5124 + "UnixDatagram::recv": 5130, + "UnixDatagram::recv_from": 5131, + "UnixDatagram::send": 5129 }, "name": "connect", "span": { @@ -447410,7 +466631,7 @@ }, "visibility": "public" }, - "5128": { + "5133": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -447419,7 +466640,7 @@ "crate_id": 0, "deprecation": null, "docs": "Connects the socket to an address.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::{UnixDatagram};\n\nfn main() -> std::io::Result<()> {\n let bound = UnixDatagram::bind(\"/path/to/socket\")?;\n let addr = bound.local_addr()?;\n\n let sock = UnixDatagram::unbound()?;\n match sock.connect_addr(&addr) {\n Ok(sock) => sock,\n Err(e) => {\n println!(\"Couldn't connect: {e:?}\");\n return Err(e)\n }\n };\n Ok(())\n}\n```", - "id": 5128, + "id": 5133, "inner": { "function": { "generics": { @@ -447456,7 +466677,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -447479,7 +466700,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -447501,7 +466722,7 @@ }, "visibility": "public" }, - "5129": { + "5134": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -447510,7 +466731,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new independently owned handle to the underlying socket.\n\nThe returned `UnixDatagram` is a reference to the same socket that this\nobject references. Both handles can be used to accept incoming\nconnections and options set on one side will affect the other.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::bind(\"/path/to/the/socket\")?;\n let sock_copy = sock.try_clone().expect(\"try_clone failed\");\n Ok(())\n}\n```", - "id": 5129, + "id": 5134, "inner": { "function": { "generics": { @@ -447549,7 +466770,7 @@ "type": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } } @@ -447558,7 +466779,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -447580,52 +466801,7 @@ }, "visibility": "public" }, - "513": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 513, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 511 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1207, - 1 - ], - "end": [ - 1271, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5130": { + "5135": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -447634,7 +466810,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the address of this socket.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::bind(\"/path/to/the/socket\")?;\n let addr = sock.local_addr().expect(\"Couldn't get local address\");\n Ok(())\n}\n```", - "id": 5130, + "id": 5135, "inner": { "function": { "generics": { @@ -447673,7 +466849,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -447682,7 +466858,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -447704,7 +466880,7 @@ }, "visibility": "public" }, - "5131": { + "5136": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -447713,7 +466889,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the address of this socket's peer.\n\nThe [`connect`] method will connect the socket to a peer.\n\n[`connect`]: UnixDatagram::connect\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.connect(\"/path/to/the/socket\")?;\n\n let addr = sock.peer_addr().expect(\"Couldn't get peer address\");\n Ok(())\n}\n```", - "id": 5131, + "id": 5136, "inner": { "function": { "generics": { @@ -447752,7 +466928,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -447761,7 +466937,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -447769,7 +466945,7 @@ } }, "links": { - "UnixDatagram::connect": 5127 + "UnixDatagram::connect": 5132 }, "name": "peer_addr", "span": { @@ -447785,16 +466961,16 @@ }, "visibility": "public" }, - "5132": { + "5137": { "attrs": [ { - "other": "#[(any(target_os = \"android\", target_os = \"linux\"), doc =\n\"```no_run\")]" + "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"), doc = \"```no_run\")]" }, { - "other": "#[(not(any(target_os = \"android\", target_os = \"linux\")), doc =\n\"```ignore\")]" + "other": "#[(not(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")), doc = \"```ignore\")]" }, { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -447803,7 +466979,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives data and ancillary data from socket.\n\nOn success, returns the number of bytes read, if the data was truncated and the address from whence the msg came.\n\n# Examples\n\n```no_run\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::{UnixDatagram, SocketAncillary, AncillaryData};\nuse std::io::IoSliceMut;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n let mut buf1 = [1; 8];\n let mut buf2 = [2; 16];\n let mut buf3 = [3; 8];\n let mut bufs = &mut [\n IoSliceMut::new(&mut buf1),\n IoSliceMut::new(&mut buf2),\n IoSliceMut::new(&mut buf3),\n ][..];\n let mut fds = [0; 8];\n let mut ancillary_buffer = [0; 128];\n let mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n let (size, _truncated, sender) = sock.recv_vectored_with_ancillary_from(bufs, &mut ancillary)?;\n println!(\"received {size}\");\n for ancillary_result in ancillary.messages() {\n if let AncillaryData::ScmRights(scm_rights) = ancillary_result.unwrap() {\n for fd in scm_rights {\n println!(\"receive file descriptor: {fd}\");\n }\n }\n }\n Ok(())\n}\n```", - "id": 5132, + "id": 5137, "inner": { "function": { "generics": { @@ -447850,7 +467026,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -447876,7 +467052,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } } @@ -447902,7 +467078,7 @@ { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -447913,7 +467089,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -447924,27 +467100,27 @@ "name": "recv_vectored_with_ancillary_from", "span": { "begin": [ - 433, + 439, 5 ], "end": [ - 442, + 448, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5133": { + "5138": { "attrs": [ { - "other": "#[(any(target_os = \"android\", target_os = \"linux\"), doc =\n\"```no_run\")]" + "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"), doc = \"```no_run\")]" }, { - "other": "#[(not(any(target_os = \"android\", target_os = \"linux\")), doc =\n\"```ignore\")]" + "other": "#[(not(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")), doc = \"```ignore\")]" }, { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -447953,7 +467129,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives data and ancillary data from socket.\n\nOn success, returns the number of bytes read and if the data was truncated.\n\n# Examples\n\n```no_run\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::{UnixDatagram, SocketAncillary, AncillaryData};\nuse std::io::IoSliceMut;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n let mut buf1 = [1; 8];\n let mut buf2 = [2; 16];\n let mut buf3 = [3; 8];\n let mut bufs = &mut [\n IoSliceMut::new(&mut buf1),\n IoSliceMut::new(&mut buf2),\n IoSliceMut::new(&mut buf3),\n ][..];\n let mut fds = [0; 8];\n let mut ancillary_buffer = [0; 128];\n let mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n let (size, _truncated) = sock.recv_vectored_with_ancillary(bufs, &mut ancillary)?;\n println!(\"received {size}\");\n for ancillary_result in ancillary.messages() {\n if let AncillaryData::ScmRights(scm_rights) = ancillary_result.unwrap() {\n for fd in scm_rights {\n println!(\"receive file descriptor: {fd}\");\n }\n }\n }\n Ok(())\n}\n```", - "id": 5133, + "id": 5138, "inner": { "function": { "generics": { @@ -448000,7 +467176,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -448026,7 +467202,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } } @@ -448056,7 +467232,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -448067,18 +467243,18 @@ "name": "recv_vectored_with_ancillary", "span": { "begin": [ - 483, + 495, 5 ], "end": [ - 492, + 504, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5134": { + "5139": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -448087,7 +467263,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sends data on the socket to the specified address.\n\nOn success, returns the number of bytes written.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.send_to(b\"omelette au fromage\", \"/some/sock\").expect(\"send_to function failed\");\n Ok(())\n}\n```", - "id": 5134, + "id": 5139, "inner": { "function": { "generics": { @@ -448108,7 +467284,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -448189,7 +467365,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -448200,18 +467376,55 @@ "name": "send_to", "span": { "begin": [ - 510, + 522, 5 ], "end": [ - 524, + 536, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5135": { + "514": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 514, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5140": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -448220,7 +467433,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sends data on the socket to the specified [SocketAddr].\n\nOn success, returns the number of bytes written.\n\n[SocketAddr]: crate::os::unix::net::SocketAddr\n\n# Examples\n\n```no_run\nuse std::os::unix::net::{UnixDatagram};\n\nfn main() -> std::io::Result<()> {\n let bound = UnixDatagram::bind(\"/path/to/socket\")?;\n let addr = bound.local_addr()?;\n\n let sock = UnixDatagram::unbound()?;\n sock.send_to_addr(b\"bacon egg and cheese\", &addr).expect(\"send_to_addr function failed\");\n Ok(())\n}\n```", - "id": 5135, + "id": 5140, "inner": { "function": { "generics": { @@ -448271,7 +467484,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -448294,7 +467507,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -448302,32 +467515,32 @@ } }, "links": { - "crate::os::unix::net::SocketAddr": 4933 + "crate::os::unix::net::SocketAddr": 4938 }, "name": "send_to_addr", "span": { "begin": [ - 547, + 559, 5 ], "end": [ - 559, + 571, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5136": { + "5141": { "attrs": [ { - "other": "#[(any(target_os = \"android\", target_os = \"linux\"), doc =\n\"```no_run\")]" + "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"), doc = \"```no_run\")]" }, { - "other": "#[(not(any(target_os = \"android\", target_os = \"linux\")), doc =\n\"```ignore\")]" + "other": "#[(not(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")), doc = \"```ignore\")]" }, { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -448336,7 +467549,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sends data and ancillary data on the socket to the specified address.\n\nOn success, returns the number of bytes written.\n\n# Examples\n\n```no_run\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::{UnixDatagram, SocketAncillary};\nuse std::io::IoSlice;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n let buf1 = [1; 8];\n let buf2 = [2; 16];\n let buf3 = [3; 8];\n let bufs = &[\n IoSlice::new(&buf1),\n IoSlice::new(&buf2),\n IoSlice::new(&buf3),\n ][..];\n let fds = [0, 1, 2];\n let mut ancillary_buffer = [0; 128];\n let mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n ancillary.add_fds(&fds[..]);\n sock.send_vectored_with_ancillary_to(bufs, &mut ancillary, \"/some/sock\")\n .expect(\"send_vectored_with_ancillary_to function failed\");\n Ok(())\n}\n```", - "id": 5136, + "id": 5141, "inner": { "function": { "generics": { @@ -448357,7 +467570,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -448421,7 +467634,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -448447,7 +467660,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } } @@ -448476,7 +467689,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -448487,27 +467700,27 @@ "name": "send_vectored_with_ancillary_to", "span": { "begin": [ - 618, + 636, 5 ], "end": [ - 625, + 643, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5137": { + "5142": { "attrs": [ { - "other": "#[(any(target_os = \"android\", target_os = \"linux\"), doc =\n\"```no_run\")]" + "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"), doc = \"```no_run\")]" }, { - "other": "#[(not(any(target_os = \"android\", target_os = \"linux\")), doc =\n\"```ignore\")]" + "other": "#[(not(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")), doc = \"```ignore\")]" }, { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -448516,7 +467729,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sends data and ancillary data on the socket.\n\nOn success, returns the number of bytes written.\n\n# Examples\n\n```no_run\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::{UnixDatagram, SocketAncillary};\nuse std::io::IoSlice;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n let buf1 = [1; 8];\n let buf2 = [2; 16];\n let buf3 = [3; 8];\n let bufs = &[\n IoSlice::new(&buf1),\n IoSlice::new(&buf2),\n IoSlice::new(&buf3),\n ][..];\n let fds = [0, 1, 2];\n let mut ancillary_buffer = [0; 128];\n let mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n ancillary.add_fds(&fds[..]);\n sock.send_vectored_with_ancillary(bufs, &mut ancillary)\n .expect(\"send_vectored_with_ancillary function failed\");\n Ok(())\n}\n```", - "id": 5137, + "id": 5142, "inner": { "function": { "generics": { @@ -448563,7 +467776,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -448589,7 +467802,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } } @@ -448612,7 +467825,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -448623,18 +467836,18 @@ "name": "send_vectored_with_ancillary", "span": { "begin": [ - 660, + 684, 5 ], "end": [ - 666, + 690, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5138": { + "5143": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -448643,7 +467856,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the read timeout for the socket.\n\nIf the provided value is [`None`], then [`recv`] and [`recv_from`] calls will\nblock indefinitely. An [`Err`] is returned if the zero [`Duration`]\nis passed to this method.\n\n[`recv`]: UnixDatagram::recv\n[`recv_from`]: UnixDatagram::recv_from\n\n# Examples\n\n```\nuse std::os::unix::net::UnixDatagram;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.set_read_timeout(Some(Duration::new(1, 0)))\n .expect(\"set_read_timeout function failed\");\n Ok(())\n}\n```\n\nAn [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod:\n\n```no_run\nuse std::io;\nuse std::os::unix::net::UnixDatagram;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixDatagram::unbound()?;\n let result = socket.set_read_timeout(Some(Duration::new(0, 0)));\n let err = result.unwrap_err();\n assert_eq!(err.kind(), io::ErrorKind::InvalidInput);\n Ok(())\n}\n```", - "id": 5138, + "id": 5143, "inner": { "function": { "generics": { @@ -448682,7 +467895,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -448712,7 +467925,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -448720,27 +467933,27 @@ } }, "links": { - "UnixDatagram::recv": 5125, - "UnixDatagram::recv_from": 5126, - "`Duration`": 500, + "UnixDatagram::recv": 5130, + "UnixDatagram::recv_from": 5131, + "`Duration`": 501, "`Err`": 59, "`None`": 53 }, "name": "set_read_timeout", "span": { "begin": [ - 708, + 732, 5 ], "end": [ - 710, + 734, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5139": { + "5144": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -448749,7 +467962,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the write timeout for the socket.\n\nIf the provided value is [`None`], then [`send`] and [`send_to`] calls will\nblock indefinitely. An [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod.\n\n[`send`]: UnixDatagram::send\n[`send_to`]: UnixDatagram::send_to\n\n# Examples\n\n```\nuse std::os::unix::net::UnixDatagram;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.set_write_timeout(Some(Duration::new(1, 0)))\n .expect(\"set_write_timeout function failed\");\n Ok(())\n}\n```\n\nAn [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod:\n\n```no_run\nuse std::io;\nuse std::os::unix::net::UnixDatagram;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixDatagram::unbound()?;\n let result = socket.set_write_timeout(Some(Duration::new(0, 0)));\n let err = result.unwrap_err();\n assert_eq!(err.kind(), io::ErrorKind::InvalidInput);\n Ok(())\n}\n```", - "id": 5139, + "id": 5144, "inner": { "function": { "generics": { @@ -448788,7 +468001,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -448818,7 +468031,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -448826,64 +468039,27 @@ } }, "links": { - "UnixDatagram::send": 5124, - "UnixDatagram::send_to": 5134, - "`Duration`": 500, + "UnixDatagram::send": 5129, + "UnixDatagram::send_to": 5139, + "`Duration`": 501, "`Err`": 59, "`None`": 53 }, "name": "set_write_timeout", "span": { "begin": [ - 752, + 776, 5 ], "end": [ - 754, + 778, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "514": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 514, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5140": { + "5145": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -448892,7 +468068,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the read timeout of this socket.\n\n# Examples\n\n```\nuse std::os::unix::net::UnixDatagram;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.set_read_timeout(Some(Duration::new(1, 0)))\n .expect(\"set_read_timeout function failed\");\n assert_eq!(sock.read_timeout()?, Some(Duration::new(1, 0)));\n Ok(())\n}\n```", - "id": 5140, + "id": 5145, "inner": { "function": { "generics": { @@ -448937,7 +468113,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -448955,7 +468131,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -448966,18 +468142,18 @@ "name": "read_timeout", "span": { "begin": [ - 773, + 797, 5 ], "end": [ - 775, + 799, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5141": { + "5146": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -448986,7 +468162,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the write timeout of this socket.\n\n# Examples\n\n```\nuse std::os::unix::net::UnixDatagram;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.set_write_timeout(Some(Duration::new(1, 0)))\n .expect(\"set_write_timeout function failed\");\n assert_eq!(sock.write_timeout()?, Some(Duration::new(1, 0)));\n Ok(())\n}\n```", - "id": 5141, + "id": 5146, "inner": { "function": { "generics": { @@ -449031,7 +468207,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -449049,7 +468225,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -449060,18 +468236,18 @@ "name": "write_timeout", "span": { "begin": [ - 794, + 818, 5 ], "end": [ - 796, + 820, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5142": { + "5147": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -449080,7 +468256,7 @@ "crate_id": 0, "deprecation": null, "docs": "Moves the socket into or out of nonblocking mode.\n\n# Examples\n\n```\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.set_nonblocking(true).expect(\"set_nonblocking function failed\");\n Ok(())\n}\n```", - "id": 5142, + "id": 5147, "inner": { "function": { "generics": { @@ -449130,7 +468306,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -449141,18 +468317,18 @@ "name": "set_nonblocking", "span": { "begin": [ - 812, + 836, 5 ], "end": [ - 814, + 838, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5143": { + "5148": { "attrs": [ { "other": "#[(any(target_os = \"linux\", target_os = \"freebsd\", target_os =\n\"openbsd\"), doc = \"```no_run\")]" @@ -449170,7 +468346,7 @@ "crate_id": 0, "deprecation": null, "docs": "Set the id of the socket for network filtering purpose\n\n```no_run\n#![feature(unix_set_mark)]\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.set_mark(32)?;\n Ok(())\n}\n```", - "id": 5143, + "id": 5148, "inner": { "function": { "generics": { @@ -449220,7 +468396,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -449231,18 +468407,18 @@ "name": "set_mark", "span": { "begin": [ - 837, + 861, 5 ], "end": [ - 839, + 863, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5144": { + "5149": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -449251,7 +468427,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `SO_ERROR` option.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n if let Ok(Some(err)) = sock.take_error() {\n println!(\"Got error: {err:?}\");\n }\n Ok(())\n}\n```", - "id": 5144, + "id": 5149, "inner": { "function": { "generics": { @@ -449314,7 +468490,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -449325,18 +468501,55 @@ "name": "take_error", "span": { "begin": [ - 857, + 881, 5 ], "end": [ - 859, + 883, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5145": { + "515": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 515, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5150": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -449345,7 +468558,7 @@ "crate_id": 0, "deprecation": null, "docs": "Shut down the read, write, or both halves of this connection.\n\nThis function will cause all pending and future I/O calls on the\nspecified portions to immediately return with an appropriate value\n(see the documentation of [`Shutdown`]).\n\n```no_run\nuse std::os::unix::net::UnixDatagram;\nuse std::net::Shutdown;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.shutdown(Shutdown::Both).expect(\"shutdown function failed\");\n Ok(())\n}\n```", - "id": 5145, + "id": 5150, "inner": { "function": { "generics": { @@ -449378,7 +468591,7 @@ { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } } @@ -449399,7 +468612,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -449407,23 +468620,23 @@ } }, "links": { - "`Shutdown`": 4487 + "`Shutdown`": 4488 }, "name": "shutdown", "span": { "begin": [ - 878, + 902, 5 ], "end": [ - 880, + 904, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5146": { + "5151": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76923, is_soft: false}, feature: \"unix_socket_peek\"}}]" @@ -449432,7 +468645,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives data on the socket from the remote address to which it is\nconnected, without removing that data from the queue. On success,\nreturns the number of bytes peeked.\n\nSuccessive calls return the same data. This is accomplished by passing\n`MSG_PEEK` as a flag to the underlying `recv` system call.\n\n# Examples\n\n```no_run\n#![feature(unix_socket_peek)]\n\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixDatagram::bind(\"/tmp/sock\")?;\n let mut buf = [0; 10];\n let len = socket.peek(&mut buf).expect(\"peek failed\");\n Ok(())\n}\n```", - "id": 5146, + "id": 5151, "inner": { "function": { "generics": { @@ -449490,7 +468703,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -449501,18 +468714,18 @@ "name": "peek", "span": { "begin": [ - 904, + 928, 5 ], "end": [ - 906, + 930, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5147": { + "5152": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76923, is_soft: false}, feature: \"unix_socket_peek\"}}]" @@ -449521,7 +468734,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives a single datagram message on the socket, without removing it from the\nqueue. On success, returns the number of bytes read and the origin.\n\nThe function must be called with valid byte array `buf` of sufficient size to\nhold the message bytes. If a message is too long to fit in the supplied buffer,\nexcess bytes may be discarded.\n\nSuccessive calls return the same data. This is accomplished by passing\n`MSG_PEEK` as a flag to the underlying `recvfrom` system call.\n\nDo not use this function to implement busy waiting, instead use `libc::poll` to\nsynchronize IO events on one or more sockets.\n\n# Examples\n\n```no_run\n#![feature(unix_socket_peek)]\n\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixDatagram::bind(\"/tmp/sock\")?;\n let mut buf = [0; 10];\n let (len, addr) = socket.peek_from(&mut buf).expect(\"peek failed\");\n Ok(())\n}\n```", - "id": 5147, + "id": 5152, "inner": { "function": { "generics": { @@ -449579,7 +468792,7 @@ { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -449590,7 +468803,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -449601,30 +468814,30 @@ "name": "peek_from", "span": { "begin": [ - 936, + 960, 5 ], "end": [ - 938, + 962, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "public" }, - "5148": { + "5153": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5148, + "id": 5153, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -449636,34 +468849,34 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5120, - 5121, - 5122, - 5123, + 5125, + 5126, 5127, 5128, - 5129, - 5130, - 5131, - 5126, - 5125, 5132, 5133, 5134, 5135, - 5124, 5136, + 5131, + 5130, 5137, 5138, 5139, 5140, + 5129, 5141, 5142, 5143, 5144, 5145, 5146, - 5147 + 5147, + 5148, + 5149, + 5150, + 5151, + 5152 ], "provided_trait_methods": [], "trait": null @@ -449677,26 +468890,26 @@ 1 ], "end": [ - 939, + 963, 2 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5149": { + "5154": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5149, + "id": 5154, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -449721,20 +468934,20 @@ "span": null, "visibility": "default" }, - "515": { + "5155": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 515, + "id": 5155, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 510, - "path": "ThreadId" + "id": 5124, + "path": "UnixDatagram" } }, "generics": { @@ -449758,19 +468971,19 @@ "span": null, "visibility": "default" }, - "5150": { + "5156": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5150, + "id": 5156, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -449785,8 +468998,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -449795,19 +469008,19 @@ "span": null, "visibility": "default" }, - "5151": { + "5157": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5151, + "id": 5157, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -449822,8 +469035,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -449832,19 +469045,19 @@ "span": null, "visibility": "default" }, - "5152": { + "5158": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5152, + "id": 5158, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -449859,8 +469072,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -449869,19 +469082,19 @@ "span": null, "visibility": "default" }, - "5153": { + "5159": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5153, + "id": 5159, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -449897,7 +469110,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -449906,20 +469119,20 @@ "span": null, "visibility": "default" }, - "5154": { + "516": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5154, + "id": 516, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, - "path": "UnixDatagram" + "id": 370, + "path": "ThreadId" } }, "generics": { @@ -449933,8 +469146,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 313, + "path": "Freeze" } } }, @@ -449943,12 +469156,12 @@ "span": null, "visibility": "default" }, - "5155": { + "5160": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5155, + "id": 5160, "inner": { "impl": { "blanket_impl": { @@ -449957,7 +469170,7 @@ "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -450002,7 +469215,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -450018,7 +469231,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -450027,23 +469240,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5156": { + "5161": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5156, + "id": 5161, "inner": { "impl": { "blanket_impl": { @@ -450052,7 +469265,7 @@ "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -450097,7 +469310,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -450113,7 +469326,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -450122,23 +469335,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5157": { + "5162": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5157, + "id": 5162, "inner": { "impl": { "blanket_impl": { @@ -450147,7 +469360,7 @@ "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -450213,7 +469426,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -450238,23 +469451,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5158": { + "5163": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5158, + "id": 5163, "inner": { "impl": { "blanket_impl": { @@ -450263,7 +469476,7 @@ "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -450286,7 +469499,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -450311,23 +469524,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5159": { + "5164": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5159, + "id": 5164, "inner": { "impl": { "blanket_impl": { @@ -450336,7 +469549,7 @@ "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -450384,7 +469597,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -450402,8 +469615,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -450419,7 +469632,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -450428,60 +469641,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "516": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 516, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5160": { + "5165": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5160, + "id": 5165, "inner": { "impl": { "blanket_impl": { @@ -450490,7 +469666,7 @@ "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -450556,8 +469732,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -450573,7 +469749,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -450582,23 +469758,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5161": { + "5166": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5161, + "id": 5166, "inner": { "impl": { "blanket_impl": { @@ -450607,7 +469783,7 @@ "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -450655,12 +469831,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -450680,12 +469856,12 @@ }, "visibility": "default" }, - "5162": { + "5167": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5162, + "id": 5167, "inner": { "function": { "generics": { @@ -450731,7 +469907,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -450743,7 +469919,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -450765,7 +469941,7 @@ }, "visibility": "default" }, - "5163": { + "5168": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -450777,14 +469953,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5163, + "id": 5168, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -450796,12 +469972,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5162 + 5167 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -450821,7 +469997,7 @@ }, "visibility": "default" }, - "5164": { + "5169": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -450830,7 +470006,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5164, + "id": 5169, "inner": { "function": { "generics": { @@ -450874,18 +470050,55 @@ "name": "as_raw_fd", "span": { "begin": [ - 944, + 968, 5 ], "end": [ - 946, + 970, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5165": { + "517": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 517, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5170": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -450897,14 +470110,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5165, + "id": 5170, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -450916,7 +470129,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5164 + 5169 ], "provided_trait_methods": [], "trait": { @@ -450930,18 +470143,18 @@ "name": null, "span": { "begin": [ - 942, + 966, 1 ], "end": [ - 947, + 971, 2 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5166": { + "5171": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -450950,7 +470163,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5166, + "id": 5171, "inner": { "function": { "generics": { @@ -450981,7 +470194,7 @@ "output": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } } @@ -450992,18 +470205,18 @@ "name": "from_raw_fd", "span": { "begin": [ - 952, + 976, 5 ], "end": [ - 954, + 978, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5167": { + "5172": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -451015,14 +470228,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5167, + "id": 5172, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -451034,7 +470247,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5166 + 5171 ], "provided_trait_methods": [], "trait": { @@ -451048,18 +470261,18 @@ "name": null, "span": { "begin": [ - 950, + 974, 1 ], "end": [ - 955, + 979, 2 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5168": { + "5173": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -451068,7 +470281,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5168, + "id": 5173, "inner": { "function": { "generics": { @@ -451106,18 +470319,18 @@ "name": "into_raw_fd", "span": { "begin": [ - 960, + 984, 5 ], "end": [ - 962, + 986, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5169": { + "5174": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -451129,14 +470342,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5169, + "id": 5174, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -451148,7 +470361,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5168 + 5173 ], "provided_trait_methods": [], "trait": { @@ -451162,55 +470375,18 @@ "name": null, "span": { "begin": [ - 958, + 982, 1 ], "end": [ - 963, + 987, 2 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "517": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 517, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5170": { + "5175": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -451219,7 +470395,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5170, + "id": 5175, "inner": { "function": { "generics": { @@ -451272,18 +470448,18 @@ "name": "as_fd", "span": { "begin": [ - 968, + 992, 5 ], "end": [ - 970, + 994, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5171": { + "5176": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -451295,14 +470471,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5171, + "id": 5176, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -451314,7 +470490,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5170 + 5175 ], "provided_trait_methods": [], "trait": { @@ -451328,18 +470504,18 @@ "name": null, "span": { "begin": [ - 966, + 990, 1 ], "end": [ - 971, + 995, 2 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5172": { + "5177": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -451348,7 +470524,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`UnixDatagram`]'s socket file descriptor.", - "id": 5172, + "id": 5177, "inner": { "function": { "generics": { @@ -451369,7 +470545,7 @@ { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } } @@ -451387,23 +470563,23 @@ } }, "links": { - "`UnixDatagram`": 5119 + "`UnixDatagram`": 5124 }, "name": "from", "span": { "begin": [ - 977, + 1001, 5 ], "end": [ - 979, + 1003, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5173": { + "5178": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -451415,7 +470591,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5173, + "id": 5178, "inner": { "impl": { "blanket_impl": null, @@ -451434,7 +470610,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5172 + 5177 ], "provided_trait_methods": [], "trait": { @@ -451445,7 +470621,7 @@ "type": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } } @@ -451463,18 +470639,18 @@ "name": null, "span": { "begin": [ - 974, + 998, 1 ], "end": [ - 980, + 1004, 2 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5174": { + "5179": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -451483,7 +470659,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5174, + "id": 5179, "inner": { "function": { "generics": { @@ -451521,18 +470697,55 @@ "name": "from", "span": { "begin": [ - 985, + 1009, 5 ], "end": [ - 987, + 1011, 6 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5175": { + "518": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 518, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5180": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -451544,14 +470757,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5175, + "id": 5180, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "UnixDatagram" } }, @@ -451563,7 +470776,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5174 + 5179 ], "provided_trait_methods": [], "trait": { @@ -451592,23 +470805,23 @@ "name": null, "span": { "begin": [ - 983, + 1007, 1 ], "end": [ - 988, + 1012, 2 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": "default" }, - "5176": { + "5181": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5176, + "id": 5181, "inner": { "function": { "generics": { @@ -451652,7 +470865,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -451674,12 +470887,12 @@ }, "visibility": "default" }, - "5177": { + "5182": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5177, + "id": 5182, "inner": { "function": { "generics": { @@ -451729,7 +470942,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -451751,10 +470964,10 @@ }, "visibility": "default" }, - "5178": { + "5183": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"linux\", target_os = \"android\")))]" + "other": "#[doc(cfg(any(target_os = \"linux\", target_os = \"android\", target_os =\n\"cygwin\")))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -451763,14 +470976,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5178, + "id": 5183, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5119, + "id": 5124, "path": "net::UnixDatagram" } }, @@ -451782,13 +470995,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5176, - 5177 + 5181, + 5182 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5179, + "id": 5184, "path": "UnixSocketExt" } } @@ -451808,7 +471021,7 @@ }, "visibility": "default" }, - "5179": { + "5184": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -451817,7 +471030,7 @@ "crate_id": 0, "deprecation": null, "docs": "Linux-specific functionality for `AF_UNIX` sockets [`UnixDatagram`]\nand [`UnixStream`].\n\n[`UnixDatagram`]: net::UnixDatagram\n[`UnixStream`]: net::UnixStream", - "id": 5179, + "id": 5184, "inner": { "trait": { "bounds": [ @@ -451827,7 +471040,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -451838,21 +471051,21 @@ "where_predicates": [] }, "implementations": [ - 5178, - 5296 + 5183, + 5301 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 6188, - 6189 + 6221, + 6222 ] } }, "links": { - "net::UnixDatagram": 5119, - "net::UnixStream": 4065 + "net::UnixDatagram": 5124, + "net::UnixStream": 4064 }, "name": "UnixSocketExt", "span": { @@ -451868,55 +471081,18 @@ }, "visibility": "public" }, - "518": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 518, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5180": { + "5185": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5180, + "id": 5185, "inner": { "module": { "is_crate": false, "is_stripped": true, "items": [ - 5119 + 5124 ] } }, @@ -451928,19 +471104,19 @@ 1 ], "end": [ - 995, + 1019, 2 ], "filename": "std/src/os/unix/net/datagram.rs" }, "visibility": { "restricted": { - "parent": 4962, + "parent": 4967, "path": "::os::unix::net" } } }, - "5182": { + "5187": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -451949,7 +471125,7 @@ "crate_id": 0, "deprecation": null, "docs": "A structure representing a Unix domain socket server.\n\n# Examples\n\n```no_run\nuse std::thread;\nuse std::os::unix::net::{UnixStream, UnixListener};\n\nfn handle_client(stream: UnixStream) {\n // ...\n}\n\nfn main() -> std::io::Result<()> {\n let listener = UnixListener::bind(\"/path/to/the/socket\")?;\n\n // accept connections and process them, spawning a new thread for each one\n for stream in listener.incoming() {\n match stream {\n Ok(stream) => {\n /* connection succeeded */\n thread::spawn(|| handle_client(stream));\n }\n Err(err) => {\n /* connection failed */\n break;\n }\n }\n }\n Ok(())\n}\n```", - "id": 5182, + "id": 5187, "inner": { "struct": { "generics": { @@ -451957,11 +471133,6 @@ "where_predicates": [] }, "impls": [ - 5192, - 5193, - 5194, - 5195, - 5196, 5197, 5198, 5199, @@ -451971,14 +471142,19 @@ 5203, 5204, 5205, + 5206, 5207, + 5208, 5209, - 5211, - 5213, - 5215, - 5217, - 5219, - 5223 + 5210, + 5212, + 5214, + 5216, + 5218, + 5220, + 5222, + 5224, + 5228 ], "kind": { "tuple": [ @@ -452002,7 +471178,7 @@ }, "visibility": "public" }, - "5183": { + "5188": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -452011,7 +471187,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `UnixListener` bound to the specified socket.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixListener;\n\nlet listener = match UnixListener::bind(\"/path/to/the/socket\") {\n Ok(sock) => sock,\n Err(e) => {\n println!(\"Couldn't connect: {e:?}\");\n return\n }\n};\n```", - "id": 5183, + "id": 5188, "inner": { "function": { "generics": { @@ -452032,7 +471208,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -452082,7 +471258,7 @@ "type": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } } @@ -452091,7 +471267,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -452113,7 +471289,7 @@ }, "visibility": "public" }, - "5184": { + "5189": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -452122,7 +471298,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `UnixListener` bound to the specified [`socket address`].\n\n[`socket address`]: crate::os::unix::net::SocketAddr\n\n# Examples\n\n```no_run\nuse std::os::unix::net::{UnixListener};\n\nfn main() -> std::io::Result<()> {\n let listener1 = UnixListener::bind(\"path/to/socket\")?;\n let addr = listener1.local_addr()?;\n\n let listener2 = match UnixListener::bind_addr(&addr) {\n Ok(sock) => sock,\n Err(err) => {\n println!(\"Couldn't bind: {err:?}\");\n return Err(err);\n }\n };\n Ok(())\n}\n```", - "id": 5184, + "id": 5189, "inner": { "function": { "generics": { @@ -452147,7 +471323,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -452165,7 +471341,7 @@ "type": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } } @@ -452174,7 +471350,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -452182,7 +471358,7 @@ } }, "links": { - "crate::os::unix::net::SocketAddr": 4933 + "crate::os::unix::net::SocketAddr": 4938 }, "name": "bind_addr", "span": { @@ -452198,7 +471374,44 @@ }, "visibility": "public" }, - "5185": { + "519": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 519, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5190": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -452207,7 +471420,7 @@ "crate_id": 0, "deprecation": null, "docs": "Accepts a new incoming connection to this listener.\n\nThis function will block the calling thread until a new Unix connection\nis established. When established, the corresponding [`UnixStream`] and\nthe remote peer's address will be returned.\n\n[`UnixStream`]: crate::os::unix::net::UnixStream\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixListener;\n\nfn main() -> std::io::Result<()> {\n let listener = UnixListener::bind(\"/path/to/the/socket\")?;\n\n match listener.accept() {\n Ok((socket, addr)) => println!(\"Got a client: {addr:?}\"),\n Err(e) => println!(\"accept function failed: {e:?}\"),\n }\n Ok(())\n}\n```", - "id": 5185, + "id": 5190, "inner": { "function": { "generics": { @@ -452248,14 +471461,14 @@ { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -452266,7 +471479,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -452274,7 +471487,7 @@ } }, "links": { - "crate::os::unix::net::UnixStream": 4065 + "crate::os::unix::net::UnixStream": 4064 }, "name": "accept", "span": { @@ -452290,7 +471503,7 @@ }, "visibility": "public" }, - "5186": { + "5191": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -452299,7 +471512,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new independently owned handle to the underlying socket.\n\nThe returned `UnixListener` is a reference to the same socket that this\nobject references. Both handles can be used to accept incoming\nconnections and options set on one listener will affect the other.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixListener;\n\nfn main() -> std::io::Result<()> {\n let listener = UnixListener::bind(\"/path/to/the/socket\")?;\n let listener_copy = listener.try_clone().expect(\"try_clone failed\");\n Ok(())\n}\n```", - "id": 5186, + "id": 5191, "inner": { "function": { "generics": { @@ -452338,7 +471551,7 @@ "type": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } } @@ -452347,7 +471560,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -452369,7 +471582,7 @@ }, "visibility": "public" }, - "5187": { + "5192": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -452378,7 +471591,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the local socket address of this listener.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixListener;\n\nfn main() -> std::io::Result<()> {\n let listener = UnixListener::bind(\"/path/to/the/socket\")?;\n let addr = listener.local_addr().expect(\"Couldn't get local address\");\n Ok(())\n}\n```", - "id": 5187, + "id": 5192, "inner": { "function": { "generics": { @@ -452417,7 +471630,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -452426,7 +471639,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -452448,7 +471661,7 @@ }, "visibility": "public" }, - "5188": { + "5193": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -452457,7 +471670,7 @@ "crate_id": 0, "deprecation": null, "docs": "Moves the socket into or out of nonblocking mode.\n\nThis will result in the `accept` operation becoming nonblocking,\ni.e., immediately returning from their calls. If the IO operation is\nsuccessful, `Ok` is returned and no further action is required. If the\nIO operation could not be completed and needs to be retried, an error\nwith kind [`io::ErrorKind::WouldBlock`] is returned.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixListener;\n\nfn main() -> std::io::Result<()> {\n let listener = UnixListener::bind(\"/path/to/the/socket\")?;\n listener.set_nonblocking(true).expect(\"Couldn't set non blocking\");\n Ok(())\n}\n```", - "id": 5188, + "id": 5193, "inner": { "function": { "generics": { @@ -452507,7 +471720,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -452531,7 +471744,7 @@ }, "visibility": "public" }, - "5189": { + "5194": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -452540,7 +471753,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `SO_ERROR` option.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixListener;\n\nfn main() -> std::io::Result<()> {\n let listener = UnixListener::bind(\"/tmp/sock\")?;\n\n if let Ok(Some(err)) = listener.take_error() {\n println!(\"Got error: {err:?}\");\n }\n Ok(())\n}\n```\n\n# Platform specific\nOn Redox this always returns `None`.", - "id": 5189, + "id": 5194, "inner": { "function": { "generics": { @@ -452603,7 +471816,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -452625,44 +471838,7 @@ }, "visibility": "public" }, - "519": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 519, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5190": { + "5195": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -452671,7 +471847,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns an iterator over incoming connections.\n\nThe iterator will never return [`None`] and will also not yield the\npeer's [`SocketAddr`] structure.\n\n# Examples\n\n```no_run\nuse std::thread;\nuse std::os::unix::net::{UnixStream, UnixListener};\n\nfn handle_client(stream: UnixStream) {\n // ...\n}\n\nfn main() -> std::io::Result<()> {\n let listener = UnixListener::bind(\"/path/to/the/socket\")?;\n\n for stream in listener.incoming() {\n match stream {\n Ok(stream) => {\n thread::spawn(|| handle_client(stream));\n }\n Err(err) => {\n break;\n }\n }\n }\n Ok(())\n}\n```", - "id": 5190, + "id": 5195, "inner": { "function": { "generics": { @@ -452713,7 +471889,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } } @@ -452722,7 +471898,7 @@ }, "links": { "`None`": 53, - "`SocketAddr`": 4933 + "`SocketAddr`": 4938 }, "name": "incoming", "span": { @@ -452738,7 +471914,7 @@ }, "visibility": "public" }, - "5191": { + "5196": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -452752,7 +471928,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over incoming connections to a [`UnixListener`].\n\nIt will never return [`None`].\n\n# Examples\n\n```no_run\nuse std::thread;\nuse std::os::unix::net::{UnixStream, UnixListener};\n\nfn handle_client(stream: UnixStream) {\n // ...\n}\n\nfn main() -> std::io::Result<()> {\n let listener = UnixListener::bind(\"/path/to/the/socket\")?;\n\n for stream in listener.incoming() {\n match stream {\n Ok(stream) => {\n thread::spawn(|| handle_client(stream));\n }\n Err(err) => {\n break;\n }\n }\n }\n Ok(())\n}\n```", - "id": 5191, + "id": 5196, "inner": { "struct": { "generics": { @@ -452769,11 +471945,6 @@ "where_predicates": [] }, "impls": [ - 5225, - 5226, - 5227, - 5228, - 5229, 5230, 5231, 5232, @@ -452783,8 +471954,13 @@ 5236, 5237, 5238, + 5239, 5240, - 5244 + 5241, + 5242, + 5243, + 5245, + 5249 ], "kind": { "plain": { @@ -452796,7 +471972,7 @@ }, "links": { "`None`": 53, - "`UnixListener`": 5182 + "`UnixListener`": 5187 }, "name": "Incoming", "span": { @@ -452812,19 +471988,19 @@ }, "visibility": "public" }, - "5192": { + "5197": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5192, + "id": 5197, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -452836,14 +472012,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5183, - 5184, - 5185, - 5186, - 5187, 5188, 5189, - 5190 + 5190, + 5191, + 5192, + 5193, + 5194, + 5195 ], "provided_trait_methods": [], "trait": null @@ -452864,19 +472040,19 @@ }, "visibility": "default" }, - "5193": { + "5198": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5193, + "id": 5198, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -452901,19 +472077,19 @@ "span": null, "visibility": "default" }, - "5194": { + "5199": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5194, + "id": 5199, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -452938,56 +472114,150 @@ "span": null, "visibility": "default" }, - "5195": { + "52": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 52, + "inner": { + "use": { + "id": 53, + "is_glob": false, + "name": "None", + "source": "crate::option::Option::None" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 41, + 39 + ], + "end": [ + 41, + 43 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "520": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5195, + "id": 520, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": null, - "id": 5182, - "path": "UnixListener" + "id": 370, + "path": "ThreadId" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 319 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 315, - "path": "Freeze" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "5196": { + "5200": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5196, + "id": 5200, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -453002,8 +472272,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 313, + "path": "Freeze" } } }, @@ -453012,19 +472282,19 @@ "span": null, "visibility": "default" }, - "5197": { + "5201": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5197, + "id": 5201, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -453039,8 +472309,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 7, + "path": "Unpin" } } }, @@ -453049,19 +472319,19 @@ "span": null, "visibility": "default" }, - "5198": { + "5202": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5198, + "id": 5202, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -453076,8 +472346,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } }, @@ -453086,143 +472356,49 @@ "span": null, "visibility": "default" }, - "5199": { + "5203": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5199, + "id": 5203, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, - "52": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 52, - "inner": { - "use": { - "id": 53, - "is_glob": false, - "name": "None", - "source": "crate::option::Option::None" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 41, - 39 - ], - "end": [ - 41, - 43 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "520": { + "5204": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 520, + "id": 5204, "inner": { "impl": { "blanket_impl": { @@ -453231,8 +472407,8 @@ "for": { "resolved_path": { "args": null, - "id": 510, - "path": "ThreadId" + "id": 5187, + "path": "UnixListener" } }, "generics": { @@ -453276,7 +472452,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -453292,7 +472468,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -453301,23 +472477,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5200": { + "5205": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5200, + "id": 5205, "inner": { "impl": { "blanket_impl": { @@ -453326,7 +472502,7 @@ "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -453371,7 +472547,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -453387,7 +472563,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -453396,23 +472572,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5201": { + "5206": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5201, + "id": 5206, "inner": { "impl": { "blanket_impl": { @@ -453421,7 +472597,7 @@ "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -453487,7 +472663,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -453512,23 +472688,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5202": { + "5207": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5202, + "id": 5207, "inner": { "impl": { "blanket_impl": { @@ -453537,7 +472713,7 @@ "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -453560,7 +472736,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -453585,23 +472761,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5203": { + "5208": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5203, + "id": 5208, "inner": { "impl": { "blanket_impl": { @@ -453610,7 +472786,7 @@ "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -453658,7 +472834,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -453676,8 +472852,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -453693,7 +472869,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -453702,23 +472878,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5204": { + "5209": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5204, + "id": 5209, "inner": { "impl": { "blanket_impl": { @@ -453727,7 +472903,7 @@ "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -453793,8 +472969,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -453810,7 +472986,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -453819,23 +472995,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5205": { + "521": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5205, + "id": 521, "inner": { "impl": { "blanket_impl": { @@ -453844,7 +473020,102 @@ "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "5210": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5210, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 5187, "path": "UnixListener" } }, @@ -453892,12 +473163,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -453917,12 +473188,12 @@ }, "visibility": "default" }, - "5206": { + "5211": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5206, + "id": 5211, "inner": { "function": { "generics": { @@ -453968,7 +473239,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -453980,7 +473251,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -454002,127 +473273,7 @@ }, "visibility": "default" }, - "5207": { - "attrs": [ - { - "other": "#[doc(cfg(unix))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5207, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5182, - "path": "UnixListener" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 5206 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 44, - 1 - ], - "end": [ - 53, - 2 - ], - "filename": "std/src/os/unix/net/listener.rs" - }, - "visibility": "default" - }, - "5208": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5208, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 2548, - "path": "RawFd" - } - } - } - } - }, - "links": {}, - "name": "as_raw_fd", - "span": { - "begin": [ - 314, - 5 - ], - "end": [ - 316, - 6 - ], - "filename": "std/src/os/unix/net/listener.rs" - }, - "visibility": "default" - }, - "5209": { + "5212": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -454134,14 +473285,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5209, + "id": 5212, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -454153,13 +473304,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5208 + 5211 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2550, - "path": "AsRawFd" + "id": 344, + "path": "Debug" } } }, @@ -454167,94 +473318,119 @@ "name": null, "span": { "begin": [ - 312, + 44, 1 ], "end": [ - 317, + 53, 2 ], "filename": "std/src/os/unix/net/listener.rs" }, "visibility": "default" }, - "521": { - "attrs": [], + "5213": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 521, + "id": 5213, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 2548, + "path": "RawFd" + } + } + } + } + }, + "links": {}, + "name": "as_raw_fd", + "span": { + "begin": [ + 314, + 5 + ], + "end": [ + 316, + 6 + ], + "filename": "std/src/os/unix/net/listener.rs" + }, + "visibility": "default" + }, + "5214": { + "attrs": [ + { + "other": "#[doc(cfg(unix))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5214, + "inner": { + "impl": { + "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 510, - "path": "ThreadId" + "id": 5187, + "path": "UnixListener" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 5213 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 2550, + "path": "AsRawFd" } } }, @@ -454262,18 +473438,18 @@ "name": null, "span": { "begin": [ - 217, + 312, 1 ], "end": [ - 217, - 35 + 317, + 2 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/os/unix/net/listener.rs" }, "visibility": "default" }, - "5210": { + "5215": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -454282,7 +473458,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5210, + "id": 5215, "inner": { "function": { "generics": { @@ -454313,7 +473489,7 @@ "output": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } } @@ -454335,7 +473511,7 @@ }, "visibility": "default" }, - "5211": { + "5216": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -454347,14 +473523,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5211, + "id": 5216, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -454366,7 +473542,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5210 + 5215 ], "provided_trait_methods": [], "trait": { @@ -454391,7 +473567,7 @@ }, "visibility": "default" }, - "5212": { + "5217": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -454400,7 +473576,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5212, + "id": 5217, "inner": { "function": { "generics": { @@ -454449,7 +473625,7 @@ }, "visibility": "default" }, - "5213": { + "5218": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -454461,14 +473637,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5213, + "id": 5218, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -454480,7 +473656,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5212 + 5217 ], "provided_trait_methods": [], "trait": { @@ -454505,7 +473681,7 @@ }, "visibility": "default" }, - "5214": { + "5219": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -454514,7 +473690,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5214, + "id": 5219, "inner": { "function": { "generics": { @@ -454578,7 +473754,91 @@ }, "visibility": "default" }, - "5215": { + "522": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 522, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 422 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 424, + "path": "CloneToUninit" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 515, + 1 + ], + "end": [ + 515, + 42 + ], + "filename": "checkouts/rust/library/core/src/clone.rs" + }, + "visibility": "default" + }, + "5220": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -454590,14 +473850,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5215, + "id": 5220, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -454609,7 +473869,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5214 + 5219 ], "provided_trait_methods": [], "trait": { @@ -454634,7 +473894,7 @@ }, "visibility": "default" }, - "5216": { + "5221": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -454643,7 +473903,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5216, + "id": 5221, "inner": { "function": { "generics": { @@ -454674,7 +473934,7 @@ "output": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } } @@ -454696,7 +473956,7 @@ }, "visibility": "default" }, - "5217": { + "5222": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -454708,14 +473968,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5217, + "id": 5222, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } }, @@ -454727,7 +473987,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5216 + 5221 ], "provided_trait_methods": [], "trait": { @@ -454767,7 +474027,7 @@ }, "visibility": "default" }, - "5218": { + "5223": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -454776,7 +474036,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`UnixListener`]'s socket file descriptor.", - "id": 5218, + "id": 5223, "inner": { "function": { "generics": { @@ -454797,7 +474057,7 @@ { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } } @@ -454815,7 +474075,7 @@ } }, "links": { - "`UnixListener`": 5182 + "`UnixListener`": 5187 }, "name": "from", "span": { @@ -454831,7 +474091,7 @@ }, "visibility": "default" }, - "5219": { + "5224": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -454843,7 +474103,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5219, + "id": 5224, "inner": { "impl": { "blanket_impl": null, @@ -454862,7 +474122,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5218 + 5223 ], "provided_trait_methods": [], "trait": { @@ -454873,7 +474133,7 @@ "type": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } } @@ -454902,96 +474162,12 @@ }, "visibility": "default" }, - "522": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 522, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 422 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 516, - 1 - ], - "end": [ - 516, - 42 - ], - "filename": "checkouts/rust/library/core/src/clone.rs" - }, - "visibility": "default" - }, - "5220": { + "5225": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5220, + "id": 5225, "inner": { "assoc_type": { "bounds": [], @@ -455008,7 +474184,7 @@ "type": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -455047,12 +474223,12 @@ }, "visibility": "default" }, - "5221": { + "5226": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5221, + "id": 5226, "inner": { "assoc_type": { "bounds": [], @@ -455072,7 +474248,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } } @@ -455093,12 +474269,12 @@ }, "visibility": "default" }, - "5222": { + "5227": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5222, + "id": 5227, "inner": { "function": { "generics": { @@ -455134,7 +474310,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } } @@ -455156,7 +474332,7 @@ }, "visibility": "default" }, - "5223": { + "5228": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -455168,7 +474344,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5223, + "id": 5228, "inner": { "impl": { "blanket_impl": null, @@ -455179,7 +474355,7 @@ "type": { "resolved_path": { "args": null, - "id": 5182, + "id": 5187, "path": "UnixListener" } } @@ -455202,9 +474378,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5220, - 5221, - 5222 + 5225, + 5226, + 5227 ], "provided_trait_methods": [], "trait": { @@ -455229,12 +474405,128 @@ }, "visibility": "default" }, - "5225": { + "523": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5225, + "id": 523, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "5230": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5230, "inner": { "impl": { "blanket_impl": null, @@ -455250,7 +474542,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -455284,12 +474576,12 @@ "span": null, "visibility": "default" }, - "5226": { + "5231": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5226, + "id": 5231, "inner": { "impl": { "blanket_impl": null, @@ -455305,7 +474597,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -455339,12 +474631,12 @@ "span": null, "visibility": "default" }, - "5227": { + "5232": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5227, + "id": 5232, "inner": { "impl": { "blanket_impl": null, @@ -455360,7 +474652,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -455384,7 +474676,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -455394,12 +474686,67 @@ "span": null, "visibility": "default" }, - "5228": { + "5233": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5228, + "id": 5233, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 5196, + "path": "Incoming" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5234": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5234, "inner": { "impl": { "blanket_impl": null, @@ -455415,7 +474762,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -455439,8 +474786,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -455449,12 +474796,12 @@ "span": null, "visibility": "default" }, - "5229": { + "5235": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5229, + "id": 5235, "inner": { "impl": { "blanket_impl": null, @@ -455470,7 +474817,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -455495,7 +474842,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -455504,12 +474851,12 @@ "span": null, "visibility": "default" }, - "523": { + "5236": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 523, + "id": 5236, "inner": { "impl": { "blanket_impl": { @@ -455517,9 +474864,18 @@ }, "for": { "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 5196, + "path": "Incoming" } }, "generics": { @@ -455533,16 +474889,6 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ @@ -455552,29 +474898,18 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -455584,7 +474919,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 319 ], "provided_trait_methods": [], "trait": { @@ -455593,15 +474928,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 321, + "path": "Borrow" } } }, @@ -455609,78 +474944,23 @@ "name": null, "span": { "begin": [ - 773, + 212, 1 ], "end": [ - 775, - 24 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "5230": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5230, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 5191, - "path": "Incoming" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "links": {}, - "name": null, - "span": null, "visibility": "default" }, - "5231": { + "5237": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5231, + "id": 5237, "inner": { "impl": { "blanket_impl": { @@ -455698,7 +474978,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -455743,7 +475023,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 322 ], "provided_trait_methods": [], "trait": { @@ -455759,8 +475039,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 324, + "path": "BorrowMut" } } }, @@ -455768,23 +475048,23 @@ "name": null, "span": { "begin": [ - 209, + 221, 1 ], "end": [ - 209, - 32 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5232": { + "5238": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5232, + "id": 5238, "inner": { "impl": { "blanket_impl": { @@ -455802,7 +475082,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -455817,6 +475097,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -455826,18 +475116,29 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -455847,7 +475148,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 325 ], "provided_trait_methods": [], "trait": { @@ -455856,15 +475157,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 39, + "path": "Into" } } }, @@ -455872,23 +475173,23 @@ "name": null, "span": { "begin": [ - 217, + 767, 1 ], "end": [ - 217, - 35 + 769, + 24 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5233": { + "5239": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5233, + "id": 5239, "inner": { "impl": { "blanket_impl": { @@ -455906,7 +475207,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -455921,52 +475222,9 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, @@ -455981,15 +475239,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 37, + "path": "From" } } }, @@ -455997,23 +475255,23 @@ "name": null, "span": { "begin": [ - 773, + 785, 1 ], "end": [ - 775, - 24 + 785, + 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5234": { + "524": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5234, + "id": 524, "inner": { "impl": { "blanket_impl": { @@ -456021,18 +475279,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 5191, - "path": "Incoming" + "args": null, + "id": 370, + "path": "ThreadId" } }, "generics": { @@ -456054,7 +475303,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -456079,23 +475328,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5235": { + "5240": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5235, + "id": 5240, "inner": { "impl": { "blanket_impl": { @@ -456113,7 +475362,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -456161,7 +475410,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -456179,8 +475428,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -456196,7 +475445,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -456205,23 +475454,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5236": { + "5241": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5236, + "id": 5241, "inner": { "impl": { "blanket_impl": { @@ -456239,7 +475488,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -456305,8 +475554,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -456322,7 +475571,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -456331,23 +475580,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5237": { + "5242": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5237, + "id": 5242, "inner": { "impl": { "blanket_impl": { @@ -456365,7 +475614,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -456413,12 +475662,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -456438,12 +475687,12 @@ }, "visibility": "default" }, - "5238": { + "5243": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5238, + "id": 5243, "inner": { "impl": { "blanket_impl": { @@ -456461,7 +475710,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -456533,7 +475782,7 @@ }, "visibility": "default" }, - "5239": { + "5244": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -456542,7 +475791,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5239, + "id": 5244, "inner": { "function": { "generics": { @@ -456588,7 +475837,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -456600,7 +475849,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -456622,80 +475871,7 @@ }, "visibility": "default" }, - "524": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 524, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 791, - 28 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "5240": { + "5245": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -456708,7 +475884,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5240, + "id": 5245, "inner": { "impl": { "blanket_impl": null, @@ -456724,7 +475900,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -456745,12 +475921,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5239 + 5244 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -456770,12 +475946,12 @@ }, "visibility": "default" }, - "5241": { + "5246": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5241, + "id": 5246, "inner": { "assoc_type": { "bounds": [], @@ -456792,7 +475968,7 @@ "type": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -456831,12 +476007,12 @@ }, "visibility": "default" }, - "5242": { + "5247": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5242, + "id": 5247, "inner": { "function": { "generics": { @@ -456881,7 +476057,7 @@ "type": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -456890,7 +476066,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -456921,12 +476097,12 @@ }, "visibility": "default" }, - "5243": { + "5248": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5243, + "id": 5248, "inner": { "function": { "generics": { @@ -456999,7 +476175,7 @@ }, "visibility": "default" }, - "5244": { + "5249": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -457011,7 +476187,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5244, + "id": 5249, "inner": { "impl": { "blanket_impl": null, @@ -457027,7 +476203,7 @@ "constraints": [] } }, - "id": 5191, + "id": 5196, "path": "Incoming" } }, @@ -457048,9 +476224,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5241, - 5242, - 5243 + 5246, + 5247, + 5248 ], "provided_trait_methods": [ "next_chunk", @@ -457152,19 +476328,136 @@ }, "visibility": "default" }, - "5245": { + "525": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5245, + "id": 525, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 811, + 1 + ], + "end": [ + 813, + 27 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "5250": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5250, "inner": { "module": { "is_crate": false, "is_stripped": true, "items": [ - 5182, - 5191 + 5187, + 5196 ] } }, @@ -457183,12 +476476,12 @@ }, "visibility": { "restricted": { - "parent": 4962, + "parent": 4967, "path": "::os::unix::net" } } }, - "5247": { + "5252": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -457197,7 +476490,7 @@ "crate_id": 0, "deprecation": null, "docs": "Connects to the socket named by `path`.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\n\nlet socket = match UnixStream::connect(\"/tmp/sock\") {\n Ok(sock) => sock,\n Err(e) => {\n println!(\"Couldn't connect: {e:?}\");\n return\n }\n};\n```", - "id": 5247, + "id": 5252, "inner": { "function": { "generics": { @@ -457218,7 +476511,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -457268,7 +476561,7 @@ "type": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -457277,7 +476570,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -457299,7 +476592,7 @@ }, "visibility": "public" }, - "5248": { + "5253": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -457308,7 +476601,7 @@ "crate_id": 0, "deprecation": null, "docs": "Connects to the socket specified by [`address`].\n\n[`address`]: crate::os::unix::net::SocketAddr\n\n# Examples\n\n```no_run\nuse std::os::unix::net::{UnixListener, UnixStream};\n\nfn main() -> std::io::Result<()> {\n let listener = UnixListener::bind(\"/path/to/the/socket\")?;\n let addr = listener.local_addr()?;\n\n let sock = match UnixStream::connect_addr(&addr) {\n Ok(sock) => sock,\n Err(e) => {\n println!(\"Couldn't connect: {e:?}\");\n return Err(e)\n }\n };\n Ok(())\n}\n````", - "id": 5248, + "id": 5253, "inner": { "function": { "generics": { @@ -457333,7 +476626,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -457351,7 +476644,7 @@ "type": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -457360,7 +476653,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -457368,7 +476661,7 @@ } }, "links": { - "crate::os::unix::net::SocketAddr": 4933 + "crate::os::unix::net::SocketAddr": 4938 }, "name": "connect_addr", "span": { @@ -457384,7 +476677,7 @@ }, "visibility": "public" }, - "5249": { + "5254": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -457393,7 +476686,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an unnamed pair of connected sockets.\n\nReturns two `UnixStream`s which are connected to each other.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\n\nlet (sock1, sock2) = match UnixStream::pair() {\n Ok((sock1, sock2)) => (sock1, sock2),\n Err(e) => {\n println!(\"Couldn't create a pair of sockets: {e:?}\");\n return\n }\n};\n```", - "id": 5249, + "id": 5254, "inner": { "function": { "generics": { @@ -457421,14 +476714,14 @@ { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -457439,7 +476732,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -457461,124 +476754,7 @@ }, "visibility": "public" }, - "525": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 525, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 817, - 1 - ], - "end": [ - 819, - 27 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "5250": { + "5255": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -457587,7 +476763,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new independently owned handle to the underlying socket.\n\nThe returned `UnixStream` is a reference to the same stream that this\nobject references. Both handles will read and write the same stream of\ndata, and options set on one stream will be propagated to the other\nstream.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n let sock_copy = socket.try_clone().expect(\"Couldn't clone socket\");\n Ok(())\n}\n```", - "id": 5250, + "id": 5255, "inner": { "function": { "generics": { @@ -457626,7 +476802,7 @@ "type": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -457635,7 +476811,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -457657,7 +476833,7 @@ }, "visibility": "public" }, - "5251": { + "5256": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -457666,7 +476842,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the socket address of the local half of this connection.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n let addr = socket.local_addr().expect(\"Couldn't get local address\");\n Ok(())\n}\n```", - "id": 5251, + "id": 5256, "inner": { "function": { "generics": { @@ -457705,7 +476881,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -457714,7 +476890,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -457736,7 +476912,7 @@ }, "visibility": "public" }, - "5252": { + "5257": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -457745,7 +476921,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the socket address of the remote half of this connection.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n let addr = socket.peer_addr().expect(\"Couldn't get peer address\");\n Ok(())\n}\n```", - "id": 5252, + "id": 5257, "inner": { "function": { "generics": { @@ -457784,7 +476960,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -457793,7 +476969,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -457815,7 +476991,7 @@ }, "visibility": "public" }, - "5253": { + "5258": { "attrs": [ { "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"dragonfly\", target_os = \"freebsd\", target_os = \"netbsd\", target_os =\n\"openbsd\", target_os = \"nto\", target_vendor = \"apple\", target_os = \"cygwin\"))]" @@ -457827,7 +477003,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the peer credentials for this Unix domain socket.\n\n# Examples\n\n```no_run\n#![feature(peer_credentials_unix_socket)]\nuse std::os::unix::net::UnixStream;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n let peer_cred = socket.peer_cred().expect(\"Couldn't get peer credentials\");\n Ok(())\n}\n```", - "id": 5253, + "id": 5258, "inner": { "function": { "generics": { @@ -457866,7 +477042,7 @@ "type": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } } @@ -457875,7 +477051,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -457897,7 +477073,7 @@ }, "visibility": "public" }, - "5254": { + "5259": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"unstable\"),\nissue: 42839, is_soft: false}, feature: \"peer_credentials_unix_socket\"}}]" @@ -457906,7 +477082,7 @@ "crate_id": 0, "deprecation": null, "docs": "Credentials for a UNIX process for credentials passing.", - "id": 5254, + "id": 5259, "inner": { "struct": { "generics": { @@ -457914,11 +477090,6 @@ "where_predicates": [] }, "impls": [ - 5302, - 5303, - 5304, - 5305, - 5306, 5307, 5308, 5309, @@ -457929,20 +477100,25 @@ 5314, 5315, 5316, + 5317, 5318, 5319, + 5320, 5321, - 5322, + 5323, 5324, - 5325, - 5327 + 5326, + 5327, + 5329, + 5330, + 5332 ], "kind": { "plain": { "fields": [ - 5299, - 5300, - 5301 + 5304, + 5305, + 5306 ], "has_stripped_fields": false } @@ -457964,7 +477140,124 @@ }, "visibility": "public" }, - "5255": { + "526": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 526, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "5260": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -457973,7 +477266,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the read timeout for the socket.\n\nIf the provided value is [`None`], then [`read`] calls will block\nindefinitely. An [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod.\n\n[`read`]: io::Read::read\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n socket.set_read_timeout(Some(Duration::new(1, 0))).expect(\"Couldn't set read timeout\");\n Ok(())\n}\n```\n\nAn [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod:\n\n```no_run\nuse std::io;\nuse std::os::unix::net::UnixStream;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n let result = socket.set_read_timeout(Some(Duration::new(0, 0)));\n let err = result.unwrap_err();\n assert_eq!(err.kind(), io::ErrorKind::InvalidInput);\n Ok(())\n}\n```", - "id": 5255, + "id": 5260, "inner": { "function": { "generics": { @@ -458012,7 +477305,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -458042,7 +477335,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -458050,10 +477343,10 @@ } }, "links": { - "`Duration`": 500, + "`Duration`": 501, "`Err`": 59, "`None`": 53, - "io::Read::read": 2435 + "io::Read::read": 2433 }, "name": "set_read_timeout", "span": { @@ -458069,7 +477362,7 @@ }, "visibility": "public" }, - "5256": { + "5261": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -458078,7 +477371,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the write timeout for the socket.\n\nIf the provided value is [`None`], then [`write`] calls will block\nindefinitely. An [`Err`] is returned if the zero [`Duration`] is\npassed to this method.\n\n[`read`]: io::Read::read\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n socket.set_write_timeout(Some(Duration::new(1, 0)))\n .expect(\"Couldn't set write timeout\");\n Ok(())\n}\n```\n\nAn [`Err`] is returned if the zero [`Duration`] is passed to this\nmethod:\n\n```no_run\nuse std::io;\nuse std::os::unix::net::UnixStream;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n let result = socket.set_write_timeout(Some(Duration::new(0, 0)));\n let err = result.unwrap_err();\n assert_eq!(err.kind(), io::ErrorKind::InvalidInput);\n Ok(())\n}\n```", - "id": 5256, + "id": 5261, "inner": { "function": { "generics": { @@ -458117,7 +477410,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -458147,7 +477440,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -458155,11 +477448,11 @@ } }, "links": { - "`Duration`": 500, + "`Duration`": 501, "`Err`": 59, "`None`": 53, - "`write`": 4145, - "io::Read::read": 2435 + "`write`": 4144, + "io::Read::read": 2433 }, "name": "set_write_timeout", "span": { @@ -458175,7 +477468,7 @@ }, "visibility": "public" }, - "5257": { + "5262": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -458184,7 +477477,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the read timeout of this socket.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n socket.set_read_timeout(Some(Duration::new(1, 0))).expect(\"Couldn't set read timeout\");\n assert_eq!(socket.read_timeout()?, Some(Duration::new(1, 0)));\n Ok(())\n}\n```", - "id": 5257, + "id": 5262, "inner": { "function": { "generics": { @@ -458229,7 +477522,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -458247,7 +477540,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -458269,7 +477562,7 @@ }, "visibility": "public" }, - "5258": { + "5263": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -458278,7 +477571,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the write timeout of this socket.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\nuse std::time::Duration;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n socket.set_write_timeout(Some(Duration::new(1, 0)))\n .expect(\"Couldn't set write timeout\");\n assert_eq!(socket.write_timeout()?, Some(Duration::new(1, 0)));\n Ok(())\n}\n```", - "id": 5258, + "id": 5263, "inner": { "function": { "generics": { @@ -458323,7 +477616,7 @@ "type": { "resolved_path": { "args": null, - "id": 500, + "id": 501, "path": "Duration" } } @@ -458341,7 +477634,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -458363,7 +477656,7 @@ }, "visibility": "public" }, - "5259": { + "5264": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -458372,7 +477665,7 @@ "crate_id": 0, "deprecation": null, "docs": "Moves the socket into or out of nonblocking mode.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n socket.set_nonblocking(true).expect(\"Couldn't set nonblocking\");\n Ok(())\n}\n```", - "id": 5259, + "id": 5264, "inner": { "function": { "generics": { @@ -458422,7 +477715,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -458444,124 +477737,7 @@ }, "visibility": "public" }, - "526": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 526, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "5260": { + "5265": { "attrs": [ { "other": "#[(any(target_os = \"linux\", target_os = \"freebsd\", target_os =\n\"openbsd\"), doc = \"```no_run\")]" @@ -458579,7 +477755,7 @@ "crate_id": 0, "deprecation": null, "docs": "Set the id of the socket for network filtering purpose\n\n```no_run\n#![feature(unix_set_mark)]\nuse std::os::unix::net::UnixStream;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixStream::connect(\"/tmp/sock\")?;\n sock.set_mark(32)?;\n Ok(())\n}\n```", - "id": 5260, + "id": 5265, "inner": { "function": { "generics": { @@ -458629,7 +477805,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -458651,7 +477827,7 @@ }, "visibility": "public" }, - "5261": { + "5266": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -458660,7 +477836,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `SO_ERROR` option.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n if let Ok(Some(err)) = socket.take_error() {\n println!(\"Got error: {err:?}\");\n }\n Ok(())\n}\n```\n\n# Platform specific\nOn Redox this always returns `None`.", - "id": 5261, + "id": 5266, "inner": { "function": { "generics": { @@ -458723,7 +477899,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -458745,7 +477921,7 @@ }, "visibility": "public" }, - "5262": { + "5267": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -458754,7 +477930,7 @@ "crate_id": 0, "deprecation": null, "docs": "Shuts down the read, write, or both halves of this connection.\n\nThis function will cause all pending and future I/O calls on the\nspecified portions to immediately return with an appropriate value\n(see the documentation of [`Shutdown`]).\n\n# Examples\n\n```no_run\nuse std::os::unix::net::UnixStream;\nuse std::net::Shutdown;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n socket.shutdown(Shutdown::Both).expect(\"shutdown function failed\");\n Ok(())\n}\n```", - "id": 5262, + "id": 5267, "inner": { "function": { "generics": { @@ -458787,7 +477963,7 @@ { "resolved_path": { "args": null, - "id": 4487, + "id": 4488, "path": "Shutdown" } } @@ -458808,7 +477984,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -458816,7 +477992,7 @@ } }, "links": { - "`Shutdown`": 4487 + "`Shutdown`": 4488 }, "name": "shutdown", "span": { @@ -458832,7 +478008,7 @@ }, "visibility": "public" }, - "5263": { + "5268": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76923, is_soft: false}, feature: \"unix_socket_peek\"}}]" @@ -458841,7 +478017,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives data on the socket from the remote address to which it is\nconnected, without removing that data from the queue. On success,\nreturns the number of bytes peeked.\n\nSuccessive calls return the same data. This is accomplished by passing\n`MSG_PEEK` as a flag to the underlying `recv` system call.\n\n# Examples\n\n```no_run\n#![feature(unix_socket_peek)]\n\nuse std::os::unix::net::UnixStream;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n let mut buf = [0; 10];\n let len = socket.peek(&mut buf).expect(\"peek failed\");\n Ok(())\n}\n```", - "id": 5263, + "id": 5268, "inner": { "function": { "generics": { @@ -458899,7 +478075,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -458921,16 +478097,16 @@ }, "visibility": "public" }, - "5264": { + "5269": { "attrs": [ { - "other": "#[(any(target_os = \"android\", target_os = \"linux\"), doc =\n\"```no_run\")]" + "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"), doc = \"```no_run\")]" }, { - "other": "#[(not(any(target_os = \"android\", target_os = \"linux\")), doc =\n\"```ignore\")]" + "other": "#[(not(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")), doc = \"```ignore\")]" }, { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -458939,7 +478115,7 @@ "crate_id": 0, "deprecation": null, "docs": "Receives data and ancillary data from socket.\n\nOn success, returns the number of bytes read.\n\n# Examples\n\n```no_run\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::{UnixStream, SocketAncillary, AncillaryData};\nuse std::io::IoSliceMut;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n let mut buf1 = [1; 8];\n let mut buf2 = [2; 16];\n let mut buf3 = [3; 8];\n let mut bufs = &mut [\n IoSliceMut::new(&mut buf1),\n IoSliceMut::new(&mut buf2),\n IoSliceMut::new(&mut buf3),\n ][..];\n let mut fds = [0; 8];\n let mut ancillary_buffer = [0; 128];\n let mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n let size = socket.recv_vectored_with_ancillary(bufs, &mut ancillary)?;\n println!(\"received {size}\");\n for ancillary_result in ancillary.messages() {\n if let AncillaryData::ScmRights(scm_rights) = ancillary_result.unwrap() {\n for fd in scm_rights {\n println!(\"receive file descriptor: {fd}\");\n }\n }\n }\n Ok(())\n}\n```", - "id": 5264, + "id": 5269, "inner": { "function": { "generics": { @@ -458986,7 +478162,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -459012,7 +478188,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } } @@ -459035,7 +478211,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -459046,27 +478222,114 @@ "name": "recv_vectored_with_ancillary", "span": { "begin": [ - 544, + 550, 5 ], "end": [ - 552, + 558, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "public" }, - "5265": { + "527": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 527, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "5270": { "attrs": [ { - "other": "#[(any(target_os = \"android\", target_os = \"linux\"), doc =\n\"```no_run\")]" + "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"), doc = \"```no_run\")]" }, { - "other": "#[(not(any(target_os = \"android\", target_os = \"linux\")), doc =\n\"```ignore\")]" + "other": "#[(not(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\")), doc = \"```ignore\")]" }, { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -459075,7 +478338,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sends data and ancillary data on the socket.\n\nOn success, returns the number of bytes written.\n\n# Examples\n\n```no_run\n#![feature(unix_socket_ancillary_data)]\nuse std::os::unix::net::{UnixStream, SocketAncillary};\nuse std::io::IoSlice;\n\nfn main() -> std::io::Result<()> {\n let socket = UnixStream::connect(\"/tmp/sock\")?;\n let buf1 = [1; 8];\n let buf2 = [2; 16];\n let buf3 = [3; 8];\n let bufs = &[\n IoSlice::new(&buf1),\n IoSlice::new(&buf2),\n IoSlice::new(&buf3),\n ][..];\n let fds = [0, 1, 2];\n let mut ancillary_buffer = [0; 128];\n let mut ancillary = SocketAncillary::new(&mut ancillary_buffer[..]);\n ancillary.add_fds(&fds[..]);\n socket.send_vectored_with_ancillary(bufs, &mut ancillary)\n .expect(\"send_vectored_with_ancillary function failed\");\n Ok(())\n}\n```", - "id": 5265, + "id": 5270, "inner": { "function": { "generics": { @@ -459122,7 +478385,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -459148,7 +478411,7 @@ "constraints": [] } }, - "id": 5091, + "id": 5096, "path": "SocketAncillary" } } @@ -459171,7 +478434,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -459182,30 +478445,30 @@ "name": "send_vectored_with_ancillary", "span": { "begin": [ - 587, + 599, 5 ], "end": [ - 593, + 605, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "public" }, - "5266": { + "5271": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5266, + "id": 5271, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -459217,24 +478480,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5247, - 5248, - 5249, - 5250, - 5251, 5252, 5253, + 5254, 5255, 5256, 5257, 5258, - 5259, 5260, 5261, 5262, 5263, 5264, - 5265 + 5265, + 5266, + 5267, + 5268, + 5269, + 5270 ], "provided_trait_methods": [], "trait": null @@ -459248,26 +478511,26 @@ 1 ], "end": [ - 594, + 606, 2 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5267": { + "5272": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5267, + "id": 5272, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -459292,19 +478555,19 @@ "span": null, "visibility": "default" }, - "5268": { + "5273": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5268, + "id": 5273, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -459329,19 +478592,19 @@ "span": null, "visibility": "default" }, - "5269": { + "5274": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5269, + "id": 5274, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -459356,7 +478619,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -459366,106 +478629,19 @@ "span": null, "visibility": "default" }, - "527": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 527, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "5270": { + "5275": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5270, + "id": 5275, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -459490,19 +478666,19 @@ "span": null, "visibility": "default" }, - "5271": { + "5276": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5271, + "id": 5276, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -459517,7 +478693,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -459527,19 +478703,19 @@ "span": null, "visibility": "default" }, - "5272": { + "5277": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5272, + "id": 5277, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -459554,7 +478730,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -459564,12 +478740,12 @@ "span": null, "visibility": "default" }, - "5273": { + "5278": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5273, + "id": 5278, "inner": { "impl": { "blanket_impl": { @@ -459578,7 +478754,7 @@ "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -459623,7 +478799,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -459639,7 +478815,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -459648,23 +478824,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5274": { + "5279": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5274, + "id": 5279, "inner": { "impl": { "blanket_impl": { @@ -459673,7 +478849,7 @@ "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -459718,7 +478894,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -459734,7 +478910,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -459743,23 +478919,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5275": { + "528": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5275, + "id": 528, "inner": { "impl": { "blanket_impl": { @@ -459768,7 +478944,95 @@ "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 85, + 1 + ], + "end": [ + 87, + 14 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "5280": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5280, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 4064, "path": "UnixStream" } }, @@ -459834,7 +479098,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -459859,23 +479123,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5276": { + "5281": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5276, + "id": 5281, "inner": { "impl": { "blanket_impl": { @@ -459884,7 +479148,7 @@ "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -459907,7 +479171,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -459932,23 +479196,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5277": { + "5282": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5277, + "id": 5282, "inner": { "impl": { "blanket_impl": { @@ -459957,7 +479221,7 @@ "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -460005,7 +479269,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -460023,8 +479287,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -460040,7 +479304,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -460049,23 +479313,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5278": { + "5283": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5278, + "id": 5283, "inner": { "impl": { "blanket_impl": { @@ -460074,7 +479338,7 @@ "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -460140,8 +479404,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -460157,7 +479421,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -460166,23 +479430,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5279": { + "5284": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5279, + "id": 5284, "inner": { "impl": { "blanket_impl": { @@ -460191,7 +479455,7 @@ "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -460239,12 +479503,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -460264,100 +479528,12 @@ }, "visibility": "default" }, - "528": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 528, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 82, - 1 - ], - "end": [ - 84, - 14 - ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" - }, - "visibility": "default" - }, - "5280": { + "5285": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5280, + "id": 5285, "inner": { "function": { "generics": { @@ -460403,7 +479579,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -460415,7 +479591,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -460437,7 +479613,7 @@ }, "visibility": "default" }, - "5281": { + "5286": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -460449,14 +479625,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5281, + "id": 5286, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -460468,12 +479644,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5280 + 5285 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -460493,7 +479669,7 @@ }, "visibility": "default" }, - "5282": { + "5287": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -460502,7 +479678,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5282, + "id": 5287, "inner": { "function": { "generics": { @@ -460546,18 +479722,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 680, + 692, 5 ], "end": [ - 682, + 694, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5283": { + "5288": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -460569,14 +479745,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5283, + "id": 5288, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -460588,7 +479764,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5282 + 5287 ], "provided_trait_methods": [], "trait": { @@ -460602,18 +479778,18 @@ "name": null, "span": { "begin": [ - 678, + 690, 1 ], "end": [ - 683, + 695, 2 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5284": { + "5289": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -460622,7 +479798,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5284, + "id": 5289, "inner": { "function": { "generics": { @@ -460653,7 +479829,7 @@ "output": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -460664,18 +479840,72 @@ "name": "from_raw_fd", "span": { "begin": [ - 688, + 700, 5 ], "end": [ - 690, + 702, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5285": { + "529": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 529, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" + ], + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1230, + 10 + ], + "end": [ + 1230, + 12 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5290": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -460687,14 +479917,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5285, + "id": 5290, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -460706,7 +479936,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5284 + 5289 ], "provided_trait_methods": [], "trait": { @@ -460720,18 +479950,18 @@ "name": null, "span": { "begin": [ - 686, + 698, 1 ], "end": [ - 691, + 703, 2 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5286": { + "5291": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -460740,7 +479970,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5286, + "id": 5291, "inner": { "function": { "generics": { @@ -460778,18 +480008,18 @@ "name": "into_raw_fd", "span": { "begin": [ - 696, + 708, 5 ], "end": [ - 698, + 710, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5287": { + "5292": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -460801,14 +480031,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5287, + "id": 5292, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -460820,7 +480050,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5286 + 5291 ], "provided_trait_methods": [], "trait": { @@ -460834,18 +480064,18 @@ "name": null, "span": { "begin": [ - 694, + 706, 1 ], "end": [ - 699, + 711, 2 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5288": { + "5293": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -460854,7 +480084,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5288, + "id": 5293, "inner": { "function": { "generics": { @@ -460907,18 +480137,18 @@ "name": "as_fd", "span": { "begin": [ - 704, + 716, 5 ], "end": [ - 706, + 718, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5289": { + "5294": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -460930,14 +480160,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5289, + "id": 5294, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -460949,7 +480179,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5288 + 5293 ], "provided_trait_methods": [], "trait": { @@ -460963,72 +480193,18 @@ "name": null, "span": { "begin": [ - 702, + 714, 1 ], "end": [ - 707, + 719, 2 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "529": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 529, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1204, - 10 - ], - "end": [ - 1204, - 12 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5290": { + "5295": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -461037,7 +480213,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`UnixStream`]'s socket file descriptor.", - "id": 5290, + "id": 5295, "inner": { "function": { "generics": { @@ -461058,7 +480234,7 @@ { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -461076,23 +480252,23 @@ } }, "links": { - "`UnixStream`": 4065 + "`UnixStream`": 4064 }, "name": "from", "span": { "begin": [ - 713, + 725, 5 ], "end": [ - 715, + 727, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5291": { + "5296": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -461104,7 +480280,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5291, + "id": 5296, "inner": { "impl": { "blanket_impl": null, @@ -461123,7 +480299,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5290 + 5295 ], "provided_trait_methods": [], "trait": { @@ -461134,7 +480310,7 @@ "type": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } } @@ -461152,18 +480328,18 @@ "name": null, "span": { "begin": [ - 710, + 722, 1 ], "end": [ - 716, + 728, 2 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5292": { + "5297": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -461172,7 +480348,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5292, + "id": 5297, "inner": { "function": { "generics": { @@ -461210,18 +480386,18 @@ "name": "from", "span": { "begin": [ - 721, + 733, 5 ], "end": [ - 723, + 735, 6 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5293": { + "5298": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -461233,14 +480409,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5293, + "id": 5298, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "UnixStream" } }, @@ -461252,7 +480428,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5292 + 5297 ], "provided_trait_methods": [], "trait": { @@ -461281,23 +480457,23 @@ "name": null, "span": { "begin": [ - 719, + 731, 1 ], "end": [ - 724, + 736, 2 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": "default" }, - "5294": { + "5299": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5294, + "id": 5299, "inner": { "function": { "generics": { @@ -461341,7 +480517,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -461363,12 +480539,64 @@ }, "visibility": "default" }, - "5295": { + "530": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 530, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 442, + "path": "StructuralPartialEq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1230, + 14 + ], + "end": [ + 1230, + 23 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5300": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5295, + "id": 5300, "inner": { "function": { "generics": { @@ -461418,7 +480646,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -461440,10 +480668,10 @@ }, "visibility": "default" }, - "5296": { + "5301": { "attrs": [ { - "other": "#[doc(cfg(any(target_os = \"linux\", target_os = \"android\")))]" + "other": "#[doc(cfg(any(target_os = \"linux\", target_os = \"android\", target_os =\n\"cygwin\")))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -461452,14 +480680,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5296, + "id": 5301, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4065, + "id": 4064, "path": "net::UnixStream" } }, @@ -461471,13 +480699,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5294, - 5295 + 5299, + 5300 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5179, + "id": 5184, "path": "UnixSocketExt" } } @@ -461497,18 +480725,18 @@ }, "visibility": "default" }, - "5297": { + "5302": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5297, + "id": 5302, "inner": { "module": { "is_crate": false, "is_stripped": true, "items": [ - 4065 + 4064 ] } }, @@ -461520,29 +480748,29 @@ 1 ], "end": [ - 731, + 743, 2 ], "filename": "std/src/os/unix/net/stream.rs" }, "visibility": { "restricted": { - "parent": 4962, + "parent": 4967, "path": "::os::unix::net" } } }, - "5299": { + "5304": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "The UID part of the peer credential. This is the effective UID of the process at the domain\nsocket's endpoint.", - "id": 5299, + "id": 5304, "inner": { "struct_field": { "resolved_path": { "args": null, - "id": 4970, + "id": 4975, "path": "libc::uid_t" } } @@ -461562,69 +480790,17 @@ }, "visibility": "public" }, - "530": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 530, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 442, - "path": "StructuralPartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1204, - 14 - ], - "end": [ - 1204, - 23 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5300": { + "5305": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "The GID part of the peer credential. This is the effective GID of the process at the domain\nsocket's endpoint.", - "id": 5300, + "id": 5305, "inner": { "struct_field": { "resolved_path": { "args": null, - "id": 4973, + "id": 4978, "path": "libc::gid_t" } } @@ -461644,12 +480820,12 @@ }, "visibility": "public" }, - "5301": { + "5306": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "The PID part of the peer credential. This field is optional because the PID part of the\npeer credentials is not supported on every platform. On platforms where the mechanism to\ndiscover the PID exists, this field will be populated to the PID of the process at the\ndomain socket's endpoint. Otherwise, it will be set to None.", - "id": 5301, + "id": 5306, "inner": { "struct_field": { "resolved_path": { @@ -461660,7 +480836,7 @@ "type": { "resolved_path": { "args": null, - "id": 4967, + "id": 4972, "path": "libc::pid_t" } } @@ -461689,19 +480865,19 @@ }, "visibility": "public" }, - "5302": { + "5307": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5302, + "id": 5307, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -461726,19 +480902,19 @@ "span": null, "visibility": "default" }, - "5303": { + "5308": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5303, + "id": 5308, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -461763,19 +480939,19 @@ "span": null, "visibility": "default" }, - "5304": { + "5309": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5304, + "id": 5309, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -461790,7 +480966,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -461800,19 +480976,95 @@ "span": null, "visibility": "default" }, - "5305": { + "531": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 531, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "eq", + "span": { + "begin": [ + 1230, + 14 + ], + "end": [ + 1230, + 23 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5310": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5305, + "id": 5310, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -461837,19 +481089,19 @@ "span": null, "visibility": "default" }, - "5306": { + "5311": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5306, + "id": 5311, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -461864,7 +481116,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -461874,19 +481126,19 @@ "span": null, "visibility": "default" }, - "5307": { + "5312": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5307, + "id": 5312, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -461901,7 +481153,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -461911,12 +481163,12 @@ "span": null, "visibility": "default" }, - "5308": { + "5313": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5308, + "id": 5313, "inner": { "impl": { "blanket_impl": { @@ -461925,7 +481177,7 @@ "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -461970,7 +481222,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -461986,7 +481238,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -461995,23 +481247,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5309": { + "5314": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5309, + "id": 5314, "inner": { "impl": { "blanket_impl": { @@ -462020,7 +481272,7 @@ "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -462065,7 +481317,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -462081,7 +481333,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -462090,99 +481342,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "531": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 531, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq", - "span": { - "begin": [ - 1204, - 14 - ], - "end": [ - 1204, - 23 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5310": { + "5315": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5310, + "id": 5315, "inner": { "impl": { "blanket_impl": { @@ -462191,7 +481367,7 @@ "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -462218,7 +481394,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -462250,23 +481426,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "5311": { + "5316": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5311, + "id": 5316, "inner": { "impl": { "blanket_impl": { @@ -462275,7 +481451,7 @@ "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -462341,7 +481517,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -462366,23 +481542,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5312": { + "5317": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5312, + "id": 5317, "inner": { "impl": { "blanket_impl": { @@ -462391,7 +481567,7 @@ "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -462414,7 +481590,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -462439,23 +481615,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5313": { + "5318": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5313, + "id": 5318, "inner": { "impl": { "blanket_impl": { @@ -462464,7 +481640,7 @@ "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -462512,7 +481688,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -462530,8 +481706,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -462547,7 +481723,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -462556,23 +481732,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5314": { + "5319": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5314, + "id": 5319, "inner": { "impl": { "blanket_impl": { @@ -462581,7 +481757,7 @@ "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -462647,8 +481823,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -462664,7 +481840,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -462673,23 +481849,79 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5315": { + "532": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 532, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 531 + ], + "provided_trait_methods": [ + "ne" + ], + "trait": { + "args": null, + "id": 121, + "path": "PartialEq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1230, + 14 + ], + "end": [ + 1230, + 23 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5320": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5315, + "id": 5320, "inner": { "impl": { "blanket_impl": { @@ -462698,7 +481930,7 @@ "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -462746,12 +481978,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -462771,12 +482003,12 @@ }, "visibility": "default" }, - "5316": { + "5321": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5316, + "id": 5321, "inner": { "impl": { "blanket_impl": { @@ -462785,7 +482017,7 @@ "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -462812,7 +482044,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -462839,7 +482071,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -462848,18 +482080,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "5317": { + "5322": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -462868,7 +482100,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5317, + "id": 5322, "inner": { "function": { "generics": { @@ -462901,7 +482133,7 @@ "output": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } } @@ -462923,7 +482155,7 @@ }, "visibility": "default" }, - "5318": { + "5323": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -462936,14 +482168,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5318, + "id": 5323, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -462955,14 +482187,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5317 + 5322 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -462982,7 +482214,7 @@ }, "visibility": "default" }, - "5319": { + "5324": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -462995,14 +482227,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5319, + "id": 5324, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -463017,7 +482249,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -463037,63 +482269,7 @@ }, "visibility": "default" }, - "532": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 532, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 531 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1204, - 14 - ], - "end": [ - 1204, - 23 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5320": { + "5325": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -463102,7 +482278,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5320, + "id": 5325, "inner": { "function": { "generics": { @@ -463148,7 +482324,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -463160,7 +482336,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -463182,7 +482358,7 @@ }, "visibility": "default" }, - "5321": { + "5326": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -463195,14 +482371,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5321, + "id": 5326, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -463214,12 +482390,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5320 + 5325 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -463239,7 +482415,7 @@ }, "visibility": "default" }, - "5322": { + "5327": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -463252,14 +482428,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5322, + "id": 5327, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -463276,7 +482452,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -463296,7 +482472,7 @@ }, "visibility": "default" }, - "5323": { + "5328": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -463305,7 +482481,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5323, + "id": 5328, "inner": { "function": { "generics": { @@ -463389,7 +482565,7 @@ }, "visibility": "default" }, - "5324": { + "5329": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -463402,14 +482578,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5324, + "id": 5329, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -463421,7 +482597,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5323 + 5328 ], "provided_trait_methods": [ "hash_slice" @@ -463448,7 +482624,71 @@ }, "visibility": "default" }, - "5325": { + "533": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 533, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + } + } + } + }, + "links": {}, + "name": "clone", + "span": { + "begin": [ + 1230, + 25 + ], + "end": [ + 1230, + 30 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5330": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -463461,14 +482701,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5325, + "id": 5330, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -463503,7 +482743,7 @@ }, "visibility": "default" }, - "5326": { + "5331": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -463512,7 +482752,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5326, + "id": 5331, "inner": { "function": { "generics": { @@ -463549,7 +482789,7 @@ "type": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } } @@ -463579,7 +482819,7 @@ }, "visibility": "default" }, - "5327": { + "5332": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -463592,14 +482832,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5327, + "id": 5332, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5254, + "id": 5259, "path": "UCred" } }, @@ -463611,14 +482851,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5326 + 5331 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -463638,7 +482878,7 @@ }, "visibility": "default" }, - "5328": { + "5333": { "attrs": [ { "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"dragonfly\", target_os = \"freebsd\", target_os = \"netbsd\", target_os =\n\"openbsd\", target_os = \"nto\", target_vendor = \"apple\", target_os = \"cygwin\"))]" @@ -463647,13 +482887,13 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5328, + "id": 5333, "inner": { "module": { "is_crate": false, "is_stripped": true, "items": [ - 5254 + 5259 ] } }, @@ -463672,12 +482912,12 @@ }, "visibility": { "restricted": { - "parent": 4962, + "parent": 4967, "path": "::os::unix::net" } } }, - "5329": { + "5334": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -463686,10 +482926,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5329, + "id": 5334, "inner": { "use": { - "id": 4961, + "id": 4966, "is_glob": true, "name": "addr", "source": "self::addr" @@ -463710,74 +482950,10 @@ }, "visibility": "public" }, - "533": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 533, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 1204, - 25 - ], - "end": [ - 1204, - 30 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5330": { + "5335": { "attrs": [ { - "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\"))]" + "other": "#[(any(doc, target_os = \"android\", target_os = \"linux\", target_os =\n\"cygwin\"))]" }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -463786,10 +482962,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5330, + "id": 5335, "inner": { "use": { - "id": 5117, + "id": 5122, "is_glob": true, "name": "ancillary", "source": "self::ancillary" @@ -463810,7 +482986,7 @@ }, "visibility": "public" }, - "5331": { + "5336": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -463819,10 +482995,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5331, + "id": 5336, "inner": { "use": { - "id": 5180, + "id": 5185, "is_glob": true, "name": "datagram", "source": "self::datagram" @@ -463843,7 +483019,7 @@ }, "visibility": "public" }, - "5332": { + "5337": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -463852,10 +483028,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5332, + "id": 5337, "inner": { "use": { - "id": 5245, + "id": 5250, "is_glob": true, "name": "listener", "source": "self::listener" @@ -463876,7 +483052,7 @@ }, "visibility": "public" }, - "5333": { + "5338": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"unix_socket\"}}]" @@ -463885,10 +483061,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5333, + "id": 5338, "inner": { "use": { - "id": 5297, + "id": 5302, "is_glob": true, "name": "stream", "source": "self::stream" @@ -463909,7 +483085,7 @@ }, "visibility": "public" }, - "5334": { + "5339": { "attrs": [ { "other": "#[(any(target_os = \"android\", target_os = \"linux\", target_os =\n\"dragonfly\", target_os = \"freebsd\", target_os = \"netbsd\", target_os =\n\"openbsd\", target_os = \"nto\", target_vendor = \"apple\", target_os =\n\"cygwin\",))]" @@ -463921,10 +483097,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5334, + "id": 5339, "inner": { "use": { - "id": 5328, + "id": 5333, "is_glob": true, "name": "ucred", "source": "self::ucred" @@ -463945,7 +483121,63 @@ }, "visibility": "public" }, - "5335": { + "534": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 534, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 533 + ], + "provided_trait_methods": [ + "clone_from" + ], + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1230, + 25 + ], + "end": [ + 1230, + 30 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5340": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -463954,7 +483186,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the child process's user ID. This translates to a\n`setuid` call in the child process. Failure in the `setuid`\ncall will cause the spawn to fail.\n\n# Notes\n\nThis will also trigger a call to `setgroups(0, NULL)` in the child\nprocess if no groups have been specified.\nThis removes supplementary groups that might have given the child\nunwanted permissions.", - "id": 5335, + "id": 5340, "inner": { "function": { "generics": { @@ -463997,7 +483229,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -464021,7 +483253,7 @@ }, "visibility": "default" }, - "5336": { + "5341": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"Command\")]" @@ -464035,8 +483267,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "A process builder, providing fine-grained control\nover how a new process should be spawned.\n\nA default configuration can be\ngenerated using `Command::new(program)`, where `program` gives a path to the\nprogram to be executed. Additional builder methods allow the configuration\nto be changed (for example, by adding arguments) prior to spawning:\n\n```\nuse std::process::Command;\n\nlet output = if cfg!(target_os = \"windows\") {\n Command::new(\"cmd\")\n .args([\"/C\", \"echo hello\"])\n .output()\n .expect(\"failed to execute process\")\n} else {\n Command::new(\"sh\")\n .arg(\"-c\")\n .arg(\"echo hello\")\n .output()\n .expect(\"failed to execute process\")\n};\n\nlet hello = output.stdout;\n```\n\n`Command` can be reused to spawn multiple processes. The builder methods\nchange the command without needing to immediately spawn the process.\n\n```no_run\nuse std::process::Command;\n\nlet mut echo_hello = Command::new(\"sh\");\necho_hello.arg(\"-c\").arg(\"echo hello\");\nlet hello_1 = echo_hello.output().expect(\"failed to execute process\");\nlet hello_2 = echo_hello.output().expect(\"failed to execute process\");\n```\n\nSimilarly, you can call builder methods after spawning a process and then\nspawn a new process with the modified settings.\n\n```no_run\nuse std::process::Command;\n\nlet mut list_dir = Command::new(\"ls\");\n\n// Execute `ls` in the current directory of the program.\nlist_dir.status().expect(\"process failed to execute\");\n\nprintln!();\n\n// Change `ls` to execute in the root directory.\nlist_dir.current_dir(\"/\");\n\n// And then execute `ls` again but in the root directory.\nlist_dir.status().expect(\"process failed to execute\");\n```", - "id": 5336, + "docs": "A process builder, providing fine-grained control\nover how a new process should be spawned.\n\nA default configuration can be\ngenerated using `Command::new(program)`, where `program` gives a path to the\nprogram to be executed. Additional builder methods allow the configuration\nto be changed (for example, by adding arguments) prior to spawning:\n\n```\n# if cfg!(not(all(target_vendor = \"apple\", not(target_os = \"macos\")))) {\nuse std::process::Command;\n\nlet output = if cfg!(target_os = \"windows\") {\n Command::new(\"cmd\")\n .args([\"/C\", \"echo hello\"])\n .output()\n .expect(\"failed to execute process\")\n} else {\n Command::new(\"sh\")\n .arg(\"-c\")\n .arg(\"echo hello\")\n .output()\n .expect(\"failed to execute process\")\n};\n\nlet hello = output.stdout;\n# }\n```\n\n`Command` can be reused to spawn multiple processes. The builder methods\nchange the command without needing to immediately spawn the process.\n\n```no_run\nuse std::process::Command;\n\nlet mut echo_hello = Command::new(\"sh\");\necho_hello.arg(\"-c\").arg(\"echo hello\");\nlet hello_1 = echo_hello.output().expect(\"failed to execute process\");\nlet hello_2 = echo_hello.output().expect(\"failed to execute process\");\n```\n\nSimilarly, you can call builder methods after spawning a process and then\nspawn a new process with the modified settings.\n\n```no_run\nuse std::process::Command;\n\nlet mut list_dir = Command::new(\"ls\");\n\n// Execute `ls` in the current directory of the program.\nlist_dir.status().expect(\"process failed to execute\");\n\nprintln!();\n\n// Change `ls` to execute in the root directory.\nlist_dir.current_dir(\"/\");\n\n// And then execute `ls` again but in the root directory.\nlist_dir.status().expect(\"process failed to execute\");\n```", + "id": 5341, "inner": { "struct": { "generics": { @@ -464044,24 +483276,24 @@ "where_predicates": [] }, "impls": [ - 6943, - 6944, - 6945, - 6946, - 6947, - 6948, - 6949, - 6950, - 6951, - 6952, - 6953, - 6954, - 6955, - 6956, - 5359, - 5506, - 5975, - 6959 + 6981, + 6982, + 6983, + 6984, + 6985, + 6986, + 6987, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 5364, + 5511, + 6008, + 6997 ], "kind": { "plain": { @@ -464075,18 +483307,18 @@ "name": "Command", "span": { "begin": [ - 586, + 597, 1 ], "end": [ - 588, + 599, 2 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "5337": { + "5342": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -464095,7 +483327,7 @@ "crate_id": 0, "deprecation": null, "docs": "Similar to `uid`, but sets the group ID of the child process. This has\nthe same semantics as the `uid` field.", - "id": 5337, + "id": 5342, "inner": { "function": { "generics": { @@ -464138,7 +483370,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -464162,7 +483394,7 @@ }, "visibility": "default" }, - "5338": { + "5343": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 90747, is_soft: false}, feature: \"setgroups\"}}]" @@ -464171,7 +483403,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the supplementary group IDs for the calling process. Translates to\na `setgroups` call in the child process.", - "id": 5338, + "id": 5343, "inner": { "function": { "generics": { @@ -464222,7 +483454,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -464246,7 +483478,7 @@ }, "visibility": "default" }, - "5339": { + "5344": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84438, is_soft: false}, feature: \"panic_always_abort\"}}]" @@ -464255,7 +483487,7 @@ "crate_id": 0, "deprecation": null, "docs": "Makes all future panics abort directly without running the panic hook or unwinding.\n\nThere is no way to undo this; the effect lasts until the process exits or\nexecs (or the equivalent).\n\n# Use after fork\n\nThis function is particularly useful for calling after `libc::fork`. After `fork`, in a\nmultithreaded program it is (on many platforms) not safe to call the allocator. It is also\ngenerally highly undesirable for an unwind to unwind past the `fork`, because that results in\nthe unwind propagating to code that was only ever expecting to run in the parent.\n\n`panic::always_abort()` helps avoid both of these. It directly avoids any further unwinding,\nand if there is a panic, the abort will occur without allocating provided that the arguments to\npanic can be formatted without allocating.\n\nExamples\n\n```no_run\n#![feature(panic_always_abort)]\nuse std::panic;\n\npanic::always_abort();\n\nlet _ = panic::catch_unwind(|| {\n panic!(\"inside the catch\");\n});\n\n// We will have aborted already, due to the panic.\nunreachable!();\n```", - "id": 5339, + "id": 5344, "inner": { "function": { "generics": { @@ -464291,63 +483523,7 @@ }, "visibility": "public" }, - "534": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 534, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 533 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1204, - 25 - ], - "end": [ - 1204, - 30 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5340": { + "5345": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"process_pre_exec\"}}]" @@ -464356,7 +483532,7 @@ "crate_id": 0, "deprecation": null, "docs": "Schedules a closure to be run just before the `exec` function is\ninvoked.\n\nThe closure is allowed to return an I/O error whose OS error code will\nbe communicated back to the parent and returned as an error from when\nthe spawn was requested.\n\nMultiple closures can be registered and they will be called in order of\ntheir registration. If a closure returns `Err` then no further closures\nwill be called and the spawn operation will immediately return with a\nfailure.\n\n# Notes and Safety\n\nThis closure will be run in the context of the child process after a\n`fork`. This primarily means that any modifications made to memory on\nbehalf of this closure will **not** be visible to the parent process.\nThis is often a very constrained environment where normal operations\nlike `malloc`, accessing environment variables through [`std::env`]\nor acquiring a mutex are not guaranteed to work (due to\nother threads perhaps still running when the `fork` was run).\n\nFor further details refer to the [POSIX fork() specification]\nand the equivalent documentation for any targeted\nplatform, especially the requirements around *async-signal-safety*.\n\nThis also means that all resources such as file descriptors and\nmemory-mapped regions got duplicated. It is your responsibility to make\nsure that the closure does not violate library invariants by making\ninvalid use of these duplicates.\n\nPanicking in the closure is safe only if all the format arguments for the\npanic message can be safely formatted; this is because although\n`Command` calls [`std::panic::always_abort`](crate::panic::always_abort)\nbefore calling the pre_exec hook, panic will still try to format the\npanic message.\n\nWhen this closure is run, aspects such as the stdio file descriptors and\nworking directory have successfully been changed, so output to these\nlocations might not appear where intended.\n\n[POSIX fork() specification]:\n https://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html\n[`std::env`]: mod@crate::env", - "id": 5340, + "id": 5345, "inner": { "function": { "generics": { @@ -464398,7 +483574,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -464479,7 +483655,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -464489,8 +483665,8 @@ } }, "links": { - "crate::panic::always_abort": 5339, - "mod@crate::env": 1870 + "crate::panic::always_abort": 5344, + "mod@crate::env": 1868 }, "name": "pre_exec", "span": { @@ -464506,7 +483682,7 @@ }, "visibility": "default" }, - "5341": { + "5346": { "attrs": [ { "other": "#[rustc_deprecated_safe_2024(audit_that = \"the closure is async-signal-safe\")]" @@ -464521,7 +483697,7 @@ "since": "1.37.0" }, "docs": "Schedules a closure to be run just before the `exec` function is\ninvoked.\n\n`before_exec` used to be a safe method, but it needs to be unsafe since the closure may only\nperform operations that are *async-signal-safe*. Hence it got deprecated in favor of the\nunsafe [`pre_exec`]. Meanwhile, Rust gained the ability to make an existing safe method\nfully unsafe in a new edition, which is how `before_exec` became `unsafe`. It still also\nremains deprecated; `pre_exec` should be used instead.\n\n[`pre_exec`]: CommandExt::pre_exec", - "id": 5341, + "id": 5346, "inner": { "function": { "generics": { @@ -464563,7 +483739,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -464644,7 +483820,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -464654,7 +483830,7 @@ } }, "links": { - "CommandExt::pre_exec": 5340 + "CommandExt::pre_exec": 5345 }, "name": "before_exec", "span": { @@ -464670,7 +483846,7 @@ }, "visibility": "default" }, - "5342": { + "5347": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"process_exit\")]" @@ -464685,7 +483861,7 @@ "crate_id": 0, "deprecation": null, "docs": "Terminates the current process with the specified exit code.\n\nThis function will never return and will immediately terminate the current\nprocess. The exit code is passed through to the underlying OS and will be\navailable for consumption by another process.\n\nNote that because this function never returns, and that it terminates the\nprocess, no destructors on the current stack or any other thread's stack\nwill be run. If a clean shutdown is needed it is recommended to only call\nthis function at a known point where there are no more destructors left\nto run; or, preferably, simply return a type implementing [`Termination`]\n(such as [`ExitCode`] or `Result`) from the `main` function and avoid this\nfunction altogether:\n\n```\n# use std::io::Error as MyError;\nfn main() -> Result<(), MyError> {\n // ...\n Ok(())\n}\n```\n\nIn its current implementation, this function will execute exit handlers registered with `atexit`\nas well as other platform-specific exit handlers (e.g. `fini` sections of ELF shared objects).\nThis means that Rust requires that all exit handlers are safe to execute at any time. In\nparticular, if an exit handler cleans up some state that might be concurrently accessed by other\nthreads, it is required that the exit handler performs suitable synchronization with those\nthreads. (The alternative to this requirement would be to not run exit handlers at all, which is\nconsidered undesirable. Note that returning from `main` also calls `exit`, so making `exit` an\nunsafe operation is not an option.)\n\n## Platform-specific behavior\n\n**Unix**: On Unix-like platforms, it is unlikely that all 32 bits of `exit`\nwill be visible to a parent process inspecting the exit code. On most\nUnix-like platforms, only the eight least-significant bits are considered.\n\nFor example, the exit code for this example will be `0` on Linux, but `256`\non Windows:\n\n```no_run\nuse std::process;\n\nprocess::exit(0x0100);\n```\n\n### Safe interop with C code\n\nOn Unix, this function is currently implemented using the `exit` C function [`exit`][C-exit]. As\nof C23, the C standard does not permit multiple threads to call `exit` concurrently. Rust\nmitigates this with a lock, but if C code calls `exit`, that can still cause undefined behavior.\nNote that returning from `main` is equivalent to calling `exit`.\n\nTherefore, it is undefined behavior to have two concurrent threads perform the following\nwithout synchronization:\n- One thread calls Rust's `exit` function or returns from Rust's `main` function\n- Another thread calls the C function `exit` or `quick_exit`, or returns from C's `main` function\n\nNote that if a binary contains multiple copies of the Rust runtime (e.g., when combining\nmultiple `cdylib` or `staticlib`), they each have their own separate lock, so from the\nperspective of code running in one of the Rust runtimes, the \"outside\" Rust code is basically C\ncode, and concurrent `exit` again causes undefined behavior.\n\nIndividual C implementations might provide more guarantees than the standard and permit concurrent\ncalls to `exit`; consult the documentation of your C implementation for details.\n\nFor some of the on-going discussion to make `exit` thread-safe in C, see:\n- [Rust issue #126600](https://github.com/rust-lang/rust/issues/126600)\n- [Austin Group Bugzilla (for POSIX)](https://austingroupbugs.net/view.php?id=1845)\n- [GNU C library Bugzilla](https://sourceware.org/bugzilla/show_bug.cgi?id=31997)\n\n[C-exit]: https://en.cppreference.com/w/c/program/exit", - "id": 5342, + "id": 5347, "inner": { "function": { "generics": { @@ -464716,24 +483892,24 @@ } }, "links": { - "`ExitCode`": 5981, - "`Termination`": 7127 + "`ExitCode`": 6014, + "`Termination`": 7165 }, "name": "exit", "span": { "begin": [ - 2432, + 2443, 1 ], "end": [ - 2435, + 2446, 2 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "5343": { + "5348": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"process_exec2\"}}]" @@ -464747,7 +483923,7 @@ "crate_id": 0, "deprecation": null, "docs": "Performs all the required setup by this `Command`, followed by calling\nthe `execvp` syscall.\n\nOn success this function will not return, and otherwise it will return\nan error indicating why the exec (or another part of the setup of the\n`Command`) failed.\n\n`exec` not returning has the same implications as calling\n[`process::exit`] – no destructors on the current stack or any other\nthread’s stack will be run. Therefore, it is recommended to only call\n`exec` at a point where it is fine to not run any destructors. Note,\nthat the `execvp` syscall independently guarantees that all memory is\nfreed and all file descriptors with the `CLOEXEC` option (set by default\non all file descriptors opened by the standard library) are closed.\n\nThis function, unlike `spawn`, will **not** `fork` the process to create\na new child. Like spawn, however, the default behavior for the stdio\ndescriptors will be to inherit them from the current process.\n\n# Notes\n\nThe process may be in a \"broken state\" if this function returns in\nerror. For example the working directory, environment variables, signal\nhandling settings, various user/group information, or aspects of stdio\nfile descriptors may have changed. If a \"transactional spawn\" is\nrequired to gracefully handle errors it is recommended to use the\ncross-platform `spawn` instead.", - "id": 5343, + "id": 5348, "inner": { "function": { "generics": { @@ -464788,7 +483964,7 @@ } }, "links": { - "`process::exit`": 5342 + "`process::exit`": 5347 }, "name": "exec", "span": { @@ -464804,7 +483980,7 @@ }, "visibility": "default" }, - "5344": { + "5349": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"process_set_argv0\"}}]" @@ -464813,7 +483989,7 @@ "crate_id": 0, "deprecation": null, "docs": "Set executable argument\n\nSet the first process argument, `argv[0]`, to something other than the\ndefault executable path.", - "id": 5344, + "id": 5349, "inner": { "function": { "generics": { @@ -464845,7 +484021,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -464904,7 +484080,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -464928,7 +484104,59 @@ }, "visibility": "default" }, - "5345": { + "535": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 535, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 101, + "path": "Copy" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1230, + 32 + ], + "end": [ + 1230, + 36 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5350": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"process_set_process_group\"}}]" @@ -464937,7 +484165,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the process group ID (PGID) of the child process. Equivalent to a\n`setpgid` call in the child process, but may be more efficient.\n\nProcess groups determine which processes receive signals.\n\n# Examples\n\nPressing Ctrl-C in a terminal will send SIGINT to all processes in\nthe current foreground process group. By spawning the `sleep`\nsubprocess in a new process group, it will not receive SIGINT from the\nterminal.\n\nThe parent process could install a signal handler and manage the\nsubprocess on its own terms.\n\nA process group ID of 0 will use the process ID as the PGID.\n\n```no_run\nuse std::process::Command;\nuse std::os::unix::process::CommandExt;\n\nCommand::new(\"sleep\")\n .arg(\"10\")\n .process_group(0)\n .spawn()?\n .wait()?;\n#\n# Ok::<_, Box>(())\n```", - "id": 5345, + "id": 5350, "inner": { "function": { "generics": { @@ -464980,7 +484208,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -465004,7 +484232,7 @@ }, "visibility": "default" }, - "5346": { + "5351": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -465013,7 +484241,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the working directory for the child process.\n\n# Platform-specific behavior\n\nIf the program path is relative (e.g., `\"./script.sh\"`), it's ambiguous\nwhether it should be interpreted relative to the parent's working\ndirectory or relative to `current_dir`. The behavior in this case is\nplatform specific and unstable, and it's recommended to use\n[`canonicalize`] to get an absolute program path instead.\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nCommand::new(\"ls\")\n .current_dir(\"/bin\")\n .spawn()\n .expect(\"ls command failed to start\");\n```\n\n[`canonicalize`]: crate::fs::canonicalize", - "id": 5346, + "id": 5351, "inner": { "function": { "generics": { @@ -465034,7 +484262,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -465094,7 +484322,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } } @@ -465104,23 +484332,23 @@ } }, "links": { - "crate::fs::canonicalize": 2971 + "crate::fs::canonicalize": 2973 }, "name": "current_dir", "span": { "begin": [ - 944, + 955, 5 ], "end": [ - 947, + 958, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "5347": { + "5352": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 141298, is_soft: false}, feature: \"process_chroot\"}}]" @@ -465129,7 +484357,7 @@ "crate_id": 0, "deprecation": null, "docs": "Set the root of the child process. This calls `chroot` in the child process before executing\nthe command.\n\nThis happens before changing to the directory specified with\n[`process::Command::current_dir`], and that directory will be relative to the new root.\n\nIf no directory has been specified with [`process::Command::current_dir`], this will set the\ndirectory to `/`, to avoid leaving the current directory outside the chroot. (This is an\nintentional difference from the underlying `chroot` system call.)", - "id": 5347, + "id": 5352, "inner": { "function": { "generics": { @@ -465150,7 +484378,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -465210,7 +484438,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -465220,7 +484448,7 @@ } }, "links": { - "`process::Command::current_dir`": 5346 + "`process::Command::current_dir`": 5351 }, "name": "chroot", "span": { @@ -465236,7 +484464,7 @@ }, "visibility": "default" }, - "5348": { + "5353": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 105376, is_soft: false}, feature: \"process_setsid\"}}]" @@ -465245,7 +484473,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5348, + "id": 5353, "inner": { "function": { "generics": { @@ -465288,7 +484516,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -465312,7 +484540,7 @@ }, "visibility": "default" }, - "5349": { + "5354": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -465321,7 +484549,7 @@ "crate_id": 0, "deprecation": null, "docs": "Unix-specific extensions to the [`process::Command`] builder.\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 5349, + "id": 5354, "inner": { "trait": { "bounds": [ @@ -465331,7 +484559,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -465342,27 +484570,27 @@ "where_predicates": [] }, "implementations": [ - 5359 + 5364 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5335, - 5337, - 5338, 5340, - 5341, + 5342, 5343, - 5344, 5345, - 5347, - 5348 + 5346, + 5348, + 5349, + 5350, + 5352, + 5353 ] } }, "links": { - "`process::Command`": 5336 + "`process::Command`": 5341 }, "name": "CommandExt", "span": { @@ -465378,64 +484606,12 @@ }, "visibility": "public" }, - "535": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 535, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 103, - "path": "Copy" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1204, - 32 - ], - "end": [ - 1204, - 36 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5350": { + "5355": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5350, + "id": 5355, "inner": { "function": { "generics": { @@ -465478,7 +484654,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -465502,12 +484678,12 @@ }, "visibility": "default" }, - "5351": { + "5356": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5351, + "id": 5356, "inner": { "function": { "generics": { @@ -465550,7 +484726,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -465574,12 +484750,12 @@ }, "visibility": "default" }, - "5352": { + "5357": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5352, + "id": 5357, "inner": { "function": { "generics": { @@ -465630,7 +484806,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -465654,12 +484830,12 @@ }, "visibility": "default" }, - "5353": { + "5358": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5353, + "id": 5358, "inner": { "function": { "generics": { @@ -465701,7 +484877,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -465782,7 +484958,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -465806,12 +484982,12 @@ }, "visibility": "default" }, - "5354": { + "5359": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5354, + "id": 5359, "inner": { "function": { "generics": { @@ -465866,12 +485042,105 @@ }, "visibility": "default" }, - "5355": { + "536": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 536, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 537, + "path": "$crate::hash::Hasher" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "__H" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "state", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "__H" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "hash", + "span": { + "begin": [ + 1230, + 38 + ], + "end": [ + 1230, + 42 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5360": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5355, + "id": 5360, "inner": { "function": { "generics": { @@ -465903,7 +485172,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -465962,7 +485231,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -465986,12 +485255,12 @@ }, "visibility": "default" }, - "5356": { + "5361": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5356, + "id": 5361, "inner": { "function": { "generics": { @@ -466034,7 +485303,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -466058,12 +485327,12 @@ }, "visibility": "default" }, - "5357": { + "5362": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5357, + "id": 5362, "inner": { "function": { "generics": { @@ -466084,7 +485353,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -466144,7 +485413,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -466168,12 +485437,12 @@ }, "visibility": "default" }, - "5358": { + "5363": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5358, + "id": 5363, "inner": { "function": { "generics": { @@ -466216,7 +485485,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -466240,7 +485509,7 @@ }, "visibility": "default" }, - "5359": { + "5364": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -466252,14 +485521,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5359, + "id": 5364, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } }, @@ -466271,22 +485540,22 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5350, - 5351, - 5352, - 5353, - 5354, 5355, 5356, 5357, - 5358 + 5358, + 5359, + 5360, + 5361, + 5362, + 5363 ], "provided_trait_methods": [ "before_exec" ], "trait": { "args": null, - "id": 5349, + "id": 5354, "path": "CommandExt" } } @@ -466306,100 +485575,7 @@ }, "visibility": "default" }, - "536": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 536, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 537, - "path": "$crate::hash::Hasher" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "__H" - } - ], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "state", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "__H" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "hash", - "span": { - "begin": [ - 1204, - 38 - ], - "end": [ - 1204, - 42 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5360": { + "5365": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"exit_status_from\"}}]" @@ -466408,7 +485584,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `ExitStatus` or `ExitStatusError` from the raw underlying integer status\nvalue from `wait`\n\nThe value should be a **wait status, not an exit status**.\n\n# Panics\n\nPanics on an attempt to make an `ExitStatusError` from a wait status of `0`.\n\nMaking an `ExitStatus` always succeeds and never panics.", - "id": 5360, + "id": 5365, "inner": { "function": { "generics": { @@ -466453,7 +485629,7 @@ }, "visibility": "default" }, - "5361": { + "5366": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -466462,7 +485638,7 @@ "crate_id": 0, "deprecation": null, "docs": "If the process was terminated by a signal, returns that signal.\n\nIn other words, if `WIFSIGNALED`, this returns `WTERMSIG`.", - "id": 5361, + "id": 5366, "inner": { "function": { "generics": { @@ -466528,7 +485704,7 @@ }, "visibility": "default" }, - "5362": { + "5367": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"unix_process_wait_more\"}}]" @@ -466537,7 +485713,7 @@ "crate_id": 0, "deprecation": null, "docs": "If the process was terminated by a signal, says whether it dumped core.", - "id": 5362, + "id": 5367, "inner": { "function": { "generics": { @@ -466588,7 +485764,7 @@ }, "visibility": "default" }, - "5363": { + "5368": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"unix_process_wait_more\"}}]" @@ -466597,7 +485773,7 @@ "crate_id": 0, "deprecation": null, "docs": "If the process was stopped by a signal, returns that signal.\n\nIn other words, if `WIFSTOPPED`, this returns `WSTOPSIG`. This is only possible if the status came from\na `wait` system call which was passed `WUNTRACED`, and was then converted into an `ExitStatus`.", - "id": 5363, + "id": 5368, "inner": { "function": { "generics": { @@ -466663,7 +485839,7 @@ }, "visibility": "default" }, - "5364": { + "5369": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"unix_process_wait_more\"}}]" @@ -466672,7 +485848,7 @@ "crate_id": 0, "deprecation": null, "docs": "Whether the process was continued from a stopped status.\n\nIe, `WIFCONTINUED`. This is only possible if the status came from a `wait` system call\nwhich was passed `WCONTINUED`, and was then converted into an `ExitStatus`.", - "id": 5364, + "id": 5369, "inner": { "function": { "generics": { @@ -466723,7 +485899,7 @@ }, "visibility": "default" }, - "5365": { + "5370": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"unix_process_wait_more\"}}]" @@ -466732,7 +485908,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the underlying raw `wait` status.\n\nThe returned integer is a **wait status, not an exit status**.", - "id": 5365, + "id": 5370, "inner": { "function": { "generics": { @@ -466777,7 +485953,7 @@ }, "visibility": "default" }, - "5366": { + "5371": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -466786,7 +485962,7 @@ "crate_id": 0, "deprecation": null, "docs": "Describes the result of a process after it has terminated.\n\nThis `struct` is used to represent the exit status or other termination of a child process.\nChild processes are created via the [`Command`] struct and their exit\nstatus is exposed through the [`status`] method, or the [`wait`] method\nof a [`Child`] process.\n\nAn `ExitStatus` represents every possible disposition of a process. On Unix this\nis the **wait status**. It is *not* simply an *exit status* (a value passed to `exit`).\n\nFor proper error reporting of failed processes, print the value of `ExitStatus` or\n`ExitStatusError` using their implementations of [`Display`](crate::fmt::Display).\n\n# Differences from `ExitCode`\n\n[`ExitCode`] is intended for terminating the currently running process, via\nthe `Termination` trait, in contrast to `ExitStatus`, which represents the\ntermination of a child process. These APIs are separate due to platform\ncompatibility differences and their expected usage; it is not generally\npossible to exactly reproduce an `ExitStatus` from a child for the current\nprocess after the fact.\n\n[`status`]: Command::status\n[`wait`]: Child::wait", - "id": 5366, + "id": 5371, "inner": { "struct": { "generics": { @@ -466794,34 +485970,34 @@ "where_predicates": [] }, "impls": [ - 7058, - 7059, - 7060, - 7061, - 7062, - 7063, - 7064, - 7065, - 7066, - 7067, - 7068, - 7069, - 7070, - 7071, - 7072, - 7073, - 7074, - 5376, - 5954, - 7075, - 7077, - 7078, - 7080, - 7081, - 7083, - 7085, - 7087, - 7089 + 7096, + 7097, + 7098, + 7099, + 7100, + 7101, + 7102, + 7103, + 7104, + 7105, + 7106, + 7107, + 7108, + 7109, + 7110, + 7111, + 7112, + 5381, + 5985, + 7113, + 7115, + 7116, + 7118, + 7119, + 7121, + 7123, + 7125, + 7127 ], "kind": { "tuple": [ @@ -466831,28 +486007,28 @@ } }, "links": { - "Child::wait": 5467, - "Command::status": 6926, - "`Child`": 5388, - "`Command`": 5336, - "`ExitCode`": 5981, + "Child::wait": 5472, + "Command::status": 6964, + "`Child`": 5393, + "`Command`": 5341, + "`ExitCode`": 6014, "crate::fmt::Display": 436 }, "name": "ExitStatus", "span": { "begin": [ - 1781, + 1792, 1 ], "end": [ - 1781, + 1792, 40 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "5367": { + "5372": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" @@ -466860,8 +486036,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Describes the result of a process after it has failed\n\nProduced by the [`.exit_ok`](ExitStatus::exit_ok) method on [`ExitStatus`].\n\n# Examples\n\n```\n#![feature(exit_status_error)]\n# if cfg!(all(unix, not(target_os = \"android\"))) {\nuse std::process::{Command, ExitStatusError};\n\nfn run(cmd: &str) -> Result<(), ExitStatusError> {\n Command::new(cmd).status().unwrap().exit_ok()?;\n Ok(())\n}\n\nrun(\"true\").unwrap();\nrun(\"false\").unwrap_err();\n# } // cfg!(unix)\n```", - "id": 5367, + "docs": "Describes the result of a process after it has failed\n\nProduced by the [`.exit_ok`](ExitStatus::exit_ok) method on [`ExitStatus`].\n\n# Examples\n\n```\n#![feature(exit_status_error)]\n# if cfg!(all(unix, not(target_os = \"android\"), not(all(target_vendor = \"apple\", not(target_os = \"macos\"))))) {\nuse std::process::{Command, ExitStatusError};\n\nfn run(cmd: &str) -> Result<(), ExitStatusError> {\n Command::new(cmd).status().unwrap().exit_ok()?;\n Ok(())\n}\n\nrun(\"true\").unwrap();\nrun(\"false\").unwrap_err();\n# } // cfg!(unix)\n```", + "id": 5372, "inner": { "struct": { "generics": { @@ -466869,33 +486045,33 @@ "where_predicates": [] }, "impls": [ - 7094, - 7095, - 7096, - 7097, - 7098, - 7099, - 7100, - 7101, - 7102, - 7103, - 7104, - 7105, - 7106, - 7107, - 7108, - 7109, - 7110, - 5383, - 7111, - 7113, - 7114, - 7116, - 7117, - 7119, - 7089, - 7121, - 7122 + 7132, + 7133, + 7134, + 7135, + 7136, + 7137, + 7138, + 7139, + 7140, + 7141, + 7142, + 7143, + 7144, + 7145, + 7146, + 7147, + 7148, + 5388, + 7149, + 7151, + 7152, + 7154, + 7155, + 7157, + 7127, + 7159, + 7160 ], "kind": { "tuple": [ @@ -466905,24 +486081,24 @@ } }, "links": { - "ExitStatus::exit_ok": 7011, - "`ExitStatus`": 5366 + "ExitStatus::exit_ok": 7049, + "`ExitStatus`": 5371 }, "name": "ExitStatusError", "span": { "begin": [ - 1926, + 1937, 1 ], "end": [ - 1926, + 1937, 50 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "5368": { + "5373": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -466936,7 +486112,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the exit code of the process, if any.\n\nIn Unix terms the return value is the **exit status**: the value passed to `exit`, if the\nprocess finished by calling `exit`. Note that on Unix the exit status is truncated to 8\nbits, and that values that didn't come from a program's call to `exit` may be invented by the\nruntime system (often, for example, 255, 254, 127 or 126).\n\nOn Unix, this will return `None` if the process was terminated by a signal.\n[`ExitStatusExt`](crate::os::unix::process::ExitStatusExt) is an\nextension trait for extracting any such signal, and other details, from the `ExitStatus`.\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nlet status = Command::new(\"mkdir\")\n .arg(\"projects\")\n .status()\n .expect(\"failed to execute mkdir\");\n\nmatch status.code() {\n Some(code) => println!(\"Exited with status code: {code}\"),\n None => println!(\"Process terminated by signal\")\n}\n```", - "id": 5368, + "id": 5373, "inner": { "function": { "generics": { @@ -466988,23 +486164,23 @@ } }, "links": { - "crate::os::unix::process::ExitStatusExt": 5369 + "crate::os::unix::process::ExitStatusExt": 5374 }, "name": "code", "span": { "begin": [ - 1873, + 1884, 5 ], "end": [ - 1875, + 1886, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "5369": { + "5374": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -467013,7 +486189,7 @@ "crate_id": 0, "deprecation": null, "docs": "Unix-specific extensions to [`process::ExitStatus`] and\n[`ExitStatusError`](process::ExitStatusError).\n\nOn Unix, `ExitStatus` **does not necessarily represent an exit status**, as\npassed to the `_exit` system call or returned by\n[`ExitStatus::code()`](crate::process::ExitStatus::code). It represents **any wait status**\nas returned by one of the `wait` family of system\ncalls.\n\nA Unix wait status (a Rust `ExitStatus`) can represent a Unix exit status, but can also\nrepresent other kinds of process event.\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 5369, + "id": 5374, "inner": { "trait": { "bounds": [ @@ -467023,7 +486199,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -467034,26 +486210,26 @@ "where_predicates": [] }, "implementations": [ - 5376, - 5383 + 5381, + 5388 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5360, - 5361, - 5362, - 5363, - 5364, - 5365 + 5365, + 5366, + 5367, + 5368, + 5369, + 5370 ] } }, "links": { - "`process::ExitStatus`": 5366, - "crate::process::ExitStatus::code": 5368, - "process::ExitStatusError": 5367 + "`process::ExitStatus`": 5371, + "crate::process::ExitStatus::code": 5373, + "process::ExitStatusError": 5372 }, "name": "ExitStatusExt", "span": { @@ -467069,12 +486245,12 @@ }, "visibility": "public" }, - "5370": { + "5375": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5370, + "id": 5375, "inner": { "function": { "generics": { @@ -467119,12 +486295,12 @@ }, "visibility": "default" }, - "5371": { + "5376": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5371, + "id": 5376, "inner": { "function": { "generics": { @@ -467190,12 +486366,12 @@ }, "visibility": "default" }, - "5372": { + "5377": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5372, + "id": 5377, "inner": { "function": { "generics": { @@ -467246,12 +486422,12 @@ }, "visibility": "default" }, - "5373": { + "5378": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5373, + "id": 5378, "inner": { "function": { "generics": { @@ -467317,12 +486493,12 @@ }, "visibility": "default" }, - "5374": { + "5379": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5374, + "id": 5379, "inner": { "function": { "generics": { @@ -467373,12 +486549,68 @@ }, "visibility": "default" }, - "5375": { + "538": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 538, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 536 + ], + "provided_trait_methods": [ + "hash_slice" + ], + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1230, + 38 + ], + "end": [ + 1230, + 42 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5380": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5375, + "id": 5380, "inner": { "function": { "generics": { @@ -467423,7 +486655,7 @@ }, "visibility": "default" }, - "5376": { + "5381": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -467435,14 +486667,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5376, + "id": 5381, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, + "id": 5371, "path": "process::ExitStatus" } }, @@ -467454,17 +486686,17 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5370, - 5371, - 5372, - 5373, - 5374, - 5375 + 5375, + 5376, + 5377, + 5378, + 5379, + 5380 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5369, + "id": 5374, "path": "ExitStatusExt" } } @@ -467484,12 +486716,12 @@ }, "visibility": "default" }, - "5377": { + "5382": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5377, + "id": 5382, "inner": { "function": { "generics": { @@ -467534,12 +486766,12 @@ }, "visibility": "default" }, - "5378": { + "5383": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5378, + "id": 5383, "inner": { "function": { "generics": { @@ -467605,12 +486837,12 @@ }, "visibility": "default" }, - "5379": { + "5384": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5379, + "id": 5384, "inner": { "function": { "generics": { @@ -467661,68 +486893,12 @@ }, "visibility": "default" }, - "538": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 538, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 536 - ], - "provided_trait_methods": [ - "hash_slice" - ], - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1204, - 38 - ], - "end": [ - 1204, - 42 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5380": { + "5385": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5380, + "id": 5385, "inner": { "function": { "generics": { @@ -467788,12 +486964,12 @@ }, "visibility": "default" }, - "5381": { + "5386": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5381, + "id": 5386, "inner": { "function": { "generics": { @@ -467844,12 +487020,12 @@ }, "visibility": "default" }, - "5382": { + "5387": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5382, + "id": 5387, "inner": { "function": { "generics": { @@ -467894,7 +487070,7 @@ }, "visibility": "default" }, - "5383": { + "5388": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -467906,14 +487082,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5383, + "id": 5388, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, + "id": 5372, "path": "process::ExitStatusError" } }, @@ -467925,17 +487101,17 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5377, - 5378, - 5379, - 5380, - 5381, - 5382 + 5382, + 5383, + 5384, + 5385, + 5386, + 5387 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5369, + "id": 5374, "path": "ExitStatusExt" } } @@ -467955,12 +487131,12 @@ }, "visibility": "default" }, - "5384": { + "5389": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Sends a signal to a child process.\n\n# Errors\n\nThis function will return an error if the signal is invalid. The integer values associated\nwith signals are implementation-specific, so it's encouraged to use a crate that provides\nposix bindings.\n\n# Examples\n\n```rust\n#![feature(unix_send_signal)]\n\nuse std::{io, os::unix::process::ChildExt, process::{Command, Stdio}};\n\nuse libc::SIGTERM;\n\nfn main() -> io::Result<()> {\n let child = Command::new(\"cat\").stdin(Stdio::piped()).spawn()?;\n child.send_signal(SIGTERM)?;\n Ok(())\n}\n```", - "id": 5384, + "docs": "Sends a signal to a child process.\n\n# Errors\n\nThis function will return an error if the signal is invalid. The integer values associated\nwith signals are implementation-specific, so it's encouraged to use a crate that provides\nposix bindings.\n\n# Examples\n\n```rust\n#![feature(unix_send_signal)]\n\nuse std::{io, os::unix::process::ChildExt, process::{Command, Stdio}};\n\nuse libc::SIGTERM;\n\nfn main() -> io::Result<()> {\n # if cfg!(not(all(target_vendor = \"apple\", not(target_os = \"macos\")))) {\n let child = Command::new(\"cat\").stdin(Stdio::piped()).spawn()?;\n child.send_signal(SIGTERM)?;\n # }\n Ok(())\n}\n```", + "id": 5389, "inner": { "function": { "generics": { @@ -468010,7 +487186,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -468021,18 +487197,18 @@ "name": "send_signal", "span": { "begin": [ - 414, + 416, 5 ], "end": [ - 414, + 416, 58 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "5385": { + "5390": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 141975, is_soft: false}, feature: \"unix_send_signal\"}}]" @@ -468041,7 +487217,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5385, + "id": 5390, "inner": { "trait": { "bounds": [ @@ -468051,7 +487227,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -468062,13 +487238,13 @@ "where_predicates": [] }, "implementations": [ - 5387 + 5392 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5384 + 5389 ] } }, @@ -468080,19 +487256,19 @@ 1 ], "end": [ - 415, + 417, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "public" }, - "5386": { + "5391": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5386, + "id": 5391, "inner": { "function": { "generics": { @@ -468142,7 +487318,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -468153,18 +487329,18 @@ "name": "send_signal", "span": { "begin": [ - 419, + 421, 5 ], "end": [ - 421, + 423, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "5387": { + "5392": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -468176,14 +487352,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5387, + "id": 5392, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "process::Child" } }, @@ -468195,12 +487371,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5386 + 5391 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5385, + "id": 5390, "path": "ChildExt" } } @@ -468209,18 +487385,18 @@ "name": null, "span": { "begin": [ - 418, + 420, 1 ], "end": [ - 422, + 424, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "5388": { + "5393": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"Child\")]" @@ -468235,7 +487411,7 @@ "crate_id": 0, "deprecation": null, "docs": "Representation of a running or exited child process.\n\nThis structure is used to represent and manage child processes. A child\nprocess is created via the [`Command`] struct, which configures the\nspawning process and can itself be constructed using a builder-style\ninterface.\n\nThere is no implementation of [`Drop`] for child processes,\nso if you do not ensure the `Child` has exited then it will continue to\nrun, even after the `Child` handle to the child process has gone out of\nscope.\n\nCalling [`wait`] (or other functions that wrap around it) will make\nthe parent process wait until the child has actually exited before\ncontinuing.\n\n# Warning\n\nOn some systems, calling [`wait`] or similar is necessary for the OS to\nrelease resources. A process that terminated but has not been waited on is\nstill around as a \"zombie\". Leaving too many zombies around may exhaust\nglobal resources (for example process IDs).\n\nThe standard library does *not* automatically wait on child processes (not\neven if the `Child` is dropped), it is up to the application developer to do\nso. As a consequence, dropping `Child` handles without waiting on them first\nis not recommended in long-running applications.\n\n# Examples\n\n```should_panic\nuse std::process::Command;\n\nlet mut child = Command::new(\"/bin/cat\")\n .arg(\"file.txt\")\n .spawn()\n .expect(\"failed to execute child\");\n\nlet ecode = child.wait().expect(\"failed to wait on child\");\n\nassert!(ecode.success());\n```\n\n[`wait`]: Child::wait", - "id": 5388, + "id": 5393, "inner": { "struct": { "generics": { @@ -468243,35 +487419,35 @@ "where_predicates": [] }, "impls": [ - 6854, - 6855, - 6856, - 6857, - 6858, - 6859, - 6860, - 6861, - 6862, - 6863, - 6864, - 6865, - 6866, - 6867, - 5387, - 5854, - 5847, - 5865, - 5722, - 5979, - 6869, - 5503 + 6892, + 6893, + 6894, + 6895, + 6896, + 6897, + 6898, + 6899, + 6900, + 6901, + 6902, + 6903, + 6904, + 6905, + 5392, + 5885, + 5878, + 5896, + 5753, + 6012, + 6907, + 5508 ], "kind": { "plain": { "fields": [ - 6848, - 6849, - 6850 + 6886, + 6887, + 6888 ], "has_stripped_fields": true } @@ -468279,8 +487455,8 @@ } }, "links": { - "Child::wait": 5467, - "`Command`": 5336, + "Child::wait": 5472, + "`Command`": 5341, "`Drop`": 9 }, "name": "Child", @@ -468297,7 +487473,7 @@ }, "visibility": "public" }, - "5389": { + "5394": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"unix_ppid\"}}]" @@ -468311,7 +487487,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the OS-assigned process identifier associated with this process's parent.", - "id": 5389, + "id": 5394, "inner": { "function": { "generics": { @@ -468338,18 +487514,18 @@ "name": "parent_id", "span": { "begin": [ - 590, + 592, 1 ], "end": [ - 592, + 594, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "public" }, - "5390": { + "5395": { "attrs": [ { "other": "#[deny(unsafe_op_in_unsafe_fn)]" @@ -468361,51 +487537,51 @@ "crate_id": 0, "deprecation": null, "docs": "A module for working with processes.\n\nThis module is mostly concerned with spawning and interacting with child\nprocesses, but it also provides [`abort`] and [`exit`] for terminating the\ncurrent process.\n\n# Spawning a process\n\nThe [`Command`] struct is used to configure and spawn processes:\n\n```no_run\nuse std::process::Command;\n\nlet output = Command::new(\"echo\")\n .arg(\"Hello world\")\n .output()\n .expect(\"Failed to execute command\");\n\nassert_eq!(b\"Hello world\\n\", output.stdout.as_slice());\n```\n\nSeveral methods on [`Command`], such as [`spawn`] or [`output`], can be used\nto spawn a process. In particular, [`output`] spawns the child process and\nwaits until the process terminates, while [`spawn`] will return a [`Child`]\nthat represents the spawned child process.\n\n# Handling I/O\n\nThe [`stdout`], [`stdin`], and [`stderr`] of a child process can be\nconfigured by passing an [`Stdio`] to the corresponding method on\n[`Command`]. Once spawned, they can be accessed from the [`Child`]. For\nexample, piping output from one command into another command can be done\nlike so:\n\n```no_run\nuse std::process::{Command, Stdio};\n\n// stdout must be configured with `Stdio::piped` in order to use\n// `echo_child.stdout`\nlet echo_child = Command::new(\"echo\")\n .arg(\"Oh no, a tpyo!\")\n .stdout(Stdio::piped())\n .spawn()\n .expect(\"Failed to start echo process\");\n\n// Note that `echo_child` is moved here, but we won't be needing\n// `echo_child` anymore\nlet echo_out = echo_child.stdout.expect(\"Failed to open echo stdout\");\n\nlet mut sed_child = Command::new(\"sed\")\n .arg(\"s/tpyo/typo/\")\n .stdin(Stdio::from(echo_out))\n .stdout(Stdio::piped())\n .spawn()\n .expect(\"Failed to start sed process\");\n\nlet output = sed_child.wait_with_output().expect(\"Failed to wait on sed\");\nassert_eq!(b\"Oh no, a typo!\\n\", output.stdout.as_slice());\n```\n\nNote that [`ChildStderr`] and [`ChildStdout`] implement [`Read`] and\n[`ChildStdin`] implements [`Write`]:\n\n```no_run\nuse std::process::{Command, Stdio};\nuse std::io::Write;\n\nlet mut child = Command::new(\"/bin/cat\")\n .stdin(Stdio::piped())\n .stdout(Stdio::piped())\n .spawn()\n .expect(\"failed to execute child\");\n\n// If the child process fills its stdout buffer, it may end up\n// waiting until the parent reads the stdout, and not be able to\n// read stdin in the meantime, causing a deadlock.\n// Writing from another thread ensures that stdout is being read\n// at the same time, avoiding the problem.\nlet mut stdin = child.stdin.take().expect(\"failed to get stdin\");\nstd::thread::spawn(move || {\n stdin.write_all(b\"test\").expect(\"failed to write to stdin\");\n});\n\nlet output = child\n .wait_with_output()\n .expect(\"failed to wait on child\");\n\nassert_eq!(b\"test\", output.stdout.as_slice());\n```\n\n# Windows argument splitting\n\nOn Unix systems arguments are passed to a new process as an array of strings,\nbut on Windows arguments are passed as a single commandline string and it is\nup to the child process to parse it into an array. Therefore the parent and\nchild processes must agree on how the commandline string is encoded.\n\nMost programs use the standard C run-time `argv`, which in practice results\nin consistent argument handling. However, some programs have their own way of\nparsing the commandline string. In these cases using [`arg`] or [`args`] may\nresult in the child process seeing a different array of arguments than the\nparent process intended.\n\nTwo ways of mitigating this are:\n\n* Validate untrusted input so that only a safe subset is allowed.\n* Use [`raw_arg`] to build a custom commandline. This bypasses the escaping\n rules used by [`arg`] so should be used with due caution.\n\n`cmd.exe` and `.bat` files use non-standard argument parsing and are especially\nvulnerable to malicious input as they may be used to run arbitrary shell\ncommands. Untrusted arguments should be restricted as much as possible.\nFor examples on handling this see [`raw_arg`].\n\n### Batch file special handling\n\nOn Windows, `Command` uses the Windows API function [`CreateProcessW`] to\nspawn new processes. An undocumented feature of this function is that\nwhen given a `.bat` file as the application to run, it will automatically\nconvert that into running `cmd.exe /c` with the batch file as the next argument.\n\nFor historical reasons Rust currently preserves this behavior when using\n[`Command::new`], and escapes the arguments according to `cmd.exe` rules.\nDue to the complexity of `cmd.exe` argument handling, it might not be\npossible to safely escape some special characters, and using them will result\nin an error being returned at process spawn. The set of unescapeable\nspecial characters might change between releases.\n\nAlso note that running batch scripts in this way may be removed in the\nfuture and so should not be relied upon.\n\n[`spawn`]: Command::spawn\n[`output`]: Command::output\n\n[`stdout`]: Command::stdout\n[`stdin`]: Command::stdin\n[`stderr`]: Command::stderr\n\n[`Write`]: io::Write\n[`Read`]: io::Read\n\n[`arg`]: Command::arg\n[`args`]: Command::args\n[`raw_arg`]: crate::os::windows::process::CommandExt::raw_arg\n\n[`CreateProcessW`]: https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw", - "id": 5390, + "id": 5395, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5388, - 4221, - 4077, - 4084, - 5336, - 6940, - 6941, - 6853, + 5393, + 4220, + 4076, + 4083, + 5341, + 6978, + 6979, + 6891, 2566, - 5366, - 5367, - 5981, - 5342, + 5371, + 5372, + 6014, + 5347, 379, - 7159, - 7127 + 7197, + 7165 ] } }, "links": { - "Command::arg": 6929, - "Command::args": 6930, - "Command::output": 6927, - "Command::spawn": 6925, - "Command::stderr": 6937, - "Command::stdin": 6935, - "Command::stdout": 6936, - "`ChildStderr`": 4084, - "`ChildStdin`": 4221, - "`ChildStdout`": 4077, - "`Child`": 5388, - "`Command::new`": 6928, - "`Command`": 5336, + "Command::arg": 6967, + "Command::args": 6968, + "Command::output": 6965, + "Command::spawn": 6963, + "Command::stderr": 6975, + "Command::stdin": 6973, + "Command::stdout": 6974, + "`ChildStderr`": 4083, + "`ChildStdin`": 4220, + "`ChildStdout`": 4076, + "`Child`": 5393, + "`Command::new`": 6966, + "`Command`": 5341, "`Stdio`": 2566, "`abort`": 379, - "`exit`": 5342, - "crate::os::windows::process::CommandExt::raw_arg": 5958, - "io::Read": 2476, - "io::Write": 2486 + "`exit`": 5347, + "crate::os::windows::process::CommandExt::raw_arg": 5989, + "io::Read": 2474, + "io::Write": 2484 }, "name": "process", "span": { @@ -468414,14 +487590,14 @@ 1 ], "end": [ - 2585, + 2597, 2 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "5391": { + "5396": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -468430,21 +487606,21 @@ "crate_id": 0, "deprecation": null, "docs": "Unix-specific extensions to primitives in the [`std::process`] module.\n\n[`std::process`]: crate::process", - "id": 5391, + "id": 5396, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5349, - 5369, - 5385, - 5389 + 5354, + 5374, + 5390, + 5394 ] } }, "links": { - "crate::process": 5390 + "crate::process": 5395 }, "name": "process", "span": { @@ -468453,14 +487629,14 @@ 1 ], "end": [ - 592, + 594, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "public" }, - "5392": { + "5397": { "attrs": [ { "other": "#[allow(non_camel_case_types)]" @@ -468475,7 +487651,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5392, + "id": 5397, "inner": { "type_alias": { "generics": { @@ -468502,7 +487678,7 @@ }, "visibility": "public" }, - "5393": { + "5398": { "attrs": [ { "other": "#[allow(non_camel_case_types)]" @@ -468517,7 +487693,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5393, + "id": 5398, "inner": { "type_alias": { "generics": { @@ -468544,7 +487720,7 @@ }, "visibility": "public" }, - "5394": { + "5399": { "attrs": [ { "other": "#[allow(non_camel_case_types)]" @@ -468559,7 +487735,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5394, + "id": 5399, "inner": { "type_alias": { "generics": { @@ -468586,7 +487762,132 @@ }, "visibility": "public" }, - "5395": { + "54": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 54, + "inner": { + "use": { + "id": 55, + "is_glob": false, + "name": "Some", + "source": "crate::option::Option::Some" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 41, + 45 + ], + "end": [ + 41, + 49 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "540": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 540, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "$crate::fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "$crate::fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 1230, + 44 + ], + "end": [ + 1230, + 49 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5400": { "attrs": [ { "other": "#[doc(inline)]" @@ -468601,10 +487902,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5395, + "id": 5400, "inner": { "use": { - "id": 5396, + "id": 5401, "is_glob": false, "name": "pthread_t", "source": "super::platform::raw::pthread_t" @@ -468625,7 +487926,7 @@ }, "visibility": "public" }, - "5396": { + "5401": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"pthread_t\"}}]" @@ -468637,7 +487938,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5396, + "id": 5401, "inner": { "type_alias": { "generics": { @@ -468647,7 +487948,7 @@ "type": { "resolved_path": { "args": null, - "id": 4825, + "id": 4827, "path": "crate::os::raw::c_ulong" } } @@ -468668,7 +487969,7 @@ }, "visibility": "public" }, - "5397": { + "5402": { "attrs": [ { "other": "#[doc(inline)]" @@ -468683,10 +487984,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5397, + "id": 5402, "inner": { "use": { - "id": 5398, + "id": 5403, "is_glob": false, "name": "blkcnt_t", "source": "super::platform::raw::blkcnt_t" @@ -468707,7 +488008,7 @@ }, "visibility": "public" }, - "5398": { + "5403": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -468719,7 +488020,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5398, + "id": 5403, "inner": { "type_alias": { "generics": { @@ -468746,7 +488047,7 @@ }, "visibility": "public" }, - "5399": { + "5404": { "attrs": [ { "other": "#[doc(inline)]" @@ -468761,10 +488062,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5399, + "id": 5404, "inner": { "use": { - "id": 5400, + "id": 5405, "is_glob": false, "name": "time_t", "source": "super::platform::raw::time_t" @@ -468785,132 +488086,7 @@ }, "visibility": "public" }, - "54": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 54, - "inner": { - "use": { - "id": 55, - "is_glob": false, - "name": "Some", - "source": "crate::option::Option::Some" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 41, - 45 - ], - "end": [ - 41, - 49 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "540": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 540, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "$crate::fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "$crate::fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1204, - 44 - ], - "end": [ - 1204, - 49 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5400": { + "5405": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -468922,7 +488098,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5400, + "id": 5405, "inner": { "type_alias": { "generics": { @@ -468949,7 +488125,7 @@ }, "visibility": "public" }, - "5401": { + "5406": { "attrs": [ { "other": "#[doc(inline)]" @@ -468964,10 +488140,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5401, + "id": 5406, "inner": { "use": { - "id": 5402, + "id": 5407, "is_glob": false, "name": "blksize_t", "source": "super::platform::raw::blksize_t" @@ -468988,7 +488164,7 @@ }, "visibility": "public" }, - "5402": { + "5407": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -469000,7 +488176,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5402, + "id": 5407, "inner": { "type_alias": { "generics": { @@ -469027,7 +488203,7 @@ }, "visibility": "public" }, - "5403": { + "5408": { "attrs": [ { "other": "#[doc(inline)]" @@ -469042,10 +488218,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5403, + "id": 5408, "inner": { "use": { - "id": 5404, + "id": 5409, "is_glob": false, "name": "dev_t", "source": "super::platform::raw::dev_t" @@ -469066,7 +488242,7 @@ }, "visibility": "public" }, - "5404": { + "5409": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -469078,7 +488254,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5404, + "id": 5409, "inner": { "type_alias": { "generics": { @@ -469105,7 +488281,61 @@ }, "visibility": "public" }, - "5405": { + "541": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 541, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 370, + "path": "ThreadId" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 540 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1230, + 44 + ], + "end": [ + 1230, + 49 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5410": { "attrs": [ { "other": "#[doc(inline)]" @@ -469120,10 +488350,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5405, + "id": 5410, "inner": { "use": { - "id": 5406, + "id": 5411, "is_glob": false, "name": "ino_t", "source": "super::platform::raw::ino_t" @@ -469144,7 +488374,7 @@ }, "visibility": "public" }, - "5406": { + "5411": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -469156,7 +488386,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5406, + "id": 5411, "inner": { "type_alias": { "generics": { @@ -469183,7 +488413,7 @@ }, "visibility": "public" }, - "5407": { + "5412": { "attrs": [ { "other": "#[doc(inline)]" @@ -469198,10 +488428,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5407, + "id": 5412, "inner": { "use": { - "id": 5408, + "id": 5413, "is_glob": false, "name": "mode_t", "source": "super::platform::raw::mode_t" @@ -469222,7 +488452,7 @@ }, "visibility": "public" }, - "5408": { + "5413": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -469234,7 +488464,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5408, + "id": 5413, "inner": { "type_alias": { "generics": { @@ -469261,7 +488491,7 @@ }, "visibility": "public" }, - "5409": { + "5414": { "attrs": [ { "other": "#[doc(inline)]" @@ -469276,10 +488506,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5409, + "id": 5414, "inner": { "use": { - "id": 5410, + "id": 5415, "is_glob": false, "name": "nlink_t", "source": "super::platform::raw::nlink_t" @@ -469300,61 +488530,7 @@ }, "visibility": "public" }, - "541": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"thread_id\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 541, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 510, - "path": "ThreadId" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 540 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1204, - 44 - ], - "end": [ - 1204, - 49 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5410": { + "5415": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -469366,7 +488542,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5410, + "id": 5415, "inner": { "type_alias": { "generics": { @@ -469393,7 +488569,7 @@ }, "visibility": "public" }, - "5411": { + "5416": { "attrs": [ { "other": "#[doc(inline)]" @@ -469408,10 +488584,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5411, + "id": 5416, "inner": { "use": { - "id": 5412, + "id": 5417, "is_glob": false, "name": "off_t", "source": "super::platform::raw::off_t" @@ -469432,7 +488608,7 @@ }, "visibility": "public" }, - "5412": { + "5417": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -469444,7 +488620,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5412, + "id": 5417, "inner": { "type_alias": { "generics": { @@ -469471,7 +488647,7 @@ }, "visibility": "public" }, - "5413": { + "5418": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -469486,24 +488662,24 @@ "since": "1.8.0" }, "docs": "Unix-specific primitives available on all unix platforms.", - "id": 5413, + "id": 5418, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5392, - 5393, - 5394, - 5395, 5397, + 5398, 5399, - 5401, - 5403, - 5405, - 5407, - 5409, - 5411 + 5400, + 5402, + 5404, + 5406, + 5408, + 5410, + 5412, + 5414, + 5416 ] } }, @@ -469522,7 +488698,7 @@ }, "visibility": "public" }, - "5414": { + "5419": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" @@ -469531,7 +488707,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts the raw pthread_t without taking ownership", - "id": 5414, + "id": 5419, "inner": { "function": { "generics": { @@ -469586,7 +488762,7 @@ }, "visibility": "default" }, - "5415": { + "5420": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" @@ -469595,7 +488771,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes the thread, returning the raw pthread_t\n\nThis function **transfers ownership** of the underlying pthread_t to\nthe caller. Callers are then the unique owners of the pthread_t and\nmust either detach or join the pthread_t once it's no longer needed.", - "id": 5415, + "id": 5420, "inner": { "function": { "generics": { @@ -469644,7 +488820,7 @@ }, "visibility": "default" }, - "5416": { + "5421": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" @@ -469653,7 +488829,7 @@ "crate_id": 0, "deprecation": null, "docs": "Unix-specific extensions to primitives in the [`std::thread`] module.\n\n[`std::thread`]: crate::thread", - "id": 5416, + "id": 5421, "inner": { "module": { "is_crate": false, @@ -469681,7 +488857,7 @@ }, "visibility": "public" }, - "5417": { + "5422": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -469693,10 +488869,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5417, + "id": 5422, "inner": { "use": { - "id": 2247, + "id": 2245, "is_glob": false, "name": "OsStrExt", "source": "super::ffi::OsStrExt" @@ -469717,7 +488893,7 @@ }, "visibility": "public" }, - "5418": { + "5423": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -469729,10 +488905,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5418, + "id": 5423, "inner": { "use": { - "id": 2089, + "id": 2087, "is_glob": false, "name": "OsStringExt", "source": "super::ffi::OsStringExt" @@ -469753,7 +488929,7 @@ }, "visibility": "public" }, - "5419": { + "5424": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -469765,7 +488941,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5419, + "id": 5424, "inner": { "use": { "id": 2757, @@ -469789,7 +488965,7 @@ }, "visibility": "public" }, - "5420": { + "5425": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -469801,10 +488977,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5420, + "id": 5425, "inner": { "use": { - "id": 2516, + "id": 2515, "is_glob": false, "name": "FileExt", "source": "super::fs::FileExt" @@ -469825,7 +489001,7 @@ }, "visibility": "public" }, - "5421": { + "5426": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -469837,7 +489013,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5421, + "id": 5426, "inner": { "use": { "id": 2921, @@ -469861,7 +489037,7 @@ }, "visibility": "public" }, - "5422": { + "5427": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -469873,7 +489049,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5422, + "id": 5427, "inner": { "use": { "id": 2670, @@ -469897,7 +489073,7 @@ }, "visibility": "public" }, - "5423": { + "5428": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -469909,7 +489085,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5423, + "id": 5428, "inner": { "use": { "id": 2800, @@ -469933,7 +489109,7 @@ }, "visibility": "public" }, - "5424": { + "5429": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -469945,7 +489121,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5424, + "id": 5429, "inner": { "use": { "id": 2854, @@ -469969,7 +489145,82 @@ }, "visibility": "public" }, - "5425": { + "543": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Extracts a handle to the underlying thread.\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet join_handle: thread::JoinHandle<_> = builder.spawn(|| {\n // some work here\n}).unwrap();\n\nlet thread = join_handle.thread();\nprintln!(\"thread id: {:?}\", thread.id());\n```", + "id": 543, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + } + } + } + } + } + }, + "links": {}, + "name": "thread", + "span": { + "begin": [ + 1912, + 5 + ], + "end": [ + 1914, + 6 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5430": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -469981,7 +489232,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5425, + "id": 5430, "inner": { "use": { "id": 2560, @@ -470005,7 +489256,7 @@ }, "visibility": "public" }, - "5426": { + "5431": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -470017,7 +489268,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5426, + "id": 5431, "inner": { "use": { "id": 2550, @@ -470041,7 +489292,7 @@ }, "visibility": "public" }, - "5427": { + "5432": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -470053,7 +489304,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5427, + "id": 5432, "inner": { "use": { "id": 2558, @@ -470077,7 +489328,7 @@ }, "visibility": "public" }, - "5428": { + "5433": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -470089,7 +489340,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5428, + "id": 5433, "inner": { "use": { "id": 2553, @@ -470113,7 +489364,7 @@ }, "visibility": "public" }, - "5429": { + "5434": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -470125,7 +489376,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5429, + "id": 5434, "inner": { "use": { "id": 2556, @@ -470149,82 +489400,7 @@ }, "visibility": "public" }, - "543": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Extracts a handle to the underlying thread.\n\n# Examples\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet join_handle: thread::JoinHandle<_> = builder.spawn(|| {\n // some work here\n}).unwrap();\n\nlet thread = join_handle.thread();\nprintln!(\"thread id: {:?}\", thread.id());\n```", - "id": 543, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - } - } - } - } - } - }, - "links": {}, - "name": "thread", - "span": { - "begin": [ - 1873, - 5 - ], - "end": [ - 1875, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5430": { + "5435": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -470236,7 +489412,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5430, + "id": 5435, "inner": { "use": { "id": 2562, @@ -470260,7 +489436,7 @@ }, "visibility": "public" }, - "5431": { + "5436": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -470272,7 +489448,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5431, + "id": 5436, "inner": { "use": { "id": 2548, @@ -470296,7 +489472,7 @@ }, "visibility": "public" }, - "5432": { + "5437": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -470308,10 +489484,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5432, + "id": 5437, "inner": { "use": { - "id": 5385, + "id": 5390, "is_glob": false, "name": "ChildExt", "source": "super::process::ChildExt" @@ -470332,7 +489508,7 @@ }, "visibility": "public" }, - "5433": { + "5438": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -470344,10 +489520,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5433, + "id": 5438, "inner": { "use": { - "id": 5349, + "id": 5354, "is_glob": false, "name": "CommandExt", "source": "super::process::CommandExt" @@ -470368,7 +489544,7 @@ }, "visibility": "public" }, - "5434": { + "5439": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -470380,10 +489556,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5434, + "id": 5439, "inner": { "use": { - "id": 5369, + "id": 5374, "is_glob": false, "name": "ExitStatusExt", "source": "super::process::ExitStatusExt" @@ -470404,7 +489580,93 @@ }, "visibility": "public" }, - "5435": { + "544": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Gets the thread's name.\n\nFor more information about named threads, see\n[this module-level documentation][naming-threads].\n\n# Examples\n\nThreads by default have no name specified:\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet handler = builder.spawn(|| {\n assert!(thread::current().name().is_none());\n}).unwrap();\n\nhandler.join().unwrap();\n```\n\nThread with a specified name:\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new()\n .name(\"foo\".into());\n\nlet handler = builder.spawn(|| {\n assert_eq!(thread::current().name(), Some(\"foo\"))\n}).unwrap();\n\nhandler.join().unwrap();\n```\n\n[naming-threads]: ./index.html#naming-threads", + "id": 544, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "name", + "span": { + "begin": [ + 1618, + 5 + ], + "end": [ + 1626, + 6 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5440": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -470416,7 +489678,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5435, + "id": 5440, "inner": { "use": { "id": 590, @@ -470440,7 +489702,7 @@ }, "visibility": "public" }, - "5436": { + "5441": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -470449,17 +489711,12 @@ "crate_id": 0, "deprecation": null, "docs": "A prelude for conveniently writing platform-specific code.\n\nIncludes all extension traits, and some important type definitions.", - "id": 5436, + "id": 5441, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5417, - 5418, - 5419, - 5420, - 5421, 5422, 5423, 5424, @@ -470473,7 +489730,12 @@ 5432, 5433, 5434, - 5435 + 5435, + 5436, + 5437, + 5438, + 5439, + 5440 ] } }, @@ -470492,7 +489754,7 @@ }, "visibility": "public" }, - "5437": { + "5442": { "attrs": [ { "other": "#[(not(all(doc,\nany(all(target_arch = \"wasm32\", not(target_os = \"wasi\")),\nall(target_vendor = \"fortanix\", target_env = \"sgx\")))))]" @@ -470510,26 +489772,26 @@ "crate_id": 0, "deprecation": null, "docs": "Platform-specific extensions to `std` for Unix platforms.\n\nProvides access to platform-level information on Unix platforms, and\nexposes Unix-specific functions that would otherwise be inappropriate as\npart of the core `std` library.\n\nIt exposes more ways to deal with platform-specific strings ([`OsStr`],\n[`OsString`]), allows to set permissions more granularly, extract low-level\nfile descriptors from files and sockets, and has platform-specific helpers\nfor spawning processes.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::os::unix::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let f = File::create(\"foo.txt\")?;\n let fd = f.as_raw_fd();\n\n // use fd with native unix bindings\n\n Ok(())\n}\n```\n\n[`OsStr`]: crate::ffi::OsStr\n[`OsString`]: crate::ffi::OsString", - "id": 5437, + "id": 5442, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 4887, - 4927, - 4930, - 4962, - 5391, - 5413, - 5416, - 5436 + 4890, + 4932, + 4935, + 4967, + 5396, + 5418, + 5421, + 5441 ] } }, "links": { - "crate::ffi::OsStr": 1720, - "crate::ffi::OsString": 1709 + "crate::ffi::OsStr": 1719, + "crate::ffi::OsString": 1708 }, "name": "unix", "span": { @@ -470545,7 +489807,7 @@ }, "visibility": "public" }, - "5438": { + "5443": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -470560,7 +489822,7 @@ "since": "1.8.0" }, "docs": "Gain a reference to the underlying `stat` structure which contains\nthe raw information returned by the OS.\n\nThe contents of the returned [`stat`] are **not** consistent across\nUnix platforms. The `os::unix::fs::MetadataExt` trait contains the\ncross-Unix abstractions contained within the raw stat.\n\n[`stat`]: struct@crate::os::linux::raw::stat\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n let stat = meta.as_raw_stat();\n Ok(())\n}\n```", - "id": 5438, + "id": 5443, "inner": { "function": { "generics": { @@ -470623,7 +489885,7 @@ }, "visibility": "default" }, - "5439": { + "5444": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -470632,7 +489894,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the device ID on which this file resides.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_dev());\n Ok(())\n}\n```", - "id": 5439, + "id": 5444, "inner": { "function": { "generics": { @@ -470683,93 +489945,7 @@ }, "visibility": "default" }, - "544": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Gets the thread's name.\n\nFor more information about named threads, see\n[this module-level documentation][naming-threads].\n\n# Examples\n\nThreads by default have no name specified:\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new();\n\nlet handler = builder.spawn(|| {\n assert!(thread::current().name().is_none());\n}).unwrap();\n\nhandler.join().unwrap();\n```\n\nThread with a specified name:\n\n```\nuse std::thread;\n\nlet builder = thread::Builder::new()\n .name(\"foo\".into());\n\nlet handler = builder.spawn(|| {\n assert_eq!(thread::current().name(), Some(\"foo\"))\n}).unwrap();\n\nhandler.join().unwrap();\n```\n\n[naming-threads]: ./index.html#naming-threads", - "id": 544, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - } - }, - "links": {}, - "name": "name", - "span": { - "begin": [ - 1579, - 5 - ], - "end": [ - 1587, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5440": { + "5445": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -470778,7 +489954,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the inode number.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_ino());\n Ok(())\n}\n```", - "id": 5440, + "id": 5445, "inner": { "function": { "generics": { @@ -470829,7 +490005,7 @@ }, "visibility": "default" }, - "5441": { + "5446": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -470838,7 +490014,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the file type and mode.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_mode());\n Ok(())\n}\n```", - "id": 5441, + "id": 5446, "inner": { "function": { "generics": { @@ -470889,7 +490065,7 @@ }, "visibility": "default" }, - "5442": { + "5447": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -470898,7 +490074,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of hard links to file.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_nlink());\n Ok(())\n}\n```", - "id": 5442, + "id": 5447, "inner": { "function": { "generics": { @@ -470949,7 +490125,7 @@ }, "visibility": "default" }, - "5443": { + "5448": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -470958,7 +490134,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the user ID of the file owner.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_uid());\n Ok(())\n}\n```", - "id": 5443, + "id": 5448, "inner": { "function": { "generics": { @@ -471009,7 +490185,7 @@ }, "visibility": "default" }, - "5444": { + "5449": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -471018,67 +490194,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the group ID of the file owner.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_gid());\n Ok(())\n}\n```", - "id": 5444, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "st_gid", - "span": { - "begin": [ - 145, - 5 - ], - "end": [ - 145, - 29 - ], - "filename": "std/src/os/linux/fs.rs" - }, - "visibility": "default" - }, - "5445": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the device ID that this file represents. Only relevant for special file.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_rdev());\n Ok(())\n}\n```", - "id": 5445, + "id": 5449, "inner": { "function": { "generics": { @@ -471109,27 +490225,92 @@ ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "u32" } } } }, "links": {}, - "name": "st_rdev", + "name": "st_gid", "span": { "begin": [ - 162, + 145, 5 ], "end": [ - 162, - 30 + 145, + 29 ], "filename": "std/src/os/linux/fs.rs" }, "visibility": "default" }, - "5446": { + "545": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 97523, is_soft: false}, feature: \"thread_raw\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Constructs a `Thread` from a raw pointer.\n\nThe raw pointer must have been previously returned\nby a call to [`Thread::into_raw`].\n\n# Safety\n\nThis function is unsafe because improper use may lead\nto memory unsafety, even if the returned `Thread` is never\naccessed.\n\nCreating a `Thread` from a pointer other than one returned\nfrom [`Thread::into_raw`] is **undefined behavior**.\n\nCalling this function twice on the same raw pointer can lead\nto a double-free if both `Thread` instances are dropped.", + "id": 545, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "ptr", + { + "raw_pointer": { + "is_mutable": false, + "type": { + "tuple": [] + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + } + } + } + }, + "links": { + "`Thread::into_raw`": 546 + }, + "name": "from_raw", + "span": { + "begin": [ + 1672, + 5 + ], + "end": [ + 1675, + 6 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5450": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -471137,8 +490318,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the size of the file (if it is a regular file or a symbolic link) in bytes.\n\nThe size of a symbolic link is the length of the pathname it contains,\nwithout a terminating null byte.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_size());\n Ok(())\n}\n```", - "id": 5446, + "docs": "Returns the device ID that this file represents. Only relevant for special file.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_rdev());\n Ok(())\n}\n```", + "id": 5450, "inner": { "function": { "generics": { @@ -471175,21 +490356,21 @@ } }, "links": {}, - "name": "st_size", + "name": "st_rdev", "span": { "begin": [ - 182, + 162, 5 ], "end": [ - 182, + 162, 30 ], "filename": "std/src/os/linux/fs.rs" }, "visibility": "default" }, - "5447": { + "5451": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -471197,8 +490378,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the last access time of the file, in seconds since Unix Epoch.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_atime());\n Ok(())\n}\n```", - "id": 5447, + "docs": "Returns the size of the file (if it is a regular file or a symbolic link) in bytes.\n\nThe size of a symbolic link is the length of the pathname it contains,\nwithout a terminating null byte.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_size());\n Ok(())\n}\n```", + "id": 5451, "inner": { "function": { "generics": { @@ -471229,27 +490410,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "i64" + "primitive": "u64" } } } }, "links": {}, - "name": "st_atime", + "name": "st_size", "span": { "begin": [ - 199, + 182, 5 ], "end": [ - 199, - 31 + 182, + 30 ], "filename": "std/src/os/linux/fs.rs" }, "visibility": "default" }, - "5448": { + "5452": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -471257,8 +490438,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the last access time of the file, in nanoseconds since [`st_atime`].\n\n[`st_atime`]: Self::st_atime\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_atime_nsec());\n Ok(())\n}\n```", - "id": 5448, + "docs": "Returns the last access time of the file, in seconds since Unix Epoch.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_atime());\n Ok(())\n}\n```", + "id": 5452, "inner": { "function": { "generics": { @@ -471294,24 +490475,22 @@ } } }, - "links": { - "Self::st_atime": 5447 - }, - "name": "st_atime_nsec", + "links": {}, + "name": "st_atime", "span": { "begin": [ - 218, + 199, 5 ], "end": [ - 218, - 36 + 199, + 31 ], "filename": "std/src/os/linux/fs.rs" }, "visibility": "default" }, - "5449": { + "5453": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -471319,8 +490498,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the last modification time of the file, in seconds since Unix Epoch.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_mtime());\n Ok(())\n}\n```", - "id": 5449, + "docs": "Returns the last access time of the file, in nanoseconds since [`st_atime`].\n\n[`st_atime`]: Self::st_atime\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_atime_nsec());\n Ok(())\n}\n```", + "id": 5453, "inner": { "function": { "generics": { @@ -471356,53 +490535,56 @@ } } }, - "links": {}, - "name": "st_mtime", + "links": { + "Self::st_atime": 5452 + }, + "name": "st_atime_nsec", "span": { "begin": [ - 235, + 218, 5 ], "end": [ - 235, - 31 + 218, + 36 ], "filename": "std/src/os/linux/fs.rs" }, "visibility": "default" }, - "545": { + "5454": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 97523, is_soft: false}, feature: \"thread_raw\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Constructs a `Thread` from a raw pointer.\n\nThe raw pointer must have been previously returned\nby a call to [`Thread::into_raw`].\n\n# Safety\n\nThis function is unsafe because improper use may lead\nto memory unsafety, even if the returned `Thread` is never\naccessed.\n\nCreating a `Thread` from a pointer other than one returned\nfrom [`Thread::into_raw`] is **undefined behavior**.\n\nCalling this function twice on the same raw pointer can lead\nto a double-free if both `Thread` instances are dropped.", - "id": 545, + "docs": "Returns the last modification time of the file, in seconds since Unix Epoch.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_mtime());\n Ok(())\n}\n```", + "id": 5454, "inner": { "function": { "generics": { "params": [], "where_predicates": [] }, - "has_body": true, + "has_body": false, "header": { "abi": "Rust", "is_async": false, "is_const": false, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ [ - "ptr", + "self", { - "raw_pointer": { + "borrowed_ref": { "is_mutable": false, + "lifetime": null, "type": { - "tuple": [] + "generic": "Self" } } } @@ -471410,33 +490592,27 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } + "primitive": "i64" } } } }, - "links": { - "`Thread::into_raw`": 546 - }, - "name": "from_raw", + "links": {}, + "name": "st_mtime", "span": { "begin": [ - 1633, + 235, 5 ], "end": [ - 1636, - 6 + 235, + 31 ], - "filename": "std/src/thread/mod.rs" + "filename": "std/src/os/linux/fs.rs" }, - "visibility": "public" + "visibility": "default" }, - "5450": { + "5455": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -471445,7 +490621,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the last modification time of the file, in nanoseconds since [`st_mtime`].\n\n[`st_mtime`]: Self::st_mtime\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_mtime_nsec());\n Ok(())\n}\n```", - "id": 5450, + "id": 5455, "inner": { "function": { "generics": { @@ -471482,7 +490658,7 @@ } }, "links": { - "Self::st_mtime": 5449 + "Self::st_mtime": 5454 }, "name": "st_mtime_nsec", "span": { @@ -471498,7 +490674,7 @@ }, "visibility": "default" }, - "5451": { + "5456": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -471507,7 +490683,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the last status change time of the file, in seconds since Unix Epoch.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_ctime());\n Ok(())\n}\n```", - "id": 5451, + "id": 5456, "inner": { "function": { "generics": { @@ -471558,7 +490734,7 @@ }, "visibility": "default" }, - "5452": { + "5457": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -471567,7 +490743,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the last status change time of the file, in nanoseconds since [`st_ctime`].\n\n[`st_ctime`]: Self::st_ctime\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_ctime_nsec());\n Ok(())\n}\n```", - "id": 5452, + "id": 5457, "inner": { "function": { "generics": { @@ -471604,7 +490780,7 @@ } }, "links": { - "Self::st_ctime": 5451 + "Self::st_ctime": 5456 }, "name": "st_ctime_nsec", "span": { @@ -471620,7 +490796,7 @@ }, "visibility": "default" }, - "5453": { + "5458": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -471629,7 +490805,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the \"preferred\" block size for efficient filesystem I/O.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_blksize());\n Ok(())\n}\n```", - "id": 5453, + "id": 5458, "inner": { "function": { "generics": { @@ -471680,7 +490856,7 @@ }, "visibility": "default" }, - "5454": { + "5459": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"metadata_ext2\"}}]" @@ -471689,7 +490865,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the number of blocks allocated to the file, 512-byte units.\n\n# Examples\n\n```no_run\nuse std::fs;\nuse std::io;\nuse std::os::linux::fs::MetadataExt;\n\nfn main() -> io::Result<()> {\n let meta = fs::metadata(\"some_file\")?;\n println!(\"{}\", meta.st_blocks());\n Ok(())\n}\n```", - "id": 5454, + "id": 5459, "inner": { "function": { "generics": { @@ -471740,7 +490916,68 @@ }, "visibility": "default" }, - "5455": { + "546": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 97523, is_soft: false}, feature: \"thread_raw\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Consumes the `Thread`, returning a raw pointer.\n\nTo avoid a memory leak the pointer must be converted\nback into a `Thread` using [`Thread::from_raw`]. The pointer is\nguaranteed to be aligned to at least 8 bytes.\n\n# Examples\n\n```\n#![feature(thread_raw)]\n\nuse std::thread::{self, Thread};\n\nlet thread = thread::current();\nlet id = thread.id();\nlet ptr = Thread::into_raw(thread);\nunsafe {\n assert_eq!(Thread::from_raw(ptr).id(), id);\n}\n```", + "id": 546, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "raw_pointer": { + "is_mutable": false, + "type": { + "tuple": [] + } + } + } + } + } + }, + "links": { + "`Thread::from_raw`": 545 + }, + "name": "into_raw", + "span": { + "begin": [ + 1649, + 5 + ], + "end": [ + 1653, + 6 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5460": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -471749,7 +490986,7 @@ "crate_id": 0, "deprecation": null, "docs": "Linux-specific extensions to primitives in the [`std::fs`] module.\n\n[`std::fs`]: crate::fs", - "id": 5455, + "id": 5460, "inner": { "module": { "is_crate": false, @@ -471760,7 +490997,7 @@ } }, "links": { - "crate::fs": 2424 + "crate::fs": 2422 }, "name": "fs", "span": { @@ -471776,7 +491013,7 @@ }, "visibility": "public" }, - "5456": { + "5461": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -471785,10 +491022,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5456, + "id": 5461, "inner": { "use": { - "id": 4958, + "id": 4963, "is_glob": false, "name": "SocketAddrExt", "source": "crate::os::net::linux_ext::addr::SocketAddrExt" @@ -471809,7 +491046,7 @@ }, "visibility": "public" }, - "5457": { + "5462": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -471818,10 +491055,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5457, + "id": 5462, "inner": { "use": { - "id": 5179, + "id": 5184, "is_glob": false, "name": "UnixSocketExt", "source": "crate::os::net::linux_ext::socket::UnixSocketExt" @@ -471842,7 +491079,7 @@ }, "visibility": "public" }, - "5458": { + "5463": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"tcp_quickack\"}}]" @@ -471851,10 +491088,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5458, + "id": 5463, "inner": { "use": { - "id": 4554, + "id": 4555, "is_glob": false, "name": "TcpStreamExt", "source": "crate::os::net::linux_ext::tcp::TcpStreamExt" @@ -471875,7 +491112,7 @@ }, "visibility": "public" }, - "5459": { + "5464": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -471884,15 +491121,15 @@ "crate_id": 0, "deprecation": null, "docs": "Linux-specific networking functionality.", - "id": 5459, + "id": 5464, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5456, - 5457, - 5458 + 5461, + 5462, + 5463 ] } }, @@ -471911,73 +491148,12 @@ }, "visibility": "public" }, - "546": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 97523, is_soft: false}, feature: \"thread_raw\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Consumes the `Thread`, returning a raw pointer.\n\nTo avoid a memory leak the pointer must be converted\nback into a `Thread` using [`Thread::from_raw`]. The pointer is\nguaranteed to be aligned to at least 8 bytes.\n\n# Examples\n\n```\n#![feature(thread_raw)]\n\nuse std::thread::{self, Thread};\n\nlet thread = thread::current();\nlet id = thread.id();\nlet ptr = Thread::into_raw(thread);\nunsafe {\n assert_eq!(Thread::from_raw(ptr).id(), id);\n}\n```", - "id": 546, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "raw_pointer": { - "is_mutable": false, - "type": { - "tuple": [] - } - } - } - } - } - }, - "links": { - "`Thread::from_raw`": 545 - }, - "name": "into_raw", - "span": { - "begin": [ - 1610, - 5 - ], - "end": [ - 1614, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5461": { + "5466": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Sets whether a [`PidFd`](struct@PidFd) should be created for the [`Child`]\nspawned by this [`Command`].\nBy default, no pidfd will be created.\n\nThe pidfd can be retrieved from the child with [`pidfd`] or [`into_pidfd`].\n\nA pidfd will only be created if it is possible to do so\nin a guaranteed race-free manner. Otherwise, [`pidfd`] will return an error.\n\nIf a pidfd has been successfully created and not been taken from the `Child`\nthen calls to `kill()`, `wait()` and `try_wait()` will use the pidfd\ninstead of the pid. This can prevent pid recycling races, e.g.\nthose caused by rogue libraries in the same process prematurely reaping\nzombie children via `waitpid(-1, ...)` calls.\n\n[`Command`]: process::Command\n[`Child`]: process::Child\n[`pidfd`]: fn@ChildExt::pidfd\n[`into_pidfd`]: ChildExt::into_pidfd", - "id": 5461, + "id": 5466, "inner": { "function": { "generics": { @@ -472020,7 +491196,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -472030,11 +491206,11 @@ } }, "links": { - "ChildExt::into_pidfd": 5463, - "fn@ChildExt::pidfd": 5462, - "process::Child": 5388, - "process::Command": 5336, - "struct@PidFd": 5464 + "ChildExt::into_pidfd": 5468, + "fn@ChildExt::pidfd": 5467, + "process::Child": 5393, + "process::Command": 5341, + "struct@PidFd": 5469 }, "name": "create_pidfd", "span": { @@ -472050,12 +491226,12 @@ }, "visibility": "default" }, - "5462": { + "5467": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Obtains a reference to the [`PidFd`] created for this [`Child`], if available.\n\nA pidfd will only be available if its creation was requested with\n[`create_pidfd`] when the corresponding [`Command`] was created.\n\nEven if requested, a pidfd may not be available due to an older\nversion of Linux being in use, or if some other error occurred.\n\n[`Command`]: process::Command\n[`create_pidfd`]: CommandExt::create_pidfd\n[`Child`]: process::Child", - "id": 5462, + "id": 5467, "inner": { "function": { "generics": { @@ -472098,7 +491274,7 @@ "type": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } } @@ -472109,7 +491285,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -472117,10 +491293,10 @@ } }, "links": { - "CommandExt::create_pidfd": 5461, - "`PidFd`": 5464, - "process::Child": 5388, - "process::Command": 5336 + "CommandExt::create_pidfd": 5466, + "`PidFd`": 5469, + "process::Child": 5393, + "process::Command": 5341 }, "name": "pidfd", "span": { @@ -472136,12 +491312,12 @@ }, "visibility": "default" }, - "5463": { + "5468": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns the [`PidFd`] created for this [`Child`], if available.\nOtherwise self is returned.\n\nA pidfd will only be available if its creation was requested with\n[`create_pidfd`] when the corresponding [`Command`] was created.\n\nTaking ownership of the PidFd consumes the Child to avoid pid reuse\nraces. Use [`pidfd`] and [`BorrowedFd::try_clone_to_owned`] if\nyou don't want to disassemble the Child yet.\n\nEven if requested, a pidfd may not be available due to an older\nversion of Linux being in use, or if some other error occurred.\n\n[`Command`]: process::Command\n[`create_pidfd`]: CommandExt::create_pidfd\n[`pidfd`]: ChildExt::pidfd\n[`Child`]: process::Child", - "id": 5463, + "id": 5468, "inner": { "function": { "generics": { @@ -472196,7 +491372,7 @@ "type": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } } @@ -472218,11 +491394,11 @@ } }, "links": { - "ChildExt::pidfd": 5462, - "CommandExt::create_pidfd": 5461, - "`BorrowedFd::try_clone_to_owned`": 5499, - "process::Child": 5388, - "process::Command": 5336 + "ChildExt::pidfd": 5467, + "CommandExt::create_pidfd": 5466, + "`BorrowedFd::try_clone_to_owned`": 5504, + "process::Child": 5393, + "process::Command": 5341 }, "name": "into_pidfd", "span": { @@ -472238,7 +491414,7 @@ }, "visibility": "default" }, - "5464": { + "5469": { "attrs": [ { "repr": { @@ -472252,7 +491428,7 @@ "crate_id": 0, "deprecation": null, "docs": "This type represents a file descriptor that refers to a process.\n\nA `PidFd` can be obtained by setting the corresponding option on [`Command`]\nwith [`create_pidfd`]. Subsequently, the created pidfd can be retrieved\nfrom the [`Child`] by calling [`pidfd`] or [`into_pidfd`].\n\nExample:\n```no_run\n#![feature(linux_pidfd)]\nuse std::os::linux::process::{CommandExt, ChildExt};\nuse std::process::Command;\n\nlet mut child = Command::new(\"echo\")\n .create_pidfd(true)\n .spawn()\n .expect(\"Failed to spawn child\");\n\nlet pidfd = child\n .into_pidfd()\n .expect(\"Failed to retrieve pidfd\");\n\n// The file descriptor will be closed when `pidfd` is dropped.\n```\nRefer to the man page of [`pidfd_open(2)`] for further details.\n\n[`Command`]: process::Command\n[`create_pidfd`]: CommandExt::create_pidfd\n[`Child`]: process::Child\n[`pidfd`]: fn@ChildExt::pidfd\n[`into_pidfd`]: ChildExt::into_pidfd\n[`pidfd_open(2)`]: https://man7.org/linux/man-pages/man2/pidfd_open.2.html", - "id": 5464, + "id": 5469, "inner": { "struct": { "generics": { @@ -472260,11 +491436,6 @@ "where_predicates": [] }, "impls": [ - 5471, - 5472, - 5473, - 5474, - 5475, 5476, 5477, 5478, @@ -472274,13 +491445,18 @@ 5482, 5483, 5484, + 5485, 5486, + 5487, 5488, - 5490, - 5492, - 5494, - 5496, - 5498 + 5489, + 5491, + 5493, + 5495, + 5497, + 5499, + 5501, + 5503 ], "kind": { "plain": { @@ -472291,11 +491467,11 @@ } }, "links": { - "ChildExt::into_pidfd": 5463, - "CommandExt::create_pidfd": 5461, - "fn@ChildExt::pidfd": 5462, - "process::Child": 5388, - "process::Command": 5336 + "ChildExt::into_pidfd": 5468, + "CommandExt::create_pidfd": 5466, + "fn@ChildExt::pidfd": 5467, + "process::Child": 5393, + "process::Command": 5341 }, "name": "PidFd", "span": { @@ -472311,7 +491487,56 @@ }, "visibility": "public" }, - "5465": { + "547": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 547, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 506, + 510, + 544, + 546, + 545 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1471, + 1 + ], + "end": [ + 1686, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5470": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"child_kill\")]" @@ -472326,7 +491551,7 @@ "crate_id": 0, "deprecation": null, "docs": "Forces the child process to exit. If the child has already exited, `Ok(())`\nis returned.\n\nThe mapping to [`ErrorKind`]s is not part of the compatibility contract of the function.\n\nThis is equivalent to sending a SIGKILL on Unix platforms.\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nlet mut command = Command::new(\"yes\");\nif let Ok(mut child) = command.spawn() {\n child.kill().expect(\"command couldn't be killed\");\n} else {\n println!(\"yes command didn't start\");\n}\n```\n\n[`ErrorKind`]: io::ErrorKind\n[`InvalidInput`]: io::ErrorKind::InvalidInput", - "id": 5465, + "id": 5470, "inner": { "function": { "generics": { @@ -472370,7 +491595,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -472379,28 +491604,28 @@ }, "links": { "io::ErrorKind": 2774, - "io::ErrorKind::InvalidInput": 2438 + "io::ErrorKind::InvalidInput": 2436 }, "name": "kill", "span": { "begin": [ - 2209, + 2220, 5 ], "end": [ - 2211, + 2222, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "5466": { + "5471": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Forces the child process to exit.\n\nUnlike [`Child::kill`] it is possible to attempt to kill\nreaped children since PidFd does not suffer from pid recycling\nraces. But doing so will return an Error.\n\n[`Child::kill`]: process::Child::kill", - "id": 5466, + "id": 5471, "inner": { "function": { "generics": { @@ -472444,7 +491669,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -472452,7 +491677,7 @@ } }, "links": { - "process::Child::kill": 5465 + "process::Child::kill": 5470 }, "name": "kill", "span": { @@ -472468,7 +491693,7 @@ }, "visibility": "public" }, - "5467": { + "5472": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -472477,7 +491702,7 @@ "crate_id": 0, "deprecation": null, "docs": "Waits for the child to exit completely, returning the status that it\nexited with. This function will continue to have the same return value\nafter it has been called at least once.\n\nThe stdin handle to the child process, if any, will be closed\nbefore waiting. This helps avoid deadlock: it ensures that the\nchild does not block waiting for input from the parent, while\nthe parent waits for the child to exit.\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nlet mut command = Command::new(\"ls\");\nif let Ok(mut child) = command.spawn() {\n child.wait().expect(\"command wasn't running\");\n println!(\"Child has finished its execution!\");\n} else {\n println!(\"ls command didn't start\");\n}\n```", - "id": 5467, + "id": 5472, "inner": { "function": { "generics": { @@ -472516,7 +491741,7 @@ "type": { "resolved_path": { "args": null, - "id": 5366, + "id": 5371, "path": "ExitStatus" } } @@ -472525,7 +491750,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -472536,23 +491761,23 @@ "name": "wait", "span": { "begin": [ - 2257, + 2268, 5 ], "end": [ - 2260, + 2271, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "5468": { + "5473": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Waits for the child to exit completely, returning the status that it exited with.\n\nUnlike [`Child::wait`] it does not ensure that the stdin handle is closed.\nAdditionally it will not return an `ExitStatus` if the child\nhas already been reaped. Instead an error will be returned.\n\n[`Child::wait`]: process::Child::wait", - "id": 5468, + "id": 5473, "inner": { "function": { "generics": { @@ -472591,7 +491816,7 @@ "type": { "resolved_path": { "args": null, - "id": 5366, + "id": 5371, "path": "ExitStatus" } } @@ -472600,7 +491825,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "Result" } } @@ -472608,7 +491833,7 @@ } }, "links": { - "process::Child::wait": 5467 + "process::Child::wait": 5472 }, "name": "wait", "span": { @@ -472624,7 +491849,7 @@ }, "visibility": "public" }, - "5469": { + "5474": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 18, patch: 0})}, feature: \"process_try_wait\"}}]" @@ -472633,7 +491858,7 @@ "crate_id": 0, "deprecation": null, "docs": "Attempts to collect the exit status of the child if it has already\nexited.\n\nThis function will not block the calling thread and will only\ncheck to see if the child process has exited or not. If the child has\nexited then on Unix the process ID is reaped. This function is\nguaranteed to repeatedly return a successful exit status so long as the\nchild has already exited.\n\nIf the child has exited, then `Ok(Some(status))` is returned. If the\nexit status is not available at this time then `Ok(None)` is returned.\nIf an error occurs, then that error is returned.\n\nNote that unlike `wait`, this function will not attempt to drop stdin.\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nlet mut child = Command::new(\"ls\").spawn()?;\n\nmatch child.try_wait() {\n Ok(Some(status)) => println!(\"exited with: {status}\"),\n Ok(None) => {\n println!(\"status not ready yet, let's really wait\");\n let res = child.wait();\n println!(\"result: {res:?}\");\n }\n Err(e) => println!(\"error attempting to wait: {e}\"),\n}\n# std::io::Result::Ok(())\n```", - "id": 5469, + "id": 5474, "inner": { "function": { "generics": { @@ -472678,7 +491903,97 @@ "type": { "resolved_path": { "args": null, - "id": 5366, + "id": 5371, + "path": "ExitStatus" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "try_wait", + "span": { + "begin": [ + 2307, + 5 + ], + "end": [ + 2309, + 6 + ], + "filename": "std/src/process.rs" + }, + "visibility": "public" + }, + "5475": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to collect the exit status of the child if it has already exited.\n\nUnlike [`Child::try_wait`] this method will return an Error\nif the child has already been reaped.\n\n[`Child::try_wait`]: process::Child::try_wait", + "id": 5475, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 5371, "path": "ExitStatus" } } @@ -472696,42 +492011,44 @@ "constraints": [] } }, - "id": 468, - "path": "io::Result" + "id": 469, + "path": "Result" } } } } }, - "links": {}, + "links": { + "process::Child::try_wait": 5474 + }, "name": "try_wait", "span": { "begin": [ - 2296, + 84, 5 ], "end": [ - 2298, + 86, 6 ], - "filename": "std/src/process.rs" + "filename": "std/src/os/linux/process.rs" }, "visibility": "public" }, - "547": { + "5476": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 547, + "id": 5476, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 349, - "path": "Thread" + "id": 5469, + "path": "PidFd" } }, "generics": { @@ -472742,11 +492059,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 505, - 509, - 544, - 546, - 545 + 5471, + 5473, + 5475 ], "provided_trait_methods": [], "trait": null @@ -472756,122 +492071,30 @@ "name": null, "span": { "begin": [ - 1445, + 55, 1 ], "end": [ - 1647, + 87, 2 ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5470": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": "Attempts to collect the exit status of the child if it has already exited.\n\nUnlike [`Child::try_wait`] this method will return an Error\nif the child has already been reaped.\n\n[`Child::try_wait`]: process::Child::try_wait", - "id": 5470, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 5366, - "path": "ExitStatus" - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "Result" - } - } - } - } - }, - "links": { - "process::Child::try_wait": 5469 - }, - "name": "try_wait", - "span": { - "begin": [ - 84, - 5 - ], - "end": [ - 86, - 6 - ], "filename": "std/src/os/linux/process.rs" }, - "visibility": "public" + "visibility": "default" }, - "5471": { + "5477": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5471, + "id": 5477, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -472880,45 +492103,35 @@ "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 5466, - 5468, - 5470 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 55, - 1 - ], - "end": [ - 87, - 2 - ], - "filename": "std/src/os/linux/process.rs" - }, + "span": null, "visibility": "default" }, - "5472": { + "5478": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5472, + "id": 5478, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -472933,8 +492146,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } }, @@ -472943,19 +492156,19 @@ "span": null, "visibility": "default" }, - "5473": { + "5479": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5473, + "id": 5479, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -472970,8 +492183,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -472980,20 +492193,20 @@ "span": null, "visibility": "default" }, - "5474": { + "548": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5474, + "id": 548, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, - "path": "PidFd" + "id": 347, + "path": "Thread" } }, "generics": { @@ -473007,8 +492220,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 1, + "path": "Send" } } }, @@ -473017,19 +492230,19 @@ "span": null, "visibility": "default" }, - "5475": { + "5480": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5475, + "id": 5480, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473054,19 +492267,19 @@ "span": null, "visibility": "default" }, - "5476": { + "5481": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5476, + "id": 5481, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473081,7 +492294,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -473091,19 +492304,19 @@ "span": null, "visibility": "default" }, - "5477": { + "5482": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5477, + "id": 5482, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473118,7 +492331,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -473128,12 +492341,12 @@ "span": null, "visibility": "default" }, - "5478": { + "5483": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5478, + "id": 5483, "inner": { "impl": { "blanket_impl": { @@ -473142,7 +492355,7 @@ "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473187,7 +492400,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -473203,7 +492416,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -473212,23 +492425,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5479": { + "5484": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5479, + "id": 5484, "inner": { "impl": { "blanket_impl": { @@ -473237,7 +492450,7 @@ "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473282,7 +492495,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -473298,7 +492511,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -473307,60 +492520,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "548": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 548, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5480": { + "5485": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5480, + "id": 5485, "inner": { "impl": { "blanket_impl": { @@ -473369,7 +492545,7 @@ "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473435,7 +492611,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -473460,23 +492636,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5481": { + "5486": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5481, + "id": 5486, "inner": { "impl": { "blanket_impl": { @@ -473485,7 +492661,7 @@ "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473508,7 +492684,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -473533,23 +492709,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5482": { + "5487": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5482, + "id": 5487, "inner": { "impl": { "blanket_impl": { @@ -473558,7 +492734,7 @@ "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473606,7 +492782,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -473624,8 +492800,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -473641,7 +492817,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -473650,23 +492826,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5483": { + "5488": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5483, + "id": 5488, "inner": { "impl": { "blanket_impl": { @@ -473675,7 +492851,7 @@ "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473741,8 +492917,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -473758,7 +492934,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -473767,23 +492943,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5484": { + "5489": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5484, + "id": 5489, "inner": { "impl": { "blanket_impl": { @@ -473792,7 +492968,7 @@ "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473840,12 +493016,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -473865,7 +493041,44 @@ }, "visibility": "default" }, - "5485": { + "549": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 549, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5490": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -473874,7 +493087,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5485, + "id": 5490, "inner": { "function": { "generics": { @@ -473920,7 +493133,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -473932,7 +493145,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -473954,7 +493167,7 @@ }, "visibility": "default" }, - "5486": { + "5491": { "attrs": [ { "other": "#[doc(cfg(target_os = \"linux\"))]" @@ -473964,14 +493177,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5486, + "id": 5491, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -473983,12 +493196,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5485 + 5490 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -474008,7 +493221,7 @@ }, "visibility": "default" }, - "5487": { + "5492": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -474017,7 +493230,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5487, + "id": 5492, "inner": { "function": { "generics": { @@ -474072,7 +493285,7 @@ }, "visibility": "default" }, - "5488": { + "5493": { "attrs": [ { "other": "#[doc(cfg(target_os = \"linux\"))]" @@ -474081,14 +493294,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5488, + "id": 5493, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -474100,7 +493313,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5487 + 5492 ], "provided_trait_methods": [], "trait": { @@ -474125,12 +493338,12 @@ }, "visibility": "default" }, - "5489": { + "5494": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5489, + "id": 5494, "inner": { "function": { "generics": { @@ -474179,44 +493392,7 @@ }, "visibility": "default" }, - "549": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 549, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5490": { + "5495": { "attrs": [ { "other": "#[doc(cfg(target_os = \"linux\"))]" @@ -474225,14 +493401,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5490, + "id": 5495, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -474244,7 +493420,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5489 + 5494 ], "provided_trait_methods": [], "trait": { @@ -474269,12 +493445,12 @@ }, "visibility": "default" }, - "5491": { + "5496": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5491, + "id": 5496, "inner": { "function": { "generics": { @@ -474323,7 +493499,7 @@ }, "visibility": "default" }, - "5492": { + "5497": { "attrs": [ { "other": "#[doc(cfg(target_os = \"linux\"))]" @@ -474332,14 +493508,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5492, + "id": 5497, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -474351,7 +493527,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5491 + 5496 ], "provided_trait_methods": [], "trait": { @@ -474376,12 +493552,12 @@ }, "visibility": "default" }, - "5493": { + "5498": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5493, + "id": 5498, "inner": { "function": { "generics": { @@ -474445,7 +493621,7 @@ }, "visibility": "default" }, - "5494": { + "5499": { "attrs": [ { "other": "#[doc(cfg(target_os = \"linux\"))]" @@ -474454,14 +493630,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5494, + "id": 5499, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -474473,7 +493649,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5493 + 5498 ], "provided_trait_methods": [], "trait": { @@ -474498,12 +493674,49 @@ }, "visibility": "default" }, - "5495": { + "550": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5495, + "id": 550, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5500": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5500, "inner": { "function": { "generics": { @@ -474552,7 +493765,7 @@ }, "visibility": "default" }, - "5496": { + "5501": { "attrs": [ { "other": "#[doc(cfg(target_os = \"linux\"))]" @@ -474561,14 +493774,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5496, + "id": 5501, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } }, @@ -474580,7 +493793,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5495 + 5500 ], "provided_trait_methods": [], "trait": { @@ -474620,12 +493833,12 @@ }, "visibility": "default" }, - "5497": { + "5502": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5497, + "id": 5502, "inner": { "function": { "generics": { @@ -474646,7 +493859,7 @@ { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } } @@ -474674,7 +493887,7 @@ }, "visibility": "default" }, - "5498": { + "5503": { "attrs": [ { "other": "#[doc(cfg(target_os = \"linux\"))]" @@ -474683,7 +493896,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5498, + "id": 5503, "inner": { "impl": { "blanket_impl": null, @@ -474702,7 +493915,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5497 + 5502 ], "provided_trait_methods": [], "trait": { @@ -474713,7 +493926,7 @@ "type": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "PidFd" } } @@ -474742,10 +493955,10 @@ }, "visibility": "default" }, - "5499": { + "5504": { "attrs": [ { - "other": "#[(not(any(target_arch = \"wasm32\", target_os = \"hermit\", target_os =\n\"trusty\")))]" + "other": "#[(not(any(target_arch = \"wasm32\", target_os = \"hermit\", target_os =\n\"trusty\", target_os = \"motor\")))]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -474754,7 +493967,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `OwnedFd` instance that shares the same underlying file\ndescription as the existing `BorrowedFd` instance.", - "id": 5499, + "id": 5504, "inner": { "function": { "generics": { @@ -474802,7 +494015,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "crate::io::Result" } } @@ -474813,60 +494026,23 @@ "name": "try_clone_to_owned", "span": { "begin": [ - 100, + 109, 5 ], "end": [ - 117, + 126, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "public" }, - "550": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 550, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5500": { + "5505": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Os-specific extensions for [`Child`]\n\n[`Child`]: process::Child", - "id": 5500, + "id": 5505, "inner": { "trait": { "bounds": [ @@ -474876,7 +494052,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -474887,19 +494063,19 @@ "where_predicates": [] }, "implementations": [ - 5503 + 5508 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5462, - 5463 + 5467, + 5468 ] } }, "links": { - "process::Child": 5388 + "process::Child": 5393 }, "name": "ChildExt", "span": { @@ -474915,12 +494091,12 @@ }, "visibility": "public" }, - "5501": { + "5506": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5501, + "id": 5506, "inner": { "function": { "generics": { @@ -474963,7 +494139,7 @@ "type": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "os::PidFd" } } @@ -474974,7 +494150,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -474985,23 +494161,23 @@ "name": "pidfd", "span": { "begin": [ - 1272, + 1273, 9 ], "end": [ - 1279, + 1280, 10 ], "filename": "std/src/sys/process/unix/unix.rs" }, "visibility": "default" }, - "5502": { + "5507": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5502, + "id": 5507, "inner": { "function": { "generics": { @@ -475034,7 +494210,7 @@ "type": { "resolved_path": { "args": null, - "id": 5464, + "id": 5469, "path": "os::PidFd" } } @@ -475059,18 +494235,18 @@ "name": "into_pidfd", "span": { "begin": [ - 1281, + 1282, 9 ], "end": [ - 1287, + 1288, 10 ], "filename": "std/src/sys/process/unix/unix.rs" }, "visibility": "default" }, - "5503": { + "5508": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 82971, is_soft: false}, feature: \"linux_pidfd\"}}]" @@ -475079,14 +494255,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5503, + "id": 5508, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "crate::process::Child" } }, @@ -475098,13 +494274,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5501, - 5502 + 5506, + 5507 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5500, + "id": 5505, "path": "ChildExt" } } @@ -475113,23 +494289,23 @@ "name": null, "span": { "begin": [ - 1271, + 1272, 5 ], "end": [ - 1288, + 1289, 6 ], "filename": "std/src/sys/process/unix/unix.rs" }, "visibility": "default" }, - "5504": { + "5509": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Os-specific extensions for [`Command`]\n\n[`Command`]: process::Command", - "id": 5504, + "id": 5509, "inner": { "trait": { "bounds": [ @@ -475139,7 +494315,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -475150,18 +494326,18 @@ "where_predicates": [] }, "implementations": [ - 5506 + 5511 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5461 + 5466 ] } }, "links": { - "process::Command": 5336 + "process::Command": 5341 }, "name": "CommandExt", "span": { @@ -475177,12 +494353,49 @@ }, "visibility": "public" }, - "5505": { + "551": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5505, + "id": 551, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5510": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5510, "inner": { "function": { "generics": { @@ -475225,7 +494438,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -475249,7 +494462,7 @@ }, "visibility": "default" }, - "5506": { + "5511": { "attrs": [ { "other": "#[doc(cfg(target_os = \"linux\"))]" @@ -475258,14 +494471,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5506, + "id": 5511, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } }, @@ -475277,12 +494490,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5505 + 5510 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5504, + "id": 5509, "path": "CommandExt" } } @@ -475302,7 +494515,7 @@ }, "visibility": "default" }, - "5507": { + "5512": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 82971, is_soft: false}, feature: \"linux_pidfd\"}}]" @@ -475311,20 +494524,20 @@ "crate_id": 0, "deprecation": null, "docs": "Linux-specific extensions to primitives in the [`std::process`] module.\n\n[`std::process`]: crate::process", - "id": 5507, + "id": 5512, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5464, - 5500, - 5504 + 5469, + 5505, + 5509 ] } }, "links": { - "crate::process": 5390 + "crate::process": 5395 }, "name": "process", "span": { @@ -475340,7 +494553,7 @@ }, "visibility": "public" }, - "5508": { + "5513": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475352,7 +494565,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5508, + "id": 5513, "inner": { "struct_field": { "primitive": "u64" @@ -475373,7 +494586,7 @@ }, "visibility": "public" }, - "5509": { + "5514": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475385,7 +494598,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5509, + "id": 5514, "inner": { "struct_field": { "primitive": "u64" @@ -475406,44 +494619,7 @@ }, "visibility": "public" }, - "551": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 551, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5510": { + "5515": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475455,7 +494631,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5510, + "id": 5515, "inner": { "struct_field": { "primitive": "u64" @@ -475476,7 +494652,7 @@ }, "visibility": "public" }, - "5511": { + "5516": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475488,7 +494664,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5511, + "id": 5516, "inner": { "struct_field": { "primitive": "u32" @@ -475509,7 +494685,7 @@ }, "visibility": "public" }, - "5512": { + "5517": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475521,7 +494697,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5512, + "id": 5517, "inner": { "struct_field": { "primitive": "u32" @@ -475542,7 +494718,7 @@ }, "visibility": "public" }, - "5513": { + "5518": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475554,7 +494730,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5513, + "id": 5518, "inner": { "struct_field": { "primitive": "u32" @@ -475575,7 +494751,7 @@ }, "visibility": "public" }, - "5514": { + "5519": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475587,12 +494763,12 @@ "since": "1.8.0" }, "docs": null, - "id": 5514, + "id": 5519, "inner": { "struct_field": { "resolved_path": { "args": null, - "id": 4819, + "id": 4821, "path": "crate::os::raw::c_int" } } @@ -475612,7 +494788,44 @@ }, "visibility": "public" }, - "5515": { + "552": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 552, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5520": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475624,7 +494837,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5515, + "id": 5520, "inner": { "struct_field": { "primitive": "u64" @@ -475645,7 +494858,7 @@ }, "visibility": "public" }, - "5516": { + "5521": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475657,7 +494870,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5516, + "id": 5521, "inner": { "struct_field": { "primitive": "i64" @@ -475678,7 +494891,7 @@ }, "visibility": "public" }, - "5517": { + "5522": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475690,7 +494903,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5517, + "id": 5522, "inner": { "struct_field": { "primitive": "i64" @@ -475711,7 +494924,7 @@ }, "visibility": "public" }, - "5518": { + "5523": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475723,7 +494936,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5518, + "id": 5523, "inner": { "struct_field": { "primitive": "i64" @@ -475744,7 +494957,7 @@ }, "visibility": "public" }, - "5519": { + "5524": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475756,7 +494969,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5519, + "id": 5524, "inner": { "struct_field": { "primitive": "i64" @@ -475777,44 +494990,7 @@ }, "visibility": "public" }, - "552": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 552, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5520": { + "5525": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475826,12 +495002,12 @@ "since": "1.8.0" }, "docs": null, - "id": 5520, + "id": 5525, "inner": { "struct_field": { "resolved_path": { "args": null, - "id": 4823, + "id": 4825, "path": "crate::os::raw::c_long" } } @@ -475851,7 +495027,7 @@ }, "visibility": "public" }, - "5521": { + "5526": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475863,7 +495039,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5521, + "id": 5526, "inner": { "struct_field": { "primitive": "i64" @@ -475884,7 +495060,7 @@ }, "visibility": "public" }, - "5522": { + "5527": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475896,12 +495072,12 @@ "since": "1.8.0" }, "docs": null, - "id": 5522, + "id": 5527, "inner": { "struct_field": { "resolved_path": { "args": null, - "id": 4823, + "id": 4825, "path": "crate::os::raw::c_long" } } @@ -475921,7 +495097,7 @@ }, "visibility": "public" }, - "5523": { + "5528": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475933,7 +495109,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5523, + "id": 5528, "inner": { "struct_field": { "primitive": "i64" @@ -475954,7 +495130,7 @@ }, "visibility": "public" }, - "5524": { + "5529": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -475966,12 +495142,12 @@ "since": "1.8.0" }, "docs": null, - "id": 5524, + "id": 5529, "inner": { "struct_field": { "resolved_path": { "args": null, - "id": 4823, + "id": 4825, "path": "crate::os::raw::c_long" } } @@ -475991,7 +495167,44 @@ }, "visibility": "public" }, - "5525": { + "553": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 553, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5530": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -476003,7 +495216,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5525, + "id": 5530, "inner": { "struct_field": { "array": { @@ -476011,7 +495224,7 @@ "type": { "resolved_path": { "args": null, - "id": 4823, + "id": 4825, "path": "crate::os::raw::c_long" } } @@ -476033,12 +495246,12 @@ }, "visibility": "public" }, - "5526": { + "5531": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5526, + "id": 5531, "inner": { "impl": { "blanket_impl": null, @@ -476070,12 +495283,12 @@ "span": null, "visibility": "default" }, - "5527": { + "5532": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5527, + "id": 5532, "inner": { "impl": { "blanket_impl": null, @@ -476107,49 +495320,12 @@ "span": null, "visibility": "default" }, - "5528": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5528, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2672, - "path": "stat" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5529": { + "5533": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5529, + "id": 5533, "inner": { "impl": { "blanket_impl": null, @@ -476171,8 +495347,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 313, + "path": "Freeze" } } }, @@ -476181,20 +495357,20 @@ "span": null, "visibility": "default" }, - "553": { + "5534": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 553, + "id": 5534, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 349, - "path": "Thread" + "id": 2672, + "path": "stat" } }, "generics": { @@ -476208,8 +495384,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 7, + "path": "Unpin" } } }, @@ -476218,12 +495394,12 @@ "span": null, "visibility": "default" }, - "5530": { + "5535": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5530, + "id": 5535, "inner": { "impl": { "blanket_impl": null, @@ -476245,7 +495421,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -476255,12 +495431,12 @@ "span": null, "visibility": "default" }, - "5531": { + "5536": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5531, + "id": 5536, "inner": { "impl": { "blanket_impl": null, @@ -476282,7 +495458,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -476292,12 +495468,12 @@ "span": null, "visibility": "default" }, - "5532": { + "5537": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5532, + "id": 5537, "inner": { "impl": { "blanket_impl": { @@ -476351,7 +495527,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -476367,7 +495543,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -476376,23 +495552,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5533": { + "5538": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5533, + "id": 5538, "inner": { "impl": { "blanket_impl": { @@ -476446,7 +495622,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -476462,7 +495638,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -476471,23 +495647,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5534": { + "5539": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5534, + "id": 5539, "inner": { "impl": { "blanket_impl": { @@ -476523,7 +495699,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -476555,23 +495731,118 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "5535": { + "554": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5535, + "id": 554, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "5540": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5540, "inner": { "impl": { "blanket_impl": { @@ -476646,7 +495917,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -476671,23 +495942,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5536": { + "5541": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5536, + "id": 5541, "inner": { "impl": { "blanket_impl": { @@ -476719,7 +495990,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -476744,23 +496015,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5537": { + "5542": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5537, + "id": 5542, "inner": { "impl": { "blanket_impl": { @@ -476817,7 +496088,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -476835,8 +496106,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -476852,7 +496123,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -476861,23 +496132,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5538": { + "5543": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5538, + "id": 5543, "inner": { "impl": { "blanket_impl": { @@ -476952,8 +496223,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -476969,7 +496240,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -476978,23 +496249,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5539": { + "5544": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5539, + "id": 5544, "inner": { "impl": { "blanket_impl": { @@ -477051,108 +496322,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "554": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 554, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 + 336 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 339, + "path": "Any" } } }, @@ -477160,23 +496336,23 @@ "name": null, "span": { "begin": [ - 209, + 138, 1 ], "end": [ - 209, - 32 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "5540": { + "5545": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5540, + "id": 5545, "inner": { "impl": { "blanket_impl": { @@ -477212,7 +496388,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -477239,7 +496415,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -477248,18 +496424,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "5541": { + "5546": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -477271,7 +496447,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5541, + "id": 5546, "inner": { "function": { "generics": { @@ -477326,7 +496502,7 @@ }, "visibility": "default" }, - "5542": { + "5547": { "attrs": [ { "other": "#[doc(cfg(target_os = \"linux\"))]" @@ -477342,7 +496518,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5542, + "id": 5547, "inner": { "impl": { "blanket_impl": null, @@ -477361,14 +496537,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5541 + 5546 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -477388,7 +496564,7 @@ }, "visibility": "default" }, - "5544": { + "5549": { "attrs": [ { "other": "#[doc(inline)]" @@ -477403,10 +496579,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5544, + "id": 5549, "inner": { "use": { - "id": 5398, + "id": 5403, "is_glob": false, "name": "blkcnt_t", "source": "self::arch::blkcnt_t" @@ -477427,7 +496603,102 @@ }, "visibility": "public" }, - "5545": { + "555": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 555, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "5550": { "attrs": [ { "other": "#[doc(inline)]" @@ -477442,10 +496713,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5545, + "id": 5550, "inner": { "use": { - "id": 5402, + "id": 5407, "is_glob": false, "name": "blksize_t", "source": "self::arch::blksize_t" @@ -477466,7 +496737,7 @@ }, "visibility": "public" }, - "5546": { + "5551": { "attrs": [ { "other": "#[doc(inline)]" @@ -477481,10 +496752,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5546, + "id": 5551, "inner": { "use": { - "id": 5406, + "id": 5411, "is_glob": false, "name": "ino_t", "source": "self::arch::ino_t" @@ -477505,7 +496776,7 @@ }, "visibility": "public" }, - "5547": { + "5552": { "attrs": [ { "other": "#[doc(inline)]" @@ -477520,10 +496791,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5547, + "id": 5552, "inner": { "use": { - "id": 5410, + "id": 5415, "is_glob": false, "name": "nlink_t", "source": "self::arch::nlink_t" @@ -477544,7 +496815,7 @@ }, "visibility": "public" }, - "5548": { + "5553": { "attrs": [ { "other": "#[doc(inline)]" @@ -477559,10 +496830,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5548, + "id": 5553, "inner": { "use": { - "id": 5412, + "id": 5417, "is_glob": false, "name": "off_t", "source": "self::arch::off_t" @@ -477583,7 +496854,7 @@ }, "visibility": "public" }, - "5549": { + "5554": { "attrs": [ { "other": "#[doc(inline)]" @@ -477598,7 +496869,7 @@ "since": "1.8.0" }, "docs": null, - "id": 5549, + "id": 5554, "inner": { "use": { "id": 2672, @@ -477622,102 +496893,7 @@ }, "visibility": "public" }, - "555": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 555, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "5550": { + "5555": { "attrs": [ { "other": "#[doc(inline)]" @@ -477732,10 +496908,10 @@ "since": "1.8.0" }, "docs": null, - "id": 5550, + "id": 5555, "inner": { "use": { - "id": 5400, + "id": 5405, "is_glob": false, "name": "time_t", "source": "self::arch::time_t" @@ -477756,7 +496932,7 @@ }, "visibility": "public" }, - "5551": { + "5556": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -477771,22 +496947,22 @@ "since": "1.8.0" }, "docs": "Linux-specific raw type definitions.", - "id": 5551, + "id": 5556, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5404, - 5408, - 5396, - 5544, - 5545, - 5546, - 5547, - 5548, + 5409, + 5413, + 5401, 5549, - 5550 + 5550, + 5551, + 5552, + 5553, + 5554, + 5555 ] } }, @@ -477805,7 +496981,7 @@ }, "visibility": "public" }, - "5552": { + "5557": { "attrs": [ { "other": "#[(not(all(doc,\nany(all(target_arch = \"wasm32\", not(target_os = \"wasi\")),\nall(target_vendor = \"fortanix\", target_env = \"sgx\")))))]" @@ -477823,16 +496999,16 @@ "crate_id": 0, "deprecation": null, "docs": "Linux-specific definitions.", - "id": 5552, + "id": 5557, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5455, - 5459, - 5507, - 5551 + 5460, + 5464, + 5512, + 5556 ] } }, @@ -477851,7 +497027,7 @@ }, "visibility": "public" }, - "5553": { + "5558": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -477860,7 +497036,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an [`OsString`] from a byte vector.\n\nSee the module documentation for an example.", - "id": 5553, + "id": 5558, "inner": { "function": { "generics": { @@ -477892,7 +497068,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -477906,7 +497082,7 @@ } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "from_vec", "span": { @@ -477922,7 +497098,7 @@ }, "visibility": "default" }, - "5554": { + "5559": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -477931,7 +497107,7 @@ "crate_id": 0, "deprecation": null, "docs": "Yields the underlying byte vector of this [`OsString`].\n\nSee the module documentation for an example.", - "id": 5554, + "id": 5559, "inner": { "function": { "generics": { @@ -477969,7 +497145,7 @@ "constraints": [] } }, - "id": 165, + "id": 163, "path": "Vec" } } @@ -477977,7 +497153,7 @@ } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "into_vec", "span": { @@ -477993,7 +497169,91 @@ }, "visibility": "default" }, - "5555": { + "556": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 556, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 422 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 424, + "path": "CloneToUninit" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 515, + 1 + ], + "end": [ + 515, + 42 + ], + "filename": "checkouts/rust/library/core/src/clone.rs" + }, + "visibility": "default" + }, + "5560": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -478002,7 +497262,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an [`OsStr`] from a byte slice.\n\nSee the module documentation for an example.", - "id": 5555, + "id": 5560, "inner": { "function": { "generics": { @@ -478047,7 +497307,7 @@ } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "from_bytes", "span": { @@ -478063,7 +497323,7 @@ }, "visibility": "default" }, - "5556": { + "5561": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -478072,7 +497332,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the underlying byte view of the [`OsStr`] slice.\n\nSee the module documentation for an example.", - "id": 5556, + "id": 5561, "inner": { "function": { "generics": { @@ -478117,7 +497377,7 @@ } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "as_bytes", "span": { @@ -478133,7 +497393,7 @@ }, "visibility": "default" }, - "5558": { + "5563": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -478142,10 +497402,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5558, + "id": 5563, "inner": { "use": { - "id": 2251, + "id": 2249, "is_glob": false, "name": "OsStrExt", "source": "self::os_str::OsStrExt" @@ -478166,7 +497426,7 @@ }, "visibility": "public" }, - "5559": { + "5564": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -478175,10 +497435,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5559, + "id": 5564, "inner": { "use": { - "id": 2093, + "id": 2091, "is_glob": false, "name": "OsStringExt", "source": "self::os_str::OsStringExt" @@ -478199,91 +497459,7 @@ }, "visibility": "public" }, - "556": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 556, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 422 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 516, - 1 - ], - "end": [ - 516, - 42 - ], - "filename": "checkouts/rust/library/core/src/clone.rs" - }, - "visibility": "default" - }, - "5560": { + "5565": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -478292,19 +497468,19 @@ "crate_id": 0, "deprecation": null, "docs": "WASI-specific extensions to primitives in the [`std::ffi`] module\n\n[`std::ffi`]: crate::ffi", - "id": 5560, + "id": 5565, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5558, - 5559 + 5563, + 5564 ] } }, "links": { - "crate::ffi": 1934 + "crate::ffi": 1932 }, "name": "ffi", "span": { @@ -478320,12 +497496,12 @@ }, "visibility": "public" }, - "5561": { + "5566": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Reads a number of bytes starting from a given offset.\n\nReturns the number of bytes read.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nNote that similar to [`File::read`], it is not an error to return with a\nshort read.", - "id": 5561, + "id": 5566, "inner": { "function": { "generics": { @@ -478389,7 +497565,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -478397,7 +497573,7 @@ } }, "links": { - "`File::read`": 2411 + "`File::read`": 2409 }, "name": "read_at", "span": { @@ -478413,12 +497589,12 @@ }, "visibility": "default" }, - "5562": { + "5567": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Reads a number of bytes starting from a given offset.\n\nReturns the number of bytes read.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nNote that similar to [`File::read_vectored`], it is not an error to\nreturn with a short read.", - "id": 5562, + "id": 5567, "inner": { "function": { "generics": { @@ -478465,7 +497641,7 @@ "constraints": [] } }, - "id": 2468, + "id": 2466, "path": "IoSliceMut" } } @@ -478495,7 +497671,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -478503,7 +497679,7 @@ } }, "links": { - "`File::read_vectored`": 2494 + "`File::read_vectored`": 2492 }, "name": "read_vectored_at", "span": { @@ -478519,12 +497695,12 @@ }, "visibility": "default" }, - "5563": { + "5568": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Reads the exact number of byte required to fill `buf` from the given offset.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nSimilar to [`Read::read_exact`] but uses [`read_at`] instead of `read`.\n\n[`read_at`]: FileExt::read_at\n\n# Errors\n\nIf this function encounters an error of the kind\n[`io::ErrorKind::Interrupted`] then the error is ignored and the operation\nwill continue.\n\nIf this function encounters an \"end of file\" before completely filling\nthe buffer, it returns an error of the kind [`io::ErrorKind::UnexpectedEof`].\nThe contents of `buf` are unspecified in this case.\n\nIf any other read error is encountered then this function immediately\nreturns. The contents of `buf` are unspecified in this case.\n\nIf this function returns an error, it is unspecified how many bytes it\nhas read, but it will never read more than would be necessary to\ncompletely fill the buffer.", - "id": 5563, + "id": 5568, "inner": { "function": { "generics": { @@ -478588,7 +497764,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -478596,10 +497772,10 @@ } }, "links": { - "FileExt::read_at": 5561, - "`Read::read_exact`": 3988, + "FileExt::read_at": 5566, + "`Read::read_exact`": 3987, "`io::ErrorKind::Interrupted`": 2958, - "`io::ErrorKind::UnexpectedEof`": 3398 + "`io::ErrorKind::UnexpectedEof`": 3397 }, "name": "read_exact_at", "span": { @@ -478615,12 +497791,12 @@ }, "visibility": "default" }, - "5564": { + "5569": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Writes a number of bytes starting from a given offset.\n\nReturns the number of bytes written.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nWhen writing beyond the end of the file, the file is appropriately\nextended and the intermediate bytes are initialized with the value 0.\n\nNote that similar to [`File::write`], it is not an error to return a\nshort write.", - "id": 5564, + "id": 5569, "inner": { "function": { "generics": { @@ -478684,7 +497860,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -478692,7 +497868,7 @@ } }, "links": { - "`File::write`": 2412 + "`File::write`": 2410 }, "name": "write_at", "span": { @@ -478708,12 +497884,128 @@ }, "visibility": "default" }, - "5565": { + "557": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 557, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "5570": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Writes a number of bytes starting from a given offset.\n\nReturns the number of bytes written.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nWhen writing beyond the end of the file, the file is appropriately\nextended and the intermediate bytes are initialized with the value 0.\n\nNote that similar to [`File::write_vectored`], it is not an error to return a\nshort write.", - "id": 5565, + "id": 5570, "inner": { "function": { "generics": { @@ -478760,7 +498052,7 @@ "constraints": [] } }, - "id": 2480, + "id": 2478, "path": "IoSlice" } } @@ -478790,7 +498082,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -478798,7 +498090,7 @@ } }, "links": { - "`File::write_vectored`": 2500 + "`File::write_vectored`": 2498 }, "name": "write_vectored_at", "span": { @@ -478814,12 +498106,12 @@ }, "visibility": "default" }, - "5566": { + "5571": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Attempts to write an entire buffer starting from a given offset.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor.\n\nThe current file cursor is not affected by this function.\n\nThis method will continuously call [`write_at`] until there is no more data\nto be written or an error of non-[`io::ErrorKind::Interrupted`] kind is\nreturned. This method will not return until the entire buffer has been\nsuccessfully written or such an error occurs. The first error that is\nnot of [`io::ErrorKind::Interrupted`] kind generated from this method will be\nreturned.\n\n# Errors\n\nThis function will return the first error of\nnon-[`io::ErrorKind::Interrupted`] kind that [`write_at`] returns.\n\n[`write_at`]: FileExt::write_at", - "id": 5566, + "id": 5571, "inner": { "function": { "generics": { @@ -478883,7 +498175,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -478891,7 +498183,7 @@ } }, "links": { - "FileExt::write_at": 5564, + "FileExt::write_at": 5569, "`io::ErrorKind::Interrupted`": 2958 }, "name": "write_all_at", @@ -478908,7 +498200,7 @@ }, "visibility": "default" }, - "5567": { + "5572": { "attrs": [ { "other": "#[doc(alias = \"fd_fdstat_set_flags\")]" @@ -478917,7 +498209,7 @@ "crate_id": 0, "deprecation": null, "docs": "Adjusts the flags associated with this file.\n\nThis corresponds to the `fd_fdstat_set_flags` syscall.", - "id": 5567, + "id": 5572, "inner": { "function": { "generics": { @@ -478967,7 +498259,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -478989,7 +498281,7 @@ }, "visibility": "default" }, - "5568": { + "5573": { "attrs": [ { "other": "#[doc(alias = \"fd_fdstat_set_rights\")]" @@ -478998,7 +498290,7 @@ "crate_id": 0, "deprecation": null, "docs": "Adjusts the rights associated with this file.\n\nThis corresponds to the `fd_fdstat_set_rights` syscall.", - "id": 5568, + "id": 5573, "inner": { "function": { "generics": { @@ -479054,7 +498346,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -479076,7 +498368,7 @@ }, "visibility": "default" }, - "5569": { + "5574": { "attrs": [ { "other": "#[doc(alias = \"fd_advise\")]" @@ -479085,7 +498377,7 @@ "crate_id": 0, "deprecation": null, "docs": "Provides file advisory information on a file descriptor.\n\nThis corresponds to the `fd_advise` syscall.", - "id": 5569, + "id": 5574, "inner": { "function": { "generics": { @@ -479147,7 +498439,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -479169,123 +498461,7 @@ }, "visibility": "default" }, - "557": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 557, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 773, - 1 - ], - "end": [ - 775, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "5570": { + "5575": { "attrs": [ { "other": "#[doc(alias = \"fd_allocate\")]" @@ -479294,7 +498470,7 @@ "crate_id": 0, "deprecation": null, "docs": "Forces the allocation of space in a file.\n\nThis corresponds to the `fd_allocate` syscall.", - "id": 5570, + "id": 5575, "inner": { "function": { "generics": { @@ -479350,7 +498526,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -479372,7 +498548,7 @@ }, "visibility": "default" }, - "5571": { + "5576": { "attrs": [ { "other": "#[doc(alias = \"path_create_directory\")]" @@ -479381,7 +498557,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a directory.\n\nThis corresponds to the `path_create_directory` syscall.", - "id": 5571, + "id": 5576, "inner": { "function": { "generics": { @@ -479402,7 +498578,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -479469,7 +498645,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -479491,7 +498667,7 @@ }, "visibility": "default" }, - "5572": { + "5577": { "attrs": [ { "other": "#[doc(alias = \"path_readlink\")]" @@ -479500,7 +498676,130 @@ "crate_id": 0, "deprecation": null, "docs": "Reads the contents of a symbolic link.\n\nThis corresponds to the `path_readlink` syscall.", - "id": 5572, + "id": 5577, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 35, + "path": "AsRef" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "path", + { + "generic": "P" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1663, + "path": "PathBuf" + } + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "read_link", + "span": { + "begin": [ + 197, + 5 + ], + "end": [ + 197, + 73 + ], + "filename": "std/src/os/wasi/fs.rs" + }, + "visibility": "default" + }, + "5578": { + "attrs": [ + { + "other": "#[doc(alias = \"path_filestat_get\")]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the attributes of a file or directory.\n\nThis corresponds to the `path_filestat_get` syscall.", + "id": 5578, "inner": { "function": { "generics": { @@ -479521,7 +498820,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -479566,6 +498865,12 @@ } } ], + [ + "lookup_flags", + { + "primitive": "u32" + } + ], [ "path", { @@ -479583,8 +498888,8 @@ "type": { "resolved_path": { "args": null, - "id": 1664, - "path": "PathBuf" + "id": 2439, + "path": "Metadata" } } } @@ -479592,7 +498897,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -479600,30 +498905,30 @@ } }, "links": {}, - "name": "read_link", + "name": "metadata_at", "span": { "begin": [ - 197, + 203, 5 ], "end": [ - 197, - 73 + 203, + 95 ], "filename": "std/src/os/wasi/fs.rs" }, "visibility": "default" }, - "5573": { + "5579": { "attrs": [ { - "other": "#[doc(alias = \"path_filestat_get\")]" + "other": "#[doc(alias = \"path_unlink_file\")]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the attributes of a file or directory.\n\nThis corresponds to the `path_filestat_get` syscall.", - "id": 5573, + "docs": "Unlinks a file.\n\nThis corresponds to the `path_unlink_file` syscall.", + "id": 5579, "inner": { "function": { "generics": { @@ -479644,7 +498949,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -479689,12 +498994,6 @@ } } ], - [ - "lookup_flags", - { - "primitive": "u32" - } - ], [ "path", { @@ -479710,18 +499009,14 @@ "args": [ { "type": { - "resolved_path": { - "args": null, - "id": 2441, - "path": "Metadata" - } + "tuple": [] } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -479729,140 +499024,94 @@ } }, "links": {}, - "name": "metadata_at", + "name": "remove_file", "span": { "begin": [ - 203, + 209, 5 ], "end": [ - 203, - 95 + 209, + 70 ], "filename": "std/src/os/wasi/fs.rs" }, "visibility": "default" }, - "5574": { - "attrs": [ - { - "other": "#[doc(alias = \"path_unlink_file\")]" - } - ], + "558": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Unlinks a file.\n\nThis corresponds to the `path_unlink_file` syscall.", - "id": 5574, + "docs": null, + "id": 558, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, "generics": { "params": [ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } - } - } - ], - "constraints": [] - } - }, - "id": 35, - "path": "AsRef" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "P" + "name": "T" } ], "where_predicates": [] }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "T" } } - } - ], - [ - "path", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" + ], + "constraints": [] } - } + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "remove_file", + "name": null, "span": { "begin": [ - 209, - 5 + 785, + 1 ], "end": [ - 209, - 70 + 785, + 28 ], - "filename": "std/src/os/wasi/fs.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5575": { + "5580": { "attrs": [ { "other": "#[doc(alias = \"path_remove_directory\")]" @@ -479871,7 +499120,7 @@ "crate_id": 0, "deprecation": null, "docs": "Removes a directory.\n\nThis corresponds to the `path_remove_directory` syscall.", - "id": 5575, + "id": 5580, "inner": { "function": { "generics": { @@ -479892,7 +499141,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -479959,7 +499208,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -479981,12 +499230,12 @@ }, "visibility": "default" }, - "5576": { + "5581": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Pass custom `dirflags` argument to `path_open`.\n\nThis option configures the `dirflags` argument to the\n`path_open` syscall which `OpenOptions` will eventually call. The\n`dirflags` argument configures how the file is looked up, currently\nprimarily affecting whether symlinks are followed or not.\n\nBy default this value is `__WASI_LOOKUP_SYMLINK_FOLLOW`, or symlinks are\nfollowed. You can call this method with 0 to disable following symlinks", - "id": 5576, + "id": 5581, "inner": { "function": { "generics": { @@ -480049,12 +499298,12 @@ }, "visibility": "default" }, - "5577": { + "5582": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Indicates whether `OpenOptions` must open a directory or not.\n\nThis method will configure whether the `__WASI_O_DIRECTORY` flag is\npassed when opening a file. When passed it will require that the opened\npath is a directory.\n\nThis option is by default `false`", - "id": 5577, + "id": 5582, "inner": { "function": { "generics": { @@ -480117,12 +499366,12 @@ }, "visibility": "default" }, - "5578": { + "5583": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Indicates whether `__WASI_FDFLAG_DSYNC` is passed in the `fs_flags`\nfield of `path_open`.\n\nThis option is by default `false`", - "id": 5578, + "id": 5583, "inner": { "function": { "generics": { @@ -480185,12 +499434,12 @@ }, "visibility": "default" }, - "5579": { + "5584": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Indicates whether `__WASI_FDFLAG_NONBLOCK` is passed in the `fs_flags`\nfield of `path_open`.\n\nThis option is by default `false`", - "id": 5579, + "id": 5584, "inner": { "function": { "generics": { @@ -480253,85 +499502,12 @@ }, "visibility": "default" }, - "558": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 558, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 791, - 28 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "5580": { + "5585": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Indicates whether `__WASI_FDFLAG_RSYNC` is passed in the `fs_flags`\nfield of `path_open`.\n\nThis option is by default `false`", - "id": 5580, + "id": 5585, "inner": { "function": { "generics": { @@ -480394,12 +499570,12 @@ }, "visibility": "default" }, - "5581": { + "5586": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Indicates whether `__WASI_FDFLAG_SYNC` is passed in the `fs_flags`\nfield of `path_open`.\n\nThis option is by default `false`", - "id": 5581, + "id": 5586, "inner": { "function": { "generics": { @@ -480462,12 +499638,12 @@ }, "visibility": "default" }, - "5582": { + "5587": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Indicates the value that should be passed in for the `fs_rights_base`\nparameter of `path_open`.\n\nThis option defaults based on the `read` and `write` configuration of\nthis `OpenOptions` builder. If this method is called, however, the\nexact mask passed in will be used instead.", - "id": 5582, + "id": 5587, "inner": { "function": { "generics": { @@ -480530,12 +499706,12 @@ }, "visibility": "default" }, - "5583": { + "5588": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Indicates the value that should be passed in for the\n`fs_rights_inheriting` parameter of `path_open`.\n\nThe default for this option is the same value as what will be passed\nfor the `fs_rights_base` parameter but if this method is called then\nthe specified value will be used instead.", - "id": 5583, + "id": 5588, "inner": { "function": { "generics": { @@ -480598,7 +499774,7 @@ }, "visibility": "default" }, - "5584": { + "5589": { "attrs": [ { "other": "#[doc(alias = \"path_open\")]" @@ -480607,7 +499783,7 @@ "crate_id": 0, "deprecation": null, "docs": "Open a file or directory.\n\nThis corresponds to the `path_open` syscall.", - "id": 5584, + "id": 5589, "inner": { "function": { "generics": { @@ -480628,7 +499804,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -480682,7 +499858,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -480706,7 +499882,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "File" } } @@ -480715,7 +499891,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -480737,68 +499913,129 @@ }, "visibility": "default" }, - "5585": { + "559": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns the `st_dev` field of the internal `filestat_t`", - "id": 5585, + "docs": null, + "id": 559, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } } + ], + "generic_params": [], + "type": { + "generic": "U" } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "u64" - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, "links": {}, - "name": "dev", + "name": null, "span": { "begin": [ - 406, - 5 + 811, + 1 ], "end": [ - 406, - 26 + 813, + 27 ], - "filename": "std/src/os/wasi/fs.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5586": { + "5590": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns the `st_ino` field of the internal `filestat_t`", - "id": 5586, + "docs": "Returns the `st_dev` field of the internal `filestat_t`", + "id": 5590, "inner": { "function": { "generics": { @@ -480835,26 +500072,26 @@ } }, "links": {}, - "name": "ino", + "name": "dev", "span": { "begin": [ - 408, + 406, 5 ], "end": [ - 408, + 406, 26 ], "filename": "std/src/os/wasi/fs.rs" }, "visibility": "default" }, - "5587": { + "5591": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns the `st_nlink` field of the internal `filestat_t`", - "id": 5587, + "docs": "Returns the `st_ino` field of the internal `filestat_t`", + "id": 5591, "inner": { "function": { "generics": { @@ -480891,26 +500128,26 @@ } }, "links": {}, - "name": "nlink", + "name": "ino", "span": { "begin": [ - 410, + 408, 5 ], "end": [ - 410, - 28 + 408, + 26 ], "filename": "std/src/os/wasi/fs.rs" }, "visibility": "default" }, - "5588": { + "5592": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns the `st_size` field of the internal `filestat_t`", - "id": 5588, + "docs": "Returns the `st_nlink` field of the internal `filestat_t`", + "id": 5592, "inner": { "function": { "generics": { @@ -480947,26 +500184,26 @@ } }, "links": {}, - "name": "size", + "name": "nlink", "span": { "begin": [ - 412, + 410, 5 ], "end": [ - 412, - 27 + 410, + 28 ], "filename": "std/src/os/wasi/fs.rs" }, "visibility": "default" }, - "5589": { + "5593": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns the `st_atim` field of the internal `filestat_t`", - "id": 5589, + "docs": "Returns the `st_size` field of the internal `filestat_t`", + "id": 5593, "inner": { "function": { "generics": { @@ -480996,150 +500233,89 @@ ] ], "is_c_variadic": false, - "output": { - "primitive": "u64" - } - } - } - }, - "links": {}, - "name": "atim", - "span": { - "begin": [ - 414, - 5 - ], - "end": [ - 414, - 27 - ], - "filename": "std/src/os/wasi/fs.rs" - }, - "visibility": "default" - }, - "559": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 559, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "output": { + "primitive": "u64" + } + } + } + }, + "links": {}, + "name": "size", + "span": { + "begin": [ + 412, + 5 + ], + "end": [ + 412, + 27 + ], + "filename": "std/src/os/wasi/fs.rs" + }, + "visibility": "default" + }, + "5594": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the `st_atim` field of the internal `filestat_t`", + "id": 5594, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "U" + "generic": "Self" } } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "u64" + } } } }, "links": {}, - "name": null, + "name": "atim", "span": { "begin": [ - 817, - 1 + 414, + 5 ], "end": [ - 819, + 414, 27 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/os/wasi/fs.rs" }, "visibility": "default" }, - "5590": { + "5595": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns the `st_mtim` field of the internal `filestat_t`", - "id": 5590, + "id": 5595, "inner": { "function": { "generics": { @@ -481190,12 +500366,12 @@ }, "visibility": "default" }, - "5591": { + "5596": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns the `st_ctim` field of the internal `filestat_t`", - "id": 5591, + "id": 5596, "inner": { "function": { "generics": { @@ -481246,12 +500422,12 @@ }, "visibility": "default" }, - "5592": { + "5597": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is a block device.", - "id": 5592, + "id": 5597, "inner": { "function": { "generics": { @@ -481302,12 +500478,12 @@ }, "visibility": "default" }, - "5593": { + "5598": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is a character device.", - "id": 5593, + "id": 5598, "inner": { "function": { "generics": { @@ -481358,12 +500534,12 @@ }, "visibility": "default" }, - "5594": { + "5599": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is a socket datagram.", - "id": 5594, + "id": 5599, "inner": { "function": { "generics": { @@ -481414,12 +500590,165 @@ }, "visibility": "default" }, - "5595": { + "56": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 56, + "inner": { + "use": { + "id": 57, + "is_glob": false, + "name": "Result", + "source": "crate::result::Result" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 44, + 33 + ], + "end": [ + 44, + 37 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "560": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 560, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "5600": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is a socket stream.", - "id": 5595, + "id": 5600, "inner": { "function": { "generics": { @@ -481470,12 +500799,12 @@ }, "visibility": "default" }, - "5596": { + "5601": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is any type of socket.", - "id": 5596, + "id": 5601, "inner": { "function": { "generics": { @@ -481526,12 +500855,12 @@ }, "visibility": "default" }, - "5597": { + "5602": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Returns the underlying `d_ino` field of the `dirent_t`", - "id": 5597, + "id": 5602, "inner": { "function": { "generics": { @@ -481582,7 +500911,7 @@ }, "visibility": "default" }, - "5598": { + "5603": { "attrs": [ { "other": "#[doc(alias = \"path_link\")]" @@ -481591,7 +500920,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a hard link.\n\nThis corresponds to the `path_link` syscall.", - "id": 5598, + "id": 5603, "inner": { "function": { "generics": { @@ -481612,7 +500941,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -481649,7 +500978,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -481691,7 +501020,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "crate::fs::File" } } @@ -481719,7 +501048,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "crate::fs::File" } } @@ -481748,7 +501077,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -481770,7 +501099,7 @@ }, "visibility": "public" }, - "5599": { + "5604": { "attrs": [ { "other": "#[doc(alias = \"path_rename\")]" @@ -481779,7 +501108,7 @@ "crate_id": 0, "deprecation": null, "docs": "Renames a file or directory.\n\nThis corresponds to the `path_rename` syscall.", - "id": 5599, + "id": 5604, "inner": { "function": { "generics": { @@ -481800,7 +501129,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -481837,7 +501166,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -481879,7 +501208,7 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, "path": "crate::fs::File" } } @@ -481901,7 +501230,173 @@ "type": { "resolved_path": { "args": null, - "id": 2413, + "id": 2411, + "path": "crate::fs::File" + } + } + } + } + ], + [ + "new_path", + { + "generic": "U" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "rename", + "span": { + "begin": [ + 514, + 1 + ], + "end": [ + 525, + 2 + ], + "filename": "std/src/os/wasi/fs.rs" + }, + "visibility": "public" + }, + "5605": { + "attrs": [ + { + "other": "#[doc(alias = \"path_symlink\")]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a symbolic link.\n\nThis corresponds to the `path_symlink` syscall.", + "id": 5605, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "crate::path::Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 35, + "path": "AsRef" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "crate::path::Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 35, + "path": "AsRef" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "old_path", + { + "generic": "P" + } + ], + [ + "fd", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 2411, "path": "crate::fs::File" } } @@ -481926,74 +501421,1812 @@ "tuple": [] } } - ], - "constraints": [] + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "symlink", + "span": { + "begin": [ + 531, + 1 + ], + "end": [ + 539, + 2 + ], + "filename": "std/src/os/wasi/fs.rs" + }, + "visibility": "public" + }, + "5606": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a symbolic link.\n\nThis is a convenience API similar to `std::os::unix::fs::symlink` and\n`std::os::windows::fs::symlink_file` and `std::os::windows::fs::symlink_dir`.", + "id": 5606, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "crate::path::Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 35, + "path": "AsRef" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "crate::path::Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 35, + "path": "AsRef" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "old_path", + { + "generic": "P" + } + ], + [ + "new_path", + { + "generic": "U" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "symlink_path", + "span": { + "begin": [ + 545, + 1 + ], + "end": [ + 547, + 2 + ], + "filename": "std/src/os/wasi/fs.rs" + }, + "visibility": "public" + }, + "5607": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 71213, is_soft: false}, feature: \"wasi_ext\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "WASI-specific extensions to primitives in the [`std::fs`] module.\n\n[`std::fs`]: crate::fs", + "id": 5607, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 2528, + 2811, + 2699, + 2927, + 2763, + 5603, + 5604, + 5605, + 5606 + ] + } + }, + "links": { + "crate::fs": 2422 + }, + "name": "fs", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 551, + 2 + ], + "filename": "std/src/os/wasi/fs.rs" + }, + "visibility": "public" + }, + "5608": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"io_safety_wasi\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5608, + "inner": { + "use": { + "id": 4934, + "is_glob": true, + "name": "fd", + "source": "crate::os::fd" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 6, + 1 + ], + "end": [ + 6, + 26 + ], + "filename": "std/src/os/wasi/io/mod.rs" + }, + "visibility": "public" + }, + "5609": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"io_safety_wasi\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "WASI-specific extensions to general I/O primitives.", + "id": 5609, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 5608 + ] + } + }, + "links": {}, + "name": "io", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 10, + 11 + ], + "filename": "std/src/os/wasi/io/mod.rs" + }, + "visibility": "public" + }, + "561": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 561, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "5610": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5610, + "inner": { + "use": { + "id": 2249, + "is_glob": false, + "name": "OsStrExt", + "source": "super::ffi::OsStrExt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 50, + 26 + ], + "end": [ + 50, + 34 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5611": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5611, + "inner": { + "use": { + "id": 2091, + "is_glob": false, + "name": "OsStringExt", + "source": "super::ffi::OsStringExt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 50, + 36 + ], + "end": [ + 50, + 47 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5612": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5612, + "inner": { + "use": { + "id": 2927, + "is_glob": false, + "name": "FileTypeExt", + "source": "super::fs::FileTypeExt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 53, + 5 + ], + "end": [ + 53, + 36 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5613": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5613, + "inner": { + "use": { + "id": 2763, + "is_glob": false, + "name": "DirEntryExt", + "source": "super::fs::DirEntryExt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 56, + 25 + ], + "end": [ + 56, + 36 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5614": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5614, + "inner": { + "use": { + "id": 2528, + "is_glob": false, + "name": "FileExt", + "source": "super::fs::FileExt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 56, + 38 + ], + "end": [ + 56, + 45 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5615": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5615, + "inner": { + "use": { + "id": 2699, + "is_glob": false, + "name": "MetadataExt", + "source": "super::fs::MetadataExt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 56, + 47 + ], + "end": [ + 56, + 58 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5616": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5616, + "inner": { + "use": { + "id": 2811, + "is_glob": false, + "name": "OpenOptionsExt", + "source": "super::fs::OpenOptionsExt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 56, + 60 + ], + "end": [ + 56, + 74 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5617": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5617, + "inner": { + "use": { + "id": 2560, + "is_glob": false, + "name": "AsFd", + "source": "super::io::AsFd" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 59, + 25 + ], + "end": [ + 59, + 29 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5618": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5618, + "inner": { + "use": { + "id": 2550, + "is_glob": false, + "name": "AsRawFd", + "source": "super::io::AsRawFd" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 59, + 31 + ], + "end": [ + 59, + 38 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5619": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5619, + "inner": { + "use": { + "id": 2558, + "is_glob": false, + "name": "BorrowedFd", + "source": "super::io::BorrowedFd" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 59, + 40 + ], + "end": [ + 59, + 50 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "562": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 562, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 85, + 1 + ], + "end": [ + 87, + 14 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "5620": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5620, + "inner": { + "use": { + "id": 2553, + "is_glob": false, + "name": "FromRawFd", + "source": "super::io::FromRawFd" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 59, + 52 + ], + "end": [ + 59, + 61 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5621": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5621, + "inner": { + "use": { + "id": 2556, + "is_glob": false, + "name": "IntoRawFd", + "source": "super::io::IntoRawFd" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 59, + 63 + ], + "end": [ + 59, + 72 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5622": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5622, + "inner": { + "use": { + "id": 2562, + "is_glob": false, + "name": "OwnedFd", + "source": "super::io::OwnedFd" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 59, + 74 + ], + "end": [ + 59, + 81 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5623": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5623, + "inner": { + "use": { + "id": 2548, + "is_glob": false, + "name": "RawFd", + "source": "super::io::RawFd" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 59, + 83 + ], + "end": [ + 59, + 88 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5624": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A prelude for conveniently writing platform-specific code.\n\nIncludes all extension traits, and some important type definitions.", + "id": 5624, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 5610, + 5611, + 5612, + 5613, + 5614, + 5615, + 5616, + 5617, + 5618, + 5619, + 5620, + 5621, + 5622, + 5623 + ] + } + }, + "links": {}, + "name": "prelude", + "span": { + "begin": [ + 47, + 1 + ], + "end": [ + 47, + 16 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5625": { + "attrs": [ + { + "other": "#[(not(all(doc,\nany(all(target_arch = \"wasm32\", not(target_os = \"wasi\")),\nall(target_vendor = \"fortanix\", target_env = \"sgx\")))))]" + }, + { + "other": "#[(any(target_os = \"wasi\", any(target_env = \"p1\", target_env = \"p2\"),\ndoc))]" + }, + { + "other": "#[(not(target_env = \"p2\"),\nstable(feature = \"rust1\", since = \"1.0.0\"))]" + }, + { + "other": "#[(target_env = \"p2\", unstable(feature = \"wasip2\", issue = \"none\"))]" + }, + { + "other": "#[forbid(unsafe_op_in_unsafe_fn)]" + }, + { + "other": "#[doc(cfg(target_os = \"wasi\"))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Platform-specific extensions to `std` for the WebAssembly System Interface (WASI).\n\nProvides access to platform-level information on WASI, and exposes\nWASI-specific functions that would otherwise be inappropriate as\npart of the core `std` library.\n\nIt exposes more ways to deal with platform-specific strings (`OsStr`,\n`OsString`), allows to set permissions more granularly, extract low-level\nfile descriptors from files and sockets, and has platform-specific helpers\nfor spawning processes.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::os::wasi::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let f = File::create(\"foo.txt\")?;\n let fd = f.as_raw_fd();\n\n // use fd with native WASI bindings\n\n Ok(())\n}\n```\n\n[`OsStr`]: crate::ffi::OsStr\n[`OsString`]: crate::ffi::OsString", + "id": 5625, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 5565, + 5607, + 5609, + 5624 + ] + } + }, + "links": { + "crate::ffi::OsStr": 1719, + "crate::ffi::OsString": 1708 + }, + "name": "wasi", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 60, + 2 + ], + "filename": "std/src/os/wasi/mod.rs" + }, + "visibility": "public" + }, + "5626": { + "attrs": [ + { + "other": "#[(any(all(target_os = \"wasi\", target_env = \"p2\"), doc))]" + }, + { + "other": "#[forbid(unsafe_op_in_unsafe_fn)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Platform-specific extensions to `std` for Preview 2 of the WebAssembly System Interface (WASI).\n\nThis module is currently empty, but will be filled over time as wasi-libc support for WASI Preview 2 is stabilized.", + "id": 5626, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [] + } + }, + "links": {}, + "name": "wasip2", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 6, + 49 + ], + "filename": "std/src/os/wasip2/mod.rs" + }, + "visibility": "public" + }, + "5628": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5628, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5629": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5629, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "563": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 563, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + } + } + } + }, + "links": {}, + "name": "clone", + "span": { + "begin": [ + 1447, + 10 + ], + "end": [ + 1447, + 15 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5630": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5630, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5631": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5631, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5632": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5632, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5633": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5633, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5634": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5634, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "5635": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5635, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "id": 468, - "path": "io::Result" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, "links": {}, - "name": "rename", + "name": null, "span": { "begin": [ - 514, + 221, 1 ], "end": [ - 525, - 2 + 221, + 41 ], - "filename": "std/src/os/wasi/fs.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "56": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "5636": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 56, + "id": 5636, "inner": { - "use": { - "id": 57, - "is_glob": false, - "name": "Result", - "source": "crate::result::Result" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 422 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 424, + "path": "CloneToUninit" + } } }, "links": {}, "name": null, "span": { "begin": [ - 44, - 33 + 515, + 1 ], "end": [ - 44, - 37 + 515, + 42 ], - "filename": "std/src/prelude/v1.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, - "visibility": "public" + "visibility": "default" }, - "560": { + "5637": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 560, + "id": 5637, "inner": { "impl": { "blanket_impl": { @@ -482001,9 +503234,18 @@ }, "for": { "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" } }, "generics": { @@ -482050,8 +503292,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 37, + "path": "From" } } } @@ -482068,8 +503310,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 325 ], "provided_trait_methods": [], "trait": { @@ -482085,8 +503326,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 39, + "path": "Into" } } }, @@ -482094,261 +503335,142 @@ "name": null, "span": { "begin": [ - 833, + 767, 1 ], "end": [ - 835, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5600": { - "attrs": [ - { - "other": "#[doc(alias = \"path_symlink\")]" - } - ], + "5638": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Creates a symbolic link.\n\nThis corresponds to the `path_symlink` syscall.", - "id": 5600, + "docs": null, + "id": 5638, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, "generics": { "params": [ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "crate::path::Path" - } - } - } - ], - "constraints": [] - } - }, - "id": 35, - "path": "AsRef" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "crate::path::Path" - } - } - } - ], - "constraints": [] - } - }, - "id": 35, - "path": "AsRef" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "U" + "name": "T" } ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "old_path", - { - "generic": "P" - } - ], - [ - "fd", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "resolved_path": { - "args": null, - "id": 2413, - "path": "crate::fs::File" - } + "generic": "T" } } - } - ], - [ - "new_path", - { - "generic": "U" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" + ], + "constraints": [] } - } + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "symlink", + "name": null, "span": { "begin": [ - 531, + 785, 1 ], "end": [ - 539, - 2 + 785, + 28 ], - "filename": "std/src/os/wasi/fs.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "5601": { + "5639": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Creates a symbolic link.\n\nThis is a convenience API similar to `std::os::unix::fs::symlink` and\n`std::os::windows::fs::symlink_file` and `std::os::windows::fs::symlink_dir`.", - "id": 5601, + "docs": null, + "id": 5639, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, "generics": { "params": [ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "crate::path::Path" - } - } - } - ], - "constraints": [] - } - }, - "id": 35, - "path": "AsRef" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "P" + "name": "T" }, { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "crate::path::Path" - } - } - } - ], - "constraints": [] - } - }, - "id": 35, - "path": "AsRef" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -482356,364 +503478,270 @@ "name": "U" } ], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "old_path", - { - "generic": "P" - } - ], - [ - "new_path", - { - "generic": "U" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "U" } - }, - "id": 468, - "path": "io::Result" + } } - } - } - } - }, - "links": {}, - "name": "symlink_path", - "span": { - "begin": [ - 545, - 1 - ], - "end": [ - 547, - 2 - ], - "filename": "std/src/os/wasi/fs.rs" - }, - "visibility": "public" - }, - "5602": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 71213, is_soft: false}, feature: \"wasi_ext\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "WASI-specific extensions to primitives in the [`std::fs`] module.\n\n[`std::fs`]: crate::fs", - "id": 5602, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, "items": [ - 2529, - 2811, - 2699, - 2927, - 2763, - 5598, - 5599, - 5600, - 5601 - ] - } - }, - "links": { - "crate::fs": 2424 - }, - "name": "fs", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 551, - 2 - ], - "filename": "std/src/os/wasi/fs.rs" - }, - "visibility": "public" - }, - "5603": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"io_safety_wasi\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5603, - "inner": { - "use": { - "id": 4929, - "is_glob": true, - "name": "fd", - "source": "crate::os::fd" + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } } }, "links": {}, "name": null, "span": { "begin": [ - 6, - 1 - ], - "end": [ - 6, - 26 - ], - "filename": "std/src/os/wasi/io/mod.rs" - }, - "visibility": "public" - }, - "5604": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"io_safety_wasi\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "WASI-specific extensions to general I/O primitives.", - "id": 5604, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 5603 - ] - } - }, - "links": {}, - "name": "io", - "span": { - "begin": [ - 1, + 811, 1 ], "end": [ - 10, - 11 - ], - "filename": "std/src/os/wasi/io/mod.rs" - }, - "visibility": "public" - }, - "5605": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5605, - "inner": { - "use": { - "id": 2251, - "is_glob": false, - "name": "OsStrExt", - "source": "super::ffi::OsStrExt" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 50, - 26 - ], - "end": [ - 50, - 34 - ], - "filename": "std/src/os/wasi/mod.rs" - }, - "visibility": "public" - }, - "5606": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5606, - "inner": { - "use": { - "id": 2093, - "is_glob": false, - "name": "OsStringExt", - "source": "super::ffi::OsStringExt" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 50, - 36 - ], - "end": [ - 50, - 47 + 813, + 27 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "5607": { + "564": { "attrs": [ - { - "other": "#[doc(no_inline)]" - }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5607, - "inner": { - "use": { - "id": 2927, - "is_glob": false, - "name": "FileTypeExt", - "source": "super::fs::FileTypeExt" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 53, - 5 - ], - "end": [ - 53, - 36 - ], - "filename": "std/src/os/wasi/mod.rs" - }, - "visibility": "public" - }, - "5608": { - "attrs": [ - { - "other": "#[doc(no_inline)]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5608, + "id": 564, "inner": { - "use": { - "id": 2763, - "is_glob": false, - "name": "DirEntryExt", - "source": "super::fs::DirEntryExt" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 563 + ], + "provided_trait_methods": [ + "clone_from" + ], + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } } }, "links": {}, "name": null, "span": { "begin": [ - 56, - 25 + 1447, + 10 ], "end": [ - 56, - 36 + 1447, + 15 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "std/src/thread/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "5609": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "5640": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5609, + "id": 5640, "inner": { - "use": { - "id": 2529, - "is_glob": false, - "name": "FileExt", - "source": "super::fs::FileExt" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } } }, "links": {}, "name": null, "span": { "begin": [ - 56, - 38 + 827, + 1 ], "end": [ - 56, - 45 + 829, + 24 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "561": { + "5641": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 561, + "id": 5641, "inner": { "impl": { "blanket_impl": { @@ -482721,9 +503749,18 @@ }, "for": { "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" } }, "generics": { @@ -482770,12 +503807,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -482795,447 +503832,899 @@ }, "visibility": "default" }, - "5610": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "5642": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5610, + "id": 5642, "inner": { - "use": { - "id": 2699, - "is_glob": false, - "name": "MetadataExt", - "source": "super::fs::MetadataExt" + "impl": { + "blanket_impl": { + "generic": "I" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "I" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 49, + "path": "Iterator" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "I" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 858, + 859, + 860 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 47, + "path": "IntoIterator" + } } }, "links": {}, "name": null, "span": { "begin": [ - 56, - 47 + 314, + 1 ], "end": [ - 56, - 58 + 314, + 37 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" }, - "visibility": "public" + "visibility": "default" }, - "5611": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "5643": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5611, + "id": 5643, "inner": { - "use": { - "id": 2811, - "is_glob": false, - "name": "OpenOptionsExt", - "source": "super::fs::OpenOptionsExt" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } } }, "links": {}, "name": null, "span": { "begin": [ - 56, - 60 + 85, + 1 ], "end": [ - 56, - 74 + 87, + 14 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "5612": { + "5644": { "attrs": [ { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5612, + "id": 5644, "inner": { - "use": { - "id": 2560, - "is_glob": false, - "name": "AsFd", - "source": "super::io::AsFd" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + } + } } }, "links": {}, - "name": null, + "name": "clone", "span": { "begin": [ - 59, - 25 + 140, + 10 ], "end": [ - 59, - 29 + 140, + 15 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "std/src/os/windows/ffi.rs" }, - "visibility": "public" + "visibility": "default" }, - "5613": { + "5645": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[doc(cfg(windows))]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5613, + "id": 5645, "inner": { - "use": { - "id": 2550, - "is_glob": false, - "name": "AsRawFd", - "source": "super::io::AsRawFd" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 5644 + ], + "provided_trait_methods": [ + "clone_from" + ], + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } } }, "links": {}, "name": null, "span": { "begin": [ - 59, - 31 + 140, + 10 ], "end": [ - 59, - 38 + 140, + 15 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "std/src/os/windows/ffi.rs" }, - "visibility": "public" + "visibility": "default" }, - "5614": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "5646": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5614, + "id": 5646, "inner": { - "use": { - "id": 2558, - "is_glob": false, - "name": "BorrowedFd", - "source": "super::io::BorrowedFd" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } } }, "links": {}, - "name": null, + "name": "fmt", "span": { "begin": [ - 59, - 40 + 146, + 5 ], "end": [ - 59, - 50 + 148, + 6 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "std/src/os/windows/ffi.rs" }, - "visibility": "public" + "visibility": "default" }, - "5615": { + "5647": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[doc(cfg(windows))]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"encode_wide_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5615, + "id": 5647, "inner": { - "use": { - "id": 2553, - "is_glob": false, - "name": "FromRawFd", - "source": "super::io::FromRawFd" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 5646 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } } }, "links": {}, "name": null, "span": { "begin": [ - 59, - 52 + 145, + 1 ], "end": [ - 59, - 61 + 149, + 2 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "std/src/os/windows/ffi.rs" }, - "visibility": "public" + "visibility": "default" }, - "5616": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "5648": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5616, + "id": 5648, "inner": { - "use": { - "id": 2556, - "is_glob": false, - "name": "IntoRawFd", - "source": "super::io::IntoRawFd" + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "primitive": "u16" + } } }, "links": {}, - "name": null, + "name": "Item", "span": { "begin": [ - 59, - 63 + 152, + 5 ], "end": [ - 59, - 72 + 152, + 21 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "std/src/os/windows/ffi.rs" }, - "visibility": "public" + "visibility": "default" }, - "5617": { + "5649": { "attrs": [ { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5617, + "id": 5649, "inner": { - "use": { - "id": 2562, - "is_glob": false, - "name": "OwnedFd", - "source": "super::io::OwnedFd" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u16" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": null, + "name": "next", "span": { "begin": [ - 59, - 74 + 155, + 5 ], "end": [ - 59, - 81 + 157, + 6 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "std/src/os/windows/ffi.rs" }, - "visibility": "public" + "visibility": "default" }, - "5618": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "565": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5618, + "id": 565, "inner": { - "use": { - "id": 2548, - "is_glob": false, - "name": "RawFd", - "source": "super::io::RawFd" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } } }, "links": {}, - "name": null, + "name": "fmt", "span": { "begin": [ - 59, - 83 + 1690, + 5 ], "end": [ - 59, - 88 + 1695, + 6 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "std/src/thread/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "5619": { + "5650": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "A prelude for conveniently writing platform-specific code.\n\nIncludes all extension traits, and some important type definitions.", - "id": 5619, + "docs": null, + "id": 5650, "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 5605, - 5606, - 5607, - 5608, - 5609, - 5610, - 5611, - 5612, - 5613, - 5614, - 5615, - 5616, - 5617, - 5618 - ] + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "primitive": "usize" + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + ] + } + } } }, "links": {}, - "name": "prelude", + "name": "size_hint", "span": { "begin": [ - 47, - 1 + 160, + 5 ], "end": [ - 47, - 16 + 162, + 6 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "std/src/os/windows/ffi.rs" }, - "visibility": "public" + "visibility": "default" }, - "562": { - "attrs": [], + "5651": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 562, + "id": 5651, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } + "lifetime": "'_" } ], - "generic_params": [], - "type": { - "generic": "T" - } + "constraints": [] } - } - ] + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 430, - 431, - 432 + 5648, + 5649, + 5650 ], "provided_trait_methods": [ - "clone_into" + "next_chunk", + "size_hint", + "count", + "last", + "advance_by", + "nth", + "step_by", + "chain", + "zip", + "intersperse", + "intersperse_with", + "map", + "for_each", + "filter", + "filter_map", + "enumerate", + "peekable", + "skip_while", + "take_while", + "map_while", + "skip", + "take", + "scan", + "flat_map", + "flatten", + "map_windows", + "fuse", + "inspect", + "by_ref", + "collect", + "try_collect", + "collect_into", + "partition", + "partition_in_place", + "is_partitioned", + "try_fold", + "try_for_each", + "fold", + "reduce", + "try_reduce", + "all", + "any", + "find", + "find_map", + "try_find", + "position", + "rposition", + "max", + "min", + "max_by_key", + "max_by", + "min_by_key", + "min_by", + "rev", + "unzip", + "copied", + "cloned", + "cycle", + "array_chunks", + "sum", + "product", + "cmp", + "cmp_by", + "partial_cmp", + "partial_cmp_by", + "eq", + "eq_by", + "ne", + "lt", + "le", + "gt", + "ge", + "is_sorted", + "is_sorted_by", + "is_sorted_by_key", + "__iterator_get_unchecked" ], "trait": { "args": null, - "id": 157, - "path": "ToOwned" + "id": 49, + "path": "Iterator" } } }, @@ -483243,147 +504732,81 @@ "name": null, "span": { "begin": [ - 82, - 1 - ], - "end": [ - 84, - 14 - ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" - }, - "visibility": "default" - }, - "5620": { - "attrs": [ - { - "other": "#[(not(all(doc,\nany(all(target_arch = \"wasm32\", not(target_os = \"wasi\")),\nall(target_vendor = \"fortanix\", target_env = \"sgx\")))))]" - }, - { - "other": "#[(any(target_os = \"wasi\", doc))]" - }, - { - "other": "#[(not(target_env = \"p2\"),\nstable(feature = \"rust1\", since = \"1.0.0\"))]" - }, - { - "other": "#[(target_env = \"p2\", unstable(feature = \"wasip2\", issue = \"none\"))]" - }, - { - "other": "#[forbid(unsafe_op_in_unsafe_fn)]" - }, - { - "other": "#[doc(cfg(target_os = \"wasi\"))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Platform-specific extensions to `std` for the WebAssembly System Interface (WASI).\n\nProvides access to platform-level information on WASI, and exposes\nWASI-specific functions that would otherwise be inappropriate as\npart of the core `std` library.\n\nIt exposes more ways to deal with platform-specific strings (`OsStr`,\n`OsString`), allows to set permissions more granularly, extract low-level\nfile descriptors from files and sockets, and has platform-specific helpers\nfor spawning processes.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::os::wasi::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let f = File::create(\"foo.txt\")?;\n let fd = f.as_raw_fd();\n\n // use fd with native WASI bindings\n\n Ok(())\n}\n```\n\n[`OsStr`]: crate::ffi::OsStr\n[`OsString`]: crate::ffi::OsString", - "id": 5620, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 5560, - 5602, - 5604, - 5619 - ] - } - }, - "links": { - "crate::ffi::OsStr": 1720, - "crate::ffi::OsString": 1709 - }, - "name": "wasi", - "span": { - "begin": [ - 1, + 151, 1 ], "end": [ - 60, + 163, 2 ], - "filename": "std/src/os/wasi/mod.rs" + "filename": "std/src/os/windows/ffi.rs" }, - "visibility": "public" + "visibility": "default" }, - "5621": { + "5652": { "attrs": [ { - "other": "#[(any(all(target_os = \"wasi\", target_env = \"p2\"), doc))]" - }, - { - "other": "#[forbid(unsafe_op_in_unsafe_fn)]" + "other": "#[doc(cfg(windows))]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Platform-specific extensions to `std` for Preview 2 of the WebAssembly System Interface (WASI).\n\nThis module is currently empty, but will be filled over time as wasi-libc support for WASI Preview 2 is stabilized.", - "id": 5621, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [] - } - }, - "links": {}, - "name": "wasip2", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 6, - 49 - ], - "filename": "std/src/os/wasip2/mod.rs" - }, - "visibility": "public" - }, - "5622": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 62, patch: 0})}, feature: \"encode_wide_fused_iterator\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5622, + "id": 5652, "inner": { - "use": { - "id": 2253, - "is_glob": false, - "name": "EncodeWide", - "source": "crate::sys_common::wtf8::EncodeWide" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2251, + "path": "EncodeWide" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 878, + "path": "FusedIterator" + } } }, "links": {}, "name": null, "span": { "begin": [ - 60, + 165, 1 ], "end": [ - 60, - 45 + 165, + 41 ], "filename": "std/src/os/windows/ffi.rs" }, - "visibility": "public" + "visibility": "default" }, - "5623": { + "5653": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -483392,29 +504815,29 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to primitives in the [`std::ffi`] module.\n\n# Overview\n\nFor historical reasons, the Windows API uses a form of potentially\nill-formed UTF-16 encoding for strings. Specifically, the 16-bit\ncode units in Windows strings may contain [isolated surrogate code\npoints which are not paired together][ill-formed-utf-16]. The\nUnicode standard requires that surrogate code points (those in the\nrange U+D800 to U+DFFF) always be *paired*, because in the UTF-16\nencoding a *surrogate code unit pair* is used to encode a single\ncharacter. For compatibility with code that does not enforce\nthese pairings, Windows does not enforce them, either.\n\nWhile it is not always possible to convert such a string losslessly into\na valid UTF-16 string (or even UTF-8), it is often desirable to be\nable to round-trip such a string from and to Windows APIs\nlosslessly. For example, some Rust code may be \"bridging\" some\nWindows APIs together, just passing `WCHAR` strings among those\nAPIs without ever really looking into the strings.\n\nIf Rust code *does* need to look into those strings, it can\nconvert them to valid UTF-8, possibly lossily, by substituting\ninvalid sequences with [`U+FFFD REPLACEMENT CHARACTER`][U+FFFD], as is\nconventionally done in other Rust APIs that deal with string\nencodings.\n\n# `OsStringExt` and `OsStrExt`\n\n[`OsString`] is the Rust wrapper for owned strings in the\npreferred representation of the operating system. On Windows,\nthis struct gets augmented with an implementation of the\n[`OsStringExt`] trait, which has an [`OsStringExt::from_wide`] method. This\nlets you create an [`OsString`] from a `&[u16]` slice; presumably\nyou get such a slice out of a `WCHAR` Windows API.\n\nSimilarly, [`OsStr`] is the Rust wrapper for borrowed strings from\npreferred representation of the operating system. On Windows, the\n[`OsStrExt`] trait provides the [`OsStrExt::encode_wide`] method, which\noutputs an [`EncodeWide`] iterator. You can [`collect`] this\niterator, for example, to obtain a `Vec`; you can later get a\npointer to this vector's contents and feed it to Windows APIs.\n\nThese traits, along with [`OsString`] and [`OsStr`], work in\nconjunction so that it is possible to **round-trip** strings from\nWindows and back, with no loss of data, even if the strings are\nill-formed UTF-16.\n\n[ill-formed-utf-16]: https://simonsapin.github.io/wtf-8/#ill-formed-utf-16\n[`collect`]: crate::iter::Iterator::collect\n[U+FFFD]: crate::char::REPLACEMENT_CHARACTER\n[`std::ffi`]: crate::ffi", - "id": 5623, + "id": 5653, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5622, - 2096, - 2255 + 2094, + 2253, + 2251 ] } }, "links": { - "`EncodeWide`": 2253, - "`OsStrExt::encode_wide`": 2403, - "`OsStrExt`": 2255, - "`OsStr`": 1720, - "`OsStringExt::from_wide`": 2405, - "`OsStringExt`": 2096, - "`OsString`": 1709, - "crate::char::REPLACEMENT_CHARACTER": 2139, - "crate::ffi": 1934, - "crate::iter::Iterator::collect": 1653 + "`EncodeWide`": 2251, + "`OsStrExt::encode_wide`": 2401, + "`OsStrExt`": 2253, + "`OsStr`": 1719, + "`OsStringExt::from_wide`": 2403, + "`OsStringExt`": 2094, + "`OsString`": 1708, + "crate::char::REPLACEMENT_CHARACTER": 2137, + "crate::ffi": 1932, + "crate::iter::Iterator::collect": 1652 }, "name": "ffi", "span": { @@ -483423,14 +504846,14 @@ 1 ], "end": [ - 135, - 2 + 165, + 41 ], "filename": "std/src/os/windows/ffi.rs" }, "visibility": "public" }, - "5624": { + "5654": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"file_offset\"}}]" @@ -483439,7 +504862,7 @@ "crate_id": 0, "deprecation": null, "docs": "Seeks to a given position and reads a number of bytes.\n\nReturns the number of bytes read.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor. The current cursor **is** affected by this\nfunction, it is set to the end of the read.\n\nReading beyond the end of the file will always return with a length of\n0\\.\n\nNote that similar to `File::read`, it is not an error to return with a\nshort read. When returning from such a short read, the file pointer is\nstill updated.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::fs::File;\nuse std::os::windows::prelude::*;\n\nfn main() -> io::Result<()> {\n let mut file = File::open(\"foo.txt\")?;\n let mut buffer = [0; 10];\n\n // Read 10 bytes, starting 72 bytes from the\n // start of the file.\n file.seek_read(&mut buffer[..], 72)?;\n Ok(())\n}\n```", - "id": 5624, + "id": 5654, "inner": { "function": { "generics": { @@ -483503,7 +504926,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -483514,34 +504937,34 @@ "name": "seek_read", "span": { "begin": [ - 50, + 51, 5 ], "end": [ - 50, + 51, 75 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5625": { + "5655": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"file_offset\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140771, is_soft: false}, feature: \"read_buf_at\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Seeks to a given position and writes a number of bytes.\n\nReturns the number of bytes written.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor. The current cursor **is** affected by this\nfunction, it is set to the end of the write.\n\nWhen writing beyond the end of the file, the file is appropriately\nextended and the intermediate bytes are set to zero.\n\nNote that similar to `File::write`, it is not an error to return a\nshort write. When returning from such a short write, the file pointer\nis still updated.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::os::windows::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let mut buffer = File::create(\"foo.txt\")?;\n\n // Write a byte string starting 72 bytes from\n // the start of the file.\n buffer.seek_write(b\"some bytes\", 72)?;\n Ok(())\n}\n```", - "id": 5625, + "docs": "Seeks to a given position and reads some bytes into the buffer.\n\nThis is equivalent to the [`seek_read`](FileExt::seek_read) method, except that it is passed\na [`BorrowedCursor`] rather than `&mut [u8]` to allow use with uninitialized buffers. The\nnew data will be appended to any existing contents of `buf`.\n\nReading beyond the end of the file will always succeed without reading any bytes.\n\n# Examples\n\n```no_run\n#![feature(core_io_borrowed_buf)]\n#![feature(read_buf_at)]\n\nuse std::io;\nuse std::io::BorrowedBuf;\nuse std::fs::File;\nuse std::mem::MaybeUninit;\nuse std::os::windows::prelude::*;\n\nfn main() -> io::Result<()> {\n let mut file = File::open(\"pi.txt\")?;\n\n // Read some bytes starting from offset 2\n let mut buf: [MaybeUninit; 10] = [MaybeUninit::uninit(); 10];\n let mut buf = BorrowedBuf::from(buf.as_mut_slice());\n file.seek_read_buf(buf.unfilled(), 2)?;\n\n assert!(buf.filled().starts_with(b\"1\"));\n\n Ok(())\n}\n```", + "id": 5655, "inner": { "function": { "generics": { "params": [], "where_predicates": [] }, - "has_body": false, + "has_body": true, "header": { "abi": "Rust", "is_async": false, @@ -483565,14 +504988,19 @@ [ "buf", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - } + }, + "id": 2468, + "path": "BorrowedCursor" } } ], @@ -483591,45 +505019,48 @@ "args": [ { "type": { - "primitive": "usize" + "tuple": [] } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } } } }, - "links": {}, - "name": "seek_write", + "links": { + "FileExt::seek_read": 5654, + "`BorrowedCursor`": 2468 + }, + "name": "seek_read_buf", "span": { "begin": [ - 83, + 87, 5 ], "end": [ - 83, - 72 + 89, + 6 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5626": { + "5656": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"open_options_ext\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"file_offset\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Overrides the `dwDesiredAccess` argument to the call to [`CreateFile`]\nwith the specified value.\n\nThis will override the `read`, `write`, and `append` flags on the\n`OpenOptions` structure. This method provides fine-grained control over\nthe permissions to read, write and append data, attributes (like hidden\nand system), and extended attributes.\n\n# Examples\n\n```no_run\nuse std::fs::OpenOptions;\nuse std::os::windows::prelude::*;\n\n// Open without read and write permission, for example if you only need\n// to call `stat` on the file\nlet file = OpenOptions::new().access_mode(0).open(\"foo.txt\");\n```\n\n[`CreateFile`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea", - "id": 5626, + "docs": "Seeks to a given position and writes a number of bytes.\n\nReturns the number of bytes written.\n\nThe offset is relative to the start of the file and thus independent\nfrom the current cursor. The current cursor **is** affected by this\nfunction, it is set to the end of the write.\n\nWhen writing beyond the end of the file, the file is appropriately\nextended and the intermediate bytes are set to zero.\n\nNote that similar to `File::write`, it is not an error to return a\nshort write. When returning from such a short write, the file pointer\nis still updated.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::os::windows::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let mut buffer = File::create(\"foo.txt\")?;\n\n // Write a byte string starting 72 bytes from\n // the start of the file.\n buffer.seek_write(b\"some bytes\", 72)?;\n Ok(())\n}\n```", + "id": 5656, "inner": { "function": { "generics": { @@ -483649,7 +505080,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -483658,41 +505089,64 @@ } ], [ - "access", + "buf", { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ], + [ + "offset", + { + "primitive": "u64" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" } } } } }, "links": {}, - "name": "access_mode", + "name": "seek_write", "span": { "begin": [ - 121, + 122, 5 ], "end": [ - 121, - 57 + 122, + 72 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5627": { + "5657": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"open_options_ext\"}}]" @@ -483700,8 +505154,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Overrides the `dwShareMode` argument to the call to [`CreateFile`] with\nthe specified value.\n\nBy default `share_mode` is set to\n`FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE`. This allows\nother processes to read, write, and delete/rename the same file\nwhile it is open. Removing any of the flags will prevent other\nprocesses from performing the corresponding operation until the file\nhandle is closed.\n\n# Examples\n\n```no_run\nuse std::fs::OpenOptions;\nuse std::os::windows::prelude::*;\n\n// Do not allow others to read or modify this file while we have it open\n// for writing.\nlet file = OpenOptions::new()\n .write(true)\n .share_mode(0)\n .open(\"foo.txt\");\n```\n\n[`CreateFile`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea", - "id": 5627, + "docs": "Overrides the `dwDesiredAccess` argument to the call to [`CreateFile`]\nwith the specified value.\n\nThis will override the `read`, `write`, and `append` flags on the\n`OpenOptions` structure. This method provides fine-grained control over\nthe permissions to read, write and append data, attributes (like hidden\nand system), and extended attributes.\n\n# Examples\n\n```no_run\nuse std::fs::OpenOptions;\nuse std::os::windows::prelude::*;\n\n// Open without read and write permission, for example if you only need\n// to call `stat` on the file\nlet file = OpenOptions::new().access_mode(0).open(\"foo.txt\");\n```\n\n[`CreateFile`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea", + "id": 5657, "inner": { "function": { "generics": { @@ -483730,7 +505184,7 @@ } ], [ - "val", + "access", { "primitive": "u32" } @@ -483750,21 +505204,21 @@ } }, "links": {}, - "name": "share_mode", + "name": "access_mode", "span": { "begin": [ - 149, + 164, 5 ], "end": [ - 149, - 53 + 164, + 57 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5628": { + "5658": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"open_options_ext\"}}]" @@ -483772,8 +505226,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Sets extra flags for the `dwFileFlags` argument to the call to\n[`CreateFile2`] to the specified value (or combines it with\n`attributes` and `security_qos_flags` to set the `dwFlagsAndAttributes`\nfor [`CreateFile`]).\n\nCustom flags can only set flags, not remove flags set by Rust's options.\nThis option overwrites any previously set custom flags.\n\n# Examples\n\n```no_run\n# #![allow(unexpected_cfgs)]\n# #[cfg(for_demonstration_only)]\nextern crate winapi;\n# mod winapi { pub const FILE_FLAG_DELETE_ON_CLOSE: u32 = 0x04000000; }\n\nuse std::fs::OpenOptions;\nuse std::os::windows::prelude::*;\n\nlet file = OpenOptions::new()\n .create(true)\n .write(true)\n .custom_flags(winapi::FILE_FLAG_DELETE_ON_CLOSE)\n .open(\"foo.txt\");\n```\n\n[`CreateFile`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea\n[`CreateFile2`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfile2", - "id": 5628, + "docs": "Overrides the `dwShareMode` argument to the call to [`CreateFile`] with\nthe specified value.\n\nBy default `share_mode` is set to\n`FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE`. This allows\nother processes to read, write, and delete/rename the same file\nwhile it is open. Removing any of the flags will prevent other\nprocesses from performing the corresponding operation until the file\nhandle is closed.\n\n# Examples\n\n```no_run\nuse std::fs::OpenOptions;\nuse std::os::windows::prelude::*;\n\n// Do not allow others to read or modify this file while we have it open\n// for writing.\nlet file = OpenOptions::new()\n .write(true)\n .share_mode(0)\n .open(\"foo.txt\");\n```\n\n[`CreateFile`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea", + "id": 5658, "inner": { "function": { "generics": { @@ -483802,7 +505256,7 @@ } ], [ - "flags", + "val", { "primitive": "u32" } @@ -483822,21 +505276,21 @@ } }, "links": {}, - "name": "custom_flags", + "name": "share_mode", "span": { "begin": [ - 180, + 192, 5 ], "end": [ - 180, - 57 + 192, + 53 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5629": { + "5659": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"open_options_ext\"}}]" @@ -483844,8 +505298,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Sets the `dwFileAttributes` argument to the call to [`CreateFile2`] to\nthe specified value (or combines it with `custom_flags` and\n`security_qos_flags` to set the `dwFlagsAndAttributes` for\n[`CreateFile`]).\n\nIf a _new_ file is created because it does not yet exist and\n`.create(true)` or `.create_new(true)` are specified, the new file is\ngiven the attributes declared with `.attributes()`.\n\nIf an _existing_ file is opened with `.create(true).truncate(true)`, its\nexisting attributes are preserved and combined with the ones declared\nwith `.attributes()`.\n\nIn all other cases the attributes get ignored.\n\n# Examples\n\n```no_run\n# #![allow(unexpected_cfgs)]\n# #[cfg(for_demonstration_only)]\nextern crate winapi;\n# mod winapi { pub const FILE_ATTRIBUTE_HIDDEN: u32 = 2; }\n\nuse std::fs::OpenOptions;\nuse std::os::windows::prelude::*;\n\nlet file = OpenOptions::new()\n .write(true)\n .create(true)\n .attributes(winapi::FILE_ATTRIBUTE_HIDDEN)\n .open(\"foo.txt\");\n```\n\n[`CreateFile`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea\n[`CreateFile2`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfile2", - "id": 5629, + "docs": "Sets extra flags for the `dwFileFlags` argument to the call to\n[`CreateFile2`] to the specified value (or combines it with\n`attributes` and `security_qos_flags` to set the `dwFlagsAndAttributes`\nfor [`CreateFile`]).\n\nCustom flags can only set flags, not remove flags set by Rust's options.\nThis option overwrites any previously set custom flags.\n\n# Examples\n\n```no_run\n# #![allow(unexpected_cfgs)]\n# #[cfg(for_demonstration_only)]\nextern crate winapi;\n# mod winapi { pub const FILE_FLAG_DELETE_ON_CLOSE: u32 = 0x04000000; }\n\nuse std::fs::OpenOptions;\nuse std::os::windows::prelude::*;\n\nlet file = OpenOptions::new()\n .create(true)\n .write(true)\n .custom_flags(winapi::FILE_FLAG_DELETE_ON_CLOSE)\n .open(\"foo.txt\");\n```\n\n[`CreateFile`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea\n[`CreateFile2`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfile2", + "id": 5659, "inner": { "function": { "generics": { @@ -483874,7 +505328,7 @@ } ], [ - "val", + "flags", { "primitive": "u32" } @@ -483894,37 +505348,90 @@ } }, "links": {}, - "name": "attributes", + "name": "custom_flags", "span": { "begin": [ - 218, + 223, 5 ], "end": [ - 218, - 53 + 223, + 57 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "563": { + "566": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 563, + "id": 566, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 347, + "path": "Thread" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 565 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1689, + 1 + ], + "end": [ + 1696, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5660": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"open_options_ext\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Sets the `dwFileAttributes` argument to the call to [`CreateFile2`] to\nthe specified value (or combines it with `custom_flags` and\n`security_qos_flags` to set the `dwFlagsAndAttributes` for\n[`CreateFile`]).\n\nIf a _new_ file is created because it does not yet exist and\n`.create(true)` or `.create_new(true)` are specified, the new file is\ngiven the attributes declared with `.attributes()`.\n\nIf an _existing_ file is opened with `.create(true).truncate(true)`, its\nexisting attributes are preserved and combined with the ones declared\nwith `.attributes()`.\n\nIn all other cases the attributes get ignored.\n\n# Examples\n\n```no_run\n# #![allow(unexpected_cfgs)]\n# #[cfg(for_demonstration_only)]\nextern crate winapi;\n# mod winapi { pub const FILE_ATTRIBUTE_HIDDEN: u32 = 2; }\n\nuse std::fs::OpenOptions;\nuse std::os::windows::prelude::*;\n\nlet file = OpenOptions::new()\n .write(true)\n .create(true)\n .attributes(winapi::FILE_ATTRIBUTE_HIDDEN)\n .open(\"foo.txt\");\n```\n\n[`CreateFile`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea\n[`CreateFile2`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfile2", + "id": 5660, "inner": { "function": { "generics": { "params": [], "where_predicates": [] }, - "has_body": true, + "has_body": false, "header": { "abi": "Rust", "is_async": false, @@ -483937,42 +505444,50 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "val", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } } } } } }, "links": {}, - "name": "clone", + "name": "attributes", "span": { "begin": [ - 1421, - 10 + 261, + 5 ], "end": [ - 1421, - 15 + 261, + 53 ], - "filename": "std/src/thread/mod.rs" + "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5630": { + "5661": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"open_options_ext\"}}]" @@ -483981,7 +505496,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the `dwSecurityQosFlags` argument to the call to [`CreateFile2`] to\nthe specified value (or combines it with `custom_flags` and `attributes`\nto set the `dwFlagsAndAttributes` for [`CreateFile`]).\n\nBy default `security_qos_flags` is not set. It should be specified when\nopening a named pipe, to control to which degree a server process can\nact on behalf of a client process (security impersonation level).\n\nWhen `security_qos_flags` is not set, a malicious program can gain the\nelevated privileges of a privileged Rust process when it allows opening\nuser-specified paths, by tricking it into opening a named pipe. So\narguably `security_qos_flags` should also be set when opening arbitrary\npaths. However the bits can then conflict with other flags, specifically\n`FILE_FLAG_OPEN_NO_RECALL`.\n\nFor information about possible values, see [Impersonation Levels] on the\nWindows Dev Center site. The `SECURITY_SQOS_PRESENT` flag is set\nautomatically when using this method.\n# Examples\n\n```no_run\n# #![allow(unexpected_cfgs)]\n# #[cfg(for_demonstration_only)]\nextern crate winapi;\n# mod winapi { pub const SECURITY_IDENTIFICATION: u32 = 0; }\nuse std::fs::OpenOptions;\nuse std::os::windows::prelude::*;\n\nlet file = OpenOptions::new()\n .write(true)\n .create(true)\n\n // Sets the flag value to `SecurityIdentification`.\n .security_qos_flags(winapi::SECURITY_IDENTIFICATION)\n\n .open(r\"\\\\.\\pipe\\MyPipe\");\n```\n\n[`CreateFile`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea\n[`CreateFile2`]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfile2\n[Impersonation Levels]:\n https://docs.microsoft.com/en-us/windows/win32/api/winnt/ne-winnt-security_impersonation_level", - "id": 5630, + "id": 5661, "inner": { "function": { "generics": { @@ -484033,18 +505548,18 @@ "name": "security_qos_flags", "span": { "begin": [ - 264, + 307, 5 ], "end": [ - 264, + 307, 63 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5631": { + "5662": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -484053,7 +505568,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `dwFileAttributes` field of this metadata.\n\nThis field contains the file system attribute information for a file\nor directory. For possible values and their descriptions, see\n[File Attribute Constants] in the Windows Dev Center.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::fs;\nuse std::os::windows::prelude::*;\n\nfn main() -> io::Result<()> {\n let metadata = fs::metadata(\"foo.txt\")?;\n let attributes = metadata.file_attributes();\n Ok(())\n}\n```\n\n[File Attribute Constants]:\n https://docs.microsoft.com/windows/win32/fileio/file-attribute-constants", - "id": 5631, + "id": 5662, "inner": { "function": { "generics": { @@ -484093,18 +505608,18 @@ "name": "file_attributes", "span": { "begin": [ - 327, + 370, 5 ], "end": [ - 327, + 370, 38 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5632": { + "5663": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -484113,7 +505628,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `ftCreationTime` field of this metadata.\n\nThe returned 64-bit value is equivalent to a [`FILETIME`] struct,\nwhich represents the number of 100-nanosecond intervals since\nJanuary 1, 1601 (UTC). The struct is automatically\nconverted to a `u64` value, as that is the recommended way\nto use it.\n\nIf the underlying filesystem does not support creation time, the\nreturned value is 0.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::fs;\nuse std::os::windows::prelude::*;\n\nfn main() -> io::Result<()> {\n let metadata = fs::metadata(\"foo.txt\")?;\n let creation_time = metadata.creation_time();\n Ok(())\n}\n```\n\n[`FILETIME`]: https://docs.microsoft.com/windows/win32/api/minwinbase/ns-minwinbase-filetime", - "id": 5632, + "id": 5663, "inner": { "function": { "generics": { @@ -484153,18 +505668,18 @@ "name": "creation_time", "span": { "begin": [ - 356, + 399, 5 ], "end": [ - 356, + 399, 36 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5633": { + "5664": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -484173,7 +505688,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `ftLastAccessTime` field of this metadata.\n\nThe returned 64-bit value is equivalent to a [`FILETIME`] struct,\nwhich represents the number of 100-nanosecond intervals since\nJanuary 1, 1601 (UTC). The struct is automatically\nconverted to a `u64` value, as that is the recommended way\nto use it.\n\nFor a file, the value specifies the last time that a file was read\nfrom or written to. For a directory, the value specifies when\nthe directory was created. For both files and directories, the\nspecified date is correct, but the time of day is always set to\nmidnight.\n\nIf the underlying filesystem does not support last access time, the\nreturned value is 0.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::fs;\nuse std::os::windows::prelude::*;\n\nfn main() -> io::Result<()> {\n let metadata = fs::metadata(\"foo.txt\")?;\n let last_access_time = metadata.last_access_time();\n Ok(())\n}\n```\n\n[`FILETIME`]: https://docs.microsoft.com/windows/win32/api/minwinbase/ns-minwinbase-filetime", - "id": 5633, + "id": 5664, "inner": { "function": { "generics": { @@ -484213,18 +505728,18 @@ "name": "last_access_time", "span": { "begin": [ - 391, + 434, 5 ], "end": [ - 391, + 434, 39 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5634": { + "5665": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -484233,7 +505748,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `ftLastWriteTime` field of this metadata.\n\nThe returned 64-bit value is equivalent to a [`FILETIME`] struct,\nwhich represents the number of 100-nanosecond intervals since\nJanuary 1, 1601 (UTC). The struct is automatically\nconverted to a `u64` value, as that is the recommended way\nto use it.\n\nFor a file, the value specifies the last time that a file was written\nto. For a directory, the structure specifies when the directory was\ncreated.\n\nIf the underlying filesystem does not support the last write time,\nthe returned value is 0.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::fs;\nuse std::os::windows::prelude::*;\n\nfn main() -> io::Result<()> {\n let metadata = fs::metadata(\"foo.txt\")?;\n let last_write_time = metadata.last_write_time();\n Ok(())\n}\n```\n\n[`FILETIME`]: https://docs.microsoft.com/windows/win32/api/minwinbase/ns-minwinbase-filetime", - "id": 5634, + "id": 5665, "inner": { "function": { "generics": { @@ -484273,18 +505788,18 @@ "name": "last_write_time", "span": { "begin": [ - 424, + 467, 5 ], "end": [ - 424, + 467, 38 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5635": { + "5666": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"metadata_ext\"}}]" @@ -484293,7 +505808,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `nFileSize` fields of this\nmetadata.\n\nThe returned value does not have meaning for directories.\n\n# Examples\n\n```no_run\nuse std::io;\nuse std::fs;\nuse std::os::windows::prelude::*;\n\nfn main() -> io::Result<()> {\n let metadata = fs::metadata(\"foo.txt\")?;\n let file_size = metadata.file_size();\n Ok(())\n}\n```", - "id": 5635, + "id": 5666, "inner": { "function": { "generics": { @@ -484333,18 +505848,18 @@ "name": "file_size", "span": { "begin": [ - 445, + 488, 5 ], "end": [ - 445, + 488, 32 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5636": { + "5667": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 63010, is_soft: false}, feature: \"windows_by_handle\"}}]" @@ -484353,7 +505868,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `dwVolumeSerialNumber` field of this\nmetadata.\n\nThis will return `None` if the `Metadata` instance was created from a\ncall to `DirEntry::metadata`. If this `Metadata` was created by using\n`fs::metadata` or `File::metadata`, then this will return `Some`.", - "id": 5636, + "id": 5667, "inner": { "function": { "generics": { @@ -484408,18 +505923,18 @@ "name": "volume_serial_number", "span": { "begin": [ - 454, + 497, 5 ], "end": [ - 454, + 497, 51 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5637": { + "5668": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 63010, is_soft: false}, feature: \"windows_by_handle\"}}]" @@ -484428,7 +505943,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `nNumberOfLinks` field of this\nmetadata.\n\nThis will return `None` if the `Metadata` instance was created from a\ncall to `DirEntry::metadata`. If this `Metadata` was created by using\n`fs::metadata` or `File::metadata`, then this will return `Some`.", - "id": 5637, + "id": 5668, "inner": { "function": { "generics": { @@ -484483,18 +505998,18 @@ "name": "number_of_links", "span": { "begin": [ - 463, + 506, 5 ], "end": [ - 463, + 506, 46 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5638": { + "5669": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 63010, is_soft: false}, feature: \"windows_by_handle\"}}]" @@ -484503,7 +506018,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `nFileIndex` fields of this\nmetadata.\n\nThis will return `None` if the `Metadata` instance was created from a\ncall to `DirEntry::metadata`. If this `Metadata` was created by using\n`fs::metadata` or `File::metadata`, then this will return `Some`.", - "id": 5638, + "id": 5669, "inner": { "function": { "generics": { @@ -484558,18 +506073,109 @@ "name": "file_index", "span": { "begin": [ - 472, + 515, 5 ], "end": [ - 472, + 515, 41 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5639": { + "567": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"resume_unwind\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Triggers a panic without invoking the panic hook.\n\nThis is designed to be used in conjunction with [`catch_unwind`] to, for\nexample, carry a panic across a layer of C code.\n\n# Notes\n\nNote that panics in Rust are not always implemented via unwinding, but they\nmay be implemented by aborting the process. If this function is called when\npanics are implemented this way then this function will abort the process,\nnot trigger an unwind.\n\n# Examples\n\n```should_panic\nuse std::panic;\n\nlet result = panic::catch_unwind(|| {\n if 1 != 2 {\n panic!(\"oh no!\");\n }\n});\n\nif let Err(err) = result {\n panic::resume_unwind(err);\n}\n```", + "id": 567, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "payload", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "dyn_trait": { + "lifetime": null, + "traits": [ + { + "generic_params": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + }, + { + "generic_params": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + ] + } + } + } + ], + "constraints": [] + } + }, + "id": 157, + "path": "Box" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "never" + } + } + } + }, + "links": { + "`catch_unwind`": 6276 + }, + "name": "resume_unwind", + "span": { + "begin": [ + 390, + 1 + ], + "end": [ + 392, + 2 + ], + "filename": "std/src/panic.rs" + }, + "visibility": "public" + }, + "5670": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121478, is_soft: false}, feature: \"windows_change_time\"}}]" @@ -484578,7 +506184,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the value of the `ChangeTime` fields of this metadata.\n\n`ChangeTime` is the last time file metadata was changed, such as\nrenames, attributes, etc.\n\nThis will return `None` if `Metadata` instance was created from a call to\n`DirEntry::metadata` or if the `target_vendor` is outside the current platform\nsupport for this api.", - "id": 5639, + "id": 5670, "inner": { "function": { "generics": { @@ -484633,74 +506239,18 @@ "name": "change_time", "span": { "begin": [ - 483, + 526, 5 ], "end": [ - 483, + 526, 42 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "564": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 564, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 563 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1421, - 10 - ], - "end": [ - 1421, - 15 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5640": { + "5671": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"windows_file_type_ext\"}}]" @@ -484709,7 +506259,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is a symbolic link that is also a directory.", - "id": 5640, + "id": 5671, "inner": { "function": { "generics": { @@ -484749,18 +506299,18 @@ "name": "is_symlink_dir", "span": { "begin": [ - 524, + 567, 5 ], "end": [ - 524, + 567, 38 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5641": { + "5672": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"windows_file_type_ext\"}}]" @@ -484769,7 +506319,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if this file type is a symbolic link that is also a file.", - "id": 5641, + "id": 5672, "inner": { "function": { "generics": { @@ -484809,18 +506359,18 @@ "name": "is_symlink_file", "span": { "begin": [ - 527, + 570, 5 ], "end": [ - 527, + 570, 39 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5642": { + "5673": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 75, patch: 0})}, feature: \"file_set_times\"}}]" @@ -484829,7 +506379,7 @@ "crate_id": 0, "deprecation": null, "docs": "Set the creation time of a file.", - "id": 5642, + "id": 5673, "inner": { "function": { "generics": { @@ -484856,7 +506406,7 @@ { "resolved_path": { "args": null, - "id": 2448, + "id": 2446, "path": "SystemTime" } } @@ -484873,18 +506423,18 @@ "name": "set_created", "span": { "begin": [ - 548, + 591, 5 ], "end": [ - 548, + 591, 49 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "default" }, - "5643": { + "5674": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121709, is_soft: false}, feature: \"junction_point\"}}]" @@ -484893,7 +506443,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a junction point.\n\nThe `link` path will be a directory junction pointing to the original path.\nIf `link` is a relative path then it will be made absolute prior to creating the junction point.\nThe `original` path must be a directory or a link to a directory, otherwise the junction point will be broken.\n\nIf either path is not a local file path then this will fail.", - "id": 5643, + "id": 5674, "inner": { "function": { "generics": { @@ -484914,7 +506464,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -484951,7 +506501,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "crate::path::Path" } } @@ -485012,7 +506562,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -485023,18 +506573,18 @@ "name": "junction_point", "span": { "begin": [ - 645, + 688, 1 ], "end": [ - 647, + 690, 2 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "public" }, - "5644": { + "5675": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -485043,7 +506593,7 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to primitives in the [`std::fs`] module.\n\n[`std::fs`]: crate::fs", - "id": 5644, + "id": 5675, "inner": { "module": { "is_crate": false, @@ -485054,14 +506604,14 @@ 2710, 2931, 2851, - 2967, - 2968, - 5643 + 2969, + 2970, + 5674 ] } }, "links": { - "crate::fs": 2424 + "crate::fs": 2422 }, "name": "fs", "span": { @@ -485070,14 +506620,14 @@ 1 ], "end": [ - 647, + 690, 2 ], "filename": "std/src/os/windows/fs.rs" }, "visibility": "public" }, - "5647": { + "5678": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\", promotable: false}}]" @@ -485092,7 +506642,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a `BorrowedHandle` holding the given raw handle.\n\n# Safety\n\nThe resource pointed to by `handle` must be a valid open handle, it\nmust remain open for the duration of the returned `BorrowedHandle`.\n\nNote that it *may* have the value `INVALID_HANDLE_VALUE` (-1), which is\nsometimes a valid handle value. See [here] for the full story.\n\nAnd, it *may* have the value `NULL` (0), which can occur when consoles are\ndetached from processes, or when `windows_subsystem` is used.\n\n[here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443", - "id": 5647, + "id": 5678, "inner": { "function": { "generics": { @@ -485141,12 +506691,12 @@ }, "visibility": "public" }, - "5648": { + "5679": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5648, + "id": 5679, "inner": { "impl": { "blanket_impl": null, @@ -485174,7 +506724,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5647 + 5678 ], "provided_trait_methods": [], "trait": null @@ -485195,7 +506745,7 @@ }, "visibility": "default" }, - "5649": { + "5680": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -485204,7 +506754,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `OwnedHandle` instance that shares the same underlying\nobject as the existing `BorrowedHandle` instance.", - "id": 5649, + "id": 5680, "inner": { "function": { "generics": { @@ -485252,7 +506802,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "crate::io::Result" } } @@ -485274,97 +506824,12 @@ }, "visibility": "public" }, - "565": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 565, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1651, - 5 - ], - "end": [ - 1656, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5650": { + "5681": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5650, + "id": 5681, "inner": { "impl": { "blanket_impl": null, @@ -485392,7 +506857,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5649 + 5680 ], "provided_trait_methods": [], "trait": null @@ -485413,12 +506878,12 @@ }, "visibility": "default" }, - "5651": { + "5682": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5651, + "id": 5682, "inner": { "impl": { "blanket_impl": null, @@ -485458,7 +506923,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -485468,12 +506933,12 @@ "span": null, "visibility": "default" }, - "5652": { + "5683": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5652, + "id": 5683, "inner": { "impl": { "blanket_impl": null, @@ -485523,12 +506988,12 @@ "span": null, "visibility": "default" }, - "5653": { + "5684": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5653, + "id": 5684, "inner": { "impl": { "blanket_impl": null, @@ -485568,7 +507033,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -485578,12 +507043,12 @@ "span": null, "visibility": "default" }, - "5654": { + "5685": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5654, + "id": 5685, "inner": { "impl": { "blanket_impl": null, @@ -485623,7 +507088,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -485633,12 +507098,12 @@ "span": null, "visibility": "default" }, - "5655": { + "5686": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5655, + "id": 5686, "inner": { "impl": { "blanket_impl": { @@ -485701,7 +507166,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -485717,7 +507182,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -485726,23 +507191,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5656": { + "5687": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5656, + "id": 5687, "inner": { "impl": { "blanket_impl": { @@ -485805,7 +507270,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -485821,7 +507286,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -485830,23 +507295,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5657": { + "5688": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5657, + "id": 5688, "inner": { "impl": { "blanket_impl": { @@ -485891,7 +507356,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -485923,23 +507388,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "5658": { + "5689": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5658, + "id": 5689, "inner": { "impl": { "blanket_impl": { @@ -486023,7 +507488,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -486048,23 +507513,85 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5659": { + "569": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"thread_is_running\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Checks if the associated thread has finished running its main function.\n\n`is_finished` supports implementing a non-blocking join operation, by checking\n`is_finished`, and calling `join` if it returns `true`. This function does not block. To\nblock while waiting on the thread to finish, use [`join`][Self::join].\n\nThis might return `true` for a brief moment after the thread's main\nfunction has returned, but before the thread itself has stopped running.\nHowever, once this returns `true`, [`join`][Self::join] can be expected\nto return quickly, without blocking for any significant amount of time.", + "id": 569, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": { + "Self::join": 382 + }, + "name": "is_finished", + "span": { + "begin": [ + 1977, + 5 + ], + "end": [ + 1979, + 6 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "5690": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5659, + "id": 5690, "inner": { "impl": { "blanket_impl": { @@ -486105,7 +507632,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -486130,76 +507657,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "566": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 566, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 349, - "path": "Thread" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 565 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1650, - 1 - ], - "end": [ - 1657, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5660": { + "5691": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5660, + "id": 5691, "inner": { "impl": { "blanket_impl": { @@ -486265,7 +507739,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -486283,8 +507757,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -486300,7 +507774,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -486309,23 +507783,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5661": { + "5692": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5661, + "id": 5692, "inner": { "impl": { "blanket_impl": { @@ -486409,8 +507883,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -486426,7 +507900,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -486435,23 +507909,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5662": { + "5693": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5662, + "id": 5693, "inner": { "impl": { "blanket_impl": { @@ -486517,12 +507991,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -486542,12 +508016,12 @@ }, "visibility": "default" }, - "5663": { + "5694": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5663, + "id": 5694, "inner": { "impl": { "blanket_impl": { @@ -486592,7 +508066,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -486619,7 +508093,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -486628,18 +508102,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "5664": { + "5695": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -486652,7 +508126,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5664, + "id": 5695, "inner": { "impl": { "blanket_impl": null, @@ -486692,7 +508166,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -486712,7 +508186,7 @@ }, "visibility": "default" }, - "5665": { + "5696": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -486721,7 +508195,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5665, + "id": 5696, "inner": { "function": { "generics": { @@ -486785,7 +508259,7 @@ }, "visibility": "default" }, - "5666": { + "5697": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -486798,7 +508272,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5666, + "id": 5697, "inner": { "impl": { "blanket_impl": null, @@ -486835,14 +508309,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5665 + 5696 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -486862,7 +508336,7 @@ }, "visibility": "default" }, - "5667": { + "5698": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -486874,7 +508348,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5667, + "id": 5698, "inner": { "impl": { "blanket_impl": null, @@ -486925,7 +508399,7 @@ }, "visibility": "default" }, - "5668": { + "5699": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -486937,7 +508411,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5668, + "id": 5699, "inner": { "impl": { "blanket_impl": null, @@ -486988,7 +508462,76 @@ }, "visibility": "default" }, - "5669": { + "570": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 570, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 543, + 382, + 569 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1893, + 1 + ], + "end": [ + 1980, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5700": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -486997,7 +508540,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5669, + "id": 5700, "inner": { "function": { "generics": { @@ -487052,98 +508595,7 @@ }, "visibility": "default" }, - "567": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"resume_unwind\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Triggers a panic without invoking the panic hook.\n\nThis is designed to be used in conjunction with [`catch_unwind`] to, for\nexample, carry a panic across a layer of C code.\n\n# Notes\n\nNote that panics in Rust are not always implemented via unwinding, but they\nmay be implemented by aborting the process. If this function is called when\npanics are implemented this way then this function will abort the process,\nnot trigger an unwind.\n\n# Examples\n\n```should_panic\nuse std::panic;\n\nlet result = panic::catch_unwind(|| {\n if 1 != 2 {\n panic!(\"oh no!\");\n }\n});\n\nif let Err(err) = result {\n panic::resume_unwind(err);\n}\n```", - "id": 567, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "payload", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "dyn_trait": { - "lifetime": null, - "traits": [ - { - "generic_params": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - }, - { - "generic_params": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - ] - } - } - } - ], - "constraints": [] - } - }, - "id": 159, - "path": "Box" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "never" - } - } - } - }, - "links": { - "`catch_unwind`": 6243 - }, - "name": "resume_unwind", - "span": { - "begin": [ - 390, - 1 - ], - "end": [ - 392, - 2 - ], - "filename": "std/src/panic.rs" - }, - "visibility": "public" - }, - "5670": { + "5701": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -487155,7 +508607,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5670, + "id": 5701, "inner": { "impl": { "blanket_impl": null, @@ -487183,7 +508635,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5669 + 5700 ], "provided_trait_methods": [], "trait": { @@ -487208,12 +508660,12 @@ }, "visibility": "default" }, - "5671": { + "5702": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5671, + "id": 5702, "inner": { "function": { "generics": { @@ -487259,7 +508711,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -487271,7 +508723,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -487293,7 +508745,7 @@ }, "visibility": "default" }, - "5672": { + "5703": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -487305,7 +508757,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5672, + "id": 5703, "inner": { "impl": { "blanket_impl": null, @@ -487333,12 +508785,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5671 + 5702 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -487358,7 +508810,7 @@ }, "visibility": "default" }, - "5673": { + "5704": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -487367,7 +508819,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5673, + "id": 5704, "inner": { "function": { "generics": { @@ -487431,7 +508883,7 @@ }, "visibility": "default" }, - "5674": { + "5705": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -487443,7 +508895,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5674, + "id": 5705, "inner": { "impl": { "blanket_impl": null, @@ -487471,7 +508923,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5673 + 5704 ], "provided_trait_methods": [], "trait": { @@ -487496,7 +508948,7 @@ }, "visibility": "default" }, - "5676": { + "5707": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -487505,7 +508957,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `OwnedHandle` instance that shares the same underlying\nobject as the existing `OwnedHandle` instance.", - "id": 5676, + "id": 5707, "inner": { "function": { "generics": { @@ -487549,7 +509001,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "crate::io::Result" } } @@ -487571,12 +509023,12 @@ }, "visibility": "public" }, - "5677": { + "5708": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5677, + "id": 5708, "inner": { "impl": { "blanket_impl": null, @@ -487595,7 +509047,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5676 + 5707 ], "provided_trait_methods": [], "trait": null @@ -487616,12 +509068,12 @@ }, "visibility": "default" }, - "5678": { + "5709": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5678, + "id": 5709, "inner": { "impl": { "blanket_impl": null, @@ -487643,7 +509095,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -487653,12 +509105,71 @@ "span": null, "visibility": "default" }, - "5679": { + "571": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5679, + "id": 571, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5710": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5710, "inner": { "impl": { "blanket_impl": null, @@ -487690,12 +509201,12 @@ "span": null, "visibility": "default" }, - "5680": { + "5711": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5680, + "id": 5711, "inner": { "impl": { "blanket_impl": null, @@ -487717,7 +509228,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -487727,12 +509238,12 @@ "span": null, "visibility": "default" }, - "5681": { + "5712": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5681, + "id": 5712, "inner": { "impl": { "blanket_impl": null, @@ -487754,7 +509265,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -487764,12 +509275,12 @@ "span": null, "visibility": "default" }, - "5682": { + "5713": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5682, + "id": 5713, "inner": { "impl": { "blanket_impl": { @@ -487823,7 +509334,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -487839,7 +509350,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -487848,23 +509359,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5683": { + "5714": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5683, + "id": 5714, "inner": { "impl": { "blanket_impl": { @@ -487918,7 +509429,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -487934,7 +509445,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -487943,23 +509454,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5684": { + "5715": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5684, + "id": 5715, "inner": { "impl": { "blanket_impl": { @@ -488034,7 +509545,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -488059,23 +509570,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5685": { + "5716": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5685, + "id": 5716, "inner": { "impl": { "blanket_impl": { @@ -488107,7 +509618,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -488132,23 +509643,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5686": { + "5717": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5686, + "id": 5717, "inner": { "impl": { "blanket_impl": { @@ -488205,7 +509716,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -488223,8 +509734,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -488240,7 +509751,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -488249,23 +509760,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5687": { + "5718": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5687, + "id": 5718, "inner": { "impl": { "blanket_impl": { @@ -488340,8 +509851,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -488357,7 +509868,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -488366,23 +509877,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5688": { + "5719": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5688, + "id": 5719, "inner": { "impl": { "blanket_impl": { @@ -488439,12 +509950,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -488464,7 +509975,66 @@ }, "visibility": "default" }, - "5689": { + "572": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 572, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5720": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -488476,7 +510046,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5689, + "id": 5720, "inner": { "impl": { "blanket_impl": null, @@ -488518,69 +510088,7 @@ }, "visibility": "default" }, - "569": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"thread_is_running\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Checks if the associated thread has finished running its main function.\n\n`is_finished` supports implementing a non-blocking join operation, by checking\n`is_finished`, and calling `join` if it returns `true`. This function does not block. To\nblock while waiting on the thread to finish, use [`join`][Self::join].\n\nThis might return `true` for a brief moment after the thread's main\nfunction has returned, but before the thread itself has stopped running.\nHowever, once this returns `true`, [`join`][Self::join] can be expected\nto return quickly, without blocking for any significant amount of time.", - "id": 569, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": { - "Self::join": 382 - }, - "name": "is_finished", - "span": { - "begin": [ - 1938, - 5 - ], - "end": [ - 1940, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "5690": { + "5721": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -488592,7 +510100,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5690, + "id": 5721, "inner": { "impl": { "blanket_impl": null, @@ -488634,12 +510142,12 @@ }, "visibility": "default" }, - "5691": { + "5722": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5691, + "id": 5722, "inner": { "assoc_type": { "bounds": [], @@ -488650,7 +510158,7 @@ "type": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } } @@ -488671,7 +510179,7 @@ }, "visibility": "default" }, - "5692": { + "5723": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -488680,7 +510188,7 @@ "crate_id": 0, "deprecation": null, "docs": "This is the error type used by [`HandleOrNull`] when attempting to convert\ninto a handle, to indicate that the value is null.", - "id": 5692, + "id": 5723, "inner": { "struct": { "generics": { @@ -488688,29 +510196,29 @@ "where_predicates": [] }, "impls": [ - 5771, - 5772, - 5773, - 5774, - 5775, - 5776, - 5777, - 5778, - 5779, - 5780, - 5781, - 5782, - 5783, - 5784, - 5785, - 5786, - 5788, - 5790, - 5791, - 5793, - 5794, - 5796, - 5797 + 5802, + 5803, + 5804, + 5805, + 5806, + 5807, + 5808, + 5809, + 5810, + 5811, + 5812, + 5813, + 5814, + 5815, + 5816, + 5817, + 5819, + 5821, + 5822, + 5824, + 5825, + 5827, + 5828 ], "kind": { "tuple": [ @@ -488720,7 +510228,7 @@ } }, "links": { - "`HandleOrNull`": 5694 + "`HandleOrNull`": 5725 }, "name": "NullHandleError", "span": { @@ -488736,7 +510244,7 @@ }, "visibility": "public" }, - "5693": { + "5724": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -488745,7 +510253,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5693, + "id": 5724, "inner": { "function": { "generics": { @@ -488766,7 +510274,7 @@ { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } } @@ -488787,7 +510295,7 @@ "type": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } } @@ -488818,7 +510326,7 @@ }, "visibility": "default" }, - "5694": { + "5725": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -488835,7 +510343,7 @@ "crate_id": 0, "deprecation": null, "docs": "FFI type for handles in return values or out parameters, where `NULL` is used\nas a sentry value to indicate errors, such as in the return value of `CreateThread`. This uses\n`repr(transparent)` and has the representation of a host handle, so that it can be used in such\nFFI declarations.\n\nThe only thing you can usefully do with a `HandleOrNull` is to convert it into an\n`OwnedHandle` using its [`TryFrom`] implementation; this conversion takes care of the check for\n`NULL`. This ensures that such FFI calls cannot start using the handle without\nchecking for `NULL` first.\n\nThis type may hold any handle value that [`OwnedHandle`] may hold. As with `OwnedHandle`, when\nit holds `-1`, that value is interpreted as a valid handle value, such as\n[the current process handle], and not `INVALID_HANDLE_VALUE`.\n\nIf this holds a non-null handle, it will close the handle on drop.\n\n[the current process handle]: https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getcurrentprocess#remarks", - "id": 5694, + "id": 5725, "inner": { "struct": { "generics": { @@ -488843,23 +510351,23 @@ "where_predicates": [] }, "impls": [ - 5732, - 5733, - 5734, - 5735, - 5736, - 5737, - 5738, - 5739, - 5740, - 5741, - 5742, - 5743, - 5745, - 5746, - 5747, - 5695, - 5749 + 5763, + 5764, + 5765, + 5766, + 5767, + 5768, + 5769, + 5770, + 5771, + 5772, + 5773, + 5774, + 5776, + 5777, + 5778, + 5726, + 5780 ], "kind": { "tuple": [ @@ -488870,7 +510378,7 @@ }, "links": { "`OwnedHandle`": 596, - "`TryFrom`": 199 + "`TryFrom`": 197 }, "name": "HandleOrNull", "span": { @@ -488886,7 +510394,7 @@ }, "visibility": "public" }, - "5695": { + "5726": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -488898,7 +510406,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5695, + "id": 5726, "inner": { "impl": { "blanket_impl": null, @@ -488917,8 +510425,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5691, - 5693 + 5722, + 5724 ], "provided_trait_methods": [], "trait": { @@ -488929,7 +510437,7 @@ "type": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } } @@ -488938,7 +510446,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -488958,12 +510466,12 @@ }, "visibility": "default" }, - "5696": { + "5727": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5696, + "id": 5727, "inner": { "assoc_type": { "bounds": [], @@ -488974,7 +510482,7 @@ "type": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } } @@ -488995,7 +510503,7 @@ }, "visibility": "default" }, - "5697": { + "5728": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -489004,7 +510512,7 @@ "crate_id": 0, "deprecation": null, "docs": "This is the error type used by [`HandleOrInvalid`] when attempting to\nconvert into a handle, to indicate that the value is\n`INVALID_HANDLE_VALUE`.", - "id": 5697, + "id": 5728, "inner": { "struct": { "generics": { @@ -489012,29 +510520,29 @@ "where_predicates": [] }, "impls": [ - 5799, - 5800, - 5801, - 5802, - 5803, - 5804, - 5805, - 5806, - 5807, - 5808, - 5809, - 5810, - 5811, - 5812, - 5813, - 5814, - 5816, - 5818, - 5819, - 5821, - 5822, - 5824, - 5825 + 5830, + 5831, + 5832, + 5833, + 5834, + 5835, + 5836, + 5837, + 5838, + 5839, + 5840, + 5841, + 5842, + 5843, + 5844, + 5845, + 5847, + 5849, + 5850, + 5852, + 5853, + 5855, + 5856 ], "kind": { "tuple": [ @@ -489044,7 +510552,7 @@ } }, "links": { - "`HandleOrInvalid`": 5699 + "`HandleOrInvalid`": 5730 }, "name": "InvalidHandleError", "span": { @@ -489060,7 +510568,7 @@ }, "visibility": "public" }, - "5698": { + "5729": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -489069,7 +510577,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5698, + "id": 5729, "inner": { "function": { "generics": { @@ -489090,7 +510598,7 @@ { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } } @@ -489111,7 +510619,7 @@ "type": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } } @@ -489142,7 +510650,66 @@ }, "visibility": "default" }, - "5699": { + "573": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 573, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5730": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -489159,7 +510726,7 @@ "crate_id": 0, "deprecation": null, "docs": "FFI type for handles in return values or out parameters, where `INVALID_HANDLE_VALUE` is used\nas a sentry value to indicate errors, such as in the return value of `CreateFileW`. This uses\n`repr(transparent)` and has the representation of a host handle, so that it can be used in such\nFFI declarations.\n\nThe only thing you can usefully do with a `HandleOrInvalid` is to convert it into an\n`OwnedHandle` using its [`TryFrom`] implementation; this conversion takes care of the check for\n`INVALID_HANDLE_VALUE`. This ensures that such FFI calls cannot start using the handle without\nchecking for `INVALID_HANDLE_VALUE` first.\n\nThis type may hold any handle value that [`OwnedHandle`] may hold, except that when it holds\n`-1`, that value is interpreted to mean `INVALID_HANDLE_VALUE`.\n\nIf holds a handle other than `INVALID_HANDLE_VALUE`, it will close the handle on drop.", - "id": 5699, + "id": 5730, "inner": { "struct": { "generics": { @@ -489167,23 +510734,23 @@ "where_predicates": [] }, "impls": [ - 5752, - 5753, - 5754, - 5755, - 5756, - 5757, - 5758, - 5759, - 5760, - 5761, - 5762, - 5763, - 5765, - 5766, - 5767, - 5700, - 5769 + 5783, + 5784, + 5785, + 5786, + 5787, + 5788, + 5789, + 5790, + 5791, + 5792, + 5793, + 5794, + 5796, + 5797, + 5798, + 5731, + 5800 ], "kind": { "tuple": [ @@ -489194,7 +510761,7 @@ }, "links": { "`OwnedHandle`": 596, - "`TryFrom`": 199 + "`TryFrom`": 197 }, "name": "HandleOrInvalid", "span": { @@ -489210,76 +510777,7 @@ }, "visibility": "public" }, - "570": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 570, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 543, - 382, - 569 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1854, - 1 - ], - "end": [ - 1941, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5700": { + "5731": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -489291,7 +510789,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5700, + "id": 5731, "inner": { "impl": { "blanket_impl": null, @@ -489310,8 +510808,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5696, - 5698 + 5727, + 5729 ], "provided_trait_methods": [], "trait": { @@ -489322,7 +510820,7 @@ "type": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } } @@ -489331,7 +510829,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -489351,7 +510849,7 @@ }, "visibility": "default" }, - "5701": { + "5732": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -489360,7 +510858,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5701, + "id": 5732, "inner": { "function": { "generics": { @@ -489415,7 +510913,7 @@ }, "visibility": "default" }, - "5702": { + "5733": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -489427,7 +510925,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5702, + "id": 5733, "inner": { "impl": { "blanket_impl": null, @@ -489446,7 +510944,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5701 + 5732 ], "provided_trait_methods": [], "trait": { @@ -489471,7 +510969,7 @@ }, "visibility": "default" }, - "5703": { + "5734": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -489480,7 +510978,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5703, + "id": 5734, "inner": { "function": { "generics": { @@ -489529,7 +511027,7 @@ }, "visibility": "default" }, - "5704": { + "5735": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -489541,7 +511039,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5704, + "id": 5735, "inner": { "impl": { "blanket_impl": null, @@ -489560,7 +511058,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5703 + 5734 ], "provided_trait_methods": [], "trait": { @@ -489585,7 +511083,7 @@ }, "visibility": "default" }, - "5705": { + "5736": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -489594,7 +511092,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5705, + "id": 5736, "inner": { "function": { "generics": { @@ -489643,7 +511141,7 @@ }, "visibility": "default" }, - "5706": { + "5737": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -489655,7 +511153,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5706, + "id": 5737, "inner": { "impl": { "blanket_impl": null, @@ -489674,7 +511172,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5705 + 5736 ], "provided_trait_methods": [], "trait": { @@ -489699,7 +511197,7 @@ }, "visibility": "default" }, - "5707": { + "5738": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -489708,7 +511206,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5707, + "id": 5738, "inner": { "function": { "generics": { @@ -489757,7 +511255,7 @@ }, "visibility": "default" }, - "5708": { + "5739": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -489769,7 +511267,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5708, + "id": 5739, "inner": { "impl": { "blanket_impl": null, @@ -489788,7 +511286,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5707 + 5738 ], "provided_trait_methods": [], "trait": { @@ -489813,12 +511311,71 @@ }, "visibility": "default" }, - "5709": { + "574": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5709, + "id": 574, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5740": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5740, "inner": { "function": { "generics": { @@ -489864,7 +511421,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -489876,7 +511433,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -489898,66 +511455,7 @@ }, "visibility": "default" }, - "571": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 571, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5710": { + "5741": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -489969,7 +511467,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5710, + "id": 5741, "inner": { "impl": { "blanket_impl": null, @@ -489988,12 +511486,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5709 + 5740 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -490013,7 +511511,7 @@ }, "visibility": "default" }, - "5711": { + "5742": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -490022,7 +511520,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5711, + "id": 5742, "inner": { "function": { "generics": { @@ -490086,7 +511584,7 @@ }, "visibility": "default" }, - "5712": { + "5743": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -490098,7 +511596,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5712, + "id": 5743, "inner": { "impl": { "blanket_impl": null, @@ -490117,7 +511615,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5711 + 5742 ], "provided_trait_methods": [], "trait": { @@ -490142,7 +511640,7 @@ }, "visibility": "default" }, - "5713": { + "5744": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -490151,7 +511649,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`ChildStdin`](crate::process::ChildStdin)'s file handle.", - "id": 5713, + "id": 5744, "inner": { "function": { "generics": { @@ -490172,7 +511670,7 @@ { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "crate::process::ChildStdin" } } @@ -490190,7 +511688,7 @@ } }, "links": { - "crate::process::ChildStdin": 4221 + "crate::process::ChildStdin": 4220 }, "name": "from", "span": { @@ -490206,7 +511704,7 @@ }, "visibility": "default" }, - "5714": { + "5745": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -490218,7 +511716,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5714, + "id": 5745, "inner": { "impl": { "blanket_impl": null, @@ -490237,7 +511735,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5713 + 5744 ], "provided_trait_methods": [], "trait": { @@ -490248,7 +511746,7 @@ "type": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } } @@ -490277,7 +511775,7 @@ }, "visibility": "default" }, - "5715": { + "5746": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -490286,7 +511784,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`ChildStdout`](crate::process::ChildStdout)'s file handle.", - "id": 5715, + "id": 5746, "inner": { "function": { "generics": { @@ -490307,7 +511805,7 @@ { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "crate::process::ChildStdout" } } @@ -490325,7 +511823,7 @@ } }, "links": { - "crate::process::ChildStdout": 4077 + "crate::process::ChildStdout": 4076 }, "name": "from", "span": { @@ -490341,7 +511839,7 @@ }, "visibility": "default" }, - "5716": { + "5747": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -490353,7 +511851,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5716, + "id": 5747, "inner": { "impl": { "blanket_impl": null, @@ -490372,7 +511870,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5715 + 5746 ], "provided_trait_methods": [], "trait": { @@ -490383,7 +511881,7 @@ "type": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } } @@ -490412,7 +511910,7 @@ }, "visibility": "default" }, - "5717": { + "5748": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -490421,7 +511919,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`ChildStderr`](crate::process::ChildStderr)'s file handle.", - "id": 5717, + "id": 5748, "inner": { "function": { "generics": { @@ -490442,7 +511940,7 @@ { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "crate::process::ChildStderr" } } @@ -490460,7 +511958,7 @@ } }, "links": { - "crate::process::ChildStderr": 4084 + "crate::process::ChildStderr": 4083 }, "name": "from", "span": { @@ -490476,7 +511974,7 @@ }, "visibility": "default" }, - "5718": { + "5749": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -490488,7 +511986,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5718, + "id": 5749, "inner": { "impl": { "blanket_impl": null, @@ -490507,7 +512005,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5717 + 5748 ], "provided_trait_methods": [], "trait": { @@ -490518,7 +512016,7 @@ "type": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } } @@ -490547,12 +512045,118 @@ }, "visibility": "default" }, - "5719": { + "575": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 575, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "5750": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a handle and returns a [`Stdio`](process::Stdio)\nthat can attach a stream to it.", - "id": 5719, + "id": 5750, "inner": { "function": { "generics": { @@ -490607,66 +512211,7 @@ }, "visibility": "default" }, - "572": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 572, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5720": { + "5751": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -490678,7 +512223,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5720, + "id": 5751, "inner": { "impl": { "blanket_impl": null, @@ -490697,7 +512242,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5719 + 5750 ], "provided_trait_methods": [], "trait": { @@ -490737,12 +512282,12 @@ }, "visibility": "default" }, - "5721": { + "5752": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`Child`](process::Child)'s process handle.", - "id": 5721, + "id": 5752, "inner": { "function": { "generics": { @@ -490763,7 +512308,7 @@ { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "process::Child" } } @@ -490781,7 +512326,7 @@ } }, "links": { - "process::Child": 5388 + "process::Child": 5393 }, "name": "from", "span": { @@ -490797,7 +512342,7 @@ }, "visibility": "default" }, - "5722": { + "5753": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -490809,7 +512354,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5722, + "id": 5753, "inner": { "impl": { "blanket_impl": null, @@ -490828,7 +512373,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5721 + 5752 ], "provided_trait_methods": [], "trait": { @@ -490839,7 +512384,7 @@ "type": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } } @@ -490868,12 +512413,12 @@ }, "visibility": "default" }, - "5723": { + "5754": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5723, + "id": 5754, "inner": { "function": { "generics": { @@ -490904,7 +512449,7 @@ "output": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "process::ChildStdin" } } @@ -490926,7 +512471,7 @@ }, "visibility": "default" }, - "5724": { + "5755": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -490938,14 +512483,14 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a `ChildStdin` from the provided `OwnedHandle`.\n\nThe provided handle must be asynchronous, as reading and\nwriting from and to it is implemented using asynchronous APIs.", - "id": 5724, + "id": 5755, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "process::ChildStdin" } }, @@ -490957,7 +512502,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5723 + 5754 ], "provided_trait_methods": [], "trait": { @@ -490997,12 +512542,12 @@ }, "visibility": "default" }, - "5725": { + "5756": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5725, + "id": 5756, "inner": { "function": { "generics": { @@ -491033,7 +512578,7 @@ "output": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "process::ChildStdout" } } @@ -491055,7 +512600,7 @@ }, "visibility": "default" }, - "5726": { + "5757": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -491067,14 +512612,14 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a `ChildStdout` from the provided `OwnedHandle`.\n\nThe provided handle must be asynchronous, as reading and\nwriting from and to it is implemented using asynchronous APIs.", - "id": 5726, + "id": 5757, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "process::ChildStdout" } }, @@ -491086,7 +512631,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5725 + 5756 ], "provided_trait_methods": [], "trait": { @@ -491126,12 +512671,12 @@ }, "visibility": "default" }, - "5727": { + "5758": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5727, + "id": 5758, "inner": { "function": { "generics": { @@ -491162,7 +512707,7 @@ "output": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "process::ChildStderr" } } @@ -491184,7 +512729,7 @@ }, "visibility": "default" }, - "5728": { + "5759": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -491196,14 +512741,14 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a `ChildStderr` from the provided `OwnedHandle`.\n\nThe provided handle must be asynchronous, as reading and\nwriting from and to it is implemented using asynchronous APIs.", - "id": 5728, + "id": 5759, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "process::ChildStderr" } }, @@ -491215,7 +512760,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5727 + 5758 ], "provided_trait_methods": [], "trait": { @@ -491255,15 +512800,17 @@ }, "visibility": "default" }, - "573": { + "576": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 573, + "id": 576, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -491278,7 +512825,7 @@ "constraints": [] } }, - "id": 474, + "id": 475, "path": "JoinHandle" } }, @@ -491295,26 +512842,71 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, - "is_negative": true, - "is_synthetic": true, + "is_negative": false, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 322 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "5730": { + "5761": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"from_raw_os\"}}]" @@ -491323,7 +512915,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new I/O object from the specified raw handle.\n\nThis function is typically used to **consume ownership** of the handle\ngiven, passing responsibility for closing the handle to the returned\nobject. When used in this way, the returned object\nwill take responsibility for closing it when the object goes out of\nscope.\n\nHowever, consuming ownership is not strictly required. Use a\n`From::from` implementation for an API which strictly\nconsumes ownership.\n\n# Safety\n\nThe `handle` passed in must:\n - be an [owned handle][io-safety]; in particular, it must be open.\n - be a handle for a resource that may be freed via [`CloseHandle`]\n (as opposed to `RegCloseKey` or other close functions).\n\nNote that the handle *may* have the value `INVALID_HANDLE_VALUE` (-1),\nwhich is sometimes a valid handle value. See [here] for the full story.\n\n[`CloseHandle`]: https://docs.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-closehandle\n[here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443\n[io-safety]: io#io-safety", - "id": 5730, + "id": 5761, "inner": { "function": { "generics": { @@ -491358,7 +512950,7 @@ } }, "links": { - "io#io-safety": 501 + "io#io-safety": 502 }, "name": "from_raw_handle", "span": { @@ -491374,7 +512966,7 @@ }, "visibility": "default" }, - "5731": { + "5762": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -491386,7 +512978,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new instance of `Self` from the given `RawHandle` returned\nfrom a Windows API that uses null to indicate failure, such as\n`CreateThread`.\n\nUse `HandleOrInvalid` instead of `HandleOrNull` for APIs that\nuse `INVALID_HANDLE_VALUE` to indicate failure.\n\n# Safety\n\nThe passed `handle` value must either satisfy the safety requirements\nof [`FromRawHandle::from_raw_handle`], or be null. Note that not all\nWindows APIs use null for errors; see [here] for the full story.\n\n[here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443", - "id": 5731, + "id": 5762, "inner": { "function": { "generics": { @@ -491421,7 +513013,7 @@ } }, "links": { - "`FromRawHandle::from_raw_handle`": 5730 + "`FromRawHandle::from_raw_handle`": 5761 }, "name": "from_raw_handle", "span": { @@ -491437,19 +513029,19 @@ }, "visibility": "public" }, - "5732": { + "5763": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5732, + "id": 5763, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -491461,7 +513053,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5731 + 5762 ], "provided_trait_methods": [], "trait": null @@ -491482,19 +513074,19 @@ }, "visibility": "default" }, - "5733": { + "5764": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5733, + "id": 5764, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -491509,7 +513101,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -491519,19 +513111,19 @@ "span": null, "visibility": "default" }, - "5734": { + "5765": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5734, + "id": 5765, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -491556,19 +513148,19 @@ "span": null, "visibility": "default" }, - "5735": { + "5766": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5735, + "id": 5766, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -491583,7 +513175,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -491593,19 +513185,19 @@ "span": null, "visibility": "default" }, - "5736": { + "5767": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5736, + "id": 5767, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -491620,7 +513212,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -491630,12 +513222,12 @@ "span": null, "visibility": "default" }, - "5737": { + "5768": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5737, + "id": 5768, "inner": { "impl": { "blanket_impl": { @@ -491644,7 +513236,7 @@ "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -491689,7 +513281,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -491705,7 +513297,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -491714,23 +513306,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5738": { + "5769": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5738, + "id": 5769, "inner": { "impl": { "blanket_impl": { @@ -491739,7 +513331,7 @@ "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -491784,7 +513376,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -491800,7 +513392,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -491809,23 +513401,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5739": { + "577": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5739, + "id": 577, "inner": { "impl": { "blanket_impl": { @@ -491833,9 +513425,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 5694, - "path": "HandleOrNull" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" } }, "generics": { @@ -491900,7 +513503,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -491925,42 +513528,33 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "574": { + "5770": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 574, + "id": 5770, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" + "args": null, + "id": 5725, + "path": "HandleOrNull" } }, "generics": { @@ -491974,33 +513568,99 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, - "is_negative": true, - "is_synthetic": true, + "is_negative": false, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 325 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, "visibility": "default" }, - "5740": { + "5771": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5740, + "id": 5771, "inner": { "impl": { "blanket_impl": { @@ -492009,7 +513669,7 @@ "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -492032,7 +513692,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -492057,23 +513717,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5741": { + "5772": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5741, + "id": 5772, "inner": { "impl": { "blanket_impl": { @@ -492082,7 +513742,7 @@ "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -492130,7 +513790,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -492148,8 +513808,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -492165,7 +513825,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -492174,23 +513834,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5742": { + "5773": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5742, + "id": 5773, "inner": { "impl": { "blanket_impl": { @@ -492199,7 +513859,7 @@ "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -492265,8 +513925,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -492282,7 +513942,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -492291,23 +513951,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5743": { + "5774": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5743, + "id": 5774, "inner": { "impl": { "blanket_impl": { @@ -492316,7 +513976,7 @@ "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -492364,12 +514024,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -492389,7 +514049,7 @@ }, "visibility": "default" }, - "5744": { + "5775": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -492398,7 +514058,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5744, + "id": 5775, "inner": { "function": { "generics": { @@ -492444,7 +514104,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -492456,7 +514116,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -492478,7 +514138,7 @@ }, "visibility": "default" }, - "5745": { + "5776": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -492491,14 +514151,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5745, + "id": 5776, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -492510,12 +514170,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5744 + 5775 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -492535,7 +514195,7 @@ }, "visibility": "default" }, - "5746": { + "5777": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -492547,14 +514207,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5746, + "id": 5777, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -492589,7 +514249,7 @@ }, "visibility": "default" }, - "5747": { + "5778": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -492601,14 +514261,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5747, + "id": 5778, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5694, + "id": 5725, "path": "HandleOrNull" } }, @@ -492643,7 +514303,7 @@ }, "visibility": "default" }, - "5748": { + "5779": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -492652,7 +514312,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5748, + "id": 5779, "inner": { "function": { "generics": { @@ -492701,68 +514361,12 @@ }, "visibility": "default" }, - "5749": { - "attrs": [ - { - "other": "#[doc(cfg(windows))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5749, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5694, - "path": "HandleOrNull" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 5748 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 9, - "path": "Drop" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 173, - 1 - ], - "end": [ - 182, - 2 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "default" - }, - "575": { + "578": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 575, + "id": 578, "inner": { "impl": { "blanket_impl": { @@ -492782,7 +514386,7 @@ "constraints": [] } }, - "id": 474, + "id": 475, "path": "JoinHandle" } }, @@ -492799,35 +514403,13 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 327 ], "provided_trait_methods": [], "trait": { @@ -492843,8 +514425,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 37, + "path": "From" } } }, @@ -492852,18 +514434,74 @@ "name": null, "span": { "begin": [ - 209, + 785, 1 ], "end": [ - 209, - 32 + 785, + 28 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5751": { + "5780": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5780, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 5725, + "path": "HandleOrNull" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 5779 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 9, + "path": "Drop" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 173, + 1 + ], + "end": [ + 182, + 2 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "5782": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -492875,7 +514513,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new instance of `Self` from the given `RawHandle` returned\nfrom a Windows API that uses `INVALID_HANDLE_VALUE` to indicate\nfailure, such as `CreateFileW`.\n\nUse `HandleOrNull` instead of `HandleOrInvalid` for APIs that\nuse null to indicate failure.\n\n# Safety\n\nThe passed `handle` value must either satisfy the safety requirements\nof [`FromRawHandle::from_raw_handle`], or be\n`INVALID_HANDLE_VALUE` (-1). Note that not all Windows APIs use\n`INVALID_HANDLE_VALUE` for errors; see [here] for the full story.\n\n[here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443", - "id": 5751, + "id": 5782, "inner": { "function": { "generics": { @@ -492910,7 +514548,7 @@ } }, "links": { - "`FromRawHandle::from_raw_handle`": 5730 + "`FromRawHandle::from_raw_handle`": 5761 }, "name": "from_raw_handle", "span": { @@ -492926,19 +514564,19 @@ }, "visibility": "public" }, - "5752": { + "5783": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5752, + "id": 5783, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -492950,7 +514588,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5751 + 5782 ], "provided_trait_methods": [], "trait": null @@ -492971,19 +514609,19 @@ }, "visibility": "default" }, - "5753": { + "5784": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5753, + "id": 5784, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -492998,7 +514636,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -493008,19 +514646,19 @@ "span": null, "visibility": "default" }, - "5754": { + "5785": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5754, + "id": 5785, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -493045,19 +514683,19 @@ "span": null, "visibility": "default" }, - "5755": { + "5786": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5755, + "id": 5786, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -493072,7 +514710,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -493082,19 +514720,19 @@ "span": null, "visibility": "default" }, - "5756": { + "5787": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5756, + "id": 5787, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -493109,7 +514747,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -493119,12 +514757,12 @@ "span": null, "visibility": "default" }, - "5757": { + "5788": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5757, + "id": 5788, "inner": { "impl": { "blanket_impl": { @@ -493133,7 +514771,7 @@ "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -493178,7 +514816,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -493194,7 +514832,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -493203,23 +514841,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5758": { + "5789": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5758, + "id": 5789, "inner": { "impl": { "blanket_impl": { @@ -493228,7 +514866,7 @@ "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -493273,7 +514911,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -493289,7 +514927,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -493298,23 +514936,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5759": { + "579": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5759, + "id": 579, "inner": { "impl": { "blanket_impl": { @@ -493322,9 +514960,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 5699, - "path": "HandleOrInvalid" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" } }, "generics": { @@ -493371,8 +515020,8 @@ "constraints": [] } }, - "id": 37, - "path": "From" + "id": 197, + "path": "TryFrom" } } } @@ -493389,7 +515038,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -493405,8 +515055,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 198, + "path": "TryInto" } } }, @@ -493414,23 +515064,23 @@ "name": null, "span": { "begin": [ - 773, + 811, 1 ], "end": [ - 775, - 24 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "576": { + "5790": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 576, + "id": 5790, "inner": { "impl": { "blanket_impl": { @@ -493438,20 +515088,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" + "args": null, + "id": 5730, + "path": "HandleOrInvalid" } }, "generics": { @@ -493465,6 +515104,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -493474,18 +515123,29 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -493495,7 +515155,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 325 ], "provided_trait_methods": [], "trait": { @@ -493504,15 +515164,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 39, + "path": "Into" } } }, @@ -493520,23 +515180,23 @@ "name": null, "span": { "begin": [ - 217, + 767, 1 ], "end": [ - 217, - 35 + 769, + 24 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5760": { + "5791": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5760, + "id": 5791, "inner": { "impl": { "blanket_impl": { @@ -493545,7 +515205,7 @@ "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -493568,7 +515228,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -493593,23 +515253,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5761": { + "5792": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5761, + "id": 5792, "inner": { "impl": { "blanket_impl": { @@ -493618,7 +515278,7 @@ "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -493666,7 +515326,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -493684,8 +515344,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -493701,7 +515361,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -493710,23 +515370,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5762": { + "5793": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5762, + "id": 5793, "inner": { "impl": { "blanket_impl": { @@ -493735,7 +515395,7 @@ "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -493801,8 +515461,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -493818,7 +515478,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -493827,23 +515487,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5763": { + "5794": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5763, + "id": 5794, "inner": { "impl": { "blanket_impl": { @@ -493852,7 +515512,7 @@ "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -493900,12 +515560,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -493925,7 +515585,7 @@ }, "visibility": "default" }, - "5764": { + "5795": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -493934,7 +515594,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5764, + "id": 5795, "inner": { "function": { "generics": { @@ -493980,7 +515640,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -493992,7 +515652,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -494014,7 +515674,7 @@ }, "visibility": "default" }, - "5765": { + "5796": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -494027,14 +515687,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5765, + "id": 5796, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -494046,12 +515706,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5764 + 5795 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -494071,7 +515731,7 @@ }, "visibility": "default" }, - "5766": { + "5797": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -494083,14 +515743,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5766, + "id": 5797, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -494125,7 +515785,7 @@ }, "visibility": "default" }, - "5767": { + "5798": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -494137,14 +515797,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5767, + "id": 5798, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5699, + "id": 5730, "path": "HandleOrInvalid" } }, @@ -494179,7 +515839,7 @@ }, "visibility": "default" }, - "5768": { + "5799": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -494188,7 +515848,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5768, + "id": 5799, "inner": { "function": { "generics": { @@ -494237,68 +515897,48 @@ }, "visibility": "default" }, - "5769": { + "58": { "attrs": [ { - "other": "#[doc(cfg(windows))]" + "other": "#[doc(no_inline)]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5769, + "id": 58, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5699, - "path": "HandleOrInvalid" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 5768 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 9, - "path": "Drop" - } + "use": { + "id": 59, + "is_glob": false, + "name": "Err", + "source": "crate::result::Result::Err" } }, "links": {}, "name": null, "span": { "begin": [ - 251, - 1 + 44, + 39 ], "end": [ - 260, - 2 + 44, + 42 ], - "filename": "std/src/os/windows/io/handle.rs" + "filename": "std/src/prelude/v1.rs" }, - "visibility": "default" + "visibility": "public" }, - "577": { + "580": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 577, + "id": 580, "inner": { "impl": { "blanket_impl": { @@ -494318,7 +515958,7 @@ "constraints": [] } }, - "id": 474, + "id": 475, "path": "JoinHandle" } }, @@ -494366,8 +516006,8 @@ "constraints": [] } }, - "id": 37, - "path": "From" + "id": 39, + "path": "Into" } } } @@ -494384,7 +516024,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -494400,8 +516041,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 197, + "path": "TryFrom" } } }, @@ -494409,30 +516050,86 @@ "name": null, "span": { "begin": [ - 773, + 827, 1 ], "end": [ - 775, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5771": { + "5800": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5800, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 5730, + "path": "HandleOrInvalid" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 5799 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 9, + "path": "Drop" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 251, + 1 + ], + "end": [ + 260, + 2 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "5802": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5771, + "id": 5802, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -494457,19 +516154,19 @@ "span": null, "visibility": "default" }, - "5772": { + "5803": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5772, + "id": 5803, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -494494,19 +516191,19 @@ "span": null, "visibility": "default" }, - "5773": { + "5804": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5773, + "id": 5804, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -494521,7 +516218,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -494531,19 +516228,19 @@ "span": null, "visibility": "default" }, - "5774": { + "5805": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5774, + "id": 5805, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -494568,19 +516265,19 @@ "span": null, "visibility": "default" }, - "5775": { + "5806": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5775, + "id": 5806, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -494595,7 +516292,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -494605,19 +516302,19 @@ "span": null, "visibility": "default" }, - "5776": { + "5807": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5776, + "id": 5807, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -494632,7 +516329,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -494642,12 +516339,12 @@ "span": null, "visibility": "default" }, - "5777": { + "5808": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5777, + "id": 5808, "inner": { "impl": { "blanket_impl": { @@ -494656,7 +516353,7 @@ "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -494701,7 +516398,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -494717,7 +516414,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -494726,23 +516423,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5778": { + "5809": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5778, + "id": 5809, "inner": { "impl": { "blanket_impl": { @@ -494751,7 +516448,7 @@ "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -494796,7 +516493,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -494812,7 +516509,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -494821,23 +516518,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5779": { + "581": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5779, + "id": 581, "inner": { "impl": { "blanket_impl": { @@ -494845,9 +516542,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 5692, - "path": "NullHandleError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" } }, "generics": { @@ -494867,14 +516575,17 @@ { "bound_predicate": { "bounds": [ + { + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -494891,13 +516602,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 422 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 424, - "path": "CloneToUninit" + "id": 339, + "path": "Any" } } }, @@ -494905,23 +516616,23 @@ "name": null, "span": { "begin": [ - 516, + 138, 1 ], "end": [ - 516, - 42 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "578": { + "5810": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 578, + "id": 5810, "inner": { "impl": { "blanket_impl": { @@ -494929,20 +516640,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" + "args": null, + "id": 5723, + "path": "NullHandleError" } }, "generics": { @@ -494958,30 +516658,41 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 422 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 424, + "path": "CloneToUninit" } } }, @@ -494989,23 +516700,23 @@ "name": null, "span": { "begin": [ - 791, + 515, 1 ], "end": [ - 791, - 28 + 515, + 42 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "5780": { + "5811": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5780, + "id": 5811, "inner": { "impl": { "blanket_impl": { @@ -495014,7 +516725,7 @@ "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -495080,7 +516791,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -495105,23 +516816,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5781": { + "5812": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5781, + "id": 5812, "inner": { "impl": { "blanket_impl": { @@ -495130,7 +516841,7 @@ "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -495153,7 +516864,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -495178,23 +516889,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5782": { + "5813": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5782, + "id": 5813, "inner": { "impl": { "blanket_impl": { @@ -495203,7 +516914,7 @@ "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -495251,7 +516962,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -495269,8 +516980,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -495286,7 +516997,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -495295,23 +517006,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5783": { + "5814": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5783, + "id": 5814, "inner": { "impl": { "blanket_impl": { @@ -495320,7 +517031,7 @@ "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -495386,8 +517097,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -495403,7 +517114,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -495412,23 +517123,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5784": { + "5815": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5784, + "id": 5815, "inner": { "impl": { "blanket_impl": { @@ -495437,7 +517148,7 @@ "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -495485,12 +517196,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -495510,12 +517221,12 @@ }, "visibility": "default" }, - "5785": { + "5816": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5785, + "id": 5816, "inner": { "impl": { "blanket_impl": { @@ -495524,7 +517235,7 @@ "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -495551,7 +517262,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -495578,7 +517289,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -495587,23 +517298,23 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "5786": { + "5817": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5786, + "id": 5817, "inner": { "impl": { "blanket_impl": { @@ -495612,7 +517323,7 @@ "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -495673,7 +517384,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -495682,18 +517393,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "5787": { + "5818": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -495702,7 +517413,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5787, + "id": 5818, "inner": { "function": { "generics": { @@ -495748,7 +517459,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -495760,7 +517471,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -495782,7 +517493,7 @@ }, "visibility": "default" }, - "5788": { + "5819": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -495795,14 +517506,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5788, + "id": 5819, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -495814,12 +517525,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5787 + 5818 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -495839,81 +517550,19 @@ }, "visibility": "default" }, - "5789": { + "582": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 29, patch: 0})}, feature: \"joinhandle_impl_send_sync\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5789, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 5692, - "path": "NullHandleError" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 266, - 17 - ], - "end": [ - 266, - 22 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "default" - }, - "579": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 579, + "id": 582, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -495928,7 +517577,7 @@ "constraints": [] } }, - "id": 474, + "id": 475, "path": "JoinHandle" } }, @@ -495943,95 +517592,102 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 331, - 332 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1889, + 1 + ], + "end": [ + 1889, + 41 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "default" + }, + "5820": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5820, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "U" + "generic": "Self" } } - ], - "constraints": [] + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 5723, + "path": "NullHandleError" } - }, - "id": 200, - "path": "TryInto" + } } } }, "links": {}, - "name": null, + "name": "clone", "span": { "begin": [ - 817, - 1 + 266, + 17 ], "end": [ - 819, - 27 + 266, + 22 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/os/windows/io/handle.rs" }, "visibility": "default" }, - "5790": { + "5821": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -496044,14 +517700,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5790, + "id": 5821, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -496063,14 +517719,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5789 + 5820 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -496090,7 +517746,7 @@ }, "visibility": "default" }, - "5791": { + "5822": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -496103,14 +517759,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5791, + "id": 5822, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -496145,7 +517801,7 @@ }, "visibility": "default" }, - "5792": { + "5823": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -496154,7 +517810,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5792, + "id": 5823, "inner": { "function": { "generics": { @@ -496191,7 +517847,7 @@ "type": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } } @@ -496221,7 +517877,7 @@ }, "visibility": "default" }, - "5793": { + "5824": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -496234,14 +517890,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5793, + "id": 5824, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -496253,14 +517909,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5792 + 5823 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -496280,7 +517936,7 @@ }, "visibility": "default" }, - "5794": { + "5825": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -496293,14 +517949,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5794, + "id": 5825, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -496317,7 +517973,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -496337,12 +517993,12 @@ }, "visibility": "default" }, - "5795": { + "5826": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5795, + "id": 5826, "inner": { "function": { "generics": { @@ -496388,7 +518044,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -496400,7 +518056,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -496422,7 +518078,7 @@ }, "visibility": "default" }, - "5796": { + "5827": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -496434,14 +518090,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5796, + "id": 5827, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -496453,7 +518109,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5795 + 5826 ], "provided_trait_methods": [], "trait": { @@ -496478,7 +518134,7 @@ }, "visibility": "default" }, - "5797": { + "5828": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -496490,14 +518146,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5797, + "id": 5828, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5692, + "id": 5723, "path": "NullHandleError" } }, @@ -496538,90 +518194,19 @@ }, "visibility": "default" }, - "5799": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5799, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5697, - "path": "InvalidHandleError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "58": { + "583": { "attrs": [ { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 29, patch: 0})}, feature: \"joinhandle_impl_send_sync\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 58, - "inner": { - "use": { - "id": 59, - "is_glob": false, - "name": "Err", - "source": "crate::result::Result::Err" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 44, - 39 - ], - "end": [ - 44, - 42 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "580": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 580, + "id": 583, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -496636,7 +518221,7 @@ "constraints": [] } }, - "id": 474, + "id": 475, "path": "JoinHandle" } }, @@ -496651,76 +518236,19 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 334, - 336 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 5, + "path": "Sync" } } }, @@ -496728,30 +518256,67 @@ "name": null, "span": { "begin": [ - 833, + 1891, 1 ], "end": [ - 835, - 24 + 1891, + 41 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/thread/mod.rs" }, "visibility": "default" }, - "5800": { + "5830": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5800, + "id": 5830, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 5728, + "path": "InvalidHandleError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "5831": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5831, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -496776,19 +518341,19 @@ "span": null, "visibility": "default" }, - "5801": { + "5832": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5801, + "id": 5832, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -496803,7 +518368,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -496813,19 +518378,19 @@ "span": null, "visibility": "default" }, - "5802": { + "5833": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5802, + "id": 5833, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -496850,19 +518415,19 @@ "span": null, "visibility": "default" }, - "5803": { + "5834": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5803, + "id": 5834, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -496877,7 +518442,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -496887,19 +518452,19 @@ "span": null, "visibility": "default" }, - "5804": { + "5835": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5804, + "id": 5835, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -496914,7 +518479,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -496924,12 +518489,12 @@ "span": null, "visibility": "default" }, - "5805": { + "5836": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5805, + "id": 5836, "inner": { "impl": { "blanket_impl": { @@ -496938,7 +518503,7 @@ "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -496983,7 +518548,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -496999,7 +518564,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -497008,23 +518573,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5806": { + "5837": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5806, + "id": 5837, "inner": { "impl": { "blanket_impl": { @@ -497033,7 +518598,7 @@ "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -497078,7 +518643,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -497094,7 +518659,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -497103,23 +518668,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5807": { + "5838": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5807, + "id": 5838, "inner": { "impl": { "blanket_impl": { @@ -497128,7 +518693,7 @@ "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -497155,7 +518720,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -497187,23 +518752,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "5808": { + "5839": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5808, + "id": 5839, "inner": { "impl": { "blanket_impl": { @@ -497212,7 +518777,7 @@ "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -497278,7 +518843,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -497303,96 +518868,108 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5809": { + "584": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5809, + "id": 584, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 5697, - "path": "InvalidHandleError" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "T" + "generic": "Self" } } - ], - "constraints": [] + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" } - }, - "id": 37, - "path": "From" + } } } }, "links": {}, - "name": null, + "name": "fmt", "span": { "begin": [ - 791, - 1 + 1996, + 5 ], "end": [ - 791, - 28 + 1998, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/thread/mod.rs" }, "visibility": "default" }, - "581": { + "5840": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 581, + "id": 5840, "inner": { "impl": { "blanket_impl": { @@ -497400,20 +518977,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" + "args": null, + "id": 5728, + "path": "InvalidHandleError" } }, "generics": { @@ -497429,44 +518995,30 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 327 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 341, - "path": "Any" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, @@ -497474,23 +519026,23 @@ "name": null, "span": { "begin": [ - 138, + 785, 1 ], "end": [ - 138, - 36 + 785, + 28 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5810": { + "5841": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5810, + "id": 5841, "inner": { "impl": { "blanket_impl": { @@ -497499,7 +519051,7 @@ "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -497547,7 +519099,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -497565,8 +519117,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -497582,7 +519134,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -497591,23 +519143,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5811": { + "5842": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5811, + "id": 5842, "inner": { "impl": { "blanket_impl": { @@ -497616,7 +519168,7 @@ "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -497682,8 +519234,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -497699,7 +519251,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -497708,23 +519260,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5812": { + "5843": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5812, + "id": 5843, "inner": { "impl": { "blanket_impl": { @@ -497733,7 +519285,7 @@ "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -497781,12 +519333,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -497806,12 +519358,12 @@ }, "visibility": "default" }, - "5813": { + "5844": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5813, + "id": 5844, "inner": { "impl": { "blanket_impl": { @@ -497820,7 +519372,7 @@ "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -497847,7 +519399,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -497874,7 +519426,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -497883,23 +519435,23 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "5814": { + "5845": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5814, + "id": 5845, "inner": { "impl": { "blanket_impl": { @@ -497908,7 +519460,7 @@ "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -497969,7 +519521,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -497978,18 +519530,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "5815": { + "5846": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -497998,7 +519550,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5815, + "id": 5846, "inner": { "function": { "generics": { @@ -498044,7 +519596,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -498056,7 +519608,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -498078,7 +519630,7 @@ }, "visibility": "default" }, - "5816": { + "5847": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -498091,14 +519643,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5816, + "id": 5847, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -498110,12 +519662,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5815 + 5846 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -498135,7 +519687,7 @@ }, "visibility": "default" }, - "5817": { + "5848": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -498144,7 +519696,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5817, + "id": 5848, "inner": { "function": { "generics": { @@ -498177,7 +519729,7 @@ "output": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } } @@ -498199,7 +519751,7 @@ }, "visibility": "default" }, - "5818": { + "5849": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -498212,14 +519764,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5818, + "id": 5849, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -498231,14 +519783,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5817 + 5848 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -498258,71 +519810,16 @@ }, "visibility": "default" }, - "5819": { - "attrs": [ - { - "other": "#[doc(cfg(windows))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5819, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5697, - "path": "InvalidHandleError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 442, - "path": "StructuralPartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 284, - 24 - ], - "end": [ - 284, - 33 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "default" - }, - "582": { + "585": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 29, patch: 0})}, feature: \"joinhandle_impl_send_sync\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 582, + "id": 585, "inner": { "impl": { "blanket_impl": null, @@ -498340,7 +519837,7 @@ "constraints": [] } }, - "id": 474, + "id": 475, "path": "JoinHandle" } }, @@ -498362,12 +519859,14 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 584 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 344, + "path": "Debug" } } }, @@ -498375,18 +519874,73 @@ "name": null, "span": { "begin": [ - 1850, + 1995, 1 ], "end": [ - 1850, - 41 + 1999, + 2 ], "filename": "std/src/thread/mod.rs" }, "visibility": "default" }, - "5820": { + "5850": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5850, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 5728, + "path": "InvalidHandleError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 442, + "path": "StructuralPartialEq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 284, + 24 + ], + "end": [ + 284, + 33 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "5851": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -498395,7 +519949,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5820, + "id": 5851, "inner": { "function": { "generics": { @@ -498432,7 +519986,7 @@ "type": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } } @@ -498462,7 +520016,7 @@ }, "visibility": "default" }, - "5821": { + "5852": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -498475,14 +520029,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5821, + "id": 5852, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -498494,14 +520048,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5820 + 5851 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -498521,7 +520075,7 @@ }, "visibility": "default" }, - "5822": { + "5853": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -498534,14 +520088,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5822, + "id": 5853, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -498558,7 +520112,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -498578,12 +520132,12 @@ }, "visibility": "default" }, - "5823": { + "5854": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5823, + "id": 5854, "inner": { "function": { "generics": { @@ -498629,7 +520183,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -498641,7 +520195,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -498663,7 +520217,7 @@ }, "visibility": "default" }, - "5824": { + "5855": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -498675,14 +520229,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5824, + "id": 5855, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -498694,7 +520248,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5823 + 5854 ], "provided_trait_methods": [], "trait": { @@ -498719,7 +520273,7 @@ }, "visibility": "default" }, - "5825": { + "5856": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -498731,14 +520285,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5825, + "id": 5856, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5697, + "id": 5728, "path": "InvalidHandleError" } }, @@ -498779,7 +520333,7 @@ }, "visibility": "default" }, - "5826": { + "5857": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -498788,7 +520342,7 @@ "crate_id": 0, "deprecation": null, "docs": "Borrows the handle.\n\n# Example\n\n```rust,no_run\nuse std::fs::File;\n# use std::io;\nuse std::os::windows::io::{AsHandle, BorrowedHandle};\n\nlet mut f = File::open(\"foo.txt\")?;\nlet borrowed_handle: BorrowedHandle<'_> = f.as_handle();\n# Ok::<(), io::Error>(())\n```", - "id": 5826, + "id": 5857, "inner": { "function": { "generics": { @@ -498852,7 +520406,7 @@ }, "visibility": "default" }, - "5827": { + "5858": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -498861,7 +520415,168 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5827, + "id": 5858, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 592, + "path": "BorrowedHandle" + } + } + } + } + }, + "links": {}, + "name": "as_handle", + "span": { + "begin": [ + 447, + 5 + ], + "end": [ + 449, + 6 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "5859": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5859, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 594, + "path": "AsHandle" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 5858 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 594, + "path": "AsHandle" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 445, + 1 + ], + "end": [ + 450, + 2 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "586": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 586, "inner": { "function": { "generics": { @@ -498893,131 +520608,30 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 592, - "path": "BorrowedHandle" + "args": null, + "id": 587, + "path": "RawPthread" } } } } }, "links": {}, - "name": "as_handle", + "name": "as_pthread_t", "span": { "begin": [ - 447, + 34, 5 ], "end": [ - 449, + 36, 6 ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "default" - }, - "5828": { - "attrs": [ - { - "other": "#[doc(cfg(windows))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5828, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 594, - "path": "AsHandle" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 5827 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 594, - "path": "AsHandle" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 445, - 1 - ], - "end": [ - 450, - 2 - ], - "filename": "std/src/os/windows/io/handle.rs" + "filename": "std/src/os/unix/thread.rs" }, "visibility": "default" }, - "5829": { + "5860": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -499026,7 +520640,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5829, + "id": 5860, "inner": { "function": { "generics": { @@ -499090,80 +520704,7 @@ }, "visibility": "default" }, - "583": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 29, patch: 0})}, feature: \"joinhandle_impl_send_sync\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 583, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1852, - 1 - ], - "end": [ - 1852, - 41 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5830": { + "5861": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -499175,7 +520716,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5830, + "id": 5861, "inner": { "impl": { "blanket_impl": null, @@ -499230,7 +520771,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5829 + 5860 ], "provided_trait_methods": [], "trait": { @@ -499255,7 +520796,7 @@ }, "visibility": "default" }, - "5831": { + "5862": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -499264,7 +520805,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5831, + "id": 5862, "inner": { "function": { "generics": { @@ -499328,7 +520869,7 @@ }, "visibility": "default" }, - "5832": { + "5863": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -499340,7 +520881,7 @@ "crate_id": 0, "deprecation": null, "docs": "This impl allows implementing traits that require `AsHandle` on Arc.\n```\n# #[cfg(windows)] mod group_cfg {\n# use std::os::windows::io::AsHandle;\nuse std::fs::File;\nuse std::sync::Arc;\n\ntrait MyTrait: AsHandle {}\nimpl MyTrait for Arc {}\nimpl MyTrait for Box {}\n# }\n```", - "id": 5832, + "id": 5863, "inner": { "impl": { "blanket_impl": null, @@ -499404,7 +520945,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5831 + 5862 ], "provided_trait_methods": [], "trait": { @@ -499429,7 +520970,7 @@ }, "visibility": "default" }, - "5833": { + "5864": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -499438,7 +520979,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5833, + "id": 5864, "inner": { "function": { "generics": { @@ -499502,7 +521043,7 @@ }, "visibility": "default" }, - "5834": { + "5865": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -499514,7 +521055,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5834, + "id": 5865, "inner": { "impl": { "blanket_impl": null, @@ -499532,7 +521073,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "crate::rc::Rc" } }, @@ -499578,7 +521119,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5833 + 5864 ], "provided_trait_methods": [], "trait": { @@ -499603,7 +521144,7 @@ }, "visibility": "default" }, - "5835": { + "5866": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -499612,7 +521153,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5835, + "id": 5866, "inner": { "function": { "generics": { @@ -499676,7 +521217,7 @@ }, "visibility": "default" }, - "5836": { + "5867": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -499688,7 +521229,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5836, + "id": 5867, "inner": { "impl": { "blanket_impl": null, @@ -499706,7 +521247,7 @@ "constraints": [] } }, - "id": 5837, + "id": 5868, "path": "crate::rc::UniqueRc" } }, @@ -499752,7 +521293,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5835 + 5866 ], "provided_trait_methods": [], "trait": { @@ -499777,7 +521318,7 @@ }, "visibility": "default" }, - "5838": { + "5869": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -499786,7 +521327,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5838, + "id": 5869, "inner": { "function": { "generics": { @@ -499850,7 +521391,50 @@ }, "visibility": "default" }, - "5839": { + "587": { + "attrs": [ + { + "other": "#[allow(deprecated)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 587, + "inner": { + "type_alias": { + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": null, + "id": 5401, + "path": "crate::os::unix::raw::pthread_t" + } + } + } + }, + "links": {}, + "name": "RawPthread", + "span": { + "begin": [ + 14, + 1 + ], + "end": [ + 14, + 33 + ], + "filename": "std/src/os/unix/thread.rs" + }, + "visibility": "public" + }, + "5870": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -499862,7 +521446,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5839, + "id": 5870, "inner": { "impl": { "blanket_impl": null, @@ -499880,7 +521464,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -499926,7 +521510,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5838 + 5869 ], "provided_trait_methods": [], "trait": { @@ -499951,92 +521535,7 @@ }, "visibility": "default" }, - "584": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 584, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1957, - 5 - ], - "end": [ - 1959, - 6 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5840": { + "5871": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -500045,7 +521544,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5840, + "id": 5871, "inner": { "function": { "generics": { @@ -500109,7 +521608,7 @@ }, "visibility": "default" }, - "5841": { + "5872": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -500121,14 +521620,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5841, + "id": 5872, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "crate::process::ChildStdin" } }, @@ -500140,7 +521639,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5840 + 5871 ], "provided_trait_methods": [], "trait": { @@ -500165,7 +521664,7 @@ }, "visibility": "default" }, - "5842": { + "5873": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -500174,7 +521673,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5842, + "id": 5873, "inner": { "function": { "generics": { @@ -500238,7 +521737,7 @@ }, "visibility": "default" }, - "5843": { + "5874": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -500250,14 +521749,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5843, + "id": 5874, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "crate::process::ChildStdout" } }, @@ -500269,7 +521768,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5842 + 5873 ], "provided_trait_methods": [], "trait": { @@ -500294,7 +521793,7 @@ }, "visibility": "default" }, - "5844": { + "5875": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -500303,7 +521802,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5844, + "id": 5875, "inner": { "function": { "generics": { @@ -500367,7 +521866,7 @@ }, "visibility": "default" }, - "5845": { + "5876": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -500379,14 +521878,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5845, + "id": 5876, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "crate::process::ChildStderr" } }, @@ -500398,7 +521897,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5844 + 5875 ], "provided_trait_methods": [], "trait": { @@ -500423,7 +521922,7 @@ }, "visibility": "default" }, - "5846": { + "5877": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -500432,7 +521931,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5846, + "id": 5877, "inner": { "function": { "generics": { @@ -500496,7 +521995,7 @@ }, "visibility": "default" }, - "5847": { + "5878": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -500508,14 +522007,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5847, + "id": 5878, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "process::Child" } }, @@ -500527,7 +522026,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5846 + 5877 ], "provided_trait_methods": [], "trait": { @@ -500552,7 +522051,7 @@ }, "visibility": "default" }, - "5848": { + "5879": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -500561,7 +522060,7 @@ "crate_id": 0, "deprecation": null, "docs": "Owned and borrowed OS handles.", - "id": 5848, + "id": 5879, "inner": { "module": { "is_crate": false, @@ -500569,10 +522068,10 @@ "items": [ 592, 596, - 5694, - 5699, - 5692, - 5697, + 5725, + 5730, + 5723, + 5728, 594 ] } @@ -500592,12 +522091,66 @@ }, "visibility": { "restricted": { - "parent": 5849, + "parent": 5880, "path": "::os::windows::io" } } }, - "5849": { + "588": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 588, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 587, + "path": "RawPthread" + } + } + } + } + }, + "links": {}, + "name": "into_pthread_t", + "span": { + "begin": [ + 38, + 5 + ], + "end": [ + 40, + 6 + ], + "filename": "std/src/os/unix/thread.rs" + }, + "visibility": "default" + }, + "5880": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -500606,26 +522159,26 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to general I/O primitives.\n\nJust like raw pointers, raw Windows handles and sockets point to resources\nwith dynamic lifetimes, and they can dangle if they outlive their resources\nor be forged if they're created from invalid values.\n\nThis module provides three types for representing raw handles and sockets\nwith different ownership properties: raw, borrowed, and owned, which are\nanalogous to types used for representing pointers. These types reflect concepts of [I/O\nsafety][io-safety] on Windows.\n\n| Type | Analogous to |\n| ---------------------- | ------------ |\n| [`RawHandle`] | `*const _` |\n| [`RawSocket`] | `*const _` |\n| | |\n| [`BorrowedHandle<'a>`] | `&'a _` |\n| [`BorrowedSocket<'a>`] | `&'a _` |\n| | |\n| [`OwnedHandle`] | `Box<_>` |\n| [`OwnedSocket`] | `Box<_>` |\n\nLike raw pointers, `RawHandle` and `RawSocket` values are primitive values.\nAnd in new code, they should be considered unsafe to do I/O on (analogous\nto dereferencing them). Rust did not always provide this guidance, so\nexisting code in the Rust ecosystem often doesn't mark `RawHandle` and\n`RawSocket` usage as unsafe.\nLibraries are encouraged to migrate, either by adding `unsafe` to APIs\nthat dereference `RawHandle` and `RawSocket` values, or by using to\n`BorrowedHandle`, `BorrowedSocket`, `OwnedHandle`, or `OwnedSocket`.\n\nLike references, `BorrowedHandle` and `BorrowedSocket` values are tied to a\nlifetime, to ensure that they don't outlive the resource they point to.\nThese are safe to use. `BorrowedHandle` and `BorrowedSocket` values may be\nused in APIs which provide safe access to any system call except for\n`CloseHandle`, `closesocket`, or any other call that would end the\ndynamic lifetime of the resource without ending the lifetime of the\nhandle or socket.\n\n`BorrowedHandle` and `BorrowedSocket` values may be used in APIs which\nprovide safe access to `DuplicateHandle` and `WSADuplicateSocketW` and\nrelated functions, so types implementing `AsHandle`, `AsSocket`,\n`From`, or `From` should not assume they always\nhave exclusive access to the underlying object.\n\nLike boxes, `OwnedHandle` and `OwnedSocket` values conceptually own the\nresource they point to, and free (close) it when they are dropped.\n\nSee the [`io` module docs][io-safety] for a general explanation of I/O safety.\n\n[`BorrowedHandle<'a>`]: crate::os::windows::io::BorrowedHandle\n[`BorrowedSocket<'a>`]: crate::os::windows::io::BorrowedSocket\n[io-safety]: crate::io#io-safety", - "id": 5849, + "id": 5880, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5948, - 5949, - 5950 + 5979, + 5980, + 5981 ] } }, "links": { "`OwnedHandle`": 596, - "`OwnedSocket`": 4533, + "`OwnedSocket`": 4534, "`RawHandle`": 599, - "`RawSocket`": 4519, - "crate::io#io-safety": 501, + "`RawSocket`": 4520, + "crate::io#io-safety": 502, "crate::os::windows::io::BorrowedHandle": 592, - "crate::os::windows::io::BorrowedSocket": 4529 + "crate::os::windows::io::BorrowedSocket": 4530 }, "name": "io", "span": { @@ -500641,82 +522194,7 @@ }, "visibility": "public" }, - "585": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 585, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 584 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1956, - 1 - ], - "end": [ - 1960, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "default" - }, - "5850": { + "5881": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -500725,7 +522203,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5850, + "id": 5881, "inner": { "type_alias": { "generics": { @@ -500738,7 +522216,7 @@ "type": { "resolved_path": { "args": null, - "id": 4833, + "id": 4835, "path": "crate::os::raw::c_void" } } @@ -500761,7 +522239,7 @@ }, "visibility": "public" }, - "5851": { + "5882": { "attrs": [ { "other": "#[(target_pointer_width = \"64\")]" @@ -500776,7 +522254,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5851, + "id": 5882, "inner": { "type_alias": { "generics": { @@ -500803,7 +522281,7 @@ }, "visibility": "public" }, - "5852": { + "5883": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -500812,7 +522290,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts the raw handle.\n\nThis function is typically used to **borrow** an owned handle.\nWhen used in this way, this method does **not** pass ownership of the\nraw handle to the caller, and the handle is only guaranteed\nto be valid while the original object has not yet been destroyed.\n\nThis function may return null, such as when called on [`Stdin`],\n[`Stdout`], or [`Stderr`] when the console is detached.\n\nHowever, borrowing is not strictly required. See [`AsHandle::as_handle`]\nfor an API which strictly borrows a handle.\n\n[`Stdin`]: io::Stdin\n[`Stdout`]: io::Stdout\n[`Stderr`]: io::Stderr", - "id": 5852, + "id": 5883, "inner": { "function": { "generics": { @@ -500853,10 +522331,10 @@ } }, "links": { - "`AsHandle::as_handle`": 5826, - "io::Stderr": 3733, - "io::Stdin": 3556, - "io::Stdout": 3652 + "`AsHandle::as_handle`": 5857, + "io::Stderr": 3732, + "io::Stdin": 3555, + "io::Stdout": 3651 }, "name": "as_raw_handle", "span": { @@ -500872,7 +522350,7 @@ }, "visibility": "default" }, - "5853": { + "5884": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -500881,7 +522359,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5853, + "id": 5884, "inner": { "function": { "generics": { @@ -500936,7 +522414,7 @@ }, "visibility": "default" }, - "5854": { + "5885": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -500948,14 +522426,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5854, + "id": 5885, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "process::Child" } }, @@ -500967,7 +522445,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5853 + 5884 ], "provided_trait_methods": [], "trait": { @@ -500992,7 +522470,7 @@ }, "visibility": "default" }, - "5855": { + "5886": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -501001,7 +522479,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5855, + "id": 5886, "inner": { "function": { "generics": { @@ -501056,7 +522534,7 @@ }, "visibility": "default" }, - "5856": { + "5887": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -501068,14 +522546,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5856, + "id": 5887, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "process::ChildStdin" } }, @@ -501087,7 +522565,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5855 + 5886 ], "provided_trait_methods": [], "trait": { @@ -501112,7 +522590,7 @@ }, "visibility": "default" }, - "5857": { + "5888": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -501121,7 +522599,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5857, + "id": 5888, "inner": { "function": { "generics": { @@ -501176,7 +522654,7 @@ }, "visibility": "default" }, - "5858": { + "5889": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -501188,14 +522666,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5858, + "id": 5889, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "process::ChildStdout" } }, @@ -501207,7 +522685,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5857 + 5888 ], "provided_trait_methods": [], "trait": { @@ -501232,76 +522710,95 @@ }, "visibility": "default" }, - "5859": { + "589": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[doc(cfg(unix))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5859, + "id": 589, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 599, - "path": "RawHandle" - } + }, + "id": 475, + "path": "crate::thread::JoinHandle" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 586, + 588 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 590, + "path": "JoinHandleExt" } } }, "links": {}, - "name": "as_raw_handle", + "name": null, "span": { "begin": [ - 86, - 5 + 33, + 1 ], "end": [ - 88, - 6 + 41, + 2 ], - "filename": "std/src/os/windows/process.rs" + "filename": "std/src/os/unix/thread.rs" }, "visibility": "default" }, - "586": { - "attrs": [], + "5890": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 586, + "id": 5890, "inner": { "function": { "generics": { @@ -501334,29 +522831,29 @@ "output": { "resolved_path": { "args": null, - "id": 587, - "path": "RawPthread" + "id": 599, + "path": "RawHandle" } } } } }, "links": {}, - "name": "as_pthread_t", + "name": "as_raw_handle", "span": { "begin": [ - 34, + 86, 5 ], "end": [ - 36, + 88, 6 ], - "filename": "std/src/os/unix/thread.rs" + "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5860": { + "5891": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -501368,14 +522865,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5860, + "id": 5891, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "process::ChildStderr" } }, @@ -501387,7 +522884,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5859 + 5890 ], "provided_trait_methods": [], "trait": { @@ -501412,12 +522909,12 @@ }, "visibility": "default" }, - "5861": { + "5892": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5861, + "id": 5892, "inner": { "function": { "generics": { @@ -501470,7 +522967,7 @@ }, "visibility": "default" }, - "5862": { + "5893": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -501482,7 +522979,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5862, + "id": 5893, "inner": { "impl": { "blanket_impl": null, @@ -501501,7 +522998,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5861 + 5892 ], "provided_trait_methods": [], "trait": { @@ -501526,7 +523023,7 @@ }, "visibility": "default" }, - "5863": { + "5894": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" @@ -501540,7 +523037,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes this object, returning the raw underlying handle.\n\nThis function is typically used to **transfer ownership** of the underlying\nhandle to the caller. When used in this way, callers are then the unique\nowners of the handle and must close it once it's no longer needed.\n\nHowever, transferring ownership is not strictly required. Use a\n`Into::into` implementation for an API which strictly\ntransfers ownership.", - "id": 5863, + "id": 5894, "inner": { "function": { "generics": { @@ -501589,12 +523086,12 @@ }, "visibility": "default" }, - "5864": { + "5895": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5864, + "id": 5895, "inner": { "function": { "generics": { @@ -501643,7 +523140,7 @@ }, "visibility": "default" }, - "5865": { + "5896": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -501655,14 +523152,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5865, + "id": 5896, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "process::Child" } }, @@ -501674,7 +523171,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5864 + 5895 ], "provided_trait_methods": [], "trait": { @@ -501699,12 +523196,12 @@ }, "visibility": "default" }, - "5866": { + "5897": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5866, + "id": 5897, "inner": { "function": { "generics": { @@ -501753,7 +523250,7 @@ }, "visibility": "default" }, - "5867": { + "5898": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -501765,14 +523262,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5867, + "id": 5898, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "process::ChildStdin" } }, @@ -501784,117 +523281,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5866 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 604, - "path": "IntoRawHandle" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 92, - 1 - ], - "end": [ - 96, - 2 - ], - "filename": "std/src/os/windows/process.rs" - }, - "visibility": "default" - }, - "5868": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5868, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 599, - "path": "RawHandle" - } - } - } - } - }, - "links": {}, - "name": "into_raw_handle", - "span": { - "begin": [ - 100, - 5 - ], - "end": [ - 102, - 6 - ], - "filename": "std/src/os/windows/process.rs" - }, - "visibility": "default" - }, - "5869": { - "attrs": [ - { - "other": "#[doc(cfg(windows))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5869, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4077, - "path": "process::ChildStdout" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 5868 + 5897 ], "provided_trait_methods": [], "trait": { @@ -501908,66 +523295,179 @@ "name": null, "span": { "begin": [ - 99, + 92, 1 ], "end": [ - 103, + 96, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "587": { + "5899": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5899, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 599, + "path": "RawHandle" + } + } + } + } + }, + "links": {}, + "name": "into_raw_handle", + "span": { + "begin": [ + 100, + 5 + ], + "end": [ + 102, + 6 + ], + "filename": "std/src/os/windows/process.rs" + }, + "visibility": "default" + }, + "590": { "attrs": [ - { - "other": "#[allow(deprecated)]" - }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 587, + "docs": "Unix-specific extensions to [`JoinHandle`].", + "id": 590, "inner": { - "type_alias": { + "trait": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "type": { + "implementations": [ + 589 + ], + "is_auto": false, + "is_dyn_compatible": true, + "is_unsafe": false, + "items": [ + 5419, + 5420 + ] + } + }, + "links": { + "`JoinHandle`": 475 + }, + "name": "JoinHandleExt", + "span": { + "begin": [ + 18, + 1 + ], + "end": [ + 30, + 2 + ], + "filename": "std/src/os/unix/thread.rs" + }, + "visibility": "public" + }, + "5900": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 5900, + "inner": { + "impl": { + "blanket_impl": null, + "for": { "resolved_path": { "args": null, - "id": 5396, - "path": "crate::os::unix::raw::pthread_t" + "id": 4076, + "path": "process::ChildStdout" } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 5899 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 604, + "path": "IntoRawHandle" } } }, "links": {}, - "name": "RawPthread", + "name": null, "span": { "begin": [ - 14, + 99, 1 ], "end": [ - 14, - 33 + 103, + 2 ], - "filename": "std/src/os/unix/thread.rs" + "filename": "std/src/os/windows/process.rs" }, - "visibility": "public" + "visibility": "default" }, - "5870": { + "5901": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5870, + "id": 5901, "inner": { "function": { "generics": { @@ -502016,7 +523516,7 @@ }, "visibility": "default" }, - "5871": { + "5902": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -502028,14 +523528,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5871, + "id": 5902, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "process::ChildStderr" } }, @@ -502047,7 +523547,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5870 + 5901 ], "provided_trait_methods": [], "trait": { @@ -502072,7 +523572,7 @@ }, "visibility": "default" }, - "5872": { + "5903": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -502081,7 +523581,7 @@ "crate_id": 0, "deprecation": null, "docs": "Borrows the socket.", - "id": 5872, + "id": 5903, "inner": { "function": { "generics": { @@ -502123,7 +523623,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -502145,7 +523645,7 @@ }, "visibility": "default" }, - "5873": { + "5904": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -502154,7 +523654,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts the raw socket.\n\nThis function is typically used to **borrow** an owned socket.\nWhen used in this way, this method does **not** pass ownership of the\nraw socket to the caller, and the socket is only guaranteed\nto be valid while the original object has not yet been destroyed.\n\nHowever, borrowing is not strictly required. See [`AsSocket::as_socket`]\nfor an API which strictly borrows a socket.", - "id": 5873, + "id": 5904, "inner": { "function": { "generics": { @@ -502187,7 +523687,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -502195,7 +523695,7 @@ } }, "links": { - "`AsSocket::as_socket`": 5872 + "`AsSocket::as_socket`": 5903 }, "name": "as_raw_socket", "span": { @@ -502211,7 +523711,7 @@ }, "visibility": "default" }, - "5874": { + "5905": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -502220,7 +523720,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5874, + "id": 5905, "inner": { "function": { "generics": { @@ -502253,7 +523753,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -502275,7 +523775,7 @@ }, "visibility": "default" }, - "5875": { + "5906": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -502287,7 +523787,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5875, + "id": 5906, "inner": { "impl": { "blanket_impl": null, @@ -502303,7 +523803,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -502315,12 +523815,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5874 + 5905 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4521, + "id": 4522, "path": "AsRawSocket" } } @@ -502340,7 +523840,7 @@ }, "visibility": "default" }, - "5876": { + "5907": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -502349,7 +523849,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5876, + "id": 5907, "inner": { "function": { "generics": { @@ -502382,7 +523882,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -502404,7 +523904,7 @@ }, "visibility": "default" }, - "5877": { + "5908": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -502416,14 +523916,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5877, + "id": 5908, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -502435,12 +523935,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5876 + 5907 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4521, + "id": 4522, "path": "AsRawSocket" } } @@ -502460,7 +523960,7 @@ }, "visibility": "default" }, - "5878": { + "5909": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"from_raw_os\"}}]" @@ -502469,7 +523969,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new I/O object from the specified raw socket.\n\nThis function is typically used to **consume ownership** of the socket\ngiven, passing responsibility for closing the socket to the returned\nobject. When used in this way, the returned object\nwill take responsibility for closing it when the object goes out of\nscope.\n\nHowever, consuming ownership is not strictly required. Use a\n`From::from` implementation for an API which strictly\nconsumes ownership.\n\n# Safety\n\nThe `socket` passed in must:\n - be an [owned socket][io-safety]; in particular, it must be open.\n - be a socket that may be freed via [`closesocket`].\n\n[`closesocket`]: https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-closesocket\n[io-safety]: io#io-safety", - "id": 5878, + "id": 5909, "inner": { "function": { "generics": { @@ -502490,7 +523990,7 @@ { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -502504,7 +524004,7 @@ } }, "links": { - "io#io-safety": 501 + "io#io-safety": 502 }, "name": "from_raw_socket", "span": { @@ -502520,7 +524020,80 @@ }, "visibility": "default" }, - "5879": { + "591": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 591, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 592, + "path": "BorrowedHandle" + } + } + } + } + }, + "links": {}, + "name": "as_handle", + "span": { + "begin": [ + 651, + 5 + ], + "end": [ + 653, + 6 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "5910": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -502532,7 +524105,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5879, + "id": 5910, "inner": { "function": { "generics": { @@ -502553,7 +524126,7 @@ { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -502581,61 +524154,7 @@ }, "visibility": "default" }, - "588": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 588, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 587, - "path": "RawPthread" - } - } - } - } - }, - "links": {}, - "name": "into_pthread_t", - "span": { - "begin": [ - 38, - 5 - ], - "end": [ - 40, - 6 - ], - "filename": "std/src/os/unix/thread.rs" - }, - "visibility": "default" - }, - "5880": { + "5911": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -502647,14 +524166,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5880, + "id": 5911, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -502666,12 +524185,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5879 + 5910 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4524, + "id": 4525, "path": "FromRawSocket" } } @@ -502691,7 +524210,7 @@ }, "visibility": "default" }, - "5881": { + "5912": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" @@ -502705,7 +524224,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes this object, returning the raw underlying socket.\n\nThis function is typically used to **transfer ownership** of the underlying\nsocket to the caller. When used in this way, callers are then the unique\nowners of the socket and must close it once it's no longer needed.\n\nHowever, transferring ownership is not strictly required. Use a\n`Into::into` implementation for an API which strictly\ntransfers ownership.", - "id": 5881, + "id": 5912, "inner": { "function": { "generics": { @@ -502732,7 +524251,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -502754,7 +524273,7 @@ }, "visibility": "default" }, - "5882": { + "5913": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -502763,7 +524282,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5882, + "id": 5913, "inner": { "function": { "generics": { @@ -502790,7 +524309,7 @@ "output": { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -502812,7 +524331,7 @@ }, "visibility": "default" }, - "5883": { + "5914": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -502824,14 +524343,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5883, + "id": 5914, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -502843,12 +524362,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5882 + 5913 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4527, + "id": 4528, "path": "IntoRawSocket" } } @@ -502868,7 +524387,7 @@ }, "visibility": "default" }, - "5884": { + "5915": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -502877,20 +524396,20 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to general I/O primitives.", - "id": 5884, + "id": 5915, "inner": { "module": { "is_crate": false, "is_stripped": true, "items": [ 599, - 4519, + 4520, 601, 2544, 604, - 4521, - 4524, - 4527 + 4522, + 4525, + 4528 ] } }, @@ -502909,12 +524428,12 @@ }, "visibility": { "restricted": { - "parent": 5849, + "parent": 5880, "path": "::os::windows::io" } } }, - "5887": { + "5918": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\", promotable: false}}]" @@ -502931,8 +524450,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns a `BorrowedSocket` holding the given raw socket.\n\n# Safety\n\nThe resource pointed to by `raw` must remain open for the duration of\nthe returned `BorrowedSocket`, and it must not have the value\n`INVALID_SOCKET`.", - "id": 5887, + "docs": "Returns a `BorrowedSocket` holding the given raw socket.\n\n# Safety\n\nThe resource pointed to by `socket` must remain open for the duration of\nthe returned `BorrowedSocket`, and it must not have the value\n`INVALID_SOCKET`.", + "id": 5918, "inner": { "function": { "generics": { @@ -502953,7 +524472,7 @@ { "resolved_path": { "args": null, - "id": 4519, + "id": 4520, "path": "RawSocket" } } @@ -502981,12 +524500,12 @@ }, "visibility": "public" }, - "5888": { + "5919": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5888, + "id": 5919, "inner": { "impl": { "blanket_impl": null, @@ -503002,7 +524521,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503014,7 +524533,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5887 + 5918 ], "provided_trait_methods": [], "trait": null @@ -503035,7 +524554,88 @@ }, "visibility": "default" }, - "5889": { + "592": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + }, + { + "repr": { + "align": null, + "int": null, + "kind": "transparent", + "packed": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A borrowed handle.\n\nThis has a lifetime parameter to tie it to the lifetime of something that\nowns the handle.\n\nThis uses `repr(transparent)` and has the representation of a host handle,\nso it can be used in FFI in places where a handle is passed as an argument,\nit is not captured or consumed.\n\nNote that it *may* have the value `-1`, which in `BorrowedHandle` always\nrepresents a valid handle value, such as [the current process handle], and\nnot `INVALID_HANDLE_VALUE`, despite the two having the same value. See\n[here] for the full story.\n\nAnd, it *may* have the value `NULL` (0), which can occur when consoles are\ndetached from processes, or when `windows_subsystem` is used.\n\nThis type's `.to_owned()` implementation returns another `BorrowedHandle`\nrather than an `OwnedHandle`. It just makes a trivial copy of the raw\nhandle, which is then borrowed under the same lifetime.\n\n[here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443\n[the current process handle]: https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getcurrentprocess#remarks", + "id": 592, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'handle" + } + ], + "where_predicates": [] + }, + "impls": [ + 5679, + 5681, + 5682, + 5683, + 5684, + 5685, + 5686, + 5687, + 5688, + 5689, + 5690, + 5691, + 5692, + 5693, + 5694, + 5695, + 5697, + 5698, + 5699, + 5701, + 5703, + 3815, + 5705 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": {}, + "name": "BorrowedHandle", + "span": { + "begin": [ + 38, + 1 + ], + "end": [ + 41, + 2 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "public" + }, + "5920": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -503044,7 +524644,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `OwnedSocket` instance that shares the same underlying\nobject as the existing `BorrowedSocket` instance.", - "id": 5889, + "id": 5920, "inner": { "function": { "generics": { @@ -503083,7 +524683,7 @@ "type": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } } @@ -503092,7 +524692,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -503114,91 +524714,12 @@ }, "visibility": "public" }, - "589": { - "attrs": [ - { - "other": "#[doc(cfg(unix))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 589, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "crate::thread::JoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 586, - 588 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 590, - "path": "JoinHandleExt" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 33, - 1 - ], - "end": [ - 41, - 2 - ], - "filename": "std/src/os/unix/thread.rs" - }, - "visibility": "default" - }, - "5890": { + "5921": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5890, + "id": 5921, "inner": { "impl": { "blanket_impl": null, @@ -503214,7 +524735,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503226,7 +524747,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5889 + 5920 ], "provided_trait_methods": [], "trait": null @@ -503247,12 +524768,12 @@ }, "visibility": "default" }, - "5891": { + "5922": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5891, + "id": 5922, "inner": { "impl": { "blanket_impl": null, @@ -503268,7 +524789,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503302,12 +524823,12 @@ "span": null, "visibility": "default" }, - "5892": { + "5923": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5892, + "id": 5923, "inner": { "impl": { "blanket_impl": null, @@ -503323,7 +524844,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503357,12 +524878,12 @@ "span": null, "visibility": "default" }, - "5893": { + "5924": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5893, + "id": 5924, "inner": { "impl": { "blanket_impl": null, @@ -503378,7 +524899,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503402,7 +524923,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -503412,12 +524933,12 @@ "span": null, "visibility": "default" }, - "5894": { + "5925": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5894, + "id": 5925, "inner": { "impl": { "blanket_impl": null, @@ -503433,7 +524954,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503467,12 +524988,12 @@ "span": null, "visibility": "default" }, - "5895": { + "5926": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5895, + "id": 5926, "inner": { "impl": { "blanket_impl": null, @@ -503488,7 +525009,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503512,7 +525033,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -503522,12 +525043,12 @@ "span": null, "visibility": "default" }, - "5896": { + "5927": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5896, + "id": 5927, "inner": { "impl": { "blanket_impl": null, @@ -503543,7 +525064,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503567,7 +525088,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -503577,12 +525098,12 @@ "span": null, "visibility": "default" }, - "5897": { + "5928": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5897, + "id": 5928, "inner": { "impl": { "blanket_impl": { @@ -503600,7 +525121,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503645,7 +525166,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -503661,7 +525182,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -503670,23 +525191,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5898": { + "5929": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5898, + "id": 5929, "inner": { "impl": { "blanket_impl": { @@ -503704,7 +525225,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503749,7 +525270,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -503765,7 +525286,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -503774,23 +525295,101 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5899": { + "593": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 593, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "crate::thread::JoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 591 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 594, + "path": "AsHandle" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 649, + 1 + ], + "end": [ + 654, + 2 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "5930": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5899, + "id": 5930, "inner": { "impl": { "blanket_impl": { @@ -503808,7 +525407,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -503835,7 +525434,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -503867,69 +525466,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "590": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Unix-specific extensions to [`JoinHandle`].", - "id": 590, - "inner": { - "trait": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "implementations": [ - 589 - ], - "is_auto": false, - "is_dyn_compatible": true, - "is_unsafe": false, - "items": [ - 5414, - 5415 - ] - } - }, - "links": { - "`JoinHandle`": 474 - }, - "name": "JoinHandleExt", - "span": { - "begin": [ - 18, - 1 - ], - "end": [ - 30, - 2 - ], - "filename": "std/src/os/unix/thread.rs" - }, - "visibility": "public" - }, - "5900": { + "5931": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5900, + "id": 5931, "inner": { "impl": { "blanket_impl": { @@ -503947,7 +525500,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -504013,7 +525566,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -504038,23 +525591,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5901": { + "5932": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5901, + "id": 5932, "inner": { "impl": { "blanket_impl": { @@ -504072,7 +525625,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -504095,7 +525648,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -504120,23 +525673,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5902": { + "5933": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5902, + "id": 5933, "inner": { "impl": { "blanket_impl": { @@ -504154,7 +525707,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -504202,7 +525755,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -504220,8 +525773,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -504237,7 +525790,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -504246,23 +525799,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5903": { + "5934": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5903, + "id": 5934, "inner": { "impl": { "blanket_impl": { @@ -504280,7 +525833,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -504346,8 +525899,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -504363,7 +525916,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -504372,23 +525925,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5904": { + "5935": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5904, + "id": 5935, "inner": { "impl": { "blanket_impl": { @@ -504406,7 +525959,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -504454,12 +526007,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -504479,12 +526032,12 @@ }, "visibility": "default" }, - "5905": { + "5936": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5905, + "id": 5936, "inner": { "impl": { "blanket_impl": { @@ -504502,7 +526055,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -504529,7 +526082,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -504556,7 +526109,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -504565,18 +526118,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "5906": { + "5937": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -504589,7 +526142,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5906, + "id": 5937, "inner": { "impl": { "blanket_impl": null, @@ -504605,7 +526158,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -504629,7 +526182,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -504649,7 +526202,7 @@ }, "visibility": "default" }, - "5907": { + "5938": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -504658,7 +526211,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5907, + "id": 5938, "inner": { "function": { "generics": { @@ -504700,7 +526253,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -504722,7 +526275,7 @@ }, "visibility": "default" }, - "5908": { + "5939": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -504735,7 +526288,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5908, + "id": 5939, "inner": { "impl": { "blanket_impl": null, @@ -504751,7 +526304,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -504772,14 +526325,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5907 + 5938 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -504799,12 +526352,76 @@ }, "visibility": "default" }, - "5909": { + "594": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A trait to borrow the handle from an underlying object.", + "id": 594, + "inner": { + "trait": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "implementations": [ + 5859, + 5861, + 5863, + 5865, + 5867, + 5870, + 5705, + 5743, + 2535, + 3601, + 3641, + 3688, + 3723, + 3770, + 3805, + 5872, + 5874, + 5876, + 593, + 3469, + 3523, + 5878 + ], + "is_auto": false, + "is_dyn_compatible": true, + "is_unsafe": false, + "items": [ + 5857 + ] + } + }, + "links": {}, + "name": "AsHandle", + "span": { + "begin": [ + 426, + 1 + ], + "end": [ + 442, + 2 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "public" + }, + "5940": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5909, + "id": 5940, "inner": { "function": { "generics": { @@ -504850,7 +526467,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -504862,7 +526479,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -504884,80 +526501,7 @@ }, "visibility": "default" }, - "591": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 591, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 592, - "path": "BorrowedHandle" - } - } - } - } - }, - "links": {}, - "name": "as_handle", - "span": { - "begin": [ - 651, - 5 - ], - "end": [ - 653, - 6 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "default" - }, - "5910": { + "5941": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -504969,7 +526513,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5910, + "id": 5941, "inner": { "impl": { "blanket_impl": null, @@ -504985,7 +526529,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -504997,12 +526541,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5909 + 5940 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -505022,7 +526566,7 @@ }, "visibility": "default" }, - "5911": { + "5942": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -505031,7 +526575,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5911, + "id": 5942, "inner": { "function": { "generics": { @@ -505073,7 +526617,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -505095,7 +526639,7 @@ }, "visibility": "default" }, - "5912": { + "5943": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -505107,7 +526651,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5912, + "id": 5943, "inner": { "impl": { "blanket_impl": null, @@ -505123,7 +526667,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } }, @@ -505135,12 +526679,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5911 + 5942 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -505160,7 +526704,7 @@ }, "visibility": "default" }, - "5914": { + "5945": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -505169,7 +526713,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `OwnedSocket` instance that shares the same underlying\nobject as the existing `OwnedSocket` instance.", - "id": 5914, + "id": 5945, "inner": { "function": { "generics": { @@ -505213,7 +526757,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -505235,19 +526779,19 @@ }, "visibility": "public" }, - "5915": { + "5946": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5915, + "id": 5946, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -505259,7 +526803,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5914 + 5945 ], "provided_trait_methods": [], "trait": null @@ -505280,19 +526824,19 @@ }, "visibility": "default" }, - "5916": { + "5947": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5916, + "id": 5947, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -505317,19 +526861,19 @@ "span": null, "visibility": "default" }, - "5917": { + "5948": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5917, + "id": 5948, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -505354,19 +526898,19 @@ "span": null, "visibility": "default" }, - "5918": { + "5949": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5918, + "id": 5949, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -505381,7 +526925,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -505391,19 +526935,92 @@ "span": null, "visibility": "default" }, - "5919": { + "595": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 595, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "join_handle", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "crate::thread::JoinHandle" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 596, + "path": "OwnedHandle" + } + } + } + } + }, + "links": {}, + "name": "from", + "span": { + "begin": [ + 659, + 5 + ], + "end": [ + 661, + 6 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "5950": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5919, + "id": 5950, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -505428,100 +527045,56 @@ "span": null, "visibility": "default" }, - "592": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - }, - { - "repr": { - "align": null, - "int": null, - "kind": "transparent", - "packed": null - } - } - ], + "5951": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "A borrowed handle.\n\nThis has a lifetime parameter to tie it to the lifetime of something that\nowns the handle.\n\nThis uses `repr(transparent)` and has the representation of a host handle,\nso it can be used in FFI in places where a handle is passed as an argument,\nit is not captured or consumed.\n\nNote that it *may* have the value `-1`, which in `BorrowedHandle` always\nrepresents a valid handle value, such as [the current process handle], and\nnot `INVALID_HANDLE_VALUE`, despite the two having the same value. See\n[here] for the full story.\n\nAnd, it *may* have the value `NULL` (0), which can occur when consoles are\ndetached from processes, or when `windows_subsystem` is used.\n\nThis type's `.to_owned()` implementation returns another `BorrowedHandle`\nrather than an `OwnedHandle`. It just makes a trivial copy of the raw\nhandle, which is then borrowed under the same lifetime.\n\n[here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443\n[the current process handle]: https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getcurrentprocess#remarks", - "id": 592, + "docs": null, + "id": 5951, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4534, + "path": "OwnedSocket" + } + }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'handle" - } - ], + "params": [], "where_predicates": [] }, - "impls": [ - 5648, - 5650, - 5651, - 5652, - 5653, - 5654, - 5655, - 5656, - 5657, - 5658, - 5659, - 5660, - 5661, - 5662, - 5663, - 5664, - 5666, - 5667, - 5668, - 5670, - 5672, - 3816, - 5674 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, "links": {}, - "name": "BorrowedHandle", - "span": { - "begin": [ - 38, - 1 - ], - "end": [ - 41, - 2 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, - "5920": { + "5952": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5920, + "id": 5952, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -505537,43 +527110,6 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5921": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5921, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4533, - "path": "OwnedSocket" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, "path": "RefUnwindSafe" } } @@ -505583,12 +527119,12 @@ "span": null, "visibility": "default" }, - "5922": { + "5953": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5922, + "id": 5953, "inner": { "impl": { "blanket_impl": { @@ -505597,7 +527133,7 @@ "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -505642,7 +527178,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -505658,7 +527194,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -505667,23 +527203,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5923": { + "5954": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5923, + "id": 5954, "inner": { "impl": { "blanket_impl": { @@ -505692,7 +527228,7 @@ "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -505737,7 +527273,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -505753,7 +527289,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -505762,23 +527298,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5924": { + "5955": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5924, + "id": 5955, "inner": { "impl": { "blanket_impl": { @@ -505787,7 +527323,7 @@ "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -505853,7 +527389,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -505878,23 +527414,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5925": { + "5956": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5925, + "id": 5956, "inner": { "impl": { "blanket_impl": { @@ -505903,7 +527439,7 @@ "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -505926,7 +527462,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -505951,23 +527487,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5926": { + "5957": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5926, + "id": 5957, "inner": { "impl": { "blanket_impl": { @@ -505976,7 +527512,7 @@ "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -506024,7 +527560,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -506042,8 +527578,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -506059,7 +527595,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -506068,23 +527604,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5927": { + "5958": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5927, + "id": 5958, "inner": { "impl": { "blanket_impl": { @@ -506093,7 +527629,7 @@ "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -506159,8 +527695,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -506176,7 +527712,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -506185,23 +527721,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5928": { + "5959": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5928, + "id": 5959, "inner": { "impl": { "blanket_impl": { @@ -506210,7 +527746,7 @@ "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -506258,12 +527794,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -506283,7 +527819,94 @@ }, "visibility": "default" }, - "5929": { + "596": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + }, + { + "repr": { + "align": null, + "int": null, + "kind": "transparent", + "packed": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An owned handle.\n\nThis closes the handle on drop.\n\nNote that it *may* have the value `-1`, which in `OwnedHandle` always\nrepresents a valid handle value, such as [the current process handle], and\nnot `INVALID_HANDLE_VALUE`, despite the two having the same value. See\n[here] for the full story.\n\nAnd, it *may* have the value `NULL` (0), which can occur when consoles are\ndetached from processes, or when `windows_subsystem` is used.\n\n`OwnedHandle` uses [`CloseHandle`] to close its handle on drop. As such,\nit must not be used with handles to open registry keys which need to be\nclosed with [`RegCloseKey`] instead.\n\n[`CloseHandle`]: https://docs.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-closehandle\n[`RegCloseKey`]: https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regclosekey\n\n[here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443\n[the current process handle]: https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getcurrentprocess#remarks", + "id": 596, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 5708, + 5709, + 5710, + 5711, + 5712, + 5713, + 5714, + 5715, + 5716, + 5717, + 5718, + 5719, + 5720, + 5721, + 5726, + 5731, + 5733, + 5735, + 5737, + 5739, + 5741, + 3817, + 5743, + 2537, + 2539, + 5745, + 5747, + 5749, + 597, + 3471, + 3525, + 3473, + 3527, + 5751, + 5753, + 5755, + 5757, + 5759 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": {}, + "name": "OwnedHandle", + "span": { + "begin": [ + 66, + 1 + ], + "end": [ + 68, + 2 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "public" + }, + "5960": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -506292,7 +527915,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5929, + "id": 5960, "inner": { "function": { "generics": { @@ -506341,85 +527964,7 @@ }, "visibility": "default" }, - "593": { - "attrs": [ - { - "other": "#[doc(cfg(windows))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 593, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "crate::thread::JoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 591 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 594, - "path": "AsHandle" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 649, - 1 - ], - "end": [ - 654, - 2 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "default" - }, - "5930": { + "5961": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -506431,14 +527976,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5930, + "id": 5961, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -506450,7 +527995,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5929 + 5960 ], "provided_trait_methods": [], "trait": { @@ -506475,12 +528020,12 @@ }, "visibility": "default" }, - "5931": { + "5962": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5931, + "id": 5962, "inner": { "function": { "generics": { @@ -506526,7 +528071,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -506538,7 +528083,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -506560,7 +528105,7 @@ }, "visibility": "default" }, - "5932": { + "5963": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -506572,14 +528117,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5932, + "id": 5963, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -506591,12 +528136,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5931 + 5962 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -506616,7 +528161,7 @@ }, "visibility": "default" }, - "5933": { + "5964": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -506625,7 +528170,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5933, + "id": 5964, "inner": { "function": { "generics": { @@ -506667,7 +528212,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -506689,7 +528234,7 @@ }, "visibility": "default" }, - "5934": { + "5965": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -506701,14 +528246,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5934, + "id": 5965, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4533, + "id": 4534, "path": "OwnedSocket" } }, @@ -506720,12 +528265,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5933 + 5964 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -506745,7 +528290,7 @@ }, "visibility": "default" }, - "5935": { + "5966": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -506754,7 +528299,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5935, + "id": 5966, "inner": { "function": { "generics": { @@ -506796,7 +528341,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -506818,7 +528363,7 @@ }, "visibility": "default" }, - "5936": { + "5967": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -506830,7 +528375,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5936, + "id": 5967, "inner": { "impl": { "blanket_impl": null, @@ -506855,7 +528400,7 @@ "modifier": "none", "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -506874,12 +528419,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5935 + 5966 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -506899,7 +528444,7 @@ }, "visibility": "default" }, - "5937": { + "5968": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -506908,7 +528453,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5937, + "id": 5968, "inner": { "function": { "generics": { @@ -506950,7 +528495,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -506972,7 +528517,7 @@ }, "visibility": "default" }, - "5938": { + "5969": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -506984,7 +528529,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5938, + "id": 5969, "inner": { "impl": { "blanket_impl": null, @@ -507009,7 +528554,7 @@ "modifier": "none", "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -507028,12 +528573,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5937 + 5968 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -507053,7 +528598,100 @@ }, "visibility": "default" }, - "5939": { + "597": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 597, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 596, + "path": "OwnedHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 595 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "JoinHandle" + } + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 657, + 1 + ], + "end": [ + 662, + 2 + ], + "filename": "std/src/os/windows/io/handle.rs" + }, + "visibility": "default" + }, + "5970": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -507062,7 +528700,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5939, + "id": 5970, "inner": { "function": { "generics": { @@ -507104,7 +528742,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -507126,71 +528764,7 @@ }, "visibility": "default" }, - "594": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A trait to borrow the handle from an underlying object.", - "id": 594, - "inner": { - "trait": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "implementations": [ - 5828, - 5830, - 5832, - 5834, - 5836, - 5839, - 5674, - 5712, - 2535, - 3602, - 3642, - 3689, - 3724, - 3771, - 3806, - 5841, - 5843, - 5845, - 593, - 3470, - 3524, - 5847 - ], - "is_auto": false, - "is_dyn_compatible": true, - "is_unsafe": false, - "items": [ - 5826 - ] - } - }, - "links": {}, - "name": "AsHandle", - "span": { - "begin": [ - 426, - 1 - ], - "end": [ - 442, - 2 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "public" - }, - "5940": { + "5971": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -507202,7 +528776,7 @@ "crate_id": 0, "deprecation": null, "docs": "This impl allows implementing traits that require `AsSocket` on Arc.\n```\n# #[cfg(windows)] mod group_cfg {\n# use std::os::windows::io::AsSocket;\nuse std::net::UdpSocket;\nuse std::sync::Arc;\n\ntrait MyTrait: AsSocket {}\nimpl MyTrait for Arc {}\nimpl MyTrait for Box {}\n# }\n```", - "id": 5940, + "id": 5971, "inner": { "impl": { "blanket_impl": null, @@ -507236,7 +528810,7 @@ "modifier": "none", "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -507255,12 +528829,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5939 + 5970 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -507280,7 +528854,7 @@ }, "visibility": "default" }, - "5941": { + "5972": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -507289,7 +528863,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5941, + "id": 5972, "inner": { "function": { "generics": { @@ -507331,7 +528905,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -507353,7 +528927,7 @@ }, "visibility": "default" }, - "5942": { + "5973": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -507365,7 +528939,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5942, + "id": 5973, "inner": { "impl": { "blanket_impl": null, @@ -507383,7 +528957,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "crate::rc::Rc" } }, @@ -507399,7 +528973,7 @@ "modifier": "none", "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -507418,12 +528992,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5941 + 5972 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -507443,7 +529017,7 @@ }, "visibility": "default" }, - "5943": { + "5974": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -507452,7 +529026,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5943, + "id": 5974, "inner": { "function": { "generics": { @@ -507494,7 +529068,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -507516,7 +529090,7 @@ }, "visibility": "default" }, - "5944": { + "5975": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -507528,7 +529102,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5944, + "id": 5975, "inner": { "impl": { "blanket_impl": null, @@ -507546,7 +529120,7 @@ "constraints": [] } }, - "id": 5837, + "id": 5868, "path": "crate::rc::UniqueRc" } }, @@ -507562,7 +529136,7 @@ "modifier": "none", "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -507592,12 +529166,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5943 + 5974 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -507617,7 +529191,7 @@ }, "visibility": "default" }, - "5945": { + "5976": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -507626,7 +529200,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5945, + "id": 5976, "inner": { "function": { "generics": { @@ -507668,7 +529242,7 @@ "constraints": [] } }, - "id": 4529, + "id": 4530, "path": "BorrowedSocket" } } @@ -507690,7 +529264,7 @@ }, "visibility": "default" }, - "5946": { + "5977": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -507702,7 +529276,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5946, + "id": 5977, "inner": { "impl": { "blanket_impl": null, @@ -507720,7 +529294,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -507736,7 +529310,7 @@ "modifier": "none", "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -507755,12 +529329,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5945 + 5976 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 4531, + "id": 4532, "path": "AsSocket" } } @@ -507780,7 +529354,7 @@ }, "visibility": "default" }, - "5947": { + "5978": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -507789,15 +529363,15 @@ "crate_id": 0, "deprecation": null, "docs": "Owned and borrowed OS sockets.", - "id": 5947, + "id": 5978, "inner": { "module": { "is_crate": false, "is_stripped": true, "items": [ - 4529, - 4533, - 4531 + 4530, + 4534, + 4532 ] } }, @@ -507816,12 +529390,12 @@ }, "visibility": { "restricted": { - "parent": 5849, + "parent": 5880, "path": "::os::windows::io" } } }, - "5948": { + "5979": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -507830,10 +529404,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5948, + "id": 5979, "inner": { "use": { - "id": 5848, + "id": 5879, "is_glob": true, "name": "handle", "source": "handle" @@ -507854,7 +529428,71 @@ }, "visibility": "public" }, - "5949": { + "598": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 598, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 599, + "path": "RawHandle" + } + } + } + } + }, + "links": {}, + "name": "as_raw_handle", + "span": { + "begin": [ + 14, + 5 + ], + "end": [ + 16, + 6 + ], + "filename": "std/src/os/windows/thread.rs" + }, + "visibility": "default" + }, + "5980": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -507863,10 +529501,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5949, + "id": 5980, "inner": { "use": { - "id": 5884, + "id": 5915, "is_glob": true, "name": "raw", "source": "raw" @@ -507887,80 +529525,7 @@ }, "visibility": "public" }, - "595": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 595, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "join_handle", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "crate::thread::JoinHandle" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 596, - "path": "OwnedHandle" - } - } - } - } - }, - "links": {}, - "name": "from", - "span": { - "begin": [ - 659, - 5 - ], - "end": [ - 661, - 6 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "default" - }, - "5950": { + "5981": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -507969,10 +529534,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5950, + "id": 5981, "inner": { "use": { - "id": 5947, + "id": 5978, "is_glob": true, "name": "socket", "source": "socket" @@ -507993,7 +529558,7 @@ }, "visibility": "public" }, - "5951": { + "5982": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"exit_status_from\"}}]" @@ -508002,7 +529567,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `ExitStatus` from the raw underlying `u32` return value of\na process.", - "id": 5951, + "id": 5982, "inner": { "function": { "generics": { @@ -508047,7 +529612,7 @@ }, "visibility": "default" }, - "5952": { + "5983": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"exit_status_from\"}}]" @@ -508056,7 +529621,7 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to [`process::ExitStatus`].\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 5952, + "id": 5983, "inner": { "trait": { "bounds": [ @@ -508066,7 +529631,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -508077,18 +529642,18 @@ "where_predicates": [] }, "implementations": [ - 5954 + 5985 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5951 + 5982 ] } }, "links": { - "`process::ExitStatus`": 5366 + "`process::ExitStatus`": 5371 }, "name": "ExitStatusExt", "span": { @@ -508104,12 +529669,12 @@ }, "visibility": "public" }, - "5953": { + "5984": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5953, + "id": 5984, "inner": { "function": { "generics": { @@ -508154,7 +529719,7 @@ }, "visibility": "default" }, - "5954": { + "5985": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -508166,14 +529731,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5954, + "id": 5985, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, + "id": 5371, "path": "process::ExitStatus" } }, @@ -508185,12 +529750,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5953 + 5984 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5952, + "id": 5983, "path": "ExitStatusExt" } } @@ -508210,7 +529775,7 @@ }, "visibility": "default" }, - "5955": { + "5986": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"windows_process_extensions\"}}]" @@ -508219,7 +529784,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the [process creation flags][1] to be passed to `CreateProcess`.\n\nThese will always be ORed with `CREATE_UNICODE_ENVIRONMENT`.\n\n[1]: https://docs.microsoft.com/en-us/windows/win32/procthread/process-creation-flags", - "id": 5955, + "id": 5986, "inner": { "function": { "generics": { @@ -508262,7 +529827,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -508286,7 +529851,7 @@ }, "visibility": "default" }, - "5956": { + "5987": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 127544, is_soft: false},\nfeature: \"windows_process_extensions_show_window\"}}]" @@ -508295,7 +529860,7 @@ "crate_id": 0, "deprecation": null, "docs": "Sets the field `wShowWindow` of [STARTUPINFO][1] that is passed to `CreateProcess`.\nAllowed values are the ones listed in\n\n\n[1]: ", - "id": 5956, + "id": 5987, "inner": { "function": { "generics": { @@ -508338,7 +529903,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -508362,7 +529927,7 @@ }, "visibility": "default" }, - "5957": { + "5988": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 82227, is_soft: false},\nfeature: \"windows_process_extensions_force_quotes\"}}]" @@ -508371,7 +529936,7 @@ "crate_id": 0, "deprecation": null, "docs": "Forces all arguments to be wrapped in quote (`\"`) characters.\n\nThis is useful for passing arguments to [MSYS2/Cygwin][1] based\nexecutables: these programs will expand unquoted arguments containing\nwildcard characters (`?` and `*`) by searching for any file paths\nmatching the wildcard pattern.\n\nAdding quotes has no effect when passing arguments to programs\nthat use [msvcrt][2]. This includes programs built with both\nMinGW and MSVC.\n\n[1]: \n[2]: ", - "id": 5957, + "id": 5988, "inner": { "function": { "generics": { @@ -508414,7 +529979,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -508438,7 +530003,7 @@ }, "visibility": "default" }, - "5958": { + "5989": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 62, patch: 0})}, feature: \"windows_process_extensions_raw_arg\"}}]" @@ -508447,7 +530012,7 @@ "crate_id": 0, "deprecation": null, "docs": "Append literal text to the command line without any quoting or escaping.\n\nThis is useful for passing arguments to applications that don't follow\nthe standard C run-time escaping rules, such as `cmd.exe /c`.\n\n# Batch files\n\nNote the `cmd /c` command line has slightly different escaping rules than batch files\nthemselves. If possible, it may be better to write complex arguments to a temporary\n`.bat` file, with appropriate escaping, and simply run that using:\n\n```no_run\n# use std::process::Command;\n# let temp_bat_file = \"\";\n# #[allow(unused)]\nlet output = Command::new(\"cmd\").args([\"/c\", &format!(\"\\\"{temp_bat_file}\\\"\")]).output();\n```\n\n# Example\n\nRun a batch script using both trusted and untrusted arguments.\n\n```no_run\n#[cfg(windows)]\n// `my_script_path` is a path to known bat file.\n// `user_name` is an untrusted name given by the user.\nfn run_script(\n my_script_path: &str,\n user_name: &str,\n) -> Result {\n use std::io::{Error, ErrorKind};\n use std::os::windows::process::CommandExt;\n use std::process::Command;\n\n // Create the command line, making sure to quote the script path.\n // This assumes the fixed arguments have been tested to work with the script we're using.\n let mut cmd_args = format!(r#\"\"{my_script_path}\" \"--features=[a,b,c]\"\"#);\n\n // Make sure the user name is safe. In particular we need to be\n // cautious of ascii symbols that cmd may interpret specially.\n // Here we only allow alphanumeric characters.\n if !user_name.chars().all(|c| c.is_alphanumeric()) {\n return Err(Error::new(ErrorKind::InvalidInput, \"invalid user name\"));\n }\n\n // now we have validated the user name, let's add that too.\n cmd_args.push_str(\" --user \");\n cmd_args.push_str(user_name);\n\n // call cmd.exe and return the output\n Command::new(\"cmd.exe\")\n .arg(\"/c\")\n // surround the entire command in an extra pair of quotes, as required by cmd.exe.\n .raw_arg(&format!(\"\\\"{cmd_args}\\\"\"))\n .output()\n}\n````", - "id": 5958, + "id": 5989, "inner": { "function": { "generics": { @@ -508468,7 +530033,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -508528,7 +530093,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -508552,7 +530117,47 @@ }, "visibility": "default" }, - "5959": { + "599": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Raw HANDLEs.", + "id": 599, + "inner": { + "type_alias": { + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": null, + "id": 5881, + "path": "raw::HANDLE" + } + } + } + }, + "links": {}, + "name": "RawHandle", + "span": { + "begin": [ + 14, + 1 + ], + "end": [ + 14, + 34 + ], + "filename": "std/src/os/windows/io/raw.rs" + }, + "visibility": "public" + }, + "5990": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 98289, is_soft: false},\nfeature: \"windows_process_extensions_async_pipes\"}}]" @@ -508561,7 +530166,7 @@ "crate_id": 0, "deprecation": null, "docs": "When [`process::Command`] creates pipes, request that our side is always async.\n\nBy default [`process::Command`] may choose to use pipes where both ends\nare opened for synchronous read or write operations. By using\n`async_pipes(true)`, this behavior is overridden so that our side is\nalways async.\n\nThis is important because if doing async I/O a pipe or a file has to be\nopened for async access.\n\nThe end of the pipe sent to the child process will always be synchronous\nregardless of this option.\n\n# Example\n\n```\n#![feature(windows_process_extensions_async_pipes)]\nuse std::os::windows::process::CommandExt;\nuse std::process::{Command, Stdio};\n\n# let program = \"\";\n\nCommand::new(program)\n .async_pipes(true)\n .stdin(Stdio::piped())\n .stdout(Stdio::piped())\n .stderr(Stdio::piped());\n```", - "id": 5959, + "id": 5990, "inner": { "function": { "generics": { @@ -508604,7 +530209,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -508614,7 +530219,7 @@ } }, "links": { - "`process::Command`": 5336 + "`process::Command`": 5341 }, "name": "async_pipes", "span": { @@ -508630,94 +530235,7 @@ }, "visibility": "default" }, - "596": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - }, - { - "repr": { - "align": null, - "int": null, - "kind": "transparent", - "packed": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An owned handle.\n\nThis closes the handle on drop.\n\nNote that it *may* have the value `-1`, which in `OwnedHandle` always\nrepresents a valid handle value, such as [the current process handle], and\nnot `INVALID_HANDLE_VALUE`, despite the two having the same value. See\n[here] for the full story.\n\nAnd, it *may* have the value `NULL` (0), which can occur when consoles are\ndetached from processes, or when `windows_subsystem` is used.\n\n`OwnedHandle` uses [`CloseHandle`] to close its handle on drop. As such,\nit must not be used with handles to open registry keys which need to be\nclosed with [`RegCloseKey`] instead.\n\n[`CloseHandle`]: https://docs.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-closehandle\n[`RegCloseKey`]: https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regclosekey\n\n[here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443\n[the current process handle]: https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getcurrentprocess#remarks", - "id": 596, - "inner": { - "struct": { - "generics": { - "params": [], - "where_predicates": [] - }, - "impls": [ - 5677, - 5678, - 5679, - 5680, - 5681, - 5682, - 5683, - 5684, - 5685, - 5686, - 5687, - 5688, - 5689, - 5690, - 5695, - 5700, - 5702, - 5704, - 5706, - 5708, - 5710, - 3818, - 5712, - 2537, - 2539, - 5714, - 5716, - 5718, - 597, - 3472, - 3526, - 3474, - 3528, - 5720, - 5722, - 5724, - 5726, - 5728 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": {}, - "name": "OwnedHandle", - "span": { - "begin": [ - 66, - 1 - ], - "end": [ - 68, - 2 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "public" - }, - "5960": { + "5991": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 114854, is_soft: false},\nfeature: \"windows_process_extensions_raw_attribute\"}}]" @@ -508726,7 +530244,7 @@ "crate_id": 0, "deprecation": null, "docs": "A wrapper around windows [`ProcThreadAttributeList`][1].\n\n[1]: ", - "id": 5960, + "id": 5991, "inner": { "struct": { "generics": { @@ -508743,22 +530261,22 @@ "where_predicates": [] }, "impls": [ - 5989, - 5990, - 5991, - 5992, - 5993, - 5994, - 5995, - 5996, - 5997, - 5998, - 5999, - 6000, - 6001, - 6002, - 6004, - 6006 + 6022, + 6023, + 6024, + 6025, + 6026, + 6027, + 6028, + 6029, + 6030, + 6031, + 6032, + 6033, + 6034, + 6035, + 6037, + 6039 ], "kind": { "plain": { @@ -508772,18 +530290,18 @@ "name": "ProcThreadAttributeList", "span": { "begin": [ - 468, + 487, 1 ], "end": [ - 471, + 490, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "public" }, - "5961": { + "5992": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 114854, is_soft: false},\nfeature: \"windows_process_extensions_raw_attribute\"}}]" @@ -508792,7 +530310,7 @@ "crate_id": 0, "deprecation": null, "docs": "Executes the command as a child process with the given\n[`ProcThreadAttributeList`], returning a handle to it.\n\nThis method enables the customization of attributes for the spawned\nchild process on Windows systems.\nAttributes offer extended configurability for process creation,\nbut their usage can be intricate and potentially unsafe.\n\n# Note\n\nBy default, stdin, stdout, and stderr are inherited from the parent\nprocess.\n\n# Example\n\n```\n#![feature(windows_process_extensions_raw_attribute)]\nuse std::os::windows::io::AsRawHandle;\nuse std::os::windows::process::{CommandExt, ProcThreadAttributeList};\nuse std::process::Command;\n\n# struct ProcessDropGuard(std::process::Child);\n# impl Drop for ProcessDropGuard {\n# fn drop(&mut self) {\n# let _ = self.0.kill();\n# }\n# }\n#\nlet parent = Command::new(\"cmd\").spawn()?;\nlet parent_process_handle = parent.as_raw_handle();\n# let parent = ProcessDropGuard(parent);\n\nconst PROC_THREAD_ATTRIBUTE_PARENT_PROCESS: usize = 0x00020000;\nlet mut attribute_list = ProcThreadAttributeList::build()\n .attribute(PROC_THREAD_ATTRIBUTE_PARENT_PROCESS, &parent_process_handle)\n .finish()\n .unwrap();\n\nlet mut child = Command::new(\"cmd\").spawn_with_attributes(&attribute_list)?;\n#\n# child.kill()?;\n# Ok::<(), std::io::Error>(())\n```", - "id": 5961, + "id": 5992, "inner": { "function": { "generics": { @@ -508838,7 +530356,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } } @@ -508856,7 +530374,7 @@ "type": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "process::Child" } } @@ -508865,7 +530383,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -508873,7 +530391,7 @@ } }, "links": { - "`ProcThreadAttributeList`": 5960 + "`ProcThreadAttributeList`": 5991 }, "name": "spawn_with_attributes", "span": { @@ -508889,7 +530407,7 @@ }, "visibility": "default" }, - "5962": { + "5993": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 141010, is_soft: false},\nfeature: \"windows_process_extensions_startupinfo\"}}]" @@ -508898,7 +530416,7 @@ "crate_id": 0, "deprecation": null, "docs": "When true, sets the `STARTF_RUNFULLSCREEN` flag on the [STARTUPINFO][1] struct before passing it to `CreateProcess`.\n\n[1]: https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/ns-processthreadsapi-startupinfoa", - "id": 5962, + "id": 5993, "inner": { "function": { "generics": { @@ -508941,7 +530459,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -508965,7 +530483,7 @@ }, "visibility": "default" }, - "5963": { + "5994": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 141010, is_soft: false},\nfeature: \"windows_process_extensions_startupinfo\"}}]" @@ -508974,7 +530492,7 @@ "crate_id": 0, "deprecation": null, "docs": "When true, sets the `STARTF_UNTRUSTEDSOURCE` flag on the [STARTUPINFO][1] struct before passing it to `CreateProcess`.\n\n[1]: https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/ns-processthreadsapi-startupinfoa", - "id": 5963, + "id": 5994, "inner": { "function": { "generics": { @@ -509017,7 +530535,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -509041,7 +530559,7 @@ }, "visibility": "default" }, - "5964": { + "5995": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 141010, is_soft: false},\nfeature: \"windows_process_extensions_startupinfo\"}}]" @@ -509050,7 +530568,7 @@ "crate_id": 0, "deprecation": null, "docs": "When specified, sets the following flags on the [STARTUPINFO][1] struct before passing it to `CreateProcess`:\n- If `Some(true)`, sets `STARTF_FORCEONFEEDBACK`\n- If `Some(false)`, sets `STARTF_FORCEOFFFEEDBACK`\n- If `None`, does not set any flags\n\n[1]: https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/ns-processthreadsapi-startupinfoa", - "id": 5964, + "id": 5995, "inner": { "function": { "generics": { @@ -509108,7 +530626,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -509132,7 +530650,83 @@ }, "visibility": "default" }, - "5965": { + "5996": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 146407, is_soft: false},\nfeature: \"windows_process_extensions_inherit_handles\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "If this flag is set to `true`, each inheritable handle in the calling\nprocess is inherited by the new process. If the flag is `false`, the\nhandles are not inherited.\n\nThe default value for this flag is `true`.\n\n**Note** that inherited handles have the same value and access rights\nas the original handles. For additional discussion of inheritable handles,\nsee the [Remarks][1] section of the `CreateProcessW` documentation.\n\n[1]: https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw#remarks", + "id": 5996, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "inherit_handles", + { + "primitive": "bool" + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 5341, + "path": "process::Command" + } + } + } + } + } + } + }, + "links": {}, + "name": "inherit_handles", + "span": { + "begin": [ + 381, + 5 + ], + "end": [ + 381, + 83 + ], + "filename": "std/src/os/windows/process.rs" + }, + "visibility": "default" + }, + "5997": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"windows_process_extensions\"}}]" @@ -509141,7 +530735,7 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to the [`process::Command`] builder.\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 5965, + "id": 5997, "inner": { "trait": { "bounds": [ @@ -509151,7 +530745,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -509162,26 +530756,27 @@ "where_predicates": [] }, "implementations": [ - 5975 + 6008 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5955, - 5956, - 5957, - 5958, - 5959, - 5961, - 5962, - 5963, - 5964 + 5986, + 5987, + 5988, + 5989, + 5990, + 5992, + 5993, + 5994, + 5995, + 5996 ] } }, "links": { - "`process::Command`": 5336 + "`process::Command`": 5341 }, "name": "CommandExt", "span": { @@ -509190,19 +530785,19 @@ 1 ], "end": [ - 368, + 382, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "public" }, - "5966": { + "5998": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5966, + "id": 5998, "inner": { "function": { "generics": { @@ -509245,7 +530840,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -509258,23 +530853,23 @@ "name": "creation_flags", "span": { "begin": [ - 372, + 386, 5 ], "end": [ - 375, + 389, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5967": { + "5999": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5967, + "id": 5999, "inner": { "function": { "generics": { @@ -509317,7 +530912,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -509330,23 +530925,173 @@ "name": "show_window", "span": { "begin": [ - 377, + 391, 5 ], "end": [ - 380, + 394, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5968": { + "6": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6, + "inner": { + "use": { + "id": 7, + "is_glob": false, + "name": "Unpin", + "source": "crate::marker::Unpin" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 13, + 44 + ], + "end": [ + 13, + 49 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "60": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 60, + "inner": { + "use": { + "id": 61, + "is_glob": false, + "name": "Ok", + "source": "crate::result::Result::Ok" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 44, + 44 + ], + "end": [ + 44, + 46 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "600": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 600, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 475, + "path": "thread::JoinHandle" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 598 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 601, + "path": "AsRawHandle" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 12, + 1 + ], + "end": [ + 17, + 2 + ], + "filename": "std/src/os/windows/thread.rs" + }, + "visibility": "default" + }, + "6000": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5968, + "id": 6000, "inner": { "function": { "generics": { @@ -509389,7 +531134,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -509402,23 +531147,23 @@ "name": "force_quotes", "span": { "begin": [ - 382, + 396, 5 ], "end": [ - 385, + 399, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5969": { + "6001": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5969, + "id": 6001, "inner": { "function": { "generics": { @@ -509439,7 +531184,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -509499,7 +531244,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -509512,116 +531257,23 @@ "name": "raw_arg", "span": { "begin": [ - 387, + 401, 5 ], "end": [ - 390, + 404, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "597": { - "attrs": [ - { - "other": "#[doc(cfg(windows))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 597, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 596, - "path": "OwnedHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 595 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "JoinHandle" - } - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 657, - 1 - ], - "end": [ - 662, - 2 - ], - "filename": "std/src/os/windows/io/handle.rs" - }, - "visibility": "default" - }, - "5970": { + "6002": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5970, + "id": 6002, "inner": { "function": { "generics": { @@ -509664,7 +531316,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -509677,23 +531329,23 @@ "name": "async_pipes", "span": { "begin": [ - 392, + 406, 5 ], "end": [ - 399, + 413, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5971": { + "6003": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5971, + "id": 6003, "inner": { "function": { "generics": { @@ -509739,7 +531391,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } } @@ -509757,7 +531409,7 @@ "type": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "process::Child" } } @@ -509766,7 +531418,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -509777,23 +531429,23 @@ "name": "spawn_with_attributes", "span": { "begin": [ - 401, + 415, 5 ], "end": [ - 408, + 422, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5972": { + "6004": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5972, + "id": 6004, "inner": { "function": { "generics": { @@ -509836,7 +531488,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -509849,23 +531501,23 @@ "name": "startupinfo_fullscreen", "span": { "begin": [ - 410, + 424, 5 ], "end": [ - 413, + 427, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5973": { + "6005": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5973, + "id": 6005, "inner": { "function": { "generics": { @@ -509908,7 +531560,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -509921,23 +531573,23 @@ "name": "startupinfo_untrusted_source", "span": { "begin": [ - 415, + 429, 5 ], "end": [ - 418, + 432, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5974": { + "6006": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5974, + "id": 6006, "inner": { "function": { "generics": { @@ -509995,7 +531647,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } } @@ -510008,18 +531660,90 @@ "name": "startupinfo_force_feedback", "span": { "begin": [ - 420, + 434, 5 ], "end": [ - 423, + 437, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5975": { + "6007": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6007, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "inherit_handles", + { + "primitive": "bool" + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 5341, + "path": "process::Command" + } + } + } + } + } + } + }, + "links": {}, + "name": "inherit_handles", + "span": { + "begin": [ + 439, + 5 + ], + "end": [ + 442, + 6 + ], + "filename": "std/src/os/windows/process.rs" + }, + "visibility": "default" + }, + "6008": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -510031,14 +531755,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5975, + "id": 6008, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "process::Command" } }, @@ -510050,20 +531774,21 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5966, - 5967, - 5968, - 5969, - 5970, - 5971, - 5972, - 5973, - 5974 + 5998, + 5999, + 6000, + 6001, + 6002, + 6003, + 6004, + 6005, + 6006, + 6007 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5965, + "id": 5997, "path": "CommandExt" } } @@ -510072,18 +531797,18 @@ "name": null, "span": { "begin": [ - 371, + 385, 1 ], "end": [ - 424, + 443, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5976": { + "6009": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 96723, is_soft: false},\nfeature: \"windows_process_extensions_main_thread_handle\"}}]" @@ -510092,7 +531817,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts the main thread raw handle, without taking ownership", - "id": 5976, + "id": 6009, "inner": { "function": { "generics": { @@ -510145,18 +531870,76 @@ "name": "main_thread_handle", "span": { "begin": [ - 430, + 449, 5 ], "end": [ - 430, + 449, 56 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5977": { + "601": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Extracts raw handles.", + "id": 601, + "inner": { + "trait": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "implementations": [ + 5701, + 5733, + 2541, + 3603, + 3690, + 3772, + 3643, + 3725, + 3807, + 3475, + 3529, + 5885, + 5887, + 5889, + 5891, + 600 + ], + "is_auto": false, + "is_dyn_compatible": true, + "is_unsafe": false, + "items": [ + 5883 + ] + } + }, + "links": {}, + "name": "AsRawHandle", + "span": { + "begin": [ + 22, + 1 + ], + "end": [ + 41, + 2 + ], + "filename": "std/src/os/windows/io/raw.rs" + }, + "visibility": "public" + }, + "6010": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 96723, is_soft: false},\nfeature: \"windows_process_extensions_main_thread_handle\"}}]" @@ -510165,7 +531948,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5977, + "id": 6010, "inner": { "trait": { "bounds": [ @@ -510175,7 +531958,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -510186,13 +531969,13 @@ "where_predicates": [] }, "implementations": [ - 5979 + 6012 ], "is_auto": false, "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 5976 + 6009 ] } }, @@ -510200,23 +531983,23 @@ "name": "ChildExt", "span": { "begin": [ - 427, + 446, 1 ], "end": [ - 431, + 450, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "public" }, - "5978": { + "6011": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5978, + "id": 6011, "inner": { "function": { "generics": { @@ -510269,18 +532052,18 @@ "name": "main_thread_handle", "span": { "begin": [ - 435, + 454, 5 ], "end": [ - 437, + 456, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5979": { + "6012": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -510292,14 +532075,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5979, + "id": 6012, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "process::Child" } }, @@ -510311,12 +532094,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5978 + 6011 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5977, + "id": 6010, "path": "ChildExt" } } @@ -510325,82 +532108,18 @@ "name": null, "span": { "begin": [ - 434, + 453, 1 ], "end": [ - 438, + 457, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "598": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 598, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 599, - "path": "RawHandle" - } - } - } - } - }, - "links": {}, - "name": "as_raw_handle", - "span": { - "begin": [ - 14, - 5 - ], - "end": [ - 16, - 6 - ], - "filename": "std/src/os/windows/thread.rs" - }, - "visibility": "default" - }, - "5980": { + "6013": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111688, is_soft: false}, feature: \"windows_process_exit_code_from\"}}]" @@ -510409,7 +532128,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `ExitCode` from the raw underlying `u32` return value of\na process.\n\nThe exit code should not be 259, as this conflicts with the `STILL_ACTIVE`\nmacro returned from the `GetExitCodeProcess` function to signal that the\nprocess has yet to run to completion.", - "id": 5980, + "id": 6013, "inner": { "function": { "generics": { @@ -510443,18 +532162,18 @@ "name": "from_raw", "span": { "begin": [ - 453, + 472, 5 ], "end": [ - 453, + 472, 35 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5981": { + "6014": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" @@ -510463,7 +532182,7 @@ "crate_id": 0, "deprecation": null, "docs": "This type represents the status code the current process can return\nto its parent under normal termination.\n\n`ExitCode` is intended to be consumed only by the standard library (via\n[`Termination::report()`]). For forwards compatibility with potentially\nunusual targets, this type currently does not provide `Eq`, `Hash`, or\naccess to the raw value. This type does provide `PartialEq` for\ncomparison, but note that there may potentially be multiple failure\ncodes, some of which will _not_ compare equal to `ExitCode::FAILURE`.\nThe standard library provides the canonical `SUCCESS` and `FAILURE`\nexit codes as well as `From for ExitCode` for constructing other\narbitrary exit codes.\n\n# Portability\n\nNumeric values used in this type don't have portable meanings, and\ndifferent platforms may mask different amounts of them.\n\nFor the platform's canonical successful and unsuccessful codes, see\nthe [`SUCCESS`] and [`FAILURE`] associated items.\n\n[`SUCCESS`]: ExitCode::SUCCESS\n[`FAILURE`]: ExitCode::FAILURE\n\n# Differences from `ExitStatus`\n\n`ExitCode` is intended for terminating the currently running process, via\nthe `Termination` trait, in contrast to [`ExitStatus`], which represents the\ntermination of a child process. These APIs are separate due to platform\ncompatibility differences and their expected usage; it is not generally\npossible to exactly reproduce an `ExitStatus` from a child for the current\nprocess after the fact.\n\n# Examples\n\n`ExitCode` can be returned from the `main` function of a crate, as it implements\n[`Termination`]:\n\n```\nuse std::process::ExitCode;\n# fn check_foo() -> bool { true }\n\nfn main() -> ExitCode {\n if !check_foo() {\n return ExitCode::from(42);\n }\n\n ExitCode::SUCCESS\n}\n```", - "id": 5981, + "id": 6014, "inner": { "struct": { "generics": { @@ -510471,31 +532190,31 @@ "where_predicates": [] }, "impls": [ - 7129, - 7130, - 7131, - 7132, - 7133, - 7134, - 7135, - 7136, - 7137, - 7138, - 7139, - 7140, - 7141, - 7142, - 7143, - 7144, - 5984, - 7146, - 7147, - 7149, - 7150, - 7152, - 7154, - 7156, - 7158 + 7167, + 7168, + 7169, + 7170, + 7171, + 7172, + 7173, + 7174, + 7175, + 7176, + 7177, + 7178, + 7179, + 7180, + 7181, + 7182, + 6017, + 7184, + 7185, + 7187, + 7188, + 7190, + 7192, + 7194, + 7196 ], "kind": { "tuple": [ @@ -510505,27 +532224,27 @@ } }, "links": { - "ExitCode::FAILURE": 7126, - "ExitCode::SUCCESS": 7125, - "`ExitStatus`": 5366, - "`Termination::report()`": 7124, - "`Termination`": 7127 + "ExitCode::FAILURE": 7164, + "ExitCode::SUCCESS": 7163, + "`ExitStatus`": 5371, + "`Termination::report()`": 7162, + "`Termination`": 7165 }, "name": "ExitCode", "span": { "begin": [ - 2067, + 2078, 1 ], "end": [ - 2067, + 2078, 36 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "5982": { + "6015": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111688, is_soft: false}, feature: \"windows_process_exit_code_from\"}}]" @@ -510534,7 +532253,7 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to [`process::ExitCode`].\n\nThis trait is sealed: it cannot be implemented outside the standard library.\nThis is so that future additional methods are not breaking changes.", - "id": 5982, + "id": 6015, "inner": { "trait": { "bounds": [ @@ -510544,7 +532263,7 @@ "modifier": "none", "trait": { "args": null, - "id": 3814, + "id": 3813, "path": "Sealed" } } @@ -510555,39 +532274,39 @@ "where_predicates": [] }, "implementations": [ - 5984 + 6017 ], "is_auto": false, "is_dyn_compatible": false, "is_unsafe": false, "items": [ - 5980 + 6013 ] } }, "links": { - "`process::ExitCode`": 5981 + "`process::ExitCode`": 6014 }, "name": "ExitCodeExt", "span": { "begin": [ - 445, + 464, 1 ], "end": [ - 454, + 473, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "public" }, - "5983": { + "6016": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5983, + "id": 6016, "inner": { "function": { "generics": { @@ -510621,18 +532340,18 @@ "name": "from_raw", "span": { "begin": [ - 458, + 477, 5 ], "end": [ - 460, + 479, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5984": { + "6017": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -510644,14 +532363,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5984, + "id": 6017, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, + "id": 6014, "path": "process::ExitCode" } }, @@ -510663,12 +532382,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5983 + 6016 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5982, + "id": 6015, "path": "ExitCodeExt" } } @@ -510677,23 +532396,81 @@ "name": null, "span": { "begin": [ - 457, + 476, 1 ], "end": [ - 461, + 480, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "5987": { + "602": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 602, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 599, + "path": "RawHandle" + } + } + } + } + }, + "links": {}, + "name": "into_raw_handle", + "span": { + "begin": [ + 22, + 5 + ], + "end": [ + 24, + 6 + ], + "filename": "std/src/os/windows/thread.rs" + }, + "visibility": "default" + }, + "6020": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Creates a new builder for constructing a [`ProcThreadAttributeList`].", - "id": 5987, + "id": 6020, "inner": { "function": { "generics": { @@ -510722,7 +532499,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } } @@ -510730,23 +532507,23 @@ } }, "links": { - "`ProcThreadAttributeList`": 5960 + "`ProcThreadAttributeList`": 5991 }, "name": "build", "span": { "begin": [ - 476, + 495, 5 ], "end": [ - 478, + 497, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "public" }, - "5988": { + "6021": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 114854, is_soft: false},\nfeature: \"windows_process_extensions_raw_attribute\"}}]" @@ -510755,7 +532532,7 @@ "crate_id": 0, "deprecation": null, "docs": "Builder for constructing a [`ProcThreadAttributeList`].", - "id": 5988, + "id": 6021, "inner": { "struct": { "generics": { @@ -510772,24 +532549,24 @@ "where_predicates": [] }, "impls": [ - 6013, - 6014, - 6015, - 6016, - 6017, - 6018, - 6019, - 6020, - 6021, - 6022, - 6023, - 6024, - 6025, - 6026, - 6027, - 6028, - 6030, - 6032 + 6046, + 6047, + 6048, + 6049, + 6050, + 6051, + 6052, + 6053, + 6054, + 6055, + 6056, + 6057, + 6058, + 6059, + 6060, + 6061, + 6063, + 6065 ], "kind": { "plain": { @@ -510800,23 +532577,23 @@ } }, "links": { - "`ProcThreadAttributeList`": 5960 + "`ProcThreadAttributeList`": 5991 }, "name": "ProcThreadAttributeListBuilder", "span": { "begin": [ - 504, + 523, 1 ], "end": [ - 507, + 526, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "public" }, - "5989": { + "6022": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 114854, is_soft: false},\nfeature: \"windows_process_extensions_raw_attribute\"}}]" @@ -510825,7 +532602,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 5989, + "id": 6022, "inner": { "impl": { "blanket_impl": null, @@ -510841,7 +532618,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -510862,7 +532639,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5987 + 6020 ], "provided_trait_methods": [], "trait": null @@ -510872,63 +532649,188 @@ "name": null, "span": { "begin": [ - 474, + 493, 1 ], "end": [ - 485, + 504, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "599": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "6023": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Raw HANDLEs.", - "id": 599, + "docs": null, + "id": 6023, "inner": { - "type_alias": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 5991, + "path": "ProcThreadAttributeList" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], "where_predicates": [] }, - "type": { + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6024": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6024, + "inner": { + "impl": { + "blanket_impl": null, + "for": { "resolved_path": { - "args": null, - "id": 5850, - "path": "raw::HANDLE" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 5991, + "path": "ProcThreadAttributeList" } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, "links": {}, - "name": "RawHandle", - "span": { - "begin": [ - 14, - 1 - ], - "end": [ - 14, - 34 - ], - "filename": "std/src/os/windows/io/raw.rs" + "name": null, + "span": null, + "visibility": "default" + }, + "6025": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6025, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 5991, + "path": "ProcThreadAttributeList" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "5990": { + "6026": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5990, + "id": 6026, "inner": { "impl": { "blanket_impl": null, @@ -510944,7 +532846,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -510968,8 +532870,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 7, + "path": "Unpin" } } }, @@ -510978,12 +532880,12 @@ "span": null, "visibility": "default" }, - "5991": { + "6027": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5991, + "id": 6027, "inner": { "impl": { "blanket_impl": null, @@ -510999,7 +532901,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -511023,8 +532925,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 316, + "path": "UnwindSafe" } } }, @@ -511033,12 +532935,12 @@ "span": null, "visibility": "default" }, - "5992": { + "6028": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5992, + "id": 6028, "inner": { "impl": { "blanket_impl": null, @@ -511054,7 +532956,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -511078,8 +532980,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -511088,15 +532990,17 @@ "span": null, "visibility": "default" }, - "5993": { + "6029": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5993, + "id": 6029, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -511109,7 +533013,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -511117,167 +533021,111 @@ "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" } ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5994": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5994, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ { - "lifetime": "'a" + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } } ], - "constraints": [] - } - }, - "id": 5960, - "path": "ProcThreadAttributeList" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] + "generic_params": [], + "type": { + "generic": "T" } - }, - "name": "'a" + } } - ], - "where_predicates": [] + ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 319 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "5995": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 5995, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" } - ], - "constraints": [] - } - }, - "id": 5960, - "path": "ProcThreadAttributeList" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] } - }, - "name": "'a" + ], + "constraints": [] } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "5996": { - "attrs": [], + "603": { + "attrs": [ + { + "other": "#[doc(cfg(windows))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5996, + "id": 603, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 5960, - "path": "ProcThreadAttributeList" + "id": 475, + "path": "thread::JoinHandle" } }, "generics": { @@ -511293,52 +533141,19 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 602 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 604, + "path": "IntoRawHandle" } } }, @@ -511346,23 +533161,23 @@ "name": null, "span": { "begin": [ - 209, + 20, 1 ], "end": [ - 209, - 32 + 25, + 2 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/os/windows/thread.rs" }, "visibility": "default" }, - "5997": { + "6030": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5997, + "id": 6030, "inner": { "impl": { "blanket_impl": { @@ -511380,7 +533195,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -511425,7 +533240,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -511441,7 +533256,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -511450,23 +533265,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "5998": { + "6031": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5998, + "id": 6031, "inner": { "impl": { "blanket_impl": { @@ -511484,7 +533299,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -511550,7 +533365,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -511575,23 +533390,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "5999": { + "6032": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 5999, + "id": 6032, "inner": { "impl": { "blanket_impl": { @@ -511609,7 +533424,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -511632,7 +533447,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -511657,173 +533472,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6, - "inner": { - "use": { - "id": 7, - "is_glob": false, - "name": "Unpin", - "source": "crate::marker::Unpin" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 13, - 44 - ], - "end": [ - 13, - 49 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "60": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 60, - "inner": { - "use": { - "id": 61, - "is_glob": false, - "name": "Ok", - "source": "crate::result::Result::Ok" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 44, - 44 - ], - "end": [ - 44, - 46 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "600": { - "attrs": [ - { - "other": "#[doc(cfg(windows))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 600, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "thread::JoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 598 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 601, - "path": "AsRawHandle" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 12, - 1 - ], - "end": [ - 17, - 2 - ], - "filename": "std/src/os/windows/thread.rs" - }, - "visibility": "default" - }, - "6000": { + "6033": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6000, + "id": 6033, "inner": { "impl": { "blanket_impl": { @@ -511841,7 +533506,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -511889,7 +533554,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -511907,8 +533572,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -511924,7 +533589,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -511933,23 +533598,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6001": { + "6034": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6001, + "id": 6034, "inner": { "impl": { "blanket_impl": { @@ -511967,7 +533632,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -512033,8 +533698,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -512050,7 +533715,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -512059,23 +533724,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6002": { + "6035": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6002, + "id": 6035, "inner": { "impl": { "blanket_impl": { @@ -512093,7 +533758,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -512141,12 +533806,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -512166,7 +533831,7 @@ }, "visibility": "default" }, - "6003": { + "6036": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -512175,7 +533840,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6003, + "id": 6036, "inner": { "function": { "generics": { @@ -512221,7 +533886,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -512233,7 +533898,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -512244,18 +533909,18 @@ "name": "fmt", "span": { "begin": [ - 466, + 485, 10 ], "end": [ - 466, + 485, 15 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "6004": { + "6037": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -512268,7 +533933,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6004, + "id": 6037, "inner": { "impl": { "blanket_impl": null, @@ -512284,7 +533949,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -512305,12 +533970,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6003 + 6036 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -512319,23 +533984,23 @@ "name": null, "span": { "begin": [ - 466, + 485, 10 ], "end": [ - 466, + 485, 15 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "6005": { + "6038": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Deletes the attribute list.\n\nThis method calls [`DeleteProcThreadAttributeList`][1] to delete the\nunderlying attribute list.\n\n[1]: ", - "id": 6005, + "id": 6038, "inner": { "function": { "generics": { @@ -512373,18 +534038,18 @@ "name": "drop", "span": { "begin": [ - 495, + 514, 5 ], "end": [ - 498, + 517, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "6006": { + "6039": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -512396,7 +534061,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6006, + "id": 6039, "inner": { "impl": { "blanket_impl": null, @@ -512412,7 +534077,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } }, @@ -512433,7 +534098,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6005 + 6038 ], "provided_trait_methods": [], "trait": { @@ -512447,114 +534112,107 @@ "name": null, "span": { "begin": [ - 488, + 507, 1 ], "end": [ - 499, + 518, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "6009": { + "604": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "The largest value that can be represented by this integer type\n(232 − 1).\n\n# Examples\n\n```\nassert_eq!(u32::MAX, 4294967295);\n```", - "id": 6009, + "docs": "A trait to express the ability to consume an object and acquire ownership of\nits raw `HANDLE`.", + "id": 604, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "trait": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "implementations": [ + 5735, + 2546, + 3479, + 3533, + 5896, + 5898, + 5900, + 5902, + 603 + ], + "is_auto": false, + "is_dyn_compatible": true, + "is_unsafe": false, + "items": [ + 5894 + ] } }, "links": {}, - "name": "MAX", + "name": "IntoRawHandle", "span": { "begin": [ - 1128, - 5 + 78, + 1 ], "end": [ - 1146, - 6 + 91, + 2 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/os/windows/io/raw.rs" }, "visibility": "public" }, - "601": { + "6042": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Extracts raw handles.", - "id": 601, + "docs": "The largest value that can be represented by this integer type\n(232 − 1).\n\n# Examples\n\n```\nassert_eq!(u32::MAX, 4294967295);\n```", + "id": 6042, "inner": { - "trait": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] + "assoc_const": { + "type": { + "primitive": "u32" }, - "implementations": [ - 5670, - 5702, - 2541, - 3604, - 3691, - 3773, - 3644, - 3726, - 3808, - 3476, - 3530, - 5854, - 5856, - 5858, - 5860, - 600 - ], - "is_auto": false, - "is_dyn_compatible": true, - "is_unsafe": false, - "items": [ - 5852 - ] + "value": "_" } }, "links": {}, - "name": "AsRawHandle", + "name": "MAX", "span": { "begin": [ - 22, - 1 + 1134, + 5 ], "end": [ - 41, - 2 + 1155, + 6 ], - "filename": "std/src/os/windows/io/raw.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, - "6010": { + "6043": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Finalizes the construction of the `ProcThreadAttributeList`.\n\n# Errors\n\nReturns an error if the maximum number of attributes is exceeded\nor if there is an I/O error during initialization.", - "id": 6010, + "id": 6043, "inner": { "function": { "generics": { @@ -512602,7 +534260,7 @@ "constraints": [] } }, - "id": 5960, + "id": 5991, "path": "ProcThreadAttributeList" } } @@ -512611,7 +534269,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -512622,23 +534280,23 @@ "name": "finish", "span": { "begin": [ - 638, + 657, 5 ], "end": [ - 691, + 710, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "public" }, - "6011": { + "6044": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Sets an attribute on the attribute list.\n\nThe `attribute` parameter specifies the raw attribute to be set, while\nthe `value` parameter holds the value associated with that attribute.\nPlease refer to the [Windows documentation][1] for a list of valid attributes.\n\n# Note\n\nThe maximum number of attributes is the value of [`u32::MAX`]. If this\nlimit is exceeded, the call to [`Self::finish`] will return an `Error`\nindicating that the maximum number of attributes has been exceeded.\n\n# Safety Note\n\nRemember that improper use of attributes can lead to undefined behavior\nor security vulnerabilities. Always consult the documentation and ensure\nproper attribute values are used.\n\n[1]: ", - "id": 6011, + "id": 6044, "inner": { "function": { "generics": { @@ -512698,29 +534356,29 @@ } }, "links": { - "`Self::finish`": 6010, - "`u32::MAX`": 6009 + "`Self::finish`": 6043, + "`u32::MAX`": 6042 }, "name": "attribute", "span": { "begin": [ - 537, + 556, 5 ], "end": [ - 541, + 560, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "public" }, - "6012": { + "6045": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Sets a raw attribute on the attribute list.\n\nThis function is useful for setting attributes with pointers or sizes\nthat cannot be derived directly from their values.\n\n# Safety\n\nThis function is marked as `unsafe` because it deals with raw pointers\nand sizes. It is the responsibility of the caller to ensure the value\nlives longer than the resulting [`ProcThreadAttributeList`] as well as\nthe validity of the size parameter.\n\n# Example\n\n```\n#![feature(windows_process_extensions_raw_attribute)]\nuse std::ffi::c_void;\nuse std::os::windows::process::{CommandExt, ProcThreadAttributeList};\nuse std::os::windows::raw::HANDLE;\nuse std::process::Command;\n\n#[repr(C)]\npub struct COORD {\n pub X: i16,\n pub Y: i16,\n}\n\nunsafe extern \"system\" {\n fn CreatePipe(\n hreadpipe: *mut HANDLE,\n hwritepipe: *mut HANDLE,\n lppipeattributes: *const c_void,\n nsize: u32,\n ) -> i32;\n fn CreatePseudoConsole(\n size: COORD,\n hinput: HANDLE,\n houtput: HANDLE,\n dwflags: u32,\n phpc: *mut isize,\n ) -> i32;\n fn CloseHandle(hobject: HANDLE) -> i32;\n}\n\nlet [mut input_read_side, mut output_write_side, mut output_read_side, mut input_write_side] =\n [unsafe { std::mem::zeroed::() }; 4];\n\nunsafe {\n CreatePipe(&mut input_read_side, &mut input_write_side, std::ptr::null(), 0);\n CreatePipe(&mut output_read_side, &mut output_write_side, std::ptr::null(), 0);\n}\n\nlet size = COORD { X: 60, Y: 40 };\nlet mut h_pc = unsafe { std::mem::zeroed() };\nunsafe { CreatePseudoConsole(size, input_read_side, output_write_side, 0, &mut h_pc) };\n\nunsafe { CloseHandle(input_read_side) };\nunsafe { CloseHandle(output_write_side) };\n\nconst PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE: usize = 131094;\n\nlet attribute_list = unsafe {\n ProcThreadAttributeList::build()\n .raw_attribute(\n PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE,\n h_pc as *const c_void,\n size_of::(),\n )\n .finish()?\n};\n\nlet mut child = Command::new(\"cmd\").spawn_with_attributes(&attribute_list)?;\n#\n# child.kill()?;\n# Ok::<(), std::io::Error>(())\n```", - "id": 6012, + "id": 6045, "inner": { "function": { "generics": { @@ -512785,23 +534443,23 @@ } }, "links": { - "`ProcThreadAttributeList`": 5960 + "`ProcThreadAttributeList`": 5991 }, "name": "raw_attribute", "span": { "begin": [ - 619, + 638, 5 ], "end": [ - 630, + 649, 6 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "public" }, - "6013": { + "6046": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 114854, is_soft: false},\nfeature: \"windows_process_extensions_raw_attribute\"}}]" @@ -512810,7 +534468,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6013, + "id": 6046, "inner": { "impl": { "blanket_impl": null, @@ -512826,7 +534484,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -512847,9 +534505,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6011, - 6012, - 6010 + 6044, + 6045, + 6043 ], "provided_trait_methods": [], "trait": null @@ -512859,23 +534517,23 @@ "name": null, "span": { "begin": [ - 510, + 529, 1 ], "end": [ - 692, + 711, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "6014": { + "6047": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6014, + "id": 6047, "inner": { "impl": { "blanket_impl": null, @@ -512891,7 +534549,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -512925,12 +534583,12 @@ "span": null, "visibility": "default" }, - "6015": { + "6048": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6015, + "id": 6048, "inner": { "impl": { "blanket_impl": null, @@ -512946,7 +534604,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -512980,12 +534638,12 @@ "span": null, "visibility": "default" }, - "6016": { + "6049": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6016, + "id": 6049, "inner": { "impl": { "blanket_impl": null, @@ -513001,7 +534659,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513025,7 +534683,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -513035,12 +534693,98 @@ "span": null, "visibility": "default" }, - "6017": { + "605": { + "attrs": [ + { + "other": "#[doc(alias = \"available_concurrency\")]" + }, + { + "other": "#[doc(alias = \"hardware_concurrency\")]" + }, + { + "other": "#[doc(alias = \"num_cpus\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 59, patch: 0})}, feature: \"available_parallelism\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns an estimate of the default amount of parallelism a program should use.\n\nParallelism is a resource. A given machine provides a certain capacity for\nparallelism, i.e., a bound on the number of computations it can perform\nsimultaneously. This number often corresponds to the amount of CPUs a\ncomputer has, but it may diverge in various cases.\n\nHost environments such as VMs or container orchestrators may want to\nrestrict the amount of parallelism made available to programs in them. This\nis often done to limit the potential impact of (unintentionally)\nresource-intensive programs on other programs running on the same machine.\n\n# Limitations\n\nThe purpose of this API is to provide an easy and portable way to query\nthe default amount of parallelism the program should use. Among other things it\ndoes not expose information on NUMA regions, does not account for\ndifferences in (co)processor capabilities or current system load,\nand will not modify the program's global state in order to more accurately\nquery the amount of available parallelism.\n\nWhere both fixed steady-state and burst limits are available the steady-state\ncapacity will be used to ensure more predictable latencies.\n\nResource limits can be changed during the runtime of a program, therefore the value is\nnot cached and instead recomputed every time this function is called. It should not be\ncalled from hot code.\n\nThe value returned by this function should be considered a simplified\napproximation of the actual amount of parallelism available at any given\ntime. To get a more detailed or precise overview of the amount of\nparallelism available to the program, you may wish to use\nplatform-specific APIs as well. The following platform limitations currently\napply to `available_parallelism`:\n\nOn Windows:\n- It may undercount the amount of parallelism available on systems with more\n than 64 logical CPUs. However, programs typically need specific support to\n take advantage of more than 64 logical CPUs, and in the absence of such\n support, the number returned by this function accurately reflects the\n number of logical CPUs the program can use by default.\n- It may overcount the amount of parallelism available on systems limited by\n process-wide affinity masks, or job object limitations.\n\nOn Linux:\n- It may overcount the amount of parallelism available when limited by a\n process-wide affinity mask or cgroup quotas and `sched_getaffinity()` or cgroup fs can't be\n queried, e.g. due to sandboxing.\n- It may undercount the amount of parallelism if the current thread's affinity mask\n does not reflect the process' cpuset, e.g. due to pinned threads.\n- If the process is in a cgroup v1 cpu controller, this may need to\n scan mountpoints to find the corresponding cgroup v1 controller,\n which may take time on systems with large numbers of mountpoints.\n (This does not apply to cgroup v2, or to processes not in a\n cgroup.)\n- It does not attempt to take `ulimit` into account. If there is a limit set on the number of\n threads, `available_parallelism` cannot know how much of that limit a Rust program should\n take, or know in a reliable and race-free way how much of that limit is already taken.\n\nOn all targets:\n- It may overcount the amount of parallelism available when running in a VM\nwith CPU usage limits (e.g. an overcommitted host).\n\n# Errors\n\nThis function will, but is not limited to, return errors in the following\ncases:\n\n- If the amount of parallelism is not known for the target platform.\n- If the program lacks permission to query the amount of parallelism made\n available to it.\n\n# Examples\n\n```\n# #![allow(dead_code)]\nuse std::{io, thread};\n\nfn main() -> io::Result<()> {\n let count = thread::available_parallelism()?.get();\n assert!(count >= 1_usize);\n Ok(())\n}\n```", + "id": 605, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 512, + "path": "crate::num::NonZero" + } + } + } + ], + "constraints": [] + } + }, + "id": 469, + "path": "io::Result" + } + } + } + } + }, + "links": {}, + "name": "available_parallelism", + "span": { + "begin": [ + 2095, + 1 + ], + "end": [ + 2097, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "6050": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6017, + "id": 6050, "inner": { "impl": { "blanket_impl": null, @@ -513056,7 +534800,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513090,12 +534834,12 @@ "span": null, "visibility": "default" }, - "6018": { + "6051": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6018, + "id": 6051, "inner": { "impl": { "blanket_impl": null, @@ -513111,7 +534855,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513135,7 +534879,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -513145,12 +534889,12 @@ "span": null, "visibility": "default" }, - "6019": { + "6052": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6019, + "id": 6052, "inner": { "impl": { "blanket_impl": null, @@ -513166,7 +534910,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513190,7 +534934,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -513200,70 +534944,12 @@ "span": null, "visibility": "default" }, - "602": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 602, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 599, - "path": "RawHandle" - } - } - } - } - }, - "links": {}, - "name": "into_raw_handle", - "span": { - "begin": [ - 22, - 5 - ], - "end": [ - 24, - 6 - ], - "filename": "std/src/os/windows/thread.rs" - }, - "visibility": "default" - }, - "6020": { + "6053": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6020, + "id": 6053, "inner": { "impl": { "blanket_impl": { @@ -513281,7 +534967,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513326,7 +535012,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -513342,7 +535028,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -513351,23 +535037,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6021": { + "6054": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6021, + "id": 6054, "inner": { "impl": { "blanket_impl": { @@ -513385,7 +535071,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513430,7 +535116,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -513446,7 +535132,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -513455,23 +535141,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6022": { + "6055": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6022, + "id": 6055, "inner": { "impl": { "blanket_impl": { @@ -513489,7 +535175,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513516,7 +535202,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -513548,23 +535234,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "6023": { + "6056": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6023, + "id": 6056, "inner": { "impl": { "blanket_impl": { @@ -513582,7 +535268,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513648,7 +535334,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -513673,23 +535359,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6024": { + "6057": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6024, + "id": 6057, "inner": { "impl": { "blanket_impl": { @@ -513707,7 +535393,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513730,7 +535416,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -513755,23 +535441,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6025": { + "6058": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6025, + "id": 6058, "inner": { "impl": { "blanket_impl": { @@ -513789,7 +535475,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513837,7 +535523,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -513855,8 +535541,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -513872,7 +535558,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -513881,23 +535567,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6026": { + "6059": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6026, + "id": 6059, "inner": { "impl": { "blanket_impl": { @@ -513915,7 +535601,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -513981,8 +535667,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -513998,7 +535684,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -514007,23 +535693,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6027": { + "6060": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6027, + "id": 6060, "inner": { "impl": { "blanket_impl": { @@ -514041,7 +535727,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -514089,12 +535775,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -514114,12 +535800,12 @@ }, "visibility": "default" }, - "6028": { + "6061": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6028, + "id": 6061, "inner": { "impl": { "blanket_impl": { @@ -514137,7 +535823,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -514164,7 +535850,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -514191,7 +535877,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -514200,18 +535886,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "6029": { + "6062": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -514220,7 +535906,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6029, + "id": 6062, "inner": { "function": { "generics": { @@ -514262,7 +535948,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } } @@ -514273,96 +535959,18 @@ "name": "clone", "span": { "begin": [ - 502, + 521, 10 ], "end": [ - 502, + 521, 15 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "603": { - "attrs": [ - { - "other": "#[doc(cfg(windows))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 603, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 474, - "path": "thread::JoinHandle" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 602 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 604, - "path": "IntoRawHandle" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 20, - 1 - ], - "end": [ - 25, - 2 - ], - "filename": "std/src/os/windows/thread.rs" - }, - "visibility": "default" - }, - "6030": { + "6063": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -514375,7 +535983,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6030, + "id": 6063, "inner": { "impl": { "blanket_impl": null, @@ -514391,7 +535999,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -514412,14 +536020,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6029 + 6062 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -514428,18 +536036,18 @@ "name": null, "span": { "begin": [ - 502, + 521, 10 ], "end": [ - 502, + 521, 15 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "6031": { + "6064": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -514448,7 +536056,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6031, + "id": 6064, "inner": { "function": { "generics": { @@ -514494,7 +536102,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -514506,7 +536114,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -514517,18 +536125,18 @@ "name": "fmt", "span": { "begin": [ - 502, + 521, 17 ], "end": [ - 502, + 521, 22 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "6032": { + "6065": { "attrs": [ { "other": "#[doc(cfg(windows))]" @@ -514541,7 +536149,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6032, + "id": 6065, "inner": { "impl": { "blanket_impl": null, @@ -514557,7 +536165,7 @@ "constraints": [] } }, - "id": 5988, + "id": 6021, "path": "ProcThreadAttributeListBuilder" } }, @@ -514578,12 +536186,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6031 + 6064 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -514592,18 +536200,18 @@ "name": null, "span": { "begin": [ - 502, + 521, 17 ], "end": [ - 502, + 521, 22 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "default" }, - "6033": { + "6066": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"process_extensions\"}}]" @@ -514612,23 +536220,23 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to primitives in the [`std::process`] module.\n\n[`std::process`]: crate::process", - "id": 6033, + "id": 6066, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5952, - 5965, - 5977, - 5982, - 5960, - 5988 + 5983, + 5997, + 6010, + 6015, + 5991, + 6021 ] } }, "links": { - "crate::process": 5390 + "crate::process": 5395 }, "name": "process", "span": { @@ -514637,14 +536245,14 @@ 1 ], "end": [ - 699, + 718, 2 ], "filename": "std/src/os/windows/process.rs" }, "visibility": "public" }, - "6034": { + "6067": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"raw_ext\"}}]" @@ -514653,14 +536261,14 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific primitives.", - "id": 6034, + "id": 6067, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5850, - 5851 + 5881, + 5882 ] } }, @@ -514679,7 +536287,7 @@ }, "visibility": "public" }, - "6035": { + "6068": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"thread_extensions\"}}]" @@ -514688,7 +536296,7 @@ "crate_id": 0, "deprecation": null, "docs": "Windows-specific extensions to primitives in the [`std::thread`] module.\n\n[`std::thread`]: crate::thread", - "id": 6035, + "id": 6068, "inner": { "module": { "is_crate": false, @@ -514713,7 +536321,7 @@ }, "visibility": "public" }, - "6036": { + "6069": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -514725,10 +536333,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6036, + "id": 6069, "inner": { "use": { - "id": 2255, + "id": 2253, "is_glob": false, "name": "OsStrExt", "source": "super::ffi::OsStrExt" @@ -514749,7 +536357,96 @@ }, "visibility": "public" }, - "6037": { + "607": { + "attrs": [ + { + "other": "#[deny(unsafe_op_in_unsafe_fn)]" + }, + { + "other": "#[(test, allow(dead_code))]" + }, + { + "other": "#[attr = MacroUse {arguments: UseAll}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Native threads.\n\n## The threading model\n\nAn executing Rust program consists of a collection of native OS threads,\neach with their own stack and local state. Threads can be named, and\nprovide some built-in support for low-level synchronization.\n\nCommunication between threads can be done through\n[channels], Rust's message-passing types, along with [other forms of thread\nsynchronization](../../std/sync/index.html) and shared-memory data\nstructures. In particular, types that are guaranteed to be\nthreadsafe are easily shared between threads using the\natomically-reference-counted container, [`Arc`].\n\nFatal logic errors in Rust cause *thread panic*, during which\na thread will unwind the stack, running destructors and freeing\nowned resources. While not meant as a 'try/catch' mechanism, panics\nin Rust can nonetheless be caught (unless compiling with `panic=abort`) with\n[`catch_unwind`](../../std/panic/fn.catch_unwind.html) and recovered\nfrom, or alternatively be resumed with\n[`resume_unwind`](../../std/panic/fn.resume_unwind.html). If the panic\nis not caught the thread will exit, but the panic may optionally be\ndetected from a different thread with [`join`]. If the main thread panics\nwithout the panic being caught, the application will exit with a\nnon-zero exit code.\n\nWhen the main thread of a Rust program terminates, the entire program shuts\ndown, even if other threads are still running. However, this module provides\nconvenient facilities for automatically waiting for the termination of a\nthread (i.e., join).\n\n## Spawning a thread\n\nA new thread can be spawned using the [`thread::spawn`][`spawn`] function:\n\n```rust\nuse std::thread;\n\nthread::spawn(move || {\n // some work here\n});\n```\n\nIn this example, the spawned thread is \"detached,\" which means that there is\nno way for the program to learn when the spawned thread completes or otherwise\nterminates.\n\nTo learn when a thread completes, it is necessary to capture the [`JoinHandle`]\nobject that is returned by the call to [`spawn`], which provides\na `join` method that allows the caller to wait for the completion of the\nspawned thread:\n\n```rust\nuse std::thread;\n\nlet thread_join_handle = thread::spawn(move || {\n // some work here\n});\n// some work here\nlet res = thread_join_handle.join();\n```\n\nThe [`join`] method returns a [`thread::Result`] containing [`Ok`] of the final\nvalue produced by the spawned thread, or [`Err`] of the value given to\na call to [`panic!`] if the thread panicked.\n\nNote that there is no parent/child relationship between a thread that spawns a\nnew thread and the thread being spawned. In particular, the spawned thread may or\nmay not outlive the spawning thread, unless the spawning thread is the main thread.\n\n## Configuring threads\n\nA new thread can be configured before it is spawned via the [`Builder`] type,\nwhich currently allows you to set the name and stack size for the thread:\n\n```rust\n# #![allow(unused_must_use)]\nuse std::thread;\n\nthread::Builder::new().name(\"thread1\".to_string()).spawn(move || {\n println!(\"Hello, world!\");\n});\n```\n\n## The `Thread` type\n\nThreads are represented via the [`Thread`] type, which you can get in one of\ntwo ways:\n\n* By spawning a new thread, e.g., using the [`thread::spawn`][`spawn`]\n function, and calling [`thread`][`JoinHandle::thread`] on the [`JoinHandle`].\n* By requesting the current thread, using the [`thread::current`] function.\n\nThe [`thread::current`] function is available even for threads not spawned\nby the APIs of this module.\n\n## Thread-local storage\n\nThis module also provides an implementation of thread-local storage for Rust\nprograms. Thread-local storage is a method of storing data into a global\nvariable that each thread in the program will have its own copy of.\nThreads do not share this data, so accesses do not need to be synchronized.\n\nA thread-local key owns the value it contains and will destroy the value when the\nthread exits. It is created with the [`thread_local!`] macro and can contain any\nvalue that is `'static` (no borrowed pointers). It provides an accessor function,\n[`with`], that yields a shared reference to the value to the specified\nclosure. Thread-local keys allow only shared access to values, as there would be no\nway to guarantee uniqueness if mutable borrows were allowed. Most values\nwill want to make use of some form of **interior mutability** through the\n[`Cell`] or [`RefCell`] types.\n\n## Naming threads\n\nThreads are able to have associated names for identification purposes. By default, spawned\nthreads are unnamed. To specify a name for a thread, build the thread with [`Builder`] and pass\nthe desired thread name to [`Builder::name`]. To retrieve the thread name from within the\nthread, use [`Thread::name`]. A couple of examples where the name of a thread gets used:\n\n* If a panic occurs in a named thread, the thread name will be printed in the panic message.\n* The thread name is provided to the OS where applicable (e.g., `pthread_setname_np` in\n unix-like platforms).\n\n## Stack size\n\nThe default stack size is platform-dependent and subject to change.\nCurrently, it is 2 MiB on all Tier-1 platforms.\n\nThere are two ways to manually specify the stack size for spawned threads:\n\n* Build the thread with [`Builder`] and pass the desired stack size to [`Builder::stack_size`].\n* Set the `RUST_MIN_STACK` environment variable to an integer representing the desired stack\n size (in bytes). Note that setting [`Builder::stack_size`] will override this. Be aware that\n changes to `RUST_MIN_STACK` may be ignored after program start.\n\nNote that the stack size of the main thread is *not* determined by Rust.\n\n[channels]: crate::sync::mpsc\n[`join`]: JoinHandle::join\n[`Result`]: crate::result::Result\n[`Ok`]: crate::result::Result::Ok\n[`Err`]: crate::result::Result::Err\n[`thread::current`]: current::current\n[`thread::Result`]: Result\n[`unpark`]: Thread::unpark\n[`thread::park_timeout`]: park_timeout\n[`Cell`]: crate::cell::Cell\n[`RefCell`]: crate::cell::RefCell\n[`with`]: LocalKey::with\n[`thread_local!`]: crate::thread_local", + "id": 607, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 306, + 470, + 497, + 498, + 500, + 499, + 503, + 505, + 508, + 507, + 370, + 347, + 349, + 475, + 605 + ] + } + }, + "links": { + "JoinHandle::join": 382, + "LocalKey::with": 377, + "Result": 349, + "Thread::unpark": 506, + "`Arc`": 606, + "`Builder::name`": 466, + "`Builder::stack_size`": 467, + "`Builder`": 306, + "`JoinHandle::thread`": 543, + "`JoinHandle`": 475, + "`Thread::name`": 544, + "`Thread`": 347, + "`panic!`": 493, + "`spawn`": 470, + "crate::cell::Cell": 378, + "crate::cell::RefCell": 380, + "crate::result::Result": 57, + "crate::result::Result::Err": 59, + "crate::result::Result::Ok": 61, + "crate::sync::mpsc": 494, + "crate::thread_local": 376, + "current::current": 371, + "park_timeout": 507 + }, + "name": "thread", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 2097, + 2 + ], + "filename": "std/src/thread/mod.rs" + }, + "visibility": "public" + }, + "6070": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -514761,10 +536458,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6037, + "id": 6070, "inner": { "use": { - "id": 2096, + "id": 2094, "is_glob": false, "name": "OsStringExt", "source": "super::ffi::OsStringExt" @@ -514785,7 +536482,7 @@ }, "visibility": "public" }, - "6038": { + "6071": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -514797,7 +536494,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6038, + "id": 6071, "inner": { "use": { "id": 2533, @@ -514821,7 +536518,7 @@ }, "visibility": "public" }, - "6039": { + "6072": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -514833,7 +536530,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6039, + "id": 6072, "inner": { "use": { "id": 2710, @@ -514857,58 +536554,7 @@ }, "visibility": "public" }, - "604": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A trait to express the ability to consume an object and acquire ownership of\nits raw `HANDLE`.", - "id": 604, - "inner": { - "trait": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "implementations": [ - 5704, - 2546, - 3480, - 3534, - 5865, - 5867, - 5869, - 5871, - 603 - ], - "is_auto": false, - "is_dyn_compatible": true, - "is_unsafe": false, - "items": [ - 5863 - ] - } - }, - "links": {}, - "name": "IntoRawHandle", - "span": { - "begin": [ - 78, - 1 - ], - "end": [ - 91, - 2 - ], - "filename": "std/src/os/windows/io/raw.rs" - }, - "visibility": "public" - }, - "6040": { + "6073": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -514920,7 +536566,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6040, + "id": 6073, "inner": { "use": { "id": 2818, @@ -514944,7 +536590,7 @@ }, "visibility": "public" }, - "6041": { + "6074": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -514956,7 +536602,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6041, + "id": 6074, "inner": { "use": { "id": 594, @@ -514980,7 +536626,7 @@ }, "visibility": "public" }, - "6042": { + "6075": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -514992,10 +536638,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6042, + "id": 6075, "inner": { "use": { - "id": 4531, + "id": 4532, "is_glob": false, "name": "AsSocket", "source": "super::io::AsSocket" @@ -515016,7 +536662,7 @@ }, "visibility": "public" }, - "6043": { + "6076": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515028,7 +536674,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6043, + "id": 6076, "inner": { "use": { "id": 592, @@ -515052,7 +536698,7 @@ }, "visibility": "public" }, - "6044": { + "6077": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515064,10 +536710,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6044, + "id": 6077, "inner": { "use": { - "id": 4529, + "id": 4530, "is_glob": false, "name": "BorrowedSocket", "source": "super::io::BorrowedSocket" @@ -515088,7 +536734,7 @@ }, "visibility": "public" }, - "6045": { + "6078": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515100,7 +536746,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6045, + "id": 6078, "inner": { "use": { "id": 2544, @@ -515124,7 +536770,7 @@ }, "visibility": "public" }, - "6046": { + "6079": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515136,10 +536782,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6046, + "id": 6079, "inner": { "use": { - "id": 4524, + "id": 4525, "is_glob": false, "name": "FromRawSocket", "source": "super::io::FromRawSocket" @@ -515160,7 +536806,40 @@ }, "visibility": "public" }, - "6047": { + "608": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 608, + "inner": { + "use": { + "id": 609, + "is_glob": false, + "name": "Char", + "source": "core::ascii::Char" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 17, + 1 + ], + "end": [ + 17, + 27 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "public" + }, + "6080": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515172,10 +536851,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6047, + "id": 6080, "inner": { "use": { - "id": 5699, + "id": 5730, "is_glob": false, "name": "HandleOrInvalid", "source": "super::io::HandleOrInvalid" @@ -515196,7 +536875,7 @@ }, "visibility": "public" }, - "6048": { + "6081": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515208,7 +536887,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6048, + "id": 6081, "inner": { "use": { "id": 604, @@ -515232,7 +536911,7 @@ }, "visibility": "public" }, - "6049": { + "6082": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515244,10 +536923,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6049, + "id": 6082, "inner": { "use": { - "id": 4527, + "id": 4528, "is_glob": false, "name": "IntoRawSocket", "source": "super::io::IntoRawSocket" @@ -515268,93 +536947,7 @@ }, "visibility": "public" }, - "605": { - "attrs": [ - { - "other": "#[doc(alias = \"available_concurrency\")]" - }, - { - "other": "#[doc(alias = \"hardware_concurrency\")]" - }, - { - "other": "#[doc(alias = \"num_cpus\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 59, patch: 0})}, feature: \"available_parallelism\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns an estimate of the default amount of parallelism a program should use.\n\nParallelism is a resource. A given machine provides a certain capacity for\nparallelism, i.e., a bound on the number of computations it can perform\nsimultaneously. This number often corresponds to the amount of CPUs a\ncomputer has, but it may diverge in various cases.\n\nHost environments such as VMs or container orchestrators may want to\nrestrict the amount of parallelism made available to programs in them. This\nis often done to limit the potential impact of (unintentionally)\nresource-intensive programs on other programs running on the same machine.\n\n# Limitations\n\nThe purpose of this API is to provide an easy and portable way to query\nthe default amount of parallelism the program should use. Among other things it\ndoes not expose information on NUMA regions, does not account for\ndifferences in (co)processor capabilities or current system load,\nand will not modify the program's global state in order to more accurately\nquery the amount of available parallelism.\n\nWhere both fixed steady-state and burst limits are available the steady-state\ncapacity will be used to ensure more predictable latencies.\n\nResource limits can be changed during the runtime of a program, therefore the value is\nnot cached and instead recomputed every time this function is called. It should not be\ncalled from hot code.\n\nThe value returned by this function should be considered a simplified\napproximation of the actual amount of parallelism available at any given\ntime. To get a more detailed or precise overview of the amount of\nparallelism available to the program, you may wish to use\nplatform-specific APIs as well. The following platform limitations currently\napply to `available_parallelism`:\n\nOn Windows:\n- It may undercount the amount of parallelism available on systems with more\n than 64 logical CPUs. However, programs typically need specific support to\n take advantage of more than 64 logical CPUs, and in the absence of such\n support, the number returned by this function accurately reflects the\n number of logical CPUs the program can use by default.\n- It may overcount the amount of parallelism available on systems limited by\n process-wide affinity masks, or job object limitations.\n\nOn Linux:\n- It may overcount the amount of parallelism available when limited by a\n process-wide affinity mask or cgroup quotas and `sched_getaffinity()` or cgroup fs can't be\n queried, e.g. due to sandboxing.\n- It may undercount the amount of parallelism if the current thread's affinity mask\n does not reflect the process' cpuset, e.g. due to pinned threads.\n- If the process is in a cgroup v1 cpu controller, this may need to\n scan mountpoints to find the corresponding cgroup v1 controller,\n which may take time on systems with large numbers of mountpoints.\n (This does not apply to cgroup v2, or to processes not in a\n cgroup.)\n- It does not attempt to take `ulimit` into account. If there is a limit set on the number of\n threads, `available_parallelism` cannot know how much of that limit a Rust program should\n take, or know in a reliable and race-free way how much of that limit is already taken.\n\nOn all targets:\n- It may overcount the amount of parallelism available when running in a VM\nwith CPU usage limits (e.g. an overcommitted host).\n\n# Errors\n\nThis function will, but is not limited to, return errors in the following\ncases:\n\n- If the amount of parallelism is not known for the target platform.\n- If the program lacks permission to query the amount of parallelism made\n available to it.\n\n# Examples\n\n```\n# #![allow(dead_code)]\nuse std::{io, thread};\n\nfn main() -> io::Result<()> {\n let count = thread::available_parallelism()?.get();\n assert!(count >= 1_usize);\n Ok(())\n}\n```", - "id": 605, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 512, - "path": "crate::num::NonZero" - } - } - } - ], - "constraints": [] - } - }, - "id": 468, - "path": "io::Result" - } - } - } - } - }, - "links": {}, - "name": "available_parallelism", - "span": { - "begin": [ - 2056, - 1 - ], - "end": [ - 2058, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "6050": { + "6083": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515366,7 +536959,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6050, + "id": 6083, "inner": { "use": { "id": 596, @@ -515390,7 +536983,7 @@ }, "visibility": "public" }, - "6051": { + "6084": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515402,10 +536995,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6051, + "id": 6084, "inner": { "use": { - "id": 4533, + "id": 4534, "is_glob": false, "name": "OwnedSocket", "source": "super::io::OwnedSocket" @@ -515426,7 +537019,7 @@ }, "visibility": "public" }, - "6052": { + "6085": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515438,7 +537031,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6052, + "id": 6085, "inner": { "use": { "id": 601, @@ -515462,7 +537055,7 @@ }, "visibility": "public" }, - "6053": { + "6086": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515474,10 +537067,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6053, + "id": 6086, "inner": { "use": { - "id": 4521, + "id": 4522, "is_glob": false, "name": "AsRawSocket", "source": "super::io::AsRawSocket" @@ -515498,7 +537091,7 @@ }, "visibility": "public" }, - "6054": { + "6087": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515510,7 +537103,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6054, + "id": 6087, "inner": { "use": { "id": 599, @@ -515534,7 +537127,7 @@ }, "visibility": "public" }, - "6055": { + "6088": { "attrs": [ { "other": "#[doc(no_inline)]" @@ -515546,10 +537139,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6055, + "id": 6088, "inner": { "use": { - "id": 4519, + "id": 4520, "is_glob": false, "name": "RawSocket", "source": "super::io::RawSocket" @@ -515570,7 +537163,7 @@ }, "visibility": "public" }, - "6056": { + "6089": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -515579,32 +537172,32 @@ "crate_id": 0, "deprecation": null, "docs": "A prelude for conveniently writing platform-specific code.\n\nIncludes all extension traits, and some important type definitions.", - "id": 6056, + "id": 6089, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 6036, - 6037, - 6038, - 6039, - 6040, - 6041, - 6042, - 6043, - 6044, - 6045, - 6046, - 6047, - 6048, - 6049, - 6050, - 6051, - 6052, - 6053, - 6054, - 6055 + 6069, + 6070, + 6071, + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6078, + 6079, + 6080, + 6081, + 6082, + 6083, + 6084, + 6085, + 6086, + 6087, + 6088 ] } }, @@ -515623,7 +537216,7 @@ }, "visibility": "public" }, - "6057": { + "6090": { "attrs": [ { "other": "#[(not(all(doc,\nany(all(target_arch = \"wasm32\", not(target_os = \"wasi\")),\nall(target_vendor = \"fortanix\", target_env = \"sgx\")))))]" @@ -515644,19 +537237,19 @@ "crate_id": 0, "deprecation": null, "docs": "Platform-specific extensions to `std` for Windows.\n\nProvides access to platform-level information for Windows, and exposes\nWindows-specific idioms that would otherwise be inappropriate as part\nthe core `std` library. These extensions allow developers to use\n`std` types and idioms with Windows in a way that the normal\nplatform-agnostic idioms would not normally support.\n\n# Examples\n\n```no_run\nuse std::fs::File;\nuse std::os::windows::prelude::*;\n\nfn main() -> std::io::Result<()> {\n let f = File::create(\"foo.txt\")?;\n let handle = f.as_raw_handle();\n\n // use handle with native windows bindings\n\n Ok(())\n}\n```", - "id": 6057, + "id": 6090, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 5623, - 5644, - 5849, - 6033, - 6034, - 6035, - 6056 + 5653, + 5675, + 5880, + 6066, + 6067, + 6068, + 6089 ] } }, @@ -515675,7 +537268,7 @@ }, "visibility": "public" }, - "6058": { + "6091": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -515684,7 +537277,7 @@ "crate_id": 0, "deprecation": null, "docs": "Borrows the file descriptor.\n\n# Example\n\n```rust,no_run\nuse std::fs::File;\n# use std::io;\n# #[cfg(any(unix, target_os = \"wasi\"))]\n# use std::os::fd::{AsFd, BorrowedFd};\n\nlet mut f = File::open(\"foo.txt\")?;\n# #[cfg(any(unix, target_os = \"wasi\"))]\nlet borrowed_fd: BorrowedFd<'_> = f.as_fd();\n# Ok::<(), io::Error>(())\n```", - "id": 6058, + "id": 6091, "inner": { "function": { "generics": { @@ -515737,18 +537330,18 @@ "name": "as_fd", "span": { "begin": [ - 252, + 270, 5 ], "end": [ - 252, + 270, 39 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6059": { + "6092": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -515757,7 +537350,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts the raw file descriptor.\n\nThis function is typically used to **borrow** an owned file descriptor.\nWhen used in this way, this method does **not** pass ownership of the\nraw file descriptor to the caller, and the file descriptor is only\nguaranteed to be valid while the original object has not yet been\ndestroyed.\n\nHowever, borrowing is not strictly required. See [`AsFd::as_fd`]\nfor an API which strictly borrows a file descriptor.\n\n# Example\n\n```no_run\nuse std::fs::File;\n# use std::io;\n#[cfg(any(unix, target_os = \"wasi\"))]\nuse std::os::fd::{AsRawFd, RawFd};\n\nlet mut f = File::open(\"foo.txt\")?;\n// Note that `raw_fd` is only valid as long as `f` exists.\n#[cfg(any(unix, target_os = \"wasi\"))]\nlet raw_fd: RawFd = f.as_raw_fd();\n# Ok::<(), io::Error>(())\n```", - "id": 6059, + "id": 6092, "inner": { "function": { "generics": { @@ -515798,23 +537391,23 @@ } }, "links": { - "`AsFd::as_fd`": 6058 + "`AsFd::as_fd`": 6091 }, "name": "as_raw_fd", "span": { "begin": [ - 65, + 69, 5 ], "end": [ - 65, + 69, 34 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6060": { + "6093": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -515823,7 +537416,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6060, + "id": 6093, "inner": { "function": { "generics": { @@ -515867,18 +537460,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 449, + 451, 5 ], "end": [ - 451, + 453, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6061": { + "6094": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -515890,14 +537483,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6061, + "id": 6094, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "process::ChildStdin" } }, @@ -515909,7 +537502,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6060 + 6093 ], "provided_trait_methods": [], "trait": { @@ -515923,18 +537516,18 @@ "name": null, "span": { "begin": [ - 447, + 449, 1 ], "end": [ - 452, + 454, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6062": { + "6095": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -515943,7 +537536,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6062, + "id": 6095, "inner": { "function": { "generics": { @@ -515987,138 +537580,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 457, - 5 - ], - "end": [ 459, - 6 - ], - "filename": "std/src/os/unix/process.rs" - }, - "visibility": "default" - }, - "6063": { - "attrs": [ - { - "other": "#[doc(cfg(unix))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"process_extensions\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6063, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4077, - "path": "process::ChildStdout" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 6062 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 2550, - "path": "AsRawFd" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 455, - 1 - ], - "end": [ - 460, - 2 - ], - "filename": "std/src/os/unix/process.rs" - }, - "visibility": "default" - }, - "6064": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6064, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 2548, - "path": "RawFd" - } - } - } - } - }, - "links": {}, - "name": "as_raw_fd", - "span": { - "begin": [ - 465, 5 ], "end": [ - 467, + 461, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6065": { + "6096": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -516130,15 +537603,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6065, + "id": 6096, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, - "path": "process::ChildStderr" + "id": 4076, + "path": "process::ChildStdout" } }, "generics": { @@ -516149,7 +537622,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6064 + 6095 ], "provided_trait_methods": [], "trait": { @@ -516163,18 +537636,18 @@ "name": null, "span": { "begin": [ - 463, + 457, 1 ], "end": [ - 468, + 462, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6066": { + "6097": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -516183,7 +537656,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6066, + "id": 6097, "inner": { "function": { "generics": { @@ -516227,35 +537700,38 @@ "name": "as_raw_fd", "span": { "begin": [ - 147, + 467, 5 ], "end": [ - 149, + 469, 6 ], - "filename": "std/src/os/fd/raw.rs" + "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6067": { + "6098": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 48, patch: 0})}, feature: \"raw_fd_reflexive_traits\"}}]" + "other": "#[doc(cfg(unix))]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"process_extensions\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6067, + "id": 6098, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2548, - "path": "RawFd" + "id": 4083, + "path": "process::ChildStderr" } }, "generics": { @@ -516266,7 +537742,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6066 + 6097 ], "provided_trait_methods": [], "trait": { @@ -516280,18 +537756,18 @@ "name": null, "span": { "begin": [ - 145, + 465, 1 ], "end": [ - 150, + 470, 2 ], - "filename": "std/src/os/fd/raw.rs" + "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6068": { + "6099": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -516300,7 +537776,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6068, + "id": 6099, "inner": { "function": { "generics": { @@ -516344,80 +537820,79 @@ "name": "as_raw_fd", "span": { "begin": [ - 259, + 151, 5 ], "end": [ - 261, + 153, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6069": { + "610": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"asrawfd_ptrs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "This impl allows implementing traits that require `AsRawFd` on Arc.\n```\n# #[cfg(any(unix, target_os = \"wasi\"))] mod group_cfg {\n# #[cfg(target_os = \"wasi\")]\n# use std::os::wasi::io::AsRawFd;\n# #[cfg(unix)]\n# use std::os::unix::io::AsRawFd;\nuse std::net::UdpSocket;\nuse std::sync::Arc;\ntrait MyTrait: AsRawFd {\n}\nimpl MyTrait for Arc {}\nimpl MyTrait for Box {}\n# }\n```", - "id": 6069, + "docs": null, + "id": 610, + "inner": { + "use": { + "id": 611, + "is_glob": false, + "name": "EscapeDefault", + "source": "core::ascii::EscapeDefault" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 19, + 23 + ], + "end": [ + 19, + 36 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "public" + }, + "6100": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 48, patch: 0})}, feature: \"raw_fd_reflexive_traits\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6100, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 606, - "path": "crate::sync::Arc" + "args": null, + "id": 2548, + "path": "RawFd" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 2550, - "path": "AsRawFd" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 6068 + 6099 ], "provided_trait_methods": [], "trait": { @@ -516431,106 +537906,18 @@ "name": null, "span": { "begin": [ - 257, + 149, 1 ], "end": [ - 262, + 154, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "607": { - "attrs": [ - { - "other": "#[deny(unsafe_op_in_unsafe_fn)]" - }, - { - "other": "#[(test, allow(dead_code))]" - }, - { - "other": "#[attr = MacroUse {arguments: UseAll}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Native threads.\n\n## The threading model\n\nAn executing Rust program consists of a collection of native OS threads,\neach with their own stack and local state. Threads can be named, and\nprovide some built-in support for low-level synchronization.\n\nCommunication between threads can be done through\n[channels], Rust's message-passing types, along with [other forms of thread\nsynchronization](../../std/sync/index.html) and shared-memory data\nstructures. In particular, types that are guaranteed to be\nthreadsafe are easily shared between threads using the\natomically-reference-counted container, [`Arc`].\n\nFatal logic errors in Rust cause *thread panic*, during which\na thread will unwind the stack, running destructors and freeing\nowned resources. While not meant as a 'try/catch' mechanism, panics\nin Rust can nonetheless be caught (unless compiling with `panic=abort`) with\n[`catch_unwind`](../../std/panic/fn.catch_unwind.html) and recovered\nfrom, or alternatively be resumed with\n[`resume_unwind`](../../std/panic/fn.resume_unwind.html). If the panic\nis not caught the thread will exit, but the panic may optionally be\ndetected from a different thread with [`join`]. If the main thread panics\nwithout the panic being caught, the application will exit with a\nnon-zero exit code.\n\nWhen the main thread of a Rust program terminates, the entire program shuts\ndown, even if other threads are still running. However, this module provides\nconvenient facilities for automatically waiting for the termination of a\nthread (i.e., join).\n\n## Spawning a thread\n\nA new thread can be spawned using the [`thread::spawn`][`spawn`] function:\n\n```rust\nuse std::thread;\n\nthread::spawn(move || {\n // some work here\n});\n```\n\nIn this example, the spawned thread is \"detached,\" which means that there is\nno way for the program to learn when the spawned thread completes or otherwise\nterminates.\n\nTo learn when a thread completes, it is necessary to capture the [`JoinHandle`]\nobject that is returned by the call to [`spawn`], which provides\na `join` method that allows the caller to wait for the completion of the\nspawned thread:\n\n```rust\nuse std::thread;\n\nlet thread_join_handle = thread::spawn(move || {\n // some work here\n});\n// some work here\nlet res = thread_join_handle.join();\n```\n\nThe [`join`] method returns a [`thread::Result`] containing [`Ok`] of the final\nvalue produced by the spawned thread, or [`Err`] of the value given to\na call to [`panic!`] if the thread panicked.\n\nNote that there is no parent/child relationship between a thread that spawns a\nnew thread and the thread being spawned. In particular, the spawned thread may or\nmay not outlive the spawning thread, unless the spawning thread is the main thread.\n\n## Configuring threads\n\nA new thread can be configured before it is spawned via the [`Builder`] type,\nwhich currently allows you to set the name and stack size for the thread:\n\n```rust\n# #![allow(unused_must_use)]\nuse std::thread;\n\nthread::Builder::new().name(\"thread1\".to_string()).spawn(move || {\n println!(\"Hello, world!\");\n});\n```\n\n## The `Thread` type\n\nThreads are represented via the [`Thread`] type, which you can get in one of\ntwo ways:\n\n* By spawning a new thread, e.g., using the [`thread::spawn`][`spawn`]\n function, and calling [`thread`][`JoinHandle::thread`] on the [`JoinHandle`].\n* By requesting the current thread, using the [`thread::current`] function.\n\nThe [`thread::current`] function is available even for threads not spawned\nby the APIs of this module.\n\n## Thread-local storage\n\nThis module also provides an implementation of thread-local storage for Rust\nprograms. Thread-local storage is a method of storing data into a global\nvariable that each thread in the program will have its own copy of.\nThreads do not share this data, so accesses do not need to be synchronized.\n\nA thread-local key owns the value it contains and will destroy the value when the\nthread exits. It is created with the [`thread_local!`] macro and can contain any\nvalue that is `'static` (no borrowed pointers). It provides an accessor function,\n[`with`], that yields a shared reference to the value to the specified\nclosure. Thread-local keys allow only shared access to values, as there would be no\nway to guarantee uniqueness if mutable borrows were allowed. Most values\nwill want to make use of some form of **interior mutability** through the\n[`Cell`] or [`RefCell`] types.\n\n## Naming threads\n\nThreads are able to have associated names for identification purposes. By default, spawned\nthreads are unnamed. To specify a name for a thread, build the thread with [`Builder`] and pass\nthe desired thread name to [`Builder::name`]. To retrieve the thread name from within the\nthread, use [`Thread::name`]. A couple of examples where the name of a thread gets used:\n\n* If a panic occurs in a named thread, the thread name will be printed in the panic message.\n* The thread name is provided to the OS where applicable (e.g., `pthread_setname_np` in\n unix-like platforms).\n\n## Stack size\n\nThe default stack size is platform-dependent and subject to change.\nCurrently, it is 2 MiB on all Tier-1 platforms.\n\nThere are two ways to manually specify the stack size for spawned threads:\n\n* Build the thread with [`Builder`] and pass the desired stack size to [`Builder::stack_size`].\n* Set the `RUST_MIN_STACK` environment variable to an integer representing the desired stack\n size (in bytes). Note that setting [`Builder::stack_size`] will override this. Be aware that\n changes to `RUST_MIN_STACK` may be ignored after program start.\n\nNote that the stack size of the main thread is *not* determined by Rust.\n\n[channels]: crate::sync::mpsc\n[`join`]: JoinHandle::join\n[`Result`]: crate::result::Result\n[`Ok`]: crate::result::Result::Ok\n[`Err`]: crate::result::Result::Err\n[`thread::current`]: current::current\n[`thread::Result`]: Result\n[`unpark`]: Thread::unpark\n[`thread::park_timeout`]: park_timeout\n[`Cell`]: crate::cell::Cell\n[`RefCell`]: crate::cell::RefCell\n[`with`]: LocalKey::with\n[`thread_local!`]: crate::thread_local", - "id": 607, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 308, - 469, - 496, - 497, - 499, - 498, - 502, - 504, - 507, - 506, - 510, - 349, - 351, - 474, - 605 - ] - } - }, - "links": { - "JoinHandle::join": 382, - "LocalKey::with": 377, - "Result": 351, - "Thread::unpark": 505, - "`Arc`": 606, - "`Builder::name`": 465, - "`Builder::stack_size`": 466, - "`Builder`": 308, - "`JoinHandle::thread`": 543, - "`JoinHandle`": 474, - "`Thread::name`": 544, - "`Thread`": 349, - "`panic!`": 492, - "`spawn`": 469, - "crate::cell::Cell": 378, - "crate::cell::RefCell": 380, - "crate::result::Result": 57, - "crate::result::Result::Err": 59, - "crate::result::Result::Ok": 61, - "crate::sync::mpsc": 493, - "crate::thread_local": 376, - "current::current": 371, - "park_timeout": 506 - }, - "name": "thread", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 2058, - 2 - ], - "filename": "std/src/thread/mod.rs" - }, - "visibility": "public" - }, - "6070": { + "6101": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -516539,7 +537926,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6070, + "id": 6101, "inner": { "function": { "generics": { @@ -516583,27 +537970,27 @@ "name": "as_raw_fd", "span": { "begin": [ - 267, + 263, 5 ], "end": [ - 269, + 265, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6071": { + "6102": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 69, patch: 0})}, feature: \"asfd_rc\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"asrawfd_ptrs\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 6071, + "docs": "This impl allows implementing traits that require `AsRawFd` on Arc.\n```\n# #[cfg(any(unix, target_os = \"wasi\"))] mod group_cfg {\n# #[cfg(target_os = \"wasi\")]\n# use std::os::wasi::io::AsRawFd;\n# #[cfg(unix)]\n# use std::os::unix::io::AsRawFd;\nuse std::net::UdpSocket;\nuse std::sync::Arc;\ntrait MyTrait: AsRawFd {\n}\nimpl MyTrait for Arc {}\nimpl MyTrait for Box {}\n# }\n```", + "id": 6102, "inner": { "impl": { "blanket_impl": null, @@ -516621,8 +538008,8 @@ "constraints": [] } }, - "id": 2030, - "path": "crate::rc::Rc" + "id": 606, + "path": "crate::sync::Arc" } }, "generics": { @@ -516656,7 +538043,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6070 + 6101 ], "provided_trait_methods": [], "trait": { @@ -516670,18 +538057,18 @@ "name": null, "span": { "begin": [ - 265, + 261, 1 ], "end": [ - 270, + 266, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6072": { + "6103": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -516690,7 +538077,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6072, + "id": 6103, "inner": { "function": { "generics": { @@ -516734,27 +538121,27 @@ "name": "as_raw_fd", "span": { "begin": [ - 275, + 271, 5 ], "end": [ - 277, + 273, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6073": { + "6104": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 112566, is_soft: false}, feature: \"unique_rc_arc\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 69, patch: 0})}, feature: \"asfd_rc\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6073, + "id": 6104, "inner": { "impl": { "blanket_impl": null, @@ -516772,8 +538159,8 @@ "constraints": [] } }, - "id": 5837, - "path": "crate::rc::UniqueRc" + "id": 2028, + "path": "crate::rc::Rc" } }, "generics": { @@ -516792,17 +538179,6 @@ "path": "AsRawFd" } } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } } ], "default": null, @@ -516818,7 +538194,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6072 + 6103 ], "provided_trait_methods": [], "trait": { @@ -516832,18 +538208,18 @@ "name": null, "span": { "begin": [ - 273, + 269, 1 ], "end": [ - 278, + 274, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6074": { + "6105": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -516852,7 +538228,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6074, + "id": 6105, "inner": { "function": { "generics": { @@ -516896,27 +538272,27 @@ "name": "as_raw_fd", "span": { "begin": [ - 283, + 279, 5 ], "end": [ - 285, + 281, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6075": { + "6106": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"asrawfd_ptrs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 112566, is_soft: false}, feature: \"unique_rc_arc\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6075, + "id": 6106, "inner": { "impl": { "blanket_impl": null, @@ -516934,8 +538310,8 @@ "constraints": [] } }, - "id": 159, - "path": "Box" + "id": 5868, + "path": "crate::rc::UniqueRc" } }, "generics": { @@ -516954,6 +538330,17 @@ "path": "AsRawFd" } } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } } ], "default": null, @@ -516969,7 +538356,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6074 + 6105 ], "provided_trait_methods": [], "trait": { @@ -516983,18 +538370,18 @@ "name": null, "span": { "begin": [ - 281, + 277, 1 ], "end": [ - 286, + 282, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6076": { + "6107": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -517003,7 +538390,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6076, + "id": 6107, "inner": { "function": { "generics": { @@ -517047,27 +538434,27 @@ "name": "as_raw_fd", "span": { "begin": [ - 131, + 287, 5 ], "end": [ - 133, + 289, 6 ], - "filename": "std/src/os/fd/owned.rs" + "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6077": { + "6108": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"asrawfd_ptrs\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6077, + "id": 6108, "inner": { "impl": { "blanket_impl": null, @@ -517077,25 +538464,50 @@ "angle_bracketed": { "args": [ { - "lifetime": "'_" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2558, - "path": "BorrowedFd" + "id": 157, + "path": "Box" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 2550, + "path": "AsRawFd" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 6076 + 6107 ], "provided_trait_methods": [], "trait": { @@ -517109,18 +538521,18 @@ "name": null, "span": { "begin": [ - 129, + 285, 1 ], "end": [ - 134, + 290, 2 ], - "filename": "std/src/os/fd/owned.rs" + "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6078": { + "6109": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -517129,7 +538541,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6078, + "id": 6109, "inner": { "function": { "generics": { @@ -517173,18 +538585,18 @@ "name": "as_raw_fd", "span": { "begin": [ - 139, + 149, 5 ], "end": [ - 141, + 151, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6079": { + "6110": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -517193,15 +538605,24 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6079, + "id": 6110, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2562, - "path": "OwnedFd" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2558, + "path": "BorrowedFd" } }, "generics": { @@ -517212,7 +538633,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6078 + 6109 ], "provided_trait_methods": [], "trait": { @@ -517226,51 +538647,135 @@ "name": null, "span": { "begin": [ - 137, + 147, 1 ], "end": [ - 142, + 152, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "608": { + "6111": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 608, + "id": 6111, "inner": { - "use": { - "id": 609, - "is_glob": false, - "name": "Char", - "source": "core::ascii::Char" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 2548, + "path": "RawFd" + } + } + } + } + }, + "links": {}, + "name": "as_raw_fd", + "span": { + "begin": [ + 157, + 5 + ], + "end": [ + 159, + 6 + ], + "filename": "std/src/os/fd/owned.rs" + }, + "visibility": "default" + }, + "6112": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6112, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2562, + "path": "OwnedFd" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 6111 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 2550, + "path": "AsRawFd" + } } }, "links": {}, "name": null, "span": { "begin": [ - 17, + 155, 1 ], "end": [ - 17, - 27 + 160, + 2 ], - "filename": "std/src/ascii.rs" + "filename": "std/src/os/fd/owned.rs" }, - "visibility": "public" + "visibility": "default" }, - "6081": { + "6114": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"from_raw_os\"}}]" @@ -517279,7 +538784,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new instance of `Self` from the given raw file\ndescriptor.\n\nThis function is typically used to **consume ownership** of the\nspecified file descriptor. When used in this way, the returned object\nwill take responsibility for closing it when the object goes out of\nscope.\n\nHowever, consuming ownership is not strictly required. Use a\n[`From::from`] implementation for an API which strictly\nconsumes ownership.\n\n# Safety\n\nThe `fd` passed in must be an [owned file descriptor][io-safety];\nin particular, it must be open.\n\n[io-safety]: io#io-safety\n\n# Example\n\n```no_run\nuse std::fs::File;\n# use std::io;\n#[cfg(any(unix, target_os = \"wasi\"))]\nuse std::os::fd::{FromRawFd, IntoRawFd, RawFd};\n\nlet f = File::open(\"foo.txt\")?;\n# #[cfg(any(unix, target_os = \"wasi\"))]\nlet raw_fd: RawFd = f.into_raw_fd();\n// SAFETY: no other functions should call `from_raw_fd`, so there\n// is only one owner for the file descriptor.\n# #[cfg(any(unix, target_os = \"wasi\"))]\nlet f = unsafe { File::from_raw_fd(raw_fd) };\n# Ok::<(), io::Error>(())\n```", - "id": 6081, + "id": 6114, "inner": { "function": { "generics": { @@ -517314,24 +538819,24 @@ } }, "links": { - "`From::from`": 6080, - "io#io-safety": 501 + "`From::from`": 6113, + "io#io-safety": 502 }, "name": "from_raw_fd", "span": { "begin": [ - 109, + 113, 5 ], "end": [ - 109, + 113, 46 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6082": { + "6115": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -517340,7 +538845,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6082, + "id": 6115, "inner": { "function": { "generics": { @@ -517382,18 +538887,18 @@ "name": "from_raw_fd", "span": { "begin": [ - 427, + 429, 5 ], "end": [ - 431, + 433, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6083": { + "6116": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -517405,7 +538910,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6083, + "id": 6116, "inner": { "impl": { "blanket_impl": null, @@ -517424,7 +538929,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6082 + 6115 ], "provided_trait_methods": [], "trait": { @@ -517438,18 +538943,18 @@ "name": null, "span": { "begin": [ - 425, + 427, 1 ], "end": [ - 432, + 434, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6084": { + "6117": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -517458,7 +538963,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6084, + "id": 6117, "inner": { "function": { "generics": { @@ -517500,18 +539005,18 @@ "name": "from_raw_fd", "span": { "begin": [ - 161, + 165, 5 ], "end": [ - 163, + 167, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6085": { + "6118": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 48, patch: 0})}, feature: \"raw_fd_reflexive_traits\"}}]" @@ -517520,7 +539025,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6085, + "id": 6118, "inner": { "impl": { "blanket_impl": null, @@ -517539,7 +539044,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6084 + 6117 ], "provided_trait_methods": [], "trait": { @@ -517553,18 +539058,18 @@ "name": null, "span": { "begin": [ - 159, + 163, 1 ], "end": [ - 164, + 168, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6086": { + "6119": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -517576,7 +539081,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new instance of `Self` from the given raw file descriptor.\n\n# Safety\n\nThe resource pointed to by `fd` must be open and suitable for assuming\n[ownership][io-safety]. The resource must not require any cleanup other than `close`.\n\n[io-safety]: io#io-safety", - "id": 6086, + "id": 6119, "inner": { "function": { "generics": { @@ -517611,23 +539116,56 @@ } }, "links": { - "io#io-safety": 501 + "io#io-safety": 502 }, "name": "from_raw_fd", "span": { "begin": [ - 164, + 182, 5 ], "end": [ - 166, + 184, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6087": { + "612": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 612, + "inner": { + "use": { + "id": 613, + "is_glob": false, + "name": "escape_default", + "source": "core::ascii::escape_default" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 19, + 38 + ], + "end": [ + 19, + 52 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "public" + }, + "6120": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -517636,7 +539174,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6087, + "id": 6120, "inner": { "impl": { "blanket_impl": null, @@ -517655,7 +539193,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6086 + 6119 ], "provided_trait_methods": [], "trait": { @@ -517669,18 +539207,18 @@ "name": null, "span": { "begin": [ - 153, + 171, 1 ], "end": [ - 167, + 185, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6088": { + "6121": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"into_raw_os\"}}]" @@ -517694,7 +539232,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes this object, returning the raw underlying file descriptor.\n\nThis function is typically used to **transfer ownership** of the underlying\nfile descriptor to the caller. When used in this way, callers are then the unique\nowners of the file descriptor and must close it once it's no longer needed.\n\nHowever, transferring ownership is not strictly required. Use a\n[`Into::into`] implementation for an API which strictly\ntransfers ownership.\n\n# Example\n\n```no_run\nuse std::fs::File;\n# use std::io;\n#[cfg(any(unix, target_os = \"wasi\"))]\nuse std::os::fd::{IntoRawFd, RawFd};\n\nlet f = File::open(\"foo.txt\")?;\n#[cfg(any(unix, target_os = \"wasi\"))]\nlet raw_fd: RawFd = f.into_raw_fd();\n# Ok::<(), io::Error>(())\n```", - "id": 6088, + "id": 6121, "inner": { "function": { "generics": { @@ -517729,23 +539267,23 @@ } }, "links": { - "`Into::into`": 1929 + "`Into::into`": 1927 }, "name": "into_raw_fd", "span": { "begin": [ - 141, + 145, 5 ], "end": [ - 141, + 145, 35 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6089": { + "6122": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -517754,7 +539292,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6089, + "id": 6122, "inner": { "function": { "generics": { @@ -517792,18 +539330,18 @@ "name": "into_raw_fd", "span": { "begin": [ - 473, + 475, 5 ], "end": [ - 475, + 477, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6090": { + "6123": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -517815,14 +539353,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6090, + "id": 6123, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "process::ChildStdin" } }, @@ -517834,7 +539372,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6089 + 6122 ], "provided_trait_methods": [], "trait": { @@ -517848,18 +539386,18 @@ "name": null, "span": { "begin": [ - 471, + 473, 1 ], "end": [ - 476, + 478, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6091": { + "6124": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -517868,7 +539406,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6091, + "id": 6124, "inner": { "function": { "generics": { @@ -517906,18 +539444,18 @@ "name": "into_raw_fd", "span": { "begin": [ - 481, + 483, 5 ], "end": [ - 483, + 485, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6092": { + "6125": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -517929,14 +539467,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6092, + "id": 6125, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "process::ChildStdout" } }, @@ -517948,7 +539486,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6091 + 6124 ], "provided_trait_methods": [], "trait": { @@ -517962,18 +539500,18 @@ "name": null, "span": { "begin": [ - 479, + 481, 1 ], "end": [ - 484, + 486, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6093": { + "6126": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -517982,7 +539520,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6093, + "id": 6126, "inner": { "function": { "generics": { @@ -518020,18 +539558,18 @@ "name": "into_raw_fd", "span": { "begin": [ - 489, + 491, 5 ], "end": [ - 491, + 493, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6094": { + "6127": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -518043,14 +539581,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6094, + "id": 6127, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "process::ChildStderr" } }, @@ -518062,7 +539600,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6093 + 6126 ], "provided_trait_methods": [], "trait": { @@ -518076,18 +539614,18 @@ "name": null, "span": { "begin": [ - 487, + 489, 1 ], "end": [ - 492, + 494, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6095": { + "6128": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -518096,7 +539634,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6095, + "id": 6128, "inner": { "function": { "generics": { @@ -518134,18 +539672,18 @@ "name": "into_raw_fd", "span": { "begin": [ - 154, + 158, 5 ], "end": [ - 156, + 160, 6 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6096": { + "6129": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 48, patch: 0})}, feature: \"raw_fd_reflexive_traits\"}}]" @@ -518154,7 +539692,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6096, + "id": 6129, "inner": { "impl": { "blanket_impl": null, @@ -518173,7 +539711,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6095 + 6128 ], "provided_trait_methods": [], "trait": { @@ -518187,18 +539725,18 @@ "name": null, "span": { "begin": [ - 152, + 156, 1 ], "end": [ - 157, + 161, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": "default" }, - "6097": { + "6130": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -518207,7 +539745,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6097, + "id": 6130, "inner": { "function": { "generics": { @@ -518245,18 +539783,18 @@ "name": "into_raw_fd", "span": { "begin": [ - 147, + 165, 5 ], "end": [ - 149, + 167, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6098": { + "6131": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -518265,7 +539803,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6098, + "id": 6131, "inner": { "impl": { "blanket_impl": null, @@ -518284,7 +539822,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6097 + 6130 ], "provided_trait_methods": [], "trait": { @@ -518298,18 +539836,18 @@ "name": null, "span": { "begin": [ - 145, + 163, 1 ], "end": [ - 150, + 168, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6099": { + "6132": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -518318,7 +539856,7 @@ "crate_id": 0, "deprecation": null, "docs": "Raw Unix-like file descriptors.", - "id": 6099, + "id": 6132, "inner": { "module": { "is_crate": false, @@ -518339,52 +539877,19 @@ 1 ], "end": [ - 334, + 338, 2 ], "filename": "std/src/os/fd/raw.rs" }, "visibility": { "restricted": { - "parent": 4929, + "parent": 4934, "path": "::os::fd" } } }, - "610": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 610, - "inner": { - "use": { - "id": 611, - "is_glob": false, - "name": "EscapeDefault", - "source": "core::ascii::EscapeDefault" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 19, - 23 - ], - "end": [ - 19, - 36 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "public" - }, - "6102": { + "6135": { "attrs": [ { "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\", promotable: false}}]" @@ -518402,7 +539907,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a `BorrowedFd` holding the given raw file descriptor.\n\n# Safety\n\nThe resource pointed to by `fd` must remain open for the duration of\nthe returned `BorrowedFd`, and it must not have the value `-1`.", - "id": 6102, + "id": 6135, "inner": { "function": { "generics": { @@ -518440,23 +539945,23 @@ "name": "borrow_raw", "span": { "begin": [ - 81, + 85, 5 ], "end": [ - 83, + 87, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "public" }, - "6103": { + "6136": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6103, + "id": 6136, "inner": { "impl": { "blanket_impl": null, @@ -518484,7 +539989,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6102 + 6135 ], "provided_trait_methods": [], "trait": null @@ -518494,23 +539999,23 @@ "name": null, "span": { "begin": [ - 70, + 74, 1 ], "end": [ - 84, + 88, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6104": { + "6137": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6104, + "id": 6137, "inner": { "impl": { "blanket_impl": null, @@ -518538,7 +540043,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5499 + 5504 ], "provided_trait_methods": [], "trait": null @@ -518548,23 +540053,23 @@ "name": null, "span": { "begin": [ - 95, + 99, 1 ], "end": [ - 126, + 144, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6105": { + "6138": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6105, + "id": 6138, "inner": { "impl": { "blanket_impl": null, @@ -518614,12 +540119,12 @@ "span": null, "visibility": "default" }, - "6106": { + "6139": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6106, + "id": 6139, "inner": { "impl": { "blanket_impl": null, @@ -518669,12 +540174,50 @@ "span": null, "visibility": "default" }, - "6107": { + "614": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "use inherent methods instead", + "since": "1.26.0" + }, + "docs": "Container type for copied ASCII characters.", + "id": 614, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": null + } + }, + "links": {}, + "name": "Owned", + "span": { + "begin": [ + 48, + 5 + ], + "end": [ + 48, + 16 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6140": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6107, + "id": 6140, "inner": { "impl": { "blanket_impl": null, @@ -518714,7 +540257,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -518724,12 +540267,12 @@ "span": null, "visibility": "default" }, - "6108": { + "6141": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6108, + "id": 6141, "inner": { "impl": { "blanket_impl": null, @@ -518779,12 +540322,67 @@ "span": null, "visibility": "default" }, - "6109": { + "6142": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6109, + "id": 6142, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'fd" + } + ], + "constraints": [] + } + }, + "id": 2558, + "path": "BorrowedFd" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'fd" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6143": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6143, "inner": { "impl": { "blanket_impl": null, @@ -518825,61 +540423,6 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6110": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6110, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'fd" - } - ], - "constraints": [] - } - }, - "id": 2558, - "path": "BorrowedFd" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'fd" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, "path": "RefUnwindSafe" } } @@ -518889,12 +540432,12 @@ "span": null, "visibility": "default" }, - "6111": { + "6144": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6111, + "id": 6144, "inner": { "impl": { "blanket_impl": { @@ -518957,7 +540500,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -518973,7 +540516,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -518982,23 +540525,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6112": { + "6145": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6112, + "id": 6145, "inner": { "impl": { "blanket_impl": { @@ -519061,7 +540604,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -519077,7 +540620,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -519086,23 +540629,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6113": { + "6146": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6113, + "id": 6146, "inner": { "impl": { "blanket_impl": { @@ -519147,7 +540690,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -519179,23 +540722,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "6114": { + "6147": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6114, + "id": 6147, "inner": { "impl": { "blanket_impl": { @@ -519279,7 +540822,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -519304,23 +540847,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6115": { + "6148": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6115, + "id": 6148, "inner": { "impl": { "blanket_impl": { @@ -519361,7 +540904,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -519386,23 +540929,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6116": { + "6149": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6116, + "id": 6149, "inner": { "impl": { "blanket_impl": { @@ -519468,7 +541011,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -519486,8 +541029,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -519503,7 +541046,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -519512,23 +541055,86 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6117": { + "615": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "use inherent methods instead", + "since": "1.26.0" + }, + "docs": "Checks if the value is within the ASCII range.\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.", + "id": 615, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_ascii", + "span": { + "begin": [ + 57, + 5 + ], + "end": [ + 57, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6150": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6117, + "id": 6150, "inner": { "impl": { "blanket_impl": { @@ -519612,8 +541218,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -519629,7 +541235,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -519638,23 +541244,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6118": { + "6151": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6118, + "id": 6151, "inner": { "impl": { "blanket_impl": { @@ -519720,12 +541326,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -519745,12 +541351,12 @@ }, "visibility": "default" }, - "6119": { + "6152": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6119, + "id": 6152, "inner": { "impl": { "blanket_impl": { @@ -519795,7 +541401,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -519822,7 +541428,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -519831,51 +541437,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "612": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 612, - "inner": { - "use": { - "id": 613, - "is_glob": false, - "name": "escape_default", - "source": "core::ascii::escape_default" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 19, - 38 - ], - "end": [ - 19, - 52 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "public" - }, - "6120": { + "6153": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -519885,7 +541458,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6120, + "id": 6153, "inner": { "impl": { "blanket_impl": null, @@ -519925,7 +541498,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -519934,18 +541507,18 @@ "name": null, "span": { "begin": [ - 43, + 47, 10 ], "end": [ - 43, + 47, 14 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6121": { + "6154": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -519954,7 +541527,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6121, + "id": 6154, "inner": { "function": { "generics": { @@ -520007,18 +541580,18 @@ "name": "clone", "span": { "begin": [ - 43, + 47, 16 ], "end": [ - 43, + 47, 21 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6122": { + "6155": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -520028,7 +541601,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6122, + "id": 6155, "inner": { "impl": { "blanket_impl": null, @@ -520065,14 +541638,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6121 + 6154 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -520081,23 +541654,23 @@ "name": null, "span": { "begin": [ - 43, + 47, 16 ], "end": [ - 43, + 47, 21 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6123": { + "6156": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6123, + "id": 6156, "inner": { "function": { "generics": { @@ -520143,7 +541716,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -520155,7 +541728,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -520166,18 +541739,18 @@ "name": "fmt", "span": { "begin": [ - 200, + 218, 5 ], "end": [ - 202, + 220, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6124": { + "6157": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -520186,7 +541759,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6124, + "id": 6157, "inner": { "impl": { "blanket_impl": null, @@ -520214,12 +541787,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6123 + 6156 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -520228,18 +541801,18 @@ "name": null, "span": { "begin": [ - 199, + 217, 1 ], "end": [ - 203, + 221, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6125": { + "6158": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -520248,7 +541821,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6125, + "id": 6158, "inner": { "function": { "generics": { @@ -520301,18 +541874,18 @@ "name": "as_fd", "span": { "begin": [ - 274, + 292, 5 ], "end": [ - 276, + 294, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6126": { + "6159": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -520321,7 +541894,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6126, + "id": 6159, "inner": { "impl": { "blanket_impl": null, @@ -520349,7 +541922,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6125 + 6158 ], "provided_trait_methods": [], "trait": { @@ -520363,18 +541936,81 @@ "name": null, "span": { "begin": [ - 272, + 290, 1 ], "end": [ - 277, + 295, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6128": { + "616": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"ascii\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "use inherent methods instead", + "since": "1.26.0" + }, + "docs": "Converts this type to its ASCII upper case equivalent in-place.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo return a new uppercased value without modifying the existing one, use\n[`to_ascii_uppercase`].\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.\n\n[`to_ascii_uppercase`]: AsciiExt::to_ascii_uppercase", + "id": 616, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "AsciiExt::to_ascii_uppercase": 618 + }, + "name": "make_ascii_uppercase", + "span": { + "begin": [ + 126, + 5 + ], + "end": [ + 126, + 40 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6161": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -520383,7 +542019,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `OwnedFd` instance that shares the same underlying file\ndescription as the existing `OwnedFd` instance.", - "id": 6128, + "id": 6161, "inner": { "function": { "generics": { @@ -520427,7 +542063,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "crate::io::Result" } } @@ -520438,23 +542074,23 @@ "name": "try_clone", "span": { "begin": [ - 90, + 94, 5 ], "end": [ - 92, + 96, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "public" }, - "6129": { + "6162": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6129, + "id": 6162, "inner": { "impl": { "blanket_impl": null, @@ -520473,7 +542109,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6128 + 6161 ], "provided_trait_methods": [], "trait": null @@ -520483,23 +542119,23 @@ "name": null, "span": { "begin": [ - 86, + 90, 1 ], "end": [ - 93, + 97, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6130": { + "6163": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6130, + "id": 6163, "inner": { "impl": { "blanket_impl": null, @@ -520531,12 +542167,12 @@ "span": null, "visibility": "default" }, - "6131": { + "6164": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6131, + "id": 6164, "inner": { "impl": { "blanket_impl": null, @@ -520568,12 +542204,12 @@ "span": null, "visibility": "default" }, - "6132": { + "6165": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6132, + "id": 6165, "inner": { "impl": { "blanket_impl": null, @@ -520595,7 +542231,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -520605,12 +542241,12 @@ "span": null, "visibility": "default" }, - "6133": { + "6166": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6133, + "id": 6166, "inner": { "impl": { "blanket_impl": null, @@ -520642,12 +542278,12 @@ "span": null, "visibility": "default" }, - "6134": { + "6167": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6134, + "id": 6167, "inner": { "impl": { "blanket_impl": null, @@ -520669,7 +542305,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -520679,12 +542315,12 @@ "span": null, "visibility": "default" }, - "6135": { + "6168": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6135, + "id": 6168, "inner": { "impl": { "blanket_impl": null, @@ -520706,7 +542342,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -520716,12 +542352,12 @@ "span": null, "visibility": "default" }, - "6136": { + "6169": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6136, + "id": 6169, "inner": { "impl": { "blanket_impl": { @@ -520775,7 +542411,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -520791,7 +542427,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -520800,23 +542436,94 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6137": { + "617": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"unicode_case_mapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the uppercase string as a new String, without modifying the original" + } + } + ], + "crate_id": 2, + "deprecation": null, + "docs": "Returns the uppercase equivalent of this string slice, as a new [`String`].\n\n'Uppercase' is defined according to the terms of the Unicode Derived Core Property\n`Uppercase`.\n\nSince some characters can expand into multiple characters when changing\nthe case, this function returns a [`String`] instead of modifying the\nparameter in-place.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \"hello\";\n\nassert_eq!(\"HELLO\", s.to_uppercase());\n```\n\nScripts without case are not changed:\n\n```\nlet new_year = \"农历新年\";\n\nassert_eq!(new_year, new_year.to_uppercase());\n```\n\nOne character can become multiple:\n```\nlet s = \"tschüß\";\n\nassert_eq!(\"TSCHÜSS\", s.to_uppercase());\n```", + "id": 617, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } + } + } + } + }, + "links": { + "`String`": 159 + }, + "name": "to_uppercase", + "span": { + "begin": [ + 466, + 5 + ], + "end": [ + 466, + 41 + ], + "filename": "checkouts/rust/library/alloc/src/str.rs" + }, + "visibility": "public" + }, + "6170": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6137, + "id": 6170, "inner": { "impl": { "blanket_impl": { @@ -520870,7 +542577,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -520886,7 +542593,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -520895,23 +542602,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6138": { + "6171": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6138, + "id": 6171, "inner": { "impl": { "blanket_impl": { @@ -520986,7 +542693,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -521011,23 +542718,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6139": { + "6172": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6139, + "id": 6172, "inner": { "impl": { "blanket_impl": { @@ -521059,7 +542766,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -521084,61 +542791,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "614": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "use inherent methods instead", - "since": "1.26.0" - }, - "docs": "Container type for copied ASCII characters.", - "id": 614, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": null - } - }, - "links": {}, - "name": "Owned", - "span": { - "begin": [ - 48, - 5 - ], - "end": [ - 48, - 16 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6140": { + "6173": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6140, + "id": 6173, "inner": { "impl": { "blanket_impl": { @@ -521195,7 +542864,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -521213,8 +542882,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -521230,7 +542899,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -521239,23 +542908,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6141": { + "6174": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6141, + "id": 6174, "inner": { "impl": { "blanket_impl": { @@ -521330,8 +542999,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -521347,7 +543016,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -521356,23 +543025,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6142": { + "6175": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6142, + "id": 6175, "inner": { "impl": { "blanket_impl": { @@ -521429,12 +543098,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -521454,7 +543123,7 @@ }, "visibility": "default" }, - "6143": { + "6176": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -521463,7 +543132,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a file descriptor and returns a [`Stdio`](process::Stdio)\nthat can attach a stream to it.", - "id": 6143, + "id": 6176, "inner": { "function": { "generics": { @@ -521507,18 +543176,18 @@ "name": "from", "span": { "begin": [ - 439, + 441, 5 ], "end": [ - 443, + 445, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6144": { + "6177": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -521530,7 +543199,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6144, + "id": 6177, "inner": { "impl": { "blanket_impl": null, @@ -521549,7 +543218,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6143 + 6176 ], "provided_trait_methods": [], "trait": { @@ -521578,18 +543247,18 @@ "name": null, "span": { "begin": [ - 435, + 437, 1 ], "end": [ - 444, + 446, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6145": { + "6178": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -521598,7 +543267,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`ChildStdin`](crate::process::ChildStdin)'s file descriptor.", - "id": 6145, + "id": 6178, "inner": { "function": { "generics": { @@ -521619,7 +543288,7 @@ { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "crate::process::ChildStdin" } } @@ -521637,23 +543306,23 @@ } }, "links": { - "crate::process::ChildStdin": 4221 + "crate::process::ChildStdin": 4220 }, "name": "from", "span": { "begin": [ - 506, + 508, 5 ], "end": [ - 508, + 510, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6146": { + "6179": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -521665,7 +543334,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6146, + "id": 6179, "inner": { "impl": { "blanket_impl": null, @@ -521684,7 +543353,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6145 + 6178 ], "provided_trait_methods": [], "trait": { @@ -521695,7 +543364,7 @@ "type": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } } @@ -521713,18 +543382,98 @@ "name": null, "span": { "begin": [ - 503, + 505, 1 ], "end": [ - 509, + 511, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6147": { + "618": { + "attrs": [ + { + "other": "#[allow(deprecated)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "use inherent methods instead", + "since": "1.26.0" + }, + "docs": "Makes a copy of the value in its ASCII upper case equivalent.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo uppercase the value in-place, use [`make_ascii_uppercase`].\n\nTo uppercase ASCII characters in addition to non-ASCII characters, use\n[`str::to_uppercase`].\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.\n\n[`make_ascii_uppercase`]: AsciiExt::make_ascii_uppercase", + "id": 618, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "qualified_path": { + "args": null, + "name": "Owned", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 619, + "path": "" + } + } + } + } + } + }, + "links": { + "AsciiExt::make_ascii_uppercase": 616, + "`str::to_uppercase`": 617 + }, + "name": "to_ascii_uppercase", + "span": { + "begin": [ + 77, + 5 + ], + "end": [ + 77, + 49 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6180": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -521733,7 +543482,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6147, + "id": 6180, "inner": { "function": { "generics": { @@ -521764,7 +543513,7 @@ "output": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "process::ChildStdin" } } @@ -521775,18 +543524,18 @@ "name": "from", "span": { "begin": [ - 518, + 520, 5 ], "end": [ - 522, + 524, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6148": { + "6181": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -521798,14 +543547,14 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a `ChildStdin` from the provided `OwnedFd`.\n\nThe provided file descriptor must point to a pipe\nwith the `CLOEXEC` flag set.", - "id": 6148, + "id": 6181, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "process::ChildStdin" } }, @@ -521817,7 +543566,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6147 + 6180 ], "provided_trait_methods": [], "trait": { @@ -521846,18 +543595,18 @@ "name": null, "span": { "begin": [ - 516, + 518, 1 ], "end": [ - 523, + 525, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6149": { + "6182": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -521866,7 +543615,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`ChildStdout`](crate::process::ChildStdout)'s file descriptor.", - "id": 6149, + "id": 6182, "inner": { "function": { "generics": { @@ -521887,7 +543636,7 @@ { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "crate::process::ChildStdout" } } @@ -521905,86 +543654,23 @@ } }, "links": { - "crate::process::ChildStdout": 4077 + "crate::process::ChildStdout": 4076 }, "name": "from", "span": { "begin": [ - 537, + 539, 5 ], "end": [ - 539, + 541, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "615": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "use inherent methods instead", - "since": "1.26.0" - }, - "docs": "Checks if the value is within the ASCII range.\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.", - "id": 615, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_ascii", - "span": { - "begin": [ - 57, - 5 - ], - "end": [ - 57, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6150": { + "6183": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -521996,7 +543682,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6150, + "id": 6183, "inner": { "impl": { "blanket_impl": null, @@ -522015,7 +543701,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6149 + 6182 ], "provided_trait_methods": [], "trait": { @@ -522026,7 +543712,7 @@ "type": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } } @@ -522044,18 +543730,18 @@ "name": null, "span": { "begin": [ - 534, + 536, 1 ], "end": [ - 540, + 542, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6151": { + "6184": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -522064,7 +543750,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6151, + "id": 6184, "inner": { "function": { "generics": { @@ -522095,7 +543781,7 @@ "output": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "process::ChildStdout" } } @@ -522106,18 +543792,18 @@ "name": "from", "span": { "begin": [ - 549, + 551, 5 ], "end": [ - 553, + 555, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6152": { + "6185": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -522129,14 +543815,14 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a `ChildStdout` from the provided `OwnedFd`.\n\nThe provided file descriptor must point to a pipe\nwith the `CLOEXEC` flag set.", - "id": 6152, + "id": 6185, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "process::ChildStdout" } }, @@ -522148,7 +543834,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6151 + 6184 ], "provided_trait_methods": [], "trait": { @@ -522177,18 +543863,18 @@ "name": null, "span": { "begin": [ - 547, + 549, 1 ], "end": [ - 554, + 556, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6153": { + "6186": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -522197,7 +543883,7 @@ "crate_id": 0, "deprecation": null, "docs": "Takes ownership of a [`ChildStderr`](crate::process::ChildStderr)'s file descriptor.", - "id": 6153, + "id": 6186, "inner": { "function": { "generics": { @@ -522218,7 +543904,7 @@ { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "crate::process::ChildStderr" } } @@ -522236,23 +543922,23 @@ } }, "links": { - "crate::process::ChildStderr": 4084 + "crate::process::ChildStderr": 4083 }, "name": "from", "span": { "begin": [ - 568, + 570, 5 ], "end": [ - 570, + 572, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6154": { + "6187": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -522264,7 +543950,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6154, + "id": 6187, "inner": { "impl": { "blanket_impl": null, @@ -522283,7 +543969,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6153 + 6186 ], "provided_trait_methods": [], "trait": { @@ -522294,7 +543980,7 @@ "type": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } } @@ -522312,18 +543998,18 @@ "name": null, "span": { "begin": [ - 565, + 567, 1 ], "end": [ - 571, + 573, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6155": { + "6188": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -522332,7 +544018,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6155, + "id": 6188, "inner": { "function": { "generics": { @@ -522363,7 +544049,7 @@ "output": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "process::ChildStderr" } } @@ -522374,18 +544060,18 @@ "name": "from", "span": { "begin": [ - 580, + 582, 5 ], "end": [ - 584, + 586, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6156": { + "6189": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -522397,14 +544083,14 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a `ChildStderr` from the provided `OwnedFd`.\n\nThe provided file descriptor must point to a pipe\nwith the `CLOEXEC` flag set.", - "id": 6156, + "id": 6189, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "process::ChildStderr" } }, @@ -522416,7 +544102,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6155 + 6188 ], "provided_trait_methods": [], "trait": { @@ -522445,18 +544131,73 @@ "name": null, "span": { "begin": [ - 578, + 580, 1 ], "end": [ - 585, + 587, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6157": { + "619": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "use inherent methods instead", + "since": "1.26.0" + }, + "docs": "Extension methods for ASCII-subset only operations.\n\nBe aware that operations on seemingly non-ASCII characters can sometimes\nhave unexpected results. Consider this example:\n\n```\nuse std::ascii::AsciiExt;\n\nassert_eq!(AsciiExt::to_ascii_uppercase(\"café\"), \"CAFÉ\");\nassert_eq!(AsciiExt::to_ascii_uppercase(\"café\"), \"CAFé\");\n```\n\nIn the first example, the lowercased string is represented `\"cafe\\u{301}\"`\n(the last character is an acute accent [combining character]). Unlike the\nother characters in the string, the combining character will not get mapped\nto an uppercase variant, resulting in `\"CAFE\\u{301}\"`. In the second\nexample, the lowercased string is represented `\"caf\\u{e9}\"` (the last\ncharacter is a single Unicode character representing an 'e' with an acute\naccent). Since the last character is defined outside the scope of ASCII,\nit will not get mapped to an uppercase variant, resulting in `\"CAF\\u{e9}\"`.\n\n[combining character]: https://en.wikipedia.org/wiki/Combining_character", + "id": 619, + "inner": { + "trait": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "implementations": [ + 631, + 639, + 647, + 655 + ], + "is_auto": false, + "is_dyn_compatible": false, + "is_unsafe": false, + "items": [ + 614, + 615, + 618, + 622, + 623, + 616, + 620 + ] + } + }, + "links": {}, + "name": "AsciiExt", + "span": { + "begin": [ + 45, + 1 + ], + "end": [ + 144, + 2 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "public" + }, + "6190": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -522465,7 +544206,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6157, + "id": 6190, "inner": { "function": { "generics": { @@ -522503,18 +544244,18 @@ "name": "drop", "span": { "begin": [ - 172, + 190, 5 ], "end": [ - 195, + 213, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6158": { + "6191": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -522523,7 +544264,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6158, + "id": 6191, "inner": { "impl": { "blanket_impl": null, @@ -522542,7 +544283,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6157 + 6190 ], "provided_trait_methods": [], "trait": { @@ -522556,23 +544297,23 @@ "name": null, "span": { "begin": [ - 170, + 188, 1 ], "end": [ - 196, + 214, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6159": { + "6192": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6159, + "id": 6192, "inner": { "function": { "generics": { @@ -522618,7 +544359,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -522630,7 +544371,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -522641,81 +544382,18 @@ "name": "fmt", "span": { "begin": [ - 207, + 225, 5 ], "end": [ - 209, + 227, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "616": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"ascii\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "use inherent methods instead", - "since": "1.26.0" - }, - "docs": "Converts this type to its ASCII upper case equivalent in-place.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo return a new uppercased value without modifying the existing one, use\n[`to_ascii_uppercase`].\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.\n\n[`to_ascii_uppercase`]: AsciiExt::to_ascii_uppercase", - "id": 616, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "AsciiExt::to_ascii_uppercase": 618 - }, - "name": "make_ascii_uppercase", - "span": { - "begin": [ - 126, - 5 - ], - "end": [ - 126, - 40 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6160": { + "6193": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -522724,7 +544402,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6160, + "id": 6193, "inner": { "impl": { "blanket_impl": null, @@ -522743,12 +544421,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6159 + 6192 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -522757,18 +544435,18 @@ "name": null, "span": { "begin": [ - 206, + 224, 1 ], "end": [ - 210, + 228, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6161": { + "6194": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -522777,7 +544455,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6161, + "id": 6194, "inner": { "function": { "generics": { @@ -522830,18 +544508,18 @@ "name": "as_fd", "span": { "begin": [ - 282, + 300, 5 ], "end": [ - 287, + 305, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6162": { + "6195": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -522850,7 +544528,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6162, + "id": 6195, "inner": { "impl": { "blanket_impl": null, @@ -522869,7 +544547,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6161 + 6194 ], "provided_trait_methods": [], "trait": { @@ -522883,18 +544561,18 @@ "name": null, "span": { "begin": [ - 280, + 298, 1 ], "end": [ - 288, + 306, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6163": { + "6196": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -522903,7 +544581,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6163, + "id": 6196, "inner": { "function": { "generics": { @@ -522956,147 +544634,18 @@ "name": "as_fd", "span": { "begin": [ - 497, - 5 - ], - "end": [ 499, - 6 - ], - "filename": "std/src/os/unix/process.rs" - }, - "visibility": "default" - }, - "6164": { - "attrs": [ - { - "other": "#[doc(cfg(unix))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6164, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 4221, - "path": "crate::process::ChildStdin" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 6163 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 2560, - "path": "AsFd" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 495, - 1 - ], - "end": [ - 500, - 2 - ], - "filename": "std/src/os/unix/process.rs" - }, - "visibility": "default" - }, - "6165": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6165, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2558, - "path": "BorrowedFd" - } - } - } - } - }, - "links": {}, - "name": "as_fd", - "span": { - "begin": [ - 528, 5 ], "end": [ - 530, + 501, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6166": { + "6197": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -523108,15 +544657,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6166, + "id": 6197, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, - "path": "crate::process::ChildStdout" + "id": 4220, + "path": "crate::process::ChildStdin" } }, "generics": { @@ -523127,7 +544676,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6165 + 6196 ], "provided_trait_methods": [], "trait": { @@ -523141,18 +544690,18 @@ "name": null, "span": { "begin": [ - 526, + 497, 1 ], "end": [ - 531, + 502, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6167": { + "6198": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -523161,7 +544710,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6167, + "id": 6198, "inner": { "function": { "generics": { @@ -523214,18 +544763,18 @@ "name": "as_fd", "span": { "begin": [ - 559, + 530, 5 ], "end": [ - 561, + 532, 6 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6168": { + "6199": { "attrs": [ { "other": "#[doc(cfg(unix))]" @@ -523237,15 +544786,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6168, + "id": 6199, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, - "path": "crate::process::ChildStderr" + "id": 4076, + "path": "crate::process::ChildStdout" } }, "generics": { @@ -523256,7 +544805,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6167 + 6198 ], "provided_trait_methods": [], "trait": { @@ -523270,18 +544819,117 @@ "name": null, "span": { "begin": [ - 557, + 528, 1 ], "end": [ - 562, + 533, 2 ], "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "6169": { + "62": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 62, + "inner": { + "use": { + "id": 63, + "is_glob": false, + "name": "assert", + "source": "core::prelude::v1::assert" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 50, + 5 + ], + "end": [ + 50, + 11 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "620": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"ascii\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "use inherent methods instead", + "since": "1.26.0" + }, + "docs": "Converts this type to its ASCII lower case equivalent in-place.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo return a new lowercased value without modifying the existing one, use\n[`to_ascii_lowercase`].\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.\n\n[`to_ascii_lowercase`]: AsciiExt::to_ascii_lowercase", + "id": 620, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "AsciiExt::to_ascii_lowercase": 622 + }, + "name": "make_ascii_lowercase", + "span": { + "begin": [ + 143, + 5 + ], + "end": [ + 143, + 40 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6200": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -523290,7 +544938,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6169, + "id": 6200, "inner": { "function": { "generics": { @@ -523343,32 +544991,83 @@ "name": "as_fd", "span": { "begin": [ - 258, + 561, 5 ], "end": [ - 260, + 563, 6 ], - "filename": "std/src/os/fd/owned.rs" + "filename": "std/src/os/unix/process.rs" }, "visibility": "default" }, - "617": { + "6201": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"unicode_case_mapping\"}}]" + "other": "#[doc(cfg(unix))]" }, { - "must_use": { - "reason": "this returns the uppercase string as a new String, without modifying the original" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6201, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4083, + "path": "crate::process::ChildStderr" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 6200 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 2560, + "path": "AsFd" } } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 559, + 1 + ], + "end": [ + 564, + 2 + ], + "filename": "std/src/os/unix/process.rs" + }, + "visibility": "default" + }, + "6202": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } ], - "crate_id": 2, + "crate_id": 0, "deprecation": null, - "docs": "Returns the uppercase equivalent of this string slice, as a new [`String`].\n\n'Uppercase' is defined according to the terms of the Unicode Derived Core Property\n`Uppercase`.\n\nSince some characters can expand into multiple characters when changing\nthe case, this function returns a [`String`] instead of modifying the\nparameter in-place.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \"hello\";\n\nassert_eq!(\"HELLO\", s.to_uppercase());\n```\n\nScripts without case are not changed:\n\n```\nlet new_year = \"农历新年\";\n\nassert_eq!(new_year, new_year.to_uppercase());\n```\n\nOne character can become multiple:\n```\nlet s = \"tschüß\";\n\nassert_eq!(\"TSCHÜSS\", s.to_uppercase());\n```", - "id": 617, + "docs": null, + "id": 6202, "inner": { "function": { "generics": { @@ -523400,32 +545099,39 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 161, - "path": "String" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 2558, + "path": "BorrowedFd" } } } } }, - "links": { - "`String`": 161 - }, - "name": "to_uppercase", + "links": {}, + "name": "as_fd", "span": { "begin": [ - 467, + 276, 5 ], "end": [ - 467, - 41 + 278, + 6 ], - "filename": "checkouts/rust/library/alloc/src/str.rs" + "filename": "std/src/os/fd/owned.rs" }, - "visibility": "public" + "visibility": "default" }, - "6170": { + "6203": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -523434,7 +545140,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6170, + "id": 6203, "inner": { "impl": { "blanket_impl": null, @@ -523489,7 +545195,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6169 + 6202 ], "provided_trait_methods": [], "trait": { @@ -523503,18 +545209,18 @@ "name": null, "span": { "begin": [ - 256, + 274, 1 ], "end": [ - 261, + 279, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6171": { + "6204": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -523523,7 +545229,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6171, + "id": 6204, "inner": { "function": { "generics": { @@ -523576,18 +545282,18 @@ "name": "as_fd", "span": { "begin": [ - 266, + 284, 5 ], "end": [ - 268, + 286, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6172": { + "6205": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"io_safety\"}}]" @@ -523596,7 +545302,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6172, + "id": 6205, "inner": { "impl": { "blanket_impl": null, @@ -523651,7 +545357,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6171 + 6204 ], "provided_trait_methods": [], "trait": { @@ -523665,18 +545371,18 @@ "name": null, "span": { "begin": [ - 264, + 282, 1 ], "end": [ - 269, + 287, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6173": { + "6206": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -523685,7 +545391,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6173, + "id": 6206, "inner": { "function": { "generics": { @@ -523738,18 +545444,18 @@ "name": "as_fd", "span": { "begin": [ - 428, + 446, 5 ], "end": [ - 430, + 448, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6174": { + "6207": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"asfd_ptrs\"}}]" @@ -523758,7 +545464,7 @@ "crate_id": 0, "deprecation": null, "docs": "This impl allows implementing traits that require `AsFd` on Arc.\n```\n# #[cfg(any(unix, target_os = \"wasi\"))] mod group_cfg {\n# #[cfg(target_os = \"wasi\")]\n# use std::os::wasi::io::AsFd;\n# #[cfg(unix)]\n# use std::os::unix::io::AsFd;\nuse std::net::UdpSocket;\nuse std::sync::Arc;\n\ntrait MyTrait: AsFd {}\nimpl MyTrait for Arc {}\nimpl MyTrait for Box {}\n# }\n```", - "id": 6174, + "id": 6207, "inner": { "impl": { "blanket_impl": null, @@ -523822,7 +545528,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6173 + 6206 ], "provided_trait_methods": [], "trait": { @@ -523836,18 +545542,18 @@ "name": null, "span": { "begin": [ - 426, + 444, 1 ], "end": [ - 431, + 449, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6175": { + "6208": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -523856,7 +545562,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6175, + "id": 6208, "inner": { "function": { "generics": { @@ -523909,18 +545615,18 @@ "name": "as_fd", "span": { "begin": [ - 436, + 454, 5 ], "end": [ - 438, + 456, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6176": { + "6209": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 69, patch: 0})}, feature: \"asfd_rc\"}}]" @@ -523929,7 +545635,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6176, + "id": 6209, "inner": { "impl": { "blanket_impl": null, @@ -523947,7 +545653,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "crate::rc::Rc" } }, @@ -523993,7 +545699,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6175 + 6208 ], "provided_trait_methods": [], "trait": { @@ -524007,18 +545713,89 @@ "name": null, "span": { "begin": [ - 434, + 452, 1 ], "end": [ - 439, + 457, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6177": { + "621": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"unicode_case_mapping\"}}]" + }, + { + "must_use": { + "reason": "this returns the lowercase string as a new String, without modifying the original" + } + } + ], + "crate_id": 2, + "deprecation": null, + "docs": "Returns the lowercase equivalent of this string slice, as a new [`String`].\n\n'Lowercase' is defined according to the terms of the Unicode Derived Core Property\n`Lowercase`.\n\nSince some characters can expand into multiple characters when changing\nthe case, this function returns a [`String`] instead of modifying the\nparameter in-place.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \"HELLO\";\n\nassert_eq!(\"hello\", s.to_lowercase());\n```\n\nA tricky example, with sigma:\n\n```\nlet sigma = \"Σ\";\n\nassert_eq!(\"σ\", sigma.to_lowercase());\n\n// but at the end of a word, it's ς, not σ:\nlet odysseus = \"ὈΔΥΣΣΕΎΣ\";\n\nassert_eq!(\"ὀδυσσεύς\", odysseus.to_lowercase());\n```\n\nLanguages without case are not changed:\n\n```\nlet new_year = \"农历新年\";\n\nassert_eq!(new_year, new_year.to_lowercase());\n```", + "id": 621, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } + } + } + } + }, + "links": { + "`String`": 159 + }, + "name": "to_lowercase", + "span": { + "begin": [ + 380, + 5 + ], + "end": [ + 380, + 41 + ], + "filename": "checkouts/rust/library/alloc/src/str.rs" + }, + "visibility": "public" + }, + "6210": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -524027,7 +545804,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6177, + "id": 6210, "inner": { "function": { "generics": { @@ -524080,18 +545857,18 @@ "name": "as_fd", "span": { "begin": [ - 444, + 462, 5 ], "end": [ - 446, + 464, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6178": { + "6211": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 112566, is_soft: false}, feature: \"unique_rc_arc\"}}]" @@ -524100,7 +545877,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6178, + "id": 6211, "inner": { "impl": { "blanket_impl": null, @@ -524118,7 +545895,7 @@ "constraints": [] } }, - "id": 5837, + "id": 5868, "path": "crate::rc::UniqueRc" } }, @@ -524164,7 +545941,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6177 + 6210 ], "provided_trait_methods": [], "trait": { @@ -524178,18 +545955,18 @@ "name": null, "span": { "begin": [ - 442, + 460, 1 ], "end": [ - 447, + 465, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6179": { + "6212": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -524198,7 +545975,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6179, + "id": 6212, "inner": { "function": { "generics": { @@ -524251,98 +546028,18 @@ "name": "as_fd", "span": { "begin": [ - 452, + 470, 5 ], "end": [ - 454, + 472, 6 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "618": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "use inherent methods instead", - "since": "1.26.0" - }, - "docs": "Makes a copy of the value in its ASCII upper case equivalent.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo uppercase the value in-place, use [`make_ascii_uppercase`].\n\nTo uppercase ASCII characters in addition to non-ASCII characters, use\n[`str::to_uppercase`].\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.\n\n[`make_ascii_uppercase`]: AsciiExt::make_ascii_uppercase", - "id": 618, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "qualified_path": { - "args": null, - "name": "Owned", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 619, - "path": "" - } - } - } - } - } - }, - "links": { - "AsciiExt::make_ascii_uppercase": 616, - "`str::to_uppercase`": 617 - }, - "name": "to_ascii_uppercase", - "span": { - "begin": [ - 77, - 5 - ], - "end": [ - 77, - 49 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6180": { + "6213": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 64, patch: 0})}, feature: \"asfd_ptrs\"}}]" @@ -524351,7 +546048,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6180, + "id": 6213, "inner": { "impl": { "blanket_impl": null, @@ -524369,7 +546066,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -524415,7 +546112,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6179 + 6212 ], "provided_trait_methods": [], "trait": { @@ -524429,18 +546126,18 @@ "name": null, "span": { "begin": [ - 450, + 468, 1 ], "end": [ - 455, + 473, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": "default" }, - "6181": { + "6214": { "attrs": [ { "other": "#[deny(unsafe_op_in_unsafe_fn)]" @@ -524452,7 +546149,7 @@ "crate_id": 0, "deprecation": null, "docs": "Owned and borrowed Unix-like file descriptors.", - "id": 6181, + "id": 6214, "inner": { "module": { "is_crate": false, @@ -524472,19 +546169,19 @@ 1 ], "end": [ - 554, + 572, 2 ], "filename": "std/src/os/fd/owned.rs" }, "visibility": { "restricted": { - "parent": 4929, + "parent": 4934, "path": "::os::fd" } } }, - "6183": { + "6216": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"os_fd\"}}]" @@ -524493,10 +546190,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6183, + "id": 6216, "inner": { "use": { - "id": 6181, + "id": 6214, "is_glob": true, "name": "owned", "source": "owned" @@ -524517,7 +546214,7 @@ }, "visibility": "public" }, - "6184": { + "6217": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"os_fd\"}}]" @@ -524526,10 +546223,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6184, + "id": 6217, "inner": { "use": { - "id": 6099, + "id": 6132, "is_glob": true, "name": "raw", "source": "raw" @@ -524550,7 +546247,7 @@ }, "visibility": "public" }, - "6185": { + "6218": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -524559,7 +546256,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a Unix socket address in the abstract namespace.\n\nThe abstract namespace is a Linux-specific extension that allows Unix\nsockets to be bound without creating an entry in the filesystem.\nAbstract sockets are unaffected by filesystem layout or permissions,\nand no cleanup is necessary when the socket is closed.\n\nAn abstract socket address name may contain any bytes, including zero.\n\n# Errors\n\nReturns an error if the name is longer than `SUN_LEN - 1`.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::{UnixListener, SocketAddr};\n#[cfg(target_os = \"linux\")]\nuse std::os::linux::net::SocketAddrExt;\n#[cfg(target_os = \"android\")]\nuse std::os::android::net::SocketAddrExt;\n\nfn main() -> std::io::Result<()> {\n let addr = SocketAddr::from_abstract_name(b\"hidden\")?;\n let listener = match UnixListener::bind_addr(&addr) {\n Ok(sock) => sock,\n Err(err) => {\n println!(\"Couldn't bind: {err:?}\");\n return Err(err);\n }\n };\n Ok(())\n}\n```", - "id": 6185, + "id": 6218, "inner": { "function": { "generics": { @@ -524638,7 +546335,7 @@ "type": { "resolved_path": { "args": null, - "id": 4933, + "id": 4938, "path": "SocketAddr" } } @@ -524647,7 +546344,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "crate::io::Result" } } @@ -524669,7 +546366,7 @@ }, "visibility": "default" }, - "6186": { + "6219": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"unix_socket_abstract\"}}]" @@ -524678,7 +546375,96 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the contents of this address if it is in the abstract namespace.\n\n# Examples\n\n```no_run\nuse std::os::unix::net::{UnixListener, SocketAddr};\n#[cfg(target_os = \"linux\")]\nuse std::os::linux::net::SocketAddrExt;\n#[cfg(target_os = \"android\")]\nuse std::os::android::net::SocketAddrExt;\n\nfn main() -> std::io::Result<()> {\n let name = b\"hidden\";\n let name_addr = SocketAddr::from_abstract_name(name)?;\n let socket = UnixListener::bind_addr(&name_addr)?;\n let local_addr = socket.local_addr().expect(\"Couldn't get local address\");\n assert_eq!(local_addr.as_abstract_name(), Some(&name[..]));\n Ok(())\n}\n```", - "id": 6186, + "id": 6219, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "as_abstract_name", + "span": { + "begin": [ + 69, + 5 + ], + "end": [ + 69, + 49 + ], + "filename": "std/src/os/net/linux_ext/addr.rs" + }, + "visibility": "default" + }, + "622": { + "attrs": [ + { + "other": "#[allow(deprecated)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "use inherent methods instead", + "since": "1.26.0" + }, + "docs": "Makes a copy of the value in its ASCII lower case equivalent.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo lowercase the value in-place, use [`make_ascii_lowercase`].\n\nTo lowercase ASCII characters in addition to non-ASCII characters, use\n[`str::to_lowercase`].\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.\n\n[`make_ascii_lowercase`]: AsciiExt::make_ascii_lowercase", + "id": 622, "inner": { "function": { "generics": { @@ -524709,50 +546495,41 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - } - ], - "constraints": [] - } + "qualified_path": { + "args": null, + "name": "Owned", + "self_type": { + "generic": "Self" }, - "id": 51, - "path": "Option" + "trait": { + "args": null, + "id": 619, + "path": "" + } } } } } }, - "links": {}, - "name": "as_abstract_name", + "links": { + "AsciiExt::make_ascii_lowercase": 620, + "`str::to_lowercase`": 621 + }, + "name": "to_ascii_lowercase", "span": { "begin": [ - 69, + 97, 5 ], "end": [ - 69, + 97, 49 ], - "filename": "std/src/os/net/linux_ext/addr.rs" + "filename": "std/src/ascii.rs" }, "visibility": "default" }, - "6188": { + "6221": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -524761,7 +546538,7 @@ "crate_id": 0, "deprecation": null, "docs": "Query the current setting of socket option `SO_PASSCRED`.", - "id": 6188, + "id": 6221, "inner": { "function": { "generics": { @@ -524805,7 +546582,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -524827,7 +546604,7 @@ }, "visibility": "default" }, - "6189": { + "6222": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 76915, is_soft: false}, feature: \"unix_socket_ancillary_data\"}}]" @@ -524836,7 +546613,7 @@ "crate_id": 0, "deprecation": null, "docs": "Enable or disable socket option `SO_PASSCRED`.\n\nThis option enables the credentials of the sending process to be\nreceived as a control message in [`AncillaryData`].\n\n[`AncillaryData`]: net::AncillaryData\n\n# Examples\n\n```no_run\n#![feature(unix_socket_ancillary_data)]\n#[cfg(target_os = \"linux\")]\nuse std::os::linux::net::UnixSocketExt;\n#[cfg(target_os = \"android\")]\nuse std::os::android::net::UnixSocketExt;\nuse std::os::unix::net::UnixDatagram;\n\nfn main() -> std::io::Result<()> {\n let sock = UnixDatagram::unbound()?;\n sock.set_passcred(true).expect(\"set_passcred failed\");\n Ok(())\n}\n```", - "id": 6189, + "id": 6222, "inner": { "function": { "generics": { @@ -524886,7 +546663,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -524894,7 +546671,7 @@ } }, "links": { - "net::AncillaryData": 5054 + "net::AncillaryData": 5059 }, "name": "set_passcred", "span": { @@ -524910,62 +546687,7 @@ }, "visibility": "default" }, - "619": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "use inherent methods instead", - "since": "1.26.0" - }, - "docs": "Extension methods for ASCII-subset only operations.\n\nBe aware that operations on seemingly non-ASCII characters can sometimes\nhave unexpected results. Consider this example:\n\n```\nuse std::ascii::AsciiExt;\n\nassert_eq!(AsciiExt::to_ascii_uppercase(\"café\"), \"CAFÉ\");\nassert_eq!(AsciiExt::to_ascii_uppercase(\"café\"), \"CAFé\");\n```\n\nIn the first example, the lowercased string is represented `\"cafe\\u{301}\"`\n(the last character is an acute accent [combining character]). Unlike the\nother characters in the string, the combining character will not get mapped\nto an uppercase variant, resulting in `\"CAFE\\u{301}\"`. In the second\nexample, the lowercased string is represented `\"caf\\u{e9}\"` (the last\ncharacter is a single Unicode character representing an 'e' with an acute\naccent). Since the last character is defined outside the scope of ASCII,\nit will not get mapped to an uppercase variant, resulting in `\"CAF\\u{e9}\"`.\n\n[combining character]: https://en.wikipedia.org/wiki/Combining_character", - "id": 619, - "inner": { - "trait": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "implementations": [ - 631, - 639, - 647, - 655 - ], - "is_auto": false, - "is_dyn_compatible": false, - "is_unsafe": false, - "items": [ - 614, - 615, - 618, - 622, - 623, - 616, - 620 - ] - } - }, - "links": {}, - "name": "AsciiExt", - "span": { - "begin": [ - 45, - 1 - ], - "end": [ - 144, - 2 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "public" - }, - "6191": { + "6224": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"tcp_quickack\"}}]" @@ -524974,7 +546696,7 @@ "crate_id": 0, "deprecation": null, "docs": "Enable or disable `TCP_QUICKACK`.\n\nThis flag causes Linux to eagerly send ACKs rather than delaying them.\nLinux may reset this flag after further operations on the socket.\n\nSee [`man 7 tcp`](https://man7.org/linux/man-pages/man7/tcp.7.html) and\n[TCP delayed acknowledgement](https://en.wikipedia.org/wiki/TCP_delayed_acknowledgment)\nfor more information.\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n#[cfg(target_os = \"linux\")]\nuse std::os::linux::net::TcpStreamExt;\n#[cfg(target_os = \"android\")]\nuse std::os::android::net::TcpStreamExt;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_quickack(true).expect(\"set_quickack call failed\");\n```", - "id": 6191, + "id": 6224, "inner": { "function": { "generics": { @@ -525024,7 +546746,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -525035,18 +546757,18 @@ "name": "set_quickack", "span": { "begin": [ - 37, + 39, 5 ], "end": [ - 37, + 39, 62 ], "filename": "std/src/os/net/linux_ext/tcp.rs" }, "visibility": "default" }, - "6192": { + "6225": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"tcp_quickack\"}}]" @@ -525055,7 +546777,7 @@ "crate_id": 0, "deprecation": null, "docs": "Gets the value of the `TCP_QUICKACK` option on this socket.\n\nFor more information about this option, see [`TcpStreamExt::set_quickack`].\n\n# Examples\n\n```no_run\nuse std::net::TcpStream;\n#[cfg(target_os = \"linux\")]\nuse std::os::linux::net::TcpStreamExt;\n#[cfg(target_os = \"android\")]\nuse std::os::android::net::TcpStreamExt;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_quickack(true).expect(\"set_quickack call failed\");\nassert_eq!(stream.quickack().unwrap_or(false), true);\n```", - "id": 6192, + "id": 6225, "inner": { "function": { "generics": { @@ -525099,7 +546821,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -525107,23 +546829,23 @@ } }, "links": { - "`TcpStreamExt::set_quickack`": 6191 + "`TcpStreamExt::set_quickack`": 6224 }, "name": "quickack", "span": { "begin": [ - 58, + 60, 5 ], "end": [ - 58, + 60, 44 ], "filename": "std/src/os/net/linux_ext/tcp.rs" }, "visibility": "default" }, - "6193": { + "6226": { "attrs": [ { "other": "#[(target_os = \"linux\")]" @@ -525134,8 +546856,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "A socket listener will be awakened solely when data arrives.\n\nThe `accept` argument set the delay in seconds until the\ndata is available to read, reducing the number of short lived\nconnections without data to process.\nContrary to other platforms `SO_ACCEPTFILTER` feature equivalent, there is\nno necessity to set it after the `listen` call.\n\nSee [`man 7 tcp`](https://man7.org/linux/man-pages/man7/tcp.7.html)\n\n# Examples\n\n```no run\n#![feature(tcp_deferaccept)]\nuse std::net::TcpStream;\nuse std::os::linux::net::TcpStreamExt;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_deferaccept(1).expect(\"set_deferaccept call failed\");\n```", - "id": 6193, + "docs": "A socket listener will be awakened solely when data arrives.\n\nThe `accept` argument set the maximum delay until the\ndata is available to read, reducing the number of short lived\nconnections without data to process.\nContrary to other platforms `SO_ACCEPTFILTER` feature equivalent, there is\nno necessity to set it after the `listen` call.\nNote that the delay is expressed as Duration from user's perspective\nthe call rounds it down to the nearest second expressible as a `c_int`.\n\nSee [`man 7 tcp`](https://man7.org/linux/man-pages/man7/tcp.7.html)\n\n# Examples\n\n```no run\n#![feature(tcp_deferaccept)]\nuse std::net::TcpStream;\nuse std::os::linux::net::TcpStreamExt;\nuse std::time::Duration;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_deferaccept(Duration::from_secs(1u64)).expect(\"set_deferaccept call failed\");\n```", + "id": 6226, "inner": { "function": { "generics": { @@ -525166,7 +546888,11 @@ [ "accept", { - "primitive": "u32" + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } } ] ], @@ -525185,7 +546911,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -525196,18 +546922,18 @@ "name": "set_deferaccept", "span": { "begin": [ - 83, + 88, 5 ], "end": [ - 83, - 62 + 88, + 67 ], "filename": "std/src/os/net/linux_ext/tcp.rs" }, "visibility": "default" }, - "6194": { + "6227": { "attrs": [ { "other": "#[(target_os = \"linux\")]" @@ -525218,8 +546944,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Gets the accept delay value (in seconds) of the `TCP_DEFER_ACCEPT` option.\n\nFor more information about this option, see [`TcpStreamExt::set_deferaccept`].\n\n# Examples\n\n```no_run\n#![feature(tcp_deferaccept)]\nuse std::net::TcpStream;\nuse std::os::linux::net::TcpStreamExt;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_deferaccept(1).expect(\"set_deferaccept call failed\");\nassert_eq!(stream.deferaccept().unwrap_or(0), 1);\n```", - "id": 6194, + "docs": "Gets the accept delay value of the `TCP_DEFER_ACCEPT` option.\n\nFor more information about this option, see [`TcpStreamExt::set_deferaccept`].\n\n# Examples\n\n```no_run\n#![feature(tcp_deferaccept)]\nuse std::net::TcpStream;\nuse std::os::linux::net::TcpStreamExt;\nuse std::time::Duration;\n\nlet stream = TcpStream::connect(\"127.0.0.1:8080\")\n .expect(\"Couldn't connect to the server...\");\nstream.set_deferaccept(Duration::from_secs(1u64)).expect(\"set_deferaccept call failed\");\nassert_eq!(stream.deferaccept().unwrap(), Duration::from_secs(1u64));\n```", + "id": 6227, "inner": { "function": { "generics": { @@ -525256,14 +546982,18 @@ "args": [ { "type": { - "primitive": "u32" + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } } } ], "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -525271,23 +547001,98 @@ } }, "links": { - "`TcpStreamExt::set_deferaccept`": 6193 + "`TcpStreamExt::set_deferaccept`": 6226 }, "name": "deferaccept", "span": { "begin": [ - 103, + 109, 5 ], "end": [ - 103, - 46 + 109, + 51 ], "filename": "std/src/os/net/linux_ext/tcp.rs" }, "visibility": "default" }, - "6198": { + "623": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "use inherent methods instead", + "since": "1.26.0" + }, + "docs": "Checks that two values are an ASCII case-insensitive match.\n\nSame as `to_ascii_lowercase(a) == to_ascii_lowercase(b)`,\nbut without allocating and copying temporaries.\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.", + "id": 623, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "eq_ignore_ascii_case", + "span": { + "begin": [ + 109, + 5 + ], + "end": [ + 109, + 58 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6231": { "attrs": [ { "other": "#[allow(missing_docs, nonstandard_style, missing_debug_implementations)]" @@ -525302,20 +547107,20 @@ "crate_id": 0, "deprecation": null, "docs": "OS-specific functionality.", - "id": 6198, + "id": 6231, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 4835, - 4883, - 5437, - 5552, - 5620, - 5621, - 6057, - 4929 + 4837, + 4886, + 5442, + 5557, + 5625, + 5626, + 6090, + 4934 ] } }, @@ -525327,14 +547132,14 @@ 1 ], "end": [ - 189, + 198, 9 ], "filename": "std/src/os/mod.rs" }, "visibility": "public" }, - "6199": { + "6232": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 81, patch: 0})}, feature: \"panic_hook_info\"}}]" @@ -525343,7 +547148,7 @@ "crate_id": 0, "deprecation": null, "docs": "A struct providing information about a panic.\n\n`PanicHookInfo` structure is passed to a panic hook set by the [`set_hook`] function.\n\n# Examples\n\n```should_panic\nuse std::panic;\n\npanic::set_hook(Box::new(|panic_info| {\n println!(\"panic occurred: {panic_info}\");\n}));\n\npanic!(\"critical system failure\");\n```\n\n[`set_hook`]: ../../std/panic/fn.set_hook.html", - "id": 6199, + "id": 6232, "inner": { "struct": { "generics": { @@ -525360,23 +547165,23 @@ "where_predicates": [] }, "impls": [ - 6211, - 6212, - 6213, - 6214, - 6215, - 6216, - 6217, - 6218, - 6219, - 6220, - 6221, - 6222, - 6223, - 6224, - 6225, - 6227, - 6229 + 6244, + 6245, + 6246, + 6247, + 6248, + 6249, + 6250, + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6257, + 6258, + 6260, + 6262 ], "kind": { "plain": { @@ -525401,109 +547206,10 @@ }, "visibility": "public" }, - "62": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 62, - "inner": { - "use": { - "id": 63, - "is_glob": false, - "name": "assert", - "source": "core::prelude::v1::assert" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 50, - 5 - ], - "end": [ - 50, - 11 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "620": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"ascii\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "use inherent methods instead", - "since": "1.26.0" - }, - "docs": "Converts this type to its ASCII lower case equivalent in-place.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo return a new lowercased value without modifying the existing one, use\n[`to_ascii_lowercase`].\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.\n\n[`to_ascii_lowercase`]: AsciiExt::to_ascii_lowercase", - "id": 620, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "AsciiExt::to_ascii_lowercase": 622 - }, - "name": "make_ascii_lowercase", - "span": { - "begin": [ - 143, - 5 - ], - "end": [ - 143, - 40 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6205": { + "6238": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"panic_payload_as_str\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"panic_payload_as_str\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -525517,7 +547223,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the payload associated with the panic, if it is a string.\n\nThis returns the payload if it is of type `&'static str` or `String`.\n\nA invocation of the `panic!()` macro in Rust 2021 or later will always result in a\npanic payload where `payload_as_str` returns `Some`.\n\nOnly an invocation of [`panic_any`]\n(or, in Rust 2018 and earlier, `panic!(x)` where `x` is something other than a string)\ncan result in a panic payload where `payload_as_str` returns `None`.\n\n# Example\n\n```should_panic\nstd::panic::set_hook(Box::new(|panic_info| {\n if let Some(s) = panic_info.payload_as_str() {\n println!(\"panic occurred: {s:?}\");\n } else {\n println!(\"panic occurred\");\n }\n}));\n\npanic!(\"Normal panic\");\n```", - "id": 6205, + "id": 6238, "inner": { "function": { "generics": { @@ -525575,7 +547281,7 @@ } }, "links": { - "`panic_any`": 6206 + "`panic_any`": 6239 }, "name": "payload_as_str", "span": { @@ -525591,7 +547297,7 @@ }, "visibility": "public" }, - "6206": { + "6239": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"panic_any\")]" @@ -525612,7 +547318,7 @@ "crate_id": 0, "deprecation": null, "docs": "Panics the current thread with the given message as the panic payload.\n\nThe message can be of any (`Any + Send`) type, not just strings.\n\nThe message is wrapped in a `Box<'static + Any + Send>`, which can be\naccessed later using [`PanicHookInfo::payload`].\n\nSee the [`panic!`] macro for more information about panicking.", - "id": 6206, + "id": 6239, "inner": { "function": { "generics": { @@ -525630,7 +547336,7 @@ "modifier": "none", "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -525680,8 +547386,8 @@ } }, "links": { - "`PanicHookInfo::payload`": 6207, - "`panic!`": 492 + "`PanicHookInfo::payload`": 6240, + "`panic!`": 493 }, "name": "panic_any", "span": { @@ -525697,7 +547403,40 @@ }, "visibility": "public" }, - "6207": { + "624": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 624, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "primitive": "u8" + } + } + }, + "links": {}, + "name": "Owned", + "span": { + "begin": [ + 183, + 5 + ], + "end": [ + 183, + 21 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6240": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"panic_hooks\"}}]" @@ -525714,7 +547453,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the payload associated with the panic.\n\nThis will commonly, but not always, be a `&'static str` or [`String`].\nIf you only care about such payloads, use [`payload_as_str`] instead.\n\nA invocation of the `panic!()` macro in Rust 2021 or later will always result in a\npanic payload of type `&'static str` or `String`.\n\nOnly an invocation of [`panic_any`]\n(or, in Rust 2018 and earlier, `panic!(x)` where `x` is something other than a string)\ncan result in a panic payload other than a `&'static str` or `String`.\n\n[`String`]: ../../std/string/struct.String.html\n[`payload_as_str`]: PanicHookInfo::payload_as_str\n\n# Examples\n\n```should_panic\nuse std::panic;\n\npanic::set_hook(Box::new(|panic_info| {\n if let Some(s) = panic_info.payload().downcast_ref::<&str>() {\n println!(\"panic occurred: {s:?}\");\n } else if let Some(s) = panic_info.payload().downcast_ref::() {\n println!(\"panic occurred: {s:?}\");\n } else {\n println!(\"panic occurred\");\n }\n}));\n\npanic!(\"Normal panic\");\n```", - "id": 6207, + "id": 6240, "inner": { "function": { "generics": { @@ -525756,7 +547495,7 @@ "generic_params": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } }, @@ -525777,8 +547516,8 @@ } }, "links": { - "PanicHookInfo::payload_as_str": 6205, - "`panic_any`": 6206 + "PanicHookInfo::payload_as_str": 6238, + "`panic_any`": 6239 }, "name": "payload", "span": { @@ -525794,7 +547533,7 @@ }, "visibility": "public" }, - "6208": { + "6241": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"panic_hooks\"}}]" @@ -525811,7 +547550,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns information about the location from which the panic originated,\nif available.\n\nThis method will currently always return [`Some`], but this may change\nin future versions.\n\n# Examples\n\n```should_panic\nuse std::panic;\n\npanic::set_hook(Box::new(|panic_info| {\n if let Some(location) = panic_info.location() {\n println!(\"panic occurred in file '{}' at line {}\",\n location.file(),\n location.line(),\n );\n } else {\n println!(\"panic occurred but can't get location information...\");\n }\n}));\n\npanic!(\"Normal panic\");\n```", - "id": 6208, + "id": 6241, "inner": { "function": { "generics": { @@ -525863,7 +547602,7 @@ "constraints": [] } }, - "id": 6209, + "id": 6242, "path": "Location" } } @@ -525898,78 +547637,7 @@ }, "visibility": "public" }, - "621": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"unicode_case_mapping\"}}]" - }, - { - "must_use": { - "reason": "this returns the lowercase string as a new String, without modifying the original" - } - } - ], - "crate_id": 2, - "deprecation": null, - "docs": "Returns the lowercase equivalent of this string slice, as a new [`String`].\n\n'Lowercase' is defined according to the terms of the Unicode Derived Core Property\n`Lowercase`.\n\nSince some characters can expand into multiple characters when changing\nthe case, this function returns a [`String`] instead of modifying the\nparameter in-place.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \"HELLO\";\n\nassert_eq!(\"hello\", s.to_lowercase());\n```\n\nA tricky example, with sigma:\n\n```\nlet sigma = \"Σ\";\n\nassert_eq!(\"σ\", sigma.to_lowercase());\n\n// but at the end of a word, it's ς, not σ:\nlet odysseus = \"ὈΔΥΣΣΕΎΣ\";\n\nassert_eq!(\"ὀδυσσεύς\", odysseus.to_lowercase());\n```\n\nLanguages without case are not changed:\n\n```\nlet new_year = \"农历新年\";\n\nassert_eq!(new_year, new_year.to_lowercase());\n```", - "id": 621, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" - } - } - } - } - }, - "links": { - "`String`": 161 - }, - "name": "to_lowercase", - "span": { - "begin": [ - 380, - 5 - ], - "end": [ - 380, - 41 - ], - "filename": "checkouts/rust/library/alloc/src/str.rs" - }, - "visibility": "public" - }, - "6210": { + "6243": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 92988, is_soft: false}, feature: \"panic_can_unwind\"}}]" @@ -525986,7 +547654,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns whether the panic handler is allowed to unwind the stack from\nthe point where the panic occurred.\n\nThis is true for most kinds of panics with the exception of panics\ncaused by trying to unwind out of a `Drop` implementation or a function\nwhose ABI does not support unwinding.\n\nIt is safe for a panic handler to unwind even when this function returns\nfalse, however this will simply cause the panic handler to be called\nagain.", - "id": 6210, + "id": 6243, "inner": { "function": { "generics": { @@ -526037,12 +547705,12 @@ }, "visibility": "public" }, - "6211": { + "6244": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6211, + "id": 6244, "inner": { "impl": { "blanket_impl": null, @@ -526058,7 +547726,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526079,10 +547747,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6207, - 6205, - 6208, - 6210 + 6240, + 6238, + 6241, + 6243 ], "provided_trait_methods": [], "trait": null @@ -526103,12 +547771,67 @@ }, "visibility": "default" }, - "6212": { + "6245": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6212, + "id": 6245, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6232, + "path": "PanicHookInfo" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6246": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6246, "inner": { "impl": { "blanket_impl": null, @@ -526124,7 +547847,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526148,8 +547871,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } }, @@ -526158,12 +547881,12 @@ "span": null, "visibility": "default" }, - "6213": { + "6247": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6213, + "id": 6247, "inner": { "impl": { "blanket_impl": null, @@ -526179,7 +547902,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526196,15 +547919,15 @@ ], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -526213,12 +547936,12 @@ "span": null, "visibility": "default" }, - "6214": { + "6248": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6214, + "id": 6248, "inner": { "impl": { "blanket_impl": null, @@ -526234,7 +547957,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526258,8 +547981,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -526268,12 +547991,12 @@ "span": null, "visibility": "default" }, - "6215": { + "6249": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6215, + "id": 6249, "inner": { "impl": { "blanket_impl": null, @@ -526289,7 +548012,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526306,15 +548029,15 @@ ], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -526323,67 +548046,72 @@ "span": null, "visibility": "default" }, - "6216": { - "attrs": [], + "625": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6216, + "id": 625, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6199, - "path": "PanicHookInfo" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": true, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } } } }, "links": {}, - "name": null, - "span": null, + "name": "is_ascii", + "span": { + "begin": [ + 185, + 5 + ], + "end": [ + 185, + 32 + ], + "filename": "std/src/ascii.rs" + }, "visibility": "default" }, - "6217": { + "6250": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6217, + "id": 6250, "inner": { "impl": { "blanket_impl": null, @@ -526399,7 +548127,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526423,7 +548151,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -526433,12 +548161,12 @@ "span": null, "visibility": "default" }, - "6218": { + "6251": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6218, + "id": 6251, "inner": { "impl": { "blanket_impl": { @@ -526456,7 +548184,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526501,7 +548229,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -526517,7 +548245,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -526526,23 +548254,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6219": { + "6252": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6219, + "id": 6252, "inner": { "impl": { "blanket_impl": { @@ -526560,7 +548288,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526605,7 +548333,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -526621,7 +548349,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -526630,103 +548358,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "622": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "use inherent methods instead", - "since": "1.26.0" - }, - "docs": "Makes a copy of the value in its ASCII lower case equivalent.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo lowercase the value in-place, use [`make_ascii_lowercase`].\n\nTo lowercase ASCII characters in addition to non-ASCII characters, use\n[`str::to_lowercase`].\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.\n\n[`make_ascii_lowercase`]: AsciiExt::make_ascii_lowercase", - "id": 622, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "qualified_path": { - "args": null, - "name": "Owned", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 619, - "path": "" - } - } - } - } - } - }, - "links": { - "AsciiExt::make_ascii_lowercase": 620, - "`str::to_lowercase`": 621 - }, - "name": "to_ascii_lowercase", - "span": { - "begin": [ - 97, - 5 - ], - "end": [ - 97, - 49 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6220": { + "6253": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6220, + "id": 6253, "inner": { "impl": { "blanket_impl": { @@ -526744,7 +548392,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526810,7 +548458,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -526835,23 +548483,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6221": { + "6254": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6221, + "id": 6254, "inner": { "impl": { "blanket_impl": { @@ -526869,7 +548517,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526892,7 +548540,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -526917,23 +548565,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6222": { + "6255": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6222, + "id": 6255, "inner": { "impl": { "blanket_impl": { @@ -526951,7 +548599,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -526999,7 +548647,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -527017,8 +548665,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -527034,7 +548682,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -527043,23 +548691,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6223": { + "6256": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6223, + "id": 6256, "inner": { "impl": { "blanket_impl": { @@ -527077,7 +548725,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -527143,8 +548791,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -527160,7 +548808,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -527169,23 +548817,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6224": { + "6257": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6224, + "id": 6257, "inner": { "impl": { "blanket_impl": { @@ -527203,7 +548851,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -527251,12 +548899,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -527276,12 +548924,12 @@ }, "visibility": "default" }, - "6225": { + "6258": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6225, + "id": 6258, "inner": { "impl": { "blanket_impl": { @@ -527299,7 +548947,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -527360,7 +549008,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -527369,18 +549017,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "6226": { + "6259": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -527389,7 +549037,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6226, + "id": 6259, "inner": { "function": { "generics": { @@ -527435,7 +549083,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -527447,7 +549095,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -527469,7 +549117,78 @@ }, "visibility": "default" }, - "6227": { + "626": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 626, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "qualified_path": { + "args": null, + "name": "Owned", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 619, + "path": "" + } + } + } + } + } + }, + "links": {}, + "name": "to_ascii_uppercase", + "span": { + "begin": [ + 185, + 5 + ], + "end": [ + 185, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6260": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 81, patch: 0})}, feature: \"panic_hook_info\"}}]" @@ -527479,7 +549198,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6227, + "id": 6260, "inner": { "impl": { "blanket_impl": null, @@ -527495,7 +549214,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -527516,12 +549235,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6226 + 6259 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -527541,12 +549260,12 @@ }, "visibility": "default" }, - "6228": { + "6261": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6228, + "id": 6261, "inner": { "function": { "generics": { @@ -527592,7 +549311,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -527604,7 +549323,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -527626,7 +549345,7 @@ }, "visibility": "default" }, - "6229": { + "6262": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"panic_hook_display\"}}]" @@ -527635,7 +549354,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6229, + "id": 6262, "inner": { "impl": { "blanket_impl": null, @@ -527651,7 +549370,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "PanicHookInfo" } }, @@ -527663,7 +549382,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6228 + 6261 ], "provided_trait_methods": [], "trait": { @@ -527688,82 +549407,7 @@ }, "visibility": "default" }, - "623": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "use inherent methods instead", - "since": "1.26.0" - }, - "docs": "Checks that two values are an ASCII case-insensitive match.\n\nSame as `to_ascii_lowercase(a) == to_ascii_lowercase(b)`,\nbut without allocating and copying temporaries.\n\n# Note\n\nThis method is deprecated in favor of the identically-named\ninherent methods on `u8`, `char`, `[u8]` and `str`.", - "id": 623, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq_ignore_ascii_case", - "span": { - "begin": [ - 109, - 5 - ], - "end": [ - 109, - 58 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6230": { + "6263": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"panic_hooks\"}}]" @@ -527772,10 +549416,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6230, + "id": 6263, "inner": { "use": { - "id": 6209, + "id": 6242, "is_glob": false, "name": "Location", "source": "core::panic::Location" @@ -527796,7 +549440,7 @@ }, "visibility": "public" }, - "6231": { + "6264": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -527805,10 +549449,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6231, + "id": 6264, "inner": { "use": { - "id": 6232, + "id": 6265, "is_glob": false, "name": "AssertUnwindSafe", "source": "core::panic::AssertUnwindSafe" @@ -527829,7 +549473,7 @@ }, "visibility": "public" }, - "6233": { + "6266": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -527838,10 +549482,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6233, + "id": 6266, "inner": { "use": { - "id": 320, + "id": 318, "is_glob": false, "name": "RefUnwindSafe", "source": "core::panic::RefUnwindSafe" @@ -527862,7 +549506,7 @@ }, "visibility": "public" }, - "6234": { + "6267": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -527871,10 +549515,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6234, + "id": 6267, "inner": { "use": { - "id": 318, + "id": 316, "is_glob": false, "name": "UnwindSafe", "source": "core::panic::UnwindSafe" @@ -527895,7 +549539,7 @@ }, "visibility": "public" }, - "6235": { + "6268": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 92649, is_soft: false}, feature: \"panic_update_hook\"}}]" @@ -527904,10 +549548,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6235, + "id": 6268, "inner": { "use": { - "id": 6236, + "id": 6269, "is_glob": false, "name": "update_hook", "source": "crate::panicking::update_hook" @@ -527928,7 +549572,7 @@ }, "visibility": "public" }, - "6236": { + "6269": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 92649, is_soft: false}, feature: \"panic_update_hook\"}}]" @@ -527937,7 +549581,7 @@ "crate_id": 0, "deprecation": null, "docs": "Atomic combination of [`take_hook`] and [`set_hook`]. Use this to replace the panic handler with\na new panic handler that does something and then executes the old handler.\n\n[`take_hook`]: ./fn.take_hook.html\n[`set_hook`]: ./fn.set_hook.html\n\n# Panics\n\nPanics if called from a panicking thread.\n\n# Examples\n\nThe following will print the custom message, and then the normal output of panic.\n\n```should_panic\n#![feature(panic_update_hook)]\nuse std::panic;\n\n// Equivalent to\n// let prev = panic::take_hook();\n// panic::set_hook(move |info| {\n// println!(\"...\");\n// prev(info);\n// );\npanic::update_hook(move |prev, info| {\n println!(\"Print custom message and execute panic handler as usual\");\n prev(info);\n});\n\npanic!(\"Custom and then normal\");\n```", - "id": 6236, + "id": 6269, "inner": { "function": { "generics": { @@ -527995,7 +549639,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "crate::panic::PanicHookInfo" } } @@ -528046,7 +549690,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "crate::panic::PanicHookInfo" } } @@ -528131,7 +549775,78 @@ }, "visibility": "public" }, - "6237": { + "627": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 627, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "qualified_path": { + "args": null, + "name": "Owned", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 619, + "path": "" + } + } + } + } + } + }, + "links": {}, + "name": "to_ascii_lowercase", + "span": { + "begin": [ + 185, + 5 + ], + "end": [ + 185, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6270": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"panic_hooks\"}}]" @@ -528140,10 +549855,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6237, + "id": 6270, "inner": { "use": { - "id": 6238, + "id": 6271, "is_glob": false, "name": "set_hook", "source": "crate::panicking::set_hook" @@ -528164,7 +549879,7 @@ }, "visibility": "public" }, - "6238": { + "6271": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"panic_hooks\"}}]" @@ -528173,7 +549888,7 @@ "crate_id": 0, "deprecation": null, "docs": "Registers a custom panic hook, replacing the previously registered hook.\n\nThe panic hook is invoked when a thread panics, but before the panic runtime\nis invoked. As such, the hook will run with both the aborting and unwinding\nruntimes.\n\nThe default hook, which is registered at startup, prints a message to standard error and\ngenerates a backtrace if requested. This behavior can be customized using the `set_hook` function.\nThe current hook can be retrieved while reinstating the default hook with the [`take_hook`]\nfunction.\n\n[`take_hook`]: ./fn.take_hook.html\n\nThe hook is provided with a `PanicHookInfo` struct which contains information\nabout the origin of the panic, including the payload passed to `panic!` and\nthe source code location from which the panic originated.\n\nThe panic hook is a global resource.\n\n# Panics\n\nPanics if called from a panicking thread.\n\n# Examples\n\nThe following will print \"Custom panic hook\":\n\n```should_panic\nuse std::panic;\n\npanic::set_hook(Box::new(|_| {\n println!(\"Custom panic hook\");\n}));\n\npanic!(\"Normal panic\");\n```", - "id": 6238, + "id": 6271, "inner": { "function": { "generics": { @@ -528223,7 +549938,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "crate::panic::PanicHookInfo" } } @@ -528261,7 +549976,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -528287,7 +550002,7 @@ }, "visibility": "public" }, - "6239": { + "6272": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"panic_hooks\"}}]" @@ -528296,10 +550011,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6239, + "id": 6272, "inner": { "use": { - "id": 6240, + "id": 6273, "is_glob": false, "name": "take_hook", "source": "crate::panicking::take_hook" @@ -528320,40 +550035,7 @@ }, "visibility": "public" }, - "624": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 624, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "primitive": "u8" - } - } - }, - "links": {}, - "name": "Owned", - "span": { - "begin": [ - 183, - 5 - ], - "end": [ - 183, - 21 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6240": { + "6273": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"panic_hooks\"}}]" @@ -528367,7 +550049,7 @@ "crate_id": 0, "deprecation": null, "docs": "Unregisters the current panic hook and returns it, registering the default hook\nin its place.\n\n*See also the function [`set_hook`].*\n\n[`set_hook`]: ./fn.set_hook.html\n\nIf the default hook is registered it will be returned, but remain registered.\n\n# Panics\n\nPanics if called from a panicking thread.\n\n# Examples\n\nThe following will print \"Normal panic\":\n\n```should_panic\nuse std::panic;\n\npanic::set_hook(Box::new(|_| {\n println!(\"Custom panic hook\");\n}));\n\nlet _ = panic::take_hook();\n\npanic!(\"Normal panic\");\n```", - "id": 6240, + "id": 6273, "inner": { "function": { "generics": { @@ -528416,7 +550098,7 @@ "constraints": [] } }, - "id": 6199, + "id": 6232, "path": "crate::panic::PanicHookInfo" } } @@ -528454,7 +550136,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -528476,7 +550158,7 @@ }, "visibility": "public" }, - "6241": { + "6274": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130338, is_soft: false}, feature: \"abort_unwind\"}}]" @@ -528485,10 +550167,10 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6241, + "id": 6274, "inner": { "use": { - "id": 6242, + "id": 6275, "is_glob": false, "name": "abort_unwind", "source": "core::panic::abort_unwind" @@ -528509,7 +550191,7 @@ }, "visibility": "public" }, - "6243": { + "6276": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" @@ -528518,7 +550200,7 @@ "crate_id": 0, "deprecation": null, "docs": "Invokes a closure, capturing the cause of an unwinding panic if one occurs.\n\nThis function will return `Ok` with the closure's result if the closure does\nnot panic, and will return `Err(cause)` if the closure panics. The `cause`\nreturned is the object with which panic was originally invoked.\n\nRust functions that are expected to be called from foreign code that does\nnot support unwinding (such as C compiled with `-fno-exceptions`) should be\ndefined using `extern \"C\"`, which ensures that if the Rust code panics, it\nis automatically caught and the process is aborted. If this is the desired\nbehavior, it is not necessary to use `catch_unwind` explicitly. This\nfunction should instead be used when more graceful error-handling is needed.\n\nIt is **not** recommended to use this function for a general try/catch\nmechanism. The [`Result`] type is more appropriate to use for functions that\ncan fail on a regular basis. Additionally, this function is not guaranteed\nto catch all panics, see the \"Notes\" section below.\n\nThe closure provided is required to adhere to the [`UnwindSafe`] trait to\nensure that all captured variables are safe to cross this boundary. The\npurpose of this bound is to encode the concept of [exception safety][rfc] in\nthe type system. Most usage of this function should not need to worry about\nthis bound as programs are naturally unwind safe without `unsafe` code. If\nit becomes a problem the [`AssertUnwindSafe`] wrapper struct can be used to\nquickly assert that the usage here is indeed unwind safe.\n\n[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1236-stabilize-catch-panic.md\n\n# Notes\n\nThis function **might not catch all Rust panics**. A Rust panic is not\nalways implemented via unwinding, but can be implemented by aborting the\nprocess as well. This function *only* catches unwinding panics, not those\nthat abort the process.\n\nIf a custom panic hook has been set, it will be invoked before the panic is\ncaught, before unwinding.\n\nAlthough unwinding into Rust code with a foreign exception (e.g. an\nexception thrown from C++ code, or a `panic!` in Rust code compiled or\nlinked with a different runtime) via an appropriate ABI (e.g. `\"C-unwind\"`)\nis permitted, catching such an exception using this function will have one\nof two behaviors, and it is unspecified which will occur:\n\n* The process aborts, after executing all destructors of `f` and the\n functions it called.\n* The function returns a `Result::Err` containing an opaque type.\n\nFinally, be **careful in how you drop the result of this function**. If it\nis `Err`, it contains the panic payload, and dropping that may in turn\npanic!\n\n# Examples\n\n```\nuse std::panic;\n\nlet result = panic::catch_unwind(|| {\n println!(\"hello!\");\n});\nassert!(result.is_ok());\n\nlet result = panic::catch_unwind(|| {\n panic!(\"oh no!\");\n});\nassert!(result.is_err());\n```", - "id": 6243, + "id": 6276, "inner": { "function": { "generics": { @@ -528551,7 +550233,7 @@ "modifier": "none", "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -528607,7 +550289,7 @@ "constraints": [] } }, - "id": 351, + "id": 349, "path": "crate::thread::Result" } } @@ -528615,9 +550297,9 @@ } }, "links": { - "`AssertUnwindSafe`": 6232, - "`Result`": 351, - "`UnwindSafe`": 318 + "`AssertUnwindSafe`": 6265, + "`Result`": 349, + "`UnwindSafe`": 316 }, "name": "catch_unwind", "span": { @@ -528633,12 +550315,12 @@ }, "visibility": "public" }, - "6244": { + "6277": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Prints a terser backtrace which ideally only contains relevant\ninformation.", - "id": 6244, + "id": 6277, "inner": { "variant": { "discriminant": null, @@ -528660,12 +550342,12 @@ }, "visibility": "default" }, - "6245": { + "6278": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Prints a backtrace with all possible information.", - "id": 6245, + "id": 6278, "inner": { "variant": { "discriminant": null, @@ -528687,12 +550369,12 @@ }, "visibility": "default" }, - "6246": { + "6279": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Disable collecting and displaying backtraces.", - "id": 6246, + "id": 6279, "inner": { "variant": { "discriminant": null, @@ -528714,7 +550396,79 @@ }, "visibility": "default" }, - "6247": { + "628": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 628, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "o", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "eq_ignore_ascii_case", + "span": { + "begin": [ + 185, + 5 + ], + "end": [ + 185, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6280": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93346, is_soft: false}, feature: \"panic_backtrace_config\"}}]" @@ -528724,7 +550478,7 @@ "crate_id": 0, "deprecation": null, "docs": "The configuration for whether and how the default panic hook will capture\nand display the backtrace.", - "id": 6247, + "id": 6280, "inner": { "enum": { "generics": { @@ -528733,32 +550487,32 @@ }, "has_stripped_variants": false, "impls": [ - 6248, - 6249, - 6250, - 6251, - 6252, - 6253, - 6254, - 6255, - 6256, - 6257, - 6258, - 6259, - 6260, - 6261, - 6262, - 6264, - 6265, - 6267, - 6268, - 6270, - 6271 + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6297, + 6298, + 6300, + 6301, + 6303, + 6304 ], "variants": [ - 6244, - 6245, - 6246 + 6277, + 6278, + 6279 ] } }, @@ -528777,19 +550531,19 @@ }, "visibility": "public" }, - "6248": { + "6281": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6248, + "id": 6281, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -528814,19 +550568,19 @@ "span": null, "visibility": "default" }, - "6249": { + "6282": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6249, + "id": 6282, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -528851,79 +550605,19 @@ "span": null, "visibility": "default" }, - "625": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 625, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_ascii", - "span": { - "begin": [ - 185, - 5 - ], - "end": [ - 185, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6250": { + "6283": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6250, + "id": 6283, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -528938,7 +550632,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -528948,19 +550642,19 @@ "span": null, "visibility": "default" }, - "6251": { + "6284": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6251, + "id": 6284, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -528985,19 +550679,19 @@ "span": null, "visibility": "default" }, - "6252": { + "6285": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6252, + "id": 6285, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529012,7 +550706,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -529022,19 +550716,19 @@ "span": null, "visibility": "default" }, - "6253": { + "6286": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6253, + "id": 6286, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529049,7 +550743,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -529059,12 +550753,12 @@ "span": null, "visibility": "default" }, - "6254": { + "6287": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6254, + "id": 6287, "inner": { "impl": { "blanket_impl": { @@ -529073,7 +550767,7 @@ "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529118,7 +550812,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -529134,7 +550828,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -529143,23 +550837,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6255": { + "6288": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6255, + "id": 6288, "inner": { "impl": { "blanket_impl": { @@ -529168,7 +550862,7 @@ "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529213,7 +550907,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -529229,7 +550923,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -529238,23 +550932,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6256": { + "6289": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6256, + "id": 6289, "inner": { "impl": { "blanket_impl": { @@ -529263,7 +550957,7 @@ "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529290,7 +550984,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -529322,23 +551016,81 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "6257": { + "629": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 629, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "make_ascii_uppercase", + "span": { + "begin": [ + 185, + 5 + ], + "end": [ + 185, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6290": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6257, + "id": 6290, "inner": { "impl": { "blanket_impl": { @@ -529347,7 +551099,7 @@ "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529413,7 +551165,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -529438,23 +551190,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6258": { + "6291": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6258, + "id": 6291, "inner": { "impl": { "blanket_impl": { @@ -529463,7 +551215,7 @@ "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529486,7 +551238,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -529511,23 +551263,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6259": { + "6292": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6259, + "id": 6292, "inner": { "impl": { "blanket_impl": { @@ -529536,7 +551288,7 @@ "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529584,7 +551336,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -529602,8 +551354,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -529619,7 +551371,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -529628,94 +551380,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "626": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 626, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "qualified_path": { - "args": null, - "name": "Owned", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 619, - "path": "" - } - } - } - } - } - }, - "links": {}, - "name": "to_ascii_uppercase", - "span": { - "begin": [ - 185, - 5 - ], - "end": [ - 185, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6260": { + "6293": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6260, + "id": 6293, "inner": { "impl": { "blanket_impl": { @@ -529724,7 +551405,7 @@ "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529790,8 +551471,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -529807,7 +551488,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -529816,23 +551497,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6261": { + "6294": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6261, + "id": 6294, "inner": { "impl": { "blanket_impl": { @@ -529841,7 +551522,7 @@ "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529889,12 +551570,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -529914,12 +551595,12 @@ }, "visibility": "default" }, - "6262": { + "6295": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6262, + "id": 6295, "inner": { "impl": { "blanket_impl": { @@ -529928,7 +551609,7 @@ "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -529955,7 +551636,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -529982,7 +551663,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -529991,18 +551672,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "6263": { + "6296": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -530011,7 +551692,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6263, + "id": 6296, "inner": { "function": { "generics": { @@ -530057,7 +551738,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -530069,7 +551750,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -530091,7 +551772,7 @@ }, "visibility": "default" }, - "6264": { + "6297": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93346, is_soft: false}, feature: \"panic_backtrace_config\"}}]" @@ -530101,14 +551782,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6264, + "id": 6297, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -530120,12 +551801,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6263 + 6296 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -530145,7 +551826,7 @@ }, "visibility": "default" }, - "6265": { + "6298": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93346, is_soft: false}, feature: \"panic_backtrace_config\"}}]" @@ -530155,14 +551836,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6265, + "id": 6298, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -530177,7 +551858,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -530197,7 +551878,7 @@ }, "visibility": "default" }, - "6266": { + "6299": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -530206,7 +551887,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6266, + "id": 6299, "inner": { "function": { "generics": { @@ -530239,7 +551920,7 @@ "output": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } } @@ -530261,7 +551942,65 @@ }, "visibility": "default" }, - "6267": { + "630": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 630, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "make_ascii_lowercase", + "span": { + "begin": [ + 185, + 5 + ], + "end": [ + 185, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6300": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93346, is_soft: false}, feature: \"panic_backtrace_config\"}}]" @@ -530271,14 +552010,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6267, + "id": 6300, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -530290,14 +552029,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6266 + 6299 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -530317,7 +552056,7 @@ }, "visibility": "default" }, - "6268": { + "6301": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93346, is_soft: false}, feature: \"panic_backtrace_config\"}}]" @@ -530327,14 +552066,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6268, + "id": 6301, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -530369,7 +552108,7 @@ }, "visibility": "default" }, - "6269": { + "6302": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -530378,7 +552117,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6269, + "id": 6302, "inner": { "function": { "generics": { @@ -530415,7 +552154,7 @@ "type": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } } @@ -530445,78 +552184,7 @@ }, "visibility": "default" }, - "627": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 627, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "qualified_path": { - "args": null, - "name": "Owned", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 619, - "path": "" - } - } - } - } - } - }, - "links": {}, - "name": "to_ascii_lowercase", - "span": { - "begin": [ - 185, - 5 - ], - "end": [ - 185, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6270": { + "6303": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93346, is_soft: false}, feature: \"panic_backtrace_config\"}}]" @@ -530526,14 +552194,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6270, + "id": 6303, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -530545,14 +552213,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6269 + 6302 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -530572,7 +552240,7 @@ }, "visibility": "default" }, - "6271": { + "6304": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93346, is_soft: false}, feature: \"panic_backtrace_config\"}}]" @@ -530582,14 +552250,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6271, + "id": 6304, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } }, @@ -530606,7 +552274,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -530626,7 +552294,7 @@ }, "visibility": "default" }, - "6272": { + "6305": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93346, is_soft: false}, feature: \"panic_backtrace_config\"}}]" @@ -530635,7 +552303,7 @@ "crate_id": 0, "deprecation": null, "docs": "Checks whether the standard library's panic hook will capture and print a\nbacktrace.\n\nThis function will, if a backtrace style has not been set via\n[`set_backtrace_style`], read the environment variable `RUST_BACKTRACE` to\ndetermine a default value for the backtrace formatting:\n\nThe first call to `get_backtrace_style` may read the `RUST_BACKTRACE`\nenvironment variable if `set_backtrace_style` has not been called to\noverride the default value. After a call to `set_backtrace_style` or\n`get_backtrace_style`, any changes to `RUST_BACKTRACE` will have no effect.\n\n`RUST_BACKTRACE` is read according to these rules:\n\n* `0` for `BacktraceStyle::Off`\n* `full` for `BacktraceStyle::Full`\n* `1` for `BacktraceStyle::Short`\n* Other values are currently `BacktraceStyle::Short`, but this may change in\n the future\n\nReturns `None` if backtraces aren't currently supported.", - "id": 6272, + "id": 6305, "inner": { "function": { "generics": { @@ -530661,7 +552329,7 @@ "type": { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } } @@ -530678,7 +552346,7 @@ } }, "links": { - "`set_backtrace_style`": 6273 + "`set_backtrace_style`": 6306 }, "name": "get_backtrace_style", "span": { @@ -530694,7 +552362,7 @@ }, "visibility": "public" }, - "6273": { + "6306": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93346, is_soft: false}, feature: \"panic_backtrace_config\"}}]" @@ -530703,7 +552371,7 @@ "crate_id": 0, "deprecation": null, "docs": "Configures whether the default panic hook will capture and display a\nbacktrace.\n\nThe default value for this setting may be set by the `RUST_BACKTRACE`\nenvironment variable; see the details in [`get_backtrace_style`].", - "id": 6273, + "id": 6306, "inner": { "function": { "generics": { @@ -530724,7 +552392,7 @@ { "resolved_path": { "args": null, - "id": 6247, + "id": 6280, "path": "BacktraceStyle" } } @@ -530736,7 +552404,7 @@ } }, "links": { - "`get_backtrace_style`": 6272 + "`get_backtrace_style`": 6305 }, "name": "set_backtrace_style", "span": { @@ -530752,7 +552420,7 @@ }, "visibility": "public" }, - "6274": { + "6307": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"std_panic\"}}]" @@ -530761,29 +552429,29 @@ "crate_id": 0, "deprecation": null, "docs": "Panic support in the standard library.", - "id": 6274, + "id": 6307, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 1910, - 6199, - 6230, - 6231, - 6233, - 6234, - 6235, - 6237, + 1908, + 6232, + 6263, + 6264, + 6266, + 6267, + 6268, + 6270, + 6272, 6239, - 6206, - 6241, - 6243, + 6274, + 6276, 567, - 5339, - 6247, - 6273, - 6272 + 5344, + 6280, + 6306, + 6305 ] } }, @@ -530802,15 +552470,15 @@ }, "visibility": "public" }, - "6275": { + "6308": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6275, + "id": 6308, "inner": { "use": { - "id": 6276, + "id": 6309, "is_glob": false, "name": "pattern_type", "source": "core::pattern_type" @@ -530831,7 +552499,65 @@ }, "visibility": "public" }, - "6277": { + "631": { + "attrs": [ + { + "other": "#[allow(deprecated)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 631, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "u8" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 624, + 625, + 626, + 627, + 628, + 629, + 630 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 619, + "path": "AsciiExt" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 182, + 1 + ], + "end": [ + 186, + 2 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6310": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 123646, is_soft: false}, feature: \"pattern_type_macro\"}}]" @@ -530840,13 +552566,13 @@ "crate_id": 0, "deprecation": null, "docs": "Helper module for exporting the `pattern_type` macro", - "id": 6277, + "id": 6310, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 6275 + 6308 ] } }, @@ -530865,7 +552591,7 @@ }, "visibility": "public" }, - "6278": { + "6311": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -530874,7 +552600,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6278, + "id": 6311, "inner": { "struct_field": { "borrowed_ref": { @@ -530883,7 +552609,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -530905,7 +552631,7 @@ }, "visibility": "default" }, - "6279": { + "6312": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -530914,13 +552640,13 @@ "crate_id": 0, "deprecation": null, "docs": "Verbatim prefix, e.g., `\\\\?\\cat_pics`.\n\nVerbatim prefixes consist of `\\\\?\\` immediately followed by the given\ncomponent.", - "id": 6279, + "id": 6312, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 6278 + 6311 ] } } @@ -530940,79 +552666,7 @@ }, "visibility": "default" }, - "628": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 628, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "o", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq_ignore_ascii_case", - "span": { - "begin": [ - 185, - 5 - ], - "end": [ - 185, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6280": { + "6313": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531021,7 +552675,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6280, + "id": 6313, "inner": { "struct_field": { "borrowed_ref": { @@ -531030,7 +552684,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -531052,7 +552706,7 @@ }, "visibility": "default" }, - "6281": { + "6314": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531061,7 +552715,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6281, + "id": 6314, "inner": { "struct_field": { "borrowed_ref": { @@ -531070,7 +552724,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -531092,7 +552746,7 @@ }, "visibility": "default" }, - "6282": { + "6315": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531101,14 +552755,14 @@ "crate_id": 0, "deprecation": null, "docs": "Verbatim prefix using Windows' _**U**niform **N**aming **C**onvention_,\ne.g., `\\\\?\\UNC\\server\\share`.\n\nVerbatim UNC prefixes consist of `\\\\?\\UNC\\` immediately followed by the\nserver's hostname and a share name.", - "id": 6282, + "id": 6315, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 6280, - 6281 + 6313, + 6314 ] } } @@ -531128,7 +552782,7 @@ }, "visibility": "default" }, - "6283": { + "6316": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531137,7 +552791,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6283, + "id": 6316, "inner": { "struct_field": { "primitive": "u8" @@ -531158,7 +552812,7 @@ }, "visibility": "default" }, - "6284": { + "6317": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531167,13 +552821,13 @@ "crate_id": 0, "deprecation": null, "docs": "Verbatim disk prefix, e.g., `\\\\?\\C:`.\n\nVerbatim disk prefixes consist of `\\\\?\\` immediately followed by the\ndrive letter and `:`.", - "id": 6284, + "id": 6317, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 6283 + 6316 ] } } @@ -531193,7 +552847,7 @@ }, "visibility": "default" }, - "6285": { + "6318": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531202,7 +552856,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6285, + "id": 6318, "inner": { "struct_field": { "borrowed_ref": { @@ -531211,7 +552865,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -531233,7 +552887,7 @@ }, "visibility": "default" }, - "6286": { + "6319": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531242,13 +552896,13 @@ "crate_id": 0, "deprecation": null, "docs": "Device namespace prefix, e.g., `\\\\.\\COM42`.\n\nDevice namespace prefixes consist of `\\\\.\\` (possibly using `/`\ninstead of `\\`), immediately followed by the device name.", - "id": 6286, + "id": 6319, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 6285 + 6318 ] } } @@ -531268,7 +552922,40 @@ }, "visibility": "default" }, - "6287": { + "632": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 632, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "primitive": "char" + } + } + }, + "links": {}, + "name": "Owned", + "span": { + "begin": [ + 191, + 5 + ], + "end": [ + 191, + 23 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6320": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531277,7 +552964,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6287, + "id": 6320, "inner": { "struct_field": { "borrowed_ref": { @@ -531286,7 +552973,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -531308,7 +552995,7 @@ }, "visibility": "default" }, - "6288": { + "6321": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531317,7 +553004,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6288, + "id": 6321, "inner": { "struct_field": { "borrowed_ref": { @@ -531326,7 +553013,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -531348,7 +553035,7 @@ }, "visibility": "default" }, - "6289": { + "6322": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531357,14 +553044,14 @@ "crate_id": 0, "deprecation": null, "docs": "Prefix using Windows' _**U**niform **N**aming **C**onvention_, e.g.\n`\\\\server\\share`.\n\nUNC prefixes consist of the server's hostname and a share name.", - "id": 6289, + "id": 6322, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 6287, - 6288 + 6320, + 6321 ] } } @@ -531384,65 +553071,7 @@ }, "visibility": "default" }, - "629": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 629, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "make_ascii_uppercase", - "span": { - "begin": [ - 185, - 5 - ], - "end": [ - 185, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6290": { + "6323": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531451,7 +553080,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6290, + "id": 6323, "inner": { "struct_field": { "primitive": "u8" @@ -531472,7 +553101,7 @@ }, "visibility": "default" }, - "6291": { + "6324": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531481,13 +553110,13 @@ "crate_id": 0, "deprecation": null, "docs": "Prefix `C:` for the given disk drive.", - "id": 6291, + "id": 6324, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 6290 + 6323 ] } } @@ -531507,7 +553136,7 @@ }, "visibility": "default" }, - "6292": { + "6325": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531516,7 +553145,7 @@ "crate_id": 0, "deprecation": null, "docs": "Windows path prefixes, e.g., `C:` or `\\\\server\\share`.\n\nWindows uses a variety of path prefix styles, including references to drive\nvolumes (like `C:`), network shared folders (like `\\\\server\\share`), and\nothers. In addition, some path prefixes are \"verbatim\" (i.e., prefixed with\n`\\\\?\\`), in which case `/` is *not* treated as a separator and essentially\nno normalization is performed.\n\n# Examples\n\n```\nuse std::path::{Component, Path, Prefix};\nuse std::path::Prefix::*;\nuse std::ffi::OsStr;\n\nfn get_path_prefix(s: &str) -> Prefix<'_> {\n let path = Path::new(s);\n match path.components().next().unwrap() {\n Component::Prefix(prefix_component) => prefix_component.kind(),\n _ => panic!(),\n }\n}\n\n# if cfg!(windows) {\nassert_eq!(Verbatim(OsStr::new(\"pictures\")),\n get_path_prefix(r\"\\\\?\\pictures\\kittens\"));\nassert_eq!(VerbatimUNC(OsStr::new(\"server\"), OsStr::new(\"share\")),\n get_path_prefix(r\"\\\\?\\UNC\\server\\share\"));\nassert_eq!(VerbatimDisk(b'C'), get_path_prefix(r\"\\\\?\\c:\\\"));\nassert_eq!(DeviceNS(OsStr::new(\"BrainInterface\")),\n get_path_prefix(r\"\\\\.\\BrainInterface\"));\nassert_eq!(UNC(OsStr::new(\"server\"), OsStr::new(\"share\")),\n get_path_prefix(r\"\\\\server\\share\"));\nassert_eq!(Disk(b'C'), get_path_prefix(r\"C:\\Users\\Rust\\Pictures\\Ferris\"));\n# }\n```", - "id": 6292, + "id": 6325, "inner": { "enum": { "generics": { @@ -531534,39 +553163,39 @@ }, "has_stripped_variants": false, "impls": [ - 6294, - 6295, - 6296, - 6297, - 6298, - 6299, - 6300, - 6301, - 6302, - 6303, - 6304, - 6305, - 6306, - 6307, - 6308, - 6309, - 6310, - 6312, - 6314, - 6316, - 6318, - 6320, - 6321, - 6323, - 6324 + 6327, + 6328, + 6329, + 6330, + 6331, + 6332, + 6333, + 6334, + 6335, + 6336, + 6337, + 6338, + 6339, + 6340, + 6341, + 6342, + 6343, + 6345, + 6347, + 6349, + 6351, + 6353, + 6354, + 6356, + 6357 ], "variants": [ - 6279, - 6282, - 6284, - 6286, - 6289, - 6291 + 6312, + 6315, + 6317, + 6319, + 6322, + 6324 ] } }, @@ -531585,7 +553214,7 @@ }, "visibility": "public" }, - "6293": { + "6326": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -531602,7 +553231,7 @@ "crate_id": 0, "deprecation": null, "docs": "Determines if the prefix is verbatim, i.e., begins with `\\\\?\\`.\n\n# Examples\n\n```\nuse std::path::Prefix::*;\nuse std::ffi::OsStr;\n\nassert!(Verbatim(OsStr::new(\"pictures\")).is_verbatim());\nassert!(VerbatimUNC(OsStr::new(\"server\"), OsStr::new(\"share\")).is_verbatim());\nassert!(VerbatimDisk(b'C').is_verbatim());\nassert!(!DeviceNS(OsStr::new(\"BrainInterface\")).is_verbatim());\nassert!(!UNC(OsStr::new(\"server\"), OsStr::new(\"share\")).is_verbatim());\nassert!(!Disk(b'C').is_verbatim());\n```", - "id": 6293, + "id": 6326, "inner": { "function": { "generics": { @@ -531653,12 +553282,12 @@ }, "visibility": "public" }, - "6294": { + "6327": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6294, + "id": 6327, "inner": { "impl": { "blanket_impl": null, @@ -531674,7 +553303,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -531695,7 +553324,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6293 + 6326 ], "provided_trait_methods": [], "trait": null @@ -531716,12 +553345,12 @@ }, "visibility": "default" }, - "6295": { + "6328": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6295, + "id": 6328, "inner": { "impl": { "blanket_impl": null, @@ -531737,7 +553366,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -531771,12 +553400,12 @@ "span": null, "visibility": "default" }, - "6296": { + "6329": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6296, + "id": 6329, "inner": { "impl": { "blanket_impl": null, @@ -531792,7 +553421,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -531826,12 +553455,72 @@ "span": null, "visibility": "default" }, - "6297": { + "633": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 633, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_ascii", + "span": { + "begin": [ + 193, + 5 + ], + "end": [ + 193, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6330": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6297, + "id": 6330, "inner": { "impl": { "blanket_impl": null, @@ -531847,7 +553536,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -531871,7 +553560,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -531881,12 +553570,12 @@ "span": null, "visibility": "default" }, - "6298": { + "6331": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6298, + "id": 6331, "inner": { "impl": { "blanket_impl": null, @@ -531902,7 +553591,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -531936,12 +553625,12 @@ "span": null, "visibility": "default" }, - "6299": { + "6332": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6299, + "id": 6332, "inner": { "impl": { "blanket_impl": null, @@ -531957,7 +553646,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -531981,7 +553670,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -531991,70 +553680,12 @@ "span": null, "visibility": "default" }, - "630": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 630, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "make_ascii_lowercase", - "span": { - "begin": [ - 185, - 5 - ], - "end": [ - 185, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6300": { + "6333": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6300, + "id": 6333, "inner": { "impl": { "blanket_impl": null, @@ -532070,7 +553701,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -532094,7 +553725,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -532104,12 +553735,12 @@ "span": null, "visibility": "default" }, - "6301": { + "6334": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6301, + "id": 6334, "inner": { "impl": { "blanket_impl": { @@ -532127,7 +553758,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -532172,7 +553803,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -532188,7 +553819,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -532197,23 +553828,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6302": { + "6335": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6302, + "id": 6335, "inner": { "impl": { "blanket_impl": { @@ -532231,7 +553862,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -532276,7 +553907,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -532292,7 +553923,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -532301,23 +553932,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6303": { + "6336": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6303, + "id": 6336, "inner": { "impl": { "blanket_impl": { @@ -532335,7 +553966,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -532362,7 +553993,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -532394,23 +554025,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "6304": { + "6337": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6304, + "id": 6337, "inner": { "impl": { "blanket_impl": { @@ -532428,7 +554059,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -532494,7 +554125,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -532519,23 +554150,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6305": { + "6338": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6305, + "id": 6338, "inner": { "impl": { "blanket_impl": { @@ -532553,7 +554184,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -532576,7 +554207,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -532601,23 +554232,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6306": { + "6339": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6306, + "id": 6339, "inner": { "impl": { "blanket_impl": { @@ -532635,7 +554266,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -532683,7 +554314,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -532701,8 +554332,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -532718,7 +554349,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -532727,23 +554358,94 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6307": { + "634": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 634, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "qualified_path": { + "args": null, + "name": "Owned", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 619, + "path": "" + } + } + } + } + } + }, + "links": {}, + "name": "to_ascii_uppercase", + "span": { + "begin": [ + 193, + 5 + ], + "end": [ + 193, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6340": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6307, + "id": 6340, "inner": { "impl": { "blanket_impl": { @@ -532761,7 +554463,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -532827,8 +554529,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -532844,7 +554546,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -532853,119 +554555,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6308": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6308, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6292, - "path": "Prefix" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "6309": { + "6341": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6309, + "id": 6341, "inner": { "impl": { "blanket_impl": { @@ -532983,7 +554589,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -533004,14 +554610,17 @@ { "bound_predicate": { "bounds": [ + { + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -533028,17 +554637,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" + 336 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 157, - "path": "ToOwned" + "id": 339, + "path": "Any" } } }, @@ -533046,57 +554651,96 @@ "name": null, "span": { "begin": [ - 82, + 138, 1 ], "end": [ - 84, - 14 + 138, + 36 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "631": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "6342": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 631, + "id": 6342, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6325, + "path": "Prefix" + } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 624, - 625, - 626, - 627, - 628, - 629, - 630 + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 619, - "path": "AsciiExt" + "id": 155, + "path": "ToOwned" } } }, @@ -533104,18 +554748,18 @@ "name": null, "span": { "begin": [ - 182, + 85, 1 ], "end": [ - 186, - 2 + 87, + 14 ], - "filename": "std/src/ascii.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "6310": { + "6343": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -533125,7 +554769,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6310, + "id": 6343, "inner": { "impl": { "blanket_impl": null, @@ -533141,7 +554785,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -533165,7 +554809,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -533185,7 +554829,7 @@ }, "visibility": "default" }, - "6311": { + "6344": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -533194,7 +554838,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6311, + "id": 6344, "inner": { "function": { "generics": { @@ -533236,7 +554880,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } } @@ -533258,7 +554902,7 @@ }, "visibility": "default" }, - "6312": { + "6345": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -533268,7 +554912,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6312, + "id": 6345, "inner": { "impl": { "blanket_impl": null, @@ -533284,7 +554928,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -533305,14 +554949,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6311 + 6344 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -533332,7 +554976,7 @@ }, "visibility": "default" }, - "6313": { + "6346": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -533341,7 +554985,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6313, + "id": 6346, "inner": { "function": { "generics": { @@ -533387,7 +555031,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -533399,7 +555043,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -533421,7 +555065,7 @@ }, "visibility": "default" }, - "6314": { + "6347": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -533431,7 +555075,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6314, + "id": 6347, "inner": { "impl": { "blanket_impl": null, @@ -533447,7 +555091,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -533468,12 +555112,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6313 + 6346 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -533493,7 +555137,7 @@ }, "visibility": "default" }, - "6315": { + "6348": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -533502,7 +555146,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6315, + "id": 6348, "inner": { "function": { "generics": { @@ -533586,7 +555230,7 @@ }, "visibility": "default" }, - "6316": { + "6349": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -533596,7 +555240,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6316, + "id": 6349, "inner": { "impl": { "blanket_impl": null, @@ -533612,7 +555256,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -533633,7 +555277,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6315 + 6348 ], "provided_trait_methods": [ "hash_slice" @@ -533660,7 +555304,7 @@ }, "visibility": "default" }, - "6317": { + "635": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -533669,7 +555313,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6317, + "id": 635, "inner": { "function": { "generics": { @@ -533696,156 +555340,42 @@ } } } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6292, - "path": "Prefix" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "$crate::cmp::Ordering" - } - } - } - ], - "constraints": [] - } + "qualified_path": { + "args": null, + "name": "Owned", + "self_type": { + "generic": "Self" }, - "id": 51, - "path": "$crate::option::Option" - } - } - } - } - }, - "links": {}, - "name": "partial_cmp", - "span": { - "begin": [ - 135, - 36 - ], - "end": [ - 135, - 46 - ], - "filename": "std/src/path.rs" - }, - "visibility": "default" - }, - "6318": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6318, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] + "trait": { + "args": null, + "id": 619, + "path": "" } - }, - "id": 6292, - "path": "Prefix" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 6317 - ], - "provided_trait_methods": [ - "lt", - "le", - "gt", - "ge", - "__chaining_lt", - "__chaining_le", - "__chaining_gt", - "__chaining_ge" - ], - "trait": { - "args": null, - "id": 127, - "path": "PartialOrd" + } } } }, "links": {}, - "name": null, + "name": "to_ascii_lowercase", "span": { "begin": [ - 135, - 36 + 193, + 5 ], "end": [ - 135, - 46 + 193, + 32 ], - "filename": "std/src/path.rs" + "filename": "std/src/ascii.rs" }, "visibility": "default" }, - "6319": { + "6350": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -533854,7 +555384,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6319, + "id": 6350, "inner": { "function": { "generics": { @@ -533900,7 +555430,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } } @@ -533911,63 +555441,215 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 2009, - "path": "$crate::cmp::Ordering" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 2007, + "path": "$crate::cmp::Ordering" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "$crate::option::Option" } } } } }, "links": {}, - "name": "cmp", + "name": "partial_cmp", "span": { "begin": [ 135, - 48 + 36 ], "end": [ 135, - 51 + 46 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "632": { - "attrs": [], + "6351": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 632, + "id": 6351, "inner": { - "assoc_type": { - "bounds": [], + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6325, + "path": "Prefix" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 6350 + ], + "provided_trait_methods": [ + "lt", + "le", + "gt", + "ge", + "__chaining_lt", + "__chaining_le", + "__chaining_gt", + "__chaining_ge" + ], + "trait": { + "args": null, + "id": 125, + "path": "PartialOrd" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 135, + 36 + ], + "end": [ + 135, + 46 + ], + "filename": "std/src/path.rs" + }, + "visibility": "default" + }, + "6352": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6352, + "inner": { + "function": { "generics": { "params": [], "where_predicates": [] }, - "type": { - "primitive": "char" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6325, + "path": "Prefix" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 2007, + "path": "$crate::cmp::Ordering" + } + } } } }, "links": {}, - "name": "Owned", + "name": "cmp", "span": { "begin": [ - 191, - 5 + 135, + 48 ], "end": [ - 191, - 23 + 135, + 51 ], - "filename": "std/src/ascii.rs" + "filename": "std/src/path.rs" }, "visibility": "default" }, - "6320": { + "6353": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -533977,7 +555659,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6320, + "id": 6353, "inner": { "impl": { "blanket_impl": null, @@ -533993,7 +555675,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -534014,7 +555696,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6319 + 6352 ], "provided_trait_methods": [ "max", @@ -534023,7 +555705,7 @@ ], "trait": { "args": null, - "id": 119, + "id": 117, "path": "Ord" } } @@ -534043,7 +555725,7 @@ }, "visibility": "default" }, - "6321": { + "6354": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -534053,7 +555735,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6321, + "id": 6354, "inner": { "impl": { "blanket_impl": null, @@ -534069,7 +555751,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -534113,7 +555795,7 @@ }, "visibility": "default" }, - "6322": { + "6355": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -534122,7 +555804,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6322, + "id": 6355, "inner": { "function": { "generics": { @@ -534168,7 +555850,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } } @@ -534198,7 +555880,7 @@ }, "visibility": "default" }, - "6323": { + "6356": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -534208,7 +555890,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6323, + "id": 6356, "inner": { "impl": { "blanket_impl": null, @@ -534224,7 +555906,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -534245,14 +555927,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6322 + 6355 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -534272,7 +555954,7 @@ }, "visibility": "default" }, - "6324": { + "6357": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -534282,7 +555964,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6324, + "id": 6357, "inner": { "impl": { "blanket_impl": null, @@ -534298,7 +555980,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } }, @@ -534324,7 +556006,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -534344,7 +556026,7 @@ }, "visibility": "default" }, - "6325": { + "6358": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -534358,7 +556040,7 @@ "crate_id": 0, "deprecation": null, "docs": "Determines whether the character is one of the permitted path\nseparators for the current platform.\n\n# Examples\n\n```\nuse std::path;\n\nassert!(path::is_separator('/')); // '/' works for both Unix and Windows\nassert!(!path::is_separator('❤'));\n```", - "id": 6325, + "id": 6358, "inner": { "function": { "generics": { @@ -534403,7 +556085,7 @@ }, "visibility": "public" }, - "6326": { + "6359": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"path_main_separator\")]" @@ -534418,7 +556100,7 @@ "crate_id": 0, "deprecation": null, "docs": "The primary separator of path components for the current platform.\n\nFor example, `/` on Unix and `\\` on Windows.", - "id": 6326, + "id": 6359, "inner": { "constant": { "const": { @@ -534446,7 +556128,79 @@ }, "visibility": "public" }, - "6327": { + "636": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 636, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "o", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "eq_ignore_ascii_case", + "span": { + "begin": [ + 193, + 5 + ], + "end": [ + 193, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6360": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 68, patch: 0})}, feature: \"main_separator_str\"}}]" @@ -534455,7 +556209,7 @@ "crate_id": 0, "deprecation": null, "docs": "The primary separator of path components for the current platform.\n\nFor example, `/` on Unix and `\\` on Windows.", - "id": 6327, + "id": 6360, "inner": { "constant": { "const": { @@ -534489,67 +556243,7 @@ }, "visibility": "public" }, - "633": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 633, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_ascii", - "span": { - "begin": [ - 193, - 5 - ], - "end": [ - 193, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6330": { + "6363": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -534566,7 +556260,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the parsed prefix data.\n\nSee [`Prefix`]'s documentation for more information on the different\nkinds of prefixes.", - "id": 6330, + "id": 6363, "inner": { "function": { "generics": { @@ -534608,7 +556302,7 @@ "constraints": [] } }, - "id": 6292, + "id": 6325, "path": "Prefix" } } @@ -534616,7 +556310,7 @@ } }, "links": { - "`Prefix`": 6292 + "`Prefix`": 6325 }, "name": "kind", "span": { @@ -534632,7 +556326,7 @@ }, "visibility": "public" }, - "6331": { + "6364": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -534649,7 +556343,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the raw [`OsStr`] slice for this prefix.", - "id": 6331, + "id": 6364, "inner": { "function": { "generics": { @@ -534686,7 +556380,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -534696,7 +556390,7 @@ } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "as_os_str", "span": { @@ -534712,7 +556406,7 @@ }, "visibility": "public" }, - "6332": { + "6365": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -534721,19 +556415,19 @@ "crate_id": 0, "deprecation": null, "docs": "A Windows path prefix, e.g., `C:` or `\\\\server\\share`.\n\nThere is a large variety of prefix types, see [`Prefix`]'s documentation\nfor more.\n\nDoes not occur on Unix.", - "id": 6332, + "id": 6365, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 6364 + 6397 ] } } }, "links": { - "`Prefix`": 6292 + "`Prefix`": 6325 }, "name": "Prefix", "span": { @@ -534749,7 +556443,7 @@ }, "visibility": "default" }, - "6333": { + "6366": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -534758,7 +556452,7 @@ "crate_id": 0, "deprecation": null, "docs": "A structure wrapping a Windows path prefix as well as its unparsed string\nrepresentation.\n\nIn addition to the parsed [`Prefix`] information returned by [`kind`],\n`PrefixComponent` also holds the raw and unparsed [`OsStr`] slice,\nreturned by [`as_os_str`].\n\nInstances of this `struct` can be obtained by matching against the\n[`Prefix` variant] on [`Component`].\n\nDoes not occur on Unix.\n\n# Examples\n\n```\n# if cfg!(windows) {\nuse std::path::{Component, Path, Prefix};\nuse std::ffi::OsStr;\n\nlet path = Path::new(r\"c:\\you\\later\\\");\nmatch path.components().next().unwrap() {\n Component::Prefix(prefix_component) => {\n assert_eq!(Prefix::Disk(b'C'), prefix_component.kind());\n assert_eq!(OsStr::new(\"c:\"), prefix_component.as_os_str());\n }\n _ => unreachable!(),\n}\n# }\n```\n\n[`as_os_str`]: PrefixComponent::as_os_str\n[`kind`]: PrefixComponent::kind\n[`Prefix` variant]: Component::Prefix", - "id": 6333, + "id": 6366, "inner": { "struct": { "generics": { @@ -534775,30 +556469,30 @@ "where_predicates": [] }, "impls": [ - 6334, - 6335, - 6336, - 6337, - 6338, - 6339, - 6340, - 6341, - 6342, - 6343, - 6344, - 6345, - 6346, - 6347, - 6348, - 6349, - 6350, - 6352, - 6353, - 6355, - 6357, - 6359, - 6361, - 6363 + 6367, + 6368, + 6369, + 6370, + 6371, + 6372, + 6373, + 6374, + 6375, + 6376, + 6377, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6385, + 6386, + 6388, + 6390, + 6392, + 6394, + 6396 ], "kind": { "plain": { @@ -534809,12 +556503,12 @@ } }, "links": { - "Component::Prefix": 6332, - "PrefixComponent::as_os_str": 6331, - "PrefixComponent::kind": 6330, - "`Component`": 2258, - "`OsStr`": 1720, - "`Prefix`": 6292 + "Component::Prefix": 6365, + "PrefixComponent::as_os_str": 6364, + "PrefixComponent::kind": 6363, + "`Component`": 2256, + "`OsStr`": 1719, + "`Prefix`": 6325 }, "name": "PrefixComponent", "span": { @@ -534830,12 +556524,12 @@ }, "visibility": "public" }, - "6334": { + "6367": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6334, + "id": 6367, "inner": { "impl": { "blanket_impl": null, @@ -534851,7 +556545,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -534872,8 +556566,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6330, - 6331 + 6363, + 6364 ], "provided_trait_methods": [], "trait": null @@ -534894,12 +556588,12 @@ }, "visibility": "default" }, - "6335": { + "6368": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6335, + "id": 6368, "inner": { "impl": { "blanket_impl": null, @@ -534915,7 +556609,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -534949,12 +556643,12 @@ "span": null, "visibility": "default" }, - "6336": { + "6369": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6336, + "id": 6369, "inner": { "impl": { "blanket_impl": null, @@ -534970,7 +556664,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535004,12 +556698,70 @@ "span": null, "visibility": "default" }, - "6337": { + "637": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 637, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "make_ascii_uppercase", + "span": { + "begin": [ + 193, + 5 + ], + "end": [ + 193, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6370": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6337, + "id": 6370, "inner": { "impl": { "blanket_impl": null, @@ -535025,7 +556777,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535049,7 +556801,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -535059,12 +556811,12 @@ "span": null, "visibility": "default" }, - "6338": { + "6371": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6338, + "id": 6371, "inner": { "impl": { "blanket_impl": null, @@ -535080,7 +556832,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535114,12 +556866,12 @@ "span": null, "visibility": "default" }, - "6339": { + "6372": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6339, + "id": 6372, "inner": { "impl": { "blanket_impl": null, @@ -535135,7 +556887,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535159,7 +556911,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -535169,83 +556921,12 @@ "span": null, "visibility": "default" }, - "634": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 634, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "qualified_path": { - "args": null, - "name": "Owned", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 619, - "path": "" - } - } - } - } - } - }, - "links": {}, - "name": "to_ascii_uppercase", - "span": { - "begin": [ - 193, - 5 - ], - "end": [ - 193, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6340": { + "6373": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6340, + "id": 6373, "inner": { "impl": { "blanket_impl": null, @@ -535261,7 +556942,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535285,7 +556966,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -535295,12 +556976,12 @@ "span": null, "visibility": "default" }, - "6341": { + "6374": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6341, + "id": 6374, "inner": { "impl": { "blanket_impl": { @@ -535318,7 +556999,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535363,7 +557044,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -535379,7 +557060,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -535388,23 +557069,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6342": { + "6375": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6342, + "id": 6375, "inner": { "impl": { "blanket_impl": { @@ -535422,7 +557103,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535467,7 +557148,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -535483,7 +557164,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -535492,23 +557173,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6343": { + "6376": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6343, + "id": 6376, "inner": { "impl": { "blanket_impl": { @@ -535526,7 +557207,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535553,7 +557234,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -535585,23 +557266,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "6344": { + "6377": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6344, + "id": 6377, "inner": { "impl": { "blanket_impl": { @@ -535619,7 +557300,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535685,7 +557366,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -535710,23 +557391,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6345": { + "6378": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6345, + "id": 6378, "inner": { "impl": { "blanket_impl": { @@ -535744,7 +557425,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535767,7 +557448,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -535792,23 +557473,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6346": { + "6379": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6346, + "id": 6379, "inner": { "impl": { "blanket_impl": { @@ -535826,7 +557507,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -535874,7 +557555,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -535892,8 +557573,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -535909,7 +557590,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -535918,245 +557599,81 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6347": { - "attrs": [], + "638": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6347, + "id": 638, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6333, - "path": "PrefixComponent" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "params": [], + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, "type": { - "generic": "U" + "generic": "Self" } } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "6348": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6348, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] } - }, - "id": 6333, - "path": "PrefixComponent" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + "is_c_variadic": false, + "output": null } } }, "links": {}, - "name": null, + "name": "make_ascii_lowercase", "span": { "begin": [ - 138, - 1 + 193, + 5 ], "end": [ - 138, - 36 + 193, + 32 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/ascii.rs" }, "visibility": "default" }, - "6349": { + "6380": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6349, + "id": 6380, "inner": { "impl": { "blanket_impl": { @@ -536174,7 +557691,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -536189,6 +557706,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -536199,10 +557726,129 @@ "trait_bound": { "generic_params": [], "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "6381": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6381, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6366, + "path": "PrefixComponent" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -536219,17 +557865,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" + 336 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 157, - "path": "ToOwned" + "id": 339, + "path": "Any" } } }, @@ -536237,89 +557879,115 @@ "name": null, "span": { "begin": [ - 82, + 138, 1 ], "end": [ - 84, - 14 + 138, + 36 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "635": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "6382": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 635, + "id": 6382, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "qualified_path": { - "args": null, - "name": "Owned", - "self_type": { - "generic": "Self" + }, + "id": 6366, + "path": "PrefixComponent" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } }, - "trait": { - "args": null, - "id": 619, - "path": "" + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" } } }, "links": {}, - "name": "to_ascii_lowercase", + "name": null, "span": { "begin": [ - 193, - 5 + 85, + 1 ], "end": [ - 193, - 32 + 87, + 14 ], - "filename": "std/src/ascii.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "6350": { + "6383": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -536329,7 +557997,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6350, + "id": 6383, "inner": { "impl": { "blanket_impl": null, @@ -536345,7 +558013,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -536369,7 +558037,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -536389,7 +558057,7 @@ }, "visibility": "default" }, - "6351": { + "6384": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -536398,7 +558066,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6351, + "id": 6384, "inner": { "function": { "generics": { @@ -536440,7 +558108,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } } @@ -536462,7 +558130,7 @@ }, "visibility": "default" }, - "6352": { + "6385": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -536472,7 +558140,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6352, + "id": 6385, "inner": { "impl": { "blanket_impl": null, @@ -536488,7 +558156,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -536509,14 +558177,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6351 + 6384 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -536536,7 +558204,7 @@ }, "visibility": "default" }, - "6353": { + "6386": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -536546,7 +558214,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6353, + "id": 6386, "inner": { "impl": { "blanket_impl": null, @@ -536562,7 +558230,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -536588,7 +558256,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -536608,7 +558276,7 @@ }, "visibility": "default" }, - "6354": { + "6387": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -536617,7 +558285,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6354, + "id": 6387, "inner": { "function": { "generics": { @@ -536663,7 +558331,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -536675,7 +558343,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -536697,7 +558365,7 @@ }, "visibility": "default" }, - "6355": { + "6388": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -536707,7 +558375,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6355, + "id": 6388, "inner": { "impl": { "blanket_impl": null, @@ -536723,7 +558391,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -536744,12 +558412,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6354 + 6387 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -536769,7 +558437,7 @@ }, "visibility": "default" }, - "6356": { + "6389": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -536778,7 +558446,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6356, + "id": 6389, "inner": { "function": { "generics": { @@ -536824,7 +558492,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } } @@ -536854,8 +558522,11 @@ }, "visibility": "default" }, - "6357": { + "639": { "attrs": [ + { + "other": "#[allow(deprecated)]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } @@ -536863,7 +558534,62 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6357, + "id": 639, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "char" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 632, + 633, + 634, + 635, + 636, + 637, + 638 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 619, + "path": "AsciiExt" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 190, + 1 + ], + "end": [ + 194, + 2 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6390": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6390, "inner": { "impl": { "blanket_impl": null, @@ -536879,7 +558605,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -536900,14 +558626,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6356 + 6389 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -536927,7 +558653,7 @@ }, "visibility": "default" }, - "6358": { + "6391": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -536936,7 +558662,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6358, + "id": 6391, "inner": { "function": { "generics": { @@ -536982,7 +558708,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } } @@ -537000,7 +558726,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -537031,7 +558757,7 @@ }, "visibility": "default" }, - "6359": { + "6392": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537040,7 +558766,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6359, + "id": 6392, "inner": { "impl": { "blanket_impl": null, @@ -537056,7 +558782,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -537077,7 +558803,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6358 + 6391 ], "provided_trait_methods": [ "lt", @@ -537091,7 +558817,7 @@ ], "trait": { "args": null, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -537111,79 +558837,7 @@ }, "visibility": "default" }, - "636": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 636, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "o", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq_ignore_ascii_case", - "span": { - "begin": [ - 193, - 5 - ], - "end": [ - 193, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6360": { + "6393": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -537192,7 +558846,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6360, + "id": 6393, "inner": { "function": { "generics": { @@ -537237,7 +558891,7 @@ "output": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -537259,7 +558913,7 @@ }, "visibility": "default" }, - "6361": { + "6394": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537268,7 +558922,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6361, + "id": 6394, "inner": { "impl": { "blanket_impl": null, @@ -537284,7 +558938,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -537296,7 +558950,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6360 + 6393 ], "provided_trait_methods": [ "max", @@ -537305,7 +558959,7 @@ ], "trait": { "args": null, - "id": 119, + "id": 117, "path": "Ord" } } @@ -537325,12 +558979,12 @@ }, "visibility": "default" }, - "6362": { + "6395": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6362, + "id": 6395, "inner": { "function": { "generics": { @@ -537414,7 +559068,7 @@ }, "visibility": "default" }, - "6363": { + "6396": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537423,7 +559077,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6363, + "id": 6396, "inner": { "impl": { "blanket_impl": null, @@ -537439,7 +559093,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } }, @@ -537451,7 +559105,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6362 + 6395 ], "provided_trait_methods": [ "hash_slice" @@ -537478,7 +559132,7 @@ }, "visibility": "default" }, - "6364": { + "6397": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537487,7 +559141,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6364, + "id": 6397, "inner": { "struct_field": { "resolved_path": { @@ -537501,7 +559155,7 @@ "constraints": [] } }, - "id": 6333, + "id": 6366, "path": "PrefixComponent" } } @@ -537521,7 +559175,7 @@ }, "visibility": "default" }, - "6365": { + "6398": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537530,7 +559184,7 @@ "crate_id": 0, "deprecation": null, "docs": "The root directory component, appears after any prefix and before anything else.\n\nIt represents a separator that designates that a path starts from root.", - "id": 6365, + "id": 6398, "inner": { "variant": { "discriminant": null, @@ -537552,7 +559206,7 @@ }, "visibility": "default" }, - "6366": { + "6399": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537561,7 +559215,7 @@ "crate_id": 0, "deprecation": null, "docs": "A reference to the current directory, i.e., `.`.", - "id": 6366, + "id": 6399, "inner": { "variant": { "discriminant": null, @@ -537583,7 +559237,91 @@ }, "visibility": "default" }, - "6367": { + "64": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 64, + "inner": { + "use": { + "id": 65, + "is_glob": false, + "name": "cfg", + "source": "core::prelude::v1::cfg" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 50, + 13 + ], + "end": [ + 50, + 16 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "640": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 640, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 163, + "path": "Vec" + } + } + } + }, + "links": {}, + "name": "Owned", + "span": { + "begin": [ + 199, + 5 + ], + "end": [ + 199, + 26 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6400": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537592,7 +559330,7 @@ "crate_id": 0, "deprecation": null, "docs": "A reference to the parent directory, i.e., `..`.", - "id": 6367, + "id": 6400, "inner": { "variant": { "discriminant": null, @@ -537614,7 +559352,7 @@ }, "visibility": "default" }, - "6368": { + "6401": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537623,7 +559361,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6368, + "id": 6401, "inner": { "struct_field": { "borrowed_ref": { @@ -537632,7 +559370,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -537654,7 +559392,7 @@ }, "visibility": "default" }, - "6369": { + "6402": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537663,13 +559401,13 @@ "crate_id": 0, "deprecation": null, "docs": "A normal component, e.g., `a` and `b` in `a/b`.\n\nThis variant is the most common one, it represents references to files\nor directories.", - "id": 6369, + "id": 6402, "inner": { "variant": { "discriminant": null, "kind": { "tuple": [ - 6368 + 6401 ] } } @@ -537689,65 +559427,7 @@ }, "visibility": "default" }, - "637": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 637, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "make_ascii_uppercase", - "span": { - "begin": [ - 193, - 5 - ], - "end": [ - 193, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6370": { + "6403": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537755,8 +559435,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Produces an iterator over the [`Component`]s of the path.\n\nWhen parsing the path, there is a small amount of normalization:\n\n* Repeated separators are ignored, so `a/b` and `a//b` both have\n `a` and `b` as components.\n\n* Occurrences of `.` are normalized away, except if they are at the\n beginning of the path. For example, `a/./b`, `a/b/`, `a/b/.` and\n `a/b` all have `a` and `b` as components, but `./a/b` starts with\n an additional [`CurDir`] component.\n\n* A trailing slash is normalized away, `/a/b` and `/a/b/` are equivalent.\n\nNote that no other normalization takes place; in particular, `a/c`\nand `a/b/../c` are distinct, to account for the possibility that `b`\nis a symbolic link (so its parent isn't `a`).\n\n# Examples\n\n```\nuse std::path::{Path, Component};\nuse std::ffi::OsStr;\n\nlet mut components = Path::new(\"/tmp/foo.txt\").components();\n\nassert_eq!(components.next(), Some(Component::RootDir));\nassert_eq!(components.next(), Some(Component::Normal(OsStr::new(\"tmp\"))));\nassert_eq!(components.next(), Some(Component::Normal(OsStr::new(\"foo.txt\"))));\nassert_eq!(components.next(), None)\n```\n\n[`CurDir`]: Component::CurDir", - "id": 6370, + "docs": "Produces an iterator over the [`Component`]s of the path.\n\nWhen parsing the path, there is a small amount of normalization:\n\n* Repeated separators are ignored, so `a/b` and `a//b` both have\n `a` and `b` as components.\n\n* Occurrences of `.` are normalized away, except if they are at the\n beginning of the path. For example, `a/./b`, `a/b/`, `a/b/.` and\n `a/b` all have `a` and `b` as components, but `./a/b` starts with\n an additional [`CurDir`] component.\n\n* Trailing separators are normalized away, so `/a/b` and `/a/b/` are equivalent.\n\nNote that no other normalization takes place; in particular, `a/c`\nand `a/b/../c` are distinct, to account for the possibility that `b`\nis a symbolic link (so its parent isn't `a`).\n\n# Examples\n\n```\nuse std::path::{Path, Component};\nuse std::ffi::OsStr;\n\nlet mut components = Path::new(\"/tmp/foo.txt\").components();\n\nassert_eq!(components.next(), Some(Component::RootDir));\nassert_eq!(components.next(), Some(Component::Normal(OsStr::new(\"tmp\"))));\nassert_eq!(components.next(), Some(Component::Normal(OsStr::new(\"foo.txt\"))));\nassert_eq!(components.next(), None)\n```\n\n[`CurDir`]: Component::CurDir", + "id": 6403, "inner": { "function": { "generics": { @@ -537798,7 +559478,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } } @@ -537806,24 +559486,24 @@ } }, "links": { - "Component::CurDir": 6366, - "`Component`": 2258 + "Component::CurDir": 6399, + "`Component`": 2256 }, "name": "components", "span": { "begin": [ - 2934, + 3113, 5 ], "end": [ - 2943, + 3122, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6371": { + "6404": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -537837,7 +559517,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts the underlying [`OsStr`] slice.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"./tmp/foo/bar.txt\");\nlet components: Vec<_> = path.components().map(|comp| comp.as_os_str()).collect();\nassert_eq!(&components, &[\".\", \"tmp\", \"foo\", \"bar.txt\"]);\n```", - "id": 6371, + "id": 6404, "inner": { "function": { "generics": { @@ -537868,7 +559548,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -537878,7 +559558,7 @@ } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "as_os_str", "span": { @@ -537894,12 +559574,12 @@ }, "visibility": "public" }, - "6372": { + "6405": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6372, + "id": 6405, "inner": { "impl": { "blanket_impl": null, @@ -537915,7 +559595,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -537936,7 +559616,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6371 + 6404 ], "provided_trait_methods": [], "trait": null @@ -537957,12 +559637,12 @@ }, "visibility": "default" }, - "6373": { + "6406": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6373, + "id": 6406, "inner": { "impl": { "blanket_impl": null, @@ -537978,7 +559658,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538012,12 +559692,12 @@ "span": null, "visibility": "default" }, - "6374": { + "6407": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6374, + "id": 6407, "inner": { "impl": { "blanket_impl": null, @@ -538033,7 +559713,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538067,12 +559747,12 @@ "span": null, "visibility": "default" }, - "6375": { + "6408": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6375, + "id": 6408, "inner": { "impl": { "blanket_impl": null, @@ -538088,7 +559768,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538112,7 +559792,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -538122,12 +559802,12 @@ "span": null, "visibility": "default" }, - "6376": { + "6409": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6376, + "id": 6409, "inner": { "impl": { "blanket_impl": null, @@ -538143,7 +559823,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538177,12 +559857,72 @@ "span": null, "visibility": "default" }, - "6377": { + "641": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 641, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_ascii", + "span": { + "begin": [ + 201, + 5 + ], + "end": [ + 201, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6410": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6377, + "id": 6410, "inner": { "impl": { "blanket_impl": null, @@ -538198,7 +559938,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538222,7 +559962,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -538232,12 +559972,12 @@ "span": null, "visibility": "default" }, - "6378": { + "6411": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6378, + "id": 6411, "inner": { "impl": { "blanket_impl": null, @@ -538253,7 +559993,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538277,7 +560017,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -538287,12 +560027,12 @@ "span": null, "visibility": "default" }, - "6379": { + "6412": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6379, + "id": 6412, "inner": { "impl": { "blanket_impl": { @@ -538310,7 +560050,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538355,7 +560095,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -538371,7 +560111,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -538380,81 +560120,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "638": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 638, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "make_ascii_lowercase", - "span": { - "begin": [ - 193, - 5 - ], - "end": [ - 193, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6380": { + "6413": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6380, + "id": 6413, "inner": { "impl": { "blanket_impl": { @@ -538472,7 +560154,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538517,7 +560199,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -538533,7 +560215,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -538542,23 +560224,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6381": { + "6414": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6381, + "id": 6414, "inner": { "impl": { "blanket_impl": { @@ -538576,7 +560258,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538603,7 +560285,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -538635,23 +560317,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "6382": { + "6415": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6382, + "id": 6415, "inner": { "impl": { "blanket_impl": { @@ -538669,7 +560351,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538735,7 +560417,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -538760,23 +560442,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6383": { + "6416": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6383, + "id": 6416, "inner": { "impl": { "blanket_impl": { @@ -538794,7 +560476,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538817,7 +560499,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -538842,23 +560524,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6384": { + "6417": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6384, + "id": 6417, "inner": { "impl": { "blanket_impl": { @@ -538876,7 +560558,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -538924,7 +560606,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -538942,8 +560624,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -538959,7 +560641,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -538968,23 +560650,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6385": { + "6418": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6385, + "id": 6418, "inner": { "impl": { "blanket_impl": { @@ -539002,7 +560684,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -539068,8 +560750,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -539085,7 +560767,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -539094,23 +560776,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6386": { + "6419": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6386, + "id": 6419, "inner": { "impl": { "blanket_impl": { @@ -539128,7 +560810,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -539176,12 +560858,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -539201,12 +560883,83 @@ }, "visibility": "default" }, - "6387": { + "642": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 642, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "qualified_path": { + "args": null, + "name": "Owned", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 619, + "path": "" + } + } + } + } + } + }, + "links": {}, + "name": "to_ascii_uppercase", + "span": { + "begin": [ + 201, + 5 + ], + "end": [ + 201, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6420": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6387, + "id": 6420, "inner": { "impl": { "blanket_impl": { @@ -539224,7 +560977,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -539251,7 +561004,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -539278,7 +561031,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -539287,18 +561040,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "6388": { + "6421": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -539308,7 +561061,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6388, + "id": 6421, "inner": { "impl": { "blanket_impl": null, @@ -539324,7 +561077,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -539348,7 +561101,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -539368,7 +561121,7 @@ }, "visibility": "default" }, - "6389": { + "6422": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -539377,7 +561130,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6389, + "id": 6422, "inner": { "function": { "generics": { @@ -539419,7 +561172,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } } @@ -539441,65 +561194,7 @@ }, "visibility": "default" }, - "639": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 639, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "char" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 632, - 633, - 634, - 635, - 636, - 637, - 638 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 619, - "path": "AsciiExt" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 190, - 1 - ], - "end": [ - 194, - 2 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6390": { + "6423": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -539509,7 +561204,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6390, + "id": 6423, "inner": { "impl": { "blanket_impl": null, @@ -539525,7 +561220,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -539546,14 +561241,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6389 + 6422 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -539573,7 +561268,7 @@ }, "visibility": "default" }, - "6391": { + "6424": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -539583,7 +561278,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6391, + "id": 6424, "inner": { "impl": { "blanket_impl": null, @@ -539599,7 +561294,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -539643,7 +561338,7 @@ }, "visibility": "default" }, - "6392": { + "6425": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -539652,7 +561347,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6392, + "id": 6425, "inner": { "function": { "generics": { @@ -539698,7 +561393,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } } @@ -539728,7 +561423,7 @@ }, "visibility": "default" }, - "6393": { + "6426": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -539738,7 +561433,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6393, + "id": 6426, "inner": { "impl": { "blanket_impl": null, @@ -539754,7 +561449,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -539775,14 +561470,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6392 + 6425 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -539802,7 +561497,7 @@ }, "visibility": "default" }, - "6394": { + "6427": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -539812,7 +561507,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6394, + "id": 6427, "inner": { "impl": { "blanket_impl": null, @@ -539828,7 +561523,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -539854,7 +561549,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -539874,7 +561569,7 @@ }, "visibility": "default" }, - "6395": { + "6428": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -539883,7 +561578,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6395, + "id": 6428, "inner": { "function": { "generics": { @@ -539929,7 +561624,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } } @@ -539947,7 +561642,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "$crate::cmp::Ordering" } } @@ -539978,7 +561673,7 @@ }, "visibility": "default" }, - "6396": { + "6429": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -539988,7 +561683,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6396, + "id": 6429, "inner": { "impl": { "blanket_impl": null, @@ -540004,7 +561699,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -540025,7 +561720,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6395 + 6428 ], "provided_trait_methods": [ "lt", @@ -540039,7 +561734,7 @@ ], "trait": { "args": null, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -540059,7 +561754,7 @@ }, "visibility": "default" }, - "6397": { + "643": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -540068,7 +561763,78 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6397, + "id": 643, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "qualified_path": { + "args": null, + "name": "Owned", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 619, + "path": "" + } + } + } + } + } + }, + "links": {}, + "name": "to_ascii_lowercase", + "span": { + "begin": [ + 201, + 5 + ], + "end": [ + 201, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6430": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6430, "inner": { "function": { "generics": { @@ -540114,7 +561880,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } } @@ -540126,7 +561892,7 @@ "output": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "$crate::cmp::Ordering" } } @@ -540148,7 +561914,7 @@ }, "visibility": "default" }, - "6398": { + "6431": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -540158,7 +561924,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6398, + "id": 6431, "inner": { "impl": { "blanket_impl": null, @@ -540174,7 +561940,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -540195,7 +561961,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6397 + 6430 ], "provided_trait_methods": [ "max", @@ -540204,7 +561970,7 @@ ], "trait": { "args": null, - "id": 119, + "id": 117, "path": "Ord" } } @@ -540224,7 +561990,7 @@ }, "visibility": "default" }, - "6399": { + "6432": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -540233,7 +561999,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6399, + "id": 6432, "inner": { "function": { "generics": { @@ -540317,91 +562083,7 @@ }, "visibility": "default" }, - "64": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 64, - "inner": { - "use": { - "id": 65, - "is_glob": false, - "name": "cfg", - "source": "core::prelude::v1::cfg" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 50, - 13 - ], - "end": [ - 50, - 16 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "640": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 640, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 165, - "path": "Vec" - } - } - } - }, - "links": {}, - "name": "Owned", - "span": { - "begin": [ - 199, - 5 - ], - "end": [ - 199, - 26 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6400": { + "6433": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -540411,7 +562093,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6400, + "id": 6433, "inner": { "impl": { "blanket_impl": null, @@ -540427,7 +562109,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -540448,7 +562130,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6399 + 6432 ], "provided_trait_methods": [ "hash_slice" @@ -540475,7 +562157,7 @@ }, "visibility": "default" }, - "6401": { + "6434": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -540484,7 +562166,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6401, + "id": 6434, "inner": { "function": { "generics": { @@ -540530,7 +562212,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -540542,7 +562224,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -540564,7 +562246,7 @@ }, "visibility": "default" }, - "6402": { + "6435": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -540574,7 +562256,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6402, + "id": 6435, "inner": { "impl": { "blanket_impl": null, @@ -540590,7 +562272,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -540611,12 +562293,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6401 + 6434 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -540636,7 +562318,7 @@ }, "visibility": "default" }, - "6403": { + "6436": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -540645,7 +562327,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6403, + "id": 6436, "inner": { "function": { "generics": { @@ -540682,7 +562364,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -540706,7 +562388,7 @@ }, "visibility": "default" }, - "6404": { + "6437": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 25, patch: 0})}, feature: \"path_component_asref\"}}]" @@ -540715,7 +562397,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6404, + "id": 6437, "inner": { "impl": { "blanket_impl": null, @@ -540731,7 +562413,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } }, @@ -540743,7 +562425,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6403 + 6436 ], "provided_trait_methods": [], "trait": { @@ -540754,7 +562436,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -540783,7 +562465,7 @@ }, "visibility": "default" }, - "641": { + "644": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -540792,7 +562474,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 641, + "id": 644, "inner": { "function": { "generics": { @@ -540819,6 +562501,18 @@ } } } + ], + [ + "o", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } ] ], "is_c_variadic": false, @@ -540829,7 +562523,7 @@ } }, "links": {}, - "name": "is_ascii", + "name": "eq_ignore_ascii_case", "span": { "begin": [ 201, @@ -540843,7 +562537,7 @@ }, "visibility": "default" }, - "6410": { + "6443": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -540857,7 +562551,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts a slice corresponding to the portion of the path remaining for iteration.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet mut components = Path::new(\"/tmp/foo/bar.txt\").components();\ncomponents.next();\ncomponents.next();\n\nassert_eq!(Path::new(\"foo/bar.txt\"), components.as_path());\n```", - "id": 6410, + "id": 6443, "inner": { "function": { "generics": { @@ -540894,7 +562588,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -540918,12 +562612,12 @@ }, "visibility": "public" }, - "6411": { + "6444": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6411, + "id": 6444, "inner": { "impl": { "blanket_impl": null, @@ -540939,7 +562633,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -540960,7 +562654,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6410 + 6443 ], "provided_trait_methods": [], "trait": null @@ -540981,12 +562675,12 @@ }, "visibility": "default" }, - "6412": { + "6445": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6412, + "id": 6445, "inner": { "impl": { "blanket_impl": null, @@ -541002,7 +562696,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -541036,12 +562730,12 @@ "span": null, "visibility": "default" }, - "6413": { + "6446": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6413, + "id": 6446, "inner": { "impl": { "blanket_impl": null, @@ -541057,7 +562751,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -541091,12 +562785,122 @@ "span": null, "visibility": "default" }, - "6414": { + "6447": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6414, + "id": 6447, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2259, + "path": "Components" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6448": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6448, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2259, + "path": "Components" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6449": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6449, "inner": { "impl": { "blanket_impl": null, @@ -541112,7 +562916,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -541136,8 +562940,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 316, + "path": "UnwindSafe" } } }, @@ -541146,122 +562950,70 @@ "span": null, "visibility": "default" }, - "6415": { - "attrs": [], + "645": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6415, + "id": 645, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2261, - "path": "Components" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6416": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6416, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2261, - "path": "Components" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "'a" - } + } + ] ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + "is_c_variadic": false, + "output": null } } }, "links": {}, - "name": null, - "span": null, + "name": "make_ascii_uppercase", + "span": { + "begin": [ + 201, + 5 + ], + "end": [ + 201, + 32 + ], + "filename": "std/src/ascii.rs" + }, "visibility": "default" }, - "6417": { + "6450": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6417, + "id": 6450, "inner": { "impl": { "blanket_impl": null, @@ -541277,7 +563029,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -541301,7 +563053,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -541311,12 +563063,12 @@ "span": null, "visibility": "default" }, - "6418": { + "6451": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6418, + "id": 6451, "inner": { "impl": { "blanket_impl": { @@ -541334,7 +563086,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -541379,7 +563131,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -541395,7 +563147,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -541404,23 +563156,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6419": { + "6452": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6419, + "id": 6452, "inner": { "impl": { "blanket_impl": { @@ -541438,7 +563190,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -541483,7 +563235,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -541499,7 +563251,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -541508,94 +563260,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "642": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 642, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "qualified_path": { - "args": null, - "name": "Owned", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 619, - "path": "" - } - } - } - } - } - }, - "links": {}, - "name": "to_ascii_uppercase", - "span": { - "begin": [ - 201, - 5 - ], - "end": [ - 201, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6420": { + "6453": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6420, + "id": 6453, "inner": { "impl": { "blanket_impl": { @@ -541613,7 +563294,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -541640,7 +563321,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -541672,23 +563353,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "6421": { + "6454": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6421, + "id": 6454, "inner": { "impl": { "blanket_impl": { @@ -541706,7 +563387,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -541772,7 +563453,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -541797,23 +563478,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6422": { + "6455": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6422, + "id": 6455, "inner": { "impl": { "blanket_impl": { @@ -541831,7 +563512,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -541854,7 +563535,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -541879,23 +563560,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6423": { + "6456": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6423, + "id": 6456, "inner": { "impl": { "blanket_impl": { @@ -541913,7 +563594,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -541961,7 +563642,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -541979,8 +563660,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -541996,7 +563677,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -542005,23 +563686,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6424": { + "6457": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6424, + "id": 6457, "inner": { "impl": { "blanket_impl": { @@ -542039,7 +563720,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -542105,8 +563786,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -542122,7 +563803,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -542131,23 +563812,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6425": { + "6458": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6425, + "id": 6458, "inner": { "impl": { "blanket_impl": { @@ -542165,7 +563846,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -542213,12 +563894,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -542238,12 +563919,12 @@ }, "visibility": "default" }, - "6426": { + "6459": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6426, + "id": 6459, "inner": { "impl": { "blanket_impl": { @@ -542261,7 +563942,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -542333,12 +564014,70 @@ }, "visibility": "default" }, - "6427": { + "646": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 646, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "make_ascii_lowercase", + "span": { + "begin": [ + 201, + 5 + ], + "end": [ + 201, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6460": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6427, + "id": 6460, "inner": { "impl": { "blanket_impl": { @@ -542356,7 +564095,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -542383,7 +564122,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -542410,7 +564149,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -542419,18 +564158,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "6428": { + "6461": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -542439,7 +564178,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6428, + "id": 6461, "inner": { "function": { "generics": { @@ -542481,7 +564220,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } } @@ -542503,7 +564242,7 @@ }, "visibility": "default" }, - "6429": { + "6462": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -542513,7 +564252,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6429, + "id": 6462, "inner": { "impl": { "blanket_impl": null, @@ -542529,7 +564268,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -542550,14 +564289,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6428 + 6461 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -542577,83 +564316,12 @@ }, "visibility": "default" }, - "643": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 643, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "qualified_path": { - "args": null, - "name": "Owned", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 619, - "path": "" - } - } - } - } - } - }, - "links": {}, - "name": "to_ascii_lowercase", - "span": { - "begin": [ - 201, - 5 - ], - "end": [ - 201, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6430": { + "6463": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6430, + "id": 6463, "inner": { "function": { "generics": { @@ -542699,7 +564367,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -542711,7 +564379,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -542733,7 +564401,7 @@ }, "visibility": "default" }, - "6431": { + "6464": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"path_components_debug\"}}]" @@ -542742,7 +564410,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6431, + "id": 6464, "inner": { "impl": { "blanket_impl": null, @@ -542758,7 +564426,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -542770,12 +564438,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6430 + 6463 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -542795,7 +564463,7 @@ }, "visibility": "default" }, - "6432": { + "6465": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -542804,7 +564472,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6432, + "id": 6465, "inner": { "function": { "generics": { @@ -542841,7 +564509,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -542865,7 +564533,7 @@ }, "visibility": "default" }, - "6433": { + "6466": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -542874,7 +564542,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6433, + "id": 6466, "inner": { "impl": { "blanket_impl": null, @@ -542890,7 +564558,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -542902,7 +564570,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6432 + 6465 ], "provided_trait_methods": [], "trait": { @@ -542913,7 +564581,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -542942,12 +564610,12 @@ }, "visibility": "default" }, - "6434": { + "6467": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6434, + "id": 6467, "inner": { "assoc_type": { "bounds": [], @@ -542967,7 +564635,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } } @@ -542988,12 +564656,12 @@ }, "visibility": "default" }, - "6435": { + "6468": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6435, + "id": 6468, "inner": { "function": { "generics": { @@ -543041,7 +564709,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } } @@ -543072,7 +564740,7 @@ }, "visibility": "default" }, - "6436": { + "6469": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -543081,7 +564749,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6436, + "id": 6469, "inner": { "impl": { "blanket_impl": null, @@ -543097,7 +564765,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -543118,8 +564786,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6434, - 6435 + 6467, + 6468 ], "provided_trait_methods": [ "next_chunk", @@ -543221,12 +564889,72 @@ }, "visibility": "default" }, - "6437": { + "647": { + "attrs": [ + { + "other": "#[allow(deprecated)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 647, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "slice": { + "primitive": "u8" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 640, + 641, + 642, + 643, + 644, + 645, + 646 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 619, + "path": "AsciiExt" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 198, + 1 + ], + "end": [ + 202, + 2 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6470": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6437, + "id": 6470, "inner": { "function": { "generics": { @@ -543274,7 +565002,7 @@ "constraints": [] } }, - "id": 2258, + "id": 2256, "path": "Component" } } @@ -543305,7 +565033,7 @@ }, "visibility": "default" }, - "6438": { + "6471": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -543314,7 +565042,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6438, + "id": 6471, "inner": { "impl": { "blanket_impl": null, @@ -543330,7 +565058,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -543351,7 +565079,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6437 + 6470 ], "provided_trait_methods": [ "advance_back_by", @@ -543382,7 +565110,7 @@ }, "visibility": "default" }, - "6439": { + "6472": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" @@ -543391,7 +565119,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6439, + "id": 6472, "inner": { "impl": { "blanket_impl": null, @@ -543407,7 +565135,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -543442,79 +565170,7 @@ }, "visibility": "default" }, - "644": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 644, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "o", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq_ignore_ascii_case", - "span": { - "begin": [ - 201, - 5 - ], - "end": [ - 201, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6440": { + "6473": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -543523,7 +565179,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6440, + "id": 6473, "inner": { "function": { "generics": { @@ -543569,7 +565225,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } } @@ -543599,7 +565255,7 @@ }, "visibility": "default" }, - "6441": { + "6474": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -543608,7 +565264,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6441, + "id": 6474, "inner": { "impl": { "blanket_impl": null, @@ -543624,7 +565280,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -543645,14 +565301,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6440 + 6473 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -543672,7 +565328,7 @@ }, "visibility": "default" }, - "6442": { + "6475": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -543681,7 +565337,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6442, + "id": 6475, "inner": { "impl": { "blanket_impl": null, @@ -543697,7 +565353,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -543714,7 +565370,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -543734,7 +565390,7 @@ }, "visibility": "default" }, - "6443": { + "6476": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -543743,7 +565399,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6443, + "id": 6476, "inner": { "function": { "generics": { @@ -543789,7 +565445,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } } @@ -543807,7 +565463,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -543838,7 +565494,7 @@ }, "visibility": "default" }, - "6444": { + "6477": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -543847,7 +565503,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6444, + "id": 6477, "inner": { "impl": { "blanket_impl": null, @@ -543863,7 +565519,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -543884,7 +565540,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6443 + 6476 ], "provided_trait_methods": [ "lt", @@ -543898,7 +565554,7 @@ ], "trait": { "args": null, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -543918,7 +565574,7 @@ }, "visibility": "default" }, - "6445": { + "6478": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -543927,7 +565583,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6445, + "id": 6478, "inner": { "function": { "generics": { @@ -543972,7 +565628,7 @@ "output": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -543994,7 +565650,7 @@ }, "visibility": "default" }, - "6446": { + "6479": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -544003,7 +565659,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6446, + "id": 6479, "inner": { "impl": { "blanket_impl": null, @@ -544019,7 +565675,7 @@ "constraints": [] } }, - "id": 2261, + "id": 2259, "path": "Components" } }, @@ -544031,7 +565687,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6445 + 6478 ], "provided_trait_methods": [ "max", @@ -544040,7 +565696,7 @@ ], "trait": { "args": null, - "id": 119, + "id": 117, "path": "Ord" } } @@ -544060,7 +565716,44 @@ }, "visibility": "default" }, - "6448": { + "648": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 648, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } + } + } + }, + "links": {}, + "name": "Owned", + "span": { + "begin": [ + 207, + 5 + ], + "end": [ + 207, + 25 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6481": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -544072,7 +565765,7 @@ "crate_id": 0, "deprecation": null, "docs": "Produces an iterator over the path's components viewed as [`OsStr`]\nslices.\n\nFor more information about the particulars of how the path is separated\ninto components, see [`components`].\n\n[`components`]: Path::components\n\n# Examples\n\n```\nuse std::path::{self, Path};\nuse std::ffi::OsStr;\n\nlet mut it = Path::new(\"/tmp/foo.txt\").iter();\nassert_eq!(it.next(), Some(OsStr::new(&path::MAIN_SEPARATOR.to_string())));\nassert_eq!(it.next(), Some(OsStr::new(\"tmp\")));\nassert_eq!(it.next(), Some(OsStr::new(\"foo.txt\")));\nassert_eq!(it.next(), None)\n```", - "id": 6448, + "id": 6481, "inner": { "function": { "generics": { @@ -544114,7 +565807,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } } @@ -544122,24 +565815,24 @@ } }, "links": { - "Path::components": 6370, - "`OsStr`": 1720 + "Path::components": 6403, + "`OsStr`": 1719 }, "name": "iter", "span": { "begin": [ - 2967, + 3146, 5 ], "end": [ - 2969, + 3148, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6449": { + "6482": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -544156,7 +565849,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts a slice corresponding to the portion of the path remaining for iteration.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet mut iter = Path::new(\"/tmp/foo/bar.txt\").iter();\niter.next();\niter.next();\n\nassert_eq!(Path::new(\"foo/bar.txt\"), iter.as_path());\n```", - "id": 6449, + "id": 6482, "inner": { "function": { "generics": { @@ -544193,7 +565886,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -544217,70 +565910,12 @@ }, "visibility": "public" }, - "645": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 645, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "make_ascii_uppercase", - "span": { - "begin": [ - 201, - 5 - ], - "end": [ - 201, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6450": { + "6483": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6450, + "id": 6483, "inner": { "impl": { "blanket_impl": null, @@ -544296,7 +565931,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -544317,7 +565952,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6449 + 6482 ], "provided_trait_methods": [], "trait": null @@ -544338,12 +565973,12 @@ }, "visibility": "default" }, - "6451": { + "6484": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6451, + "id": 6484, "inner": { "impl": { "blanket_impl": null, @@ -544359,7 +565994,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -544393,12 +566028,12 @@ "span": null, "visibility": "default" }, - "6452": { + "6485": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6452, + "id": 6485, "inner": { "impl": { "blanket_impl": null, @@ -544414,7 +566049,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -544448,12 +566083,12 @@ "span": null, "visibility": "default" }, - "6453": { + "6486": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6453, + "id": 6486, "inner": { "impl": { "blanket_impl": null, @@ -544469,7 +566104,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -544493,7 +566128,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -544503,12 +566138,12 @@ "span": null, "visibility": "default" }, - "6454": { + "6487": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6454, + "id": 6487, "inner": { "impl": { "blanket_impl": null, @@ -544524,7 +566159,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -544558,12 +566193,12 @@ "span": null, "visibility": "default" }, - "6455": { + "6488": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6455, + "id": 6488, "inner": { "impl": { "blanket_impl": null, @@ -544579,7 +566214,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -544603,7 +566238,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -544613,12 +566248,12 @@ "span": null, "visibility": "default" }, - "6456": { + "6489": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6456, + "id": 6489, "inner": { "impl": { "blanket_impl": null, @@ -544634,7 +566269,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -544658,7 +566293,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -544668,12 +566303,72 @@ "span": null, "visibility": "default" }, - "6457": { + "649": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 649, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_ascii", + "span": { + "begin": [ + 209, + 5 + ], + "end": [ + 209, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6490": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6457, + "id": 6490, "inner": { "impl": { "blanket_impl": { @@ -544691,7 +566386,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -544736,7 +566431,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -544752,7 +566447,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -544761,23 +566456,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6458": { + "6491": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6458, + "id": 6491, "inner": { "impl": { "blanket_impl": { @@ -544795,7 +566490,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -544840,7 +566535,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -544856,7 +566551,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -544865,23 +566560,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6459": { + "6492": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6459, + "id": 6492, "inner": { "impl": { "blanket_impl": { @@ -544899,7 +566594,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -544926,7 +566621,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -544958,81 +566653,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "646": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 646, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "make_ascii_lowercase", - "span": { - "begin": [ - 201, - 5 - ], - "end": [ - 201, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6460": { + "6493": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6460, + "id": 6493, "inner": { "impl": { "blanket_impl": { @@ -545050,7 +566687,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -545116,7 +566753,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -545141,23 +566778,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6461": { + "6494": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6461, + "id": 6494, "inner": { "impl": { "blanket_impl": { @@ -545175,7 +566812,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -545198,7 +566835,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -545223,23 +566860,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6462": { + "6495": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6462, + "id": 6495, "inner": { "impl": { "blanket_impl": { @@ -545257,7 +566894,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -545305,7 +566942,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -545323,8 +566960,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -545340,7 +566977,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -545349,23 +566986,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6463": { + "6496": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6463, + "id": 6496, "inner": { "impl": { "blanket_impl": { @@ -545383,7 +567020,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -545449,8 +567086,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -545466,7 +567103,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -545475,23 +567112,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6464": { + "6497": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6464, + "id": 6497, "inner": { "impl": { "blanket_impl": { @@ -545509,7 +567146,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -545557,12 +567194,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -545582,12 +567219,12 @@ }, "visibility": "default" }, - "6465": { + "6498": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6465, + "id": 6498, "inner": { "impl": { "blanket_impl": { @@ -545605,7 +567242,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -545677,12 +567314,12 @@ }, "visibility": "default" }, - "6466": { + "6499": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6466, + "id": 6499, "inner": { "impl": { "blanket_impl": { @@ -545700,7 +567337,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -545727,7 +567364,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -545754,7 +567391,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -545763,18 +567400,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "6467": { + "650": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -545783,150 +567420,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6467, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2264, - "path": "Iter" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 620, - 10 - ], - "end": [ - 620, - 15 - ], - "filename": "std/src/path.rs" - }, - "visibility": "default" - }, - "6468": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6468, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2264, - "path": "Iter" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 6467 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 620, - 10 - ], - "end": [ - 620, - 15 - ], - "filename": "std/src/path.rs" - }, - "visibility": "default" - }, - "6469": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6469, + "id": 650, "inner": { "function": { "generics": { @@ -545953,28 +567447,74 @@ } } } - ], + ] + ], + "is_c_variadic": false, + "output": { + "qualified_path": { + "args": null, + "name": "Owned", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 619, + "path": "" + } + } + } + } + } + }, + "links": {}, + "name": "to_ascii_uppercase", + "span": { + "begin": [ + 209, + 5 + ], + "end": [ + 209, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6500": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6500, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ [ - "f", + "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "Self" } } } @@ -545983,71 +567523,94 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2262, + "path": "Iter" } } } } }, "links": {}, - "name": "fmt", + "name": "clone", "span": { "begin": [ - 813, - 5 + 620, + 10 ], "end": [ - 823, - 6 + 620, + 15 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "647": { + "6501": { "attrs": [ - { - "other": "#[allow(deprecated)]" - }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 647, + "id": 6501, "inner": { "impl": { "blanket_impl": null, "for": { - "slice": { - "primitive": "u8" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 2262, + "path": "Iter" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 640, - 641, - 642, - 643, - 644, - 645, - 646 + 6500 + ], + "provided_trait_methods": [ + "clone_from" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 619, - "path": "AsciiExt" + "id": 97, + "path": "Clone" } } }, @@ -546055,18 +567618,103 @@ "name": null, "span": { "begin": [ - 198, - 1 + 620, + 10 ], "end": [ - 202, - 2 + 620, + 15 ], - "filename": "std/src/ascii.rs" + "filename": "std/src/path.rs" }, "visibility": "default" }, - "6470": { + "6502": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6502, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 813, + 5 + ], + "end": [ + 823, + 6 + ], + "filename": "std/src/path.rs" + }, + "visibility": "default" + }, + "6503": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 13, patch: 0})}, feature: \"path_iter_debug\"}}]" @@ -546075,7 +567723,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6470, + "id": 6503, "inner": { "impl": { "blanket_impl": null, @@ -546091,7 +567739,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -546103,12 +567751,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6469 + 6502 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -546128,7 +567776,7 @@ }, "visibility": "default" }, - "6471": { + "6504": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -546137,7 +567785,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6471, + "id": 6504, "inner": { "function": { "generics": { @@ -546174,7 +567822,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -546198,7 +567846,7 @@ }, "visibility": "default" }, - "6472": { + "6505": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -546207,7 +567855,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6472, + "id": 6505, "inner": { "impl": { "blanket_impl": null, @@ -546223,7 +567871,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -546235,7 +567883,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6471 + 6504 ], "provided_trait_methods": [], "trait": { @@ -546246,7 +567894,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -546275,12 +567923,12 @@ }, "visibility": "default" }, - "6473": { + "6506": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6473, + "id": 6506, "inner": { "assoc_type": { "bounds": [], @@ -546295,7 +567943,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -546318,7 +567966,7 @@ }, "visibility": "default" }, - "6474": { + "6507": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -546327,7 +567975,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6474, + "id": 6507, "inner": { "function": { "generics": { @@ -546370,7 +568018,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -546403,7 +568051,7 @@ }, "visibility": "default" }, - "6475": { + "6508": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -546412,7 +568060,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6475, + "id": 6508, "inner": { "impl": { "blanket_impl": null, @@ -546428,7 +568076,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -546449,8 +568097,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6473, - 6474 + 6506, + 6507 ], "provided_trait_methods": [ "next_chunk", @@ -546552,7 +568200,7 @@ }, "visibility": "default" }, - "6476": { + "6509": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -546561,7 +568209,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6476, + "id": 6509, "inner": { "function": { "generics": { @@ -546604,7 +568252,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -546637,7 +568285,78 @@ }, "visibility": "default" }, - "6477": { + "651": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 651, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "qualified_path": { + "args": null, + "name": "Owned", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 619, + "path": "" + } + } + } + } + } + }, + "links": {}, + "name": "to_ascii_lowercase", + "span": { + "begin": [ + 209, + 5 + ], + "end": [ + 209, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6510": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -546646,7 +568365,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6477, + "id": 6510, "inner": { "impl": { "blanket_impl": null, @@ -546662,7 +568381,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -546683,7 +568402,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6476 + 6509 ], "provided_trait_methods": [ "advance_back_by", @@ -546714,7 +568433,7 @@ }, "visibility": "default" }, - "6478": { + "6511": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" @@ -546723,7 +568442,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6478, + "id": 6511, "inner": { "impl": { "blanket_impl": null, @@ -546739,7 +568458,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } }, @@ -546774,44 +568493,7 @@ }, "visibility": "default" }, - "648": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 648, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" - } - } - } - }, - "links": {}, - "name": "Owned", - "span": { - "begin": [ - 207, - 5 - ], - "end": [ - 207, - 25 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6480": { + "6513": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"path_ancestors\"}}]" @@ -546823,7 +568505,7 @@ "crate_id": 0, "deprecation": null, "docs": "Produces an iterator over `Path` and its ancestors.\n\nThe iterator will yield the `Path` that is returned if the [`parent`] method is used zero\nor more times. If the [`parent`] method returns [`None`], the iterator will do likewise.\nThe iterator will always yield at least one value, namely `Some(&self)`. Next it will yield\n`&self.parent()`, `&self.parent().and_then(Path::parent)` and so on.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet mut ancestors = Path::new(\"/foo/bar\").ancestors();\nassert_eq!(ancestors.next(), Some(Path::new(\"/foo/bar\")));\nassert_eq!(ancestors.next(), Some(Path::new(\"/foo\")));\nassert_eq!(ancestors.next(), Some(Path::new(\"/\")));\nassert_eq!(ancestors.next(), None);\n\nlet mut ancestors = Path::new(\"../foo/bar\").ancestors();\nassert_eq!(ancestors.next(), Some(Path::new(\"../foo/bar\")));\nassert_eq!(ancestors.next(), Some(Path::new(\"../foo\")));\nassert_eq!(ancestors.next(), Some(Path::new(\"..\")));\nassert_eq!(ancestors.next(), Some(Path::new(\"\")));\nassert_eq!(ancestors.next(), None);\n```\n\n[`parent`]: Path::parent", - "id": 6480, + "id": 6513, "inner": { "function": { "generics": { @@ -546865,7 +568547,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } } @@ -546873,24 +568555,24 @@ } }, "links": { - "Path::parent": 6517, + "Path::parent": 6550, "`None`": 53 }, "name": "ancestors", "span": { "begin": [ - 2529, + 2622, 5 ], "end": [ - 2531, + 2624, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6481": { + "6514": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"path_ancestors\"}}]" @@ -546904,7 +568586,7 @@ "crate_id": 0, "deprecation": null, "docs": "An iterator over [`Path`] and its ancestors.\n\nThis `struct` is created by the [`ancestors`] method on [`Path`].\nSee its documentation for more.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"/foo/bar\");\n\nfor ancestor in path.ancestors() {\n println!(\"{}\", ancestor.display());\n}\n```\n\n[`ancestors`]: Path::ancestors", - "id": 6481, + "id": 6514, "inner": { "struct": { "generics": { @@ -546921,27 +568603,27 @@ "where_predicates": [] }, "impls": [ - 6482, - 6483, - 6484, - 6485, - 6486, - 6487, - 6488, - 6489, - 6490, - 6491, - 6492, - 6493, - 6494, - 6495, - 6496, - 6497, - 6498, - 6500, - 6502, - 6505, - 6506 + 6515, + 6516, + 6517, + 6518, + 6519, + 6520, + 6521, + 6522, + 6523, + 6524, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6533, + 6535, + 6538, + 6539 ], "kind": { "plain": { @@ -546952,8 +568634,8 @@ } }, "links": { - "Path::ancestors": 6480, - "`Path`": 1667 + "Path::ancestors": 6513, + "`Path`": 1666 }, "name": "Ancestors", "span": { @@ -546969,12 +568651,12 @@ }, "visibility": "public" }, - "6482": { + "6515": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6482, + "id": 6515, "inner": { "impl": { "blanket_impl": null, @@ -546990,7 +568672,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547024,12 +568706,12 @@ "span": null, "visibility": "default" }, - "6483": { + "6516": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6483, + "id": 6516, "inner": { "impl": { "blanket_impl": null, @@ -547045,7 +568727,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547079,12 +568761,12 @@ "span": null, "visibility": "default" }, - "6484": { + "6517": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6484, + "id": 6517, "inner": { "impl": { "blanket_impl": null, @@ -547100,7 +568782,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547124,7 +568806,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -547134,12 +568816,12 @@ "span": null, "visibility": "default" }, - "6485": { + "6518": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6485, + "id": 6518, "inner": { "impl": { "blanket_impl": null, @@ -547155,7 +568837,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547189,12 +568871,12 @@ "span": null, "visibility": "default" }, - "6486": { + "6519": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6486, + "id": 6519, "inner": { "impl": { "blanket_impl": null, @@ -547210,7 +568892,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547234,7 +568916,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -547244,12 +568926,84 @@ "span": null, "visibility": "default" }, - "6487": { + "652": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 652, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "o", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "eq_ignore_ascii_case", + "span": { + "begin": [ + 209, + 5 + ], + "end": [ + 209, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6520": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6487, + "id": 6520, "inner": { "impl": { "blanket_impl": null, @@ -547265,7 +569019,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547289,7 +569043,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -547299,12 +569053,12 @@ "span": null, "visibility": "default" }, - "6488": { + "6521": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6488, + "id": 6521, "inner": { "impl": { "blanket_impl": { @@ -547322,7 +569076,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547367,7 +569121,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -547383,7 +569137,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -547392,23 +569146,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6489": { + "6522": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6489, + "id": 6522, "inner": { "impl": { "blanket_impl": { @@ -547426,7 +569180,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547471,7 +569225,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -547487,7 +569241,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -547496,83 +569250,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "649": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 649, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_ascii", - "span": { - "begin": [ - 209, - 5 - ], - "end": [ - 209, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6490": { + "6523": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6490, + "id": 6523, "inner": { "impl": { "blanket_impl": { @@ -547590,7 +569284,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547617,7 +569311,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -547649,23 +569343,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "6491": { + "6524": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6491, + "id": 6524, "inner": { "impl": { "blanket_impl": { @@ -547683,7 +569377,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547749,7 +569443,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -547774,23 +569468,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6492": { + "6525": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6492, + "id": 6525, "inner": { "impl": { "blanket_impl": { @@ -547808,7 +569502,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547831,7 +569525,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -547856,23 +569550,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6493": { + "6526": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6493, + "id": 6526, "inner": { "impl": { "blanket_impl": { @@ -547890,7 +569584,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -547938,7 +569632,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -547956,8 +569650,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -547973,7 +569667,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -547982,23 +569676,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6494": { + "6527": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6494, + "id": 6527, "inner": { "impl": { "blanket_impl": { @@ -548016,7 +569710,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -548082,8 +569776,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -548099,7 +569793,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -548108,23 +569802,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6495": { + "6528": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6495, + "id": 6528, "inner": { "impl": { "blanket_impl": { @@ -548142,7 +569836,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -548190,12 +569884,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -548215,12 +569909,12 @@ }, "visibility": "default" }, - "6496": { + "6529": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6496, + "id": 6529, "inner": { "impl": { "blanket_impl": { @@ -548238,7 +569932,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -548310,12 +570004,70 @@ }, "visibility": "default" }, - "6497": { + "653": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 653, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "make_ascii_uppercase", + "span": { + "begin": [ + 209, + 5 + ], + "end": [ + 209, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6530": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6497, + "id": 6530, "inner": { "impl": { "blanket_impl": { @@ -548333,7 +570085,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -548360,7 +570112,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -548387,7 +570139,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -548396,18 +570148,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "6498": { + "6531": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"path_ancestors\"}}]" @@ -548417,7 +570169,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6498, + "id": 6531, "inner": { "impl": { "blanket_impl": null, @@ -548433,7 +570185,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -548457,7 +570209,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -548477,7 +570229,7 @@ }, "visibility": "default" }, - "6499": { + "6532": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -548486,7 +570238,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6499, + "id": 6532, "inner": { "function": { "generics": { @@ -548528,7 +570280,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } } @@ -548550,78 +570302,7 @@ }, "visibility": "default" }, - "650": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 650, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "qualified_path": { - "args": null, - "name": "Owned", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 619, - "path": "" - } - } - } - } - } - }, - "links": {}, - "name": "to_ascii_uppercase", - "span": { - "begin": [ - 209, - 5 - ], - "end": [ - 209, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6500": { + "6533": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"path_ancestors\"}}]" @@ -548631,7 +570312,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6500, + "id": 6533, "inner": { "impl": { "blanket_impl": null, @@ -548647,7 +570328,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -548668,14 +570349,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6499 + 6532 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -548695,7 +570376,7 @@ }, "visibility": "default" }, - "6501": { + "6534": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -548704,7 +570385,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6501, + "id": 6534, "inner": { "function": { "generics": { @@ -548750,7 +570431,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -548762,7 +570443,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -548784,7 +570465,7 @@ }, "visibility": "default" }, - "6502": { + "6535": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"path_ancestors\"}}]" @@ -548794,7 +570475,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6502, + "id": 6535, "inner": { "impl": { "blanket_impl": null, @@ -548810,7 +570491,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -548831,12 +570512,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6501 + 6534 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -548856,12 +570537,12 @@ }, "visibility": "default" }, - "6503": { + "6536": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6503, + "id": 6536, "inner": { "assoc_type": { "bounds": [], @@ -548876,7 +570557,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -548899,7 +570580,7 @@ }, "visibility": "default" }, - "6504": { + "6537": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -548908,7 +570589,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6504, + "id": 6537, "inner": { "function": { "generics": { @@ -548985,7 +570666,7 @@ }, "visibility": "default" }, - "6505": { + "6538": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"path_ancestors\"}}]" @@ -548994,7 +570675,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6505, + "id": 6538, "inner": { "impl": { "blanket_impl": null, @@ -549010,7 +570691,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -549031,8 +570712,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6503, - 6504 + 6536, + 6537 ], "provided_trait_methods": [ "next_chunk", @@ -549134,7 +570815,7 @@ }, "visibility": "default" }, - "6506": { + "6539": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"path_ancestors\"}}]" @@ -549143,7 +570824,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6506, + "id": 6539, "inner": { "impl": { "blanket_impl": null, @@ -549159,7 +570840,7 @@ "constraints": [] } }, - "id": 6481, + "id": 6514, "path": "Ancestors" } }, @@ -549194,7 +570875,65 @@ }, "visibility": "default" }, - "6508": { + "654": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 654, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "make_ascii_lowercase", + "span": { + "begin": [ + 209, + 5 + ], + "end": [ + 209, + 32 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6541": { "attrs": [ { "other": "#[attr = Confusables {symbols: [\"append\", \"put\"]}]" @@ -549206,7 +570945,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extends `self` with `path`.\n\nIf `path` is absolute, it replaces the current path.\n\nOn Windows:\n\n* if `path` has a root but no prefix (e.g., `\\windows`), it\n replaces everything except for the prefix (if any) of `self`.\n* if `path` has a prefix but no root, it replaces `self`.\n* if `self` has a verbatim prefix (e.g. `\\\\?\\C:\\windows`)\n and `path` is not empty, the new path is normalized: all references\n to `.` and `..` are removed.\n\nConsider using [`Path::join`] if you need a new `PathBuf` instead of\nusing this function on a cloned `PathBuf`.\n\n# Examples\n\nPushing a relative path extends the existing path:\n\n```\nuse std::path::PathBuf;\n\nlet mut path = PathBuf::from(\"/tmp\");\npath.push(\"file.bk\");\nassert_eq!(path, PathBuf::from(\"/tmp/file.bk\"));\n```\n\nPushing an absolute path replaces the existing path:\n\n```\nuse std::path::PathBuf;\n\nlet mut path = PathBuf::from(\"/tmp\");\npath.push(\"/etc\");\nassert_eq!(path, PathBuf::from(\"/etc\"));\n```", - "id": 6508, + "id": 6541, "inner": { "function": { "generics": { @@ -549227,7 +570966,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -549285,7 +571024,7 @@ } }, "links": { - "`Path::join`": 6516 + "`Path::join`": 6549 }, "name": "push", "span": { @@ -549301,7 +571040,7 @@ }, "visibility": "public" }, - "6509": { + "6542": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -549310,7 +571049,7 @@ "crate_id": 0, "deprecation": null, "docs": "Updates [`self.extension`] to `Some(extension)` or to `None` if\n`extension` is empty.\n\nReturns `false` and does nothing if [`self.file_name`] is [`None`],\nreturns `true` and updates the extension otherwise.\n\nIf [`self.extension`] is [`None`], the extension is added; otherwise\nit is replaced.\n\nIf `extension` is the empty string, [`self.extension`] will be [`None`]\nafterwards, not `Some(\"\")`.\n\n# Panics\n\nPanics if the passed extension contains a path separator (see\n[`is_separator`]).\n\n# Caveats\n\nThe new `extension` may contain dots and will be used in its entirety,\nbut only the part after the final dot will be reflected in\n[`self.extension`].\n\nIf the file stem contains internal dots and `extension` is empty, part\nof the old file stem will be considered the new [`self.extension`].\n\nSee the examples below.\n\n[`self.file_name`]: Path::file_name\n[`self.extension`]: Path::extension\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nlet mut p = PathBuf::from(\"/feel/the\");\n\np.set_extension(\"force\");\nassert_eq!(Path::new(\"/feel/the.force\"), p.as_path());\n\np.set_extension(\"dark.side\");\nassert_eq!(Path::new(\"/feel/the.dark.side\"), p.as_path());\n\np.set_extension(\"cookie\");\nassert_eq!(Path::new(\"/feel/the.dark.cookie\"), p.as_path());\n\np.set_extension(\"\");\nassert_eq!(Path::new(\"/feel/the.dark\"), p.as_path());\n\np.set_extension(\"\");\nassert_eq!(Path::new(\"/feel/the\"), p.as_path());\n\np.set_extension(\"\");\nassert_eq!(Path::new(\"/feel/the\"), p.as_path());\n```", - "id": 6509, + "id": 6542, "inner": { "function": { "generics": { @@ -549331,7 +571070,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -549391,97 +571130,26 @@ } }, "links": { - "Path::extension": 6521, - "Path::file_name": 6519, + "Path::extension": 6560, + "Path::file_name": 6558, "`None`": 53, - "`is_separator`": 6325 + "`is_separator`": 6358 }, "name": "set_extension", "span": { "begin": [ - 1524, + 1617, 5 ], "end": [ - 1526, + 1619, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "651": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 651, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "qualified_path": { - "args": null, - "name": "Owned", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 619, - "path": "" - } - } - } - } - } - }, - "links": {}, - "name": "to_ascii_lowercase", - "span": { - "begin": [ - 209, - 5 - ], - "end": [ - 209, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6510": { + "6543": { "attrs": [ { "other": "#[deny(unsafe_op_in_unsafe_fn)]" @@ -549493,42 +571161,42 @@ "crate_id": 0, "deprecation": null, "docs": "Cross-platform path manipulation.\n\nThis module provides two types, [`PathBuf`] and [`Path`] (akin to [`String`]\nand [`str`]), for working with paths abstractly. These types are thin wrappers\naround [`OsString`] and [`OsStr`] respectively, meaning that they work directly\non strings according to the local platform's path syntax.\n\nPaths can be parsed into [`Component`]s by iterating over the structure\nreturned by the [`components`] method on [`Path`]. [`Component`]s roughly\ncorrespond to the substrings between path separators (`/` or `\\`). You can\nreconstruct an equivalent path from components with the [`push`] method on\n[`PathBuf`]; note that the paths may differ syntactically by the\nnormalization described in the documentation for the [`components`] method.\n\n## Case sensitivity\n\nUnless otherwise indicated path methods that do not access the filesystem,\nsuch as [`Path::starts_with`] and [`Path::ends_with`], are case sensitive no\nmatter the platform or filesystem. An exception to this is made for Windows\ndrive letters.\n\n## Simple usage\n\nPath manipulation includes both parsing components from slices and building\nnew owned paths.\n\nTo parse a path, you can create a [`Path`] slice from a [`str`]\nslice and start asking questions:\n\n```\nuse std::path::Path;\nuse std::ffi::OsStr;\n\nlet path = Path::new(\"/tmp/foo/bar.txt\");\n\nlet parent = path.parent();\nassert_eq!(parent, Some(Path::new(\"/tmp/foo\")));\n\nlet file_stem = path.file_stem();\nassert_eq!(file_stem, Some(OsStr::new(\"bar\")));\n\nlet extension = path.extension();\nassert_eq!(extension, Some(OsStr::new(\"txt\")));\n```\n\nTo build or modify paths, use [`PathBuf`]:\n\n```\nuse std::path::PathBuf;\n\n// This way works...\nlet mut path = PathBuf::from(\"c:\\\\\");\n\npath.push(\"windows\");\npath.push(\"system32\");\n\npath.set_extension(\"dll\");\n\n// ... but push is best used if you don't know everything up\n// front. If you do, this way is better:\nlet path: PathBuf = [\"c:\\\\\", \"windows\", \"system32.dll\"].iter().collect();\n```\n\n[`components`]: Path::components\n[`push`]: PathBuf::push", - "id": 6510, + "id": 6543, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 6292, 6325, - 6326, - 6327, - 6333, - 2258, - 2261, - 2264, - 6481, - 1664, - 1667, - 6657, - 6671, - 6665, - 6669 + 6358, + 6359, + 6360, + 6366, + 2256, + 2259, + 2262, + 6514, + 1663, + 1666, + 6696, + 6710, + 6704, + 6708 ] } }, "links": { - "Path::components": 6370, - "PathBuf::push": 6508, - "`Component`": 2258, - "`OsStr`": 1720, - "`OsString`": 1709, - "`Path::ends_with`": 6658, - "`Path::starts_with`": 6655, - "`PathBuf`": 1664, - "`Path`": 1667, - "`String`": 161, - "`str`": 1928 + "Path::components": 6403, + "PathBuf::push": 6541, + "`Component`": 2256, + "`OsStr`": 1719, + "`OsString`": 1708, + "`Path::ends_with`": 6697, + "`Path::starts_with`": 6694, + "`PathBuf`": 1663, + "`Path`": 1666, + "`String`": 159, + "`str`": 1926 }, "name": "path", "span": { @@ -549537,17 +571205,17 @@ 1 ], "end": [ - 3795, + 3979, 2 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6511": { + "6544": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Current},\nfeature: \"const_pathbuf_osstring_new\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"const_pathbuf_osstring_new\",\npromotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -549564,7 +571232,7 @@ "crate_id": 0, "deprecation": null, "docs": "Allocates an empty `PathBuf`.\n\n# Examples\n\n```\nuse std::path::PathBuf;\n\nlet path = PathBuf::new();\n```", - "id": 6511, + "id": 6544, "inner": { "function": { "generics": { @@ -549584,7 +571252,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -549606,7 +571274,7 @@ }, "visibility": "public" }, - "6512": { + "6545": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"path_buf_capacity\"}}]" @@ -549623,7 +571291,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a new `PathBuf` with a given capacity used to create the\ninternal [`OsString`]. See [`with_capacity`] defined on [`OsString`].\n\n# Examples\n\n```\nuse std::path::PathBuf;\n\nlet mut path = PathBuf::with_capacity(10);\nlet capacity = path.capacity();\n\n// This push is done without reallocating\npath.push(r\"C:\\\");\n\nassert_eq!(capacity, path.capacity());\n```\n\n[`with_capacity`]: OsString::with_capacity", - "id": 6512, + "id": 6545, "inner": { "function": { "generics": { @@ -549650,7 +571318,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -549658,8 +571326,8 @@ } }, "links": { - "OsString::with_capacity": 1939, - "`OsString`": 1709 + "OsString::with_capacity": 1937, + "`OsString`": 1708 }, "name": "with_capacity", "span": { @@ -549675,7 +571343,7 @@ }, "visibility": "public" }, - "6513": { + "6546": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"pathbuf_as_path\")]" @@ -549698,7 +571366,7 @@ "crate_id": 0, "deprecation": null, "docs": "Coerces to a [`Path`] slice.\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nlet p = PathBuf::from(\"/test\");\nassert_eq!(Path::new(\"/test\"), p.as_path());\n```", - "id": 6513, + "id": 6546, "inner": { "function": { "generics": { @@ -549735,7 +571403,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -549745,7 +571413,7 @@ } }, "links": { - "`Path`": 1667 + "`Path`": 1666 }, "name": "as_path", "span": { @@ -549761,7 +571429,7 @@ }, "visibility": "public" }, - "6514": { + "6547": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"into_boxed_path\"}}]" @@ -549778,7 +571446,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts this `PathBuf` into a [boxed](Box) [`Path`].", - "id": 6514, + "id": 6547, "inner": { "function": { "generics": { @@ -549811,7 +571479,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -549820,7 +571488,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -549828,24 +571496,24 @@ } }, "links": { - "Box": 159, - "`Path`": 1667 + "Box": 157, + "`Path`": 1666 }, "name": "into_boxed_path", "span": { "begin": [ - 1675, + 1766, 5 ], "end": [ - 1678, + 1769, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6515": { + "6548": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"os_string_pathbuf_leak\"}}]" @@ -549857,7 +571525,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes and leaks the `PathBuf`, returning a mutable reference to the contents,\n`&'a mut Path`.\n\nThe caller has free choice over the returned lifetime, including 'static.\nIndeed, this function is ideally used for data that lives for the remainder of\nthe program's life, as dropping the returned reference will cause a memory leak.\n\nIt does not reallocate or shrink the `PathBuf`, so the leaked allocation may include\nunused capacity that is not part of the returned slice. If you want to discard excess\ncapacity, call [`into_boxed_path`], and then [`Box::leak`] instead.\nHowever, keep in mind that trimming the capacity may result in a reallocation and copy.\n\n[`into_boxed_path`]: Self::into_boxed_path", - "id": 6515, + "id": 6548, "inner": { "function": { "generics": { @@ -549897,7 +571565,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -549907,8 +571575,8 @@ } }, "links": { - "Self::into_boxed_path": 6514, - "`Box::leak`": 1949 + "Self::into_boxed_path": 6547, + "`Box::leak`": 1947 }, "name": "leak", "span": { @@ -549924,7 +571592,7 @@ }, "visibility": "public" }, - "6516": { + "6549": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -549938,7 +571606,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an owned [`PathBuf`] with `path` adjoined to `self`.\n\nIf `path` is absolute, it replaces the current path.\n\nSee [`PathBuf::push`] for more details on what it means to adjoin a path.\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nassert_eq!(Path::new(\"/etc\").join(\"passwd\"), PathBuf::from(\"/etc/passwd\"));\nassert_eq!(Path::new(\"/etc\").join(\"/bin/sh\"), PathBuf::from(\"/bin/sh\"));\n```", - "id": 6516, + "id": 6549, "inner": { "function": { "generics": { @@ -549959,7 +571627,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -550015,7 +571683,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -550023,24 +571691,82 @@ } }, "links": { - "`PathBuf::push`": 6508, - "`PathBuf`": 1664 + "`PathBuf::push`": 6541, + "`PathBuf`": 1663 }, "name": "join", "span": { "begin": [ - 2774, + 2955, 5 ], "end": [ - 2776, + 2957, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6517": { + "655": { + "attrs": [ + { + "other": "#[allow(deprecated)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 655, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "str" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 648, + 649, + 650, + 651, + 652, + 653, + 654 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 619, + "path": "AsciiExt" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 206, + 1 + ], + "end": [ + 210, + 2 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "default" + }, + "6550": { "attrs": [ { "other": "#[doc(alias = \"dirname\")]" @@ -550057,7 +571783,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the `Path` without its final component, if there is one.\n\nThis means it returns `Some(\"\")` for relative paths with one component.\n\nReturns [`None`] if the path terminates in a root or prefix, or if it's\nthe empty string.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"/foo/bar\");\nlet parent = path.parent().unwrap();\nassert_eq!(parent, Path::new(\"/foo\"));\n\nlet grand_parent = parent.parent().unwrap();\nassert_eq!(grand_parent, Path::new(\"/\"));\nassert_eq!(grand_parent.parent(), None);\n\nlet relative_path = Path::new(\"foo/bar\");\nlet parent = relative_path.parent();\nassert_eq!(parent, Some(Path::new(\"foo\")));\nlet grand_parent = parent.and_then(Path::parent);\nassert_eq!(grand_parent, Some(Path::new(\"\")));\nlet great_grand_parent = grand_parent.and_then(Path::parent);\nassert_eq!(great_grand_parent, None);\n```", - "id": 6517, + "id": 6550, "inner": { "function": { "generics": { @@ -550100,7 +571826,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -550124,18 +571850,18 @@ "name": "parent", "span": { "begin": [ - 2489, + 2582, 5 ], "end": [ - 2498, + 2591, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6518": { + "6551": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -550144,7 +571870,7 @@ "crate_id": 0, "deprecation": null, "docs": "Truncates `self` to [`self.parent`].\n\nReturns `false` and does nothing if [`self.parent`] is [`None`].\nOtherwise, returns `true`.\n\n[`self.parent`]: Path::parent\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nlet mut p = PathBuf::from(\"/spirited/away.rs\");\n\np.pop();\nassert_eq!(Path::new(\"/spirited\"), p);\np.pop();\nassert_eq!(Path::new(\"/\"), p);\n```", - "id": 6518, + "id": 6551, "inner": { "function": { "generics": { @@ -550181,7 +571907,7 @@ } }, "links": { - "Path::parent": 6517, + "Path::parent": 6550, "`None`": 53 }, "name": "pop", @@ -550198,7 +571924,441 @@ }, "visibility": "public" }, - "6519": { + "6552": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142503, is_soft: false}, feature: \"path_trailing_sep\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Checks whether the path ends in a trailing [separator](MAIN_SEPARATOR).\n\nThis is generally done to ensure that a path is treated as a directory, not a file,\nalthough it does not actually guarantee that such a path is a directory on the underlying\nfile system.\n\nDespite this behavior, two paths are still considered the same in Rust whether they have a\ntrailing separator or not.\n\n# Examples\n\n```\n#![feature(path_trailing_sep)]\nuse std::path::Path;\n\nassert!(Path::new(\"dir/\").has_trailing_sep());\nassert!(!Path::new(\"file.rs\").has_trailing_sep());\n```", + "id": 6552, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": { + "MAIN_SEPARATOR": 6359 + }, + "name": "has_trailing_sep", + "span": { + "begin": [ + 2872, + 5 + ], + "end": [ + 2874, + 6 + ], + "filename": "std/src/path.rs" + }, + "visibility": "public" + }, + "6553": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142503, is_soft: false}, feature: \"path_trailing_sep\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Sets whether the path has a trailing [separator](MAIN_SEPARATOR).\n\nThe value returned by [`has_trailing_sep`](Path::has_trailing_sep) will be equivalent to\nthe provided value if possible.\n\n# Examples\n\n```\n#![feature(path_trailing_sep)]\nuse std::path::PathBuf;\n\nlet mut p = PathBuf::from(\"dir\");\n\nassert!(!p.has_trailing_sep());\np.set_trailing_sep(false);\nassert!(!p.has_trailing_sep());\np.set_trailing_sep(true);\nassert!(p.has_trailing_sep());\np.set_trailing_sep(false);\nassert!(!p.has_trailing_sep());\n\np = PathBuf::from(\"/\");\nassert!(p.has_trailing_sep());\np.set_trailing_sep(false);\nassert!(p.has_trailing_sep());\n```", + "id": 6553, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "trailing_sep", + { + "primitive": "bool" + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "MAIN_SEPARATOR": 6359, + "Path::has_trailing_sep": 6552 + }, + "name": "set_trailing_sep", + "span": { + "begin": [ + 1442, + 5 + ], + "end": [ + 1444, + 6 + ], + "filename": "std/src/path.rs" + }, + "visibility": "public" + }, + "6554": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142503, is_soft: false}, feature: \"path_trailing_sep\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Ensures that a path has a trailing [separator](MAIN_SEPARATOR),\nallocating a [`PathBuf`] if necessary.\n\nThe resulting path will return true for [`has_trailing_sep`](Self::has_trailing_sep).\n\n# Examples\n\n```\n#![feature(path_trailing_sep)]\nuse std::ffi::OsStr;\nuse std::path::Path;\n\nassert_eq!(Path::new(\"dir//\").with_trailing_sep().as_os_str(), OsStr::new(\"dir//\"));\nassert_eq!(Path::new(\"dir/\").with_trailing_sep().as_os_str(), OsStr::new(\"dir/\"));\nassert!(!Path::new(\"dir\").has_trailing_sep());\nassert!(Path::new(\"dir\").with_trailing_sep().has_trailing_sep());\n```", + "id": 6554, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 2033, + "path": "Cow" + } + } + } + } + }, + "links": { + "MAIN_SEPARATOR": 6359, + "Self::has_trailing_sep": 6552, + "`PathBuf`": 1663 + }, + "name": "with_trailing_sep", + "span": { + "begin": [ + 2896, + 5 + ], + "end": [ + 2898, + 6 + ], + "filename": "std/src/path.rs" + }, + "visibility": "public" + }, + "6555": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142503, is_soft: false}, feature: \"path_trailing_sep\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Adds a trailing [separator](MAIN_SEPARATOR) to the path.\n\nThis acts similarly to [`Path::with_trailing_sep`], but mutates the underlying `PathBuf`.\n\n# Examples\n\n```\n#![feature(path_trailing_sep)]\nuse std::ffi::OsStr;\nuse std::path::PathBuf;\n\nlet mut p = PathBuf::from(\"dir\");\n\nassert!(!p.has_trailing_sep());\np.push_trailing_sep();\nassert!(p.has_trailing_sep());\np.push_trailing_sep();\nassert!(p.has_trailing_sep());\n\np = PathBuf::from(\"dir/\");\np.push_trailing_sep();\nassert_eq!(p.as_os_str(), OsStr::new(\"dir/\"));\n```", + "id": 6555, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "MAIN_SEPARATOR": 6359, + "`Path::with_trailing_sep`": 6554 + }, + "name": "push_trailing_sep", + "span": { + "begin": [ + 1470, + 5 + ], + "end": [ + 1474, + 6 + ], + "filename": "std/src/path.rs" + }, + "visibility": "public" + }, + "6556": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142503, is_soft: false}, feature: \"path_trailing_sep\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Trims a trailing [separator](MAIN_SEPARATOR) from a path, if possible.\n\nThe resulting path will return false for [`has_trailing_sep`](Self::has_trailing_sep) for\nmost paths.\n\nSome paths, like `/`, cannot be trimmed in this way.\n\n# Examples\n\n```\n#![feature(path_trailing_sep)]\nuse std::ffi::OsStr;\nuse std::path::Path;\n\nassert_eq!(Path::new(\"dir//\").trim_trailing_sep().as_os_str(), OsStr::new(\"dir\"));\nassert_eq!(Path::new(\"dir/\").trim_trailing_sep().as_os_str(), OsStr::new(\"dir\"));\nassert_eq!(Path::new(\"dir\").trim_trailing_sep().as_os_str(), OsStr::new(\"dir\"));\nassert_eq!(Path::new(\"/\").trim_trailing_sep().as_os_str(), OsStr::new(\"/\"));\nassert_eq!(Path::new(\"//\").trim_trailing_sep().as_os_str(), OsStr::new(\"//\"));\n```", + "id": 6556, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + } + } + } + } + } + }, + "links": { + "MAIN_SEPARATOR": 6359, + "Self::has_trailing_sep": 6552 + }, + "name": "trim_trailing_sep", + "span": { + "begin": [ + 2923, + 5 + ], + "end": [ + 2937, + 6 + ], + "filename": "std/src/path.rs" + }, + "visibility": "public" + }, + "6557": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142503, is_soft: false}, feature: \"path_trailing_sep\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Removes a trailing [separator](MAIN_SEPARATOR) from the path, if possible.\n\nThis acts similarly to [`Path::trim_trailing_sep`], but mutates the underlying `PathBuf`.\n\n# Examples\n\n```\n#![feature(path_trailing_sep)]\nuse std::ffi::OsStr;\nuse std::path::PathBuf;\n\nlet mut p = PathBuf::from(\"dir//\");\n\nassert!(p.has_trailing_sep());\nassert_eq!(p.as_os_str(), OsStr::new(\"dir//\"));\np.pop_trailing_sep();\nassert!(!p.has_trailing_sep());\nassert_eq!(p.as_os_str(), OsStr::new(\"dir\"));\np.pop_trailing_sep();\nassert!(!p.has_trailing_sep());\nassert_eq!(p.as_os_str(), OsStr::new(\"dir\"));\n\np = PathBuf::from(\"/\");\nassert!(p.has_trailing_sep());\np.pop_trailing_sep();\nassert!(p.has_trailing_sep());\n```", + "id": 6557, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "MAIN_SEPARATOR": 6359, + "`Path::trim_trailing_sep`": 6556 + }, + "name": "pop_trailing_sep", + "span": { + "begin": [ + 1504, + 5 + ], + "end": [ + 1506, + 6 + ], + "filename": "std/src/path.rs" + }, + "visibility": "public" + }, + "6558": { "attrs": [ { "other": "#[doc(alias = \"basename\")]" @@ -550215,7 +572375,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the final component of the `Path`, if there is one.\n\nIf the path is a normal file, this is the file name. If it's the path of a directory, this\nis the directory name.\n\nReturns [`None`] if the path terminates in `..`.\n\n# Examples\n\n```\nuse std::path::Path;\nuse std::ffi::OsStr;\n\nassert_eq!(Some(OsStr::new(\"bin\")), Path::new(\"/usr/bin/\").file_name());\nassert_eq!(Some(OsStr::new(\"foo.txt\")), Path::new(\"tmp/foo.txt\").file_name());\nassert_eq!(Some(OsStr::new(\"foo.txt\")), Path::new(\"foo.txt/.\").file_name());\nassert_eq!(Some(OsStr::new(\"foo.txt\")), Path::new(\"foo.txt/.//\").file_name());\nassert_eq!(None, Path::new(\"foo.txt/..\").file_name());\nassert_eq!(None, Path::new(\"/\").file_name());\n```", - "id": 6519, + "id": 6558, "inner": { "function": { "generics": { @@ -550258,7 +572418,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -550282,90 +572442,18 @@ "name": "file_name", "span": { "begin": [ - 2556, + 2649, 5 ], "end": [ - 2561, + 2654, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "652": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 652, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "o", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq_ignore_ascii_case", - "span": { - "begin": [ - 209, - 5 - ], - "end": [ - 209, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6520": { + "6559": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -550374,7 +572462,7 @@ "crate_id": 0, "deprecation": null, "docs": "Updates [`self.file_name`] to `file_name`.\n\nIf [`self.file_name`] was [`None`], this is equivalent to pushing\n`file_name`.\n\nOtherwise it is equivalent to calling [`pop`] and then pushing\n`file_name`. The new path will be a sibling of the original path.\n(That is, it will have the same parent.)\n\nThe argument is not sanitized, so can include separators. This\nbehavior may be changed to a panic in the future.\n\n[`self.file_name`]: Path::file_name\n[`pop`]: PathBuf::pop\n\n# Examples\n\n```\nuse std::path::PathBuf;\n\nlet mut buf = PathBuf::from(\"/\");\nassert!(buf.file_name() == None);\n\nbuf.set_file_name(\"foo.txt\");\nassert!(buf == PathBuf::from(\"/foo.txt\"));\nassert!(buf.file_name().is_some());\n\nbuf.set_file_name(\"bar.txt\");\nassert!(buf == PathBuf::from(\"/bar.txt\"));\n\nbuf.set_file_name(\"baz\");\nassert!(buf == PathBuf::from(\"/baz\"));\n\nbuf.set_file_name(\"../b/c.txt\");\nassert!(buf == PathBuf::from(\"/../b/c.txt\"));\n\nbuf.set_file_name(\"baz\");\nassert!(buf == PathBuf::from(\"/../b/baz\"));\n```", - "id": 6520, + "id": 6559, "inner": { "function": { "generics": { @@ -550395,7 +572483,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -550453,25 +572541,65 @@ } }, "links": { - "Path::file_name": 6519, - "PathBuf::pop": 6518, + "Path::file_name": 6558, + "PathBuf::pop": 6551, "`None`": 53 }, "name": "set_file_name", "span": { "begin": [ - 1455, + 1548, 5 ], "end": [ - 1457, + 1550, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6521": { + "656": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Operations on ASCII strings and characters.\n\nMost string operations in Rust act on UTF-8 strings. However, at times it\nmakes more sense to only consider the ASCII character set for a specific\noperation.\n\nThe [`AsciiExt`] trait provides methods that allow for character\noperations that only act on the ASCII subset and leave non-ASCII characters\nalone.\n\nThe [`escape_default`] function provides an iterator over the bytes of an\nescaped version of the character given.", + "id": 656, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 608, + 610, + 612, + 619 + ] + } + }, + "links": { + "`AsciiExt`": 619, + "`escape_default`": 613 + }, + "name": "ascii", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 210, + 2 + ], + "filename": "std/src/ascii.rs" + }, + "visibility": "public" + }, + "6560": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -550485,7 +572613,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts the extension (without the leading dot) of [`self.file_name`], if possible.\n\nThe extension is:\n\n* [`None`], if there is no file name;\n* [`None`], if there is no embedded `.`;\n* [`None`], if the file name begins with `.` and has no other `.`s within;\n* Otherwise, the portion of the file name after the final `.`\n\n[`self.file_name`]: Path::file_name\n\n# Examples\n\n```\nuse std::path::Path;\n\nassert_eq!(\"rs\", Path::new(\"foo.rs\").extension().unwrap());\nassert_eq!(\"gz\", Path::new(\"foo.tar.gz\").extension().unwrap());\n```", - "id": 6521, + "id": 6560, "inner": { "function": { "generics": { @@ -550528,7 +572656,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -550547,33 +572675,33 @@ } }, "links": { - "Path::file_name": 6519, + "Path::file_name": 6558, "`None`": 53 }, "name": "extension", "span": { "begin": [ - 2754, + 2847, 5 ], "end": [ - 2756, + 2849, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6522": { + "6561": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 127292, is_soft: false}, feature: \"path_add_extension\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"path_add_extension\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Append [`self.extension`] with `extension`.\n\nReturns `false` and does nothing if [`self.file_name`] is [`None`],\nreturns `true` and updates the extension otherwise.\n\n# Panics\n\nPanics if the passed extension contains a path separator (see\n[`is_separator`]).\n\n# Caveats\n\nThe appended `extension` may contain dots and will be used in its entirety,\nbut only the part after the final dot will be reflected in\n[`self.extension`].\n\nSee the examples below.\n\n[`self.file_name`]: Path::file_name\n[`self.extension`]: Path::extension\n\n# Examples\n\n```\n#![feature(path_add_extension)]\n\nuse std::path::{Path, PathBuf};\n\nlet mut p = PathBuf::from(\"/feel/the\");\n\np.add_extension(\"formatted\");\nassert_eq!(Path::new(\"/feel/the.formatted\"), p.as_path());\n\np.add_extension(\"dark.side\");\nassert_eq!(Path::new(\"/feel/the.formatted.dark.side\"), p.as_path());\n\np.set_extension(\"cookie\");\nassert_eq!(Path::new(\"/feel/the.formatted.dark.cookie\"), p.as_path());\n\np.set_extension(\"\");\nassert_eq!(Path::new(\"/feel/the.formatted.dark\"), p.as_path());\n\np.add_extension(\"\");\nassert_eq!(Path::new(\"/feel/the.formatted.dark\"), p.as_path());\n```", - "id": 6522, + "docs": "Append [`self.extension`] with `extension`.\n\nReturns `false` and does nothing if [`self.file_name`] is [`None`],\nreturns `true` and updates the extension otherwise.\n\n# Panics\n\nPanics if the passed extension contains a path separator (see\n[`is_separator`]).\n\n# Caveats\n\nThe appended `extension` may contain dots and will be used in its entirety,\nbut only the part after the final dot will be reflected in\n[`self.extension`].\n\nSee the examples below.\n\n[`self.file_name`]: Path::file_name\n[`self.extension`]: Path::extension\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nlet mut p = PathBuf::from(\"/feel/the\");\n\np.add_extension(\"formatted\");\nassert_eq!(Path::new(\"/feel/the.formatted\"), p.as_path());\n\np.add_extension(\"dark.side\");\nassert_eq!(Path::new(\"/feel/the.formatted.dark.side\"), p.as_path());\n\np.set_extension(\"cookie\");\nassert_eq!(Path::new(\"/feel/the.formatted.dark.cookie\"), p.as_path());\n\np.set_extension(\"\");\nassert_eq!(Path::new(\"/feel/the.formatted.dark\"), p.as_path());\n\np.add_extension(\"\");\nassert_eq!(Path::new(\"/feel/the.formatted.dark\"), p.as_path());\n```", + "id": 6561, "inner": { "function": { "generics": { @@ -550594,7 +572722,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -550654,26 +572782,26 @@ } }, "links": { - "Path::extension": 6521, - "Path::file_name": 6519, + "Path::extension": 6560, + "Path::file_name": 6558, "`None`": 53, - "`is_separator`": 6325 + "`is_separator`": 6358 }, "name": "add_extension", "span": { "begin": [ - 1600, + 1691, 5 ], "end": [ - 1602, + 1693, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6523": { + "6562": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"path_as_mut_os_str\"}}]" @@ -550690,7 +572818,7 @@ "crate_id": 0, "deprecation": null, "docs": "Yields a mutable reference to the underlying [`OsString`] instance.\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nlet mut path = PathBuf::from(\"/foo\");\n\npath.push(\"bar\");\nassert_eq!(path, Path::new(\"/foo/bar\"));\n\n// OsString's `push` does not add a separator.\npath.as_mut_os_string().push(\"baz\");\nassert_eq!(path, Path::new(\"/foo/barbaz\"));\n```", - "id": 6523, + "id": 6562, "inner": { "function": { "generics": { @@ -550727,7 +572855,7 @@ "type": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -550737,23 +572865,23 @@ } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "as_mut_os_string", "span": { "begin": [ - 1650, + 1741, 5 ], "end": [ - 1652, + 1743, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6524": { + "6563": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -550770,7 +572898,7 @@ "crate_id": 0, "deprecation": null, "docs": "Consumes the `PathBuf`, yielding its internal [`OsString`] storage.\n\n# Examples\n\n```\nuse std::path::PathBuf;\n\nlet p = PathBuf::from(\"/the/head\");\nlet os_str = p.into_os_string();\n```", - "id": 6524, + "id": 6563, "inner": { "function": { "generics": { @@ -550797,7 +572925,7 @@ "output": { "resolved_path": { "args": null, - "id": 1709, + "id": 1708, "path": "OsString" } } @@ -550805,23 +572933,23 @@ } }, "links": { - "`OsString`": 1709 + "`OsString`": 1708 }, "name": "into_os_string", "span": { "begin": [ - 1667, + 1758, 5 ], "end": [ - 1669, + 1760, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6525": { + "6564": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"path_buf_capacity\"}}]" @@ -550838,7 +572966,7 @@ "crate_id": 0, "deprecation": null, "docs": "Invokes [`capacity`] on the underlying instance of [`OsString`].\n\n[`capacity`]: OsString::capacity", - "id": 6525, + "id": 6564, "inner": { "function": { "generics": { @@ -550875,24 +573003,24 @@ } }, "links": { - "OsString::capacity": 1941, - "`OsString`": 1709 + "OsString::capacity": 1939, + "`OsString`": 1708 }, "name": "capacity", "span": { "begin": [ - 1686, + 1777, 5 ], "end": [ - 1688, + 1779, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6526": { + "6565": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"path_buf_capacity\"}}]" @@ -550904,7 +573032,7 @@ "crate_id": 0, "deprecation": null, "docs": "Invokes [`clear`] on the underlying instance of [`OsString`].\n\n[`clear`]: OsString::clear", - "id": 6526, + "id": 6565, "inner": { "function": { "generics": { @@ -550939,24 +573067,24 @@ } }, "links": { - "OsString::clear": 1940, - "`OsString`": 1709 + "OsString::clear": 1938, + "`OsString`": 1708 }, "name": "clear", "span": { "begin": [ - 1695, + 1786, 5 ], "end": [ - 1697, + 1788, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6527": { + "6566": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"path_buf_capacity\"}}]" @@ -550968,7 +573096,7 @@ "crate_id": 0, "deprecation": null, "docs": "Invokes [`reserve`] on the underlying instance of [`OsString`].\n\n[`reserve`]: OsString::reserve", - "id": 6527, + "id": 6566, "inner": { "function": { "generics": { @@ -551009,24 +573137,24 @@ } }, "links": { - "OsString::reserve": 1942, - "`OsString`": 1709 + "OsString::reserve": 1940, + "`OsString`": 1708 }, "name": "reserve", "span": { "begin": [ - 1704, + 1795, 5 ], "end": [ - 1706, + 1797, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6528": { + "6567": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"try_reserve_2\"}}]" @@ -551038,7 +573166,7 @@ "crate_id": 0, "deprecation": null, "docs": "Invokes [`try_reserve`] on the underlying instance of [`OsString`].\n\n[`try_reserve`]: OsString::try_reserve", - "id": 6528, + "id": 6567, "inner": { "function": { "generics": { @@ -551105,24 +573233,24 @@ } }, "links": { - "OsString::try_reserve": 1943, - "`OsString`": 1709 + "OsString::try_reserve": 1941, + "`OsString`": 1708 }, "name": "try_reserve", "span": { "begin": [ - 1713, + 1804, 5 ], "end": [ - 1715, + 1806, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6529": { + "6568": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"path_buf_capacity\"}}]" @@ -551134,7 +573262,7 @@ "crate_id": 0, "deprecation": null, "docs": "Invokes [`reserve_exact`] on the underlying instance of [`OsString`].\n\n[`reserve_exact`]: OsString::reserve_exact", - "id": 6529, + "id": 6568, "inner": { "function": { "generics": { @@ -551175,82 +573303,24 @@ } }, "links": { - "OsString::reserve_exact": 1944, - "`OsString`": 1709 + "OsString::reserve_exact": 1942, + "`OsString`": 1708 }, "name": "reserve_exact", "span": { "begin": [ - 1722, + 1813, 5 ], "end": [ - 1724, + 1815, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "653": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 653, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "make_ascii_uppercase", - "span": { - "begin": [ - 209, - 5 - ], - "end": [ - 209, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6530": { + "6569": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"try_reserve_2\"}}]" @@ -551262,7 +573332,7 @@ "crate_id": 0, "deprecation": null, "docs": "Invokes [`try_reserve_exact`] on the underlying instance of [`OsString`].\n\n[`try_reserve_exact`]: OsString::try_reserve_exact", - "id": 6530, + "id": 6569, "inner": { "function": { "generics": { @@ -551329,24 +573399,24 @@ } }, "links": { - "OsString::try_reserve_exact": 1945, - "`OsString`": 1709 + "OsString::try_reserve_exact": 1943, + "`OsString`": 1708 }, "name": "try_reserve_exact", "span": { "begin": [ - 1731, + 1822, 5 ], "end": [ - 1733, + 1824, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6531": { + "6570": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"path_buf_capacity\"}}]" @@ -551358,7 +573428,7 @@ "crate_id": 0, "deprecation": null, "docs": "Invokes [`shrink_to_fit`] on the underlying instance of [`OsString`].\n\n[`shrink_to_fit`]: OsString::shrink_to_fit", - "id": 6531, + "id": 6570, "inner": { "function": { "generics": { @@ -551393,24 +573463,24 @@ } }, "links": { - "OsString::shrink_to_fit": 1946, - "`OsString`": 1709 + "OsString::shrink_to_fit": 1944, + "`OsString`": 1708 }, "name": "shrink_to_fit", "span": { "begin": [ - 1740, + 1831, 5 ], "end": [ - 1742, + 1833, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6532": { + "6571": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"shrink_to\"}}]" @@ -551422,7 +573492,7 @@ "crate_id": 0, "deprecation": null, "docs": "Invokes [`shrink_to`] on the underlying instance of [`OsString`].\n\n[`shrink_to`]: OsString::shrink_to", - "id": 6532, + "id": 6571, "inner": { "function": { "generics": { @@ -551463,36 +573533,36 @@ } }, "links": { - "OsString::shrink_to": 1947, - "`OsString`": 1709 + "OsString::shrink_to": 1945, + "`OsString`": 1708 }, "name": "shrink_to", "span": { "begin": [ - 1749, + 1840, 5 ], "end": [ - 1751, + 1842, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6533": { + "6572": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6533, + "id": 6572, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -551504,26 +573574,29 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6511, - 6512, - 6513, - 6515, - 6508, - 6518, - 6520, - 6509, - 6522, - 6523, - 6524, - 6514, - 6525, - 6526, - 6527, - 6528, - 6529, - 6530, - 6531, - 6532 + 6544, + 6545, + 6546, + 6548, + 6541, + 6551, + 6553, + 6555, + 6557, + 6559, + 6542, + 6561, + 6562, + 6563, + 6547, + 6564, + 6565, + 6566, + 6567, + 6568, + 6569, + 6570, + 6571 ], "provided_trait_methods": [], "trait": null @@ -551537,26 +573610,26 @@ 1 ], "end": [ - 1752, + 1843, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6534": { + "6573": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6534, + "id": 6573, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -551581,19 +573654,19 @@ "span": null, "visibility": "default" }, - "6535": { + "6574": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6535, + "id": 6574, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -551618,19 +573691,19 @@ "span": null, "visibility": "default" }, - "6536": { + "6575": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6536, + "id": 6575, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -551645,7 +573718,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -551655,19 +573728,19 @@ "span": null, "visibility": "default" }, - "6537": { + "6576": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6537, + "id": 6576, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -551692,19 +573765,19 @@ "span": null, "visibility": "default" }, - "6538": { + "6577": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6538, + "id": 6577, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -551719,7 +573792,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -551729,19 +573802,19 @@ "span": null, "visibility": "default" }, - "6539": { + "6578": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6539, + "id": 6578, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -551756,7 +573829,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -551766,70 +573839,12 @@ "span": null, "visibility": "default" }, - "654": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 654, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "make_ascii_lowercase", - "span": { - "begin": [ - 209, - 5 - ], - "end": [ - 209, - 32 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6540": { + "6579": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6540, + "id": 6579, "inner": { "impl": { "blanket_impl": { @@ -551838,7 +573853,7 @@ "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -551883,7 +573898,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -551899,7 +573914,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -551908,23 +573923,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6541": { + "6580": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6541, + "id": 6580, "inner": { "impl": { "blanket_impl": { @@ -551933,7 +573948,7 @@ "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -551978,7 +573993,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -551994,7 +574009,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -552003,23 +574018,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6542": { + "6581": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6542, + "id": 6581, "inner": { "impl": { "blanket_impl": { @@ -552028,7 +574043,7 @@ "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -552055,7 +574070,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -552087,23 +574102,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "6543": { + "6582": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6543, + "id": 6582, "inner": { "impl": { "blanket_impl": { @@ -552112,7 +574127,7 @@ "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -552178,7 +574193,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -552203,23 +574218,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6544": { + "6583": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6544, + "id": 6583, "inner": { "impl": { "blanket_impl": { @@ -552228,7 +574243,7 @@ "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -552251,7 +574266,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -552276,23 +574291,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6545": { + "6584": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6545, + "id": 6584, "inner": { "impl": { "blanket_impl": { @@ -552301,7 +574316,7 @@ "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -552349,7 +574364,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -552367,8 +574382,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -552384,7 +574399,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -552393,23 +574408,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6546": { + "6585": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6546, + "id": 6585, "inner": { "impl": { "blanket_impl": { @@ -552418,7 +574433,7 @@ "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -552484,8 +574499,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -552501,7 +574516,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -552510,23 +574525,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6547": { + "6586": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6547, + "id": 6586, "inner": { "impl": { "blanket_impl": { @@ -552535,7 +574550,7 @@ "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -552589,7 +574604,7 @@ ] } }, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -552639,12 +574654,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1970, + "id": 1968, "path": "Receiver" } } @@ -552653,23 +574668,23 @@ "name": null, "span": { "begin": [ - 380, + 378, 1 ], "end": [ - 382, + 380, 26 ], "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "6548": { + "6587": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6548, + "id": 6587, "inner": { "impl": { "blanket_impl": { @@ -552678,7 +574693,7 @@ "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -552726,12 +574741,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -552751,12 +574766,12 @@ }, "visibility": "default" }, - "6549": { + "6588": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6549, + "id": 6588, "inner": { "impl": { "blanket_impl": { @@ -552765,7 +574780,7 @@ "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -552792,7 +574807,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -552819,7 +574834,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -552828,76 +574843,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "655": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 655, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "str" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 648, - 649, - 650, - 651, - 652, - 653, - 654 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 619, - "path": "AsciiExt" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 206, - 1 - ], - "end": [ - 210, - 2 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "default" - }, - "6550": { + "6589": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -552906,7 +574863,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6550, + "id": 6589, "inner": { "function": { "generics": { @@ -552946,18 +574903,82 @@ "name": "clone", "span": { "begin": [ - 1757, + 1848, 5 ], "end": [ - 1759, + 1850, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6551": { + "659": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A captured OS thread stack backtrace.\n\nThis type represents a stack backtrace for an OS thread captured at a\nprevious point in time. In some instances the `Backtrace` type may\ninternally be empty due to configuration. For more information see\n`Backtrace::capture`.", + "id": 659, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 665, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 684, + 686 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": {}, + "name": "Backtrace", + "span": { + "begin": [ + 108, + 1 + ], + "end": [ + 110, + 2 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "public" + }, + "6590": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -552966,7 +574987,7 @@ "crate_id": 0, "deprecation": null, "docs": "Clones the contents of `source` into `self`.\n\nThis method is preferred over simply assigning `source.clone()` to `self`,\nas it avoids reallocation if possible.", - "id": 6551, + "id": 6590, "inner": { "function": { "generics": { @@ -553016,18 +575037,18 @@ "name": "clone_from", "span": { "begin": [ - 1766, + 1857, 5 ], "end": [ - 1768, + 1859, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6552": { + "6591": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -553036,14 +575057,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6552, + "id": 6591, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -553055,15 +575076,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6550, - 6551 + 6589, + 6590 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -553072,18 +575093,18 @@ "name": null, "span": { "begin": [ - 1755, + 1846, 1 ], "end": [ - 1769, + 1860, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6553": { + "6592": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -553092,7 +575113,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [Box]<[Path]> into a [`PathBuf`].\n\nThis conversion does not allocate or copy memory.", - "id": 6553, + "id": 6592, "inner": { "function": { "generics": { @@ -553119,7 +575140,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -553128,7 +575149,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -553138,7 +575159,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -553146,25 +575167,25 @@ } }, "links": { - "Box": 159, - "Path": 1667, - "`PathBuf`": 1664 + "Box": 157, + "Path": 1666, + "`PathBuf`": 1663 }, "name": "from", "span": { "begin": [ - 1813, + 1904, 5 ], "end": [ - 1815, + 1906, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6554": { + "6593": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 18, patch: 0})}, feature: \"path_buf_from_box\"}}]" @@ -553173,14 +575194,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6554, + "id": 6593, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -553192,7 +575213,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6553 + 6592 ], "provided_trait_methods": [], "trait": { @@ -553209,7 +575230,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -553218,7 +575239,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -553236,18 +575257,18 @@ "name": null, "span": { "begin": [ - 1808, + 1899, 1 ], "end": [ - 1816, + 1907, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6555": { + "6594": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -553256,7 +575277,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`PathBuf`] into a [Box]<[Path]>.\n\nThis conversion currently should not allocate memory,\nbut this behavior is not guaranteed on all platforms or in all future versions.", - "id": 6555, + "id": 6594, "inner": { "function": { "generics": { @@ -553277,7 +575298,7 @@ { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -553293,7 +575314,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -553302,7 +575323,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -553310,25 +575331,25 @@ } }, "links": { - "Box": 159, - "Path": 1667, - "`PathBuf`": 1664 + "Box": 157, + "Path": 1666, + "`PathBuf`": 1663 }, "name": "from", "span": { "begin": [ - 1825, + 1916, 5 ], "end": [ - 1827, + 1918, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6556": { + "6595": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"box_from_path_buf\"}}]" @@ -553337,7 +575358,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6556, + "id": 6595, "inner": { "impl": { "blanket_impl": null, @@ -553350,7 +575371,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -553359,7 +575380,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -553371,7 +575392,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6555 + 6594 ], "provided_trait_methods": [], "trait": { @@ -553382,7 +575403,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -553400,18 +575421,18 @@ "name": null, "span": { "begin": [ - 1819, + 1910, 1 ], "end": [ - 1828, + 1919, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6557": { + "6596": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -553420,7 +575441,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a borrowed [`OsStr`] to a [`PathBuf`].\n\nAllocates a [`PathBuf`] and copies the data into it.", - "id": 6557, + "id": 6596, "inner": { "function": { "generics": { @@ -553453,7 +575474,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -553461,24 +575482,24 @@ } }, "links": { - "`OsStr`": 1720, - "`PathBuf`": 1664 + "`OsStr`": 1719, + "`PathBuf`": 1663 }, "name": "from", "span": { "begin": [ - 1844, + 1935, 5 ], "end": [ - 1846, + 1937, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6558": { + "6597": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -553487,14 +575508,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6558, + "id": 6597, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -553527,7 +575548,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -553555,7 +575576,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6557 + 6596 ], "provided_trait_methods": [], "trait": { @@ -553586,18 +575607,18 @@ "name": null, "span": { "begin": [ - 1839, + 1930, 1 ], "end": [ - 1847, + 1938, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6559": { + "6598": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -553606,7 +575627,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`String`] into a [`PathBuf`]\n\nThis conversion does not allocate or copy memory.", - "id": 6559, + "id": 6598, "inner": { "function": { "generics": { @@ -553627,7 +575648,7 @@ { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -553637,7 +575658,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -553645,64 +575666,24 @@ } }, "links": { - "`PathBuf`": 1664, - "`String`": 161 + "`PathBuf`": 1663, + "`String`": 159 }, "name": "from", "span": { "begin": [ - 1877, + 1968, 5 ], "end": [ - 1879, + 1970, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "656": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Operations on ASCII strings and characters.\n\nMost string operations in Rust act on UTF-8 strings. However, at times it\nmakes more sense to only consider the ASCII character set for a specific\noperation.\n\nThe [`AsciiExt`] trait provides methods that allow for character\noperations that only act on the ASCII subset and leave non-ASCII characters\nalone.\n\nThe [`escape_default`] function provides an iterator over the bytes of an\nescaped version of the character given.", - "id": 656, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 608, - 610, - 612, - 619 - ] - } - }, - "links": { - "`AsciiExt`": 619, - "`escape_default`": 613 - }, - "name": "ascii", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 210, - 2 - ], - "filename": "std/src/ascii.rs" - }, - "visibility": "public" - }, - "6560": { + "6599": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -553711,14 +575692,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6560, + "id": 6599, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -553730,7 +575711,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6559 + 6598 ], "provided_trait_methods": [], "trait": { @@ -553741,7 +575722,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -553759,23 +575740,113 @@ "name": null, "span": { "begin": [ - 1872, + 1963, 1 ], "end": [ - 1880, + 1971, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6561": { + "66": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 66, + "inner": { + "use": { + "id": 67, + "is_glob": false, + "name": "column", + "source": "core::prelude::v1::column" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 50, + 18 + ], + "end": [ + 50, + 24 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "660": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + }, + { + "other": "#[attr = Inline(Never)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Captures a stack backtrace of the current thread.\n\nThis function will capture a stack backtrace of the current OS thread of\nexecution, returning a `Backtrace` type which can be later used to print\nthe entire stack trace or render it to a string.\n\nThis function will be a noop if the `RUST_BACKTRACE` or\n`RUST_LIB_BACKTRACE` backtrace variables are both not set. If either\nenvironment variable is set and enabled then this function will actually\ncapture a backtrace. Capturing a backtrace can be both memory intensive\nand slow, so these environment variables allow liberally using\n`Backtrace::capture` and only incurring a slowdown when the environment\nvariables are set.\n\nTo forcibly capture a backtrace regardless of environment variables, use\nthe `Backtrace::force_capture` function.", + "id": 660, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + } + } + } + }, + "links": {}, + "name": "capture", + "span": { + "begin": [ + 292, + 5 + ], + "end": [ + 297, + 6 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "public" + }, + "6600": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6561, + "id": 6600, "inner": { "assoc_type": { "bounds": [], @@ -553786,7 +575857,7 @@ "type": { "resolved_path": { "args": null, - "id": 335, + "id": 333, "path": "Infallible" } } @@ -553796,18 +575867,18 @@ "name": "Err", "span": { "begin": [ - 1884, + 1975, 5 ], "end": [ - 1884, + 1975, 42 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6562": { + "6601": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -553816,7 +575887,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6562, + "id": 6601, "inner": { "function": { "generics": { @@ -553866,7 +575937,7 @@ }, "trait": { "args": null, - "id": 2072, + "id": 2070, "path": "" } } @@ -553887,18 +575958,18 @@ "name": "from_str", "span": { "begin": [ - 1887, + 1978, 5 ], "end": [ - 1889, + 1980, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6563": { + "6602": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"path_from_str\"}}]" @@ -553907,14 +575978,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6563, + "id": 6602, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -553926,13 +575997,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6561, - 6562 + 6600, + 6601 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 2072, + "id": 2070, "path": "FromStr" } } @@ -553941,23 +576012,23 @@ "name": null, "span": { "begin": [ - 1883, + 1974, 1 ], "end": [ - 1890, + 1981, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6564": { + "6603": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Creates a new `PathBuf` from the [`Path`] elements of an iterator.\n\nThis uses [`push`](Self::push) to add each element, so can be used to adjoin multiple path\n[components](Components).\n\n# Examples\n```\n# use std::path::PathBuf;\nlet path = PathBuf::from_iter([\"/tmp\", \"foo\", \"bar\"]);\nassert_eq!(path, PathBuf::from(\"/tmp/foo/bar\"));\n```\n\nSee documentation for [`push`](Self::push) for more details on how the path is constructed.", - "id": 6564, + "id": 6603, "inner": { "function": { "generics": { @@ -554024,7 +576095,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -554032,25 +576103,25 @@ } }, "links": { - "Components": 2261, - "Self::push": 6508, - "`Path`": 1667 + "Components": 2259, + "Self::push": 6541, + "`Path`": 1666 }, "name": "from_iter", "span": { "begin": [ - 1907, + 1998, 5 ], "end": [ - 1911, + 2002, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6565": { + "6604": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -554059,14 +576130,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6565, + "id": 6604, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -554088,7 +576159,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -554116,7 +576187,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6564 + 6603 ], "provided_trait_methods": [], "trait": { @@ -554132,7 +576203,7 @@ "constraints": [] } }, - "id": 201, + "id": 199, "path": "FromIterator" } } @@ -554141,23 +576212,23 @@ "name": null, "span": { "begin": [ - 1893, + 1984, 1 ], "end": [ - 1912, + 2003, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6566": { + "6605": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Extends `self` with [`Path`] elements from `iter`.\n\nThis uses [`push`](Self::push) to add each element, so can be used to adjoin multiple path\n[components](Components).\n\n# Examples\n```\n# use std::path::PathBuf;\nlet mut path = PathBuf::from(\"/tmp\");\npath.extend([\"foo\", \"bar\", \"file.txt\"]);\nassert_eq!(path, PathBuf::from(\"/tmp/foo/bar/file.txt\"));\n```\n\nSee documentation for [`push`](Self::push) for more details on how the path is constructed.", - "id": 6566, + "id": 6605, "inner": { "function": { "generics": { @@ -554238,25 +576309,25 @@ } }, "links": { - "Components": 2261, - "Self::push": 6508, - "`Path`": 1667 + "Components": 2259, + "Self::push": 6541, + "`Path`": 1666 }, "name": "extend", "span": { "begin": [ - 1930, + 2021, 5 ], "end": [ - 1932, + 2023, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6567": { + "6606": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -554265,7 +576336,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6567, + "id": 6606, "inner": { "function": { "generics": { @@ -554309,18 +576380,18 @@ "name": "extend_one", "span": { "begin": [ - 1935, + 2026, 5 ], "end": [ - 1937, + 2028, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6568": { + "6607": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -554329,14 +576400,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6568, + "id": 6607, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -554358,7 +576429,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -554386,8 +576457,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6566, - 6567 + 6605, + 6606 ], "provided_trait_methods": [ "extend_one", @@ -554416,23 +576487,23 @@ "name": null, "span": { "begin": [ - 1915, + 2006, 1 ], "end": [ - 1938, + 2029, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6569": { + "6608": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6569, + "id": 6608, "inner": { "function": { "generics": { @@ -554478,7 +576549,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -554490,7 +576561,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -554501,18 +576572,18 @@ "name": "fmt", "span": { "begin": [ - 1942, + 2033, 5 ], "end": [ - 1944, + 2035, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6570": { + "6609": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -554521,14 +576592,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6570, + "id": 6609, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -554540,12 +576611,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6569 + 6608 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -554554,23 +576625,77 @@ "name": null, "span": { "begin": [ - 1941, + 2032, 1 ], "end": [ - 1945, + 2036, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6571": { + "661": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + }, + { + "other": "#[attr = Inline(Never)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Forcibly captures a full backtrace, regardless of environment variable\nconfiguration.\n\nThis function behaves the same as `capture` except that it ignores the\nvalues of the `RUST_BACKTRACE` and `RUST_LIB_BACKTRACE` environment\nvariables, always capturing a backtrace.\n\nNote that capturing a backtrace can be an expensive operation on some\nplatforms, so this should be used with caution in performance-sensitive\nparts of code.", + "id": 661, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + } + } + } + }, + "links": {}, + "name": "force_capture", + "span": { + "begin": [ + 311, + 5 + ], + "end": [ + 313, + 6 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "public" + }, + "6610": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6571, + "id": 6610, "inner": { "assoc_type": { "bounds": [], @@ -554581,7 +576706,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -554591,18 +576716,18 @@ "name": "Target", "span": { "begin": [ - 1949, + 2040, 5 ], "end": [ - 1949, + 2040, 24 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6572": { + "6611": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -554611,7 +576736,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6572, + "id": 6611, "inner": { "function": { "generics": { @@ -554648,7 +576773,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -554661,18 +576786,18 @@ "name": "deref", "span": { "begin": [ - 1951, + 2042, 5 ], "end": [ - 1953, + 2044, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6573": { + "6612": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -554681,14 +576806,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6573, + "id": 6612, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -554700,13 +576825,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6571, - 6572 + 6610, + 6611 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -554715,18 +576840,18 @@ "name": null, "span": { "begin": [ - 1948, + 2039, 1 ], "end": [ - 1954, + 2045, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6574": { + "6613": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -554735,7 +576860,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6574, + "id": 6613, "inner": { "function": { "generics": { @@ -554772,7 +576897,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -554785,18 +576910,18 @@ "name": "deref_mut", "span": { "begin": [ - 1959, + 2050, 5 ], "end": [ - 1961, + 2052, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6575": { + "6614": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 68, patch: 0})}, feature: \"path_buf_deref_mut\"}}]" @@ -554805,14 +576930,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6575, + "id": 6614, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -554824,12 +576949,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6574 + 6613 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1989, + "id": 1987, "path": "DerefMut" } } @@ -554838,18 +576963,18 @@ "name": null, "span": { "begin": [ - 1957, + 2048, 1 ], "end": [ - 1962, + 2053, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6576": { + "6615": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -554858,7 +576983,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6576, + "id": 6615, "inner": { "function": { "generics": { @@ -554895,7 +577020,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -554908,18 +577033,18 @@ "name": "borrow", "span": { "begin": [ - 1967, + 2058, 5 ], "end": [ - 1969, + 2060, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6577": { + "6616": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -554928,14 +577053,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6577, + "id": 6616, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -554947,7 +577072,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6576 + 6615 ], "provided_trait_methods": [], "trait": { @@ -554958,7 +577083,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -554967,7 +577092,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -554976,18 +577101,18 @@ "name": null, "span": { "begin": [ - 1965, + 2056, 1 ], "end": [ - 1970, + 2061, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6578": { + "6617": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -554996,7 +577121,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6578, + "id": 6617, "inner": { "function": { "generics": { @@ -555023,18 +577148,18 @@ "name": "default", "span": { "begin": [ - 1975, + 2066, 5 ], "end": [ - 1977, + 2068, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6579": { + "6618": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 17, patch: 0})}, feature: \"default_for_pathbuf\"}}]" @@ -555043,14 +577168,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6579, + "id": 6618, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -555062,12 +577187,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6578 + 6617 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -555076,18 +577201,18 @@ "name": null, "span": { "begin": [ - 1973, + 2064, 1 ], "end": [ - 1978, + 2069, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6580": { + "6619": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -555096,7 +577221,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a clone-on-write pointer from an owned\ninstance of [`PathBuf`].\n\nThis conversion does not clone or allocate.", - "id": 6580, + "id": 6619, "inner": { "function": { "generics": { @@ -555117,7 +577242,7 @@ { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -555136,7 +577261,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -555145,7 +577270,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -555153,23 +577278,77 @@ } }, "links": { - "`PathBuf`": 1664 + "`PathBuf`": 1663 }, "name": "from", "span": { "begin": [ - 1999, + 2090, 5 ], "end": [ - 2001, + 2092, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6581": { + "662": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Forcibly captures a disabled backtrace, regardless of environment\nvariable configuration.", + "id": 662, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + } + } + } + }, + "links": {}, + "name": "disabled", + "span": { + "begin": [ + 319, + 5 + ], + "end": [ + 321, + 6 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "public" + }, + "6620": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"cow_from_path\"}}]" @@ -555178,7 +577357,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6581, + "id": 6620, "inner": { "impl": { "blanket_impl": null, @@ -555194,7 +577373,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -555203,7 +577382,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -555224,7 +577403,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6580 + 6619 ], "provided_trait_methods": [], "trait": { @@ -555235,7 +577414,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -555253,18 +577432,18 @@ "name": null, "span": { "begin": [ - 1993, + 2084, 1 ], "end": [ - 2002, + 2093, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6582": { + "6621": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -555273,7 +577452,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a clone-on-write pointer from a reference to\n[`PathBuf`].\n\nThis conversion does not clone or allocate.", - "id": 6582, + "id": 6621, "inner": { "function": { "generics": { @@ -555298,7 +577477,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -555319,7 +577498,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -555328,7 +577507,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -555336,23 +577515,23 @@ } }, "links": { - "`PathBuf`": 1664 + "`PathBuf`": 1663 }, "name": "from", "span": { "begin": [ - 2011, + 2102, 5 ], "end": [ - 2013, + 2104, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6583": { + "6622": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"cow_from_pathbuf_ref\"}}]" @@ -555361,7 +577540,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6583, + "id": 6622, "inner": { "impl": { "blanket_impl": null, @@ -555377,7 +577556,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -555386,7 +577565,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -555407,7 +577586,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6582 + 6621 ], "provided_trait_methods": [], "trait": { @@ -555422,7 +577601,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -555442,18 +577621,18 @@ "name": null, "span": { "begin": [ - 2005, + 2096, 1 ], "end": [ - 2014, + 2105, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6584": { + "6623": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -555462,7 +577641,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a clone-on-write pointer to an owned path.\n\nConverting from a `Cow::Owned` does not clone or allocate.", - "id": 6584, + "id": 6623, "inner": { "function": { "generics": { @@ -555492,7 +577671,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -555501,7 +577680,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -555518,18 +577697,18 @@ "name": "from", "span": { "begin": [ - 2022, + 2113, 5 ], "end": [ - 2024, + 2115, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6585": { + "6624": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"pathbuf_from_cow_path\"}}]" @@ -555538,14 +577717,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6585, + "id": 6624, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -555566,7 +577745,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6584 + 6623 ], "provided_trait_methods": [], "trait": { @@ -555586,7 +577765,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -555595,7 +577774,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -555613,18 +577792,18 @@ "name": null, "span": { "begin": [ - 2017, + 2108, 1 ], "end": [ - 2025, + 2116, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6586": { + "6625": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -555633,7 +577812,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`PathBuf`] into an [Arc]<[Path]> by moving the [`PathBuf`] data\ninto a new [`Arc`] buffer.", - "id": 6586, + "id": 6625, "inner": { "function": { "generics": { @@ -555654,7 +577833,7 @@ { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -555670,7 +577849,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -555688,25 +577867,25 @@ }, "links": { "Arc": 606, - "Path": 1667, + "Path": 1666, "`Arc`": 606, - "`PathBuf`": 1664 + "`PathBuf`": 1663 }, "name": "from", "span": { "begin": [ - 2032, + 2123, 5 ], "end": [ - 2035, + 2126, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6587": { + "6626": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"shared_from_slice2\"}}]" @@ -555715,7 +577894,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6587, + "id": 6626, "inner": { "impl": { "blanket_impl": null, @@ -555728,7 +577907,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -555749,7 +577928,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6586 + 6625 ], "provided_trait_methods": [], "trait": { @@ -555760,7 +577939,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -555778,18 +577957,18 @@ "name": null, "span": { "begin": [ - 2028, + 2119, 1 ], "end": [ - 2036, + 2127, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6588": { + "6627": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -555798,7 +577977,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`PathBuf`] into an [Rc]<[Path]> by moving the [`PathBuf`] data into\na new [`Rc`] buffer.", - "id": 6588, + "id": 6627, "inner": { "function": { "generics": { @@ -555819,7 +577998,7 @@ { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -555835,7 +578014,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -555844,7 +578023,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "Rc" } } @@ -555852,26 +578031,26 @@ } }, "links": { - "Path": 1667, - "Rc": 2030, - "`PathBuf`": 1664, - "`Rc`": 2030 + "Path": 1666, + "Rc": 2028, + "`PathBuf`": 1663, + "`Rc`": 2028 }, "name": "from", "span": { "begin": [ - 2062, + 2153, 5 ], "end": [ - 2065, + 2156, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6589": { + "6628": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"shared_from_slice2\"}}]" @@ -555880,7 +578059,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6589, + "id": 6628, "inner": { "impl": { "blanket_impl": null, @@ -555893,7 +578072,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -555902,7 +578081,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "crate::rc::Rc" } }, @@ -555914,7 +578093,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6588 + 6627 ], "provided_trait_methods": [], "trait": { @@ -555925,7 +578104,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -555943,91 +578122,108 @@ "name": null, "span": { "begin": [ - 2058, + 2149, 1 ], "end": [ - 2066, + 2157, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "659": { + "6629": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "A captured OS thread stack backtrace.\n\nThis type represents a stack backtrace for an OS thread captured at a\nprevious point in time. In some instances the `Backtrace` type may\ninternally be empty due to configuration. For more information see\n`Backtrace::capture`.", - "id": 659, + "docs": null, + "id": 6629, "inner": { - "struct": { + "function": { "generics": { "params": [], "where_predicates": [] }, - "impls": [ - 665, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 684, - 686 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 1663, + "path": "PathBuf" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" } } } }, "links": {}, - "name": "Backtrace", + "name": "eq", "span": { "begin": [ - 108, - 1 + 2194, + 5 ], "end": [ - 110, - 2 + 2196, + 6 ], - "filename": "std/src/backtrace.rs" + "filename": "std/src/path.rs" }, - "visibility": "public" + "visibility": "default" }, - "6590": { + "663": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 6590, + "docs": "Returns the status of this backtrace, indicating whether this backtrace\nrequest was unsupported, disabled, or a stack trace was actually\ncaptured.", + "id": 663, "inner": { "function": { "generics": { @@ -556054,47 +578250,35 @@ } } } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 1664, - "path": "PathBuf" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": null, + "id": 664, + "path": "BacktraceStatus" + } } } } }, "links": {}, - "name": "eq", + "name": "status", "span": { "begin": [ - 2103, + 363, 5 ], "end": [ - 2105, + 369, 6 ], - "filename": "std/src/path.rs" + "filename": "std/src/backtrace.rs" }, - "visibility": "default" + "visibility": "public" }, - "6591": { + "6630": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -556103,14 +578287,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6591, + "id": 6630, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -556122,14 +578306,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6590 + 6629 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -556138,18 +578322,18 @@ "name": null, "span": { "begin": [ - 2101, + 2192, 1 ], "end": [ - 2106, + 2197, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6592": { + "6631": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -556158,7 +578342,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6592, + "id": 6631, "inner": { "function": { "generics": { @@ -556210,34 +578394,34 @@ "name": "eq", "span": { "begin": [ - 2111, + 2202, 5 ], "end": [ - 2113, + 2204, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6593": { + "6632": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"eq_str_for_path\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"eq_str_for_path\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6593, + "id": 6632, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -556249,7 +578433,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6592 + 6631 ], "provided_trait_methods": [ "ne" @@ -556267,7 +578451,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -556276,18 +578460,18 @@ "name": null, "span": { "begin": [ - 2109, + 2200, 1 ], "end": [ - 2114, + 2205, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6594": { + "6633": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -556296,7 +578480,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6594, + "id": 6633, "inner": { "function": { "generics": { @@ -556333,7 +578517,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -556352,27 +578536,27 @@ "name": "eq", "span": { "begin": [ - 2119, + 2210, 5 ], "end": [ - 2121, + 2212, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6595": { + "6634": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"eq_str_for_path\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"eq_str_for_path\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6595, + "id": 6634, "inner": { "impl": { "blanket_impl": null, @@ -556387,7 +578571,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6594 + 6633 ], "provided_trait_methods": [ "ne" @@ -556400,7 +578584,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -556409,7 +578593,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -556418,18 +578602,18 @@ "name": null, "span": { "begin": [ - 2117, + 2208, 1 ], "end": [ - 2122, + 2213, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6596": { + "6635": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -556438,7 +578622,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6596, + "id": 6635, "inner": { "function": { "generics": { @@ -556475,7 +578659,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -556494,34 +578678,34 @@ "name": "eq", "span": { "begin": [ - 2127, + 2218, 5 ], "end": [ - 2129, + 2220, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6597": { + "6636": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"eq_str_for_path\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"eq_str_for_path\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6597, + "id": 6636, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -556533,7 +578717,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6596 + 6635 ], "provided_trait_methods": [ "ne" @@ -556546,7 +578730,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -556555,7 +578739,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -556564,18 +578748,18 @@ "name": null, "span": { "begin": [ - 2125, + 2216, 1 ], "end": [ - 2130, + 2221, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6598": { + "6637": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -556584,7 +578768,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6598, + "id": 6637, "inner": { "function": { "generics": { @@ -556621,7 +578805,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -556640,34 +578824,34 @@ "name": "eq", "span": { "begin": [ - 2135, + 2226, 5 ], "end": [ - 2137, + 2228, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6599": { + "6638": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"eq_str_for_path\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"eq_str_for_path\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6599, + "id": 6638, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } }, @@ -556679,7 +578863,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6598 + 6637 ], "provided_trait_methods": [ "ne" @@ -556692,7 +578876,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -556701,7 +578885,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -556710,113 +578894,23 @@ "name": null, "span": { "begin": [ - 2133, + 2224, 1 ], "end": [ - 2138, + 2229, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "66": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 66, - "inner": { - "use": { - "id": 67, - "is_glob": false, - "name": "column", - "source": "core::prelude::v1::column" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 50, - 18 - ], - "end": [ - 50, - 24 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "660": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - }, - { - "other": "#[attr = Inline(Never)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Captures a stack backtrace of the current thread.\n\nThis function will capture a stack backtrace of the current OS thread of\nexecution, returning a `Backtrace` type which can be later used to print\nthe entire stack trace or render it to a string.\n\nThis function will be a noop if the `RUST_BACKTRACE` or\n`RUST_LIB_BACKTRACE` backtrace variables are both not set. If either\nenvironment variable is set and enabled then this function will actually\ncapture a backtrace. Capturing a backtrace can be both memory intensive\nand slow, so these environment variables allow liberally using\n`Backtrace::capture` and only incurring a slowdown when the environment\nvariables are set.\n\nTo forcibly capture a backtrace regardless of environment variables, use\nthe `Backtrace::force_capture` function.", - "id": 660, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - } - } - } - }, - "links": {}, - "name": "capture", - "span": { - "begin": [ - 292, - 5 - ], - "end": [ - 297, - 6 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "public" - }, - "6600": { + "6639": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6600, + "id": 6639, "inner": { "function": { "generics": { @@ -556889,18 +578983,77 @@ "name": "hash", "span": { "begin": [ - 2142, + 2233, 5 ], "end": [ - 2144, + 2235, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6601": { + "664": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + }, + "non_exhaustive" + ], + "crate_id": 0, + "deprecation": null, + "docs": "The current status of a backtrace, indicating whether it was captured or\nwhether it is empty for some other reason.", + "id": 664, + "inner": { + "enum": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_stripped_variants": false, + "impls": [ + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 704, + 705, + 707, + 708 + ], + "variants": [ + 687, + 688, + 689 + ] + } + }, + "links": {}, + "name": "BacktraceStatus", + "span": { + "begin": [ + 117, + 1 + ], + "end": [ + 130, + 2 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "public" + }, + "6640": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -556909,14 +579062,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6601, + "id": 6640, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -556928,7 +579081,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6600 + 6639 ], "provided_trait_methods": [ "hash_slice" @@ -556944,18 +579097,18 @@ "name": null, "span": { "begin": [ - 2141, + 2232, 1 ], "end": [ - 2145, + 2236, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6602": { + "6641": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -556964,14 +579117,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6602, + "id": 6641, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -556988,7 +579141,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -556997,18 +579150,18 @@ "name": null, "span": { "begin": [ - 2148, + 2239, 1 ], "end": [ - 2148, + 2239, 23 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6603": { + "6642": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -557017,7 +579170,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6603, + "id": 6642, "inner": { "function": { "generics": { @@ -557054,7 +579207,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -557072,7 +579225,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -557092,18 +579245,18 @@ "name": "partial_cmp", "span": { "begin": [ - 2153, + 2244, 5 ], "end": [ - 2155, + 2246, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6604": { + "6643": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -557112,14 +579265,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6604, + "id": 6643, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -557131,7 +579284,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6603 + 6642 ], "provided_trait_methods": [ "lt", @@ -557145,7 +579298,7 @@ ], "trait": { "args": null, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -557154,18 +579307,18 @@ "name": null, "span": { "begin": [ - 2151, + 2242, 1 ], "end": [ - 2156, + 2247, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6605": { + "6644": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -557174,7 +579327,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6605, + "id": 6644, "inner": { "function": { "generics": { @@ -557211,7 +579364,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -557223,7 +579376,7 @@ "output": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -557234,18 +579387,18 @@ "name": "cmp", "span": { "begin": [ - 2161, + 2252, 5 ], "end": [ - 2163, + 2254, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6606": { + "6645": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -557254,14 +579407,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6606, + "id": 6645, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -557273,7 +579426,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6605 + 6644 ], "provided_trait_methods": [ "max", @@ -557282,7 +579435,7 @@ ], "trait": { "args": null, - "id": 119, + "id": 117, "path": "Ord" } } @@ -557291,18 +579444,18 @@ "name": null, "span": { "begin": [ - 2159, + 2250, 1 ], "end": [ - 2164, + 2255, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6607": { + "6646": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -557311,7 +579464,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6607, + "id": 6646, "inner": { "function": { "generics": { @@ -557348,7 +579501,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -557361,18 +579514,18 @@ "name": "as_ref", "span": { "begin": [ - 3560, + 3750, 5 ], "end": [ - 3562, + 3752, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6608": { + "6647": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -557381,14 +579534,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6608, + "id": 6647, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -557400,7 +579553,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6607 + 6646 ], "provided_trait_methods": [], "trait": { @@ -557411,7 +579564,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -557429,23 +579582,23 @@ "name": null, "span": { "begin": [ - 3558, + 3748, 1 ], "end": [ - 3563, + 3753, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6609": { + "6648": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6609, + "id": 6648, "inner": { "assoc_type": { "bounds": [], @@ -557460,7 +579613,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -557472,77 +579625,23 @@ "name": "Item", "span": { "begin": [ - 3567, + 3757, 5 ], "end": [ - 3567, + 3757, 27 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "661": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - }, - { - "other": "#[attr = Inline(Never)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Forcibly captures a full backtrace, regardless of environment variable\nconfiguration.\n\nThis function behaves the same as `capture` except that it ignores the\nvalues of the `RUST_BACKTRACE` and `RUST_LIB_BACKTRACE` environment\nvariables, always capturing a backtrace.\n\nNote that capturing a backtrace can be an expensive operation on some\nplatforms, so this should be used with caution in performance-sensitive\nparts of code.", - "id": 661, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - } - } - } - }, - "links": {}, - "name": "force_capture", - "span": { - "begin": [ - 311, - 5 - ], - "end": [ - 313, - 6 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "public" - }, - "6610": { + "6649": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6610, + "id": 6649, "inner": { "assoc_type": { "bounds": [], @@ -557562,7 +579661,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } } @@ -557572,18 +579671,66 @@ "name": "IntoIter", "span": { "begin": [ - 3568, + 3758, 5 ], "end": [ - 3568, + 3758, 30 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6611": { + "665": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 665, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 660, + 661, + 662, + 663 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 250, + 1 + ], + "end": [ + 370, + 2 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "default" + }, + "6650": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -557592,7 +579739,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6611, + "id": 6650, "inner": { "function": { "generics": { @@ -557628,7 +579775,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } } @@ -557639,18 +579786,18 @@ "name": "into_iter", "span": { "begin": [ - 3570, + 3760, 5 ], "end": [ - 3572, + 3762, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6612": { + "6651": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"path_into_iter\"}}]" @@ -557659,7 +579806,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6612, + "id": 6651, "inner": { "impl": { "blanket_impl": null, @@ -557670,7 +579817,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -557693,9 +579840,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6609, - 6610, - 6611 + 6648, + 6649, + 6650 ], "provided_trait_methods": [], "trait": { @@ -557709,18 +579856,18 @@ "name": null, "span": { "begin": [ - 3566, + 3756, 1 ], "end": [ - 3573, + 3763, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6613": { + "6652": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -557729,7 +579876,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6613, + "id": 6652, "inner": { "function": { "generics": { @@ -557766,7 +579913,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -557785,18 +579932,18 @@ "name": "eq", "span": { "begin": [ - 3621, + 3811, 1 ], "end": [ - 3621, + 3811, 28 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6614": { + "6653": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"partialeq_path\"}}]" @@ -557805,14 +579952,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6614, + "id": 6653, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -557824,7 +579971,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6613 + 6652 ], "provided_trait_methods": [ "ne" @@ -557837,7 +579984,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -557846,7 +579993,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -557855,18 +580002,18 @@ "name": null, "span": { "begin": [ - 3621, + 3811, 1 ], "end": [ - 3621, + 3811, 28 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6615": { + "6654": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -557875,7 +580022,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6615, + "id": 6654, "inner": { "function": { "generics": { @@ -557912,7 +580059,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -557931,18 +580078,18 @@ "name": "eq", "span": { "begin": [ - 3621, + 3811, 1 ], "end": [ - 3621, + 3811, 28 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6616": { + "6655": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"partialeq_path\"}}]" @@ -557951,14 +580098,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6616, + "id": 6655, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -557970,7 +580117,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6615 + 6654 ], "provided_trait_methods": [ "ne" @@ -557983,7 +580130,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -557992,7 +580139,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -558001,18 +580148,18 @@ "name": null, "span": { "begin": [ - 3621, + 3811, 1 ], "end": [ - 3621, + 3811, 28 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6617": { + "6656": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -558021,7 +580168,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6617, + "id": 6656, "inner": { "function": { "generics": { @@ -558058,7 +580205,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -558076,7 +580223,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -558096,18 +580243,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3621, + 3811, 1 ], "end": [ - 3621, + 3811, 28 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6618": { + "6657": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -558116,14 +580263,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6618, + "id": 6657, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -558135,7 +580282,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6617 + 6656 ], "provided_trait_methods": [ "lt", @@ -558155,7 +580302,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -558164,7 +580311,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -558173,18 +580320,18 @@ "name": null, "span": { "begin": [ - 3621, + 3811, 1 ], "end": [ - 3621, + 3811, 28 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6619": { + "6658": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -558193,7 +580340,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6619, + "id": 6658, "inner": { "function": { "generics": { @@ -558230,7 +580377,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -558248,7 +580395,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -558268,72 +580415,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3621, + 3811, 1 ], "end": [ - 3621, + 3811, 28 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "662": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Forcibly captures a disabled backtrace, regardless of environment\nvariable configuration.", - "id": 662, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - } - } - } - }, - "links": {}, - "name": "disabled", - "span": { - "begin": [ - 319, - 5 - ], - "end": [ - 321, - 6 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "public" - }, - "6620": { + "6659": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -558342,14 +580435,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6620, + "id": 6659, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -558361,7 +580454,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6619 + 6658 ], "provided_trait_methods": [ "lt", @@ -558381,7 +580474,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -558390,7 +580483,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -558399,18 +580492,95 @@ "name": null, "span": { "begin": [ - 3621, + 3811, 1 ], "end": [ - 3621, + 3811, 28 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6621": { + "666": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 79676, is_soft: false}, feature: \"backtrace_frames\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns an iterator over the backtrace frames.", + "id": 666, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "slice": { + "resolved_path": { + "args": null, + "id": 667, + "path": "BacktraceFrame" + } + } + } + } + } + } + } + }, + "links": {}, + "name": "frames", + "span": { + "begin": [ + 376, + 5 + ], + "end": [ + 378, + 6 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "public" + }, + "6660": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -558419,7 +580589,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6621, + "id": 6660, "inner": { "function": { "generics": { @@ -558460,7 +580630,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -558481,18 +580651,18 @@ "name": "eq", "span": { "begin": [ - 3622, + 3812, 1 ], "end": [ - 3622, + 3812, 34 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6622": { + "6661": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"partialeq_path\"}}]" @@ -558501,14 +580671,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6622, + "id": 6661, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -558529,7 +580699,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6621 + 6660 ], "provided_trait_methods": [ "ne" @@ -558546,7 +580716,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -558557,7 +580727,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -558566,18 +580736,18 @@ "name": null, "span": { "begin": [ - 3622, + 3812, 1 ], "end": [ - 3622, + 3812, 34 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6623": { + "6662": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -558586,7 +580756,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6623, + "id": 6662, "inner": { "function": { "generics": { @@ -558623,7 +580793,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -558642,18 +580812,18 @@ "name": "eq", "span": { "begin": [ - 3622, + 3812, 1 ], "end": [ - 3622, + 3812, 34 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6624": { + "6663": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"partialeq_path\"}}]" @@ -558662,7 +580832,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6624, + "id": 6663, "inner": { "impl": { "blanket_impl": null, @@ -558673,7 +580843,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -558696,7 +580866,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6623 + 6662 ], "provided_trait_methods": [ "ne" @@ -558709,7 +580879,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -558718,7 +580888,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -558727,18 +580897,18 @@ "name": null, "span": { "begin": [ - 3622, + 3812, 1 ], "end": [ - 3622, + 3812, 34 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6625": { + "6664": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -558747,7 +580917,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6625, + "id": 6664, "inner": { "function": { "generics": { @@ -558788,7 +580958,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -558808,7 +580978,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -558828,18 +580998,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3622, + 3812, 1 ], "end": [ - 3622, + 3812, 34 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6626": { + "6665": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -558848,14 +581018,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6626, + "id": 6665, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -558876,7 +581046,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6625 + 6664 ], "provided_trait_methods": [ "lt", @@ -558900,7 +581070,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -558911,194 +581081,7 @@ "constraints": [] } }, - "id": 127, - "path": "PartialOrd" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 3622, - 1 - ], - "end": [ - 3622, - 34 - ], - "filename": "std/src/path.rs" - }, - "visibility": "default" - }, - "6627": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6627, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 1664, - "path": "PathBuf" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "cmp::Ordering" - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - } - }, - "links": {}, - "name": "partial_cmp", - "span": { - "begin": [ - 3622, - 1 - ], - "end": [ - 3622, - 34 - ], - "filename": "std/src/path.rs" - }, - "visibility": "default" - }, - "6628": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6628, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } - } - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 6627 - ], - "provided_trait_methods": [ - "lt", - "le", - "gt", - "ge", - "__chaining_lt", - "__chaining_le", - "__chaining_gt", - "__chaining_ge" - ], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 1664, - "path": "PathBuf" - } - } - } - ], - "constraints": [] - } - }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -559107,18 +581090,18 @@ "name": null, "span": { "begin": [ - 3622, + 3812, 1 ], "end": [ - 3622, + 3812, 34 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6629": { + "6666": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -559127,7 +581110,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6629, + "id": 6666, "inner": { "function": { "generics": { @@ -559164,7 +581147,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -559174,41 +581157,147 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 2007, + "path": "cmp::Ordering" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "eq", + "name": "partial_cmp", "span": { "begin": [ - 3625, + 3812, 1 ], "end": [ - 3625, - 39 + 3812, + 34 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "663": { + "6667": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - }, - { - "must_use": { - "reason": null + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6667, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 6666 + ], + "provided_trait_methods": [ + "lt", + "le", + "gt", + "ge", + "__chaining_lt", + "__chaining_le", + "__chaining_gt", + "__chaining_ge" + ], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1663, + "path": "PathBuf" + } + } + } + ], + "constraints": [] + } + }, + "id": 125, + "path": "PartialOrd" } } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 3812, + 1 + ], + "end": [ + 3812, + 34 + ], + "filename": "std/src/path.rs" + }, + "visibility": "default" + }, + "6668": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the status of this backtrace, indicating whether this backtrace\nrequest was unsupported, disabled, or a stack trace was actually\ncaptured.", - "id": 663, + "docs": null, + "id": 6668, "inner": { "function": { "generics": { @@ -559235,35 +581324,47 @@ } } } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 1663, + "path": "PathBuf" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } + "primitive": "bool" } } } }, "links": {}, - "name": "status", + "name": "eq", "span": { "begin": [ - 363, - 5 + 3815, + 1 ], "end": [ - 369, - 6 + 3815, + 39 ], - "filename": "std/src/backtrace.rs" + "filename": "std/src/path.rs" }, - "visibility": "public" + "visibility": "default" }, - "6630": { + "6669": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"partialeq_path\"}}]" @@ -559272,7 +581373,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6630, + "id": 6669, "inner": { "impl": { "blanket_impl": null, @@ -559288,7 +581389,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -559297,7 +581398,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -559318,7 +581419,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6629 + 6668 ], "provided_trait_methods": [ "ne" @@ -559331,7 +581432,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -559340,7 +581441,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -559349,18 +581450,73 @@ "name": null, "span": { "begin": [ - 3625, + 3815, 1 ], "end": [ - 3625, + 3815, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6631": { + "667": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 79676, is_soft: false}, feature: \"backtrace_frames\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A single frame of a backtrace.", + "id": 667, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 725 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": {}, + "name": "BacktraceFrame", + "span": { + "begin": [ + 150, + 1 + ], + "end": [ + 153, + 2 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "public" + }, + "6670": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -559369,7 +581525,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6631, + "id": 6670, "inner": { "function": { "generics": { @@ -559415,7 +581571,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -559424,7 +581580,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -559443,18 +581599,18 @@ "name": "eq", "span": { "begin": [ - 3625, + 3815, 1 ], "end": [ - 3625, + 3815, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6632": { + "6671": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"partialeq_path\"}}]" @@ -559463,14 +581619,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6632, + "id": 6671, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -559491,7 +581647,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6631 + 6670 ], "provided_trait_methods": [ "ne" @@ -559513,7 +581669,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -559522,7 +581678,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -559531,7 +581687,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -559540,18 +581696,18 @@ "name": null, "span": { "begin": [ - 3625, + 3815, 1 ], "end": [ - 3625, + 3815, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6633": { + "6672": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -559560,7 +581716,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6633, + "id": 6672, "inner": { "function": { "generics": { @@ -559597,7 +581753,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -559615,7 +581771,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -559635,18 +581791,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3625, + 3815, 1 ], "end": [ - 3625, + 3815, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6634": { + "6673": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -559655,7 +581811,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6634, + "id": 6673, "inner": { "impl": { "blanket_impl": null, @@ -559671,7 +581827,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -559680,7 +581836,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -559701,7 +581857,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6633 + 6672 ], "provided_trait_methods": [ "lt", @@ -559721,7 +581877,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -559730,7 +581886,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -559739,18 +581895,18 @@ "name": null, "span": { "begin": [ - 3625, + 3815, 1 ], "end": [ - 3625, + 3815, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6635": { + "6674": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -559759,7 +581915,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6635, + "id": 6674, "inner": { "function": { "generics": { @@ -559805,7 +581961,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -559814,7 +581970,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -559832,7 +581988,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -559852,18 +582008,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3625, + 3815, 1 ], "end": [ - 3625, + 3815, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6636": { + "6675": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -559872,14 +582028,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6636, + "id": 6675, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -559900,7 +582056,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6635 + 6674 ], "provided_trait_methods": [ "lt", @@ -559929,7 +582085,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -559938,7 +582094,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -559947,7 +582103,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -559956,18 +582112,18 @@ "name": null, "span": { "begin": [ - 3625, + 3815, 1 ], "end": [ - 3625, + 3815, 39 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6637": { + "6676": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -559976,7 +582132,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6637, + "id": 6676, "inner": { "function": { "generics": { @@ -560022,7 +582178,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -560031,7 +582187,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -560050,18 +582206,18 @@ "name": "eq", "span": { "begin": [ - 3665, + 3855, 1 ], "end": [ - 3665, + 3855, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6638": { + "6677": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -560070,14 +582226,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6638, + "id": 6677, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -560098,7 +582254,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6637 + 6676 ], "provided_trait_methods": [ "ne" @@ -560120,7 +582276,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -560129,7 +582285,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -560138,7 +582294,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -560147,18 +582303,18 @@ "name": null, "span": { "begin": [ - 3665, + 3855, 1 ], "end": [ - 3665, + 3855, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6639": { + "6678": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -560167,7 +582323,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6639, + "id": 6678, "inner": { "function": { "generics": { @@ -560204,7 +582360,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -560223,77 +582379,18 @@ "name": "eq", "span": { "begin": [ - 3665, + 3855, 1 ], "end": [ - 3665, + 3855, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "664": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - }, - "non_exhaustive" - ], - "crate_id": 0, - "deprecation": null, - "docs": "The current status of a backtrace, indicating whether it was captured or\nwhether it is empty for some other reason.", - "id": 664, - "inner": { - "enum": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_stripped_variants": false, - "impls": [ - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 704, - 705, - 707, - 708 - ], - "variants": [ - 687, - 688, - 689 - ] - } - }, - "links": {}, - "name": "BacktraceStatus", - "span": { - "begin": [ - 117, - 1 - ], - "end": [ - 130, - 2 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "public" - }, - "6640": { + "6679": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -560302,7 +582399,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6640, + "id": 6679, "inner": { "impl": { "blanket_impl": null, @@ -560318,7 +582415,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -560327,7 +582424,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -560348,7 +582445,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6639 + 6678 ], "provided_trait_methods": [ "ne" @@ -560361,7 +582458,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -560370,7 +582467,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -560379,18 +582476,72 @@ "name": null, "span": { "begin": [ - 3665, + 3855, 1 ], "end": [ - 3665, + 3855, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6641": { + "668": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 668, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 666 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 372, + 1 + ], + "end": [ + 379, + 2 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "default" + }, + "6680": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -560399,7 +582550,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6641, + "id": 6680, "inner": { "function": { "generics": { @@ -560445,7 +582596,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -560454,7 +582605,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -560472,7 +582623,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -560492,18 +582643,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3665, + 3855, 1 ], "end": [ - 3665, + 3855, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6642": { + "6681": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -560512,14 +582663,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6642, + "id": 6681, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } }, @@ -560540,7 +582691,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6641 + 6680 ], "provided_trait_methods": [ "lt", @@ -560569,7 +582720,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -560578,7 +582729,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -560587,7 +582738,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -560596,18 +582747,18 @@ "name": null, "span": { "begin": [ - 3665, + 3855, 1 ], "end": [ - 3665, + 3855, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6643": { + "6682": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -560616,7 +582767,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6643, + "id": 6682, "inner": { "function": { "generics": { @@ -560653,7 +582804,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -560671,7 +582822,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -560691,18 +582842,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3665, + 3855, 1 ], "end": [ - 3665, + 3855, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6644": { + "6683": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -560711,7 +582862,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6644, + "id": 6683, "inner": { "impl": { "blanket_impl": null, @@ -560727,7 +582878,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -560736,7 +582887,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -560757,7 +582908,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6643 + 6682 ], "provided_trait_methods": [ "lt", @@ -560777,7 +582928,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -560786,7 +582937,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -560795,19 +582946,22 @@ "name": null, "span": { "begin": [ - 3665, + 3855, 1 ], "end": [ - 3665, + 3855, 47 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6646": { + "6685": { "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143773, is_soft: false}, feature: \"const_convert\", promotable: false}}]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } @@ -560815,7 +582969,7 @@ "crate_id": 0, "deprecation": null, "docs": "Directly wraps a string slice as a `Path` slice.\n\nThis is a cost-free conversion.\n\n# Examples\n\n```\nuse std::path::Path;\n\nPath::new(\"foo.txt\");\n```\n\nYou can create `Path`s from `String`s, or even other `Path`s:\n\n```\nuse std::path::Path;\n\nlet string = String::from(\"foo.txt\");\nlet from_string = Path::new(&string);\nlet from_path = Path::new(&from_string);\nassert_eq!(from_string, from_path);\n```", - "id": 6646, + "id": 6685, "inner": { "function": { "generics": { @@ -560827,7 +582981,7 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe_const", "trait": { "args": { "angle_bracketed": { @@ -560836,7 +582990,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -560875,7 +583029,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -560901,7 +583055,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -560914,18 +583068,18 @@ "name": "new", "span": { "begin": [ - 2267, + 2359, 5 ], "end": [ - 2269, + 2361, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6647": { + "6686": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -560942,7 +583096,7 @@ "crate_id": 0, "deprecation": null, "docs": "Yields the underlying [`OsStr`] slice.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet os_str = Path::new(\"foo.txt\").as_os_str();\nassert_eq!(os_str, std::ffi::OsStr::new(\"foo.txt\"));\n```", - "id": 6647, + "id": 6686, "inner": { "function": { "generics": { @@ -560979,7 +583133,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -560989,23 +583143,23 @@ } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "as_os_str", "span": { "begin": [ - 2290, + 2383, 5 ], "end": [ - 2292, + 2385, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6648": { + "6687": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"path_as_mut_os_str\"}}]" @@ -561022,7 +583176,7 @@ "crate_id": 0, "deprecation": null, "docs": "Yields a mutable reference to the underlying [`OsStr`] slice.\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nlet mut path = PathBuf::from(\"Foo.TXT\");\n\nassert_ne!(path, Path::new(\"foo.txt\"));\n\npath.as_mut_os_str().make_ascii_lowercase();\nassert_eq!(path, Path::new(\"foo.txt\"));\n```", - "id": 6648, + "id": 6687, "inner": { "function": { "generics": { @@ -561059,7 +583213,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -561069,23 +583223,23 @@ } }, "links": { - "`OsStr`": 1720 + "`OsStr`": 1719 }, "name": "as_mut_os_str", "span": { "begin": [ - 2311, + 2404, 5 ], "end": [ - 2313, + 2406, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6649": { + "6688": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -561102,7 +583256,7 @@ "crate_id": 0, "deprecation": null, "docs": "Yields a [`&str`] slice if the `Path` is valid unicode.\n\nThis conversion may entail doing a check for UTF-8 validity.\nNote that validation is performed because non-UTF-8 strings are\nperfectly valid for some OS.\n\n[`&str`]: str\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"foo.txt\");\nassert_eq!(path.to_str(), Some(\"foo.txt\"));\n```", - "id": 6649, + "id": 6688, "inner": { "function": { "generics": { @@ -561160,71 +583314,23 @@ } }, "links": { - "str": 1928 + "str": 1926 }, "name": "to_str", "span": { "begin": [ - 2335, + 2428, 5 ], "end": [ - 2337, + 2430, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "665": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 665, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 660, - 661, - 662, - 663 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 250, - 1 - ], - "end": [ - 370, - 2 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "default" - }, - "6650": { + "6689": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -561241,7 +583347,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a `Path` to a [`Cow`].\n\nAny non-UTF-8 sequences are replaced with\n[`U+FFFD REPLACEMENT CHARACTER`][U+FFFD].\n\n[U+FFFD]: super::char::REPLACEMENT_CHARACTER\n\n# Examples\n\nCalling `to_string_lossy` on a `Path` with valid unicode:\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"foo.txt\");\nassert_eq!(path.to_string_lossy(), \"foo.txt\");\n```\n\nHad `path` contained invalid unicode, the `to_string_lossy` call might\nhave returned `\"fo�.txt\"`.", - "id": 6650, + "id": 6689, "inner": { "function": { "generics": { @@ -561288,7 +583394,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -561296,24 +583402,61 @@ } }, "links": { - "`Cow`": 2035, - "super::char::REPLACEMENT_CHARACTER": 2139 + "`Cow`": 2033, + "super::char::REPLACEMENT_CHARACTER": 2137 }, "name": "to_string_lossy", "span": { "begin": [ - 2363, + 2456, 5 ], "end": [ - 2365, + 2458, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6651": { + "669": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 669, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6690": { "attrs": [ { "other": "#[rustc_conversion_suggestion]" @@ -561336,7 +583479,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a `Path` to an owned [`PathBuf`].\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nlet path_buf = Path::new(\"foo.txt\").to_path_buf();\nassert_eq!(path_buf, PathBuf::from(\"foo.txt\"));\n```", - "id": 6651, + "id": 6690, "inner": { "function": { "generics": { @@ -561369,7 +583512,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -561377,23 +583520,23 @@ } }, "links": { - "`PathBuf`": 1664 + "`PathBuf`": 1663 }, "name": "to_path_buf", "span": { "begin": [ - 2382, + 2475, 5 ], "end": [ - 2384, + 2477, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6652": { + "6691": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -561410,7 +583553,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the `Path` has a root.\n\n* On Unix, a path has a root if it begins with `/`.\n\n* On Windows, a path has a root if it:\n * has no prefix and begins with a separator, e.g., `\\windows`\n * has a prefix followed by a separator, e.g., `c:\\windows` but not `c:windows`\n * has any non-disk prefix, e.g., `\\\\server\\share`\n\n# Examples\n\n```\nuse std::path::Path;\n\nassert!(Path::new(\"/etc/passwd\").has_root());\n```", - "id": 6652, + "id": 6691, "inner": { "function": { "generics": { @@ -561450,18 +583593,18 @@ "name": "has_root", "span": { "begin": [ - 2454, + 2547, 5 ], "end": [ - 2456, + 2549, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6653": { + "6692": { "attrs": [ { "other": "#[allow(deprecated)]" @@ -561478,7 +583621,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the `Path` is absolute, i.e., if it is independent of\nthe current directory.\n\n* On Unix, a path is absolute if it starts with the root, so\n`is_absolute` and [`has_root`] are equivalent.\n\n* On Windows, a path is absolute if it has a prefix and starts with the\nroot: `c:\\windows` is absolute, while `c:temp` and `\\temp` are not.\n\n# Examples\n\n```\nuse std::path::Path;\n\nassert!(!Path::new(\"foo.txt\").is_absolute());\n```\n\n[`has_root`]: Path::has_root", - "id": 6653, + "id": 6692, "inner": { "function": { "generics": { @@ -561515,23 +583658,23 @@ } }, "links": { - "Path::has_root": 6652 + "Path::has_root": 6691 }, "name": "is_absolute", "span": { "begin": [ - 2407, + 2500, 5 ], "end": [ - 2409, + 2502, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6654": { + "6693": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -561548,7 +583691,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the `Path` is relative, i.e., not absolute.\n\nSee [`is_absolute`]'s documentation for more details.\n\n# Examples\n\n```\nuse std::path::Path;\n\nassert!(Path::new(\"foo.txt\").is_relative());\n```\n\n[`is_absolute`]: Path::is_absolute", - "id": 6654, + "id": 6693, "inner": { "function": { "generics": { @@ -561585,23 +583728,23 @@ } }, "links": { - "Path::is_absolute": 6653 + "Path::is_absolute": 6692 }, "name": "is_relative", "span": { "begin": [ - 2427, + 2520, 5 ], "end": [ - 2429, + 2522, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6655": { + "6694": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -561615,7 +583758,7 @@ "crate_id": 0, "deprecation": null, "docs": "Determines whether `base` is a prefix of `self`.\n\nOnly considers whole path components to match.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"/etc/passwd\");\n\nassert!(path.starts_with(\"/etc\"));\nassert!(path.starts_with(\"/etc/\"));\nassert!(path.starts_with(\"/etc/passwd\"));\nassert!(path.starts_with(\"/etc/passwd/\")); // extra slash is okay\nassert!(path.starts_with(\"/etc/passwd///\")); // multiple extra slashes are okay\n\nassert!(!path.starts_with(\"/e\"));\nassert!(!path.starts_with(\"/etc/passwd.txt\"));\n\nassert!(!Path::new(\"/etc/foo.rs\").starts_with(\"/etc/foo\"));\n```", - "id": 6655, + "id": 6694, "inner": { "function": { "generics": { @@ -561636,7 +583779,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -561699,18 +583842,18 @@ "name": "starts_with", "span": { "begin": [ - 2630, + 2723, 5 ], "end": [ - 2632, + 2725, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6656": { + "6695": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"path_strip_prefix\"}}]" @@ -561719,7 +583862,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns a path that, when joined onto `base`, yields `self`.\n\n# Errors\n\nIf `base` is not a prefix of `self` (i.e., [`starts_with`]\nreturns `false`), returns [`Err`].\n\n[`starts_with`]: Path::starts_with\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nlet path = Path::new(\"/test/haha/foo.txt\");\n\nassert_eq!(path.strip_prefix(\"/\"), Ok(Path::new(\"test/haha/foo.txt\")));\nassert_eq!(path.strip_prefix(\"/test\"), Ok(Path::new(\"haha/foo.txt\")));\nassert_eq!(path.strip_prefix(\"/test/\"), Ok(Path::new(\"haha/foo.txt\")));\nassert_eq!(path.strip_prefix(\"/test/haha/foo.txt\"), Ok(Path::new(\"\")));\nassert_eq!(path.strip_prefix(\"/test/haha/foo.txt/\"), Ok(Path::new(\"\")));\n\nassert!(path.strip_prefix(\"test\").is_err());\nassert!(path.strip_prefix(\"/te\").is_err());\nassert!(path.strip_prefix(\"/haha\").is_err());\n\nlet prefix = PathBuf::from(\"/test/\");\nassert_eq!(path.strip_prefix(prefix), Ok(Path::new(\"haha/foo.txt\")));\n```", - "id": 6656, + "id": 6695, "inner": { "function": { "generics": { @@ -561751,7 +583894,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -561816,7 +583959,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -561827,7 +583970,7 @@ "type": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } } @@ -561844,24 +583987,24 @@ } }, "links": { - "Path::starts_with": 6655, + "Path::starts_with": 6694, "`Err`": 59 }, "name": "strip_prefix", "span": { "begin": [ - 2593, + 2686, 5 ], "end": [ - 2598, + 2691, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6657": { + "6696": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"strip_prefix\"}}]" @@ -561870,7 +584013,7 @@ "crate_id": 0, "deprecation": null, "docs": "An error returned from [`Path::strip_prefix`] if the prefix was not found.\n\nThis `struct` is created by the [`strip_prefix`] method on [`Path`].\nSee its documentation for more.\n\n[`strip_prefix`]: Path::strip_prefix", - "id": 6657, + "id": 6696, "inner": { "struct": { "generics": { @@ -561878,29 +584021,29 @@ "where_predicates": [] }, "impls": [ - 6778, - 6779, - 6780, - 6781, - 6782, - 6783, - 6784, - 6785, - 6786, - 6787, - 6788, - 6789, - 6790, - 6791, - 6792, - 6793, - 6795, - 6797, - 6798, - 6800, - 6801, - 6803, - 6805 + 6817, + 6818, + 6819, + 6820, + 6821, + 6822, + 6823, + 6824, + 6825, + 6826, + 6827, + 6828, + 6829, + 6830, + 6831, + 6832, + 6834, + 6836, + 6837, + 6839, + 6840, + 6842, + 6843 ], "kind": { "tuple": [ @@ -561910,25 +584053,25 @@ } }, "links": { - "Path::strip_prefix": 6656, - "`Path::strip_prefix`": 6656, - "`Path`": 1667 + "Path::strip_prefix": 6695, + "`Path::strip_prefix`": 6695, + "`Path`": 1666 }, "name": "StripPrefixError", "span": { "begin": [ - 2224, + 2315, 1 ], "end": [ - 2224, + 2315, 33 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6658": { + "6697": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -561942,7 +584085,7 @@ "crate_id": 0, "deprecation": null, "docs": "Determines whether `child` is a suffix of `self`.\n\nOnly considers whole path components to match.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"/etc/resolv.conf\");\n\nassert!(path.ends_with(\"resolv.conf\"));\nassert!(path.ends_with(\"etc/resolv.conf\"));\nassert!(path.ends_with(\"/etc/resolv.conf\"));\n\nassert!(!path.ends_with(\"/resolv.conf\"));\nassert!(!path.ends_with(\"conf\")); // use .extension() instead\n```", - "id": 6658, + "id": 6697, "inner": { "function": { "generics": { @@ -561963,7 +584106,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -562026,21 +584169,21 @@ "name": "ends_with", "span": { "begin": [ - 2658, + 2751, 5 ], "end": [ - 2660, + 2753, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6659": { + "6698": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"path_file_prefix\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"path_file_prefix\"}}]" }, { "must_use": { @@ -562051,7 +584194,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts the prefix of [`self.file_name`].\n\nThe prefix is:\n\n* [`None`], if there is no file name;\n* The entire file name if there is no embedded `.`;\n* The portion of the file name before the first non-beginning `.`;\n* The entire file name if the file name begins with `.` and has no other `.`s within;\n* The portion of the file name before the second `.` if the file name begins with `.`\n\n[`self.file_name`]: Path::file_name\n\n# Examples\n\n```\nuse std::path::Path;\n\nassert_eq!(\"foo\", Path::new(\"foo.rs\").file_prefix().unwrap());\nassert_eq!(\"foo\", Path::new(\"foo.tar.gz\").file_prefix().unwrap());\nassert_eq!(\".config\", Path::new(\".config\").file_prefix().unwrap());\nassert_eq!(\".config\", Path::new(\".config.toml\").file_prefix().unwrap());\n```\n\n# See Also\nThis method is similar to [`Path::file_stem`], which extracts the portion of the file name\nbefore the *last* `.`\n\n[`Path::file_stem`]: Path::file_stem\n", - "id": 6659, + "id": 6698, "inner": { "function": { "generics": { @@ -562094,7 +584237,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -562113,102 +584256,25 @@ } }, "links": { - "Path::file_name": 6519, - "Path::file_stem": 6660, + "Path::file_name": 6558, + "Path::file_stem": 6699, "`None`": 53 }, "name": "file_prefix", "span": { "begin": [ - 2729, + 2822, 5 ], "end": [ - 2731, + 2824, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "666": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 79676, is_soft: false}, feature: \"backtrace_frames\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns an iterator over the backtrace frames.", - "id": 666, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "slice": { - "resolved_path": { - "args": null, - "id": 667, - "path": "BacktraceFrame" - } - } - } - } - } - } - } - }, - "links": {}, - "name": "frames", - "span": { - "begin": [ - 376, - 5 - ], - "end": [ - 378, - 6 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "public" - }, - "6660": { + "6699": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -562222,7 +584288,7 @@ "crate_id": 0, "deprecation": null, "docs": "Extracts the stem (non-extension) portion of [`self.file_name`].\n\n[`self.file_name`]: Path::file_name\n\nThe stem is:\n\n* [`None`], if there is no file name;\n* The entire file name if there is no embedded `.`;\n* The entire file name if the file name begins with `.` and has no other `.`s within;\n* Otherwise, the portion of the file name before the final `.`\n\n# Examples\n\n```\nuse std::path::Path;\n\nassert_eq!(\"foo\", Path::new(\"foo.rs\").file_stem().unwrap());\nassert_eq!(\"foo.tar\", Path::new(\"foo.tar.gz\").file_stem().unwrap());\n```\n\n# See Also\nThis method is similar to [`Path::file_prefix`], which extracts the portion of the file name\nbefore the *first* `.`\n\n[`Path::file_prefix`]: Path::file_prefix\n", - "id": 6660, + "id": 6699, "inner": { "function": { "generics": { @@ -562265,7 +584331,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -562284,25 +584350,62 @@ } }, "links": { - "Path::file_name": 6519, - "Path::file_prefix": 6659, + "Path::file_name": 6558, + "Path::file_prefix": 6698, "`None`": 53 }, "name": "file_stem", "span": { "begin": [ - 2694, + 2787, 5 ], "end": [ - 2696, + 2789, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6661": { + "670": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 670, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6700": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -562316,7 +584419,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an owned [`PathBuf`] like `self` but with the given file name.\n\nSee [`PathBuf::set_file_name`] for more details.\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nlet path = Path::new(\"/tmp/foo.png\");\nassert_eq!(path.with_file_name(\"bar\"), PathBuf::from(\"/tmp/bar\"));\nassert_eq!(path.with_file_name(\"bar.txt\"), PathBuf::from(\"/tmp/bar.txt\"));\n\nlet path = Path::new(\"/tmp\");\nassert_eq!(path.with_file_name(\"var\"), PathBuf::from(\"/var\"));\n```", - "id": 6661, + "id": 6700, "inner": { "function": { "generics": { @@ -562337,7 +584440,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -562393,7 +584496,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -562401,24 +584504,24 @@ } }, "links": { - "`PathBuf::set_file_name`": 6520, - "`PathBuf`": 1664 + "`PathBuf::set_file_name`": 6559, + "`PathBuf`": 1663 }, "name": "with_file_name", "span": { "begin": [ - 2802, + 2983, 5 ], "end": [ - 2804, + 2985, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6662": { + "6701": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -562427,7 +584530,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates an owned [`PathBuf`] like `self` but with the given extension.\n\nSee [`PathBuf::set_extension`] for more details.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"foo.rs\");\nassert_eq!(path.with_extension(\"txt\"), Path::new(\"foo.txt\"));\nassert_eq!(path.with_extension(\"\"), Path::new(\"foo\"));\n```\n\nHandling multiple extensions:\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"foo.tar.gz\");\nassert_eq!(path.with_extension(\"xz\"), Path::new(\"foo.tar.xz\"));\nassert_eq!(path.with_extension(\"\").with_extension(\"txt\"), Path::new(\"foo.txt\"));\n```\n\nAdding an extension where one did not exist:\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"foo\");\nassert_eq!(path.with_extension(\"rs\"), Path::new(\"foo.rs\"));\n```", - "id": 6662, + "id": 6701, "inner": { "function": { "generics": { @@ -562448,7 +584551,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -562504,7 +584607,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -562512,33 +584615,33 @@ } }, "links": { - "`PathBuf::set_extension`": 6509, - "`PathBuf`": 1664 + "`PathBuf::set_extension`": 6542, + "`PathBuf`": 1663 }, "name": "with_extension", "span": { "begin": [ - 2845, + 3026, 5 ], "end": [ - 2847, + 3028, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6663": { + "6702": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 127292, is_soft: false}, feature: \"path_add_extension\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"path_add_extension\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Creates an owned [`PathBuf`] like `self` but with the extension added.\n\nSee [`PathBuf::add_extension`] for more details.\n\n# Examples\n\n```\n#![feature(path_add_extension)]\n\nuse std::path::{Path, PathBuf};\n\nlet path = Path::new(\"foo.rs\");\nassert_eq!(path.with_added_extension(\"txt\"), PathBuf::from(\"foo.rs.txt\"));\n\nlet path = Path::new(\"foo.tar.gz\");\nassert_eq!(path.with_added_extension(\"\"), PathBuf::from(\"foo.tar.gz\"));\nassert_eq!(path.with_added_extension(\"xz\"), PathBuf::from(\"foo.tar.gz.xz\"));\nassert_eq!(path.with_added_extension(\"\").with_added_extension(\"txt\"), PathBuf::from(\"foo.tar.gz.txt\"));\n```", - "id": 6663, + "docs": "Creates an owned [`PathBuf`] like `self` but with the extension added.\n\nSee [`PathBuf::add_extension`] for more details.\n\n# Examples\n\n```\nuse std::path::{Path, PathBuf};\n\nlet path = Path::new(\"foo.rs\");\nassert_eq!(path.with_added_extension(\"txt\"), PathBuf::from(\"foo.rs.txt\"));\n\nlet path = Path::new(\"foo.tar.gz\");\nassert_eq!(path.with_added_extension(\"\"), PathBuf::from(\"foo.tar.gz\"));\nassert_eq!(path.with_added_extension(\"xz\"), PathBuf::from(\"foo.tar.gz.xz\"));\nassert_eq!(path.with_added_extension(\"\").with_added_extension(\"txt\"), PathBuf::from(\"foo.tar.gz.txt\"));\n```", + "id": 6702, "inner": { "function": { "generics": { @@ -562559,7 +584662,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -562615,7 +584718,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -562623,24 +584726,24 @@ } }, "links": { - "`PathBuf::add_extension`": 6522, - "`PathBuf`": 1664 + "`PathBuf::add_extension`": 6561, + "`PathBuf`": 1663 }, "name": "with_added_extension", "span": { "begin": [ - 2894, + 3073, 5 ], "end": [ - 2898, + 3077, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6664": { + "6703": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -562657,7 +584760,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns an object that implements [`Display`] for safely printing paths\nthat may contain non-Unicode data. This may perform lossy conversion,\ndepending on the platform. If you would like an implementation which\nescapes the path please use [`Debug`] instead.\n\n[`Display`]: fmt::Display\n[`Debug`]: fmt::Debug\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"/tmp/foo.rs\");\n\nprintln!(\"{}\", path.display());\n```", - "id": 6664, + "id": 6703, "inner": { "function": { "generics": { @@ -562699,7 +584802,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } } @@ -562707,24 +584810,24 @@ } }, "links": { - "fmt::Debug": 346, + "fmt::Debug": 344, "fmt::Display": 436 }, "name": "display", "span": { "begin": [ - 2992, + 3171, 5 ], "end": [ - 2994, + 3173, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6665": { + "6704": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -562733,7 +584836,7 @@ "crate_id": 0, "deprecation": null, "docs": "Helper struct for safely printing paths with [`format!`] and `{}`.\n\nA [`Path`] might contain non-Unicode data. This `struct` implements the\n[`Display`] trait in a way that mitigates that. It is created by the\n[`display`](Path::display) method on [`Path`]. This may perform lossy\nconversion, depending on the platform. If you would like an implementation\nwhich escapes the path please use [`Debug`] instead.\n\n# Examples\n\n```\nuse std::path::Path;\n\nlet path = Path::new(\"/tmp/foo.rs\");\n\nprintln!(\"{}\", path.display());\n```\n\n[`Display`]: fmt::Display\n[`format!`]: crate::format", - "id": 6665, + "id": 6704, "inner": { "struct": { "generics": { @@ -562750,22 +584853,22 @@ "where_predicates": [] }, "impls": [ - 6829, - 6830, - 6831, - 6832, - 6833, - 6834, - 6835, - 6836, - 6837, - 6838, - 6839, - 6840, - 6841, - 6842, - 6844, - 6846 + 6867, + 6868, + 6869, + 6870, + 6871, + 6872, + 6873, + 6874, + 6875, + 6876, + 6877, + 6878, + 6879, + 6880, + 6882, + 6884 ], "kind": { "plain": { @@ -562776,27 +584879,27 @@ } }, "links": { - "Path::display": 6664, - "`Debug`": 107, - "`Path`": 1667, - "crate::format": 2328, + "Path::display": 6703, + "`Debug`": 105, + "`Path`": 1666, + "crate::format": 2326, "fmt::Display": 436 }, "name": "Display", "span": { "begin": [ - 3375, + 3563, 1 ], "end": [ - 3377, + 3565, 2 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6666": { + "6705": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"path_ext\"}}]" @@ -562808,7 +584911,7 @@ "crate_id": 0, "deprecation": null, "docs": "Queries the file system to get information about a file, directory, etc.\n\nThis function will traverse symbolic links to query information about the\ndestination file.\n\nThis is an alias to [`fs::metadata`].\n\n# Examples\n\n```no_run\nuse std::path::Path;\n\nlet path = Path::new(\"/Minas/tirith\");\nlet metadata = path.metadata().expect(\"metadata call failed\");\nprintln!(\"{:?}\", metadata.file_type());\n```", - "id": 6666, + "id": 6705, "inner": { "function": { "generics": { @@ -562847,7 +584950,7 @@ "type": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "fs::Metadata" } } @@ -562856,7 +584959,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -562869,18 +584972,18 @@ "name": "metadata", "span": { "begin": [ - 3014, + 3193, 5 ], "end": [ - 3016, + 3195, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6667": { + "6706": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"path_ext\"}}]" @@ -562892,7 +584995,7 @@ "crate_id": 0, "deprecation": null, "docs": "Queries the metadata about a file without following symlinks.\n\nThis is an alias to [`fs::symlink_metadata`].\n\n# Examples\n\n```no_run\nuse std::path::Path;\n\nlet path = Path::new(\"/Minas/tirith\");\nlet metadata = path.symlink_metadata().expect(\"symlink_metadata call failed\");\nprintln!(\"{:?}\", metadata.file_type());\n```", - "id": 6667, + "id": 6706, "inner": { "function": { "generics": { @@ -562931,7 +585034,7 @@ "type": { "resolved_path": { "args": null, - "id": 2441, + "id": 2439, "path": "fs::Metadata" } } @@ -562940,7 +585043,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -562953,18 +585056,18 @@ "name": "symlink_metadata", "span": { "begin": [ - 3033, + 3212, 5 ], "end": [ - 3035, + 3214, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6668": { + "6707": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"path_ext\"}}]" @@ -562975,8 +585078,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the canonical, absolute form of the path with all intermediate\ncomponents normalized and symbolic links resolved.\n\nThis is an alias to [`fs::canonicalize`].\n\n# Examples\n\n```no_run\nuse std::path::{Path, PathBuf};\n\nlet path = Path::new(\"/foo/test/../test/bar.rs\");\nassert_eq!(path.canonicalize().unwrap(), PathBuf::from(\"/foo/test/bar.rs\"));\n```", - "id": 6668, + "docs": "Returns the canonical, absolute form of the path with all intermediate\ncomponents normalized and symbolic links resolved.\n\nThis is an alias to [`fs::canonicalize`].\n\n# Errors\n\nThis method will return an error in the following situations, but is not\nlimited to just these cases:\n\n* `path` does not exist.\n* A non-final component in path is not a directory.\n\n# Examples\n\n```no_run\nuse std::path::{Path, PathBuf};\n\nlet path = Path::new(\"/foo/test/../test/bar.rs\");\nassert_eq!(path.canonicalize().unwrap(), PathBuf::from(\"/foo/test/bar.rs\"));\n```", + "id": 6707, "inner": { "function": { "generics": { @@ -563015,7 +585118,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -563024,7 +585127,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -563032,23 +585135,23 @@ } }, "links": { - "`fs::canonicalize`": 2971 + "`fs::canonicalize`": 2973 }, "name": "canonicalize", "span": { "begin": [ - 3052, + 3239, 5 ], "end": [ - 3054, + 3241, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6669": { + "6708": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 79, patch: 0})}, feature: \"absolute_path\"}}]" @@ -563056,8 +585159,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Makes the path absolute without accessing the filesystem.\n\nIf the path is relative, the current directory is used as the base directory.\nAll intermediate components will be resolved according to platform-specific\nrules, but unlike [`canonicalize`][crate::fs::canonicalize], this does not\nresolve symlinks and may succeed even if the path does not exist.\n\nIf the `path` is empty or getting the\n[current directory][crate::env::current_dir] fails, then an error will be\nreturned.\n\n# Platform-specific behavior\n\nOn POSIX platforms, the path is resolved using [POSIX semantics][posix-semantics],\nexcept that it stops short of resolving symlinks. This means it will keep `..`\ncomponents and trailing slashes.\n\nOn Windows, for verbatim paths, this will simply return the path as given. For other\npaths, this is currently equivalent to calling\n[`GetFullPathNameW`][windows-path].\n\nOn Cygwin, this is currently equivalent to calling [`cygwin_conv_path`][cygwin-path]\nwith mode `CCP_WIN_A_TO_POSIX`, and then being processed like other POSIX platforms.\nIf a Windows path is given, it will be converted to an absolute POSIX path without\nkeeping `..`.\n\nNote that these [may change in the future][changes].\n\n# Errors\n\nThis function may return an error in the following situations:\n\n* If `path` is syntactically invalid; in particular, if it is empty.\n* If getting the [current directory][crate::env::current_dir] fails.\n\n# Examples\n\n## POSIX paths\n\n```\n# #[cfg(unix)]\nfn main() -> std::io::Result<()> {\n use std::path::{self, Path};\n\n // Relative to absolute\n let absolute = path::absolute(\"foo/./bar\")?;\n assert!(absolute.ends_with(\"foo/bar\"));\n\n // Absolute to absolute\n let absolute = path::absolute(\"/foo//test/.././bar.rs\")?;\n assert_eq!(absolute, Path::new(\"/foo/test/../bar.rs\"));\n Ok(())\n}\n# #[cfg(not(unix))]\n# fn main() {}\n```\n\n## Windows paths\n\n```\n# #[cfg(windows)]\nfn main() -> std::io::Result<()> {\n use std::path::{self, Path};\n\n // Relative to absolute\n let absolute = path::absolute(\"foo/./bar\")?;\n assert!(absolute.ends_with(r\"foo\\bar\"));\n\n // Absolute to absolute\n let absolute = path::absolute(r\"C:\\foo//test\\..\\./bar.rs\")?;\n\n assert_eq!(absolute, Path::new(r\"C:\\foo\\bar.rs\"));\n Ok(())\n}\n# #[cfg(not(windows))]\n# fn main() {}\n```\n\nNote that this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n[posix-semantics]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13\n[windows-path]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfullpathnamew\n[cygwin-path]: https://cygwin.com/cygwin-api/func-cygwin-conv-path.html", - "id": 6669, + "docs": "Makes the path absolute without accessing the filesystem.\n\nIf the path is relative, the current directory is used as the base directory.\nAll intermediate components will be resolved according to platform-specific\nrules, but unlike [`canonicalize`][crate::fs::canonicalize], this does not\nresolve symlinks and may succeed even if the path does not exist.\n\nIf the `path` is empty or getting the\n[current directory][crate::env::current_dir] fails, then an error will be\nreturned.\n\n# Platform-specific behavior\n\nOn POSIX platforms, the path is resolved using [POSIX semantics][posix-semantics],\nexcept that it stops short of resolving symlinks. This means it will keep `..`\ncomponents and trailing separators.\n\nOn Windows, for verbatim paths, this will simply return the path as given. For other\npaths, this is currently equivalent to calling\n[`GetFullPathNameW`][windows-path].\n\nOn Cygwin, this is currently equivalent to calling [`cygwin_conv_path`][cygwin-path]\nwith mode `CCP_WIN_A_TO_POSIX`, and then being processed like other POSIX platforms.\nIf a Windows path is given, it will be converted to an absolute POSIX path without\nkeeping `..`.\n\nNote that these [may change in the future][changes].\n\n# Errors\n\nThis function may return an error in the following situations:\n\n* If `path` is syntactically invalid; in particular, if it is empty.\n* If getting the [current directory][crate::env::current_dir] fails.\n\n# Examples\n\n## POSIX paths\n\n```\n# #[cfg(unix)]\nfn main() -> std::io::Result<()> {\n use std::path::{self, Path};\n\n // Relative to absolute\n let absolute = path::absolute(\"foo/./bar\")?;\n assert!(absolute.ends_with(\"foo/bar\"));\n\n // Absolute to absolute\n let absolute = path::absolute(\"/foo//test/.././bar.rs\")?;\n assert_eq!(absolute, Path::new(\"/foo/test/../bar.rs\"));\n Ok(())\n}\n# #[cfg(not(unix))]\n# fn main() {}\n```\n\n## Windows paths\n\n```\n# #[cfg(windows)]\nfn main() -> std::io::Result<()> {\n use std::path::{self, Path};\n\n // Relative to absolute\n let absolute = path::absolute(\"foo/./bar\")?;\n assert!(absolute.ends_with(r\"foo\\bar\"));\n\n // Absolute to absolute\n let absolute = path::absolute(r\"C:\\foo//test\\..\\./bar.rs\")?;\n\n assert_eq!(absolute, Path::new(r\"C:\\foo\\bar.rs\"));\n Ok(())\n}\n# #[cfg(not(windows))]\n# fn main() {}\n```\n\nNote that this [may change in the future][changes].\n\n[changes]: io#platform-specific-behavior\n[posix-semantics]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13\n[windows-path]: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfullpathnamew\n[cygwin-path]: https://cygwin.com/cygwin-api/func-cygwin-conv-path.html", + "id": 6708, "inner": { "function": { "generics": { @@ -563078,7 +585181,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -563128,7 +585231,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -563137,7 +585240,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -563145,80 +585248,25 @@ } }, "links": { - "crate::env::current_dir": 1665, - "crate::fs::canonicalize": 2971, - "io#platform-specific-behavior": 501 + "crate::env::current_dir": 1664, + "crate::fs::canonicalize": 2973, + "io#platform-specific-behavior": 502 }, "name": "absolute", "span": { "begin": [ - 3788, + 3972, 1 ], "end": [ - 3795, + 3979, 2 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "667": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 79676, is_soft: false}, feature: \"backtrace_frames\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A single frame of a backtrace.", - "id": 667, - "inner": { - "struct": { - "generics": { - "params": [], - "where_predicates": [] - }, - "impls": [ - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 725 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": {}, - "name": "BacktraceFrame", - "span": { - "begin": [ - 150, - 1 - ], - "end": [ - 153, - 2 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "public" - }, - "6670": { + "6709": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134694, is_soft: false}, feature: \"normalize_lexically\"}}]" @@ -563227,7 +585275,7 @@ "crate_id": 0, "deprecation": null, "docs": "Normalize a path, including `..` without traversing the filesystem.\n\nReturns an error if normalization would leave leading `..` components.\n\n
\n\nThis function always resolves `..` to the \"lexical\" parent.\nThat is \"a/b/../c\" will always resolve to `a/c` which can change the meaning of the path.\nIn particular, `a/c` and `a/b/../c` are distinct on many systems because `b` may be a symbolic link, so its parent isn't `a`.\n\n
\n\n[`path::absolute`](absolute) is an alternative that preserves `..`.\nOr [`Path::canonicalize`] can be used to resolve any `..` by querying the filesystem.", - "id": 6670, + "id": 6709, "inner": { "function": { "generics": { @@ -563266,7 +585314,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -563275,7 +585323,7 @@ "type": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } } @@ -563292,24 +585340,61 @@ } }, "links": { - "`Path::canonicalize`": 6668, - "absolute": 6669 + "`Path::canonicalize`": 6707, + "absolute": 6708 }, "name": "normalize_lexically", "span": { "begin": [ - 3071, + 3258, 5 ], "end": [ - 3115, + 3302, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6671": { + "671": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 671, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6710": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134694, is_soft: false}, feature: \"normalize_lexically\"}}]" @@ -563319,7 +585404,7 @@ "crate_id": 0, "deprecation": null, "docs": "An error returned from [`Path::normalize_lexically`] if a `..` parent reference\nwould escape the path.", - "id": 6671, + "id": 6710, "inner": { "struct": { "generics": { @@ -563327,47 +585412,47 @@ "where_predicates": [] }, "impls": [ - 6806, - 6807, - 6808, - 6809, - 6810, - 6811, - 6812, - 6813, - 6814, - 6815, - 6816, - 6817, - 6818, - 6819, - 6821, - 6822, - 6824, - 6826, - 6827 + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6850, + 6851, + 6852, + 6853, + 6854, + 6855, + 6856, + 6857, + 6859, + 6860, + 6862, + 6864, + 6865 ], "kind": "unit" } }, "links": { - "`Path::normalize_lexically`": 6670 + "`Path::normalize_lexically`": 6709 }, "name": "NormalizeError", "span": { "begin": [ - 2231, + 2322, 1 ], "end": [ - 2231, + 2322, 27 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6672": { + "6711": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"path_ext\"}}]" @@ -563379,7 +585464,7 @@ "crate_id": 0, "deprecation": null, "docs": "Reads a symbolic link, returning the file that the link points to.\n\nThis is an alias to [`fs::read_link`].\n\n# Examples\n\n```no_run\nuse std::path::Path;\n\nlet path = Path::new(\"/laputa/sky_castle.rs\");\nlet path_link = path.read_link().expect(\"read_link call failed\");\n```", - "id": 6672, + "id": 6711, "inner": { "function": { "generics": { @@ -563418,7 +585503,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -563427,7 +585512,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -563435,23 +585520,23 @@ } }, "links": { - "`fs::read_link`": 2970 + "`fs::read_link`": 2972 }, "name": "read_link", "span": { "begin": [ - 3131, + 3318, 5 ], "end": [ - 3133, + 3320, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6673": { + "6712": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"path_ext\"}}]" @@ -563463,7 +585548,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns an iterator over the entries within a directory.\n\nThe iterator will yield instances of [io::Result]<[fs::DirEntry]>. New\nerrors may be encountered after an iterator is initially constructed.\n\nThis is an alias to [`fs::read_dir`].\n\n# Examples\n\n```no_run\nuse std::path::Path;\n\nlet path = Path::new(\"/laputa\");\nfor entry in path.read_dir().expect(\"read_dir call failed\") {\n if let Ok(entry) = entry {\n println!(\"{:?}\", entry.path());\n }\n}\n```", - "id": 6673, + "id": 6712, "inner": { "function": { "generics": { @@ -563511,7 +585596,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -563521,23 +585606,23 @@ "links": { "`fs::read_dir`": 2712, "fs::DirEntry": 2713, - "io::Result": 468 + "io::Result": 469 }, "name": "read_dir", "span": { "begin": [ - 3156, + 3343, 5 ], "end": [ - 3158, + 3345, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6674": { + "6713": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"path_try_exists\"}}]" @@ -563549,7 +585634,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `Ok(true)` if the path points at an existing entity.\n\nThis function will traverse symbolic links to query information about the\ndestination file. In case of broken symbolic links this will return `Ok(false)`.\n\n[`Path::exists()`] only checks whether or not a path was both found and readable. By\ncontrast, `try_exists` will return `Ok(true)` or `Ok(false)`, respectively, if the path\nwas _verified_ to exist or not exist. If its existence can neither be confirmed nor\ndenied, it will propagate an `Err(_)` instead. This can be the case if e.g. listing\npermission is denied on one of the parent directories.\n\nNote that while this avoids some pitfalls of the `exists()` method, it still can not\nprevent time-of-check to time-of-use ([TOCTOU]) bugs. You should only use it in scenarios\nwhere those bugs are not an issue.\n\nThis is an alias for [`std::fs::exists`](crate::fs::exists).\n\n# Examples\n\n```no_run\nuse std::path::Path;\nassert!(!Path::new(\"does_not_exist.txt\").try_exists().expect(\"Can't check existence of file does_not_exist.txt\"));\nassert!(Path::new(\"/root/secret_file.txt\").try_exists().is_err());\n```\n\n[TOCTOU]: fs#time-of-check-to-time-of-use-toctou\n[`exists()`]: Self::exists", - "id": 6674, + "id": 6713, "inner": { "function": { "generics": { @@ -563593,7 +585678,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -563601,26 +585686,26 @@ } }, "links": { - "Self::exists": 2979, - "`Path::exists()`": 2979, - "crate::fs::exists": 2980, - "fs#time-of-check-to-time-of-use-toctou": 2424 + "Self::exists": 2981, + "`Path::exists()`": 2981, + "crate::fs::exists": 2982, + "fs#time-of-check-to-time-of-use-toctou": 2422 }, "name": "try_exists", "span": { "begin": [ - 3221, + 3408, 5 ], "end": [ - 3223, + 3410, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6675": { + "6714": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"path_ext\"}}]" @@ -563634,7 +585719,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the path exists on disk and is pointing at a regular file.\n\nThis function will traverse symbolic links to query information about the\ndestination file.\n\nIf you cannot access the metadata of the file, e.g. because of a\npermission error or broken symbolic links, this will return `false`.\n\n# Examples\n\n```no_run\nuse std::path::Path;\nassert_eq!(Path::new(\"./is_a_directory/\").is_file(), false);\nassert_eq!(Path::new(\"a_file.txt\").is_file(), true);\n```\n\n# See Also\n\nThis is a convenience function that coerces errors to false. If you want to\ncheck errors, call [`fs::metadata`] and handle its [`Result`]. Then call\n[`fs::Metadata::is_file`] if it was [`Ok`].\n\nWhen the goal is simply to read from (or write to) the source, the most\nreliable way to test the source can be read (or written to) is to open\nit. Only using `is_file` can break workflows like `diff <( prog_a )` on\na Unix-like system for example. See [`fs::File::open`] or\n[`fs::OpenOptions::open`] for more information.", - "id": 6675, + "id": 6714, "inner": { "function": { "generics": { @@ -563673,26 +585758,26 @@ "links": { "`Ok`": 61, "`Result`": 57, - "`fs::File::open`": 2417, + "`fs::File::open`": 2415, "`fs::Metadata::is_file`": 2600, - "`fs::OpenOptions::open`": 2414, + "`fs::OpenOptions::open`": 2412, "`fs::metadata`": 2596 }, "name": "is_file", "span": { "begin": [ - 3254, + 3441, 5 ], "end": [ - 3256, + 3443, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6676": { + "6715": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"path_ext\"}}]" @@ -563706,7 +585791,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the path exists on disk and is pointing at a directory.\n\nThis function will traverse symbolic links to query information about the\ndestination file.\n\nIf you cannot access the metadata of the file, e.g. because of a\npermission error or broken symbolic links, this will return `false`.\n\n# Examples\n\n```no_run\nuse std::path::Path;\nassert_eq!(Path::new(\"./is_a_directory/\").is_dir(), true);\nassert_eq!(Path::new(\"a_file.txt\").is_dir(), false);\n```\n\n# See Also\n\nThis is a convenience function that coerces errors to false. If you want to\ncheck errors, call [`fs::metadata`] and handle its [`Result`]. Then call\n[`fs::Metadata::is_dir`] if it was [`Ok`].", - "id": 6676, + "id": 6715, "inner": { "function": { "generics": { @@ -563751,18 +585836,18 @@ "name": "is_dir", "span": { "begin": [ - 3281, + 3468, 5 ], "end": [ - 3283, + 3470, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6677": { + "6716": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 58, patch: 0})}, feature: \"is_symlink\"}}]" @@ -563776,7 +585861,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns `true` if the path exists on disk and is pointing at a symbolic link.\n\nThis function will not traverse symbolic links.\nIn case of a broken symbolic link this will also return true.\n\nIf you cannot access the directory containing the file, e.g., because of a\npermission error, this will return false.\n\n# Examples\n\n```rust,no_run\n# #[cfg(unix)] {\nuse std::path::Path;\nuse std::os::unix::fs::symlink;\n\nlet link_path = Path::new(\"link\");\nsymlink(\"/origin_does_not_exist/\", link_path).unwrap();\nassert_eq!(link_path.is_symlink(), true);\nassert_eq!(link_path.exists(), false);\n# }\n```\n\n# See Also\n\nThis is a convenience function that coerces errors to false. If you want to\ncheck errors, call [`fs::symlink_metadata`] and handle its [`Result`]. Then call\n[`fs::Metadata::is_symlink`] if it was [`Ok`].", - "id": 6677, + "id": 6716, "inner": { "function": { "generics": { @@ -563821,18 +585906,18 @@ "name": "is_symlink", "span": { "begin": [ - 3314, + 3501, 5 ], "end": [ - 3316, + 3503, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6678": { + "6717": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"into_boxed_path\"}}]" @@ -563846,7 +585931,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`Box`](Box) into a [`PathBuf`] without copying or\nallocating.", - "id": 6678, + "id": 6717, "inner": { "function": { "generics": { @@ -563878,7 +585963,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -563888,7 +585973,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -563896,36 +585981,36 @@ } }, "links": { - "Box": 159, - "`PathBuf`": 1664 + "Box": 157, + "`PathBuf`": 1663 }, "name": "into_path_buf", "span": { "begin": [ - 3322, + 3509, 5 ], "end": [ - 3326, + 3513, 6 ], "filename": "std/src/path.rs" }, "visibility": "public" }, - "6679": { + "6718": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6679, + "id": 6718, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -563937,43 +586022,46 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6646, - 6647, - 6648, - 6649, - 6650, - 6651, - 6653, - 6654, - 6652, - 6517, - 6480, - 6519, - 6656, - 6655, - 6658, - 6660, - 6659, - 6521, - 6516, - 6661, - 6662, - 6663, - 6370, - 6448, - 6664, - 6666, - 6667, - 6668, - 6670, - 6672, - 6673, - 2979, - 6674, - 6675, - 6676, - 6677, - 6678 + 6685, + 6686, + 6687, + 6688, + 6689, + 6690, + 6692, + 6693, + 6691, + 6550, + 6513, + 6558, + 6695, + 6694, + 6697, + 6699, + 6698, + 6560, + 6552, + 6554, + 6556, + 6549, + 6700, + 6701, + 6702, + 6403, + 6481, + 6703, + 6705, + 6706, + 6707, + 6709, + 6711, + 6712, + 2981, + 6713, + 6714, + 6715, + 6716, + 6717 ], "provided_trait_methods": [], "trait": null @@ -563983,85 +586071,68 @@ "name": null, "span": { "begin": [ - 2233, + 2324, 1 ], "end": [ - 3327, + 3514, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "668": { + "6719": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 668, + "id": 6719, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 659, - "path": "Backtrace" + "id": 1666, + "path": "Path" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 666 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 372, - 1 - ], - "end": [ - 379, - 2 - ], - "filename": "std/src/backtrace.rs" - }, + "span": null, "visibility": "default" }, - "6680": { + "672": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6680, + "id": 672, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, - "path": "Path" + "id": 659, + "path": "Backtrace" } }, "generics": { @@ -564075,8 +586146,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 7, + "path": "Unpin" } } }, @@ -564085,19 +586156,19 @@ "span": null, "visibility": "default" }, - "6681": { + "6720": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6681, + "id": 6720, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -564122,19 +586193,19 @@ "span": null, "visibility": "default" }, - "6682": { + "6721": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6682, + "id": 6721, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -564149,7 +586220,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -564159,19 +586230,19 @@ "span": null, "visibility": "default" }, - "6683": { + "6722": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6683, + "id": 6722, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -564196,19 +586267,19 @@ "span": null, "visibility": "default" }, - "6684": { + "6723": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6684, + "id": 6723, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -564223,7 +586294,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -564233,19 +586304,19 @@ "span": null, "visibility": "default" }, - "6685": { + "6724": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6685, + "id": 6724, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -564260,7 +586331,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -564270,19 +586341,19 @@ "span": null, "visibility": "default" }, - "6686": { + "6725": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6686, + "id": 6725, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -564307,12 +586378,12 @@ "span": null, "visibility": "default" }, - "6687": { + "6726": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6687, + "id": 6726, "inner": { "impl": { "blanket_impl": { @@ -564321,7 +586392,7 @@ "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -564366,7 +586437,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -564382,7 +586453,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -564391,23 +586462,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6688": { + "6727": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6688, + "id": 6727, "inner": { "impl": { "blanket_impl": { @@ -564416,7 +586487,7 @@ "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -564461,7 +586532,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -564477,7 +586548,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -564486,23 +586557,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6689": { + "6728": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6689, + "id": 6728, "inner": { "impl": { "blanket_impl": { @@ -564511,7 +586582,7 @@ "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -564559,12 +586630,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -564584,49 +586655,12 @@ }, "visibility": "default" }, - "669": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 669, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6690": { + "6729": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Creates a boxed [`Path`] from a reference.\n\nThis will allocate and clone `path` to it.", - "id": 6690, + "id": 6729, "inner": { "function": { "generics": { @@ -564651,7 +586685,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -564669,7 +586703,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -564678,7 +586712,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -564686,23 +586720,60 @@ } }, "links": { - "`Path`": 1667 + "`Path`": 1666 }, "name": "from", "span": { "begin": [ - 1776, + 1867, 5 ], "end": [ - 1780, + 1871, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6691": { + "673": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 673, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6730": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 17, patch: 0})}, feature: \"box_from_path\"}}]" @@ -564711,7 +586782,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6691, + "id": 6730, "inner": { "impl": { "blanket_impl": null, @@ -564724,7 +586795,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -564733,7 +586804,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -564745,7 +586816,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6690 + 6729 ], "provided_trait_methods": [], "trait": { @@ -564760,7 +586831,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -564780,23 +586851,23 @@ "name": null, "span": { "begin": [ - 1772, + 1863, 1 ], "end": [ - 1781, + 1872, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6692": { + "6731": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Creates a boxed [`Path`] from a reference.\n\nThis will allocate and clone `path` to it.", - "id": 6692, + "id": 6731, "inner": { "function": { "generics": { @@ -564821,7 +586892,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -564839,7 +586910,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -564848,7 +586919,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -564856,23 +586927,23 @@ } }, "links": { - "`Path`": 1667 + "`Path`": 1666 }, "name": "from", "span": { "begin": [ - 1788, + 1879, 5 ], "end": [ - 1790, + 1881, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6693": { + "6732": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"box_from_mut_slice\"}}]" @@ -564881,7 +586952,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6693, + "id": 6732, "inner": { "impl": { "blanket_impl": null, @@ -564894,7 +586965,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -564903,7 +586974,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -564915,7 +586986,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6692 + 6731 ], "provided_trait_methods": [], "trait": { @@ -564930,7 +587001,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -564950,18 +587021,18 @@ "name": null, "span": { "begin": [ - 1784, + 1875, 1 ], "end": [ - 1791, + 1882, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6694": { + "6733": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -564970,7 +587041,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a boxed [`Path`] from a clone-on-write pointer.\n\nConverting from a `Cow::Owned` does not clone or allocate.", - "id": 6694, + "id": 6733, "inner": { "function": { "generics": { @@ -565000,7 +587071,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565009,7 +587080,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -565025,7 +587096,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565034,7 +587105,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } } @@ -565042,23 +587113,23 @@ } }, "links": { - "`Path`": 1667 + "`Path`": 1666 }, "name": "from", "span": { "begin": [ - 1799, + 1890, 5 ], "end": [ - 1804, + 1895, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6695": { + "6734": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"box_from_cow\"}}]" @@ -565067,7 +587138,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6695, + "id": 6734, "inner": { "impl": { "blanket_impl": null, @@ -565080,7 +587151,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565089,7 +587160,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -565101,7 +587172,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6694 + 6733 ], "provided_trait_methods": [], "trait": { @@ -565121,7 +587192,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565130,7 +587201,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -565148,18 +587219,18 @@ "name": null, "span": { "begin": [ - 1794, + 1885, 1 ], "end": [ - 1805, + 1896, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6696": { + "6735": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -565168,7 +587239,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6696, + "id": 6735, "inner": { "function": { "generics": { @@ -565208,18 +587279,18 @@ "name": "clone", "span": { "begin": [ - 1833, + 1924, 5 ], "end": [ - 1835, + 1926, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6697": { + "6736": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 29, patch: 0})}, feature: \"more_box_slice_clone\"}}]" @@ -565228,7 +587299,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6697, + "id": 6736, "inner": { "impl": { "blanket_impl": null, @@ -565241,7 +587312,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565250,7 +587321,7 @@ "constraints": [] } }, - "id": 159, + "id": 157, "path": "Box" } }, @@ -565262,14 +587333,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6696 + 6735 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -565278,18 +587349,18 @@ "name": null, "span": { "begin": [ - 1831, + 1922, 1 ], "end": [ - 1836, + 1927, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6698": { + "6737": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -565298,7 +587369,7 @@ "crate_id": 0, "deprecation": null, "docs": "Creates a clone-on-write pointer from a reference to\n[`Path`].\n\nThis conversion does not clone or allocate.", - "id": 6698, + "id": 6737, "inner": { "function": { "generics": { @@ -565323,7 +587394,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565344,7 +587415,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565353,7 +587424,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -565361,23 +587432,23 @@ } }, "links": { - "`Path`": 1667 + "`Path`": 1666 }, "name": "from", "span": { "begin": [ - 1987, + 2078, 5 ], "end": [ - 1989, + 2080, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6699": { + "6738": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"cow_from_path\"}}]" @@ -565386,7 +587457,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6699, + "id": 6738, "inner": { "impl": { "blanket_impl": null, @@ -565402,7 +587473,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565411,7 +587482,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -565432,7 +587503,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6698 + 6737 ], "provided_trait_methods": [], "trait": { @@ -565447,7 +587518,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565467,55 +587538,18 @@ "name": null, "span": { "begin": [ - 1981, + 2072, 1 ], "end": [ - 1990, + 2081, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "670": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 670, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6700": { + "6739": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -565524,7 +587558,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`Path`] into an [`Arc`] by copying the [`Path`] data into a new [`Arc`] buffer.", - "id": 6700, + "id": 6739, "inner": { "function": { "generics": { @@ -565549,7 +587583,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565567,7 +587601,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565585,23 +587619,60 @@ }, "links": { "`Arc`": 606, - "`Path`": 1667 + "`Path`": 1666 }, "name": "from", "span": { "begin": [ - 2042, + 2133, 5 ], "end": [ - 2045, + 2136, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6701": { + "674": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 674, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6740": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"shared_from_slice2\"}}]" @@ -565610,7 +587681,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6701, + "id": 6740, "inner": { "impl": { "blanket_impl": null, @@ -565623,7 +587694,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565644,7 +587715,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6700 + 6739 ], "provided_trait_methods": [], "trait": { @@ -565659,7 +587730,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565679,18 +587750,18 @@ "name": null, "span": { "begin": [ - 2039, + 2130, 1 ], "end": [ - 2046, + 2137, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6702": { + "6741": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -565699,7 +587770,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`Path`] into an [`Arc`] by copying the [`Path`] data into a new [`Arc`] buffer.", - "id": 6702, + "id": 6741, "inner": { "function": { "generics": { @@ -565724,7 +587795,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565742,7 +587813,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565760,23 +587831,23 @@ }, "links": { "`Arc`": 606, - "`Path`": 1667 + "`Path`": 1666 }, "name": "from", "span": { "begin": [ - 2052, + 2143, 5 ], "end": [ - 2054, + 2145, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6703": { + "6742": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"shared_from_mut_slice\"}}]" @@ -565785,7 +587856,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6703, + "id": 6742, "inner": { "impl": { "blanket_impl": null, @@ -565798,7 +587869,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565819,7 +587890,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6702 + 6741 ], "provided_trait_methods": [], "trait": { @@ -565834,7 +587905,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565854,18 +587925,18 @@ "name": null, "span": { "begin": [ - 2049, + 2140, 1 ], "end": [ - 2055, + 2146, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6704": { + "6743": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -565874,7 +587945,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`Path`] into an [`Rc`] by copying the [`Path`] data into a new [`Rc`] buffer.", - "id": 6704, + "id": 6743, "inner": { "function": { "generics": { @@ -565899,7 +587970,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565917,7 +587988,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565926,7 +587997,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "Rc" } } @@ -565934,24 +588005,24 @@ } }, "links": { - "`Path`": 1667, - "`Rc`": 2030 + "`Path`": 1666, + "`Rc`": 2028 }, "name": "from", "span": { "begin": [ - 2072, + 2163, 5 ], "end": [ - 2075, + 2166, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6705": { + "6744": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"shared_from_slice2\"}}]" @@ -565960,7 +588031,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6705, + "id": 6744, "inner": { "impl": { "blanket_impl": null, @@ -565973,7 +588044,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -565982,7 +588053,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "crate::rc::Rc" } }, @@ -565994,7 +588065,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6704 + 6743 ], "provided_trait_methods": [], "trait": { @@ -566009,7 +588080,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -566029,18 +588100,18 @@ "name": null, "span": { "begin": [ - 2069, + 2160, 1 ], "end": [ - 2076, + 2167, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6706": { + "6745": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -566049,7 +588120,7 @@ "crate_id": 0, "deprecation": null, "docs": "Converts a [`Path`] into an [`Rc`] by copying the [`Path`] data into a new [`Rc`] buffer.", - "id": 6706, + "id": 6745, "inner": { "function": { "generics": { @@ -566074,7 +588145,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -566092,7 +588163,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -566101,7 +588172,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "Rc" } } @@ -566109,24 +588180,24 @@ } }, "links": { - "`Path`": 1667, - "`Rc`": 2030 + "`Path`": 1666, + "`Rc`": 2028 }, "name": "from", "span": { "begin": [ - 2082, + 2173, 5 ], "end": [ - 2084, + 2175, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6707": { + "6746": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"shared_from_mut_slice\"}}]" @@ -566135,7 +588206,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6707, + "id": 6746, "inner": { "impl": { "blanket_impl": null, @@ -566148,7 +588219,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -566157,7 +588228,7 @@ "constraints": [] } }, - "id": 2030, + "id": 2028, "path": "crate::rc::Rc" } }, @@ -566169,7 +588240,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6706 + 6745 ], "provided_trait_methods": [], "trait": { @@ -566184,7 +588255,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -566204,23 +588275,23 @@ "name": null, "span": { "begin": [ - 2079, + 2170, 1 ], "end": [ - 2085, + 2176, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6708": { + "6747": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6708, + "id": 6747, "inner": { "assoc_type": { "bounds": [], @@ -566231,7 +588302,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -566241,18 +588312,18 @@ "name": "Owned", "span": { "begin": [ - 2089, + 2180, 5 ], "end": [ - 2089, + 2180, 26 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6709": { + "6748": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -566261,7 +588332,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6709, + "id": 6748, "inner": { "function": { "generics": { @@ -566294,7 +588365,7 @@ "output": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -566305,55 +588376,18 @@ "name": "to_owned", "span": { "begin": [ - 2091, + 2182, 5 ], "end": [ - 2093, + 2184, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "671": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 671, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": true, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6710": { + "6749": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -566362,7 +588396,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6710, + "id": 6749, "inner": { "function": { "generics": { @@ -566399,7 +588433,7 @@ "type": { "resolved_path": { "args": null, - "id": 1664, + "id": 1663, "path": "PathBuf" } } @@ -566416,18 +588450,113 @@ "name": "clone_into", "span": { "begin": [ - 2095, + 2186, 5 ], "end": [ - 2097, + 2188, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6711": { + "675": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 675, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "6750": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -566436,14 +588565,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6711, + "id": 6750, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -566455,16 +588584,16 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6708, - 6709, - 6710 + 6747, + 6748, + 6749 ], "provided_trait_methods": [ "clone_into" ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -566473,18 +588602,18 @@ "name": null, "span": { "begin": [ - 2088, + 2179, 1 ], "end": [ - 2098, + 2189, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6712": { + "6751": { "attrs": [ { "other": "#[(debug_assertions, track_caller)]" @@ -566499,7 +588628,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6712, + "id": 6751, "inner": { "function": { "generics": { @@ -566548,18 +588677,18 @@ "name": "clone_to_uninit", "span": { "begin": [ - 3333, + 3520, 5 ], "end": [ - 3336, + 3523, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6713": { + "6752": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126799, is_soft: false}, feature: \"clone_to_uninit\"}}]" @@ -566568,14 +588697,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6713, + "id": 6752, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -566587,7 +588716,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6712 + 6751 ], "provided_trait_methods": [], "trait": { @@ -566601,23 +588730,165 @@ "name": null, "span": { "begin": [ - 3330, + 3517, 1 ], "end": [ - 3337, + 3524, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6714": { + "6753": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6714, + "id": 6753, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "formatter", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 3537, + 5 + ], + "end": [ + 3539, + 6 + ], + "filename": "std/src/path.rs" + }, + "visibility": "default" + }, + "6754": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6754, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 6753 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 3536, + 1 + ], + "end": [ + 3540, + 2 + ], + "filename": "std/src/path.rs" + }, + "visibility": "default" + }, + "6755": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6755, "inner": { "function": { "generics": { @@ -566646,25 +588917,16 @@ } ], [ - "formatter", + "other", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" + "args": null, + "id": 1666, + "path": "Path" } } } @@ -566673,31 +588935,27 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + "primitive": "bool" } } } }, "links": {}, - "name": "fmt", + "name": "eq", "span": { "begin": [ - 3349, + 3584, 5 ], "end": [ - 3351, + 3586, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6715": { + "6756": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -566706,14 +588964,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6715, + "id": 6756, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -566725,13 +588983,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6714 + 6755 + ], + "provided_trait_methods": [ + "ne" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 121, + "path": "PartialEq" } } }, @@ -566739,18 +588999,18 @@ "name": null, "span": { "begin": [ - 3348, + 3582, 1 ], "end": [ - 3352, + 3587, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6716": { + "6757": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -566759,7 +589019,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6716, + "id": 6757, "inner": { "function": { "generics": { @@ -566794,11 +589054,7 @@ "is_mutable": false, "lifetime": null, "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } + "primitive": "str" } } } @@ -566815,34 +589071,34 @@ "name": "eq", "span": { "begin": [ - 3396, + 3592, 5 ], "end": [ - 3398, + 3595, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6717": { + "6758": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"eq_str_for_path\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6717, + "id": 6758, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -566854,14 +589110,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6716 + 6757 ], "provided_trait_methods": [ "ne" ], "trait": { - "args": null, - "id": 123, + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 121, "path": "PartialEq" } } @@ -566870,18 +589137,18 @@ "name": null, "span": { "begin": [ - 3394, + 3590, 1 ], "end": [ - 3399, + 3596, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6718": { + "6759": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -566890,7 +589157,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6718, + "id": 6759, "inner": { "function": { "generics": { @@ -566925,7 +589192,11 @@ "is_mutable": false, "lifetime": null, "type": { - "primitive": "str" + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } } } } @@ -566942,65 +589213,94 @@ "name": "eq", "span": { "begin": [ - 3404, + 3601, 5 ], "end": [ - 3407, + 3603, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6719": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"eq_str_for_path\"}}]" - } - ], + "676": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6719, + "id": 676, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": null, - "id": 1667, - "path": "Path" + "id": 659, + "path": "Backtrace" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 6718 - ], - "provided_trait_methods": [ - "ne" + 322 ], + "provided_trait_methods": [], "trait": { "args": { "angle_bracketed": { "args": [ { "type": { - "primitive": "str" + "generic": "T" } } ], "constraints": [] } }, - "id": 123, - "path": "PartialEq" + "id": 324, + "path": "BorrowMut" } } }, @@ -567008,140 +589308,27 @@ "name": null, "span": { "begin": [ - 3402, + 221, 1 ], "end": [ - 3408, - 2 - ], - "filename": "std/src/path.rs" - }, - "visibility": "default" - }, - "672": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 672, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6720": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6720, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq", - "span": { - "begin": [ - 3413, - 5 - ], - "end": [ - 3415, - 6 + 221, + 41 ], - "filename": "std/src/path.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6721": { + "6760": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"eq_str_for_path\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"eq_str_for_path\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6721, + "id": 6760, "inner": { "impl": { "blanket_impl": null, @@ -567156,7 +589343,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6720 + 6759 ], "provided_trait_methods": [ "ne" @@ -567169,7 +589356,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -567178,7 +589365,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -567187,18 +589374,18 @@ "name": null, "span": { "begin": [ - 3411, + 3599, 1 ], "end": [ - 3416, + 3604, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6722": { + "6761": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -567207,7 +589394,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6722, + "id": 6761, "inner": { "function": { "generics": { @@ -567244,7 +589431,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -567263,34 +589450,34 @@ "name": "eq", "span": { "begin": [ - 3421, + 3609, 5 ], "end": [ - 3423, + 3611, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6723": { + "6762": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"eq_str_for_path\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"eq_str_for_path\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6723, + "id": 6762, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -567302,7 +589489,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6722 + 6761 ], "provided_trait_methods": [ "ne" @@ -567315,7 +589502,7 @@ "type": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } } @@ -567324,7 +589511,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -567333,18 +589520,18 @@ "name": null, "span": { "begin": [ - 3419, + 3607, 1 ], "end": [ - 3424, + 3612, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6724": { + "6763": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -567353,7 +589540,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6724, + "id": 6763, "inner": { "function": { "generics": { @@ -567390,7 +589577,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -567409,34 +589596,34 @@ "name": "eq", "span": { "begin": [ - 3429, + 3617, 5 ], "end": [ - 3431, + 3619, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6725": { + "6764": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"eq_str_for_path\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"eq_str_for_path\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6725, + "id": 6764, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 161, + "id": 159, "path": "String" } }, @@ -567448,7 +589635,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6724 + 6763 ], "provided_trait_methods": [ "ne" @@ -567461,7 +589648,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -567470,7 +589657,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -567479,23 +589666,23 @@ "name": null, "span": { "begin": [ - 3427, + 3615, 1 ], "end": [ - 3432, + 3620, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6726": { + "6765": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6726, + "id": 6765, "inner": { "function": { "generics": { @@ -567568,18 +589755,18 @@ "name": "hash", "span": { "begin": [ - 3436, + 3624, 5 ], "end": [ - 3487, + 3675, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6727": { + "6766": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -567588,14 +589775,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6727, + "id": 6766, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -567607,7 +589794,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6726 + 6765 ], "provided_trait_methods": [ "hash_slice" @@ -567623,18 +589810,18 @@ "name": null, "span": { "begin": [ - 3435, + 3623, 1 ], "end": [ - 3488, + 3676, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6728": { + "6767": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -567643,14 +589830,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6728, + "id": 6767, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -567667,7 +589854,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -567676,18 +589863,18 @@ "name": null, "span": { "begin": [ - 3491, + 3679, 1 ], "end": [ - 3491, + 3679, 20 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6729": { + "6768": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -567696,7 +589883,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6729, + "id": 6768, "inner": { "function": { "generics": { @@ -567733,7 +589920,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -567751,7 +589938,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -567771,31 +589958,35 @@ "name": "partial_cmp", "span": { "begin": [ - 3496, + 3684, 5 ], "end": [ - 3498, + 3686, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "673": { - "attrs": [], + "6769": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 673, + "id": 6769, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 659, - "path": "Backtrace" + "id": 1666, + "path": "Path" } }, "generics": { @@ -567803,66 +589994,141 @@ "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], - "provided_trait_methods": [], + "items": [ + 6768 + ], + "provided_trait_methods": [ + "lt", + "le", + "gt", + "ge", + "__chaining_lt", + "__chaining_le", + "__chaining_gt", + "__chaining_ge" + ], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 125, + "path": "PartialOrd" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 3682, + 1 + ], + "end": [ + 3687, + 2 + ], + "filename": "std/src/path.rs" + }, "visibility": "default" }, - "6730": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "677": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6730, + "id": 677, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": null, - "id": 1667, - "path": "Path" + "id": 659, + "path": "Backtrace" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 6729 - ], - "provided_trait_methods": [ - "lt", - "le", - "gt", - "ge", - "__chaining_lt", - "__chaining_le", - "__chaining_gt", - "__chaining_ge" + 325 ], + "provided_trait_methods": [], "trait": { - "args": null, - "id": 127, - "path": "PartialOrd" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, @@ -567870,18 +590136,18 @@ "name": null, "span": { "begin": [ - 3494, + 767, 1 ], "end": [ - 3499, - 2 + 769, + 24 ], - "filename": "std/src/path.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6731": { + "6770": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -567890,7 +590156,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6731, + "id": 6770, "inner": { "function": { "generics": { @@ -567927,7 +590193,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -567939,7 +590205,7 @@ "output": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -567950,18 +590216,18 @@ "name": "cmp", "span": { "begin": [ - 3504, + 3692, 5 ], "end": [ - 3506, + 3694, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6732": { + "6771": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -567970,14 +590236,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6732, + "id": 6771, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -567989,7 +590255,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6731 + 6770 ], "provided_trait_methods": [ "max", @@ -567998,7 +590264,7 @@ ], "trait": { "args": null, - "id": 119, + "id": 117, "path": "Ord" } } @@ -568007,18 +590273,18 @@ "name": null, "span": { "begin": [ - 3502, + 3690, 1 ], "end": [ - 3507, + 3695, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6733": { + "6772": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -568027,7 +590293,148 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6733, + "id": 6772, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + } + } + } + } + } + }, + "links": {}, + "name": "as_ref", + "span": { + "begin": [ + 3701, + 5 + ], + "end": [ + 3703, + 6 + ], + "filename": "std/src/path.rs" + }, + "visibility": "default" + }, + "6773": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143773, is_soft: false}, feature: \"const_convert\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6773, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 6772 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 35, + "path": "AsRef" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 3699, + 1 + ], + "end": [ + 3704, + 2 + ], + "filename": "std/src/path.rs" + }, + "visibility": "default" + }, + "6774": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6774, "inner": { "function": { "generics": { @@ -568064,7 +590471,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -568077,35 +590484,53 @@ "name": "as_ref", "span": { "begin": [ - 3512, + 3718, 5 ], "end": [ - 3514, + 3720, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6734": { + "6775": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cow_os_str_as_ref_path\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6734, + "id": 6775, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 1719, + "path": "crate::ffi::OsStr" + } + } + } + ], + "constraints": [] + } + }, + "id": 2033, + "path": "crate::borrow::Cow" } }, "generics": { @@ -568116,7 +590541,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6733 + 6774 ], "provided_trait_methods": [], "trait": { @@ -568127,7 +590552,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -568145,18 +590570,18 @@ "name": null, "span": { "begin": [ - 3510, + 3716, 1 ], "end": [ - 3515, + 3721, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6735": { + "6776": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -568165,7 +590590,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6735, + "id": 6776, "inner": { "function": { "generics": { @@ -568202,7 +590627,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -568215,54 +590640,32 @@ "name": "as_ref", "span": { "begin": [ - 3528, + 3734, 5 ], "end": [ - 3530, + 3736, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6736": { + "6777": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cow_os_str_as_ref_path\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6736, + "id": 6777, "inner": { "impl": { "blanket_impl": null, "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 1720, - "path": "crate::ffi::OsStr" - } - } - } - ], - "constraints": [] - } - }, - "id": 2035, - "path": "crate::borrow::Cow" - } + "primitive": "str" }, "generics": { "params": [], @@ -568272,7 +590675,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6735 + 6776 ], "provided_trait_methods": [], "trait": { @@ -568283,7 +590686,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -568301,18 +590704,18 @@ "name": null, "span": { "begin": [ - 3526, + 3732, 1 ], "end": [ - 3531, + 3737, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6737": { + "6778": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -568321,7 +590724,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6737, + "id": 6778, "inner": { "function": { "generics": { @@ -568358,7 +590761,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -568371,18 +590774,18 @@ "name": "as_ref", "span": { "begin": [ - 3544, + 3742, 5 ], "end": [ - 3546, + 3744, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6738": { + "6779": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -568391,12 +590794,16 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6738, + "id": 6779, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "str" + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } }, "generics": { "params": [], @@ -568406,7 +590813,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6737 + 6778 ], "provided_trait_methods": [], "trait": { @@ -568417,7 +590824,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -568435,96 +590842,28 @@ "name": null, "span": { "begin": [ - 3542, + 3740, 1 ], "end": [ - 3547, + 3745, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6739": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6739, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } - } - } - } - } - } - }, - "links": {}, - "name": "as_ref", - "span": { - "begin": [ - 3552, - 5 - ], - "end": [ - 3554, - 6 - ], - "filename": "std/src/path.rs" - }, - "visibility": "default" - }, - "674": { + "678": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 674, + "id": 678, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": null, @@ -568533,55 +590872,25 @@ } }, "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6740": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6740, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" - } - }, - "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 6739 + 327 ], "provided_trait_methods": [], "trait": { @@ -568590,19 +590899,15 @@ "args": [ { "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } + "generic": "T" } } ], "constraints": [] } }, - "id": 35, - "path": "AsRef" + "id": 37, + "path": "From" } } }, @@ -568610,23 +590915,23 @@ "name": null, "span": { "begin": [ - 3550, + 785, 1 ], "end": [ - 3555, - 2 + 785, + 28 ], - "filename": "std/src/path.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6741": { + "6780": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6741, + "id": 6780, "inner": { "assoc_type": { "bounds": [], @@ -568641,7 +590946,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -568653,23 +590958,23 @@ "name": "Item", "span": { "begin": [ - 3577, + 3767, 5 ], "end": [ - 3577, + 3767, 27 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6742": { + "6781": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6742, + "id": 6781, "inner": { "assoc_type": { "bounds": [], @@ -568689,7 +590994,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } } @@ -568699,18 +591004,18 @@ "name": "IntoIter", "span": { "begin": [ - 3578, + 3768, 5 ], "end": [ - 3578, + 3768, 30 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6743": { + "6782": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -568719,7 +591024,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6743, + "id": 6782, "inner": { "function": { "generics": { @@ -568755,7 +591060,7 @@ "constraints": [] } }, - "id": 2264, + "id": 2262, "path": "Iter" } } @@ -568766,18 +591071,18 @@ "name": "into_iter", "span": { "begin": [ - 3580, + 3770, 5 ], "end": [ - 3582, + 3772, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6744": { + "6783": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"path_into_iter\"}}]" @@ -568786,7 +591091,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6744, + "id": 6783, "inner": { "impl": { "blanket_impl": null, @@ -568797,7 +591102,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -568820,9 +591125,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6741, - 6742, - 6743 + 6780, + 6781, + 6782 ], "provided_trait_methods": [], "trait": { @@ -568836,18 +591141,18 @@ "name": null, "span": { "begin": [ - 3576, + 3766, 1 ], "end": [ - 3583, + 3773, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6745": { + "6784": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -568856,7 +591161,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6745, + "id": 6784, "inner": { "function": { "generics": { @@ -568893,7 +591198,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -568912,18 +591217,18 @@ "name": "eq", "span": { "begin": [ - 3623, + 3813, 1 ], "end": [ - 3623, + 3813, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6746": { + "6785": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"partialeq_path\"}}]" @@ -568932,7 +591237,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6746, + "id": 6785, "inner": { "impl": { "blanket_impl": null, @@ -568948,7 +591253,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -568957,7 +591262,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -568978,7 +591283,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6745 + 6784 ], "provided_trait_methods": [ "ne" @@ -568991,7 +591296,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -569000,7 +591305,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -569009,18 +591314,18 @@ "name": null, "span": { "begin": [ - 3623, + 3813, 1 ], "end": [ - 3623, + 3813, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6747": { + "6786": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -569029,7 +591334,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6747, + "id": 6786, "inner": { "function": { "generics": { @@ -569075,7 +591380,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -569084,7 +591389,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -569103,18 +591408,18 @@ "name": "eq", "span": { "begin": [ - 3623, + 3813, 1 ], "end": [ - 3623, + 3813, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6748": { + "6787": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"partialeq_path\"}}]" @@ -569123,14 +591428,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6748, + "id": 6787, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -569151,7 +591456,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6747 + 6786 ], "provided_trait_methods": [ "ne" @@ -569173,7 +591478,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -569182,7 +591487,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -569191,7 +591496,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -569200,18 +591505,18 @@ "name": null, "span": { "begin": [ - 3623, + 3813, 1 ], "end": [ - 3623, + 3813, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6749": { + "6788": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -569220,7 +591525,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6749, + "id": 6788, "inner": { "function": { "generics": { @@ -569257,7 +591562,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -569275,7 +591580,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -569295,94 +591600,103 @@ "name": "partial_cmp", "span": { "begin": [ - 3623, + 3813, 1 ], "end": [ - 3623, + 3813, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "675": { - "attrs": [], + "6789": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 675, + "id": 6789, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + } + } + ], + "constraints": [] + } + }, + "id": 2033, + "path": "crate::borrow::Cow" } }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "T" + "name": "'a" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 6788 + ], + "provided_trait_methods": [ + "lt", + "le", + "gt", + "ge", + "__chaining_lt", + "__chaining_le", + "__chaining_gt", + "__chaining_ge" ], - "provided_trait_methods": [], "trait": { "args": { "angle_bracketed": { "args": [ { "type": { - "generic": "T" + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } } } ], "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 125, + "path": "PartialOrd" } } }, @@ -569390,103 +591704,116 @@ "name": null, "span": { "begin": [ - 209, + 3813, 1 ], "end": [ - 209, - 32 + 3813, + 36 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/path.rs" }, "visibility": "default" }, - "6750": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" - } - ], + "679": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6750, + "id": 679, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } - } - } - ], - "constraints": [] - } - }, - "id": 2035, - "path": "crate::borrow::Cow" + "args": null, + "id": 659, + "path": "Backtrace" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 6749 - ], - "provided_trait_methods": [ - "lt", - "le", - "gt", - "ge", - "__chaining_lt", - "__chaining_le", - "__chaining_gt", - "__chaining_ge" + 329, + 330 ], + "provided_trait_methods": [], "trait": { "args": { "angle_bracketed": { "args": [ { "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } + "generic": "U" } } ], "constraints": [] } }, - "id": 127, - "path": "PartialOrd" + "id": 198, + "path": "TryInto" } } }, @@ -569494,18 +591821,18 @@ "name": null, "span": { "begin": [ - 3623, + 811, 1 ], "end": [ - 3623, - 36 + 813, + 27 ], - "filename": "std/src/path.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6751": { + "6790": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -569514,7 +591841,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6751, + "id": 6790, "inner": { "function": { "generics": { @@ -569560,7 +591887,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -569569,7 +591896,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -569587,7 +591914,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -569607,18 +591934,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3623, + 3813, 1 ], "end": [ - 3623, + 3813, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6752": { + "6791": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -569627,14 +591954,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6752, + "id": 6791, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -569655,7 +591982,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6751 + 6790 ], "provided_trait_methods": [ "lt", @@ -569684,7 +592011,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -569693,7 +592020,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -569702,7 +592029,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -569711,18 +592038,18 @@ "name": null, "span": { "begin": [ - 3623, + 3813, 1 ], "end": [ - 3623, + 3813, 36 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6753": { + "6792": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -569731,7 +592058,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6753, + "id": 6792, "inner": { "function": { "generics": { @@ -569772,7 +592099,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -569793,18 +592120,18 @@ "name": "eq", "span": { "begin": [ - 3624, + 3814, 1 ], "end": [ - 3624, + 3814, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6754": { + "6793": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"partialeq_path\"}}]" @@ -569813,7 +592140,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6754, + "id": 6793, "inner": { "impl": { "blanket_impl": null, @@ -569829,7 +592156,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -569838,7 +592165,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -569867,7 +592194,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6753 + 6792 ], "provided_trait_methods": [ "ne" @@ -569884,7 +592211,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -569895,7 +592222,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -569904,18 +592231,18 @@ "name": null, "span": { "begin": [ - 3624, + 3814, 1 ], "end": [ - 3624, + 3814, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6755": { + "6794": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -569924,7 +592251,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6755, + "id": 6794, "inner": { "function": { "generics": { @@ -569970,7 +592297,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -569979,7 +592306,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -569998,18 +592325,18 @@ "name": "eq", "span": { "begin": [ - 3624, + 3814, 1 ], "end": [ - 3624, + 3814, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6756": { + "6795": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"partialeq_path\"}}]" @@ -570018,7 +592345,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6756, + "id": 6795, "inner": { "impl": { "blanket_impl": null, @@ -570029,7 +592356,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -570060,7 +592387,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6755 + 6794 ], "provided_trait_methods": [ "ne" @@ -570082,7 +592409,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -570091,7 +592418,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -570100,7 +592427,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -570109,18 +592436,18 @@ "name": null, "span": { "begin": [ - 3624, + 3814, 1 ], "end": [ - 3624, + 3814, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6757": { + "6796": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -570129,7 +592456,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6757, + "id": 6796, "inner": { "function": { "generics": { @@ -570170,7 +592497,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -570190,7 +592517,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -570210,18 +592537,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3624, + 3814, 1 ], "end": [ - 3624, + 3814, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6758": { + "6797": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -570230,7 +592557,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6758, + "id": 6797, "inner": { "impl": { "blanket_impl": null, @@ -570246,7 +592573,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -570255,7 +592582,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -570284,7 +592611,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6757 + 6796 ], "provided_trait_methods": [ "lt", @@ -570308,7 +592635,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -570319,7 +592646,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -570328,18 +592655,18 @@ "name": null, "span": { "begin": [ - 3624, + 3814, 1 ], "end": [ - 3624, + 3814, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6759": { + "6798": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -570348,7 +592675,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6759, + "id": 6798, "inner": { "function": { "generics": { @@ -570394,7 +592721,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -570403,7 +592730,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -570421,7 +592748,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -570441,113 +592768,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3624, + 3814, 1 ], "end": [ - 3624, + 3814, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "676": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 676, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "6760": { + "6799": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -570556,7 +592788,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6760, + "id": 6799, "inner": { "impl": { "blanket_impl": null, @@ -570567,7 +592799,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -570598,7 +592830,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6759 + 6798 ], "provided_trait_methods": [ "lt", @@ -570627,7 +592859,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -570636,7 +592868,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -570645,7 +592877,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -570654,18 +592886,171 @@ "name": null, "span": { "begin": [ - 3624, + 3814, 1 ], "end": [ - 3624, + 3814, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6761": { + "68": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 68, + "inner": { + "use": { + "id": 69, + "is_glob": false, + "name": "compile_error", + "source": "core::prelude::v1::compile_error" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 50, + 26 + ], + "end": [ + 50, + 39 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "680": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 680, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "6800": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -570674,7 +593059,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6761, + "id": 6800, "inner": { "function": { "generics": { @@ -570720,7 +593105,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -570729,7 +593114,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -570748,18 +593133,18 @@ "name": "eq", "span": { "begin": [ - 3669, + 3859, 1 ], "end": [ - 3669, + 3859, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6762": { + "6801": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -570768,14 +593153,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6762, + "id": 6801, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -570796,7 +593181,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6761 + 6800 ], "provided_trait_methods": [ "ne" @@ -570818,7 +593203,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -570827,7 +593212,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -570836,7 +593221,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -570845,18 +593230,18 @@ "name": null, "span": { "begin": [ - 3669, + 3859, 1 ], "end": [ - 3669, + 3859, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6763": { + "6802": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -570865,7 +593250,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6763, + "id": 6802, "inner": { "function": { "generics": { @@ -570902,7 +593287,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -570921,18 +593306,18 @@ "name": "eq", "span": { "begin": [ - 3669, + 3859, 1 ], "end": [ - 3669, + 3859, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6764": { + "6803": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -570941,7 +593326,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6764, + "id": 6803, "inner": { "impl": { "blanket_impl": null, @@ -570957,7 +593342,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -570966,7 +593351,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -570987,7 +593372,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6763 + 6802 ], "provided_trait_methods": [ "ne" @@ -571000,7 +593385,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -571009,7 +593394,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -571018,18 +593403,18 @@ "name": null, "span": { "begin": [ - 3669, + 3859, 1 ], "end": [ - 3669, + 3859, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6765": { + "6804": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -571038,7 +593423,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6765, + "id": 6804, "inner": { "function": { "generics": { @@ -571084,7 +593469,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -571093,7 +593478,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -571111,7 +593496,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -571131,18 +593516,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3669, + 3859, 1 ], "end": [ - 3669, + 3859, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6766": { + "6805": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -571151,14 +593536,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6766, + "id": 6805, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } }, @@ -571179,7 +593564,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6765 + 6804 ], "provided_trait_methods": [ "lt", @@ -571208,7 +593593,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -571217,7 +593602,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -571226,7 +593611,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -571235,18 +593620,18 @@ "name": null, "span": { "begin": [ - 3669, + 3859, 1 ], "end": [ - 3669, + 3859, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6767": { + "6806": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -571255,7 +593640,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6767, + "id": 6806, "inner": { "function": { "generics": { @@ -571292,7 +593677,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -571310,7 +593695,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -571330,18 +593715,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3669, + 3859, 1 ], "end": [ - 3669, + 3859, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6768": { + "6807": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -571350,7 +593735,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6768, + "id": 6807, "inner": { "impl": { "blanket_impl": null, @@ -571366,7 +593751,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -571375,7 +593760,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -571396,7 +593781,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6767 + 6806 ], "provided_trait_methods": [ "lt", @@ -571416,7 +593801,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -571425,7 +593810,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -571434,18 +593819,18 @@ "name": null, "span": { "begin": [ - 3669, + 3859, 1 ], "end": [ - 3669, + 3859, 44 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6769": { + "6808": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -571454,7 +593839,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6769, + "id": 6808, "inner": { "function": { "generics": { @@ -571500,7 +593885,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -571509,7 +593894,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -571528,134 +593913,18 @@ "name": "eq", "span": { "begin": [ - 3672, + 3862, 1 ], "end": [ - 3672, + 3862, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "677": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 677, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 773, - 1 - ], - "end": [ - 775, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "6770": { + "6809": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -571664,7 +593933,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6770, + "id": 6809, "inner": { "impl": { "blanket_impl": null, @@ -571675,7 +593944,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -571706,7 +593975,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6769 + 6808 ], "provided_trait_methods": [ "ne" @@ -571728,7 +593997,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -571737,7 +594006,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -571746,7 +594015,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -571755,18 +594024,105 @@ "name": null, "span": { "begin": [ - 3672, + 3862, 1 ], "end": [ - 3672, + 3862, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6771": { + "681": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 681, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "6810": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -571775,7 +594131,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6771, + "id": 6810, "inner": { "function": { "generics": { @@ -571816,7 +594172,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -571837,18 +594193,18 @@ "name": "eq", "span": { "begin": [ - 3672, + 3862, 1 ], "end": [ - 3672, + 3862, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6772": { + "6811": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -571857,7 +594213,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6772, + "id": 6811, "inner": { "impl": { "blanket_impl": null, @@ -571873,7 +594229,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -571882,7 +594238,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -571911,7 +594267,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6771 + 6810 ], "provided_trait_methods": [ "ne" @@ -571928,7 +594284,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -571939,7 +594295,7 @@ "constraints": [] } }, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -571948,18 +594304,18 @@ "name": null, "span": { "begin": [ - 3672, + 3862, 1 ], "end": [ - 3672, + 3862, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6773": { + "6812": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -571968,7 +594324,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6773, + "id": 6812, "inner": { "function": { "generics": { @@ -572014,7 +594370,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -572023,7 +594379,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -572041,7 +594397,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -572061,18 +594417,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3672, + 3862, 1 ], "end": [ - 3672, + 3862, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6774": { + "6813": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -572081,7 +594437,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6774, + "id": 6813, "inner": { "impl": { "blanket_impl": null, @@ -572092,7 +594448,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -572123,7 +594479,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6773 + 6812 ], "provided_trait_methods": [ "lt", @@ -572152,7 +594508,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -572161,7 +594517,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "Cow" } } @@ -572170,7 +594526,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -572179,18 +594535,18 @@ "name": null, "span": { "begin": [ - 3672, + 3862, 1 ], "end": [ - 3672, + 3862, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6775": { + "6814": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -572199,7 +594555,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6775, + "id": 6814, "inner": { "function": { "generics": { @@ -572240,7 +594596,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -572260,7 +594616,7 @@ "type": { "resolved_path": { "args": null, - "id": 2009, + "id": 2007, "path": "cmp::Ordering" } } @@ -572280,18 +594636,18 @@ "name": "partial_cmp", "span": { "begin": [ - 3672, + 3862, 1 ], "end": [ - 3672, + 3862, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6776": { + "6815": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"cmp_path\"}}]" @@ -572300,7 +594656,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6776, + "id": 6815, "inner": { "impl": { "blanket_impl": null, @@ -572316,7 +594672,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "crate::ffi::OsStr" } } @@ -572325,7 +594681,7 @@ "constraints": [] } }, - "id": 2035, + "id": 2033, "path": "crate::borrow::Cow" } }, @@ -572354,7 +594710,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6775 + 6814 ], "provided_trait_methods": [ "lt", @@ -572378,7 +594734,7 @@ "type": { "resolved_path": { "args": null, - "id": 1667, + "id": 1666, "path": "Path" } } @@ -572389,7 +594745,7 @@ "constraints": [] } }, - "id": 127, + "id": 125, "path": "PartialOrd" } } @@ -572398,30 +594754,30 @@ "name": null, "span": { "begin": [ - 3672, + 3862, 1 ], "end": [ - 3672, + 3862, 52 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6778": { + "6817": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6778, + "id": 6817, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -572446,19 +594802,19 @@ "span": null, "visibility": "default" }, - "6779": { + "6818": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6779, + "id": 6818, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -572483,12 +594839,49 @@ "span": null, "visibility": "default" }, - "678": { + "6819": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 678, + "id": 6819, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 6696, + "path": "StripPrefixError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "682": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 682, "inner": { "impl": { "blanket_impl": { @@ -572514,30 +594907,52 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 434 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 161, + "path": "ToString" } } }, @@ -572545,67 +594960,30 @@ "name": null, "span": { "begin": [ - 791, + 2866, 1 ], "end": [ - 791, - 28 + 2866, + 46 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "6780": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6780, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 6657, - "path": "StripPrefixError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } + "filename": "checkouts/rust/library/alloc/src/string.rs" }, - "links": {}, - "name": null, - "span": null, "visibility": "default" }, - "6781": { + "6820": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6781, + "id": 6820, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -572630,19 +595008,19 @@ "span": null, "visibility": "default" }, - "6782": { + "6821": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6782, + "id": 6821, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -572657,7 +595035,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -572667,19 +595045,19 @@ "span": null, "visibility": "default" }, - "6783": { + "6822": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6783, + "id": 6822, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -572694,7 +595072,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -572704,12 +595082,12 @@ "span": null, "visibility": "default" }, - "6784": { + "6823": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6784, + "id": 6823, "inner": { "impl": { "blanket_impl": { @@ -572718,7 +595096,7 @@ "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -572763,7 +595141,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -572779,7 +595157,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -572788,23 +595166,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6785": { + "6824": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6785, + "id": 6824, "inner": { "impl": { "blanket_impl": { @@ -572813,7 +595191,7 @@ "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -572858,7 +595236,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -572874,7 +595252,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -572883,23 +595261,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6786": { + "6825": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6786, + "id": 6825, "inner": { "impl": { "blanket_impl": { @@ -572908,7 +595286,7 @@ "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -572935,7 +595313,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -572967,139 +595345,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "6787": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6787, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 6657, - "path": "StripPrefixError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 773, - 1 - ], - "end": [ - 775, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "6788": { + "6826": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6788, + "id": 6826, "inner": { "impl": { "blanket_impl": { @@ -573108,7 +595370,7 @@ "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -573123,15 +595385,58 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 325 ], "provided_trait_methods": [], "trait": { @@ -573140,15 +595445,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 37, - "path": "From" + "id": 39, + "path": "Into" } } }, @@ -573156,23 +595461,23 @@ "name": null, "span": { "begin": [ - 791, + 767, 1 ], "end": [ - 791, - 28 + 769, + 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6789": { + "6827": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6789, + "id": 6827, "inner": { "impl": { "blanket_impl": { @@ -573181,7 +595486,7 @@ "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -573196,59 +595501,15 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 327 ], "provided_trait_methods": [], "trait": { @@ -573257,15 +595518,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 37, + "path": "From" } } }, @@ -573273,23 +595534,23 @@ "name": null, "span": { "begin": [ - 817, + 785, 1 ], "end": [ - 819, - 27 + 785, + 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "679": { + "6828": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 679, + "id": 6828, "inner": { "impl": { "blanket_impl": { @@ -573298,8 +595559,8 @@ "for": { "resolved_path": { "args": null, - "id": 659, - "path": "Backtrace" + "id": 6696, + "path": "StripPrefixError" } }, "generics": { @@ -573346,7 +595607,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -573364,8 +595625,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -573381,7 +595642,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -573390,23 +595651,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6790": { + "6829": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6790, + "id": 6829, "inner": { "impl": { "blanket_impl": { @@ -573415,7 +595676,7 @@ "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -573481,8 +595742,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -573498,7 +595759,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -573507,23 +595768,108 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6791": { + "683": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6791, + "id": 683, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "fmt", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 176, + 5 + ], + "end": [ + 198, + 6 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "default" + }, + "6830": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6830, "inner": { "impl": { "blanket_impl": { @@ -573532,7 +595878,7 @@ "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -573580,12 +595926,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -573605,12 +595951,12 @@ }, "visibility": "default" }, - "6792": { + "6831": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6792, + "id": 6831, "inner": { "impl": { "blanket_impl": { @@ -573619,7 +595965,7 @@ "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -573646,7 +595992,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -573673,7 +596019,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -573682,23 +596028,23 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "6793": { + "6832": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6793, + "id": 6832, "inner": { "impl": { "blanket_impl": { @@ -573707,7 +596053,7 @@ "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -573768,7 +596114,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -573777,18 +596123,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "6794": { + "6833": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -573797,7 +596143,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6794, + "id": 6833, "inner": { "function": { "generics": { @@ -573843,7 +596189,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -573855,7 +596201,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -573866,18 +596212,18 @@ "name": "fmt", "span": { "begin": [ - 2222, + 2313, 10 ], "end": [ - 2222, + 2313, 15 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6795": { + "6834": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"strip_prefix\"}}]" @@ -573887,14 +596233,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6795, + "id": 6834, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -573906,12 +596252,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6794 + 6833 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -573920,18 +596266,18 @@ "name": null, "span": { "begin": [ - 2222, + 2313, 10 ], "end": [ - 2222, + 2313, 15 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6796": { + "6835": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -573940,7 +596286,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6796, + "id": 6835, "inner": { "function": { "generics": { @@ -573973,7 +596319,7 @@ "output": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } } @@ -573984,18 +596330,18 @@ "name": "clone", "span": { "begin": [ - 2222, + 2313, 17 ], "end": [ - 2222, + 2313, 22 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6797": { + "6836": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"strip_prefix\"}}]" @@ -574005,14 +596351,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6797, + "id": 6836, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -574024,14 +596370,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6796 + 6835 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -574040,18 +596386,18 @@ "name": null, "span": { "begin": [ - 2222, + 2313, 17 ], "end": [ - 2222, + 2313, 22 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6798": { + "6837": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"strip_prefix\"}}]" @@ -574061,14 +596407,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6798, + "id": 6837, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -574092,18 +596438,18 @@ "name": null, "span": { "begin": [ - 2222, + 2313, 24 ], "end": [ - 2222, + 2313, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6799": { + "6838": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -574112,7 +596458,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6799, + "id": 6838, "inner": { "function": { "generics": { @@ -574149,7 +596495,7 @@ "type": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } } @@ -574168,152 +596514,55 @@ "name": "eq", "span": { "begin": [ - 2222, + 2313, 24 ], "end": [ - 2222, + 2313, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "68": { + "6839": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"strip_prefix\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 68, - "inner": { - "use": { - "id": 69, - "is_glob": false, - "name": "compile_error", - "source": "core::prelude::v1::compile_error" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 50, - 26 - ], - "end": [ - 50, - 39 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "680": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 680, + "id": 6839, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 659, - "path": "Backtrace" + "id": 6696, + "path": "StripPrefixError" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 6838 + ], + "provided_trait_methods": [ + "ne" ], - "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 121, + "path": "PartialEq" } } }, @@ -574321,36 +596570,35 @@ "name": null, "span": { "begin": [ - 833, - 1 + 2313, + 24 ], "end": [ - 835, - 24 + 2313, + 33 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/path.rs" }, "visibility": "default" }, - "6800": { + "684": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"strip_prefix\"}}]" - }, - "automatically_derived" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6800, + "id": 684, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, - "path": "StripPrefixError" + "id": 659, + "path": "Backtrace" } }, "generics": { @@ -574361,15 +596609,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6799 - ], - "provided_trait_methods": [ - "ne" + 683 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 123, - "path": "PartialEq" + "id": 344, + "path": "Debug" } } }, @@ -574377,18 +596623,18 @@ "name": null, "span": { "begin": [ - 2222, - 24 + 175, + 1 ], "end": [ - 2222, - 33 + 199, + 2 ], - "filename": "std/src/path.rs" + "filename": "std/src/backtrace.rs" }, "visibility": "default" }, - "6801": { + "6840": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"strip_prefix\"}}]" @@ -574398,14 +596644,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6801, + "id": 6840, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -574422,7 +596668,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -574431,27 +596677,23 @@ "name": null, "span": { "begin": [ - 2222, + 2313, 35 ], "end": [ - 2222, + 2313, 37 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6802": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - } - ], + "6841": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6802, + "id": 6841, "inner": { "function": { "generics": { @@ -574497,7 +596739,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -574509,7 +596751,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -574520,18 +596762,18 @@ "name": "fmt", "span": { "begin": [ - 3681, + 3870, 5 ], "end": [ - 3683, + 3872, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6803": { + "6842": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"strip_prefix\"}}]" @@ -574540,14 +596782,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6803, + "id": 6842, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -574559,7 +596801,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6802 + 6841 ], "provided_trait_methods": [], "trait": { @@ -574573,84 +596815,18 @@ "name": null, "span": { "begin": [ - 3679, + 3869, 1 ], "end": [ - 3684, + 3873, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6804": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6804, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "description", - "span": { - "begin": [ - 3689, - 5 - ], - "end": [ - 3691, - 6 - ], - "filename": "std/src/path.rs" - }, - "visibility": "default" - }, - "6805": { + "6843": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"strip_prefix\"}}]" @@ -574659,14 +596835,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6805, + "id": 6843, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6657, + "id": 6696, "path": "StripPrefixError" } }, @@ -574677,9 +596853,7 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 6804 - ], + "items": [], "provided_trait_methods": [ "source", "type_id", @@ -574698,30 +596872,30 @@ "name": null, "span": { "begin": [ - 3687, + 3876, 1 ], "end": [ - 3692, - 2 + 3876, + 35 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6806": { + "6844": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6806, + "id": 6844, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -574746,19 +596920,19 @@ "span": null, "visibility": "default" }, - "6807": { + "6845": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6807, + "id": 6845, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -574783,19 +596957,19 @@ "span": null, "visibility": "default" }, - "6808": { + "6846": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6808, + "id": 6846, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -574810,7 +596984,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -574820,19 +596994,19 @@ "span": null, "visibility": "default" }, - "6809": { + "6847": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6809, + "id": 6847, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -574857,106 +597031,56 @@ "span": null, "visibility": "default" }, - "681": { + "6848": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 681, + "id": 6848, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 659, - "path": "Backtrace" + "id": 6710, + "path": "NormalizeError" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 338 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 316, + "path": "UnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, + "span": null, "visibility": "default" }, - "6810": { + "6849": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6810, + "id": 6849, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -574972,7 +597096,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -574981,49 +597105,97 @@ "span": null, "visibility": "default" }, - "6811": { + "685": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6811, + "id": 685, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 6671, - "path": "NormalizeError" - } - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "fmt", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } } } }, "links": {}, - "name": null, - "span": null, + "name": "fmt", + "span": { + "begin": [ + 383, + 5 + ], + "end": [ + 428, + 6 + ], + "filename": "std/src/backtrace.rs" + }, "visibility": "default" }, - "6812": { + "6850": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6812, + "id": 6850, "inner": { "impl": { "blanket_impl": { @@ -575032,7 +597204,7 @@ "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -575077,7 +597249,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -575093,7 +597265,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -575102,23 +597274,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6813": { + "6851": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6813, + "id": 6851, "inner": { "impl": { "blanket_impl": { @@ -575127,7 +597299,7 @@ "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -575172,7 +597344,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -575188,7 +597360,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -575197,23 +597369,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6814": { + "6852": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6814, + "id": 6852, "inner": { "impl": { "blanket_impl": { @@ -575222,7 +597394,7 @@ "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -575288,7 +597460,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -575313,23 +597485,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6815": { + "6853": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6815, + "id": 6853, "inner": { "impl": { "blanket_impl": { @@ -575338,7 +597510,7 @@ "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -575361,7 +597533,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -575386,23 +597558,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6816": { + "6854": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6816, + "id": 6854, "inner": { "impl": { "blanket_impl": { @@ -575411,7 +597583,7 @@ "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -575459,7 +597631,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -575477,8 +597649,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -575494,7 +597666,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -575503,140 +597675,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6817": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6817, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 6671, - "path": "NormalizeError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "6818": { + "6855": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6818, + "id": 6855, "inner": { "impl": { "blanket_impl": { @@ -575645,7 +597700,7 @@ "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -575660,30 +597715,48 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -575693,13 +597766,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 332, + 334 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 341, - "path": "Any" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, @@ -575707,23 +597792,23 @@ "name": null, "span": { "begin": [ - 138, + 827, 1 ], "end": [ - 138, - 36 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6819": { + "6856": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6819, + "id": 6856, "inner": { "impl": { "blanket_impl": { @@ -575732,7 +597817,7 @@ "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -575754,15 +597839,7 @@ "bound_predicate": { "bounds": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } + "outlives": "'static" }, { "trait_bound": { @@ -575788,13 +597865,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 434 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 163, - "path": "ToString" + "id": 339, + "path": "Any" } } }, @@ -575802,23 +597879,23 @@ "name": null, "span": { "begin": [ - 2806, + 138, 1 ], "end": [ - 2806, - 46 + 138, + 36 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "682": { + "6857": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 682, + "id": 6857, "inner": { "impl": { "blanket_impl": { @@ -575827,8 +597904,8 @@ "for": { "resolved_path": { "args": null, - "id": 659, - "path": "Backtrace" + "id": 6710, + "path": "NormalizeError" } }, "generics": { @@ -575888,7 +597965,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -575897,18 +597974,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "6820": { + "6858": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -575917,7 +597994,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6820, + "id": 6858, "inner": { "function": { "generics": { @@ -575963,7 +598040,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -575975,7 +598052,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -575986,18 +598063,18 @@ "name": "fmt", "span": { "begin": [ - 2229, + 2320, 10 ], "end": [ - 2229, + 2320, 15 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6821": { + "6859": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134694, is_soft: false}, feature: \"normalize_lexically\"}}]" @@ -576007,14 +598084,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6821, + "id": 6859, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -576026,12 +598103,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6820 + 6858 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -576040,18 +598117,71 @@ "name": null, "span": { "begin": [ - 2229, + 2320, 10 ], "end": [ - 2229, + 2320, 15 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6822": { + "686": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 686, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 659, + "path": "Backtrace" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 685 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 382, + 1 + ], + "end": [ + 429, + 2 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "default" + }, + "6860": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134694, is_soft: false}, feature: \"normalize_lexically\"}}]" @@ -576061,14 +598191,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6822, + "id": 6860, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -576092,18 +598222,18 @@ "name": null, "span": { "begin": [ - 2229, + 2320, 17 ], "end": [ - 2229, + 2320, 26 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6823": { + "6861": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -576112,7 +598242,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6823, + "id": 6861, "inner": { "function": { "generics": { @@ -576149,7 +598279,7 @@ "type": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } } @@ -576168,18 +598298,18 @@ "name": "eq", "span": { "begin": [ - 2229, + 2320, 17 ], "end": [ - 2229, + 2320, 26 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6824": { + "6862": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134694, is_soft: false}, feature: \"normalize_lexically\"}}]" @@ -576189,14 +598319,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6824, + "id": 6862, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -576208,14 +598338,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6823 + 6861 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -576224,23 +598354,23 @@ "name": null, "span": { "begin": [ - 2229, + 2320, 17 ], "end": [ - 2229, + 2320, 26 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6825": { + "6863": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6825, + "id": 6863, "inner": { "function": { "generics": { @@ -576286,7 +598416,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -576298,7 +598428,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -576309,18 +598439,18 @@ "name": "fmt", "span": { "begin": [ - 3696, + 3880, 5 ], "end": [ - 3698, + 3882, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6826": { + "6864": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134694, is_soft: false}, feature: \"normalize_lexically\"}}]" @@ -576329,14 +598459,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6826, + "id": 6864, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -576348,7 +598478,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6825 + 6863 ], "provided_trait_methods": [], "trait": { @@ -576362,18 +598492,18 @@ "name": null, "span": { "begin": [ - 3695, + 3879, 1 ], "end": [ - 3699, + 3883, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6827": { + "6865": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134694, is_soft: false}, feature: \"normalize_lexically\"}}]" @@ -576382,14 +598512,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6827, + "id": 6865, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6671, + "id": 6710, "path": "NormalizeError" } }, @@ -576419,23 +598549,23 @@ "name": null, "span": { "begin": [ - 3701, + 3885, 1 ], "end": [ - 3701, + 3885, 33 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6829": { + "6867": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6829, + "id": 6867, "inner": { "impl": { "blanket_impl": null, @@ -576451,7 +598581,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -576485,97 +598615,67 @@ "span": null, "visibility": "default" }, - "683": { + "6868": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 683, + "id": 6868, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" } - } + ], + "constraints": [] } - ], - [ - "fmt", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } + }, + "id": 6704, + "path": "Display" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + }, + "name": "'a" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, "links": {}, - "name": "fmt", - "span": { - "begin": [ - 176, - 5 - ], - "end": [ - 198, - 6 - ], - "filename": "std/src/backtrace.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "6830": { + "6869": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6830, + "id": 6869, "inner": { "impl": { "blanket_impl": null, @@ -576591,7 +598691,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -576615,8 +598715,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -576625,67 +598725,43 @@ "span": null, "visibility": "default" }, - "6831": { - "attrs": [], + "687": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 6831, + "docs": "Capturing a backtrace is not supported, likely because it's not\nimplemented for the current platform.", + "id": 687, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6665, - "path": "Display" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } + "variant": { + "discriminant": null, + "kind": "plain" } }, "links": {}, - "name": null, - "span": null, + "name": "Unsupported", + "span": { + "begin": [ + 121, + 5 + ], + "end": [ + 121, + 16 + ], + "filename": "std/src/backtrace.rs" + }, "visibility": "default" }, - "6832": { + "6870": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6832, + "id": 6870, "inner": { "impl": { "blanket_impl": null, @@ -576701,7 +598777,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -576735,12 +598811,12 @@ "span": null, "visibility": "default" }, - "6833": { + "6871": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6833, + "id": 6871, "inner": { "impl": { "blanket_impl": null, @@ -576756,7 +598832,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -576780,7 +598856,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -576790,12 +598866,12 @@ "span": null, "visibility": "default" }, - "6834": { + "6872": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6834, + "id": 6872, "inner": { "impl": { "blanket_impl": null, @@ -576811,7 +598887,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -576835,7 +598911,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -576845,12 +598921,12 @@ "span": null, "visibility": "default" }, - "6835": { + "6873": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6835, + "id": 6873, "inner": { "impl": { "blanket_impl": { @@ -576868,7 +598944,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -576913,7 +598989,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -576929,7 +599005,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -576938,23 +599014,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6836": { + "6874": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6836, + "id": 6874, "inner": { "impl": { "blanket_impl": { @@ -576972,7 +599048,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -577017,7 +599093,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -577033,7 +599109,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -577042,23 +599118,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6837": { + "6875": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6837, + "id": 6875, "inner": { "impl": { "blanket_impl": { @@ -577076,7 +599152,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -577142,7 +599218,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -577167,23 +599243,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6838": { + "6876": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6838, + "id": 6876, "inner": { "impl": { "blanket_impl": { @@ -577201,7 +599277,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -577224,7 +599300,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -577249,23 +599325,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6839": { + "6877": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6839, + "id": 6877, "inner": { "impl": { "blanket_impl": { @@ -577283,7 +599359,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -577331,7 +599407,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -577349,8 +599425,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -577366,7 +599442,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -577375,76 +599451,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "684": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 684, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 683 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 175, - 1 - ], - "end": [ - 199, - 2 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "default" - }, - "6840": { + "6878": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6840, + "id": 6878, "inner": { "impl": { "blanket_impl": { @@ -577462,7 +599485,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -577528,8 +599551,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -577545,7 +599568,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -577554,23 +599577,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6841": { + "6879": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6841, + "id": 6879, "inner": { "impl": { "blanket_impl": { @@ -577588,7 +599611,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -577636,12 +599659,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -577661,12 +599684,43 @@ }, "visibility": "default" }, - "6842": { + "688": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Capturing a backtrace has been disabled through either the\n`RUST_LIB_BACKTRACE` or `RUST_BACKTRACE` environment variables.", + "id": 688, + "inner": { + "variant": { + "discriminant": null, + "kind": "plain" + } + }, + "links": {}, + "name": "Disabled", + "span": { + "begin": [ + 125, + 5 + ], + "end": [ + 125, + 13 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "default" + }, + "6880": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6842, + "id": 6880, "inner": { "impl": { "blanket_impl": { @@ -577684,7 +599738,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -577745,7 +599799,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -577754,23 +599808,23 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "6843": { + "6881": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6843, + "id": 6881, "inner": { "function": { "generics": { @@ -577816,7 +599870,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -577828,7 +599882,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -577839,18 +599893,18 @@ "name": "fmt", "span": { "begin": [ - 3381, + 3569, 5 ], "end": [ - 3383, + 3571, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6844": { + "6882": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -577859,7 +599913,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6844, + "id": 6882, "inner": { "impl": { "blanket_impl": null, @@ -577875,7 +599929,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -577887,12 +599941,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6843 + 6881 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -577901,23 +599955,23 @@ "name": null, "span": { "begin": [ - 3380, + 3568, 1 ], "end": [ - 3384, + 3572, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6845": { + "6883": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6845, + "id": 6883, "inner": { "function": { "generics": { @@ -577963,7 +600017,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -577975,7 +600029,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -577986,18 +600040,18 @@ "name": "fmt", "span": { "begin": [ - 3388, + 3576, 5 ], "end": [ - 3390, + 3578, 6 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6846": { + "6884": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -578006,7 +600060,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6846, + "id": 6884, "inner": { "impl": { "blanket_impl": null, @@ -578022,7 +600076,7 @@ "constraints": [] } }, - "id": 6665, + "id": 6704, "path": "Display" } }, @@ -578034,7 +600088,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6845 + 6883 ], "provided_trait_methods": [], "trait": { @@ -578048,18 +600102,18 @@ "name": null, "span": { "begin": [ - 3387, + 3575, 1 ], "end": [ - 3391, + 3579, 2 ], "filename": "std/src/path.rs" }, "visibility": "default" }, - "6848": { + "6886": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -578068,7 +600122,7 @@ "crate_id": 0, "deprecation": null, "docs": "The handle for writing to the child's standard input (stdin), if it\nhas been captured. You might find it helpful to do\n\n```ignore (incomplete)\nlet stdin = child.stdin.take().expect(\"handle present\");\n```\n\nto avoid partially moving the `child` and thus blocking yourself from calling\nfunctions on `child` while using `stdin`.", - "id": 6848, + "id": 6886, "inner": { "struct_field": { "resolved_path": { @@ -578079,7 +600133,7 @@ "type": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } } @@ -578108,7 +600162,7 @@ }, "visibility": "public" }, - "6849": { + "6887": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -578117,7 +600171,7 @@ "crate_id": 0, "deprecation": null, "docs": "The handle for reading from the child's standard output (stdout), if it\nhas been captured. You might find it helpful to do\n\n```ignore (incomplete)\nlet stdout = child.stdout.take().expect(\"handle present\");\n```\n\nto avoid partially moving the `child` and thus blocking yourself from calling\nfunctions on `child` while using `stdout`.", - "id": 6849, + "id": 6887, "inner": { "struct_field": { "resolved_path": { @@ -578128,7 +600182,7 @@ "type": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } } @@ -578157,92 +600211,7 @@ }, "visibility": "public" }, - "685": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 685, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "fmt", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 383, - 5 - ], - "end": [ - 428, - 6 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "default" - }, - "6850": { + "6888": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -578251,7 +600220,7 @@ "crate_id": 0, "deprecation": null, "docs": "The handle for reading from the child's standard error (stderr), if it\nhas been captured. You might find it helpful to do\n\n```ignore (incomplete)\nlet stderr = child.stderr.take().expect(\"handle present\");\n```\n\nto avoid partially moving the `child` and thus blocking yourself from calling\nfunctions on `child` while using `stderr`.", - "id": 6850, + "id": 6888, "inner": { "struct_field": { "resolved_path": { @@ -578262,7 +600231,7 @@ "type": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } } @@ -578291,7 +600260,7 @@ }, "visibility": "public" }, - "6851": { + "6889": { "attrs": [ { "other": "#[(not(test), rustc_diagnostic_item = \"child_id\")]" @@ -578311,7 +600280,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns the OS-assigned process identifier associated with this child.\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nlet mut command = Command::new(\"ls\");\nif let Ok(child) = command.spawn() {\n println!(\"Child's ID is {}\", child.id());\n} else {\n println!(\"ls command didn't start\");\n}\n```", - "id": 6851, + "id": 6889, "inner": { "function": { "generics": { @@ -578351,18 +600320,49 @@ "name": "id", "span": { "begin": [ - 2230, + 2241, 5 ], "end": [ - 2232, + 2243, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6852": { + "689": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A backtrace has been captured and the `Backtrace` should print\nreasonable information when rendered.", + "id": 689, + "inner": { + "variant": { + "discriminant": null, + "kind": "plain" + } + }, + "links": {}, + "name": "Captured", + "span": { + "begin": [ + 129, + 5 + ], + "end": [ + 129, + 13 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "default" + }, + "6890": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -578371,7 +600371,7 @@ "crate_id": 0, "deprecation": null, "docs": "Simultaneously waits for the child to exit and collect all remaining\noutput on the stdout/stderr handles, returning an `Output`\ninstance.\n\nThe stdin handle to the child process, if any, will be closed\nbefore waiting. This helps avoid deadlock: it ensures that the\nchild does not block waiting for input from the parent, while\nthe parent waits for the child to exit.\n\nBy default, stdin, stdout and stderr are inherited from the parent.\nIn order to capture the output into this `Result` it is\nnecessary to create new pipes between parent and child. Use\n`stdout(Stdio::piped())` or `stderr(Stdio::piped())`, respectively.\n\n# Examples\n\n```should_panic\nuse std::process::{Command, Stdio};\n\nlet child = Command::new(\"/bin/cat\")\n .arg(\"file.txt\")\n .stdout(Stdio::piped())\n .spawn()\n .expect(\"failed to execute child\");\n\nlet output = child\n .wait_with_output()\n .expect(\"failed to wait on child\");\n\nassert!(output.status.success());\n```\n", - "id": 6852, + "id": 6890, "inner": { "function": { "generics": { @@ -578404,7 +600404,7 @@ "type": { "resolved_path": { "args": null, - "id": 6853, + "id": 6891, "path": "Output" } } @@ -578413,7 +600413,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -578424,18 +600424,18 @@ "name": "wait_with_output", "span": { "begin": [ - 2333, + 2344, 5 ], "end": [ - 2355, + 2366, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6853": { + "6891": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -578444,7 +600444,7 @@ "crate_id": 0, "deprecation": null, "docs": "The output of a finished process.\n\nThis is returned in a Result by either the [`output`] method of a\n[`Command`], or the [`wait_with_output`] method of a [`Child`]\nprocess.\n\n[`output`]: Command::output\n[`wait_with_output`]: Child::wait_with_output", - "id": 6853, + "id": 6891, "inner": { "struct": { "generics": { @@ -578452,34 +600452,34 @@ "where_predicates": [] }, "impls": [ - 7013, - 7014, - 7015, - 7016, - 7017, - 7018, - 7019, - 7020, - 7021, - 7022, - 7023, - 7024, - 7025, - 7026, - 7027, - 7028, - 7029, - 7031, - 7032, - 7034, - 7036 + 7051, + 7052, + 7053, + 7054, + 7055, + 7056, + 7057, + 7058, + 7059, + 7060, + 7061, + 7062, + 7063, + 7064, + 7065, + 7066, + 7067, + 7069, + 7070, + 7072, + 7074 ], "kind": { "plain": { "fields": [ - 7008, - 7009, - 7010 + 7046, + 7047, + 7048 ], "has_stripped_fields": false } @@ -578487,38 +600487,38 @@ } }, "links": { - "Child::wait_with_output": 6852, - "Command::output": 6927, - "`Child`": 5388, - "`Command`": 5336 + "Child::wait_with_output": 6890, + "Command::output": 6965, + "`Child`": 5393, + "`Command`": 5341 }, "name": "Output", "span": { "begin": [ - 1317, + 1328, 1 ], "end": [ - 1327, + 1338, 2 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6854": { + "6892": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6854, + "id": 6892, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -578530,11 +600530,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 5465, - 6851, - 5467, - 5469, - 6852 + 5470, + 6889, + 5472, + 5474, + 6890 ], "provided_trait_methods": [], "trait": null @@ -578544,30 +600544,30 @@ "name": null, "span": { "begin": [ - 2184, + 2195, 1 ], "end": [ - 2356, + 2367, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6855": { + "6893": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6855, + "id": 6893, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -578592,19 +600592,19 @@ "span": null, "visibility": "default" }, - "6856": { + "6894": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6856, + "id": 6894, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -578629,19 +600629,19 @@ "span": null, "visibility": "default" }, - "6857": { + "6895": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6857, + "id": 6895, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -578656,7 +600656,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -578666,19 +600666,19 @@ "span": null, "visibility": "default" }, - "6858": { + "6896": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6858, + "id": 6896, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -578703,19 +600703,19 @@ "span": null, "visibility": "default" }, - "6859": { + "6897": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6859, + "id": 6897, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -578730,7 +600730,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -578740,72 +600740,19 @@ "span": null, "visibility": "default" }, - "686": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 686, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 659, - "path": "Backtrace" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 685 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 382, - 1 - ], - "end": [ - 429, - 2 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "default" - }, - "6860": { + "6898": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6860, + "id": 6898, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -578820,7 +600767,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -578830,12 +600777,12 @@ "span": null, "visibility": "default" }, - "6861": { + "6899": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6861, + "id": 6899, "inner": { "impl": { "blanket_impl": { @@ -578844,7 +600791,7 @@ "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -578889,7 +600836,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -578905,7 +600852,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -578914,23 +600861,60 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6862": { + "690": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6862, + "id": 690, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 664, + "path": "BacktraceStatus" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6900": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6900, "inner": { "impl": { "blanket_impl": { @@ -578939,7 +600923,7 @@ "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -578984,7 +600968,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -579000,7 +600984,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -579009,23 +600993,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6863": { + "6901": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6863, + "id": 6901, "inner": { "impl": { "blanket_impl": { @@ -579034,7 +601018,7 @@ "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -579100,7 +601084,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -579125,23 +601109,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6864": { + "6902": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6864, + "id": 6902, "inner": { "impl": { "blanket_impl": { @@ -579150,7 +601134,7 @@ "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -579173,7 +601157,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -579198,23 +601182,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6865": { + "6903": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6865, + "id": 6903, "inner": { "impl": { "blanket_impl": { @@ -579223,7 +601207,7 @@ "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -579271,7 +601255,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -579289,8 +601273,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -579306,7 +601290,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -579315,23 +601299,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6866": { + "6904": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6866, + "id": 6904, "inner": { "impl": { "blanket_impl": { @@ -579340,7 +601324,7 @@ "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -579406,8 +601390,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -579423,7 +601407,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -579432,23 +601416,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6867": { + "6905": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6867, + "id": 6905, "inner": { "impl": { "blanket_impl": { @@ -579457,7 +601441,7 @@ "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -579505,12 +601489,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -579530,12 +601514,12 @@ }, "visibility": "default" }, - "6868": { + "6906": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6868, + "id": 6906, "inner": { "function": { "generics": { @@ -579581,7 +601565,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -579593,7 +601577,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -579615,7 +601599,7 @@ }, "visibility": "default" }, - "6869": { + "6907": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -579624,14 +601608,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6869, + "id": 6907, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } }, @@ -579643,12 +601627,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6868 + 6906 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -579668,51 +601652,57 @@ }, "visibility": "default" }, - "687": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - } - ], + "6909": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Capturing a backtrace is not supported, likely because it's not\nimplemented for the current platform.", - "id": 687, + "docs": null, + "id": 6909, "inner": { - "variant": { - "discriminant": null, - "kind": "plain" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4220, + "path": "ChildStdin" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } }, "links": {}, - "name": "Unsupported", - "span": { - "begin": [ - 121, - 5 - ], - "end": [ - 121, - 16 - ], - "filename": "std/src/backtrace.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "6871": { + "691": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6871, + "id": 691, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, - "path": "ChildStdin" + "id": 664, + "path": "BacktraceStatus" } }, "generics": { @@ -579726,8 +601716,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } }, @@ -579736,19 +601726,19 @@ "span": null, "visibility": "default" }, - "6872": { + "6910": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6872, + "id": 6910, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -579773,19 +601763,19 @@ "span": null, "visibility": "default" }, - "6873": { + "6911": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6873, + "id": 6911, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -579800,7 +601790,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -579810,19 +601800,19 @@ "span": null, "visibility": "default" }, - "6874": { + "6912": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6874, + "id": 6912, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -579847,19 +601837,19 @@ "span": null, "visibility": "default" }, - "6875": { + "6913": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6875, + "id": 6913, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -579874,7 +601864,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -579884,19 +601874,19 @@ "span": null, "visibility": "default" }, - "6876": { + "6914": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6876, + "id": 6914, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -579911,7 +601901,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -579921,12 +601911,12 @@ "span": null, "visibility": "default" }, - "6877": { + "6915": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6877, + "id": 6915, "inner": { "impl": { "blanket_impl": { @@ -579935,7 +601925,7 @@ "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -579980,7 +601970,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -579996,7 +601986,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -580005,23 +601995,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6878": { + "6916": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6878, + "id": 6916, "inner": { "impl": { "blanket_impl": { @@ -580030,7 +602020,7 @@ "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -580075,7 +602065,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -580091,7 +602081,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -580100,23 +602090,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6879": { + "6917": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6879, + "id": 6917, "inner": { "impl": { "blanket_impl": { @@ -580125,7 +602115,7 @@ "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -580191,7 +602181,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -580216,54 +602206,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "688": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Capturing a backtrace has been disabled through either the\n`RUST_LIB_BACKTRACE` or `RUST_BACKTRACE` environment variables.", - "id": 688, - "inner": { - "variant": { - "discriminant": null, - "kind": "plain" - } - }, - "links": {}, - "name": "Disabled", - "span": { - "begin": [ - 125, - 5 - ], - "end": [ - 125, - 13 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "default" - }, - "6880": { + "6918": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6880, + "id": 6918, "inner": { "impl": { "blanket_impl": { @@ -580272,7 +602231,7 @@ "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -580295,7 +602254,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -580320,23 +602279,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6881": { + "6919": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6881, + "id": 6919, "inner": { "impl": { "blanket_impl": { @@ -580345,7 +602304,7 @@ "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -580393,7 +602352,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -580411,8 +602370,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -580428,7 +602387,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -580437,23 +602396,60 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6882": { + "692": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6882, + "id": 692, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 664, + "path": "BacktraceStatus" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6920": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6920, "inner": { "impl": { "blanket_impl": { @@ -580462,7 +602458,7 @@ "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -580528,8 +602524,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -580545,7 +602541,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -580554,23 +602550,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6883": { + "6921": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6883, + "id": 6921, "inner": { "impl": { "blanket_impl": { @@ -580579,7 +602575,7 @@ "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -580627,12 +602623,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -580652,12 +602648,12 @@ }, "visibility": "default" }, - "6884": { + "6922": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6884, + "id": 6922, "inner": { "function": { "generics": { @@ -580703,7 +602699,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -580715,7 +602711,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -580726,18 +602722,18 @@ "name": "fmt", "span": { "begin": [ - 381, + 390, 5 ], "end": [ - 383, + 392, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6885": { + "6923": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -580746,14 +602742,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6885, + "id": 6923, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } }, @@ -580765,12 +602761,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6884 + 6922 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -580779,23 +602775,23 @@ "name": null, "span": { "begin": [ - 380, + 389, 1 ], "end": [ - 384, + 393, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6886": { + "6924": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Converts a [`ChildStdin`] into a [`Stdio`].\n\n# Examples\n\n`ChildStdin` will be converted to `Stdio` using `Stdio::from` under the hood.\n\n```rust,no_run\nuse std::process::{Command, Stdio};\n\nlet reverse = Command::new(\"rev\")\n .stdin(Stdio::piped())\n .spawn()\n .expect(\"failed reverse command\");\n\nlet _echo = Command::new(\"echo\")\n .arg(\"Hello, world!\")\n .stdout(reverse.stdin.unwrap()) // Converted into a Stdio here\n .output()\n .expect(\"failed echo command\");\n\n// \"!dlrow ,olleH\" echoed to console\n```", - "id": 6886, + "id": 6924, "inner": { "function": { "generics": { @@ -580816,7 +602812,7 @@ { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } } @@ -580834,24 +602830,24 @@ } }, "links": { - "`ChildStdin`": 4221, + "`ChildStdin`": 4220, "`Stdio`": 2566 }, "name": "from", "span": { "begin": [ - 1584, + 1595, 5 ], "end": [ - 1586, + 1597, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6887": { + "6925": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"stdio_from\"}}]" @@ -580860,7 +602856,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6887, + "id": 6925, "inner": { "impl": { "blanket_impl": null, @@ -580879,7 +602875,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6886 + 6924 ], "provided_trait_methods": [], "trait": { @@ -580890,7 +602886,7 @@ "type": { "resolved_path": { "args": null, - "id": 4221, + "id": 4220, "path": "ChildStdin" } } @@ -580908,30 +602904,30 @@ "name": null, "span": { "begin": [ - 1561, + 1572, 1 ], "end": [ - 1587, + 1598, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6889": { + "6927": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6889, + "id": 6927, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -580956,50 +602952,56 @@ "span": null, "visibility": "default" }, - "689": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - } - ], + "6928": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "A backtrace has been captured and the `Backtrace` should print\nreasonable information when rendered.", - "id": 689, + "docs": null, + "id": 6928, "inner": { - "variant": { - "discriminant": null, - "kind": "plain" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 4076, + "path": "ChildStdout" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } } }, "links": {}, - "name": "Captured", - "span": { - "begin": [ - 129, - 5 - ], - "end": [ - 129, - 13 - ], - "filename": "std/src/backtrace.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "6890": { + "6929": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6890, + "id": 6929, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581014,8 +603016,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -581024,20 +603026,20 @@ "span": null, "visibility": "default" }, - "6891": { + "693": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6891, + "id": 693, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, - "path": "ChildStdout" + "id": 664, + "path": "BacktraceStatus" } }, "generics": { @@ -581051,8 +603053,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -581061,19 +603063,19 @@ "span": null, "visibility": "default" }, - "6892": { + "6930": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6892, + "id": 6930, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581098,19 +603100,19 @@ "span": null, "visibility": "default" }, - "6893": { + "6931": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6893, + "id": 6931, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581125,7 +603127,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -581135,19 +603137,19 @@ "span": null, "visibility": "default" }, - "6894": { + "6932": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6894, + "id": 6932, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581162,7 +603164,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -581172,12 +603174,12 @@ "span": null, "visibility": "default" }, - "6895": { + "6933": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6895, + "id": 6933, "inner": { "impl": { "blanket_impl": { @@ -581186,7 +603188,7 @@ "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581231,7 +603233,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -581247,7 +603249,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -581256,23 +603258,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6896": { + "6934": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6896, + "id": 6934, "inner": { "impl": { "blanket_impl": { @@ -581281,7 +603283,7 @@ "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581326,7 +603328,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -581342,7 +603344,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -581351,23 +603353,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6897": { + "6935": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6897, + "id": 6935, "inner": { "impl": { "blanket_impl": { @@ -581376,7 +603378,7 @@ "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581442,7 +603444,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -581467,23 +603469,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6898": { + "6936": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6898, + "id": 6936, "inner": { "impl": { "blanket_impl": { @@ -581492,7 +603494,7 @@ "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581515,7 +603517,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -581540,23 +603542,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6899": { + "6937": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6899, + "id": 6937, "inner": { "impl": { "blanket_impl": { @@ -581565,7 +603567,7 @@ "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581613,7 +603615,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -581631,8 +603633,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -581648,7 +603650,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -581657,60 +603659,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "690": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 690, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6900": { + "6938": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6900, + "id": 6938, "inner": { "impl": { "blanket_impl": { @@ -581719,7 +603684,7 @@ "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581785,8 +603750,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -581802,7 +603767,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -581811,23 +603776,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6901": { + "6939": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6901, + "id": 6939, "inner": { "impl": { "blanket_impl": { @@ -581836,7 +603801,7 @@ "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -581884,12 +603849,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -581909,12 +603874,49 @@ }, "visibility": "default" }, - "6902": { + "694": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6902, + "id": 694, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 664, + "path": "BacktraceStatus" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "6940": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 6940, "inner": { "function": { "generics": { @@ -581960,7 +603962,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -581972,7 +603974,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -581983,18 +603985,18 @@ "name": "fmt", "span": { "begin": [ - 451, + 460, 5 ], "end": [ - 453, + 462, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6903": { + "6941": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -582003,14 +604005,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6903, + "id": 6941, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } }, @@ -582022,12 +604024,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6902 + 6940 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -582036,23 +604038,23 @@ "name": null, "span": { "begin": [ - 450, + 459, 1 ], "end": [ - 454, + 463, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6904": { + "6942": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Converts a [`ChildStdout`] into a [`Stdio`].\n\n# Examples\n\n`ChildStdout` will be converted to `Stdio` using `Stdio::from` under the hood.\n\n```rust,no_run\nuse std::process::{Command, Stdio};\n\nlet hello = Command::new(\"echo\")\n .arg(\"Hello, world!\")\n .stdout(Stdio::piped())\n .spawn()\n .expect(\"failed echo command\");\n\nlet reverse = Command::new(\"rev\")\n .stdin(hello.stdout.unwrap()) // Converted into a Stdio here\n .output()\n .expect(\"failed reverse command\");\n\nassert_eq!(reverse.stdout, b\"!dlrow ,olleH\\n\");\n```", - "id": 6904, + "id": 6942, "inner": { "function": { "generics": { @@ -582073,7 +604075,7 @@ { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } } @@ -582091,24 +604093,24 @@ } }, "links": { - "`ChildStdout`": 4077, + "`ChildStdout`": 4076, "`Stdio`": 2566 }, "name": "from", "span": { "begin": [ - 1613, + 1624, 5 ], "end": [ - 1615, + 1626, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6905": { + "6943": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"stdio_from\"}}]" @@ -582117,7 +604119,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6905, + "id": 6943, "inner": { "impl": { "blanket_impl": null, @@ -582136,7 +604138,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6904 + 6942 ], "provided_trait_methods": [], "trait": { @@ -582147,7 +604149,7 @@ "type": { "resolved_path": { "args": null, - "id": 4077, + "id": 4076, "path": "ChildStdout" } } @@ -582165,30 +604167,30 @@ "name": null, "span": { "begin": [ - 1590, + 1601, 1 ], "end": [ - 1616, + 1627, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6907": { + "6945": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6907, + "id": 6945, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -582213,19 +604215,19 @@ "span": null, "visibility": "default" }, - "6908": { + "6946": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6908, + "id": 6946, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -582250,19 +604252,19 @@ "span": null, "visibility": "default" }, - "6909": { + "6947": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6909, + "id": 6947, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -582277,7 +604279,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -582287,20 +604289,20 @@ "span": null, "visibility": "default" }, - "691": { + "6948": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 691, + "id": 6948, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 664, - "path": "BacktraceStatus" + "id": 4083, + "path": "ChildStderr" } }, "generics": { @@ -582314,8 +604316,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 7, + "path": "Unpin" } } }, @@ -582324,19 +604326,19 @@ "span": null, "visibility": "default" }, - "6910": { + "6949": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6910, + "id": 6949, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -582351,8 +604353,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -582361,20 +604363,20 @@ "span": null, "visibility": "default" }, - "6911": { + "695": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6911, + "id": 695, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, - "path": "ChildStderr" + "id": 664, + "path": "BacktraceStatus" } }, "generics": { @@ -582389,7 +604391,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -582398,19 +604400,19 @@ "span": null, "visibility": "default" }, - "6912": { + "6950": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6912, + "id": 6950, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -582425,7 +604427,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -582435,12 +604437,12 @@ "span": null, "visibility": "default" }, - "6913": { + "6951": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6913, + "id": 6951, "inner": { "impl": { "blanket_impl": { @@ -582449,7 +604451,7 @@ "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -582494,7 +604496,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -582510,7 +604512,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -582519,23 +604521,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6914": { + "6952": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6914, + "id": 6952, "inner": { "impl": { "blanket_impl": { @@ -582544,7 +604546,7 @@ "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -582589,7 +604591,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -582605,7 +604607,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -582614,23 +604616,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6915": { + "6953": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6915, + "id": 6953, "inner": { "impl": { "blanket_impl": { @@ -582639,7 +604641,7 @@ "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -582705,7 +604707,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -582730,23 +604732,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6916": { + "6954": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6916, + "id": 6954, "inner": { "impl": { "blanket_impl": { @@ -582755,7 +604757,7 @@ "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -582778,7 +604780,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -582803,23 +604805,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6917": { + "6955": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6917, + "id": 6955, "inner": { "impl": { "blanket_impl": { @@ -582828,7 +604830,7 @@ "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -582876,7 +604878,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -582894,8 +604896,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -582911,7 +604913,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -582920,23 +604922,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6918": { + "6956": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6918, + "id": 6956, "inner": { "impl": { "blanket_impl": { @@ -582945,7 +604947,7 @@ "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -583011,8 +605013,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -583028,7 +605030,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -583037,23 +605039,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6919": { + "6957": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6919, + "id": 6957, "inner": { "impl": { "blanket_impl": { @@ -583062,7 +605064,7 @@ "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -583110,12 +605112,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -583135,49 +605137,12 @@ }, "visibility": "default" }, - "692": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 692, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6920": { + "6958": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6920, + "id": 6958, "inner": { "function": { "generics": { @@ -583223,7 +605188,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -583235,7 +605200,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -583246,18 +605211,18 @@ "name": "fmt", "span": { "begin": [ - 521, + 530, 5 ], "end": [ - 523, + 532, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6921": { + "6959": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" @@ -583266,14 +605231,14 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6921, + "id": 6959, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } }, @@ -583285,12 +605250,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6920 + 6958 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -583299,23 +605264,118 @@ "name": null, "span": { "begin": [ - 520, + 529, 1 ], "end": [ - 524, + 533, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6922": { + "696": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 696, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 664, + "path": "BacktraceStatus" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "6960": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": "Converts a [`ChildStderr`] into a [`Stdio`].\n\n# Examples\n\n```rust,no_run\nuse std::process::{Command, Stdio};\n\nlet reverse = Command::new(\"rev\")\n .arg(\"non_existing_file.txt\")\n .stderr(Stdio::piped())\n .spawn()\n .expect(\"failed reverse command\");\n\nlet cat = Command::new(\"cat\")\n .arg(\"-\")\n .stdin(reverse.stderr.unwrap()) // Converted into a Stdio here\n .output()\n .expect(\"failed echo command\");\n\nassert_eq!(\n String::from_utf8_lossy(&cat.stdout),\n \"rev: cannot open non_existing_file.txt: No such file or directory\\n\"\n);\n```", - "id": 6922, + "id": 6960, "inner": { "function": { "generics": { @@ -583336,7 +605396,7 @@ { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } } @@ -583354,24 +605414,24 @@ } }, "links": { - "`ChildStderr`": 4084, + "`ChildStderr`": 4083, "`Stdio`": 2566 }, "name": "from", "span": { "begin": [ - 1644, + 1655, 5 ], "end": [ - 1646, + 1657, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6923": { + "6961": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"stdio_from\"}}]" @@ -583380,7 +605440,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 6923, + "id": 6961, "inner": { "impl": { "blanket_impl": null, @@ -583399,7 +605459,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6922 + 6960 ], "provided_trait_methods": [], "trait": { @@ -583410,7 +605470,7 @@ "type": { "resolved_path": { "args": null, - "id": 4084, + "id": 4083, "path": "ChildStderr" } } @@ -583428,18 +605488,18 @@ "name": null, "span": { "begin": [ - 1619, + 1630, 1 ], "end": [ - 1647, + 1658, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6925": { + "6963": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -583448,7 +605508,7 @@ "crate_id": 0, "deprecation": null, "docs": "Executes the command as a child process, returning a handle to it.\n\nBy default, stdin, stdout and stderr are inherited from the parent.\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nCommand::new(\"ls\")\n .spawn()\n .expect(\"ls command failed to start\");\n```", - "id": 6925, + "id": 6963, "inner": { "function": { "generics": { @@ -583487,7 +605547,7 @@ "type": { "resolved_path": { "args": null, - "id": 5388, + "id": 5393, "path": "Child" } } @@ -583496,7 +605556,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -583507,18 +605567,18 @@ "name": "spawn", "span": { "begin": [ - 1044, + 1055, 5 ], "end": [ - 1046, + 1057, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6926": { + "6964": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -583527,7 +605587,7 @@ "crate_id": 0, "deprecation": null, "docs": "Executes a command as a child process, waiting for it to finish and\ncollecting its status.\n\nBy default, stdin, stdout and stderr are inherited from the parent.\n\n# Examples\n\n```should_panic\nuse std::process::Command;\n\nlet status = Command::new(\"/bin/cat\")\n .arg(\"file.txt\")\n .status()\n .expect(\"failed to execute process\");\n\nprintln!(\"process finished with: {status}\");\n\nassert!(status.success());\n```", - "id": 6926, + "id": 6964, "inner": { "function": { "generics": { @@ -583566,7 +605626,7 @@ "type": { "resolved_path": { "args": null, - "id": 5366, + "id": 5371, "path": "ExitStatus" } } @@ -583575,7 +605635,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -583586,18 +605646,18 @@ "name": "status", "span": { "begin": [ - 1098, + 1109, 5 ], "end": [ - 1103, + 1114, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6927": { + "6965": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -583606,7 +605666,7 @@ "crate_id": 0, "deprecation": null, "docs": "Executes the command as a child process, waiting for it to finish and\ncollecting all of its output.\n\nBy default, stdout and stderr are captured (and used to provide the\nresulting output). Stdin is not inherited from the parent and any\nattempt by the child process to read from the stdin stream will result\nin the stream immediately closing.\n\n# Examples\n\n```should_panic\nuse std::process::Command;\nuse std::io::{self, Write};\nlet output = Command::new(\"/bin/cat\")\n .arg(\"file.txt\")\n .output()?;\n\nprintln!(\"status: {}\", output.status);\nio::stdout().write_all(&output.stdout)?;\nio::stderr().write_all(&output.stderr)?;\n\nassert!(output.status.success());\n# io::Result::Ok(())\n```", - "id": 6927, + "id": 6965, "inner": { "function": { "generics": { @@ -583645,7 +605705,7 @@ "type": { "resolved_path": { "args": null, - "id": 6853, + "id": 6891, "path": "Output" } } @@ -583654,7 +605714,7 @@ "constraints": [] } }, - "id": 468, + "id": 469, "path": "io::Result" } } @@ -583665,18 +605725,18 @@ "name": "output", "span": { "begin": [ - 1073, + 1084, 5 ], "end": [ - 1076, + 1087, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6928": { + "6966": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -583685,7 +605745,7 @@ "crate_id": 0, "deprecation": null, "docs": "Constructs a new `Command` for launching the program at\npath `program`, with the following default configuration:\n\n* No arguments to the program\n* Inherit the current process's environment\n* Inherit the current process's working directory\n* Inherit stdin/stdout/stderr for [`spawn`] or [`status`], but create pipes for [`output`]\n\n[`spawn`]: Self::spawn\n[`status`]: Self::status\n[`output`]: Self::output\n\nBuilder methods are provided to change these defaults and\notherwise configure the process.\n\nIf `program` is not an absolute path, the `PATH` will be searched in\nan OS-defined way.\n\nThe search path to be used may be controlled by setting the\n`PATH` environment variable on the Command,\nbut this has some implementation limitations on Windows\n(see issue #37519).\n\n# Platform-specific behavior\n\nNote on Windows: For executable files with the .exe extension,\nit can be omitted when specifying the program for this Command.\nHowever, if the file has a different extension,\na filename including the extension needs to be provided,\notherwise the file won't be found.\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nCommand::new(\"sh\")\n .spawn()\n .expect(\"sh command failed to start\");\n```\n\n# Caveats\n\n[`Command::new`] is only intended to accept the path of the program. If you pass a program\npath along with arguments like `Command::new(\"ls -l\").spawn()`, it will try to search for\n`ls -l` literally. The arguments need to be passed separately, such as via [`arg`] or\n[`args`].\n\n```no_run\nuse std::process::Command;\n\nCommand::new(\"ls\")\n .arg(\"-l\") // arg passed separately\n .spawn()\n .expect(\"ls command failed to start\");\n```\n\n[`arg`]: Self::arg\n[`args`]: Self::args", - "id": 6928, + "id": 6966, "inner": { "function": { "generics": { @@ -583706,7 +605766,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -583750,7 +605810,7 @@ "output": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } } @@ -583758,28 +605818,28 @@ } }, "links": { - "Self::arg": 6929, - "Self::args": 6930, - "Self::output": 6927, - "Self::spawn": 6925, - "Self::status": 6926, - "`Command::new`": 6928 + "Self::arg": 6967, + "Self::args": 6968, + "Self::output": 6965, + "Self::spawn": 6963, + "Self::status": 6964, + "`Command::new`": 6966 }, "name": "new", "span": { "begin": [ - 655, + 666, 5 ], "end": [ - 657, + 668, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6929": { + "6967": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -583788,7 +605848,7 @@ "crate_id": 0, "deprecation": null, "docs": "Adds an argument to pass to the program.\n\nOnly one argument can be passed per use. So instead of:\n\n```no_run\n# std::process::Command::new(\"sh\")\n.arg(\"-C /path/to/repo\")\n# ;\n```\n\nusage would be:\n\n```no_run\n# std::process::Command::new(\"sh\")\n.arg(\"-C\")\n.arg(\"/path/to/repo\")\n# ;\n```\n\nTo pass multiple arguments see [`args`].\n\n[`args`]: Command::args\n\nNote that the argument is not passed through a shell, but given\nliterally to the program. This means that shell syntax like quotes,\nescaped characters, word splitting, glob patterns, variable substitution,\netc. have no effect.\n\n
\n\nOn Windows, use caution with untrusted inputs. Most applications use the\nstandard convention for decoding arguments passed to them. These are safe to\nuse with `arg`. However, some applications such as `cmd.exe` and `.bat` files\nuse a non-standard way of decoding arguments. They are therefore vulnerable\nto malicious input.\n\nIn the case of `cmd.exe` this is especially important because a malicious\nargument can potentially run arbitrary shell commands.\n\nSee [Windows argument splitting][windows-args] for more details\nor [`raw_arg`] for manually implementing non-standard argument encoding.\n\n[`raw_arg`]: crate::os::windows::process::CommandExt::raw_arg\n[windows-args]: crate::process#windows-argument-splitting\n\n
\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nCommand::new(\"ls\")\n .arg(\"-l\")\n .arg(\"-a\")\n .spawn()\n .expect(\"ls command failed to start\");\n```", - "id": 6929, + "id": 6967, "inner": { "function": { "generics": { @@ -583809,7 +605869,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -583869,7 +605929,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } } @@ -583879,62 +605939,25 @@ } }, "links": { - "Command::args": 6930, - "crate::os::windows::process::CommandExt::raw_arg": 5958, - "crate::process#windows-argument-splitting": 5390 + "Command::args": 6968, + "crate::os::windows::process::CommandExt::raw_arg": 5989, + "crate::process#windows-argument-splitting": 5395 }, "name": "arg", "span": { "begin": [ - 718, + 729, 5 ], "end": [ - 721, + 732, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "693": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 693, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6930": { + "6968": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -583943,7 +605966,7 @@ "crate_id": 0, "deprecation": null, "docs": "Adds multiple arguments to pass to the program.\n\nTo pass a single argument see [`arg`].\n\n[`arg`]: Command::arg\n\nNote that the arguments are not passed through a shell, but given\nliterally to the program. This means that shell syntax like quotes,\nescaped characters, word splitting, glob patterns, variable substitution, etc.\nhave no effect.\n\n
\n\nOn Windows, use caution with untrusted inputs. Most applications use the\nstandard convention for decoding arguments passed to them. These are safe to\nuse with `arg`. However, some applications such as `cmd.exe` and `.bat` files\nuse a non-standard way of decoding arguments. They are therefore vulnerable\nto malicious input.\n\nIn the case of `cmd.exe` this is especially important because a malicious\nargument can potentially run arbitrary shell commands.\n\nSee [Windows argument splitting][windows-args] for more details\nor [`raw_arg`] for manually implementing non-standard argument encoding.\n\n[`raw_arg`]: crate::os::windows::process::CommandExt::raw_arg\n[windows-args]: crate::process#windows-argument-splitting\n\n
\n\n# Examples\n\n```no_run\nuse std::process::Command;\n\nCommand::new(\"ls\")\n .args([\"-l\", \"-a\"])\n .spawn()\n .expect(\"ls command failed to start\");\n```", - "id": 6930, + "id": 6968, "inner": { "function": { "generics": { @@ -584023,7 +606046,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -584082,7 +606105,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } } @@ -584092,25 +606115,25 @@ } }, "links": { - "Command::arg": 6929, - "crate::os::windows::process::CommandExt::raw_arg": 5958, - "crate::process#windows-argument-splitting": 5390 + "Command::arg": 6967, + "crate::os::windows::process::CommandExt::raw_arg": 5989, + "crate::process#windows-argument-splitting": 5395 }, "name": "args", "span": { "begin": [ - 764, + 775, 5 ], "end": [ - 773, + 784, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6931": { + "6969": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"command_envs\"}}]" @@ -584119,7 +606142,7 @@ "crate_id": 0, "deprecation": null, "docs": "Inserts or updates multiple explicit environment variable mappings.\n\nThis method allows you to add multiple environment variable mappings to the spawned process\nor overwrite previously set values. You can use [`Command::env`] to set a single environment\nvariable.\n\nChild processes will inherit environment variables from their parent process by default.\nEnvironment variables explicitly set using [`Command::envs`] take precedence over inherited\nvariables. You can disable environment variable inheritance entirely using\n[`Command::env_clear`] or for a single key using [`Command::env_remove`].\n\nNote that environment variable names are case-insensitive (but case-preserving) on Windows\nand case-sensitive on all other platforms.\n\n# Examples\n\n```no_run\nuse std::process::{Command, Stdio};\nuse std::env;\nuse std::collections::HashMap;\n\nlet filtered_env : HashMap =\n env::vars().filter(|&(ref k, _)|\n k == \"TERM\" || k == \"TZ\" || k == \"LANG\" || k == \"PATH\"\n ).collect();\n\nCommand::new(\"printenv\")\n .stdin(Stdio::null())\n .stdout(Stdio::inherit())\n .env_clear()\n .envs(&filtered_env)\n .spawn()\n .expect(\"printenv failed to start\");\n```", - "id": 6931, + "id": 6969, "inner": { "function": { "generics": { @@ -584216,7 +606239,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -584252,7 +606275,7 @@ "type": { "resolved_path": { "args": null, - "id": 1720, + "id": 1719, "path": "OsStr" } } @@ -584311,7 +606334,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } } @@ -584321,26 +606344,121 @@ } }, "links": { - "`Command::env_clear`": 1755, - "`Command::env_remove`": 1754, - "`Command::env`": 1752, - "`Command::envs`": 6931 + "`Command::env_clear`": 1753, + "`Command::env_remove`": 1752, + "`Command::env`": 1750, + "`Command::envs`": 6969 }, "name": "envs", "span": { "begin": [ - 844, + 855, 5 ], "end": [ - 854, + 865, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6932": { + "697": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 697, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 664, + "path": "BacktraceStatus" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "6970": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" @@ -584349,7 +606467,7 @@ "crate_id": 0, "deprecation": null, "docs": "Returns an iterator of the environment variables explicitly set for the child process.\n\nEnvironment variables explicitly set using [`Command::env`], [`Command::envs`], and\n[`Command::env_remove`] can be retrieved with this method.\n\nNote that this output does not include environment variables inherited from the parent\nprocess.\n\nEach element is a tuple key/value pair `(&OsStr, Option<&OsStr>)`. A [`None`] value\nindicates its key was explicitly removed via [`Command::env_remove`]. The associated key for\nthe [`None`] value will no longer inherit from its parent process.\n\nAn empty iterator can indicate that no explicit mappings were added or that\n[`Command::env_clear`] was called. After calling [`Command::env_clear`], the child process\nwill not inherit any environment variables from its parent process.\n\n# Examples\n\n```\nuse std::ffi::OsStr;\nuse std::process::Command;\n\nlet mut cmd = Command::new(\"ls\");\ncmd.env(\"TERM\", \"dumb\").env_remove(\"TZ\");\nlet envs: Vec<(&OsStr, Option<&OsStr>)> = cmd.get_envs().collect();\nassert_eq!(envs, &[\n (OsStr::new(\"TERM\"), Some(OsStr::new(\"dumb\"))),\n (OsStr::new(\"TZ\"), None)\n]);\n```", - "id": 6932, + "id": 6970, "inner": { "function": { "generics": { @@ -584391,7 +606509,7 @@ "constraints": [] } }, - "id": 6941, + "id": 6979, "path": "CommandEnvs" } } @@ -584399,27 +606517,27 @@ } }, "links": { - "`Command::env_clear`": 1755, - "`Command::env_remove`": 1754, - "`Command::env`": 1752, - "`Command::envs`": 6931, + "`Command::env_clear`": 1753, + "`Command::env_remove`": 1752, + "`Command::env`": 1750, + "`Command::envs`": 6969, "`None`": 53 }, "name": "get_envs", "span": { "begin": [ - 1174, + 1185, 5 ], "end": [ - 1176, + 1187, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6933": { + "6971": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -584433,7 +606551,7 @@ "crate_id": 0, "deprecation": null, "docs": "The child inherits from the corresponding parent descriptor.\n\n# Examples\n\nWith stdout:\n\n```no_run\nuse std::process::{Command, Stdio};\n\nlet output = Command::new(\"echo\")\n .arg(\"Hello, world!\")\n .stdout(Stdio::inherit())\n .output()\n .expect(\"Failed to execute command\");\n\nassert_eq!(String::from_utf8_lossy(&output.stdout), \"\");\n// \"Hello, world!\" echoed to console\n```\n\nWith stdin:\n\n```no_run\nuse std::process::{Command, Stdio};\nuse std::io::{self, Write};\n\nlet output = Command::new(\"rev\")\n .stdin(Stdio::inherit())\n .stdout(Stdio::piped())\n .output()?;\n\nprint!(\"You piped in the reverse of: \");\nio::stdout().write_all(&output.stdout)?;\n# io::Result::Ok(())\n```", - "id": 6933, + "id": 6971, "inner": { "function": { "generics": { @@ -584464,18 +606582,18 @@ "name": "inherit", "span": { "begin": [ - 1486, + 1497, 5 ], "end": [ - 1488, + 1499, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6934": { + "6972": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -584489,7 +606607,7 @@ "crate_id": 0, "deprecation": null, "docs": "A new pipe should be arranged to connect the parent and child processes.\n\n# Examples\n\nWith stdout:\n\n```no_run\nuse std::process::{Command, Stdio};\n\nlet output = Command::new(\"echo\")\n .arg(\"Hello, world!\")\n .stdout(Stdio::piped())\n .output()\n .expect(\"Failed to execute command\");\n\nassert_eq!(String::from_utf8_lossy(&output.stdout), \"Hello, world!\\n\");\n// Nothing echoed to console\n```\n\nWith stdin:\n\n```no_run\nuse std::io::Write;\nuse std::process::{Command, Stdio};\n\nlet mut child = Command::new(\"rev\")\n .stdin(Stdio::piped())\n .stdout(Stdio::piped())\n .spawn()\n .expect(\"Failed to spawn child process\");\n\nlet mut stdin = child.stdin.take().expect(\"Failed to open stdin\");\nstd::thread::spawn(move || {\n stdin.write_all(\"Hello, world!\".as_bytes()).expect(\"Failed to write to stdin\");\n});\n\nlet output = child.wait_with_output().expect(\"Failed to read stdout\");\nassert_eq!(String::from_utf8_lossy(&output.stdout), \"!dlrow ,olleH\");\n```\n\nWriting more than a pipe buffer's worth of input to stdin without also reading\nstdout and stderr at the same time may cause a deadlock.\nThis is an issue when running any program that doesn't guarantee that it reads\nits entire stdin before writing more than a pipe buffer's worth of output.\nThe size of a pipe buffer varies on different targets.\n", - "id": 6934, + "id": 6972, "inner": { "function": { "generics": { @@ -584520,18 +606638,18 @@ "name": "piped", "span": { "begin": [ - 1446, + 1457, 5 ], "end": [ - 1448, + 1459, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6935": { + "6973": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -584540,7 +606658,7 @@ "crate_id": 0, "deprecation": null, "docs": "Configuration for the child process's standard input (stdin) handle.\n\nDefaults to [`inherit`] when used with [`spawn`] or [`status`], and\ndefaults to [`piped`] when used with [`output`].\n\n[`inherit`]: Stdio::inherit\n[`piped`]: Stdio::piped\n[`spawn`]: Self::spawn\n[`status`]: Self::status\n[`output`]: Self::output\n\n# Examples\n\n```no_run\nuse std::process::{Command, Stdio};\n\nCommand::new(\"ls\")\n .stdin(Stdio::null())\n .spawn()\n .expect(\"ls command failed to start\");\n```", - "id": 6935, + "id": 6973, "inner": { "function": { "generics": { @@ -584621,7 +606739,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } } @@ -584631,27 +606749,27 @@ } }, "links": { - "Self::output": 6927, - "Self::spawn": 6925, - "Self::status": 6926, - "Stdio::inherit": 6933, - "Stdio::piped": 6934 + "Self::output": 6965, + "Self::spawn": 6963, + "Self::status": 6964, + "Stdio::inherit": 6971, + "Stdio::piped": 6972 }, "name": "stdin", "span": { "begin": [ - 971, + 982, 5 ], "end": [ - 974, + 985, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6936": { + "6974": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -584660,7 +606778,7 @@ "crate_id": 0, "deprecation": null, "docs": "Configuration for the child process's standard output (stdout) handle.\n\nDefaults to [`inherit`] when used with [`spawn`] or [`status`], and\ndefaults to [`piped`] when used with [`output`].\n\n[`inherit`]: Stdio::inherit\n[`piped`]: Stdio::piped\n[`spawn`]: Self::spawn\n[`status`]: Self::status\n[`output`]: Self::output\n\n# Examples\n\n```no_run\nuse std::process::{Command, Stdio};\n\nCommand::new(\"ls\")\n .stdout(Stdio::null())\n .spawn()\n .expect(\"ls command failed to start\");\n```", - "id": 6936, + "id": 6974, "inner": { "function": { "generics": { @@ -584741,7 +606859,7 @@ "type": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } } @@ -584751,921 +606869,71 @@ } }, "links": { - "Self::output": 6927, - "Self::spawn": 6925, - "Self::status": 6926, - "Stdio::inherit": 6933, - "Stdio::piped": 6934 + "Self::output": 6965, + "Self::spawn": 6963, + "Self::status": 6964, + "Stdio::inherit": 6971, + "Stdio::piped": 6972 }, "name": "stdout", "span": { "begin": [ - 998, - 5 - ], - "end": [ - 1001, - 6 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "6937": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Configuration for the child process's standard error (stderr) handle.\n\nDefaults to [`inherit`] when used with [`spawn`] or [`status`], and\ndefaults to [`piped`] when used with [`output`].\n\n[`inherit`]: Stdio::inherit\n[`piped`]: Stdio::piped\n[`spawn`]: Self::spawn\n[`status`]: Self::status\n[`output`]: Self::output\n\n# Examples\n\n```no_run\nuse std::process::{Command, Stdio};\n\nCommand::new(\"ls\")\n .stderr(Stdio::null())\n .spawn()\n .expect(\"ls command failed to start\");\n```", - "id": 6937, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "cfg", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - } - } - } - } - } - }, - "links": { - "Self::output": 6927, - "Self::spawn": 6925, - "Self::status": 6926, - "Stdio::inherit": 6933, - "Stdio::piped": 6934 - }, - "name": "stderr", - "span": { - "begin": [ - 1025, - 5 - ], - "end": [ - 1028, - 6 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "6938": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the path to the program that was given to [`Command::new`].\n\n# Examples\n\n```\nuse std::process::Command;\n\nlet cmd = Command::new(\"echo\");\nassert_eq!(cmd.get_program(), \"echo\");\n```", - "id": 6938, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 1720, - "path": "OsStr" - } - } - } - } - } - } - }, - "links": { - "`Command::new`": 6928 - }, - "name": "get_program", - "span": { - "begin": [ - 1117, - 5 - ], - "end": [ - 1119, - 6 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "6939": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns an iterator of the arguments that will be passed to the program.\n\nThis does not include the path to the program as the first argument;\nit only includes the arguments specified with [`Command::arg`] and\n[`Command::args`].\n\n# Examples\n\n```\nuse std::ffi::OsStr;\nuse std::process::Command;\n\nlet mut cmd = Command::new(\"echo\");\ncmd.arg(\"first\").arg(\"second\");\nlet args: Vec<&OsStr> = cmd.get_args().collect();\nassert_eq!(args, &[\"first\", \"second\"]);\n```", - "id": 6939, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" - } - } - } - } - }, - "links": { - "`Command::arg`": 6929, - "`Command::args`": 6930 - }, - "name": "get_args", - "span": { - "begin": [ - 1139, - 5 - ], - "end": [ - 1141, - 6 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "694": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 694, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6940": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" - }, - { - "must_use": { - "reason": "iterators are lazy and do nothing unless consumed" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An iterator over the command arguments.\n\nThis struct is created by [`Command::get_args`]. See its documentation for\nmore.", - "id": 6940, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "impls": [ - 6961, - 6962, - 6963, - 6964, - 6965, - 6966, - 6967, - 6968, - 6969, - 6970, - 6971, - 6972, - 6973, - 6974, - 6976, - 6980, - 6983 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "`Command::get_args`": 6939 - }, - "name": "CommandArgs", - "span": { - "begin": [ - 1240, - 1 - ], - "end": [ - 1242, - 2 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "6941": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" - }, - { - "must_use": { - "reason": "iterators are lazy and do nothing unless consumed" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An iterator over the command environment variables.\n\nThis struct is created by\n[`Command::get_envs`][crate::process::Command::get_envs]. See its\ndocumentation for more.", - "id": 6941, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "impls": [ - 6985, - 6986, - 6987, - 6988, - 6989, - 6990, - 6991, - 6992, - 6993, - 6994, - 6995, - 6996, - 6997, - 6998, - 7002, - 7005, - 7007 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "crate::process::Command::get_envs": 6932 - }, - "name": "CommandEnvs", - "span": { - "begin": [ - 1272, - 1 - ], - "end": [ - 1274, - 2 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "6942": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the working directory for the child process.\n\nThis returns [`None`] if the working directory will not be changed.\n\n# Examples\n\n```\nuse std::path::Path;\nuse std::process::Command;\n\nlet mut cmd = Command::new(\"ls\");\nassert_eq!(cmd.get_current_dir(), None);\ncmd.current_dir(\"/bin\");\nassert_eq!(cmd.get_current_dir(), Some(Path::new(\"/bin\")));\n```", - "id": 6942, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 1667, - "path": "Path" - } - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - } - }, - "links": { - "`None`": 53 - }, - "name": "get_current_dir", - "span": { - "begin": [ - 1195, + 1009, 5 ], "end": [ - 1197, + 1012, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "6943": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6943, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 6928, - 6929, - 6930, - 1752, - 6931, - 1754, - 1755, - 5346, - 6935, - 6936, - 6937, - 6925, - 6927, - 6926, - 6938, - 6939, - 6932, - 6942 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 594, - 1 - ], - "end": [ - 1198, - 2 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "6944": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6944, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6945": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6945, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6946": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6946, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6947": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6947, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6948": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6948, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": true, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6949": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6949, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": true, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "695": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 695, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "6950": { - "attrs": [], + "6975": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 6950, + "docs": "Configuration for the child process's standard error (stderr) handle.\n\nDefaults to [`inherit`] when used with [`spawn`] or [`status`], and\ndefaults to [`piped`] when used with [`output`].\n\n[`inherit`]: Stdio::inherit\n[`piped`]: Stdio::piped\n[`spawn`]: Self::spawn\n[`status`]: Self::status\n[`output`]: Self::output\n\n# Examples\n\n```no_run\nuse std::process::{Command, Stdio};\n\nCommand::new(\"ls\")\n .stderr(Stdio::null())\n .spawn()\n .expect(\"ls command failed to start\");\n```", + "id": 6975, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, + "function": { "generics": { "params": [ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], "default": null, "is_synthetic": false } @@ -585673,477 +606941,381 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, "type": { - "generic": "T" + "generic": "Self" } } - ], - "constraints": [] + } + ], + [ + "cfg", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 5341, + "path": "Command" + } + } } - }, - "id": 323, - "path": "Borrow" + } } } }, - "links": {}, - "name": null, + "links": { + "Self::output": 6965, + "Self::spawn": 6963, + "Self::status": 6964, + "Stdio::inherit": 6971, + "Stdio::piped": 6972 + }, + "name": "stderr", "span": { "begin": [ - 209, - 1 + 1036, + 5 ], "end": [ - 209, - 32 + 1039, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, - "6951": { - "attrs": [], + "6976": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 6951, + "docs": "Returns the path to the program that was given to [`Command::new`].\n\n# Examples\n\n```\nuse std::process::Command;\n\nlet cmd = Command::new(\"echo\");\nassert_eq!(cmd.get_program(), \"echo\");\n```", + "id": 6976, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "generic_params": [], - "type": { - "generic": "T" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 1719, + "path": "OsStr" } - ], - "constraints": [] + } } - }, - "id": 326, - "path": "BorrowMut" + } } } }, - "links": {}, - "name": null, + "links": { + "`Command::new`": 6966 + }, + "name": "get_program", "span": { "begin": [ - 217, - 1 + 1128, + 5 ], "end": [ - 217, - 35 + 1130, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, - "6952": { - "attrs": [], + "6977": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 6952, + "docs": "Returns an iterator of the arguments that will be passed to the program.\n\nThis does not include the path to the program as the first argument;\nit only includes the arguments specified with [`Command::arg`] and\n[`Command::args`].\n\n# Examples\n\n```\nuse std::ffi::OsStr;\nuse std::process::Command;\n\nlet mut cmd = Command::new(\"echo\");\ncmd.arg(\"first\").arg(\"second\");\nlet args: Vec<&OsStr> = cmd.get_args().collect();\nassert_eq!(args, &[\"first\", \"second\"]);\n```", + "id": 6977, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "generic_params": [], - "type": { - "generic": "U" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 6978, + "path": "CommandArgs" } - }, - "id": 39, - "path": "Into" + } } } }, - "links": {}, - "name": null, + "links": { + "`Command::arg`": 6967, + "`Command::args`": 6968 + }, + "name": "get_args", "span": { "begin": [ - 773, - 1 + 1150, + 5 ], "end": [ - 775, - 24 + 1152, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, - "6953": { - "attrs": [], + "6978": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" + }, + { + "must_use": { + "reason": "iterators are lazy and do nothing unless consumed" + } + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 6953, + "docs": "An iterator over the command arguments.\n\nThis struct is created by [`Command::get_args`]. See its documentation for\nmore.", + "id": 6978, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, + "struct": { "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "T" + "name": "'a" } ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 + "impls": [ + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7006, + 7007, + 7008, + 7009, + 7010, + 7011, + 7012, + 7014, + 7018, + 7021 ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, + "links": { + "`Command::get_args`": 6977 + }, + "name": "CommandArgs", "span": { "begin": [ - 791, + 1251, 1 ], "end": [ - 791, - 28 + 1253, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, - "6954": { - "attrs": [], + "6979": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" + }, + { + "must_use": { + "reason": "iterators are lazy and do nothing unless consumed" + } + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 6954, + "docs": "An iterator over the command environment variables.\n\nThis struct is created by\n[`Command::get_envs`][crate::process::Command::get_envs]. See its\ndocumentation for more.", + "id": 6979, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, + "struct": { "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "U" + "name": "'a" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 + "impls": [ + 7023, + 7024, + 7025, + 7026, + 7027, + 7028, + 7029, + 7030, + 7031, + 7032, + 7033, + 7034, + 7035, + 7036, + 7040, + 7043, + 7045 ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, + "links": { + "crate::process::Command::get_envs": 6970 + }, + "name": "CommandEnvs", "span": { "begin": [ - 817, + 1283, 1 ], "end": [ - 819, - 27 + 1285, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, - "6955": { + "698": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6955, + "id": 698, "inner": { "impl": { "blanket_impl": { @@ -586152,8 +607324,8 @@ "for": { "resolved_path": { "args": null, - "id": 5336, - "path": "Command" + "id": 664, + "path": "BacktraceStatus" } }, "generics": { @@ -586200,8 +607372,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 37, + "path": "From" } } } @@ -586218,8 +607390,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 325 ], "provided_trait_methods": [], "trait": { @@ -586235,8 +607406,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 39, + "path": "Into" } } }, @@ -586244,110 +607415,32 @@ "name": null, "span": { "begin": [ - 833, + 767, 1 ], "end": [ - 835, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6956": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6956, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 5336, - "path": "Command" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + "6980": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" + }, + { + "must_use": { + "reason": null } } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "6958": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, - "docs": "Format the program and arguments of a Command for display. Any\nnon-utf8 data is lossily converted using the utf8 replacement\ncharacter.\n\nThe default format approximates a shell invocation of the program along with its\narguments. It does not include most of the other command properties. The output is not guaranteed to work\n(e.g. due to lack of shell-escaping or differences in path resolution).\nOn some platforms you can use [the alternate syntax] to show more fields.\n\nNote that the debug implementation is platform-specific.\n\n[the alternate syntax]: fmt#sign0", - "id": 6958, + "docs": "Returns the working directory for the child process.\n\nThis returns [`None`] if the working directory will not be changed.\n\n# Examples\n\n```\nuse std::path::Path;\nuse std::process::Command;\n\nlet mut cmd = Command::new(\"ls\");\nassert_eq!(cmd.get_current_dir(), None);\ncmd.current_dir(\"/bin\");\nassert_eq!(cmd.get_current_dir(), Some(Path::new(\"/bin\")));\n```", + "id": 6980, "inner": { "function": { "generics": { @@ -586374,78 +607467,70 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 1666, + "path": "Path" + } + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, "links": { - "fmt#sign0": 6957 + "`None`": 53 }, - "name": "fmt", + "name": "get_current_dir", "span": { "begin": [ - 1214, + 1206, 5 ], "end": [ - 1216, + 1208, 6 ], "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, - "6959": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "6981": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6959, + "id": 6981, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5336, + "id": 5341, "path": "Command" } }, @@ -586457,165 +607542,65 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6958 + 6966, + 6967, + 6968, + 1750, + 6969, + 1752, + 1753, + 5351, + 6973, + 6974, + 6975, + 6963, + 6965, + 6964, + 6976, + 6977, + 6970, + 6980 ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } + "trait": null } }, "links": {}, "name": null, "span": { "begin": [ - 1201, + 605, 1 ], "end": [ - 1217, + 1209, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "696": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 696, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "6961": { + "6982": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6961, + "id": 6982, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], @@ -586632,45 +607617,27 @@ "span": null, "visibility": "default" }, - "6962": { + "6983": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6962, + "id": 6983, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], @@ -586687,42 +607654,24 @@ "span": null, "visibility": "default" }, - "6963": { + "6984": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6963, + "id": 6984, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, @@ -586732,7 +607681,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -586742,42 +607691,24 @@ "span": null, "visibility": "default" }, - "6964": { + "6985": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6964, + "id": 6985, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, @@ -586797,52 +607728,34 @@ "span": null, "visibility": "default" }, - "6965": { + "6986": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6965, + "id": 6986, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -586852,52 +607765,34 @@ "span": null, "visibility": "default" }, - "6966": { + "6987": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6966, + "id": 6987, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -586907,12 +607802,12 @@ "span": null, "visibility": "default" }, - "6967": { + "6988": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6967, + "id": 6988, "inner": { "impl": { "blanket_impl": { @@ -586920,18 +607815,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { @@ -586975,7 +607861,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -586991,7 +607877,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -587000,23 +607886,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6968": { + "6989": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6968, + "id": 6989, "inner": { "impl": { "blanket_impl": { @@ -587024,18 +607910,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { @@ -587079,7 +607956,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -587095,7 +607972,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -587104,148 +607981,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6969": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6969, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 773, - 1 - ], - "end": [ - 775, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "697": { + "699": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 697, + "id": 699, "inner": { "impl": { "blanket_impl": { @@ -587258,110 +608010,6 @@ "path": "BacktraceStatus" } }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "6970": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6970, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" - } - }, "generics": { "params": [ { @@ -587381,7 +608029,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -587406,149 +608054,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6971": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6971, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 817, - 1 - ], - "end": [ - 819, - 27 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "6972": { + "6990": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6972, + "id": 6990, "inner": { "impl": { "blanket_impl": { @@ -587556,18 +608078,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { @@ -587614,8 +608127,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 37, + "path": "From" } } } @@ -587632,8 +608145,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 325 ], "provided_trait_methods": [], "trait": { @@ -587649,8 +608161,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 39, + "path": "Into" } } }, @@ -587658,23 +608170,23 @@ "name": null, "span": { "begin": [ - 833, + 767, 1 ], "end": [ - 835, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6973": { + "6991": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6973, + "id": 6991, "inner": { "impl": { "blanket_impl": { @@ -587682,114 +608194,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "6974": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6974, - "inner": { - "impl": { - "blanket_impl": { - "generic": "I" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { @@ -587797,438 +608204,62 @@ { "kind": { "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "I" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 49, - "path": "Iterator" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "I" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 858, - 859, - 860 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 47, - "path": "IntoIterator" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 314, - 1 - ], - "end": [ - 314, - 37 - ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" - }, - "visibility": "default" - }, - "6975": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6975, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "$crate::fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "$crate::fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1239, - 10 - ], - "end": [ - 1239, - 15 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "6976": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6976, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 6975 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1239, - 10 - ], - "end": [ - 1239, - 15 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "6977": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6977, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "resolved_path": { - "args": null, - "id": 1720, - "path": "OsStr" - } - } - } - } - } - }, - "links": {}, - "name": "Item", - "span": { - "begin": [ - 1246, - 5 - ], - "end": [ - 1246, - 27 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "6978": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6978, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "resolved_path": { - "args": null, - "id": 1720, - "path": "OsStr" - } - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - } - }, - "links": {}, - "name": "next", - "span": { - "begin": [ - 1247, - 5 - ], - "end": [ - 1249, - 6 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "6979": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 6979, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "usize" - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "bounds": [], + "default": null, + "is_synthetic": false } - } - ] - } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "size_hint", + "name": null, "span": { "begin": [ - 1250, - 5 + 785, + 1 ], "end": [ - 1252, - 6 + 785, + 28 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "698": { + "6992": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 698, + "id": 6992, "inner": { "impl": { "blanket_impl": { @@ -588237,8 +608268,8 @@ "for": { "resolved_path": { "args": null, - "id": 664, - "path": "BacktraceStatus" + "id": 5341, + "path": "Command" } }, "generics": { @@ -588285,8 +608316,8 @@ "constraints": [] } }, - "id": 37, - "path": "From" + "id": 197, + "path": "TryFrom" } } } @@ -588303,7 +608334,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -588319,8 +608351,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 198, + "path": "TryInto" } } }, @@ -588328,149 +608360,116 @@ "name": null, "span": { "begin": [ - 773, + 811, 1 ], "end": [ - 775, - 24 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6980": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" - } - ], + "6993": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6980, + "id": 6993, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 6977, - 6978, - 6979 - ], - "provided_trait_methods": [ - "next_chunk", - "size_hint", - "count", - "last", - "advance_by", - "nth", - "step_by", - "chain", - "zip", - "intersperse", - "intersperse_with", - "map", - "for_each", - "filter", - "filter_map", - "enumerate", - "peekable", - "skip_while", - "take_while", - "map_while", - "skip", - "take", - "scan", - "flat_map", - "flatten", - "map_windows", - "fuse", - "inspect", - "by_ref", - "collect", - "try_collect", - "collect_into", - "partition", - "partition_in_place", - "is_partitioned", - "try_fold", - "try_for_each", - "fold", - "reduce", - "try_reduce", - "all", - "any", - "find", - "find_map", - "try_find", - "position", - "rposition", - "max", - "min", - "max_by_key", - "max_by", - "min_by_key", - "min_by", - "rev", - "unzip", - "copied", - "cloned", - "cycle", - "array_chunks", - "sum", - "product", - "cmp", - "cmp_by", - "partial_cmp", - "partial_cmp_by", - "eq", - "eq_by", - "ne", - "lt", - "le", - "gt", - "ge", - "is_sorted", - "is_sorted_by", - "is_sorted_by_key", - "__iterator_get_unchecked" + 332, + 334 ], + "provided_trait_methods": [], "trait": { - "args": null, - "id": 49, - "path": "Iterator" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, @@ -588478,79 +608477,110 @@ "name": null, "span": { "begin": [ - 1245, + 827, 1 ], "end": [ - 1253, - 2 + 829, + 24 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6981": { + "6994": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6981, + "id": 6994, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": null, + "id": 5341, + "path": "Command" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "usize" - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, "links": {}, - "name": "len", + "name": null, "span": { "begin": [ - 1257, - 5 + 138, + 1 ], "end": [ - 1259, - 6 + 138, + 36 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "6982": { + "6996": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 6982, + "docs": "Format the program and arguments of a Command for display. Any\nnon-utf8 data is lossily converted using the utf8 replacement\ncharacter.\n\nThe default format approximates a shell invocation of the program along with its\narguments. It does not include most of the other command properties. The output is not guaranteed to work\n(e.g. due to lack of shell-escaping or differences in path resolution).\nOn some platforms you can use [the alternate syntax] to show more fields.\n\nNote that the debug implementation is platform-specific.\n\n[the alternate syntax]: fmt#sign0", + "id": 6996, "inner": { "function": { "generics": { @@ -588577,87 +608607,96 @@ } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, - "links": {}, - "name": "is_empty", + "links": { + "fmt#sign0": 6995 + }, + "name": "fmt", "span": { "begin": [ - 1260, + 1225, 5 ], "end": [ - 1262, + 1227, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6983": { + "6997": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6983, + "id": 6997, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6940, - "path": "CommandArgs" + "args": null, + "id": 5341, + "path": "Command" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 6981, - 6982 - ], - "provided_trait_methods": [ - "len", - "is_empty" + 6996 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 43, - "path": "ExactSizeIterator" + "id": 344, + "path": "Debug" } } }, @@ -588665,23 +608704,23 @@ "name": null, "span": { "begin": [ - 1256, + 1212, 1 ], "end": [ - 1263, + 1228, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "6985": { + "6999": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6985, + "id": 6999, "inner": { "impl": { "blanket_impl": null, @@ -588697,8 +608736,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -588714,7 +608753,7 @@ ], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], @@ -588731,67 +608770,165 @@ "span": null, "visibility": "default" }, - "6986": { + "70": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 70, + "inner": { + "use": { + "id": 71, + "is_glob": false, + "name": "concat", + "source": "core::prelude::v1::concat" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 50, + 41 + ], + "end": [ + 50, + 47 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "700": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6986, + "id": 700, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6941, - "path": "CommandEnvs" + "args": null, + "id": 664, + "path": "BacktraceStatus" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 329, + 330 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 5, - "path": "Sync" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 811, + 1 + ], + "end": [ + 813, + 27 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, "visibility": "default" }, - "6987": { + "7000": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6987, + "id": 7000, "inner": { "impl": { "blanket_impl": null, @@ -588807,8 +608944,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -588824,15 +608961,15 @@ ], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 5, + "path": "Sync" } } }, @@ -588841,12 +608978,12 @@ "span": null, "visibility": "default" }, - "6988": { + "7001": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6988, + "id": 7001, "inner": { "impl": { "blanket_impl": null, @@ -588862,8 +608999,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -588886,8 +609023,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 313, + "path": "Freeze" } } }, @@ -588896,12 +609033,12 @@ "span": null, "visibility": "default" }, - "6989": { + "7002": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6989, + "id": 7002, "inner": { "impl": { "blanket_impl": null, @@ -588917,8 +609054,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -588941,8 +609078,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 7, + "path": "Unpin" } } }, @@ -588951,85 +609088,67 @@ "span": null, "visibility": "default" }, - "699": { + "7003": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 699, + "id": 7003, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6978, + "path": "CommandArgs" } }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "T" + "name": "'a" } ], "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 329 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 791, - 28 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, + "span": null, "visibility": "default" }, - "6990": { + "7004": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6990, + "id": 7004, "inner": { "impl": { "blanket_impl": null, @@ -589045,8 +609164,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -589069,7 +609188,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -589079,12 +609198,12 @@ "span": null, "visibility": "default" }, - "6991": { + "7005": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6991, + "id": 7005, "inner": { "impl": { "blanket_impl": { @@ -589102,8 +609221,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -589147,7 +609266,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -589163,7 +609282,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -589172,23 +609291,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6992": { + "7006": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6992, + "id": 7006, "inner": { "impl": { "blanket_impl": { @@ -589206,8 +609325,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -589251,7 +609370,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -589267,7 +609386,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -589276,23 +609395,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "6993": { + "7007": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6993, + "id": 7007, "inner": { "impl": { "blanket_impl": { @@ -589310,8 +609429,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -589376,7 +609495,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -589401,23 +609520,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6994": { + "7008": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6994, + "id": 7008, "inner": { "impl": { "blanket_impl": { @@ -589435,8 +609554,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -589458,7 +609577,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -589483,23 +609602,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6995": { + "7009": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6995, + "id": 7009, "inner": { "impl": { "blanket_impl": { @@ -589517,8 +609636,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -589565,7 +609684,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -589583,8 +609702,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -589600,7 +609719,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -589609,23 +609728,140 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6996": { + "701": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6996, + "id": 701, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 664, + "path": "BacktraceStatus" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "7010": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7010, "inner": { "impl": { "blanket_impl": { @@ -589643,8 +609879,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -589709,8 +609945,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -589726,7 +609962,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -589735,23 +609971,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "6997": { + "7011": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6997, + "id": 7011, "inner": { "impl": { "blanket_impl": { @@ -589769,8 +610005,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -589817,12 +610053,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -589842,12 +610078,12 @@ }, "visibility": "default" }, - "6998": { + "7012": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6998, + "id": 7012, "inner": { "impl": { "blanket_impl": { @@ -589865,8 +610101,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -589937,216 +610173,149 @@ }, "visibility": "default" }, - "6999": { - "attrs": [], + "7013": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 6999, + "id": 7013, "inner": { - "assoc_type": { - "bounds": [], + "function": { "generics": { "params": [], "where_predicates": [] }, - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "resolved_path": { - "args": null, - "id": 1720, - "path": "OsStr" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } } } - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "resolved_path": { - "args": null, - "id": 1720, - "path": "OsStr" - } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" } - } + ], + "constraints": [] } - } - ], - "constraints": [] + }, + "id": 341, + "path": "$crate::fmt::Formatter" + } } - }, - "id": 51, - "path": "Option" + } } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "$crate::fmt::Result" } - ] + } } } }, "links": {}, - "name": "Item", + "name": "fmt", "span": { "begin": [ - 1278, - 5 + 1250, + 10 ], "end": [ - 1278, - 48 + 1250, + 15 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "70": { + "7014": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 70, - "inner": { - "use": { - "id": 71, - "is_glob": false, - "name": "concat", - "source": "core::prelude::v1::concat" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 50, - 41 - ], - "end": [ - 50, - 47 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "700": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 700, + "id": 7014, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6978, + "path": "CommandArgs" } }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "U" + "name": "'a" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 7013 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + "args": null, + "id": 344, + "path": "Debug" } } }, @@ -590154,23 +610323,66 @@ "name": null, "span": { "begin": [ - 817, - 1 + 1250, + 10 ], "end": [ - 819, + 1250, + 15 + ], + "filename": "std/src/process.rs" + }, + "visibility": "default" + }, + "7015": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7015, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "resolved_path": { + "args": null, + "id": 1719, + "path": "OsStr" + } + } + } + } + } + }, + "links": {}, + "name": "Item", + "span": { + "begin": [ + 1257, + 5 + ], + "end": [ + 1257, 27 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, - "7000": { + "7016": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7000, + "id": 7016, "inner": { "function": { "generics": { @@ -590207,16 +610419,15 @@ "args": [ { "type": { - "qualified_path": { - "args": null, - "name": "Item", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 49, - "path": "" + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "resolved_path": { + "args": null, + "id": 1719, + "path": "OsStr" + } } } } @@ -590236,23 +610447,23 @@ "name": "next", "span": { "begin": [ - 1280, + 1258, 5 ], "end": [ - 1282, + 1260, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7001": { + "7017": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7001, + "id": 7017, "inner": { "function": { "generics": { @@ -590314,18 +610525,18 @@ "name": "size_hint", "span": { "begin": [ - 1284, + 1261, 5 ], "end": [ - 1286, + 1263, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7002": { + "7018": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" @@ -590334,7 +610545,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7002, + "id": 7018, "inner": { "impl": { "blanket_impl": null, @@ -590350,8 +610561,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -590371,9 +610582,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 6999, - 7000, - 7001 + 7015, + 7016, + 7017 ], "provided_trait_methods": [ "next_chunk", @@ -590464,23 +610675,23 @@ "name": null, "span": { "begin": [ - 1277, + 1256, 1 ], "end": [ - 1287, + 1264, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7003": { + "7019": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7003, + "id": 7019, "inner": { "function": { "generics": { @@ -590520,130 +610731,86 @@ "name": "len", "span": { "begin": [ - 1291, + 1268, 5 ], "end": [ - 1293, + 1270, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7004": { + "702": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7004, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_empty", - "span": { - "begin": [ - 1295, - 5 - ], - "end": [ - 1297, - 6 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "7005": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7005, + "id": 702, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 6941, - "path": "CommandEnvs" + "args": null, + "id": 664, + "path": "BacktraceStatus" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7003, - 7004 - ], - "provided_trait_methods": [ - "len", - "is_empty" + 336 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 43, - "path": "ExactSizeIterator" + "id": 339, + "path": "Any" } } }, @@ -590651,23 +610818,23 @@ "name": null, "span": { "begin": [ - 1290, + 138, 1 ], "end": [ - 1298, - 2 + 138, + 36 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "7006": { + "7020": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7006, + "id": 7020, "inner": { "function": { "generics": { @@ -590694,60 +610861,31 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + "primitive": "bool" } } } }, "links": {}, - "name": "fmt", + "name": "is_empty", "span": { "begin": [ - 1302, + 1271, 5 ], "end": [ - 1304, + 1273, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7007": { + "7021": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" @@ -590756,7 +610894,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7007, + "id": 7021, "inner": { "impl": { "blanket_impl": null, @@ -590772,8 +610910,8 @@ "constraints": [] } }, - "id": 6941, - "path": "CommandEnvs" + "id": 6978, + "path": "CommandArgs" } }, "generics": { @@ -590793,13 +610931,17 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7006 + 7019, + 7020 + ], + "provided_trait_methods": [ + "len", + "is_empty" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 43, + "path": "ExactSizeIterator" } } }, @@ -590807,488 +610949,53 @@ "name": null, "span": { "begin": [ - 1301, + 1267, 1 ], "end": [ - 1305, + 1274, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7008": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The status (exit code) of the process.", - "id": 7008, - "inner": { - "struct_field": { - "resolved_path": { - "args": null, - "id": 5366, - "path": "ExitStatus" - } - } - }, - "links": {}, - "name": "status", - "span": { - "begin": [ - 1320, - 5 - ], - "end": [ - 1320, - 27 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "7009": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The data that the process wrote to stdout.", - "id": 7009, - "inner": { - "struct_field": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 165, - "path": "Vec" - } - } - }, - "links": {}, - "name": "stdout", - "span": { - "begin": [ - 1323, - 5 - ], - "end": [ - 1323, - 24 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "701": { + "7023": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 701, + "id": 7023, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } + "lifetime": "'a" } ], - "generic_params": [], - "type": { - "generic": "U" - } + "constraints": [] } - } - ] + }, + "id": 6979, + "path": "CommandEnvs" + } }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "7010": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The data that the process wrote to stderr.", - "id": 7010, - "inner": { - "struct_field": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 165, - "path": "Vec" - } - } - }, - "links": {}, - "name": "stderr", - "span": { - "begin": [ - 1326, - 5 - ], - "end": [ - 1326, - 24 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "7011": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Was termination successful? Returns a `Result`.\n\n# Examples\n\n```\n#![feature(exit_status_error)]\n# if cfg!(unix) {\nuse std::process::Command;\n\nlet status = Command::new(\"ls\")\n .arg(\"/dev/nonexistent\")\n .status()\n .expect(\"ls could not be executed\");\n\nprintln!(\"ls: {status}\");\nstatus.exit_ok().expect_err(\"/dev/nonexistent could be listed!\");\n# } // cfg!(unix)\n```", - "id": 7011, - "inner": { - "function": { "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 5367, - "path": "ExitStatusError" - } - } - } - ], - "constraints": [] + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] } }, - "id": 57, - "path": "Result" + "name": "'a" } - } - } - } - }, - "links": {}, - "name": "exit_ok", - "span": { - "begin": [ - 1816, - 5 - ], - "end": [ - 1818, - 6 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "7012": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns an error if a nonzero exit status was received.\n\nIf the [`Command`] exited successfully,\n`self` is returned.\n\nThis is equivalent to calling [`exit_ok`](ExitStatus::exit_ok)\non [`Output.status`](Output::status).\n\nNote that this will throw away the [`Output::stderr`] field in the error case.\nIf the child process outputs useful informantion to stderr, you can:\n* Use `cmd.stderr(Stdio::inherit())` to forward the\n stderr child process to the parent's stderr,\n usually printing it to console where the user can see it.\n This is usually correct for command-line applications.\n* Capture `stderr` using a custom error type.\n This is usually correct for libraries.\n\n# Examples\n\n```\n#![feature(exit_status_error)]\n# #[cfg(all(unix, not(target_os = \"android\")))] {\nuse std::process::Command;\nassert!(Command::new(\"false\").output().unwrap().exit_ok().is_err());\n# }\n```", - "id": 7012, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Self" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 5367, - "path": "ExitStatusError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } - } - }, - "links": { - "ExitStatus::exit_ok": 7011, - "Output::status": 7008, - "`Command`": 5336, - "`Output::stderr`": 7010 - }, - "name": "exit_ok", - "span": { - "begin": [ - 1357, - 5 - ], - "end": [ - 1360, - 6 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "7013": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7013, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7012 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1329, - 1 - ], - "end": [ - 1361, - 2 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "7014": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7014, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" - } - }, - "generics": { - "params": [], "where_predicates": [] }, "is_negative": false, @@ -591308,24 +611015,42 @@ "span": null, "visibility": "default" }, - "7015": { + "7024": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7015, + "id": 7024, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], "where_predicates": [] }, "is_negative": false, @@ -591345,24 +611070,42 @@ "span": null, "visibility": "default" }, - "7016": { + "7025": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7016, + "id": 7025, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], "where_predicates": [] }, "is_negative": false, @@ -591372,7 +611115,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -591382,24 +611125,42 @@ "span": null, "visibility": "default" }, - "7017": { + "7026": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7017, + "id": 7026, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], "where_predicates": [] }, "is_negative": false, @@ -591419,24 +611180,42 @@ "span": null, "visibility": "default" }, - "7018": { + "7027": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7018, + "id": 7027, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], "where_predicates": [] }, "is_negative": false, @@ -591446,7 +611225,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -591456,136 +611235,67 @@ "span": null, "visibility": "default" }, - "7019": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7019, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "702": { + "7028": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 702, + "id": 7028, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" } ], - "generic_params": [], - "type": { - "generic": "T" - } + "constraints": [] } + }, + "id": 6979, + "path": "CommandEnvs" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" } - ] + ], + "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 338 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, + "span": null, "visibility": "default" }, - "7020": { + "7029": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7020, + "id": 7029, "inner": { "impl": { "blanket_impl": { @@ -591593,9 +611303,18 @@ }, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { @@ -591639,7 +611358,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -591655,7 +611374,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -591664,118 +611383,112 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7021": { - "attrs": [], + "703": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7021, + "id": 703, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "generic_params": [], - "type": { - "generic": "T" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, "type": { - "generic": "T" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "$crate::fmt::Formatter" + } } } - ], - "constraints": [] + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "$crate::fmt::Result" } - }, - "id": 326, - "path": "BorrowMut" + } } } }, "links": {}, - "name": null, + "name": "fmt", "span": { "begin": [ - 217, - 1 + 116, + 10 ], "end": [ - 217, - 35 + 116, + 15 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/backtrace.rs" }, "visibility": "default" }, - "7022": { + "7030": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7022, + "id": 7030, "inner": { "impl": { "blanket_impl": { @@ -591783,9 +611496,18 @@ }, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { @@ -591808,11 +611530,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -591829,13 +611551,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 422 + 322 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, @@ -591843,23 +611576,23 @@ "name": null, "span": { "begin": [ - 516, + 221, 1 ], "end": [ - 516, - 42 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7023": { + "7031": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7023, + "id": 7031, "inner": { "impl": { "blanket_impl": { @@ -591867,9 +611600,18 @@ }, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { @@ -591934,7 +611676,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -591959,23 +611701,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7024": { + "7032": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7024, + "id": 7032, "inner": { "impl": { "blanket_impl": { @@ -591983,9 +611725,18 @@ }, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { @@ -592007,7 +611758,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -592032,23 +611783,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7025": { + "7033": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7025, + "id": 7033, "inner": { "impl": { "blanket_impl": { @@ -592056,9 +611807,18 @@ }, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { @@ -592105,7 +611865,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -592123,8 +611883,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -592140,7 +611900,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -592149,23 +611909,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7026": { + "7034": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7026, + "id": 7034, "inner": { "impl": { "blanket_impl": { @@ -592173,9 +611933,18 @@ }, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { @@ -592240,8 +612009,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -592257,7 +612026,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -592266,23 +612035,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7027": { + "7035": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7027, + "id": 7035, "inner": { "impl": { "blanket_impl": { @@ -592290,9 +612059,18 @@ }, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { @@ -592339,12 +612117,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -592364,22 +612142,31 @@ }, "visibility": "default" }, - "7028": { + "7036": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7028, + "id": 7036, "inner": { "impl": { "blanket_impl": { - "generic": "T" + "generic": "I" }, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { @@ -592392,7 +612179,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "I" } ], "where_predicates": [ @@ -592405,15 +612192,15 @@ "modifier": "none", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 49, + "path": "Iterator" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "I" } } } @@ -592423,17 +612210,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" + 858, + 859, + 860 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 157, - "path": "ToOwned" + "id": 47, + "path": "IntoIterator" } } }, @@ -592441,79 +612226,98 @@ "name": null, "span": { "begin": [ - 82, + 314, 1 ], "end": [ - 84, - 14 + 314, + 37 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" }, "visibility": "default" }, - "7029": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - }, - "automatically_derived" - ], + "7037": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7029, + "id": 7037, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" - } - }, + "assoc_type": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 442, - "path": "StructuralPartialEq" + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "resolved_path": { + "args": null, + "id": 1719, + "path": "OsStr" + } + } + } + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "resolved_path": { + "args": null, + "id": 1719, + "path": "OsStr" + } + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + ] } } }, "links": {}, - "name": null, + "name": "Item", "span": { "begin": [ - 1315, - 10 + 1289, + 5 ], "end": [ - 1315, - 19 + 1289, + 48 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "703": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7038": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 703, + "id": 7038, "inner": { "function": { "generics": { @@ -592531,37 +612335,12 @@ "inputs": [ [ "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "$crate::fmt::Formatter" - } + "generic": "Self" } } } @@ -592570,39 +612349,57 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 344, - "path": "$crate::fmt::Result" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "qualified_path": { + "args": null, + "name": "Item", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 49, + "path": "" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "fmt", + "name": "next", "span": { "begin": [ - 116, - 10 + 1291, + 5 ], "end": [ - 116, - 15 + 1293, + 6 ], - "filename": "std/src/backtrace.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, - "7030": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7039": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7030, + "id": 7039, "inner": { "function": { "generics": { @@ -592629,65 +612426,71 @@ } } } - ], - [ - "other", + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "primitive": "usize" + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] } - } + }, + "id": 51, + "path": "Option" } } ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" } } } }, "links": {}, - "name": "eq", + "name": "size_hint", "span": { "begin": [ - 1315, - 10 + 1295, + 5 ], "end": [ - 1315, - 19 + 1297, + 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7031": { + "704": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7031, + "id": 704, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 6853, - "path": "Output" + "id": 664, + "path": "BacktraceStatus" } }, "generics": { @@ -592698,15 +612501,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7030 - ], - "provided_trait_methods": [ - "ne" + 703 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 123, - "path": "PartialEq" + "id": 344, + "path": "Debug" } } }, @@ -592714,53 +612515,149 @@ "name": null, "span": { "begin": [ - 1315, + 116, 10 ], "end": [ - 1315, - 19 + 116, + 15 ], - "filename": "std/src/process.rs" + "filename": "std/src/backtrace.rs" }, "visibility": "default" }, - "7032": { + "7040": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - }, - "automatically_derived" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" + } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7032, + "id": 7040, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7037, + 7038, + 7039 + ], "provided_trait_methods": [ - "assert_receiver_is_total_eq" + "next_chunk", + "size_hint", + "count", + "last", + "advance_by", + "nth", + "step_by", + "chain", + "zip", + "intersperse", + "intersperse_with", + "map", + "for_each", + "filter", + "filter_map", + "enumerate", + "peekable", + "skip_while", + "take_while", + "map_while", + "skip", + "take", + "scan", + "flat_map", + "flatten", + "map_windows", + "fuse", + "inspect", + "by_ref", + "collect", + "try_collect", + "collect_into", + "partition", + "partition_in_place", + "is_partitioned", + "try_fold", + "try_for_each", + "fold", + "reduce", + "try_reduce", + "all", + "any", + "find", + "find_map", + "try_find", + "position", + "rposition", + "max", + "min", + "max_by_key", + "max_by", + "min_by_key", + "min_by", + "rev", + "unzip", + "copied", + "cloned", + "cycle", + "array_chunks", + "sum", + "product", + "cmp", + "cmp_by", + "partial_cmp", + "partial_cmp_by", + "eq", + "eq_by", + "ne", + "lt", + "le", + "gt", + "ge", + "is_sorted", + "is_sorted_by", + "is_sorted_by_key", + "__iterator_get_unchecked" ], "trait": { "args": null, - "id": 113, - "path": "Eq" + "id": 49, + "path": "Iterator" } } }, @@ -592768,27 +612665,23 @@ "name": null, "span": { "begin": [ - 1315, - 21 + 1288, + 1 ], "end": [ - 1315, - 23 + 1298, + 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7033": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7041": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7033, + "id": 7041, "inner": { "function": { "generics": { @@ -592819,92 +612712,32 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 1315, - 25 - ], - "end": [ - 1315, - 30 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "7034": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7034, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "primitive": "usize" } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7033 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" } } }, "links": {}, - "name": null, + "name": "len", "span": { "begin": [ - 1315, - 25 + 1302, + 5 ], "end": [ - 1315, - 30 + 1304, + 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7035": { + "7042": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7035, + "id": 7042, "inner": { "function": { "generics": { @@ -592931,94 +612764,87 @@ } } } - ], - [ - "fmt", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + "primitive": "bool" } } } }, "links": {}, - "name": "fmt", + "name": "is_empty", "span": { "begin": [ - 1367, + 1306, 5 ], "end": [ - 1385, + 1308, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7036": { + "7043": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"process_output_debug\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7036, + "id": 7043, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 6853, - "path": "Output" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7035 + 7041, + 7042 + ], + "provided_trait_methods": [ + "len", + "is_empty" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 43, + "path": "ExactSizeIterator" } } }, @@ -593026,83 +612852,23 @@ "name": null, "span": { "begin": [ - 1366, + 1301, 1 ], "end": [ - 1386, + 1309, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7038": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "This stream will be ignored. This is the equivalent of attaching the\nstream to `/dev/null`.\n\n# Examples\n\nWith stdout:\n\n```no_run\nuse std::process::{Command, Stdio};\n\nlet output = Command::new(\"echo\")\n .arg(\"Hello, world!\")\n .stdout(Stdio::null())\n .output()\n .expect(\"Failed to execute command\");\n\nassert_eq!(String::from_utf8_lossy(&output.stdout), \"\");\n// Nothing echoed to console\n```\n\nWith stdin:\n\n```no_run\nuse std::process::{Command, Stdio};\n\nlet output = Command::new(\"rev\")\n .stdin(Stdio::null())\n .stdout(Stdio::piped())\n .output()\n .expect(\"Failed to execute command\");\n\nassert_eq!(String::from_utf8_lossy(&output.stdout), \"\");\n// Ignores any piped-in input\n```", - "id": 7038, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - } - } - } - }, - "links": {}, - "name": "null", - "span": { - "begin": [ - 1526, - 5 - ], - "end": [ - 1528, - 6 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, - "7039": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 98288, is_soft: false}, feature: \"stdio_makes_pipe\"}}]" - } - ], + "7044": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this requires [`Command`] to create a new pipe.\n\n# Example\n\n```\n#![feature(stdio_makes_pipe)]\nuse std::process::Stdio;\n\nlet io = Stdio::piped();\nassert_eq!(io.makes_pipe(), true);\n```", - "id": 7039, + "docs": null, + "id": 7044, "inner": { "function": { "generics": { @@ -593129,284 +612895,65 @@ } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, - "links": { - "`Command`": 5336 - }, - "name": "makes_pipe", + "links": {}, + "name": "fmt", "span": { "begin": [ - 1542, + 1313, 5 ], "end": [ - 1544, + 1315, 6 ], "filename": "std/src/process.rs" }, - "visibility": "public" + "visibility": "default" }, - "704": { + "7045": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 704, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 703 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 116, - 10 - ], - "end": [ - 116, - 15 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "default" - }, - "7040": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7040, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 6934, - 6933, - 7038, - 7039 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1397, - 1 - ], - "end": [ - 1545, - 2 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "7041": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7041, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7042": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7042, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7043": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7043, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7044": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7044, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"command_access\"}}]" } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7045": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, "docs": null, @@ -593416,357 +612963,44 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7046": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7046, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7047": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7047, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "7048": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7048, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } + "lifetime": "'a" } ], - "generic_params": [], - "type": { - "generic": "T" - } + "constraints": [] } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "7049": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7049, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" + }, + "id": 6979, + "path": "CommandEnvs" } }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "U" + "name": "'a" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 7044 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 344, + "path": "Debug" } } }, @@ -593774,469 +613008,151 @@ "name": null, "span": { "begin": [ - 773, + 1312, 1 ], "end": [ - 775, - 24 + 1316, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, - "705": { + "7046": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - }, - "automatically_derived" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" + } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 705, + "docs": "The status (exit code) of the process.", + "id": 7046, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { + "struct_field": { + "resolved_path": { "args": null, - "id": 442, - "path": "StructuralPartialEq" + "id": 5371, + "path": "ExitStatus" } } }, "links": {}, - "name": null, + "name": "status", "span": { "begin": [ - 116, - 17 + 1331, + 5 ], "end": [ - 116, - 26 + 1331, + 27 ], - "filename": "std/src/backtrace.rs" + "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, - "7050": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7050, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } + "7047": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 791, - 28 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "7051": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7051, + "docs": "The data that the process wrote to stdout.", + "id": 7047, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { + "struct_field": { + "resolved_path": { "args": { "angle_bracketed": { "args": [ { "type": { - "generic": "U" + "primitive": "u8" } } ], "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 163, + "path": "Vec" } } }, "links": {}, - "name": null, + "name": "stdout", "span": { "begin": [ - 817, - 1 + 1334, + 5 ], "end": [ - 819, - 27 + 1334, + 24 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, - "7052": { - "attrs": [], + "7048": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7052, + "docs": "The data that the process wrote to stderr.", + "id": 7048, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { + "struct_field": { + "resolved_path": { "args": { "angle_bracketed": { "args": [ { "type": { - "generic": "U" + "primitive": "u8" } } ], "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 163, + "path": "Vec" } } }, "links": {}, - "name": null, + "name": "stderr", "span": { "begin": [ - 833, - 1 + 1337, + 5 ], "end": [ - 835, + 1337, 24 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "7053": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7053, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 2566, - "path": "Stdio" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/process.rs" }, - "visibility": "default" - }, - "7054": { - "attrs": [], + "visibility": "public" + }, + "7049": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7054, + "docs": "Was termination successful? Returns a `Result`.\n\n# Examples\n\n```\n#![feature(exit_status_error)]\n# if cfg!(all(unix, not(all(target_vendor = \"apple\", not(target_os = \"macos\"))))) {\nuse std::process::Command;\n\nlet status = Command::new(\"ls\")\n .arg(\"/dev/nonexistent\")\n .status()\n .expect(\"ls could not be executed\");\n\nprintln!(\"ls: {status}\");\nstatus.exit_ok().expect_err(\"/dev/nonexistent could be listed!\");\n# } // cfg!(unix)\n```", + "id": 7049, "inner": { "function": { "generics": { @@ -594263,77 +613179,73 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 5372, + "path": "ExitStatusError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" } } } } }, "links": {}, - "name": "fmt", + "name": "exit_ok", "span": { "begin": [ - 1555, + 1827, 5 ], "end": [ - 1557, + 1829, 6 ], "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, - "7055": { + "705": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7055, + "id": 705, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 2566, - "path": "Stdio" + "id": 664, + "path": "BacktraceStatus" } }, "generics": { @@ -594343,14 +613255,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7054 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 442, + "path": "StructuralPartialEq" } } }, @@ -594358,32 +613268,27 @@ "name": null, "span": { "begin": [ - 1554, - 1 + 116, + 17 ], "end": [ - 1558, - 2 + 116, + 26 ], - "filename": "std/src/process.rs" + "filename": "std/src/backtrace.rs" }, "visibility": "default" }, - "7057": { + "7050": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Was termination successful? Signal termination is not considered a\nsuccess, and success is defined as a zero exit status.\n\n# Examples\n\n```rust,no_run\nuse std::process::Command;\n\nlet status = Command::new(\"mkdir\")\n .arg(\"projects\")\n .status()\n .expect(\"failed to execute mkdir\");\n\nif status.success() {\n println!(\"'projects/' directory created\");\n} else {\n println!(\"failed to create 'projects/' directory: {status}\");\n}\n```", - "id": 7057, + "docs": "Returns an error if a nonzero exit status was received.\n\nIf the [`Command`] exited successfully,\n`self` is returned.\n\nThis is equivalent to calling [`exit_ok`](ExitStatus::exit_ok)\non [`Output.status`](Output::status).\n\nNote that this will throw away the [`Output::stderr`] field in the error case.\nIf the child process outputs useful informantion to stderr, you can:\n* Use `cmd.stderr(Stdio::inherit())` to forward the\n stderr child process to the parent's stderr,\n usually printing it to console where the user can see it.\n This is usually correct for command-line applications.\n* Capture `stderr` using a custom error type.\n This is usually correct for libraries.\n\n# Examples\n\n```\n#![feature(exit_status_error)]\n# #[cfg(all(unix, not(target_os = \"android\"), not(all(target_vendor = \"apple\", not(target_os = \"macos\")))))] {\nuse std::process::Command;\nassert!(Command::new(\"false\").output().unwrap().exit_ok().is_err());\n# }\n```", + "id": 7050, "inner": { "function": { "generics": { @@ -594402,52 +613307,75 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Self" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 5372, + "path": "ExitStatusError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, - "links": {}, - "name": "success", + "links": { + "ExitStatus::exit_ok": 7049, + "Output::status": 7046, + "`Command`": 5341, + "`Output::stderr`": 7048 + }, + "name": "exit_ok", "span": { "begin": [ - 1841, + 1368, 5 ], "end": [ - 1843, + 1371, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "7058": { + "7051": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7058, + "id": 7051, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -594458,9 +613386,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7011, - 7057, - 5368 + 7050 ], "provided_trait_methods": [], "trait": null @@ -594470,31 +613396,31 @@ "name": null, "span": { "begin": [ - 1796, + 1340, 1 ], "end": [ - 1876, + 1372, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7059": { + "7052": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7059, + "id": 7052, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -594518,96 +613444,20 @@ "span": null, "visibility": "default" }, - "706": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 706, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq", - "span": { - "begin": [ - 116, - 17 - ], - "end": [ - 116, - 26 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "default" - }, - "7060": { + "7053": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7060, + "id": 7053, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -594631,20 +613481,20 @@ "span": null, "visibility": "default" }, - "7061": { + "7054": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7061, + "id": 7054, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -594658,7 +613508,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -594668,20 +613518,20 @@ "span": null, "visibility": "default" }, - "7062": { + "7055": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7062, + "id": 7055, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -594705,20 +613555,20 @@ "span": null, "visibility": "default" }, - "7063": { + "7056": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7063, + "id": 7056, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -594732,7 +613582,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -594742,20 +613592,20 @@ "span": null, "visibility": "default" }, - "7064": { + "7057": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7064, + "id": 7057, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -594769,7 +613619,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -594779,12 +613629,12 @@ "span": null, "visibility": "default" }, - "7065": { + "7058": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7065, + "id": 7058, "inner": { "impl": { "blanket_impl": { @@ -594793,8 +613643,8 @@ "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -594838,7 +613688,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -594854,7 +613704,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -594863,23 +613713,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7066": { + "7059": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7066, + "id": 7059, "inner": { "impl": { "blanket_impl": { @@ -594888,8 +613738,8 @@ "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -594933,7 +613783,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -594949,7 +613799,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -594958,23 +613808,99 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7067": { + "706": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 706, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 664, + "path": "BacktraceStatus" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "eq", + "span": { + "begin": [ + 116, + 17 + ], + "end": [ + 116, + 26 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "default" + }, + "7060": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7067, + "id": 7060, "inner": { "impl": { "blanket_impl": { @@ -594983,8 +613909,8 @@ "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -595010,7 +613936,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -595042,23 +613968,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7068": { + "7061": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7068, + "id": 7061, "inner": { "impl": { "blanket_impl": { @@ -595067,8 +613993,8 @@ "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -595133,7 +614059,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -595158,23 +614084,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7069": { + "7062": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7069, + "id": 7062, "inner": { "impl": { "blanket_impl": { @@ -595183,8 +614109,8 @@ "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -595206,7 +614132,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -595231,79 +614157,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "707": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 707, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 664, - "path": "BacktraceStatus" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 706 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 116, - 17 - ], - "end": [ - 116, - 26 - ], - "filename": "std/src/backtrace.rs" - }, - "visibility": "default" - }, - "7070": { + "7063": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7070, + "id": 7063, "inner": { "impl": { "blanket_impl": { @@ -595312,8 +614182,8 @@ "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -595360,7 +614230,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -595378,8 +614248,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -595395,7 +614265,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -595404,23 +614274,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7071": { + "7064": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7071, + "id": 7064, "inner": { "impl": { "blanket_impl": { @@ -595429,8 +614299,8 @@ "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -595495,8 +614365,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -595512,7 +614382,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -595521,23 +614391,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7072": { + "7065": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7072, + "id": 7065, "inner": { "impl": { "blanket_impl": { @@ -595546,8 +614416,8 @@ "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -595594,12 +614464,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -595619,12 +614489,12 @@ }, "visibility": "default" }, - "7073": { + "7066": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7073, + "id": 7066, "inner": { "impl": { "blanket_impl": { @@ -595633,8 +614503,8 @@ "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -595660,7 +614530,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -595687,7 +614557,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -595696,113 +614566,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7074": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7074, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 5366, - "path": "ExitStatus" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 434 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 163, - "path": "ToString" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2806, - 1 - ], - "end": [ - 2806, - 46 - ], - "filename": "checkouts/rust/library/alloc/src/string.rs" - }, - "visibility": "default" - }, - "7075": { + "7067": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -595812,15 +614587,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7075, + "id": 7067, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -595843,18 +614618,18 @@ "name": null, "span": { "begin": [ - 1779, + 1326, 10 ], "end": [ - 1779, + 1326, 19 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7076": { + "7068": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -595863,7 +614638,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7076, + "id": 7068, "inner": { "function": { "generics": { @@ -595900,8 +614675,8 @@ "type": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } } } @@ -595919,18 +614694,18 @@ "name": "eq", "span": { "begin": [ - 1779, + 1326, 10 ], "end": [ - 1779, + 1326, 19 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7077": { + "7069": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -595940,15 +614715,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7077, + "id": 7069, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -595959,14 +614734,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7076 + 7068 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -595975,18 +614750,74 @@ "name": null, "span": { "begin": [ - 1779, + 1326, 10 ], "end": [ - 1779, + 1326, 19 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7078": { + "707": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 707, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 664, + "path": "BacktraceStatus" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 706 + ], + "provided_trait_methods": [ + "ne" + ], + "trait": { + "args": null, + "id": 121, + "path": "PartialEq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 116, + 17 + ], + "end": [ + 116, + 26 + ], + "filename": "std/src/backtrace.rs" + }, + "visibility": "default" + }, + "7070": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" @@ -595996,15 +614827,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7078, + "id": 7070, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -596020,7 +614851,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -596029,18 +614860,18 @@ "name": null, "span": { "begin": [ - 1779, + 1326, 21 ], "end": [ - 1779, + 1326, 23 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7079": { + "7071": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -596049,7 +614880,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7079, + "id": 7071, "inner": { "function": { "generics": { @@ -596082,8 +614913,8 @@ "output": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } } } @@ -596093,36 +614924,36 @@ "name": "clone", "span": { "begin": [ - 1779, + 1326, 25 ], "end": [ - 1779, + 1326, 30 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "708": { + "7072": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 708, + "id": 7072, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 664, - "path": "BacktraceStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -596132,14 +614963,16 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7071 + ], "provided_trait_methods": [ - "assert_receiver_is_total_eq" + "clone_from" ], "trait": { "args": null, - "id": 113, - "path": "Eq" + "id": 97, + "path": "Clone" } } }, @@ -596147,36 +614980,120 @@ "name": null, "span": { "begin": [ - 116, - 28 + 1326, + 25 ], "end": [ - 116, + 1326, 30 ], - "filename": "std/src/backtrace.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, - "7080": { + "7073": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7073, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "fmt", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 1378, + 5 + ], + "end": [ + 1396, + 6 + ], + "filename": "std/src/process.rs" + }, + "visibility": "default" + }, + "7074": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - }, - "automatically_derived" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"process_output_debug\"}}]" + } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7080, + "id": 7074, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 6891, + "path": "Output" } }, "generics": { @@ -596187,15 +615104,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7079 - ], - "provided_trait_methods": [ - "clone_from" + 7073 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 344, + "path": "Debug" } } }, @@ -596203,79 +615118,83 @@ "name": null, "span": { "begin": [ - 1779, - 25 + 1377, + 1 ], "end": [ - 1779, - 30 + 1397, + 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7081": { + "7076": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" }, - "automatically_derived" + { + "must_use": { + "reason": null + } + } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7081, + "docs": "This stream will be ignored. This is the equivalent of attaching the\nstream to `/dev/null`.\n\n# Examples\n\nWith stdout:\n\n```no_run\nuse std::process::{Command, Stdio};\n\nlet output = Command::new(\"echo\")\n .arg(\"Hello, world!\")\n .stdout(Stdio::null())\n .output()\n .expect(\"Failed to execute command\");\n\nassert_eq!(String::from_utf8_lossy(&output.stdout), \"\");\n// Nothing echoed to console\n```\n\nWith stdin:\n\n```no_run\nuse std::process::{Command, Stdio};\n\nlet output = Command::new(\"rev\")\n .stdin(Stdio::null())\n .stdout(Stdio::piped())\n .output()\n .expect(\"Failed to execute command\");\n\nassert_eq!(String::from_utf8_lossy(&output.stdout), \"\");\n// Ignores any piped-in input\n```", + "id": 7076, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 5366, - "path": "ExitStatus" - } - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 103, - "path": "Copy" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } + } } } }, "links": {}, - "name": null, + "name": "null", "span": { "begin": [ - 1779, - 32 + 1537, + 5 ], "end": [ - 1779, - 36 + 1539, + 6 ], "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, - "7082": { + "7077": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 98288, is_soft: false}, feature: \"stdio_makes_pipe\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7082, + "docs": "Returns `true` if this requires [`Command`] to create a new pipe.\n\n# Example\n\n```\n#![feature(stdio_makes_pipe)]\nuse std::process::Stdio;\n\nlet io = Stdio::piped();\nassert_eq!(io.makes_pipe(), true);\n```", + "id": 7077, "inner": { "function": { "generics": { @@ -596302,78 +615221,136 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "$crate::fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "$crate::fmt::Result" - } + "primitive": "bool" } } } }, + "links": { + "`Command`": 5341 + }, + "name": "makes_pipe", + "span": { + "begin": [ + 1553, + 5 + ], + "end": [ + 1555, + 6 + ], + "filename": "std/src/process.rs" + }, + "visibility": "public" + }, + "7078": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7078, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 6972, + 6971, + 7076, + 7077 + ], + "provided_trait_methods": [], + "trait": null + } + }, "links": {}, - "name": "fmt", + "name": null, "span": { "begin": [ - 1779, - 38 + 1408, + 1 ], "end": [ - 1779, - 43 + 1556, + 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7083": { + "7079": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7079, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "708": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7083, + "id": 708, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 664, + "path": "BacktraceStatus" } }, "generics": { @@ -596383,14 +615360,14 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7082 + "items": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 111, + "path": "Eq" } } }, @@ -596398,78 +615375,179 @@ "name": null, "span": { "begin": [ - 1779, - 38 + 116, + 28 ], "end": [ - 1779, - 43 + 116, + 30 ], - "filename": "std/src/process.rs" + "filename": "std/src/backtrace.rs" }, "visibility": "default" }, - "7084": { + "7080": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7084, + "id": 7080, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "generic": "Self" + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7081": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7081, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" } } }, "links": {}, - "name": "default", - "span": { - "begin": [ - 1786, - 5 - ], - "end": [ - 1789, - 6 - ], - "filename": "std/src/process.rs" + "name": null, + "span": null, + "visibility": "default" + }, + "7082": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7082, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } }, + "links": {}, + "name": null, + "span": null, "visibility": "default" }, - "7085": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"process_exitstatus_default\"}}]" + "7083": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7083, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } } - ], + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7084": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "The default value is one which indicates successful completion.", - "id": 7085, + "docs": null, + "id": 7084, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 2566, + "path": "Stdio" } }, "generics": { @@ -596477,16 +615555,99 @@ "where_predicates": [] }, "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7085": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7085, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7084 + 319 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 109, - "path": "Default" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, @@ -596494,14 +615655,14 @@ "name": null, "span": { "begin": [ - 1785, + 212, 1 ], "end": [ - 1790, - 2 + 212, + 38 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, @@ -596512,119 +615673,192 @@ "docs": null, "id": 7086, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "T" } } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + ], + "constraints": [] } - } + }, + "id": 324, + "path": "BorrowMut" } } }, "links": {}, - "name": "fmt", + "name": null, "span": { "begin": [ - 1893, - 5 + 221, + 1 ], "end": [ - 1895, - 6 + 221, + 41 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, "7087": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": 7087, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 2566, + "path": "Stdio" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7086 + 325 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 436, - "path": "Display" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, @@ -596632,14 +615866,14 @@ "name": null, "span": { "begin": [ - 1892, + 767, 1 ], "end": [ - 1896, - 2 + 769, + 24 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, @@ -596650,82 +615884,154 @@ "docs": null, "id": 7088, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } }, - "sig": { - "inputs": [ - [ - "error", - { - "resolved_path": { - "args": null, - "id": 5367, - "path": "ExitStatusError" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } - } - ] + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "from", + "name": null, "span": { "begin": [ - 2000, - 5 + 785, + 1 ], "end": [ - 2002, - 6 + 785, + 28 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, "7089": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": 7089, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": null, - "id": 5366, - "path": "ExitStatus" + "id": 2566, + "path": "Stdio" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7088 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -596734,19 +616040,15 @@ "args": [ { "type": { - "resolved_path": { - "args": null, - "id": 5367, - "path": "ExitStatusError" - } + "generic": "U" } } ], "constraints": [] } }, - "id": 37, - "path": "From" + "id": 198, + "path": "TryInto" } } }, @@ -596754,107 +616056,226 @@ "name": null, "span": { "begin": [ - 1999, + 811, 1 ], "end": [ - 2003, - 2 + 813, + 27 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7091": { - "attrs": [ - { - "must_use": { - "reason": null + "7090": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7090, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } - ], + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "7091": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Reports the exit code, if applicable, from an `ExitStatusError`.\n\nIn Unix terms the return value is the **exit status**: the value passed to `exit`, if the\nprocess finished by calling `exit`. Note that on Unix the exit status is truncated to 8\nbits, and that values that didn't come from a program's call to `exit` may be invented by the\nruntime system (often, for example, 255, 254, 127 or 126).\n\nOn Unix, this will return `None` if the process was terminated by a signal. If you want to\nhandle such situations specially, consider using methods from\n[`ExitStatusExt`](crate::os::unix::process::ExitStatusExt).\n\nIf the process finished by calling `exit` with a nonzero value, this will return\nthat exit status.\n\nIf the error was something else, it will return `None`.\n\nIf the process exited successfully (ie, by calling `exit(0)`), there is no\n`ExitStatusError`. So the return value from `ExitStatusError::code()` is always nonzero.\n\n# Examples\n\n```\n#![feature(exit_status_error)]\n# #[cfg(all(unix, not(target_os = \"android\")))] {\nuse std::process::Command;\n\nlet bad = Command::new(\"false\").status().unwrap().exit_ok().unwrap_err();\nassert_eq!(bad.code(), Some(1));\n# } // #[cfg(unix)]\n```", + "docs": null, "id": 7091, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } - } - ] + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "id": 51, - "path": "Option" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, - "links": { - "crate::os::unix::process::ExitStatusExt": 5369 - }, - "name": "code", + "links": {}, + "name": null, "span": { "begin": [ - 1961, - 5 + 138, + 1 ], "end": [ - 1963, - 6 + 138, + 36 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, "7092": { - "attrs": [ - { - "must_use": { - "reason": null - } - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Reports the exit code, if applicable, from an `ExitStatusError`, as a [`NonZero`].\n\nThis is exactly like [`code()`](Self::code), except that it returns a [NonZero]<[i32]>.\n\nPlain `code`, returning a plain integer, is provided because it is often more convenient.\nThe returned value from `code()` is indeed also nonzero; use `code_nonzero()` when you want\na type-level guarantee of nonzeroness.\n\n# Examples\n\n```\n#![feature(exit_status_error)]\n\n# if cfg!(all(unix, not(target_os = \"android\"))) {\nuse std::num::NonZero;\nuse std::process::Command;\n\nlet bad = Command::new(\"false\").status().unwrap().exit_ok().unwrap_err();\nassert_eq!(bad.code_nonzero().unwrap(), NonZero::new(1).unwrap());\n# } // cfg!(unix)\n```", + "docs": null, "id": 7092, "inner": { "function": { @@ -596882,67 +616303,117 @@ } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "i32" - } - } - ], - "constraints": [] - } - }, - "id": 512, - "path": "NonZero" - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, - "links": { - "NonZero": 512, - "Self::code": 7091, - "`NonZero`": 512, - "i32": 3367 - }, - "name": "code_nonzero", + "links": {}, + "name": "fmt", "span": { "begin": [ - 1987, + 1566, 5 ], "end": [ - 1989, + 1568, 6 ], "filename": "std/src/process.rs" }, - "visibility": "public" + "visibility": "default" }, "7093": { "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7093, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2566, + "path": "Stdio" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7092 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1565, + 1 + ], + "end": [ + 1569, + 2 + ], + "filename": "std/src/process.rs" + }, + "visibility": "default" + }, + "7095": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" + }, { "must_use": { "reason": null @@ -596951,8 +616422,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Converts an `ExitStatusError` (back) to an `ExitStatus`.", - "id": 7093, + "docs": "Was termination successful? Signal termination is not considered a\nsuccess, and success is defined as a zero exit status.\n\n# Examples\n\n```rust,no_run\nuse std::process::Command;\n\nlet status = Command::new(\"mkdir\")\n .arg(\"projects\")\n .status()\n .expect(\"failed to execute mkdir\");\n\nif status.success() {\n println!(\"'projects/' directory created\");\n} else {\n println!(\"failed to create 'projects/' directory: {status}\");\n}\n```", + "id": 7095, "inner": { "function": { "generics": { @@ -596983,48 +616454,40 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 5366, - "path": "ExitStatus" - } + "primitive": "bool" } } } }, "links": {}, - "name": "into_status", + "name": "success", "span": { "begin": [ - 1993, + 1852, 5 ], "end": [ - 1995, + 1854, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "7094": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" - } - ], + "7096": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7094, + "id": 7096, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597035,9 +616498,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7091, - 7092, - 7093 + 7049, + 7095, + 5373 ], "provided_trait_methods": [], "trait": null @@ -597047,31 +616510,31 @@ "name": null, "span": { "begin": [ - 1929, + 1807, 1 ], "end": [ - 1996, + 1887, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7095": { + "7097": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7095, + "id": 7097, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597095,20 +616558,20 @@ "span": null, "visibility": "default" }, - "7096": { + "7098": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7096, + "id": 7098, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597132,20 +616595,20 @@ "span": null, "visibility": "default" }, - "7097": { + "7099": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7097, + "id": 7099, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597159,7 +616622,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -597169,20 +616632,20 @@ "span": null, "visibility": "default" }, - "7098": { + "7100": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7098, + "id": 7100, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597206,20 +616669,20 @@ "span": null, "visibility": "default" }, - "7099": { + "7101": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7099, + "id": 7101, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597233,7 +616696,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -597243,20 +616706,20 @@ "span": null, "visibility": "default" }, - "7100": { + "7102": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7100, + "id": 7102, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597270,7 +616733,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -597280,12 +616743,12 @@ "span": null, "visibility": "default" }, - "7101": { + "7103": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7101, + "id": 7103, "inner": { "impl": { "blanket_impl": { @@ -597294,8 +616757,8 @@ "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597339,7 +616802,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -597355,7 +616818,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -597364,23 +616827,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7102": { + "7104": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7102, + "id": 7104, "inner": { "impl": { "blanket_impl": { @@ -597389,8 +616852,8 @@ "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597434,7 +616897,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -597450,7 +616913,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -597459,23 +616922,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7103": { + "7105": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7103, + "id": 7105, "inner": { "impl": { "blanket_impl": { @@ -597484,8 +616947,8 @@ "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597511,7 +616974,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -597543,23 +617006,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7104": { + "7106": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7104, + "id": 7106, "inner": { "impl": { "blanket_impl": { @@ -597568,8 +617031,8 @@ "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597634,7 +617097,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -597659,23 +617122,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7105": { + "7107": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7105, + "id": 7107, "inner": { "impl": { "blanket_impl": { @@ -597684,8 +617147,8 @@ "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597707,7 +617170,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -597732,23 +617195,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7106": { + "7108": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7106, + "id": 7108, "inner": { "impl": { "blanket_impl": { @@ -597757,8 +617220,8 @@ "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597805,7 +617268,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -597823,8 +617286,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -597840,7 +617303,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -597849,23 +617312,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7107": { + "7109": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7107, + "id": 7109, "inner": { "impl": { "blanket_impl": { @@ -597874,8 +617337,8 @@ "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -597940,8 +617403,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -597957,7 +617420,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -597966,23 +617429,60 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7108": { + "711": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7108, + "id": 711, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 667, + "path": "BacktraceFrame" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7110": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7110, "inner": { "impl": { "blanket_impl": { @@ -597991,8 +617491,8 @@ "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598039,12 +617539,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -598064,12 +617564,12 @@ }, "visibility": "default" }, - "7109": { + "7111": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7109, + "id": 7111, "inner": { "impl": { "blanket_impl": { @@ -598078,8 +617578,8 @@ "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598105,7 +617605,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -598132,7 +617632,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -598141,60 +617641,23 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "711": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 711, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 667, - "path": "BacktraceFrame" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7110": { + "7112": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7110, + "id": 7112, "inner": { "impl": { "blanket_impl": { @@ -598203,8 +617666,8 @@ "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598264,7 +617727,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -598273,36 +617736,36 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "7111": { + "7113": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7111, + "id": 7113, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598325,18 +617788,18 @@ "name": null, "span": { "begin": [ - 1922, + 1790, 10 ], "end": [ - 1922, + 1790, 19 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7112": { + "7114": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -598345,7 +617808,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7112, + "id": 7114, "inner": { "function": { "generics": { @@ -598382,8 +617845,8 @@ "type": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } } } @@ -598401,36 +617864,36 @@ "name": "eq", "span": { "begin": [ - 1922, + 1790, 10 ], "end": [ - 1922, + 1790, 19 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7113": { + "7115": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7113, + "id": 7115, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598441,14 +617904,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7112 + 7114 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -598457,36 +617920,36 @@ "name": null, "span": { "begin": [ - 1922, + 1790, 10 ], "end": [ - 1922, + 1790, 19 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7114": { + "7116": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7114, + "id": 7116, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598502,7 +617965,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -598511,18 +617974,18 @@ "name": null, "span": { "begin": [ - 1922, + 1790, 21 ], "end": [ - 1922, + 1790, 23 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7115": { + "7117": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -598531,7 +617994,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7115, + "id": 7117, "inner": { "function": { "generics": { @@ -598564,8 +618027,8 @@ "output": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } } } @@ -598575,36 +618038,36 @@ "name": "clone", "span": { "begin": [ - 1922, + 1790, 25 ], "end": [ - 1922, + 1790, 30 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7116": { + "7118": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7116, + "id": 7118, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598615,14 +618078,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7115 + 7117 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -598631,36 +618094,36 @@ "name": null, "span": { "begin": [ - 1922, + 1790, 25 ], "end": [ - 1922, + 1790, 30 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7117": { + "7119": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7117, + "id": 7119, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598674,7 +618137,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -598683,18 +618146,55 @@ "name": null, "span": { "begin": [ - 1922, + 1790, 32 ], "end": [ - 1922, + 1790, 36 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7118": { + "712": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 712, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 667, + "path": "BacktraceFrame" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7120": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -598703,7 +618203,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7118, + "id": 7120, "inner": { "function": { "generics": { @@ -598749,7 +618249,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -598761,7 +618261,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -598772,36 +618272,36 @@ "name": "fmt", "span": { "begin": [ - 1922, + 1790, 38 ], "end": [ - 1922, + 1790, 43 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7119": { + "7121": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7119, + "id": 7121, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598812,12 +618312,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7118 + 7120 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -598826,31 +618326,78 @@ "name": null, "span": { "begin": [ - 1922, + 1790, 38 ], "end": [ - 1922, + 1790, 43 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "712": { + "7122": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 712, + "id": 7122, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "default", + "span": { + "begin": [ + 1797, + 5 + ], + "end": [ + 1800, + 6 + ], + "filename": "std/src/process.rs" + }, + "visibility": "default" + }, + "7123": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 73, patch: 0})}, feature: \"process_exitstatus_default\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The default value is one which indicates successful completion.", + "id": 7123, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 667, - "path": "BacktraceFrame" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598858,28 +618405,40 @@ "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7122 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 107, + "path": "Default" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 1796, + 1 + ], + "end": [ + 1801, + 2 + ], + "filename": "std/src/process.rs" + }, "visibility": "default" }, - "7120": { + "7124": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7120, + "id": 7124, "inner": { "function": { "generics": { @@ -598925,7 +618484,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -598937,7 +618496,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -598948,35 +618507,35 @@ "name": "fmt", "span": { "begin": [ - 2007, + 1904, 5 ], "end": [ - 2009, + 1906, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7121": { + "7125": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"process\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7121, + "id": 7125, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -598987,7 +618546,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7120 + 7124 ], "provided_trait_methods": [], "trait": { @@ -599001,18 +618560,72 @@ "name": null, "span": { "begin": [ - 2006, + 1903, 1 ], "end": [ - 2010, + 1907, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7122": { + "7126": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7126, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "error", + { + "resolved_path": { + "args": null, + "id": 5372, + "path": "ExitStatusError" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "from", + "span": { + "begin": [ + 2011, + 5 + ], + "end": [ + 2013, + 6 + ], + "filename": "std/src/process.rs" + }, + "visibility": "default" + }, + "7127": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" @@ -599021,15 +618634,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7122, + "id": 7127, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5367, - "path": "ExitStatusError" + "id": 5371, + "path": "ExitStatus" } }, "generics": { @@ -599039,18 +618652,29 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], - "provided_trait_methods": [ - "source", - "type_id", - "description", - "cause", - "provide" + "items": [ + 7126 ], + "provided_trait_methods": [], "trait": { - "args": null, - "id": 450, - "path": "Error" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 5372, + "path": "ExitStatusError" + } + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, @@ -599058,34 +618682,36 @@ "name": null, "span": { "begin": [ - 2013, + 2010, 1 ], "end": [ - 2013, - 48 + 2014, + 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7124": { + "7129": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.", - "id": 7124, + "docs": "Reports the exit code, if applicable, from an `ExitStatusError`.\n\nIn Unix terms the return value is the **exit status**: the value passed to `exit`, if the\nprocess finished by calling `exit`. Note that on Unix the exit status is truncated to 8\nbits, and that values that didn't come from a program's call to `exit` may be invented by the\nruntime system (often, for example, 255, 254, 127 or 126).\n\nOn Unix, this will return `None` if the process was terminated by a signal. If you want to\nhandle such situations specially, consider using methods from\n[`ExitStatusExt`](crate::os::unix::process::ExitStatusExt).\n\nIf the process finished by calling `exit` with a nonzero value, this will return\nthat exit status.\n\nIf the error was something else, it will return `None`.\n\nIf the process exited successfully (ie, by calling `exit(0)`), there is no\n`ExitStatusError`. So the return value from `ExitStatusError::code()` is always nonzero.\n\n# Examples\n\n```\n#![feature(exit_status_error)]\n# #[cfg(all(unix, not(target_os = \"android\"), not(all(target_vendor = \"apple\", not(target_os = \"macos\")))))] {\nuse std::process::Command;\n\nlet bad = Command::new(\"false\").status().unwrap().exit_ok().unwrap_err();\nassert_eq!(bad.code(), Some(1));\n# } // #[cfg(unix)]\n```", + "id": 7129, "inner": { "function": { "generics": { "params": [], "where_predicates": [] }, - "has_body": false, + "has_body": true, "header": { "abi": "Rust", "is_async": false, @@ -599097,176 +618723,201 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 5981, - "path": "ExitCode" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": {}, - "name": "report", - "span": { - "begin": [ - 2541, - 5 - ], - "end": [ - 2541, - 33 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "7125": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The canonical `ExitCode` for successful termination on this platform.\n\nNote that a `()`-returning `main` implicitly results in a successful\ntermination, so there's no need to return this from `main` unless\nyou're also returning other possible codes.", - "id": 7125, - "inner": { - "assoc_const": { - "type": { - "resolved_path": { - "args": null, - "id": 5981, - "path": "ExitCode" - } - }, - "value": "_" - } + "links": { + "crate::os::unix::process::ExitStatusExt": 5374 }, - "links": {}, - "name": "SUCCESS", + "name": "code", "span": { "begin": [ - 2081, + 1972, 5 ], "end": [ - 2081, - 68 + 1974, + 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "7126": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" - } - ], + "713": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "The canonical `ExitCode` for unsuccessful termination on this platform.\n\nIf you're only returning this and `SUCCESS` from `main`, consider\ninstead returning `Err(_)` and `Ok(())` respectively, which will\nreturn the same codes (but will also `eprintln!` the error).", - "id": 7126, + "docs": null, + "id": 713, "inner": { - "assoc_const": { - "type": { + "impl": { + "blanket_impl": null, + "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 667, + "path": "BacktraceFrame" } }, - "value": "_" + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } } }, "links": {}, - "name": "FAILURE", - "span": { - "begin": [ - 2089, - 5 - ], - "end": [ - 2089, - 68 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, - "7127": { + "7130": { "attrs": [ { - "other": "#[(not(any(test, doctest)), lang = \"termination\")]" - }, - { - "other": "#[lang = \"termination\"]" - }, - { - "other": "#[rustc_on_unimplemented(on(cause = \"MainFunctionType\", message =\n\"`main` has invalid return type `{Self}`\", label =\n\"`main` can only return types that implement `{This}`\"))]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "A trait for implementing arbitrary return types in the `main` function.\n\nThe C-main function only supports returning integers.\nSo, every type implementing the `Termination` trait has to be converted\nto an integer.\n\nThe default implementations are returning `libc::EXIT_SUCCESS` to indicate\na successful execution. In case of a failure, `libc::EXIT_FAILURE` is returned.\n\nBecause different runtimes have different specifications on the return value\nof the `main` function, this trait is likely to be available only on\nstandard library's runtime for convenience. Other runtimes are not required\nto provide similar functionality.", - "id": 7127, + "docs": "Reports the exit code, if applicable, from an `ExitStatusError`, as a [`NonZero`].\n\nThis is exactly like [`code()`](Self::code), except that it returns a [NonZero]<[i32]>.\n\nPlain `code`, returning a plain integer, is provided because it is often more convenient.\nThe returned value from `code()` is indeed also nonzero; use `code_nonzero()` when you want\na type-level guarantee of nonzeroness.\n\n# Examples\n\n```\n#![feature(exit_status_error)]\n\n# if cfg!(all(unix, not(target_os = \"android\"), not(all(target_vendor = \"apple\", not(target_os = \"macos\"))))) {\nuse std::num::NonZero;\nuse std::process::Command;\n\nlet bad = Command::new(\"false\").status().unwrap().exit_ok().unwrap_err();\nassert_eq!(bad.code_nonzero().unwrap(), NonZero::new(1).unwrap());\n# } // cfg!(unix)\n```", + "id": 7130, "inner": { - "trait": { - "bounds": [], + "function": { "generics": { "params": [], "where_predicates": [] }, - "implementations": [ - 7161, - 7163, - 7165, - 7158, - 7167 - ], - "is_auto": false, - "is_dyn_compatible": true, - "is_unsafe": false, - "items": [ - 7124 - ] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "i32" + } + } + ], + "constraints": [] + } + }, + "id": 512, + "path": "NonZero" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, - "links": {}, - "name": "Termination", + "links": { + "NonZero": 512, + "Self::code": 7129, + "`NonZero`": 512, + "i32": 3366 + }, + "name": "code_nonzero", "span": { "begin": [ - 2537, - 1 + 1998, + 5 ], "end": [ - 2542, - 2 + 2000, + 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "7128": { + "7131": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 97100, is_soft: false}, feature: \"exitcode_exit_method\"}}]" + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "Exit the current process with the given `ExitCode`.\n\nNote that this has the same caveats as [`process::exit()`][exit], namely that this function\nterminates the process immediately, so no destructors on the current stack or any other\nthread's stack will be run. Also see those docs for some important notes on interop with C\ncode. If a clean shutdown is needed, it is recommended to simply return this ExitCode from\nthe `main` function, as demonstrated in the [type documentation](#examples).\n\n# Differences from `process::exit()`\n\n`process::exit()` accepts any `i32` value as the exit code for the process; however, there\nare platforms that only use a subset of that value (see [`process::exit` platform-specific\nbehavior][exit#platform-specific-behavior]). `ExitCode` exists because of this; only\n`ExitCode`s that are supported by a majority of our platforms can be created, so those\nproblems don't exist (as much) with this method.\n\n# Examples\n\n```\n#![feature(exitcode_exit_method)]\n# use std::process::ExitCode;\n# use std::fmt;\n# enum UhOhError { GenericProblem, Specific, WithCode { exit_code: ExitCode, _x: () } }\n# impl fmt::Display for UhOhError {\n# fn fmt(&self, _: &mut fmt::Formatter<'_>) -> fmt::Result { unimplemented!() }\n# }\n// there's no way to gracefully recover from an UhOhError, so we just\n// print a message and exit\nfn handle_unrecoverable_error(err: UhOhError) -> ! {\n eprintln!(\"UH OH! {err}\");\n let code = match err {\n UhOhError::GenericProblem => ExitCode::FAILURE,\n UhOhError::Specific => ExitCode::from(3),\n UhOhError::WithCode { exit_code, .. } => exit_code,\n };\n code.exit_process()\n}\n```", - "id": 7128, + "docs": "Converts an `ExitStatusError` (back) to an `ExitStatus`.", + "id": 7131, "inner": { "function": { "generics": { @@ -599285,53 +618936,60 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 5371, + "path": "ExitStatus" + } } } } }, - "links": { - "exit": 5342, - "exit#platform-specific-behavior": 5342 - }, - "name": "exit_process", + "links": {}, + "name": "into_status", "span": { "begin": [ - 2130, + 2004, 5 ], "end": [ - 2132, + 2006, 6 ], "filename": "std/src/process.rs" }, "visibility": "public" }, - "7129": { + "7132": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7129, + "id": 7132, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599342,9 +619000,9 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7125, - 7126, - 7128 + 7129, + 7130, + 7131 ], "provided_trait_methods": [], "trait": null @@ -599354,68 +619012,31 @@ "name": null, "span": { "begin": [ - 2074, + 1940, 1 ], "end": [ - 2133, + 2007, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "713": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 713, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 667, - "path": "BacktraceFrame" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7130": { + "7133": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7130, + "id": 7133, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599439,20 +619060,20 @@ "span": null, "visibility": "default" }, - "7131": { + "7134": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7131, + "id": 7134, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599476,20 +619097,20 @@ "span": null, "visibility": "default" }, - "7132": { + "7135": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7132, + "id": 7135, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599503,7 +619124,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -599513,20 +619134,20 @@ "span": null, "visibility": "default" }, - "7133": { + "7136": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7133, + "id": 7136, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599550,20 +619171,20 @@ "span": null, "visibility": "default" }, - "7134": { + "7137": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7134, + "id": 7137, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599577,7 +619198,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -599587,20 +619208,20 @@ "span": null, "visibility": "default" }, - "7135": { + "7138": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7135, + "id": 7138, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599614,7 +619235,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -599624,12 +619245,12 @@ "span": null, "visibility": "default" }, - "7136": { + "7139": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7136, + "id": 7139, "inner": { "impl": { "blanket_impl": { @@ -599638,8 +619259,8 @@ "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599683,7 +619304,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -599699,7 +619320,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -599708,23 +619329,60 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7137": { + "714": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7137, + "id": 714, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 667, + "path": "BacktraceFrame" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7140": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7140, "inner": { "impl": { "blanket_impl": { @@ -599733,8 +619391,8 @@ "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599778,7 +619436,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -599794,7 +619452,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -599803,23 +619461,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7138": { + "7141": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7138, + "id": 7141, "inner": { "impl": { "blanket_impl": { @@ -599828,8 +619486,8 @@ "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599855,7 +619513,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -599887,23 +619545,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7139": { + "7142": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7139, + "id": 7142, "inner": { "impl": { "blanket_impl": { @@ -599912,8 +619570,8 @@ "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -599978,7 +619636,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -600003,60 +619661,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "714": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 714, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 667, - "path": "BacktraceFrame" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7140": { + "7143": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7140, + "id": 7143, "inner": { "impl": { "blanket_impl": { @@ -600065,8 +619686,8 @@ "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -600088,7 +619709,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -600113,23 +619734,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7141": { + "7144": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7141, + "id": 7144, "inner": { "impl": { "blanket_impl": { @@ -600138,8 +619759,8 @@ "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -600186,7 +619807,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -600204,8 +619825,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -600221,7 +619842,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -600230,23 +619851,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7142": { + "7145": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7142, + "id": 7145, "inner": { "impl": { "blanket_impl": { @@ -600255,8 +619876,8 @@ "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -600321,8 +619942,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -600338,7 +619959,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -600347,23 +619968,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7143": { + "7146": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7143, + "id": 7146, "inner": { "impl": { "blanket_impl": { @@ -600372,8 +619993,8 @@ "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -600420,12 +620041,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -600445,12 +620066,12 @@ }, "visibility": "default" }, - "7144": { + "7147": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7144, + "id": 7147, "inner": { "impl": { "blanket_impl": { @@ -600459,8 +620080,8 @@ "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -600486,7 +620107,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -600513,7 +620134,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -600522,100 +620143,131 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7145": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7148": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7145, + "id": 7148, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": null, + "id": 5372, + "path": "ExitStatusError" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 5981, - "path": "ExitCode" } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" } } }, "links": {}, - "name": "clone", + "name": null, "span": { "begin": [ - 2065, - 10 + 2866, + 1 ], "end": [ - 2065, - 15 + 2866, + 46 ], - "filename": "std/src/process.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "7146": { + "7149": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7146, + "id": 7149, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -600625,16 +620277,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7145 - ], - "provided_trait_methods": [ - "clone_from" - ], + "items": [], + "provided_trait_methods": [], "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 442, + "path": "StructuralPartialEq" } } }, @@ -600642,36 +620290,31 @@ "name": null, "span": { "begin": [ - 2065, + 1933, 10 ], "end": [ - 2065, - 15 + 1933, + 19 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7147": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" - }, - "automatically_derived" - ], + "715": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7147, + "id": 715, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 667, + "path": "BacktraceFrame" } }, "generics": { @@ -600679,33 +620322,23 @@ "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 103, - "path": "Copy" + "id": 316, + "path": "UnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 2065, - 17 - ], - "end": [ - 2065, - 21 - ], - "filename": "std/src/process.rs" - }, + "span": null, "visibility": "default" }, - "7148": { + "7150": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -600714,7 +620347,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7148, + "id": 7150, "inner": { "function": { "generics": { @@ -600743,25 +620376,16 @@ } ], [ - "f", + "other", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "$crate::fmt::Formatter" + "args": null, + "id": 5372, + "path": "ExitStatusError" } } } @@ -600770,49 +620394,45 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "$crate::fmt::Result" - } + "primitive": "bool" } } } }, "links": {}, - "name": "fmt", + "name": "eq", "span": { "begin": [ - 2065, - 23 + 1933, + 10 ], "end": [ - 2065, - 28 + 1933, + 19 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7149": { + "7151": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7149, + "id": 7151, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -600823,13 +620443,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7148 + 7150 + ], + "provided_trait_methods": [ + "ne" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 121, + "path": "PartialEq" } } }, @@ -600837,73 +620459,36 @@ "name": null, "span": { "begin": [ - 2065, - 23 + 1933, + 10 ], "end": [ - 2065, - 28 + 1933, + 19 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "715": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 715, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 667, - "path": "BacktraceFrame" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7150": { + "7152": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7150, + "id": 7152, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -600914,11 +620499,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [], - "provided_trait_methods": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" + ], "trait": { "args": null, - "id": 442, - "path": "StructuralPartialEq" + "id": 111, + "path": "Eq" } } }, @@ -600926,18 +620513,18 @@ "name": null, "span": { "begin": [ - 2065, - 30 + 1933, + 21 ], "end": [ - 2065, - 39 + 1933, + 23 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7151": { + "7153": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -600946,7 +620533,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7151, + "id": 7153, "inner": { "function": { "generics": { @@ -600973,65 +620560,53 @@ } } } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 5981, - "path": "ExitCode" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": null, + "id": 5372, + "path": "ExitStatusError" + } } } } }, "links": {}, - "name": "eq", + "name": "clone", "span": { "begin": [ - 2065, - 30 + 1933, + 25 ], "end": [ - 2065, - 39 + 1933, + 30 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7152": { + "7154": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7152, + "id": 7154, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -601042,15 +620617,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7151 + 7153 ], "provided_trait_methods": [ - "ne" + "clone_from" ], "trait": { "args": null, - "id": 123, - "path": "PartialEq" + "id": 97, + "path": "Clone" } } }, @@ -601058,78 +620633,36 @@ "name": null, "span": { "begin": [ - 2065, - 30 - ], - "end": [ - 2065, - 39 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "7153": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7153, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "generic": "Self" - } - } - } - }, - "links": {}, - "name": "default", - "span": { - "begin": [ - 2158, - 5 + 1933, + 25 ], "end": [ - 2160, - 6 + 1933, + 30 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7154": { + "7155": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 75, patch: 0})}, feature: \"process_exitcode_default\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, - "docs": "The default value is [`ExitCode::SUCCESS`]", - "id": 7154, + "docs": null, + "id": 7155, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -601139,40 +620672,40 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7153 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 101, + "path": "Copy" } } }, - "links": { - "`ExitCode::SUCCESS`": 7125 - }, + "links": {}, "name": null, "span": { "begin": [ - 2157, - 1 + 1933, + 32 ], "end": [ - 2161, - 2 + 1933, + 36 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7155": { - "attrs": [], + "7156": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": "Constructs an `ExitCode` from an arbitrary u8 value.", - "id": 7155, + "docs": null, + "id": 7156, "inner": { "function": { "generics": { @@ -601189,52 +620722,88 @@ "sig": { "inputs": [ [ - "code", + "self", { - "primitive": "u8" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "$crate::fmt::Formatter" + } + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "resolved_path": { + "args": null, + "id": 342, + "path": "$crate::fmt::Result" + } } } } }, "links": {}, - "name": "from", + "name": "fmt", "span": { "begin": [ - 2166, - 5 + 1933, + 38 ], "end": [ - 2168, - 6 + 1933, + 43 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7156": { + "7157": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7156, + "id": 7157, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -601245,24 +620814,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7155 + 7156 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 344, + "path": "Debug" } } }, @@ -601270,27 +620828,23 @@ "name": null, "span": { "begin": [ - 2164, - 1 + 1933, + 38 ], "end": [ - 2169, - 2 + 1933, + 43 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7157": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7158": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7157, + "id": 7158, "inner": { "function": { "generics": { @@ -601309,7 +620863,38 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } } ] ], @@ -601317,46 +620902,46 @@ "output": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "report", + "name": "fmt", "span": { "begin": [ - 2569, + 2018, 5 ], "end": [ - 2571, + 2020, 6 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7158": { + "7159": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7158, + "id": 7159, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 5981, - "path": "ExitCode" + "id": 5372, + "path": "ExitStatusError" } }, "generics": { @@ -601367,13 +620952,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7157 + 7158 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 7127, - "path": "Termination" + "id": 436, + "path": "Display" } } }, @@ -601381,69 +620966,17 @@ "name": null, "span": { "begin": [ - 2567, + 2017, 1 ], "end": [ - 2572, + 2021, 2 ], "filename": "std/src/process.rs" }, "visibility": "default" }, - "7159": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"getpid\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the OS-assigned process identifier associated with this process.\n\n# Examples\n\n```no_run\nuse std::process;\n\nprintln!(\"My pid is {}\", process::id());\n```", - "id": 7159, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "primitive": "u32" - } - } - } - }, - "links": {}, - "name": "id", - "span": { - "begin": [ - 2513, - 1 - ], - "end": [ - 2515, - 2 - ], - "filename": "std/src/process.rs" - }, - "visibility": "public" - }, "716": { "attrs": [], "crate_id": 0, @@ -601471,7 +621004,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -601484,76 +621017,22 @@ "7160": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 84908, is_soft: false}, feature: \"exit_status_error\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, "id": 7160, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 5981, - "path": "ExitCode" - } - } - } - } - }, - "links": {}, - "name": "report", - "span": { - "begin": [ - 2547, - 5 - ], - "end": [ - 2549, - 6 - ], - "filename": "std/src/process.rs" - }, - "visibility": "default" - }, - "7161": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7161, "inner": { "impl": { "blanket_impl": null, "for": { - "tuple": [] + "resolved_path": { + "args": null, + "id": 5372, + "path": "ExitStatusError" + } }, "generics": { "params": [], @@ -601562,14 +621041,18 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7160 + "items": [], + "provided_trait_methods": [ + "source", + "type_id", + "description", + "cause", + "provide" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 7127, - "path": "Termination" + "id": 450, + "path": "Error" } } }, @@ -601577,22 +621060,26 @@ "name": null, "span": { "begin": [ - 2545, + 2024, 1 ], "end": [ - 2550, - 2 + 2024, + 48 ], "filename": "std/src/process.rs" }, "visibility": "default" }, "7162": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.", "id": 7162, "inner": { "function": { @@ -601600,7 +621087,7 @@ "params": [], "where_predicates": [] }, - "has_body": true, + "has_body": false, "header": { "abi": "Rust", "is_async": false, @@ -601620,7 +621107,7 @@ "output": { "resolved_path": { "args": null, - "id": 5981, + "id": 6014, "path": "ExitCode" } } @@ -601631,12 +621118,12 @@ "name": "report", "span": { "begin": [ - 2554, + 2553, 5 ], "end": [ - 2556, - 6 + 2553, + 33 ], "filename": "std/src/process.rs" }, @@ -601645,164 +621132,142 @@ "7163": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "The canonical `ExitCode` for successful termination on this platform.\n\nNote that a `()`-returning `main` implicitly results in a successful\ntermination, so there's no need to return this from `main` unless\nyou're also returning other possible codes.", "id": 7163, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "never" - }, - "generics": { - "params": [], - "where_predicates": [] + "assoc_const": { + "type": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" + } }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7162 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7127, - "path": "Termination" - } + "value": "_" } }, "links": {}, - "name": null, + "name": "SUCCESS", "span": { "begin": [ - 2553, - 1 + 2092, + 5 ], "end": [ - 2557, - 2 + 2092, + 68 ], "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, "7164": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "The canonical `ExitCode` for unsuccessful termination on this platform.\n\nIf you're only returning this and `SUCCESS` from `main`, consider\ninstead returning `Err(_)` and `Ok(())` respectively, which will\nreturn the same codes (but will also `eprintln!` the error).", "id": 7164, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 5981, - "path": "ExitCode" - } + "assoc_const": { + "type": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" } - } + }, + "value": "_" } }, "links": {}, - "name": "report", + "name": "FAILURE", "span": { "begin": [ - 2561, + 2100, 5 ], "end": [ - 2563, - 6 + 2100, + 68 ], "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, "7165": { "attrs": [ + { + "other": "#[(not(any(test, doctest)), lang = \"termination\")]" + }, + { + "other": "#[lang = \"termination\"]" + }, + { + "other": "#[rustc_on_unimplemented(on(cause = \"MainFunctionType\", message =\n\"`main` has invalid return type `{Self}`\", label =\n\"`main` can only return types that implement `{This}`\"))]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "A trait for implementing arbitrary return types in the `main` function.\n\nThe C-main function only supports returning integers.\nSo, every type implementing the `Termination` trait has to be converted\nto an integer.\n\nThe default implementations are returning `libc::EXIT_SUCCESS` to indicate\na successful execution. In case of a failure, `libc::EXIT_FAILURE` is returned.\n\nBecause different runtimes have different specifications on the return value\nof the `main` function, this trait is likely to be available only on\nstandard library's runtime for convenience. Other runtimes are not required\nto provide similar functionality.", "id": 7165, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 335, - "path": "crate::convert::Infallible" - } - }, + "trait": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, + "implementations": [ + 7199, + 7201, + 7203, + 7196, + 7205 + ], + "is_auto": false, + "is_dyn_compatible": true, "is_unsafe": false, "items": [ - 7164 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7127, - "path": "Termination" - } + 7162 + ] } }, "links": {}, - "name": null, + "name": "Termination", "span": { "begin": [ - 2560, + 2549, 1 ], "end": [ - 2564, + 2554, 2 ], "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, "7166": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 97100, is_soft: false}, feature: \"exitcode_exit_method\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "Exit the current process with the given `ExitCode`.\n\nNote that this has the same caveats as [`process::exit()`][exit], namely that this function\nterminates the process immediately, so no destructors on the current stack or any other\nthread's stack will be run. Also see those docs for some important notes on interop with C\ncode. If a clean shutdown is needed, it is recommended to simply return this ExitCode from\nthe `main` function, as demonstrated in the [type documentation](#examples).\n\n# Differences from `process::exit()`\n\n`process::exit()` accepts any `i32` value as the exit code for the process; however, there\nare platforms that only use a subset of that value (see [`process::exit` platform-specific\nbehavior][exit#platform-specific-behavior]). `ExitCode` exists because of this; only\n`ExitCode`s that are supported by a majority of our platforms can be created, so those\nproblems don't exist (as much) with this method.\n\n# Examples\n\n```\n#![feature(exitcode_exit_method)]\n# use std::process::ExitCode;\n# use std::fmt;\n# enum UhOhError { GenericProblem, Specific, WithCode { exit_code: ExitCode, _x: () } }\n# impl fmt::Display for UhOhError {\n# fn fmt(&self, _: &mut fmt::Formatter<'_>) -> fmt::Result { unimplemented!() }\n# }\n// there's no way to gracefully recover from an UhOhError, so we just\n// print a message and exit\nfn handle_unrecoverable_error(err: UhOhError) -> ! {\n eprintln!(\"UH OH! {err}\");\n let code = match err {\n UhOhError::GenericProblem => ExitCode::FAILURE,\n UhOhError::Specific => ExitCode::from(3),\n UhOhError::WithCode { exit_code, .. } => exit_code,\n };\n code.exit_process()\n}\n```", "id": 7166, "inner": { "function": { @@ -601828,34 +621293,33 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 5981, - "path": "ExitCode" - } + "primitive": "never" } } } }, - "links": {}, - "name": "report", + "links": { + "exit": 5347, + "exit#platform-specific-behavior": 5347 + }, + "name": "exit_process", "span": { "begin": [ - 2576, + 2141, 5 ], "end": [ - 2584, + 2143, 6 ], "filename": "std/src/process.rs" }, - "visibility": "default" + "visibility": "public" }, "7167": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" } ], "crate_id": 0, @@ -601867,99 +621331,36 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "E" - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" + "args": null, + "id": 6014, + "path": "ExitCode" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7127, - "path": "Termination" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "E" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ + 7163, + 7164, 7166 ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7127, - "path": "Termination" - } + "trait": null } }, "links": {}, "name": null, "span": { "begin": [ - 2575, + 2085, 1 ], "end": [ - 2585, + 2144, 2 ], "filename": "std/src/process.rs" @@ -601967,60 +621368,41 @@ "visibility": "default" }, "7168": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "The default random source.\n\nThis asks the system for random data suitable for cryptographic purposes\nsuch as key generation. If security is a concern, consult the platform\ndocumentation below for the specific guarantees your target provides.\n\nThe high quality of randomness provided by this source means it can be quite\nslow on some targets. If you need a large quantity of random numbers and\nsecurity is not a concern, consider using an alternative random number\ngenerator (potentially seeded from this one).\n\n# Underlying sources\n\nPlatform | Source\n-----------------------|---------------------------------------------------------------\nLinux | [`getrandom`] or [`/dev/urandom`] after polling `/dev/random`\nWindows | [`ProcessPrng`](https://learn.microsoft.com/en-us/windows/win32/seccng/processprng)\nApple | `CCRandomGenerateBytes`\nDragonFly | [`arc4random_buf`](https://man.dragonflybsd.org/?command=arc4random)\nESP-IDF | [`esp_fill_random`](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/random.html#_CPPv415esp_fill_randomPv6size_t)\nFreeBSD | [`arc4random_buf`](https://man.freebsd.org/cgi/man.cgi?query=arc4random)\nFuchsia | [`cprng_draw`](https://fuchsia.dev/reference/syscalls/cprng_draw)\nHaiku | `arc4random_buf`\nIllumos | [`arc4random_buf`](https://www.illumos.org/man/3C/arc4random)\nNetBSD | [`arc4random_buf`](https://man.netbsd.org/arc4random.3)\nOpenBSD | [`arc4random_buf`](https://man.openbsd.org/arc4random.3)\nSolaris | [`arc4random_buf`](https://docs.oracle.com/cd/E88353_01/html/E37843/arc4random-3c.html)\nVita | `arc4random_buf`\nHermit | `read_entropy`\nHorizon, Cygwin | `getrandom`\nAIX, Hurd, L4Re, QNX | `/dev/urandom`\nRedox | `/scheme/rand`\nRTEMS | [`arc4random_buf`](https://docs.rtems.org/branches/master/bsp-howto/getentropy.html)\nSGX | [`rdrand`](https://en.wikipedia.org/wiki/RDRAND)\nSOLID | `SOLID_RNG_SampleRandomBytes`\nTEEOS | `TEE_GenerateRandom`\nUEFI | [`EFI_RNG_PROTOCOL`](https://uefi.org/specs/UEFI/2.10/37_Secure_Technologies.html#random-number-generator-protocol)\nVxWorks | `randABytes` after waiting for `randSecure` to become ready\nWASI | [`random_get`](https://github.com/WebAssembly/WASI/blob/main/legacy/preview1/docs.md#-random_getbuf-pointeru8-buf_len-size---result-errno)\nZKVM | `sys_rand`\n\nNote that the sources used might change over time.\n\nConsult the documentation for the underlying operations on your supported\ntargets to determine whether they provide any particular desired properties,\nsuch as support for reseeding on VM fork operations.\n\n[`getrandom`]: https://www.man7.org/linux/man-pages/man2/getrandom.2.html\n[`/dev/urandom`]: https://www.man7.org/linux/man-pages/man4/random.4.html", + "docs": null, "id": 7168, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" + } + }, "generics": { "params": [], "where_predicates": [] }, - "impls": [ - 7169, - 7170, - 7171, - 7172, - 7173, - 7174, - 7175, - 7176, - 7177, - 7178, - 7179, - 7180, - 7181, - 7182, - 7183, - 7185, - 7187, - 7189, - 7190, - 7192 - ], - "kind": "unit" + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } }, "links": {}, - "name": "DefaultRandomSource", - "span": { - "begin": [ - 59, - 1 - ], - "end": [ - 59, - 32 - ], - "filename": "std/src/random.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, "7169": { "attrs": [], @@ -602034,8 +621416,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602049,8 +621431,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 5, + "path": "Sync" } } }, @@ -602118,7 +621500,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -602134,7 +621516,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -602143,12 +621525,12 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -602166,8 +621548,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602181,8 +621563,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -602203,8 +621585,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602218,8 +621600,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -602240,8 +621622,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602255,8 +621637,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -602277,8 +621659,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602293,7 +621675,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -602308,43 +621690,6 @@ "deprecation": null, "docs": null, "id": 7174, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7168, - "path": "DefaultRandomSource" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7175": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7175, "inner": { "impl": { "blanket_impl": { @@ -602353,8 +621698,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602398,7 +621743,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -602414,7 +621759,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -602423,23 +621768,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7176": { + "7175": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7176, + "id": 7175, "inner": { "impl": { "blanket_impl": { @@ -602448,8 +621793,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602493,7 +621838,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -602509,7 +621854,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -602518,23 +621863,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7177": { + "7176": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7177, + "id": 7176, "inner": { "impl": { "blanket_impl": { @@ -602543,8 +621888,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602570,7 +621915,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -602602,23 +621947,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7178": { + "7177": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7178, + "id": 7177, "inner": { "impl": { "blanket_impl": { @@ -602627,8 +621972,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602693,7 +622038,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -602718,23 +622063,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7179": { + "7178": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7179, + "id": 7178, "inner": { "impl": { "blanket_impl": { @@ -602743,8 +622088,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602766,7 +622111,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -602791,23 +622136,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "718": { + "7179": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 718, + "id": 7179, "inner": { "impl": { "blanket_impl": { @@ -602816,8 +622161,8 @@ "for": { "resolved_path": { "args": null, - "id": 667, - "path": "BacktraceFrame" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -602831,6 +622176,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -602840,18 +622195,29 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -602861,7 +622227,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -602870,15 +622237,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 198, + "path": "TryInto" } } }, @@ -602886,23 +622253,23 @@ "name": null, "span": { "begin": [ - 217, + 811, 1 ], "end": [ - 217, - 35 + 813, + 27 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7180": { + "718": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7180, + "id": 718, "inner": { "impl": { "blanket_impl": { @@ -602911,8 +622278,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 667, + "path": "BacktraceFrame" } }, "generics": { @@ -602926,16 +622293,6 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ @@ -602945,29 +622302,18 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -602977,8 +622323,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 322 ], "provided_trait_methods": [], "trait": { @@ -602987,15 +622332,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 324, + "path": "BorrowMut" } } }, @@ -603003,23 +622348,23 @@ "name": null, "span": { "begin": [ - 817, + 221, 1 ], "end": [ - 819, - 27 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7181": { + "7180": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7181, + "id": 7180, "inner": { "impl": { "blanket_impl": { @@ -603028,8 +622373,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -603094,8 +622439,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -603111,7 +622456,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -603120,23 +622465,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7182": { + "7181": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7182, + "id": 7181, "inner": { "impl": { "blanket_impl": { @@ -603145,8 +622490,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -603193,12 +622538,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -603218,12 +622563,12 @@ }, "visibility": "default" }, - "7183": { + "7182": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7183, + "id": 7182, "inner": { "impl": { "blanket_impl": { @@ -603232,8 +622577,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -603259,7 +622604,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -603286,7 +622631,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -603295,18 +622640,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7184": { + "7183": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -603315,7 +622660,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7184, + "id": 7183, "inner": { "function": { "generics": { @@ -603330,52 +622675,65 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], "is_c_variadic": false, "output": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } } } } }, "links": {}, - "name": "default", + "name": "clone", "span": { "begin": [ - 57, + 2076, 10 ], "end": [ - 57, - 17 + 2076, + 15 ], - "filename": "std/src/random.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, - "7185": { + "7184": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7185, + "id": 7184, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -603386,13 +622744,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7184 + 7183 + ], + "provided_trait_methods": [ + "clone_from" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 97, + "path": "Clone" } } }, @@ -603400,14 +622760,66 @@ "name": null, "span": { "begin": [ - 57, + 2076, 10 ], "end": [ - 57, + 2076, + 15 + ], + "filename": "std/src/process.rs" + }, + "visibility": "default" + }, + "7185": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7185, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 101, + "path": "Copy" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2076, 17 ], - "filename": "std/src/random.rs" + "end": [ + 2076, + 21 + ], + "filename": "std/src/process.rs" }, "visibility": "default" }, @@ -603466,7 +622878,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -603478,7 +622890,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -603489,21 +622901,21 @@ "name": "fmt", "span": { "begin": [ - 57, - 19 + 2076, + 23 ], "end": [ - 57, - 24 + 2076, + 28 ], - "filename": "std/src/random.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, "7187": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" }, "automatically_derived" ], @@ -603517,8 +622929,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -603534,7 +622946,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -603543,18 +622955,70 @@ "name": null, "span": { "begin": [ - 57, - 19 + 2076, + 23 ], "end": [ - 57, - 24 + 2076, + 28 ], - "filename": "std/src/random.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, "7188": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7188, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 442, + "path": "StructuralPartialEq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2076, + 30 + ], + "end": [ + 2076, + 39 + ], + "filename": "std/src/process.rs" + }, + "visibility": "default" + }, + "7189": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -603563,7 +623027,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7188, + "id": 7189, "inner": { "function": { "generics": { @@ -603590,87 +623054,43 @@ } } } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 7168, - "path": "DefaultRandomSource" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 57, - 26 - ], - "end": [ - 57, - 31 - ], - "filename": "std/src/random.rs" - }, - "visibility": "default" - }, - "7189": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7189, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "primitive": "bool" } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7188 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" } } }, "links": {}, - "name": null, + "name": "eq", "span": { "begin": [ - 57, - 26 + 2076, + 30 ], "end": [ - 57, - 31 + 2076, + 39 ], - "filename": "std/src/random.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, @@ -603754,7 +623174,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -603779,11 +623199,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -603793,7 +623213,7 @@ "7190": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" }, "automatically_derived" ], @@ -603807,8 +623227,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -603818,12 +623238,16 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], - "provided_trait_methods": [], + "items": [ + 7189 + ], + "provided_trait_methods": [ + "ne" + ], "trait": { "args": null, - "id": 103, - "path": "Copy" + "id": 121, + "path": "PartialEq" } } }, @@ -603831,14 +623255,14 @@ "name": null, "span": { "begin": [ - 57, - 33 + 2076, + 30 ], "end": [ - 57, - 37 + 2076, + 39 ], - "filename": "std/src/random.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, @@ -603862,63 +623286,38 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "bytes", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, - "output": null + "output": { + "generic": "Self" + } } } }, "links": {}, - "name": "fill_bytes", + "name": "default", "span": { "begin": [ - 63, + 2169, 5 ], "end": [ - 65, + 2171, 6 ], - "filename": "std/src/random.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, "7192": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 75, patch: 0})}, feature: \"process_exitcode_default\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "The default value is [`ExitCode::SUCCESS`]", "id": 7192, "inner": { "impl": { @@ -603926,8 +623325,8 @@ "for": { "resolved_path": { "args": null, - "id": 7168, - "path": "DefaultRandomSource" + "id": 6014, + "path": "ExitCode" } }, "generics": { @@ -603943,84 +623342,38 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7193, - "path": "RandomSource" + "id": 107, + "path": "Default" } } }, - "links": {}, + "links": { + "`ExitCode::SUCCESS`": 7163 + }, "name": null, "span": { "begin": [ - 62, + 2168, 1 ], "end": [ - 66, + 2172, 2 ], - "filename": "std/src/random.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, - "7195": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" - } - ], + "7193": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Generates a random value from a distribution, using the default random source.\n\nThis is a convenience function for `dist.sample(&mut DefaultRandomSource)` and will sample\naccording to the same distribution as the underlying [`Distribution`] trait implementation. See\n[`DefaultRandomSource`] for more information about how randomness is sourced.\n\n# Examples\n\nGenerating a [version 4/variant 1 UUID] represented as text:\n```\n#![feature(random)]\n\nuse std::random::random;\n\nlet bits: u128 = random(..);\nlet g1 = (bits >> 96) as u32;\nlet g2 = (bits >> 80) as u16;\nlet g3 = (0x4000 | (bits >> 64) & 0x0fff) as u16;\nlet g4 = (0x8000 | (bits >> 48) & 0x3fff) as u16;\nlet g5 = (bits & 0xffffffffffff) as u64;\nlet uuid = format!(\"{g1:08x}-{g2:04x}-{g3:04x}-{g4:04x}-{g5:012x}\");\nprintln!(\"{uuid}\");\n```\n\n[version 4/variant 1 UUID]: https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random)", - "id": 7195, + "docs": "Constructs an `ExitCode` from an arbitrary u8 value.", + "id": 7193, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7194, - "path": "Distribution" - } - } - } - ], - "default": null, - "is_synthetic": true - } - }, - "name": "impl Distribution" - } - ], + "params": [], "where_predicates": [] }, "has_body": true, @@ -604033,203 +623386,63 @@ "sig": { "inputs": [ [ - "dist", + "code", { - "impl_trait": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7194, - "path": "Distribution" - } - } - } - ] + "primitive": "u8" } ] ], "is_c_variadic": false, "output": { - "generic": "T" + "generic": "Self" } } } }, - "links": { - "`DefaultRandomSource`": 7168, - "`Distribution`": 7194 - }, - "name": "random", - "span": { - "begin": [ - 94, - 1 - ], - "end": [ - 96, - 2 - ], - "filename": "std/src/random.rs" - }, - "visibility": "public" - }, - "7196": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7196, - "inner": { - "use": { - "id": 7197, - "is_glob": true, - "name": "random", - "source": "core::random" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 4, - 1 - ], - "end": [ - 4, - 25 - ], - "filename": "std/src/random.rs" - }, - "visibility": "public" - }, - "7198": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Random value generation.", - "id": 7198, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 7168, - 7195, - 7196 - ] - } - }, "links": {}, - "name": "random", + "name": "from", "span": { "begin": [ - 1, - 1 + 2177, + 5 ], "end": [ - 96, - 2 + 2179, + 6 ], - "filename": "std/src/random.rs" + "filename": "std/src/process.rs" }, - "visibility": "public" + "visibility": "default" }, - "72": { + "7194": { "attrs": [ { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"process_exitcode\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 72, - "inner": { - "use": { - "id": 73, - "is_glob": false, - "name": "env", - "source": "core::prelude::v1::env" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 50, - 49 - ], - "end": [ - 50, - 52 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "720": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 720, + "id": 7194, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 667, - "path": "BacktraceFrame" + "id": 6014, + "path": "ExitCode" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 7193 ], "provided_trait_methods": [], "trait": { @@ -604238,7 +623451,7 @@ "args": [ { "type": { - "generic": "T" + "primitive": "u8" } } ], @@ -604254,424 +623467,329 @@ "name": null, "span": { "begin": [ - 791, + 2175, 1 ], "end": [ - 791, - 28 + 2180, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, - "7202": { - "attrs": [], + "7195": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7202, + "id": 7195, "inner": { - "use": { - "id": 7203, - "is_glob": false, - "name": "RecvError", - "source": "crate::sync::mpsc::RecvError" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" + } + } + } } }, "links": {}, - "name": null, + "name": "report", "span": { "begin": [ - 1, - 29 + 2581, + 5 ], "end": [ - 1, - 38 + 2583, + 6 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/process.rs" }, - "visibility": "public" + "visibility": "default" }, - "7203": { + "7196": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "An error returned from the [`recv`] function on a [`Receiver`].\n\nThe [`recv`] operation can only fail if the sending half of a\n[`channel`] (or [`sync_channel`]) is disconnected, implying that no further\nmessages will ever be received.\n\n[`recv`]: Receiver::recv", - "id": 7203, + "docs": null, + "id": 7196, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" + } + }, "generics": { "params": [], "where_predicates": [] }, - "impls": [ - 7575, - 7576, - 7577, - 7578, - 7579, - 7580, - 7581, - 7582, - 7583, - 7584, - 7585, - 7586, - 7587, - 7588, - 7589, - 7590, - 7591, - 7593, - 7594, - 7596, - 7597, - 7599, - 7601, - 7603, - 7605, - 7607 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7195 ], - "kind": "unit" - } - }, - "links": { - "Receiver::recv": 7402, - "`Receiver`": 7403, - "`channel`": 7400, - "`sync_channel`": 7401 - }, - "name": "RecvError", - "span": { - "begin": [ - 418, - 1 - ], - "end": [ - 418, - 22 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "public" - }, - "7204": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7204, - "inner": { - "use": { - "id": 7205, - "is_glob": false, - "name": "RecvTimeoutError", - "source": "crate::sync::mpsc::RecvTimeoutError" + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7165, + "path": "Termination" + } } }, "links": {}, "name": null, "span": { "begin": [ - 1, - 40 + 2579, + 1 ], "end": [ - 1, - 56 + 2584, + 2 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/process.rs" }, - "visibility": "public" + "visibility": "default" }, - "7205": { + "7197": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"getpid\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "This enumeration is the list of possible errors that made [`recv_timeout`]\nunable to return data when called. This can occur with both a [`channel`] and\na [`sync_channel`].\n\n[`recv_timeout`]: Receiver::recv_timeout", - "id": 7205, + "docs": "Returns the OS-assigned process identifier associated with this process.\n\n# Examples\n\n```no_run\nuse std::process;\n\nprintln!(\"My pid is {}\", process::id());\n```", + "id": 7197, "inner": { - "enum": { + "function": { "generics": { "params": [], "where_predicates": [] }, - "has_stripped_variants": false, - "impls": [ - 7641, - 7642, - 7643, - 7644, - 7645, - 7646, - 7647, - 7648, - 7649, - 7650, - 7651, - 7652, - 7653, - 7654, - 7655, - 7656, - 7657, - 7659, - 7660, - 7662, - 7663, - 7665, - 7667, - 7669, - 7607 - ], - "variants": [ - 7639, - 7640 - ] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "primitive": "u32" + } + } } }, - "links": { - "Receiver::recv_timeout": 7407, - "`channel`": 7400, - "`sync_channel`": 7401 - }, - "name": "RecvTimeoutError", + "links": {}, + "name": "id", "span": { "begin": [ - 446, + 2525, 1 ], "end": [ - 455, + 2527, 2 ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "public" - }, - "7206": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7206, - "inner": { - "use": { - "id": 7207, - "is_glob": false, - "name": "SendError", - "source": "crate::sync::mpsc::SendError" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1, - 58 - ], - "end": [ - 1, - 67 - ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/process.rs" }, "visibility": "public" }, - "7207": { + "7198": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "An error returned from the [`Sender::send`] or [`SyncSender::send`]\nfunction on **channel**s.\n\nA **send** operation can only fail if the receiving end of a channel is\ndisconnected, implying that the data could never be received. The error\ncontains the data being sent as a payload so it can be recovered.", - "id": 7207, + "docs": null, + "id": 7198, "inner": { - "struct": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "impls": [ - 7544, - 7545, - 7546, - 7547, - 7548, - 7549, - 7550, - 7551, - 7552, - 7553, - 7554, - 7555, - 7556, - 7557, - 7558, - 7559, - 7247, - 7560, - 7562, - 7563, - 7565, - 7566, - 7568, - 7570, - 7572, - 7574 - ], - "kind": { - "tuple": [ - 7543 - ] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" + } + } } } }, - "links": { - "`Sender::send`": 7499, - "`SyncSender::send`": 7521 - }, - "name": "SendError", - "span": { - "begin": [ - 407, - 1 - ], - "end": [ - 407, - 78 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "public" - }, - "7208": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7208, - "inner": { - "use": { - "id": 7209, - "is_glob": false, - "name": "TryRecvError", - "source": "crate::sync::mpsc::TryRecvError" - } - }, "links": {}, - "name": null, + "name": "report", "span": { "begin": [ - 1, - 69 + 2559, + 5 ], "end": [ - 1, - 81 + 2561, + 6 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/process.rs" }, - "visibility": "public" + "visibility": "default" }, - "7209": { + "7199": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "This enumeration is the list of the possible reasons that [`try_recv`] could\nnot return data when called. This can occur with both a [`channel`] and\na [`sync_channel`].\n\n[`try_recv`]: Receiver::try_recv", - "id": 7209, + "docs": null, + "id": 7199, "inner": { - "enum": { + "impl": { + "blanket_impl": null, + "for": { + "tuple": [] + }, "generics": { "params": [], "where_predicates": [] }, - "has_stripped_variants": false, - "impls": [ - 7610, - 7611, - 7612, - 7613, - 7614, - 7615, - 7616, - 7617, - 7618, - 7619, - 7620, - 7621, - 7622, - 7623, - 7624, - 7625, - 7626, - 7628, - 7629, - 7631, - 7632, - 7634, - 7636, - 7638, - 7605 - ], - "variants": [ - 7608, - 7609 - ] + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7198 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7165, + "path": "Termination" + } } }, - "links": { - "Receiver::try_recv": 7404, - "`channel`": 7400, - "`sync_channel`": 7401 - }, - "name": "TryRecvError", + "links": {}, + "name": null, "span": { "begin": [ - 427, + 2557, 1 ], "end": [ - 437, + 2562, 2 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/process.rs" + }, + "visibility": "default" + }, + "72": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 72, + "inner": { + "use": { + "id": 73, + "is_glob": false, + "name": "env", + "source": "core::prelude::v1::env" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 50, + 49 + ], + "end": [ + 50, + 52 + ], + "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "721": { + "720": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 721, + "id": 720, "inner": { "impl": { "blanket_impl": { @@ -604695,59 +623813,15 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 327 ], "provided_trait_methods": [], "trait": { @@ -604756,15 +623830,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 37, + "path": "From" } } }, @@ -604772,248 +623846,233 @@ "name": null, "span": { "begin": [ - 817, + 785, 1 ], "end": [ - 819, - 27 + 785, + 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7210": { + "7200": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7210, + "id": 7200, "inner": { - "use": { - "id": 7211, - "is_glob": false, - "name": "TrySendError", - "source": "crate::sync::mpsc::TrySendError" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" + } + } + } } }, "links": {}, - "name": null, + "name": "report", "span": { "begin": [ - 1, - 83 + 2566, + 5 ], "end": [ - 1, - 95 + 2568, + 6 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/process.rs" }, - "visibility": "public" + "visibility": "default" }, - "7211": { + "7201": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "This enumeration is the list of the possible error outcomes for the\n[`try_send`] method.\n\n[`try_send`]: SyncSender::try_send", - "id": 7211, + "docs": null, + "id": 7201, "inner": { - "enum": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "never" + }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "has_stripped_variants": false, - "impls": [ - 7674, - 7675, - 7676, - 7677, - 7678, - 7679, - 7680, - 7681, - 7682, - 7683, - 7684, - 7685, - 7686, - 7687, - 7688, - 7689, - 7690, - 7692, - 7693, - 7695, - 7696, - 7698, - 7700, - 7702, - 7574 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7200 ], - "variants": [ - 7671, - 7673 - ] + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7165, + "path": "Termination" + } } }, - "links": { - "SyncSender::try_send": 7522 - }, - "name": "TrySendError", + "links": {}, + "name": null, "span": { "begin": [ - 463, + 2565, 1 ], "end": [ - 477, + 2569, 2 ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "public" - }, - "7212": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7212, - "inner": { - "struct_field": { - "generic": "T" - } - }, - "links": {}, - "name": "0", - "span": { - "begin": [ - 16, - 13 - ], - "end": [ - 16, - 14 - ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, - "7213": { + "7202": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "The message could not be sent because the channel is full and the operation timed out.\n\nIf this is a zero-capacity channel, then the error indicates that there was no receiver\navailable to receive the message and the operation timed out.", - "id": 7213, + "docs": null, + "id": 7202, "inner": { - "variant": { - "discriminant": null, - "kind": { - "tuple": [ - 7212 - ] + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 6014, + "path": "ExitCode" + } + } } } }, "links": {}, - "name": "Timeout", + "name": "report", "span": { "begin": [ - 16, + 2573, 5 ], "end": [ - 16, - 15 + 2575, + 6 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, - "7214": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7214, - "inner": { - "struct_field": { - "generic": "T" + "7203": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" } - }, - "links": {}, - "name": "0", - "span": { - "begin": [ - 19, - 18 - ], - "end": [ - 19, - 19 - ], - "filename": "std/src/sync/mpmc/error.rs" - }, - "visibility": "default" - }, - "7215": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, - "docs": "The message could not be sent because the channel is disconnected.", - "id": 7215, + "docs": null, + "id": 7203, "inner": { - "variant": { - "discriminant": null, - "kind": { - "tuple": [ - 7214 - ] + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 333, + "path": "crate::convert::Infallible" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7202 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7165, + "path": "Termination" } } }, "links": {}, - "name": "Disconnected", + "name": null, "span": { "begin": [ - 19, - 5 + 2572, + 1 ], "end": [ - 19, - 20 + 2576, + 2 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/process.rs" }, "visibility": "default" }, - "7216": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], + "7204": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Waits for a message to be sent into the channel, but only for a limited time.\n\nIf the channel is full and not disconnected, this call will block until the send operation\ncan proceed or the operation times out. If the channel becomes disconnected, this call will\nwake up and return an error. The returned error contains the original message.\n\nIf called on a zero-capacity channel, this method will wait for a receive operation to\nappear on the other side of the channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::time::Duration;\n\nlet (tx, rx) = channel();\n\ntx.send_timeout(1, Duration::from_millis(400)).unwrap();\n```", - "id": 7216, + "docs": null, + "id": 7204, "inner": { "function": { "generics": { @@ -605032,230 +624091,225 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "msg", - { - "generic": "T" - } - ], - [ - "timeout", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" + "args": null, + "id": 6014, + "path": "ExitCode" } } } } }, "links": {}, - "name": "send_timeout", + "name": "report", "span": { "begin": [ - 428, + 2588, 5 ], "end": [ - 434, + 2596, 6 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/process.rs" }, - "visibility": "public" + "visibility": "default" }, - "7217": { + "7205": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 61, patch: 0})}, feature: \"termination_trait_lib\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "An error returned from the [`send_timeout`] method.\n\nThe error contains the message being sent so it can be recovered.\n\n[`send_timeout`]: super::Sender::send_timeout", - "id": 7217, + "docs": null, + "id": 7205, "inner": { - "enum": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "E" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + }, "generics": { "params": [ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7165, + "path": "Termination" + } + } + } + ], "default": null, "is_synthetic": false } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "E" } ], "where_predicates": [] }, - "has_stripped_variants": false, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7204 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7165, + "path": "Termination" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2587, + 1 + ], + "end": [ + 2597, + 2 + ], + "filename": "std/src/process.rs" + }, + "visibility": "default" + }, + "7206": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The default random source.\n\nThis asks the system for random data suitable for cryptographic purposes\nsuch as key generation. If security is a concern, consult the platform\ndocumentation below for the specific guarantees your target provides.\n\nThe high quality of randomness provided by this source means it can be quite\nslow on some targets. If you need a large quantity of random numbers and\nsecurity is not a concern, consider using an alternative random number\ngenerator (potentially seeded from this one).\n\n# Underlying sources\n\nPlatform | Source\n-----------------------|---------------------------------------------------------------\nLinux | [`getrandom`] or [`/dev/urandom`] after polling `/dev/random`\nWindows | [`ProcessPrng`](https://learn.microsoft.com/en-us/windows/win32/seccng/processprng)\nApple | `CCRandomGenerateBytes`\nDragonFly | [`arc4random_buf`](https://man.dragonflybsd.org/?command=arc4random)\nESP-IDF | [`esp_fill_random`](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/random.html#_CPPv415esp_fill_randomPv6size_t)\nFreeBSD | [`arc4random_buf`](https://man.freebsd.org/cgi/man.cgi?query=arc4random)\nFuchsia | [`cprng_draw`](https://fuchsia.dev/reference/syscalls/cprng_draw)\nHaiku | `arc4random_buf`\nIllumos | [`arc4random_buf`](https://www.illumos.org/man/3C/arc4random)\nNetBSD | [`arc4random_buf`](https://man.netbsd.org/arc4random.3)\nOpenBSD | [`arc4random_buf`](https://man.openbsd.org/arc4random.3)\nSolaris | [`arc4random_buf`](https://docs.oracle.com/cd/E88353_01/html/E37843/arc4random-3c.html)\nVita | `arc4random_buf`\nHermit | `read_entropy`\nHorizon, Cygwin | `getrandom`\nAIX, Hurd, L4Re, QNX | `/dev/urandom`\nRedox | `/scheme/rand`\nRTEMS | [`arc4random_buf`](https://docs.rtems.org/branches/master/bsp-howto/getentropy.html)\nSGX | [`rdrand`](https://en.wikipedia.org/wiki/RDRAND)\nSOLID | `SOLID_RNG_SampleRandomBytes`\nTEEOS | `TEE_GenerateRandom`\nUEFI | [`EFI_RNG_PROTOCOL`](https://uefi.org/specs/UEFI/2.10/37_Secure_Technologies.html#random-number-generator-protocol)\nVxWorks | `randABytes` after waiting for `randSecure` to become ready\nWASI | [`random_get`](https://github.com/WebAssembly/WASI/blob/main/legacy/preview1/docs.md#-random_getbuf-pointeru8-buf_len-size---result-errno)\nZKVM | `sys_rand`\n\nNote that the sources used might change over time.\n\nConsult the documentation for the underlying operations on your supported\ntargets to determine whether they provide any particular desired properties,\nsuch as support for reseeding on VM fork operations.\n\n[`getrandom`]: https://www.man7.org/linux/man-pages/man2/getrandom.2.html\n[`/dev/urandom`]: https://www.man7.org/linux/man-pages/man4/random.4.html", + "id": 7206, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, "impls": [ + 7207, + 7208, + 7209, + 7210, + 7211, + 7212, + 7213, + 7214, + 7215, + 7216, + 7217, 7218, 7219, 7220, 7221, - 7222, 7223, - 7224, 7225, - 7226, 7227, 7228, - 7229, - 7230, - 7231, - 7232, - 7233, - 7234, - 7236, - 7237, - 7239, - 7240, - 7242, - 7244, - 7245, - 7247 + 7230 ], - "variants": [ - 7213, - 7215 - ] + "kind": "unit" } }, - "links": { - "super::Sender::send_timeout": 7216 - }, - "name": "SendTimeoutError", + "links": {}, + "name": "DefaultRandomSource", "span": { "begin": [ - 11, + 59, 1 ], "end": [ - 20, - 2 + 59, + 32 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/random.rs" }, "visibility": "public" }, - "7218": { + "7207": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7218, + "id": 7207, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -605274,69 +624328,25 @@ "span": null, "visibility": "default" }, - "7219": { + "7208": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7219, + "id": 7208, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -605355,12 +624365,49 @@ "span": null, "visibility": "default" }, - "722": { + "7209": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 722, + "id": 7209, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7206, + "path": "DefaultRandomSource" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "721": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 721, "inner": { "impl": { "blanket_impl": { @@ -605417,8 +624464,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 197, + "path": "TryFrom" } } } @@ -605435,8 +624482,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -605452,8 +624499,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 198, + "path": "TryInto" } } }, @@ -605461,161 +624508,36 @@ "name": null, "span": { "begin": [ - 833, + 811, 1 ], "end": [ - 835, - 24 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7220": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7220, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7221": { + "7210": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7221, + "id": 7210, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -605634,69 +624556,25 @@ "span": null, "visibility": "default" }, - "7222": { + "7211": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7222, + "id": 7211, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -605705,7 +624583,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -605715,69 +624593,25 @@ "span": null, "visibility": "default" }, - "7223": { + "7212": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7223, + "id": 7212, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -605786,7 +624620,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -605796,12 +624630,12 @@ "span": null, "visibility": "default" }, - "7224": { + "7213": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7224, + "id": 7213, "inner": { "impl": { "blanket_impl": { @@ -605809,20 +624643,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { @@ -605866,7 +624689,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -605882,7 +624705,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -605891,23 +624714,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7225": { + "7214": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7225, + "id": 7214, "inner": { "impl": { "blanket_impl": { @@ -605915,20 +624738,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { @@ -605972,7 +624784,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -605988,7 +624800,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -605997,23 +624809,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7226": { + "7215": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7226, + "id": 7215, "inner": { "impl": { "blanket_impl": { @@ -606021,20 +624833,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { @@ -606060,7 +624861,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -606092,23 +624893,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7227": { + "7216": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7227, + "id": 7216, "inner": { "impl": { "blanket_impl": { @@ -606116,20 +624917,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { @@ -606194,7 +624984,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -606219,23 +625009,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7228": { + "7217": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7228, + "id": 7217, "inner": { "impl": { "blanket_impl": { @@ -606243,20 +625033,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { @@ -606278,7 +625057,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -606303,23 +625082,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7229": { + "7218": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7229, + "id": 7218, "inner": { "impl": { "blanket_impl": { @@ -606327,20 +625106,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { @@ -606387,7 +625155,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -606405,8 +625173,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -606422,7 +625190,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -606431,23 +625199,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "723": { + "7219": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 723, + "id": 7219, "inner": { "impl": { "blanket_impl": { @@ -606456,8 +625224,8 @@ "for": { "resolved_path": { "args": null, - "id": 667, - "path": "BacktraceFrame" + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { @@ -606471,30 +625239,48 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -606504,13 +625290,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 332, + 334 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 341, - "path": "Any" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, @@ -606518,23 +625316,23 @@ "name": null, "span": { "begin": [ - 138, + 827, 1 ], "end": [ - 138, - 36 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7230": { + "722": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7230, + "id": 722, "inner": { "impl": { "blanket_impl": { @@ -606542,20 +625340,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 667, + "path": "BacktraceFrame" } }, "generics": { @@ -606620,8 +625407,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -606637,7 +625424,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -606646,23 +625433,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7231": { + "7220": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7231, + "id": 7220, "inner": { "impl": { "blanket_impl": { @@ -606670,20 +625457,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { @@ -606730,12 +625506,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -606755,12 +625531,12 @@ }, "visibility": "default" }, - "7232": { + "7221": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7232, + "id": 7221, "inner": { "impl": { "blanket_impl": { @@ -606768,20 +625544,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { @@ -606807,7 +625572,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -606834,7 +625599,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -606843,198 +625608,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7233": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7233, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 434 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 163, - "path": "ToString" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2806, - 1 - ], - "end": [ - 2806, - 46 - ], - "filename": "checkouts/rust/library/alloc/src/string.rs" - }, - "visibility": "default" - }, - "7234": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7234, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 442, - "path": "StructuralPartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 9, - 10 - ], - "end": [ - 9, - 19 - ], - "filename": "std/src/sync/mpmc/error.rs" - }, - "visibility": "default" - }, - "7235": { + "7222": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -607043,7 +625628,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7235, + "id": 7222, "inner": { "function": { "generics": { @@ -607058,141 +625643,69 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" - } - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": null, + "id": 7206, + "path": "DefaultRandomSource" + } } } } }, "links": {}, - "name": "eq", + "name": "default", "span": { "begin": [ - 9, + 57, 10 ], "end": [ - 9, - 19 + 57, + 17 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/random.rs" }, "visibility": "default" }, - "7236": { + "7223": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7236, + "id": 7223, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 123, - "path": "$crate::cmp::PartialEq" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7235 - ], - "provided_trait_methods": [ - "ne" + 7222 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 123, - "path": "PartialEq" + "id": 107, + "path": "Default" } } }, @@ -607200,106 +625713,18 @@ "name": null, "span": { "begin": [ - 9, + 57, 10 ], "end": [ - 9, - 19 - ], - "filename": "std/src/sync/mpmc/error.rs" - }, - "visibility": "default" - }, - "7237": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7237, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "$crate::cmp::Eq" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 9, - 21 - ], - "end": [ - 9, - 23 + 57, + 17 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/random.rs" }, "visibility": "default" }, - "7238": { + "7224": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -607308,168 +625733,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7238, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 9, - 25 - ], - "end": [ - 9, - 30 - ], - "filename": "std/src/sync/mpmc/error.rs" - }, - "visibility": "default" - }, - "7239": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7239, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "$crate::clone::Clone" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7238 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 9, - 25 - ], - "end": [ - 9, - 30 - ], - "filename": "std/src/sync/mpmc/error.rs" - }, - "visibility": "default" - }, - "724": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 724, + "id": 7224, "inner": { "function": { "generics": { @@ -607498,7 +625762,7 @@ } ], [ - "fmt", + "f", { "borrowed_ref": { "is_mutable": true, @@ -607515,8 +625779,8 @@ "constraints": [] } }, - "id": 343, - "path": "fmt::Formatter" + "id": 341, + "path": "$crate::fmt::Formatter" } } } @@ -607527,8 +625791,8 @@ "output": { "resolved_path": { "args": null, - "id": 344, - "path": "fmt::Result" + "id": 342, + "path": "$crate::fmt::Result" } } } @@ -607538,244 +625802,52 @@ "name": "fmt", "span": { "begin": [ - 203, - 5 + 57, + 19 ], "end": [ - 207, - 6 + 57, + 24 ], - "filename": "std/src/backtrace.rs" + "filename": "std/src/random.rs" }, "visibility": "default" }, - "7240": { + "7225": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7240, + "id": 7225, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 103, - "path": "$crate::marker::Copy" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 103, - "path": "Copy" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 9, - 32 - ], - "end": [ - 9, - 36 - ], - "filename": "std/src/sync/mpmc/error.rs" - }, - "visibility": "default" - }, - "7241": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7241, - "inner": { - "function": { "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 24, - 5 - ], - "end": [ - 26, - 6 - ], - "filename": "std/src/sync/mpmc/error.rs" - }, - "visibility": "default" - }, - "7242": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7242, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7241 + 7224 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -607784,23 +625856,27 @@ "name": null, "span": { "begin": [ - 23, - 1 + 57, + 19 ], "end": [ - 27, - 2 + 57, + 24 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/random.rs" }, "visibility": "default" }, - "7243": { - "attrs": [], + "7226": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7243, + "id": 7226, "inner": { "function": { "generics": { @@ -607827,116 +625903,72 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { "resolved_path": { "args": null, - "id": 344, - "path": "fmt::Result" + "id": 7206, + "path": "DefaultRandomSource" } } } } }, "links": {}, - "name": "fmt", + "name": "clone", "span": { "begin": [ - 31, - 5 + 57, + 26 ], "end": [ - 36, - 6 + 57, + 31 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/random.rs" }, "visibility": "default" }, - "7244": { + "7227": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7244, + "id": 7227, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7243 + 7226 + ], + "provided_trait_methods": [ + "clone_from" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 97, + "path": "Clone" } } }, @@ -607944,78 +625976,51 @@ "name": null, "span": { "begin": [ - 30, - 1 + 57, + 26 ], "end": [ - 37, - 2 + 57, + 31 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/random.rs" }, "visibility": "default" }, - "7245": { + "7228": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7245, + "id": 7228, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [], - "provided_trait_methods": [ - "source", - "type_id", - "description", - "cause", - "provide" - ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 450, - "path": "Error" + "id": 101, + "path": "Copy" } } }, @@ -608023,23 +626028,23 @@ "name": null, "span": { "begin": [ - 40, - 1 + 57, + 33 ], "end": [ - 40, - 48 + 57, + 37 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/random.rs" }, "visibility": "default" }, - "7246": { + "7229": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7246, + "id": 7229, "inner": { "function": { "generics": { @@ -608056,93 +626061,68 @@ "sig": { "inputs": [ [ - "err", + "self", { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "bytes", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" } - }, - "id": 7207, - "path": "SendError" + } } } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" - } - } + "output": null } } }, "links": {}, - "name": "from", + "name": "fill_bytes", "span": { "begin": [ - 44, + 63, 5 ], "end": [ - 48, + 65, 6 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "std/src/random.rs" }, "visibility": "default" }, - "7247": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], + "723": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7247, + "id": 723, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7217, - "path": "SendTimeoutError" + "args": null, + "id": 667, + "path": "BacktraceFrame" } }, "generics": { @@ -608158,45 +626138,44 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7246 + 336 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 339, + "path": "Any" } } }, @@ -608204,125 +626183,35 @@ "name": null, "span": { "begin": [ - 43, + 138, 1 ], "end": [ - 49, - 2 + 138, + 36 ], - "filename": "std/src/sync/mpmc/error.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "7248": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7248, - "inner": { - "module": { - "is_crate": false, - "is_stripped": true, - "items": [ - 7202, - 7204, - 7206, - 7208, - 7210, - 7217 - ] - } - }, - "links": {}, - "name": "error", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 49, - 2 - ], - "filename": "std/src/sync/mpmc/error.rs" - }, - "visibility": { - "restricted": { - "parent": 7249, - "path": "::sync::mpmc" - } - } - }, - "7249": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Multi-producer, multi-consumer FIFO queue communication primitives.\n\nThis module provides message-based communication over channels, concretely\ndefined by two types:\n\n* [`Sender`]\n* [`Receiver`]\n\n[`Sender`]s are used to send data to a set of [`Receiver`]s. Both\nsender and receiver are cloneable (multi-producer) such that many threads can send\nsimultaneously to receivers (multi-consumer).\n\nThese channels come in two flavors:\n\n1. An asynchronous, infinitely buffered channel. The [`channel`] function\n will return a `(Sender, Receiver)` tuple where all sends will be\n **asynchronous** (they never block). The channel conceptually has an\n infinite buffer.\n\n2. A synchronous, bounded channel. The [`sync_channel`] function will\n return a `(Sender, Receiver)` tuple where the storage for pending\n messages is a pre-allocated buffer of a fixed size. All sends will be\n **synchronous** by blocking until there is buffer space available. Note\n that a bound of 0 is allowed, causing the channel to become a \"rendezvous\"\n channel where each sender atomically hands off a message to a receiver.\n\n[`send`]: Sender::send\n\n## Disconnection\n\nThe send and receive operations on channels will all return a [`Result`]\nindicating whether the operation succeeded or not. An unsuccessful operation\nis normally indicative of the other half of a channel having \"hung up\" by\nbeing dropped in its corresponding thread.\n\nOnce half of a channel has been deallocated, most operations can no longer\ncontinue to make progress, so [`Err`] will be returned. Many applications\nwill continue to [`unwrap`] the results returned from this module,\ninstigating a propagation of failure among threads if one unexpectedly dies.\n\n[`unwrap`]: Result::unwrap\n\n# Examples\n\nSimple usage:\n\n```\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::sync::mpmc::channel;\n\n// Create a simple streaming channel\nlet (tx, rx) = channel();\nthread::spawn(move || {\n tx.send(10).unwrap();\n});\nassert_eq!(rx.recv().unwrap(), 10);\n```\n\nShared usage:\n\n```\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::sync::mpmc::channel;\n\nthread::scope(|s| {\n // Create a shared channel that can be sent along from many threads\n // where tx is the sending half (tx for transmission), and rx is the receiving\n // half (rx for receiving).\n let (tx, rx) = channel();\n for i in 0..10 {\n let tx = tx.clone();\n s.spawn(move || {\n tx.send(i).unwrap();\n });\n }\n\n for _ in 0..5 {\n let rx1 = rx.clone();\n let rx2 = rx.clone();\n s.spawn(move || {\n let j = rx1.recv().unwrap();\n assert!(0 <= j && j < 10);\n });\n s.spawn(move || {\n let j = rx2.recv().unwrap();\n assert!(0 <= j && j < 10);\n });\n }\n})\n```\n\nPropagating panics:\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\n\n// The call to recv() will return an error because the channel has already\n// hung up (or been deallocated)\nlet (tx, rx) = channel::();\ndrop(tx);\nassert!(rx.recv().is_err());\n```", - "id": 7249, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 7260, - 7258, - 7255, - 7256, - 7305, - 7297, - 7324, - 7398 - ] - } - }, - "links": { - "Result::unwrap": 470, - "Sender::send": 7257, - "`Err`": 59, - "`Receiver`": 7256, - "`Result`": 57, - "`Sender`": 7255, - "`channel`": 7260, - "`sync_channel`": 7258 - }, - "name": "mpmc", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 1387, - 11 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "public" - }, - "725": { + "7230": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 79676, is_soft: false}, feature: \"backtrace_frames\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 725, + "id": 7230, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 667, - "path": "BacktraceFrame" + "id": 7206, + "path": "DefaultRandomSource" } }, "generics": { @@ -608333,13 +626222,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 724 + 7229 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 7231, + "path": "RandomSource" } } }, @@ -608347,29 +626236,29 @@ "name": null, "span": { "begin": [ - 202, + 62, 1 ], "end": [ - 208, + 66, 2 ], - "filename": "std/src/backtrace.rs" + "filename": "std/src/random.rs" }, "visibility": "default" }, - "7255": { + "7233": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "The sending-half of Rust's synchronous [`channel`] type.\n\nMessages can be sent through this channel with [`send`].\n\nNote: all senders (the original and its clones) need to be dropped for the receiver\nto stop blocking to receive messages with [`Receiver::recv`].\n\n[`send`]: Sender::send\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\n\nlet (sender, receiver) = channel();\nlet sender2 = sender.clone();\n\n// First thread owns sender\nthread::spawn(move || {\n sender.send(1).unwrap();\n});\n\n// Second thread owns sender2\nthread::spawn(move || {\n sender2.send(2).unwrap();\n});\n\nlet msg = receiver.recv().unwrap();\nlet msg2 = receiver.recv().unwrap();\n\nassert_eq!(3, msg + msg2);\n```", - "id": 7255, + "docs": "Generates a random value from a distribution, using the default random source.\n\nThis is a convenience function for `dist.sample(&mut DefaultRandomSource)` and will sample\naccording to the same distribution as the underlying [`Distribution`] trait implementation. See\n[`DefaultRandomSource`] for more information about how randomness is sourced.\n\n# Examples\n\nGenerating a [version 4/variant 1 UUID] represented as text:\n```\n#![feature(random)]\n\nuse std::random::random;\n\nlet bits: u128 = random(..);\nlet g1 = (bits >> 96) as u32;\nlet g2 = (bits >> 80) as u16;\nlet g3 = (0x4000 | (bits >> 64) & 0x0fff) as u16;\nlet g4 = (0x8000 | (bits >> 48) & 0x3fff) as u16;\nlet g5 = (bits & 0xffffffffffff) as u64;\nlet uuid = format!(\"{g1:08x}-{g2:04x}-{g3:04x}-{g4:04x}-{g5:012x}\");\nprintln!(\"{uuid}\");\n```\n\n[version 4/variant 1 UUID]: https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random)", + "id": 7233, "inner": { - "struct": { + "function": { "generics": { "params": [ { @@ -608381,148 +626270,182 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7232, + "path": "Distribution" + } + } + } + ], + "default": null, + "is_synthetic": true + } + }, + "name": "impl Distribution" } ], "where_predicates": [] }, - "impls": [ - 7263, - 7270, - 7271, - 7272, - 7273, - 7274, - 7275, - 7276, - 7277, - 7278, - 7279, - 7280, - 7281, - 7282, - 7283, - 7284, - 7285, - 7287, - 7289, - 7291 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "dist", + { + "impl_trait": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7232, + "path": "Distribution" + } + } + } + ] + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "T" } } } }, "links": { - "Sender::send": 7257, - "`Receiver::recv`": 7259, - "`channel`": 7260 + "`DefaultRandomSource`": 7206, + "`Distribution`": 7232 }, - "name": "Sender", + "name": "random", "span": { "begin": [ - 299, + 94, 1 ], "end": [ - 301, + 96, 2 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/random.rs" }, "visibility": "public" }, - "7256": { + "7234": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "The receiving half of Rust's [`channel`] (or [`sync_channel`]) type.\nDifferent threads can share this [`Receiver`] by cloning it.\n\nMessages sent to the channel can be retrieved using [`recv`].\n\n[`recv`]: Receiver::recv\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (send, recv) = channel();\n\nlet tx_thread = thread::spawn(move || {\n send.send(\"Hello world!\").unwrap();\n thread::sleep(Duration::from_secs(2)); // block for two seconds\n send.send(\"Delayed for 2 seconds\").unwrap();\n});\n\nlet (rx1, rx2) = (recv.clone(), recv.clone());\nlet rx_thread_1 = thread::spawn(move || {\n println!(\"{}\", rx1.recv().unwrap()); // Received immediately\n});\nlet rx_thread_2 = thread::spawn(move || {\n println!(\"{}\", rx2.recv().unwrap()); // Received after 2 seconds\n});\n\ntx_thread.join().unwrap();\nrx_thread_1.join().unwrap();\nrx_thread_2.join().unwrap();\n```", - "id": 7256, + "docs": null, + "id": 7234, "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "impls": [ - 7298, - 7306, - 7307, - 7308, - 7309, - 7310, - 7311, - 7312, - 7313, - 7314, - 7315, - 7316, - 7317, - 7321, - 7326, - 7327, - 7328, - 7329, - 7330, - 7332, - 7334, - 7336 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } + "use": { + "id": 7235, + "is_glob": true, + "name": "random", + "source": "core::random" } }, - "links": { - "Receiver::recv": 7259, - "`Receiver`": 7256, - "`channel`": 7260, - "`sync_channel`": 7258 - }, - "name": "Receiver", + "links": {}, + "name": null, "span": { "begin": [ - 697, + 4, 1 ], "end": [ - 699, - 2 + 4, + 25 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/random.rs" }, "visibility": "public" }, - "7257": { + "7236": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130703, is_soft: false}, feature: \"random\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to send a value on this channel, returning it back if it could\nnot be sent.\n\nA successful send occurs when it is determined that the other end of\nthe channel has not hung up already. An unsuccessful send would be one\nwhere the corresponding receiver has already been deallocated. Note\nthat a return value of [`Err`] means that the data will never be\nreceived, but a return value of [`Ok`] does *not* mean that the data\nwill be received. It is possible for the corresponding receiver to\nhang up immediately after this function returns [`Ok`]. However, if\nthe channel is zero-capacity, it acts as a rendezvous channel and a\nreturn value of [`Ok`] means that the data has been received.\n\nIf the channel is full and not disconnected, this call will block until\nthe send operation can proceed. If the channel becomes disconnected,\nthis call will wake up and return an error. The returned error contains\nthe original message.\n\nIf called on a zero-capacity channel, this method will wait for a receive\noperation to appear on the other side of the channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\n\nlet (tx, rx) = channel();\n\n// This send is always successful\ntx.send(1).unwrap();\n\n// This send will fail because the receiver is gone\ndrop(rx);\nassert!(tx.send(1).is_err());\n```", - "id": 7257, + "docs": "Random value generation.", + "id": 7236, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 7206, + 7233, + 7234 + ] + } + }, + "links": {}, + "name": "random", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 96, + 2 + ], + "filename": "std/src/random.rs" + }, + "visibility": "public" + }, + "724": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 724, "inner": { "function": { "generics": { @@ -608551,327 +626474,292 @@ } ], [ - "msg", + "fmt", { - "generic": "T" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, - "links": { - "`Err`": 59, - "`Ok`": 61 - }, - "name": "send", + "links": {}, + "name": "fmt", "span": { "begin": [ - 392, + 203, 5 ], "end": [ - 402, + 207, 6 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/backtrace.rs" + }, + "visibility": "default" + }, + "7240": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7240, + "inner": { + "use": { + "id": 7241, + "is_glob": false, + "name": "RecvError", + "source": "crate::sync::mpsc::RecvError" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1, + 29 + ], + "end": [ + 1, + 38 + ], + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "public" }, - "7258": { + "7241": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Creates a new synchronous, bounded channel.\n\nAll data sent on the [`Sender`] will become available on the [`Receiver`]\nin the same order as it was sent. Like asynchronous [`channel`]s, the\n[`Receiver`] will block until a message becomes available. `sync_channel`\ndiffers greatly in the semantics of the sender, however.\n\nThis channel has an internal buffer on which messages will be queued.\n`bound` specifies the buffer size. When the internal buffer becomes full,\nfuture sends will *block* waiting for the buffer to open up. Note that a\nbuffer size of 0 is valid, in which case this becomes \"rendezvous channel\"\nwhere each [`send`] will not return until a [`recv`] is paired with it.\n\nThe [`Sender`] can be cloned to [`send`] to the same channel multiple\ntimes. The [`Receiver`] also can be cloned to have multi receivers.\n\nLike asynchronous channels, if the [`Receiver`] is disconnected while trying\nto [`send`] with the [`Sender`], the [`send`] method will return a\n[`SendError`]. Similarly, If the [`Sender`] is disconnected while trying\nto [`recv`], the [`recv`] method will return a [`RecvError`].\n\n[`send`]: Sender::send\n[`recv`]: Receiver::recv\n\n# Examples\n\n```\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\nlet (sender, receiver) = sync_channel(1);\n\n// this returns immediately\nsender.send(1).unwrap();\n\nthread::spawn(move || {\n // this will block until the previous message has been received\n sender.send(2).unwrap();\n});\n\nassert_eq!(receiver.recv().unwrap(), 1);\nassert_eq!(receiver.recv().unwrap(), 2);\n```", - "id": 7258, + "docs": "An error returned from the [`recv`] function on a [`Receiver`].\n\nThe [`recv`] operation can only fail if the sending half of a\n[`channel`] (or [`sync_channel`]) is disconnected, implying that no further\nmessages will ever be received.\n\n[`recv`]: Receiver::recv", + "id": 7241, "inner": { - "function": { + "struct": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "cap", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7255, - "path": "Sender" - } - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7256, - "path": "Receiver" - } - } - ] - } - } + "impls": [ + 7612, + 7613, + 7614, + 7615, + 7616, + 7617, + 7618, + 7619, + 7620, + 7621, + 7622, + 7623, + 7624, + 7625, + 7626, + 7627, + 7628, + 7630, + 7631, + 7633, + 7634, + 7636, + 7638, + 7639, + 7641, + 7643 + ], + "kind": "unit" } }, "links": { - "Receiver::recv": 7259, - "Sender::send": 7257, - "`Receiver`": 7256, - "`RecvError`": 7203, - "`SendError`": 7207, - "`Sender`": 7255, - "`channel`": 7260 + "Receiver::recv": 7440, + "`Receiver`": 7441, + "`channel`": 7438, + "`sync_channel`": 7439 }, - "name": "sync_channel", + "name": "RecvError", "span": { "begin": [ - 249, + 418, 1 ], "end": [ - 261, - 2 + 418, + 22 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "public" }, - "7259": { + "7242": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7242, + "inner": { + "use": { + "id": 7243, + "is_glob": false, + "name": "RecvTimeoutError", + "source": "crate::sync::mpsc::RecvTimeoutError" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1, + 40 + ], + "end": [ + 1, + 56 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "public" + }, + "7243": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent (at least one sender\nstill exists). Once a message is sent to the corresponding [`Sender`],\nthis receiver will wake up and return that message.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, recv) = mpmc::channel();\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(Ok(1), recv.recv());\n```\n\nBuffering behavior:\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\nuse std::sync::mpmc::RecvError;\n\nlet (send, recv) = mpmc::channel();\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2).unwrap();\n send.send(3).unwrap();\n drop(send);\n});\n\n// wait for the thread to join so we ensure the sender is dropped\nhandle.join().unwrap();\n\nassert_eq!(Ok(1), recv.recv());\nassert_eq!(Ok(2), recv.recv());\nassert_eq!(Ok(3), recv.recv());\nassert_eq!(Err(RecvError), recv.recv());\n```", - "id": 7259, + "docs": "This enumeration is the list of possible errors that made [`recv_timeout`]\nunable to return data when called. This can occur with both a [`channel`] and\na [`sync_channel`].\n\n[`recv_timeout`]: Receiver::recv_timeout", + "id": 7243, "inner": { - "function": { + "enum": { "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } + "has_stripped_variants": false, + "impls": [ + 7676, + 7677, + 7678, + 7679, + 7680, + 7681, + 7682, + 7683, + 7684, + 7685, + 7686, + 7687, + 7688, + 7689, + 7690, + 7691, + 7692, + 7694, + 7695, + 7697, + 7698, + 7700, + 7702, + 7703, + 7643 + ], + "variants": [ + 7674, + 7675 + ] } }, "links": { - "`Err`": 59, - "`Sender`": 7255 + "Receiver::recv_timeout": 7445, + "`channel`": 7438, + "`sync_channel`": 7439 }, - "name": "recv", + "name": "RecvTimeoutError", "span": { "begin": [ - 981, - 5 + 446, + 1 ], "end": [ - 988, - 6 + 455, + 2 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "public" }, - "726": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" - } - ], + "7244": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Support for capturing a stack backtrace of an OS thread\n\nThis module contains the support necessary to capture a stack backtrace of a\nrunning OS thread from the OS thread itself. The `Backtrace` type supports\ncapturing a stack trace via the `Backtrace::capture` and\n`Backtrace::force_capture` functions.\n\nA backtrace is typically quite handy to attach to errors (e.g. types\nimplementing `std::error::Error`) to get a causal chain of where an error\nwas generated.\n\n## Accuracy\n\nBacktraces are attempted to be as accurate as possible, but no guarantees\nare provided about the exact accuracy of a backtrace. Instruction pointers,\nsymbol names, filenames, line numbers, etc, may all be incorrect when\nreported. Accuracy is attempted on a best-effort basis, however, any bug\nreports are always welcome to indicate areas of improvement!\n\nFor most platforms a backtrace with a filename/line number requires that\nprograms be compiled with debug information. Without debug information\nfilenames/line numbers will not be reported.\n\n## Platform support\n\nNot all platforms that std compiles for support capturing backtraces. Some\nplatforms simply do nothing when capturing a backtrace. To check whether the\nplatform supports capturing backtraces you can consult the `BacktraceStatus`\nenum as a result of `Backtrace::status`.\n\nLike above with accuracy platform support is done on a best effort basis.\nSometimes libraries might not be available at runtime or something may go\nwrong which would cause a backtrace to not be captured. Please feel free to\nreport issues with platforms where a backtrace cannot be captured though!\n\n## Environment Variables\n\nThe `Backtrace::capture` function might not actually capture a backtrace by\ndefault. Its behavior is governed by two environment variables:\n\n* `RUST_LIB_BACKTRACE` - if this is set to `0` then `Backtrace::capture`\n will never capture a backtrace. Any other value set will enable\n `Backtrace::capture`.\n\n* `RUST_BACKTRACE` - if `RUST_LIB_BACKTRACE` is not set, then this variable\n is consulted with the same rules of `RUST_LIB_BACKTRACE`.\n\n* If neither of the above env vars are set, then `Backtrace::capture` will\n be disabled.\n\nCapturing a backtrace can be a quite expensive runtime operation, so the\nenvironment variables allow either forcibly disabling this runtime\nperformance hit or allow selectively enabling it in some programs.\n\nNote that the `Backtrace::force_capture` function can be used to ignore\nthese environment variables. Also note that the state of environment\nvariables is cached once the first backtrace is created, so altering\n`RUST_LIB_BACKTRACE` or `RUST_BACKTRACE` at runtime might not actually change\nhow backtraces are captured.", - "id": 726, + "docs": null, + "id": 7244, "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 659, - 664, - 667 - ] + "use": { + "id": 7245, + "is_glob": false, + "name": "SendError", + "source": "crate::sync::mpsc::SendError" } }, "links": {}, - "name": "backtrace", + "name": null, "span": { "begin": [ 1, - 1 + 58 ], "end": [ - 478, - 2 + 1, + 67 ], - "filename": "std/src/backtrace.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "public" }, - "7260": { + "7245": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Creates a new asynchronous channel, returning the sender/receiver halves.\n\nAll data sent on the [`Sender`] will become available on the [`Receiver`] in\nthe same order as it was sent, and no [`send`] will block the calling thread\n(this channel has an \"infinite buffer\", unlike [`sync_channel`], which will\nblock after its buffer limit is reached). [`recv`] will block until a message\nis available while there is at least one [`Sender`] alive (including clones).\n\nThe [`Sender`] can be cloned to [`send`] to the same channel multiple times.\nThe [`Receiver`] also can be cloned to have multi receivers.\n\nIf the [`Receiver`] is disconnected while trying to [`send`] with the\n[`Sender`], the [`send`] method will return a [`SendError`]. Similarly, if the\n[`Sender`] is disconnected while trying to [`recv`], the [`recv`] method will\nreturn a [`RecvError`].\n\n[`send`]: Sender::send\n[`recv`]: Receiver::recv\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\n\nlet (sender, receiver) = channel();\n\n// Spawn off an expensive computation\nthread::spawn(move || {\n# fn expensive_computation() {}\n sender.send(expensive_computation()).unwrap();\n});\n\n// Do some useful work for a while\n\n// Let's see what that answer was\nprintln!(\"{:?}\", receiver.recv().unwrap());\n```", - "id": 7260, + "docs": "An error returned from the [`Sender::send`] or [`SyncSender::send`]\nfunction on **channel**s.\n\nA **send** operation can only fail if the receiving end of a channel is\ndisconnected, implying that the data could never be received. The error\ncontains the data being sent as a payload so it can be recovered.", + "id": 7245, "inner": { - "function": { + "struct": { "generics": { "params": [ { @@ -608887,210 +626775,198 @@ ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7255, - "path": "Sender" - } - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7256, - "path": "Receiver" - } - } - ] - } + "impls": [ + 7582, + 7583, + 7584, + 7585, + 7586, + 7587, + 7588, + 7589, + 7590, + 7591, + 7592, + 7593, + 7594, + 7595, + 7596, + 7597, + 7285, + 7598, + 7600, + 7601, + 7603, + 7604, + 7606, + 7608, + 7609, + 7611 + ], + "kind": { + "tuple": [ + 7581 + ] } } }, "links": { - "Receiver::recv": 7259, - "Sender::send": 7257, - "`Receiver`": 7256, - "`RecvError`": 7203, - "`SendError`": 7207, - "`Sender`": 7255, - "`sync_channel`": 7258 + "`Sender::send`": 7537, + "`SyncSender::send`": 7559 }, - "name": "channel", + "name": "SendError", "span": { "begin": [ - 197, + 407, 1 ], "end": [ - 202, - 2 + 407, + 78 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "public" }, - "7262": { + "7246": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7246, + "inner": { + "use": { + "id": 7247, + "is_glob": false, + "name": "TryRecvError", + "source": "crate::sync::mpsc::TryRecvError" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1, + 69 + ], + "end": [ + 1, + 81 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "public" + }, + "7247": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to send a message into the channel without blocking.\n\nThis method will either send a message into the channel immediately or return an error if\nthe channel is full or disconnected. The returned error contains the original message.\n\nIf called on a zero-capacity channel, this method will send the message only if there\nhappens to be a receive operation on the other side of the channel at the same time.\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::{channel, Receiver, Sender};\n\nlet (sender, _receiver): (Sender, Receiver) = channel();\n\nassert!(sender.try_send(1).is_ok());\n```", - "id": 7262, + "docs": "This enumeration is the list of the possible reasons that [`try_recv`] could\nnot return data when called. This can occur with both a [`channel`] and\na [`sync_channel`].\n\n[`try_recv`]: Receiver::try_recv", + "id": 7247, "inner": { - "function": { + "enum": { "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "msg", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } + "has_stripped_variants": false, + "impls": [ + 7646, + 7647, + 7648, + 7649, + 7650, + 7651, + 7652, + 7653, + 7654, + 7655, + 7656, + 7657, + 7658, + 7659, + 7660, + 7661, + 7662, + 7664, + 7665, + 7667, + 7668, + 7670, + 7672, + 7673, + 7641 + ], + "variants": [ + 7644, + 7645 + ] } }, - "links": {}, - "name": "try_send", + "links": { + "Receiver::try_recv": 7442, + "`channel`": 7438, + "`sync_channel`": 7439 + }, + "name": "TryRecvError", "span": { "begin": [ - 346, - 5 + 427, + 1 ], "end": [ - 352, - 6 + 437, + 2 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "public" }, - "7263": { + "7248": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7263, + "id": 7248, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7255, - "path": "Sender" - } - }, + "use": { + "id": 7249, + "is_glob": false, + "name": "TrySendError", + "source": "crate::sync::mpsc::TrySendError" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1, + 83 + ], + "end": [ + 1, + 95 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "public" + }, + "7249": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "This enumeration is the list of the possible error outcomes for the\n[`try_send`] method.\n\n[`try_send`]: SyncSender::try_send", + "id": 7249, + "inner": { + "enum": { "generics": { "params": [ { @@ -609106,33 +626982,225 @@ ], "where_predicates": [] }, + "has_stripped_variants": false, + "impls": [ + 7708, + 7709, + 7710, + 7711, + 7712, + 7713, + 7714, + 7715, + 7716, + 7717, + 7718, + 7719, + 7720, + 7721, + 7722, + 7723, + 7724, + 7726, + 7727, + 7729, + 7730, + 7732, + 7734, + 7735, + 7611 + ], + "variants": [ + 7705, + 7707 + ] + } + }, + "links": { + "SyncSender::try_send": 7560 + }, + "name": "TrySendError", + "span": { + "begin": [ + 463, + 1 + ], + "end": [ + 477, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "725": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 79676, is_soft: false}, feature: \"backtrace_frames\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 725, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 667, + "path": "BacktraceFrame" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7262, - 7257 + 724 ], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } } }, "links": {}, "name": null, "span": { "begin": [ - 325, + 202, 1 ], "end": [ - 403, + 208, 2 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/backtrace.rs" }, "visibility": "default" }, - "7264": { + "7250": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7250, + "inner": { + "struct_field": { + "generic": "T" + } + }, + "links": {}, + "name": "0", + "span": { + "begin": [ + 16, + 13 + ], + "end": [ + 16, + 14 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "default" + }, + "7251": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "The message could not be sent because the channel is full and the operation timed out.\n\nIf this is a zero-capacity channel, then the error indicates that there was no receiver\navailable to receive the message and the operation timed out.", + "id": 7251, + "inner": { + "variant": { + "discriminant": null, + "kind": { + "tuple": [ + 7250 + ] + } + } + }, + "links": {}, + "name": "Timeout", + "span": { + "begin": [ + 16, + 5 + ], + "end": [ + 16, + 15 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "default" + }, + "7252": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7252, + "inner": { + "struct_field": { + "generic": "T" + } + }, + "links": {}, + "name": "0", + "span": { + "begin": [ + 19, + 18 + ], + "end": [ + 19, + 19 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "default" + }, + "7253": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "The message could not be sent because the channel is disconnected.", + "id": 7253, + "inner": { + "variant": { + "discriminant": null, + "kind": { + "tuple": [ + 7252 + ] + } + } + }, + "links": {}, + "name": "Disconnected", + "span": { + "begin": [ + 19, + 5 + ], + "end": [ + 19, + 20 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "default" + }, + "7254": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -609140,8 +627208,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Waits for a message to be sent into the channel, but only until a given deadline.\n\nIf the channel is full and not disconnected, this call will block until the send operation\ncan proceed or the operation times out. If the channel becomes disconnected, this call will\nwake up and return an error. The returned error contains the original message.\n\nIf called on a zero-capacity channel, this method will wait for a receive operation to\nappear on the other side of the channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::time::{Duration, Instant};\n\nlet (tx, rx) = channel();\n\nlet t = Instant::now() + Duration::from_millis(400);\ntx.send_deadline(1, t).unwrap();\n```", - "id": 7264, + "docs": "Waits for a message to be sent into the channel, but only for a limited time.\n\nIf the channel is full and not disconnected, this call will block until the send operation\ncan proceed or the operation times out. If the channel becomes disconnected, this call will\nwake up and return an error. The returned error contains the original message.\n\nIf called on a zero-capacity channel, this method will wait for a receive operation to\nappear on the other side of the channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::time::Duration;\n\nlet (tx, rx) = channel();\n\ntx.send_timeout(1, Duration::from_millis(400)).unwrap();\n```", + "id": 7254, "inner": { "function": { "generics": { @@ -609176,12 +627244,12 @@ } ], [ - "deadline", + "timeout", { "resolved_path": { "args": null, - "id": 503, - "path": "Instant" + "id": 501, + "path": "Duration" } } ] @@ -609212,7 +627280,7 @@ "constraints": [] } }, - "id": 7217, + "id": 7255, "path": "SendTimeoutError" } } @@ -609229,21 +627297,21 @@ } }, "links": {}, - "name": "send_deadline", + "name": "send_timeout", "span": { "begin": [ - 459, + 428, 5 ], "end": [ - 465, + 434, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7265": { + "7255": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -609251,379 +627319,325 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the channel is empty.\n\nNote: Zero-capacity channels are always empty.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, _recv) = mpmc::channel();\n\nlet tx1 = send.clone();\nlet tx2 = send.clone();\n\nassert!(tx1.is_empty());\n\nlet handle = thread::spawn(move || {\n tx2.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert!(!tx1.is_empty());\n```", - "id": 7265, + "docs": "An error returned from the [`send_timeout`] method.\n\nThe error contains the message being sent so it can be recovered.\n\n[`send_timeout`]: super::Sender::send_timeout", + "id": 7255, "inner": { - "function": { + "enum": { "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } - } - ] + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "where_predicates": [] + }, + "has_stripped_variants": false, + "impls": [ + 7256, + 7257, + 7258, + 7259, + 7260, + 7261, + 7262, + 7263, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7274, + 7275, + 7277, + 7278, + 7280, + 7282, + 7283, + 7285 + ], + "variants": [ + 7251, + 7253 + ] } }, - "links": {}, - "name": "is_empty", + "links": { + "super::Sender::send_timeout": 7254 + }, + "name": "SendTimeoutError", "span": { "begin": [ - 495, - 5 + 11, + 1 ], "end": [ - 501, - 6 + 20, + 2 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "public" }, - "7266": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], + "7256": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the channel is full.\n\nNote: Zero-capacity channels are always full.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, _recv) = mpmc::sync_channel(1);\n\nlet (tx1, tx2) = (send.clone(), send.clone());\nassert!(!tx1.is_full());\n\nlet handle = thread::spawn(move || {\n tx2.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert!(tx1.is_full());\n```", - "id": 7266, + "docs": null, + "id": 7256, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" + }, + "id": 7255, + "path": "SendTimeoutError" } - } - } - }, - "links": {}, - "name": "is_full", - "span": { - "begin": [ - 529, - 5 - ], - "end": [ - 535, - 6 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "public" - }, - "7267": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the number of messages in the channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, _recv) = mpmc::channel();\nlet (tx1, tx2) = (send.clone(), send.clone());\n\nassert_eq!(tx1.len(), 0);\n\nlet handle = thread::spawn(move || {\n tx2.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(tx1.len(), 1);\n```", - "id": 7267, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "usize" - } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, "links": {}, - "name": "len", - "span": { - "begin": [ - 561, - 5 - ], - "end": [ - 567, - 6 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, - "7268": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], + "7257": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "If the channel is bounded, returns its capacity.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, _recv) = mpmc::sync_channel(3);\nlet (tx1, tx2) = (send.clone(), send.clone());\n\nassert_eq!(tx1.capacity(), Some(3));\n\nlet handle = thread::spawn(move || {\n tx2.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(tx1.capacity(), Some(3));\n```", - "id": 7268, + "docs": null, + "id": 7257, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ] + }, + "id": 7255, + "path": "SendTimeoutError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "id": 51, - "path": "Option" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, "links": {}, - "name": "capacity", - "span": { - "begin": [ - 593, - 5 - ], - "end": [ - 599, - 6 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, - "7269": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], + "7258": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if senders belong to the same channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\n\nlet (tx1, _) = mpmc::channel::();\nlet (tx2, _) = mpmc::channel::();\n\nassert!(tx1.same_channel(&tx1));\nassert!(!tx1.same_channel(&tx2));\n```", - "id": 7269, + "docs": null, + "id": 7258, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7255, - "path": "Sender" + }, + "id": 7255, + "path": "SendTimeoutError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } } } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" } } }, "links": {}, - "name": "same_channel", - "span": { - "begin": [ - 617, - 5 - ], - "end": [ - 624, - 6 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "public" - }, - "727": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134915, is_soft: false}, feature: \"bstr\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 727, - "inner": { - "use": { - "id": 728, - "is_glob": false, - "name": "ByteStr", - "source": "alloc::bstr::ByteStr" - } - }, - "links": {}, "name": null, - "span": { - "begin": [ - 4, - 23 - ], - "end": [ - 4, - 30 - ], - "filename": "std/src/bstr.rs" - }, - "visibility": "public" + "span": null, + "visibility": "default" }, - "7270": { + "7259": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7270, + "id": 7259, "inner": { "impl": { "blanket_impl": null, @@ -609642,7 +627656,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -609658,45 +627672,89 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 7216, - 7264, - 7265, - 7266, - 7267, - 7268, - 7269 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } }, "links": {}, "name": null, + "span": null, + "visibility": "default" + }, + "726": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 65, patch: 0})}, feature: \"backtrace\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Support for capturing a stack backtrace of an OS thread\n\nThis module contains the support necessary to capture a stack backtrace of a\nrunning OS thread from the OS thread itself. The `Backtrace` type supports\ncapturing a stack trace via the `Backtrace::capture` and\n`Backtrace::force_capture` functions.\n\nA backtrace is typically quite handy to attach to errors (e.g. types\nimplementing `std::error::Error`) to get a causal chain of where an error\nwas generated.\n\n## Accuracy\n\nBacktraces are attempted to be as accurate as possible, but no guarantees\nare provided about the exact accuracy of a backtrace. Instruction pointers,\nsymbol names, filenames, line numbers, etc, may all be incorrect when\nreported. Accuracy is attempted on a best-effort basis, however, any bug\nreports are always welcome to indicate areas of improvement!\n\nFor most platforms a backtrace with a filename/line number requires that\nprograms be compiled with debug information. Without debug information\nfilenames/line numbers will not be reported.\n\n## Platform support\n\nNot all platforms that std compiles for support capturing backtraces. Some\nplatforms simply do nothing when capturing a backtrace. To check whether the\nplatform supports capturing backtraces you can consult the `BacktraceStatus`\nenum as a result of `Backtrace::status`.\n\nLike above with accuracy platform support is done on a best effort basis.\nSometimes libraries might not be available at runtime or something may go\nwrong which would cause a backtrace to not be captured. Please feel free to\nreport issues with platforms where a backtrace cannot be captured though!\n\n## Environment Variables\n\nThe `Backtrace::capture` function might not actually capture a backtrace by\ndefault. Its behavior is governed by two environment variables:\n\n* `RUST_LIB_BACKTRACE` - if this is set to `0` then `Backtrace::capture`\n will never capture a backtrace. Any other value set will enable\n `Backtrace::capture`.\n\n* `RUST_BACKTRACE` - if `RUST_LIB_BACKTRACE` is not set, then this variable\n is consulted with the same rules of `RUST_LIB_BACKTRACE`.\n\n* If neither of the above env vars are set, then `Backtrace::capture` will\n be disabled.\n\nCapturing a backtrace can be a quite expensive runtime operation, so the\nenvironment variables allow either forcibly disabling this runtime\nperformance hit or allow selectively enabling it in some programs.\n\nNote that the `Backtrace::force_capture` function can be used to ignore\nthese environment variables. Also note that the state of environment\nvariables is cached once the first backtrace is created, so altering\n`RUST_LIB_BACKTRACE` or `RUST_BACKTRACE` at runtime might not actually change\nhow backtraces are captured.", + "id": 726, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 659, + 664, + 667 + ] + } + }, + "links": {}, + "name": "backtrace", "span": { "begin": [ - 405, + 1, 1 ], "end": [ - 625, + 478, 2 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/backtrace.rs" }, - "visibility": "default" + "visibility": "public" }, - "7271": { + "7260": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7271, + "id": 7260, "inner": { "impl": { "blanket_impl": null, @@ -609715,7 +627773,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -609731,7 +627789,29 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -609740,8 +627820,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 316, + "path": "UnwindSafe" } } }, @@ -609750,12 +627830,12 @@ "span": null, "visibility": "default" }, - "7272": { + "7261": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7272, + "id": 7261, "inner": { "impl": { "blanket_impl": null, @@ -609774,7 +627854,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -609790,7 +627870,29 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -609799,8 +627901,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -609809,12 +627911,12 @@ "span": null, "visibility": "default" }, - "7273": { + "7262": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7273, + "id": 7262, "inner": { "impl": { "blanket_impl": { @@ -609835,7 +627937,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -609879,7 +627981,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -609895,7 +627997,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -609904,23 +628006,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7274": { + "7263": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7274, + "id": 7263, "inner": { "impl": { "blanket_impl": { @@ -609941,7 +628043,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -609985,7 +628087,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -610001,7 +628103,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -610010,23 +628112,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7275": { + "7264": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7275, + "id": 7264, "inner": { "impl": { "blanket_impl": { @@ -610047,7 +628149,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -610073,7 +628175,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -610105,23 +628207,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7276": { + "7265": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7276, + "id": 7265, "inner": { "impl": { "blanket_impl": { @@ -610142,7 +628244,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -610207,7 +628309,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -610232,23 +628334,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7277": { + "7266": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7277, + "id": 7266, "inner": { "impl": { "blanket_impl": { @@ -610269,7 +628371,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -610291,7 +628393,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -610316,23 +628418,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7278": { + "7267": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7278, + "id": 7267, "inner": { "impl": { "blanket_impl": { @@ -610353,7 +628455,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -610400,7 +628502,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -610418,8 +628520,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -610435,7 +628537,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -610444,23 +628546,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7279": { + "7268": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7279, + "id": 7268, "inner": { "impl": { "blanket_impl": { @@ -610481,7 +628583,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -610546,8 +628648,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -610563,7 +628665,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -610572,23 +628674,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7280": { + "7269": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7280, + "id": 7269, "inner": { "impl": { "blanket_impl": { @@ -610609,7 +628711,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -610656,12 +628758,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -610681,12 +628783,45 @@ }, "visibility": "default" }, - "7281": { + "727": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134915, is_soft: false}, feature: \"bstr\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 727, + "inner": { + "use": { + "id": 728, + "is_glob": false, + "name": "ByteStr", + "source": "alloc::bstr::ByteStr" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 4, + 23 + ], + "end": [ + 4, + 30 + ], + "filename": "std/src/bstr.rs" + }, + "visibility": "public" + }, + "7270": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7281, + "id": 7270, "inner": { "impl": { "blanket_impl": { @@ -610707,7 +628842,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -610733,7 +628868,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -610760,7 +628895,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -610769,30 +628904,28 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7282": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], + "7271": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7282, + "id": 7271, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -610808,7 +628941,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -610816,19 +628949,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -610836,17 +628957,52 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 434 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 161, + "path": "ToString" } } }, @@ -610854,27 +629010,28 @@ "name": null, "span": { "begin": [ - 316, + 2866, 1 ], "end": [ - 316, - 43 + 2866, + 46 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "7283": { + "7272": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7283, + "id": 7272, "inner": { "impl": { "blanket_impl": null, @@ -610893,7 +629050,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -610901,19 +629058,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -610930,8 +629075,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 442, + "path": "StructuralPartialEq" } } }, @@ -610939,27 +629084,115 @@ "name": null, "span": { "begin": [ - 318, - 1 + 9, + 10 ], "end": [ - 318, - 43 + 9, + 19 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "default" }, - "7284": { + "7273": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7284, + "id": 7273, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7255, + "path": "SendTimeoutError" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "eq", + "span": { + "begin": [ + 9, + 10 + ], + "end": [ + 9, + 19 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "default" + }, + "7274": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7274, "inner": { "impl": { "blanket_impl": null, @@ -610978,7 +629211,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -610986,7 +629219,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 121, + "path": "$crate::cmp::PartialEq" + } + } + } + ], "default": null, "is_synthetic": false } @@ -610999,12 +629244,16 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], - "provided_trait_methods": [], + "items": [ + 7273 + ], + "provided_trait_methods": [ + "ne" + ], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 121, + "path": "PartialEq" } } }, @@ -611012,27 +629261,28 @@ "name": null, "span": { "begin": [ - 321, - 1 + 9, + 10 ], "end": [ - 321, - 36 + 9, + 19 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "default" }, - "7285": { + "7275": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7285, + "id": 7275, "inner": { "impl": { "blanket_impl": null, @@ -611051,7 +629301,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -611059,7 +629309,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "$crate::cmp::Eq" + } + } + } + ], "default": null, "is_synthetic": false } @@ -611073,11 +629335,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [], - "provided_trait_methods": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" + ], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 111, + "path": "Eq" } } }, @@ -611085,23 +629349,27 @@ "name": null, "span": { "begin": [ - 323, - 1 + 9, + 21 ], "end": [ - 323, - 39 + 9, + 23 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "default" }, - "7286": { - "attrs": [], + "7276": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7286, + "id": 7276, "inner": { "function": { "generics": { @@ -611121,7 +629389,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -611131,35 +629399,53 @@ ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7255, + "path": "SendTimeoutError" + } + } } } }, "links": {}, - "name": "drop", + "name": "clone", "span": { "begin": [ - 629, - 5 + 9, + 25 ], "end": [ - 637, - 6 + 9, + 30 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "default" }, - "7287": { + "7277": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7287, + "id": 7277, "inner": { "impl": { "blanket_impl": null, @@ -611178,7 +629464,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -611186,7 +629472,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "$crate::clone::Clone" + } + } + } + ], "default": null, "is_synthetic": false } @@ -611200,13 +629498,101 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7286 + 7276 + ], + "provided_trait_methods": [ + "clone_from" ], + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 9, + 25 + ], + "end": [ + 9, + 30 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "default" + }, + "7278": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7278, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7255, + "path": "SendTimeoutError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 101, + "path": "$crate::marker::Copy" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 9, - "path": "Drop" + "id": 101, + "path": "Copy" } } }, @@ -611214,23 +629600,23 @@ "name": null, "span": { "begin": [ - 628, - 1 + 9, + 32 ], "end": [ - 638, - 2 + 9, + 36 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "default" }, - "7288": { + "7279": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7288, + "id": 7279, "inner": { "function": { "generics": { @@ -611257,31 +629643,60 @@ } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, "links": {}, - "name": "clone", + "name": "fmt", "span": { "begin": [ - 642, + 24, 5 ], "end": [ - 650, + 26, 6 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "default" }, - "7289": { + "7280": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -611290,7 +629705,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7289, + "id": 7280, "inner": { "impl": { "blanket_impl": null, @@ -611309,7 +629724,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -611331,15 +629746,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7288 - ], - "provided_trait_methods": [ - "clone_from" + 7279 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 344, + "path": "Debug" } } }, @@ -611347,56 +629760,23 @@ "name": null, "span": { "begin": [ - 641, + 23, 1 ], "end": [ - 651, + 27, 2 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "default" }, - "729": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134915, is_soft: false}, feature: \"bstr\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 729, - "inner": { - "use": { - "id": 730, - "is_glob": false, - "name": "ByteString", - "source": "alloc::bstr::ByteString" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 4, - 32 - ], - "end": [ - 4, - 42 - ], - "filename": "std/src/bstr.rs" - }, - "visibility": "public" - }, - "7290": { + "7281": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7290, + "id": 7281, "inner": { "function": { "generics": { @@ -611442,7 +629822,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -611454,7 +629834,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -611465,18 +629845,18 @@ "name": "fmt", "span": { "begin": [ - 655, + 31, 5 ], "end": [ - 657, + 36, 6 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "default" }, - "7291": { + "7282": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -611485,7 +629865,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7291, + "id": 7282, "inner": { "impl": { "blanket_impl": null, @@ -611504,7 +629884,7 @@ } }, "id": 7255, - "path": "Sender" + "path": "SendTimeoutError" } }, "generics": { @@ -611526,13 +629906,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7290 + 7281 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 436, + "path": "Display" } } }, @@ -611540,18 +629920,18 @@ "name": null, "span": { "begin": [ - 654, + 30, 1 ], "end": [ - 658, + 37, 2 ], - "filename": "std/src/sync/mpmc/mod.rs" + "filename": "std/src/sync/mpmc/error.rs" }, "visibility": "default" }, - "7293": { + "7283": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -611559,8 +629939,83 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to receive a message from the channel without blocking.\n\nThis method will never block the caller in order to wait for data to\nbecome available. Instead, this will always return immediately with a\npossible option of pending data on the channel.\n\nIf called on a zero-capacity channel, this method will receive a message only if there\nhappens to be a send operation on the other side of the channel at the same time.\n\nThis is useful for a flavor of \"optimistic check\" before deciding to\nblock on a receiver.\n\nCompared with [`recv`], this function has two failure cases instead of one\n(one for disconnection, one for an empty buffer).\n\n[`recv`]: Self::recv\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::{Receiver, channel};\n\nlet (_, receiver): (_, Receiver) = channel();\n\nassert!(receiver.try_recv().is_err());\n```", - "id": 7293, + "docs": null, + "id": 7283, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7255, + "path": "SendTimeoutError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "source", + "type_id", + "description", + "cause", + "provide" + ], + "trait": { + "args": null, + "id": 450, + "path": "Error" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 40, + 1 + ], + "end": [ + 40, + 48 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "default" + }, + "7284": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7284, "inner": { "function": { "generics": { @@ -611577,14 +630032,23 @@ "sig": { "inputs": [ [ - "self", + "err", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } } ] @@ -611599,40 +630063,329 @@ "type": { "generic": "T" } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 7209, - "path": "TryRecvError" - } - } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 7255, + "path": "SendTimeoutError" } } } } }, - "links": { - "Self::recv": 7259 - }, - "name": "try_recv", + "links": {}, + "name": "from", "span": { "begin": [ - 915, + 44, 5 ], "end": [ - 921, + 48, 6 ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "default" + }, + "7285": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7285, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7255, + "path": "SendTimeoutError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7284 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" + } + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 43, + 1 + ], + "end": [ + 49, + 2 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": "default" + }, + "7286": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7286, + "inner": { + "module": { + "is_crate": false, + "is_stripped": true, + "items": [ + 7240, + 7242, + 7244, + 7246, + 7248, + 7255 + ] + } + }, + "links": {}, + "name": "error", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 49, + 2 + ], + "filename": "std/src/sync/mpmc/error.rs" + }, + "visibility": { + "restricted": { + "parent": 7287, + "path": "::sync::mpmc" + } + } + }, + "7287": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Multi-producer, multi-consumer FIFO queue communication primitives.\n\nThis module provides message-based communication over channels, concretely\ndefined by two types:\n\n* [`Sender`]\n* [`Receiver`]\n\n[`Sender`]s are used to send data to a set of [`Receiver`]s. Both\nsender and receiver are cloneable (multi-producer) such that many threads can send\nsimultaneously to receivers (multi-consumer).\n\nThese channels come in two flavors:\n\n1. An asynchronous, infinitely buffered channel. The [`channel`] function\n will return a `(Sender, Receiver)` tuple where all sends will be\n **asynchronous** (they never block). The channel conceptually has an\n infinite buffer.\n\n2. A synchronous, bounded channel. The [`sync_channel`] function will\n return a `(Sender, Receiver)` tuple where the storage for pending\n messages is a pre-allocated buffer of a fixed size. All sends will be\n **synchronous** by blocking until there is buffer space available. Note\n that a bound of 0 is allowed, causing the channel to become a \"rendezvous\"\n channel where each sender atomically hands off a message to a receiver.\n\n[`send`]: Sender::send\n\n## Disconnection\n\nThe send and receive operations on channels will all return a [`Result`]\nindicating whether the operation succeeded or not. An unsuccessful operation\nis normally indicative of the other half of a channel having \"hung up\" by\nbeing dropped in its corresponding thread.\n\nOnce half of a channel has been deallocated, most operations can no longer\ncontinue to make progress, so [`Err`] will be returned. Many applications\nwill continue to [`unwrap`] the results returned from this module,\ninstigating a propagation of failure among threads if one unexpectedly dies.\n\n[`unwrap`]: Result::unwrap\n\n# Examples\n\nSimple usage:\n\n```\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::sync::mpmc::channel;\n\n// Create a simple streaming channel\nlet (tx, rx) = channel();\nthread::spawn(move || {\n tx.send(10).unwrap();\n});\nassert_eq!(rx.recv().unwrap(), 10);\n```\n\nShared usage:\n\n```\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::sync::mpmc::channel;\n\nthread::scope(|s| {\n // Create a shared channel that can be sent along from many threads\n // where tx is the sending half (tx for transmission), and rx is the receiving\n // half (rx for receiving).\n let (tx, rx) = channel();\n for i in 0..10 {\n let tx = tx.clone();\n s.spawn(move || {\n tx.send(i).unwrap();\n });\n }\n\n for _ in 0..5 {\n let rx1 = rx.clone();\n let rx2 = rx.clone();\n s.spawn(move || {\n let j = rx1.recv().unwrap();\n assert!(0 <= j && j < 10);\n });\n s.spawn(move || {\n let j = rx2.recv().unwrap();\n assert!(0 <= j && j < 10);\n });\n }\n})\n```\n\nPropagating panics:\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\n\n// The call to recv() will return an error because the channel has already\n// hung up (or been deallocated)\nlet (tx, rx) = channel::();\ndrop(tx);\nassert!(rx.recv().is_err());\n```", + "id": 7287, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 7298, + 7296, + 7293, + 7294, + 7343, + 7335, + 7362, + 7436 + ] + } + }, + "links": { + "Result::unwrap": 471, + "Sender::send": 7295, + "`Err`": 59, + "`Receiver`": 7294, + "`Result`": 57, + "`Sender`": 7293, + "`channel`": 7298, + "`sync_channel`": 7296 + }, + "name": "mpmc", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 1387, + 11 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" + }, + "729": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134915, is_soft: false}, feature: \"bstr\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 729, + "inner": { + "use": { + "id": 730, + "is_glob": false, + "name": "ByteString", + "source": "alloc::bstr::ByteString" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 4, + 32 + ], + "end": [ + 4, + 42 + ], + "filename": "std/src/bstr.rs" + }, + "visibility": "public" + }, + "7293": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The sending-half of Rust's synchronous [`channel`] type.\n\nMessages can be sent through this channel with [`send`].\n\nNote: all senders (the original and its clones) need to be dropped for the receiver\nto stop blocking to receive messages with [`Receiver::recv`].\n\n[`send`]: Sender::send\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\n\nlet (sender, receiver) = channel();\nlet sender2 = sender.clone();\n\n// First thread owns sender\nthread::spawn(move || {\n sender.send(1).unwrap();\n});\n\n// Second thread owns sender2\nthread::spawn(move || {\n sender2.send(2).unwrap();\n});\n\nlet msg = receiver.recv().unwrap();\nlet msg2 = receiver.recv().unwrap();\n\nassert_eq!(3, msg + msg2);\n```", + "id": 7293, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 7301, + 7308, + 7309, + 7310, + 7311, + 7312, + 7313, + 7314, + 7315, + 7316, + 7317, + 7318, + 7319, + 7320, + 7321, + 7322, + 7323, + 7325, + 7327, + 7329 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "Sender::send": 7295, + "`Receiver::recv`": 7297, + "`channel`": 7298 + }, + "name": "Sender", + "span": { + "begin": [ + 299, + 1 + ], + "end": [ + 301, + 2 + ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" @@ -611645,8 +630398,87 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up, or if it waits more than `timeout`.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent (at least one sender\nstill exists). Once a message is sent to the corresponding [`Sender`],\nthis receiver will wake up and return that message.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\nSuccessfully receiving value before encountering timeout:\n\n```no_run\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::time::Duration;\nuse std::sync::mpmc;\n\nlet (send, recv) = mpmc::channel();\n\nthread::spawn(move || {\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_timeout(Duration::from_millis(400)),\n Ok('a')\n);\n```\n\nReceiving an error upon reaching timeout:\n\n```no_run\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::time::Duration;\nuse std::sync::mpmc;\n\nlet (send, recv) = mpmc::channel();\n\nthread::spawn(move || {\n thread::sleep(Duration::from_millis(800));\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_timeout(Duration::from_millis(400)),\n Err(mpmc::RecvTimeoutError::Timeout)\n);\n```", + "docs": "The receiving half of Rust's [`channel`] (or [`sync_channel`]) type.\nDifferent threads can share this [`Receiver`] by cloning it.\n\nMessages sent to the channel can be retrieved using [`recv`].\n\n[`recv`]: Receiver::recv\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (send, recv) = channel();\n\nlet tx_thread = thread::spawn(move || {\n send.send(\"Hello world!\").unwrap();\n thread::sleep(Duration::from_secs(2)); // block for two seconds\n send.send(\"Delayed for 2 seconds\").unwrap();\n});\n\nlet (rx1, rx2) = (recv.clone(), recv.clone());\nlet rx_thread_1 = thread::spawn(move || {\n println!(\"{}\", rx1.recv().unwrap()); // Received immediately\n});\nlet rx_thread_2 = thread::spawn(move || {\n println!(\"{}\", rx2.recv().unwrap()); // Received after 2 seconds\n});\n\ntx_thread.join().unwrap();\nrx_thread_1.join().unwrap();\nrx_thread_2.join().unwrap();\n```", "id": 7294, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 7336, + 7344, + 7345, + 7346, + 7347, + 7348, + 7349, + 7350, + 7351, + 7352, + 7353, + 7354, + 7355, + 7359, + 7364, + 7365, + 7366, + 7367, + 7368, + 7370, + 7372, + 7374 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "Receiver::recv": 7297, + "`Receiver`": 7294, + "`channel`": 7298, + "`sync_channel`": 7296 + }, + "name": "Receiver", + "span": { + "begin": [ + 697, + 1 + ], + "end": [ + 699, + 2 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" + }, + "7295": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to send a value on this channel, returning it back if it could\nnot be sent.\n\nA successful send occurs when it is determined that the other end of\nthe channel has not hung up already. An unsuccessful send would be one\nwhere the corresponding receiver has already been deallocated. Note\nthat a return value of [`Err`] means that the data will never be\nreceived, but a return value of [`Ok`] does *not* mean that the data\nwill be received. It is possible for the corresponding receiver to\nhang up immediately after this function returns [`Ok`]. However, if\nthe channel is zero-capacity, it acts as a rendezvous channel and a\nreturn value of [`Ok`] means that the data has been received.\n\nIf the channel is full and not disconnected, this call will block until\nthe send operation can proceed. If the channel becomes disconnected,\nthis call will wake up and return an error. The returned error contains\nthe original message.\n\nIf called on a zero-capacity channel, this method will wait for a receive\noperation to appear on the other side of the channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\n\nlet (tx, rx) = channel();\n\n// This send is always successful\ntx.send(1).unwrap();\n\n// This send will fail because the receiver is gone\ndrop(rx);\nassert!(tx.send(1).is_err());\n```", + "id": 7295, "inner": { "function": { "generics": { @@ -611675,13 +630507,9 @@ } ], [ - "timeout", + "msg", { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "generic": "T" } ] ], @@ -611693,15 +630521,26 @@ "args": [ { "type": { - "generic": "T" + "tuple": [] } }, { "type": { "resolved_path": { - "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } } } @@ -611718,36 +630557,52 @@ }, "links": { "`Err`": 59, - "`Sender`": 7255 + "`Ok`": 61 }, - "name": "recv_timeout", + "name": "send", "span": { "begin": [ - 1049, + 392, 5 ], "end": [ - 1055, + 402, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7295": { + "7296": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up, or if `deadline` is reached.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent. Once a message is\nsent to the corresponding [`Sender`], then this receiver will wake up\nand return that message.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\nSuccessfully receiving value before reaching deadline:\n\n```no_run\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::time::{Duration, Instant};\nuse std::sync::mpmc;\n\nlet (send, recv) = mpmc::channel();\n\nthread::spawn(move || {\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_deadline(Instant::now() + Duration::from_millis(400)),\n Ok('a')\n);\n```\n\nReceiving an error upon reaching deadline:\n\n```no_run\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::time::{Duration, Instant};\nuse std::sync::mpmc;\n\nlet (send, recv) = mpmc::channel();\n\nthread::spawn(move || {\n thread::sleep(Duration::from_millis(800));\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_deadline(Instant::now() + Duration::from_millis(400)),\n Err(mpmc::RecvTimeoutError::Timeout)\n);\n```", - "id": 7295, + "docs": "Creates a new synchronous, bounded channel.\n\nAll data sent on the [`Sender`] will become available on the [`Receiver`]\nin the same order as it was sent. Like asynchronous [`channel`]s, the\n[`Receiver`] will block until a message becomes available. `sync_channel`\ndiffers greatly in the semantics of the sender, however.\n\nThis channel has an internal buffer on which messages will be queued.\n`bound` specifies the buffer size. When the internal buffer becomes full,\nfuture sends will *block* waiting for the buffer to open up. Note that a\nbuffer size of 0 is valid, in which case this becomes \"rendezvous channel\"\nwhere each [`send`] will not return until a [`recv`] is paired with it.\n\nThe [`Sender`] can be cloned to [`send`] to the same channel multiple\ntimes. The [`Receiver`] also can be cloned to have multi receivers.\n\nLike asynchronous channels, if the [`Receiver`] is disconnected while trying\nto [`send`] with the [`Sender`], the [`send`] method will return a\n[`SendError`]. Similarly, If the [`Sender`] is disconnected while trying\nto [`recv`], the [`recv`] method will return a [`RecvError`].\n\n[`send`]: Sender::send\n[`recv`]: Receiver::recv\n\n# Examples\n\n```\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\nlet (sender, receiver) = sync_channel(1);\n\n// this returns immediately\nsender.send(1).unwrap();\n\nthread::spawn(move || {\n // this will block until the previous message has been received\n sender.send(2).unwrap();\n});\n\nassert_eq!(receiver.recv().unwrap(), 1);\nassert_eq!(receiver.recv().unwrap(), 2);\n```", + "id": 7296, "inner": { "function": { "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "has_body": true, @@ -611760,78 +630615,80 @@ "sig": { "inputs": [ [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "deadline", + "cap", { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "tuple": [ + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 7293, + "path": "Sender" } }, - "id": 57, - "path": "Result" - } + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7294, + "path": "Receiver" + } + } + ] } } } }, "links": { - "`Err`": 59, - "`Sender`": 7255 + "Receiver::recv": 7297, + "Sender::send": 7295, + "`Receiver`": 7294, + "`RecvError`": 7241, + "`SendError`": 7245, + "`Sender`": 7293, + "`channel`": 7298 }, - "name": "recv_deadline", + "name": "sync_channel", "span": { "begin": [ - 1116, - 5 + 249, + 1 ], "end": [ - 1122, - 6 + 261, + 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7296": { + "7297": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -611839,8 +630696,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that will attempt to yield all pending values.\nIt will return `None` if there are no more pending values or if the\nchannel has hung up. The iterator will never [`panic!`] or block the\nuser by waiting for values.\n\n# Examples\n\n```no_run\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (sender, receiver) = channel();\n\n// nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\n\nthread::spawn(move || {\n thread::sleep(Duration::from_secs(1));\n sender.send(1).unwrap();\n sender.send(2).unwrap();\n sender.send(3).unwrap();\n});\n\n// nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\n\n// block for two seconds\nthread::sleep(Duration::from_secs(2));\n\nlet mut iter = receiver.try_iter();\nassert_eq!(iter.next(), Some(1));\nassert_eq!(iter.next(), Some(2));\nassert_eq!(iter.next(), Some(3));\nassert_eq!(iter.next(), None);\n```", - "id": 7296, + "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent (at least one sender\nstill exists). Once a message is sent to the corresponding [`Sender`],\nthis receiver will wake up and return that message.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, recv) = mpmc::channel();\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(Ok(1), recv.recv());\n```\n\nBuffering behavior:\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\nuse std::sync::mpmc::RecvError;\n\nlet (send, recv) = mpmc::channel();\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2).unwrap();\n send.send(3).unwrap();\n drop(send);\n});\n\n// wait for the thread to join so we ensure the sender is dropped\nhandle.join().unwrap();\n\nassert_eq!(Ok(1), recv.recv());\nassert_eq!(Ok(2), recv.recv());\nassert_eq!(Ok(3), recv.recv());\nassert_eq!(Err(RecvError), recv.recv());\n```", + "id": 7297, "inner": { "function": { "generics": { @@ -611876,71 +630733,71 @@ "angle_bracketed": { "args": [ { - "lifetime": "'_" + "type": { + "generic": "T" + } }, { "type": { - "generic": "T" + "resolved_path": { + "args": null, + "id": 7241, + "path": "RecvError" + } } } ], "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 57, + "path": "Result" } } } } }, "links": { - "`panic!`": 492 + "`Err`": 59, + "`Sender`": 7293 }, - "name": "try_iter", + "name": "recv", "span": { "begin": [ - 1163, + 981, 5 ], "end": [ - 1165, + 988, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7297": { + "7298": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "An iterator that attempts to yield all pending values for a [`Receiver`],\ncreated by [`try_iter`].\n\n[`None`] will be returned when there are no pending values remaining or\nif the corresponding channel has hung up.\n\nThis iterator will never block the caller in order to wait for data to\nbecome available. Instead, it will return [`None`].\n\n[`try_iter`]: Receiver::try_iter\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (sender, receiver) = channel();\n\n// Nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\nprintln!(\"Nothing in the buffer...\");\n\nthread::spawn(move || {\n sender.send(1).unwrap();\n sender.send(2).unwrap();\n sender.send(3).unwrap();\n});\n\nprintln!(\"Going to sleep...\");\nthread::sleep(Duration::from_secs(2)); // block for two seconds\n\nfor x in receiver.try_iter() {\n println!(\"Got: {x}\");\n}\n```", - "id": 7297, + "docs": "Creates a new asynchronous channel, returning the sender/receiver halves.\n\nAll data sent on the [`Sender`] will become available on the [`Receiver`] in\nthe same order as it was sent, and no [`send`] will block the calling thread\n(this channel has an \"infinite buffer\", unlike [`sync_channel`], which will\nblock after its buffer limit is reached). [`recv`] will block until a message\nis available while there is at least one [`Sender`] alive (including clones).\n\nThe [`Sender`] can be cloned to [`send`] to the same channel multiple times.\nThe [`Receiver`] also can be cloned to have multi receivers.\n\nIf the [`Receiver`] is disconnected while trying to [`send`] with the\n[`Sender`], the [`send`] method will return a [`SendError`]. Similarly, if the\n[`Sender`] is disconnected while trying to [`recv`], the [`recv`] method will\nreturn a [`RecvError`].\n\n[`send`]: Sender::send\n[`recv`]: Receiver::recv\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\n\nlet (sender, receiver) = channel();\n\n// Spawn off an expensive computation\nthread::spawn(move || {\n# fn expensive_computation() {}\n sender.send(expensive_computation()).unwrap();\n});\n\n// Do some useful work for a while\n\n// Let's see what that answer was\nprintln!(\"{:?}\", receiver.recv().unwrap());\n```", + "id": 7298, "inner": { - "struct": { + "function": { "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { - "bounds": [ - { - "outlives": "'a" - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -611950,57 +630807,189 @@ ], "where_predicates": [] }, - "impls": [ - 7359, - 7360, - 7361, - 7362, - 7363, - 7364, - 7365, - 7366, - 7367, - 7368, - 7369, - 7370, - 7371, - 7372, - 7374, - 7377 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7293, + "path": "Sender" + } + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7294, + "path": "Receiver" + } + } + ] } } } }, "links": { - "Receiver::try_iter": 7296, - "`None`": 53, - "`Receiver`": 7256 + "Receiver::recv": 7297, + "Sender::send": 7295, + "`Receiver`": 7294, + "`RecvError`": 7241, + "`SendError`": 7245, + "`Sender`": 7293, + "`sync_channel`": 7296 }, - "name": "TryIter", + "name": "channel", "span": { "begin": [ - 777, + 197, 1 ], "end": [ - 779, + 202, 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7298": { + "7300": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to send a message into the channel without blocking.\n\nThis method will either send a message into the channel immediately or return an error if\nthe channel is full or disconnected. The returned error contains the original message.\n\nIf called on a zero-capacity channel, this method will send the message only if there\nhappens to be a receive operation on the other side of the channel at the same time.\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::{channel, Receiver, Sender};\n\nlet (sender, _receiver): (Sender, Receiver) = channel();\n\nassert!(sender.try_send(1).is_ok());\n```", + "id": 7300, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "msg", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + }, + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": {}, + "name": "try_send", + "span": { + "begin": [ + 346, + 5 + ], + "end": [ + 352, + 6 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" + }, + "7301": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7298, + "id": 7301, "inner": { "impl": { "blanket_impl": null, @@ -612018,8 +631007,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -612041,11 +631030,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7293, - 7259, - 7294, - 7295, - 7296 + 7300, + 7295 ], "provided_trait_methods": [], "trait": null @@ -612055,18 +631041,18 @@ "name": null, "span": { "begin": [ - 885, + 325, 1 ], "end": [ - 1166, + 403, 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7299": { + "7302": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -612074,8 +631060,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the channel is empty.\n\nNote: Zero-capacity channels are always empty.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, recv) = mpmc::channel();\n\nassert!(recv.is_empty());\n\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert!(!recv.is_empty());\n```", - "id": 7299, + "docs": "Waits for a message to be sent into the channel, but only until a given deadline.\n\nIf the channel is full and not disconnected, this call will block until the send operation\ncan proceed or the operation times out. If the channel becomes disconnected, this call will\nwake up and return an error. The returned error contains the original message.\n\nIf called on a zero-capacity channel, this method will wait for a receive operation to\nappear on the other side of the channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::time::{Duration, Instant};\n\nlet (tx, rx) = channel();\n\nlet t = Instant::now() + Duration::from_millis(400);\ntx.send_deadline(1, t).unwrap();\n```", + "id": 7302, "inner": { "function": { "generics": { @@ -612102,31 +631088,82 @@ } } } + ], + [ + "msg", + { + "generic": "T" + } + ], + [ + "deadline", + { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + }, + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7255, + "path": "SendTimeoutError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "is_empty", + "name": "send_deadline", "span": { "begin": [ - 1194, + 459, 5 ], "end": [ - 1200, + 465, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7300": { + "7303": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -612134,8 +631171,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the channel is full.\n\nNote: Zero-capacity channels are always full.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, recv) = mpmc::sync_channel(1);\n\nassert!(!recv.is_full());\n\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert!(recv.is_full());\n```", - "id": 7300, + "docs": "Returns `true` if the channel is empty.\n\nNote: Zero-capacity channels are always empty.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, _recv) = mpmc::channel();\n\nlet tx1 = send.clone();\nlet tx2 = send.clone();\n\nassert!(tx1.is_empty());\n\nlet handle = thread::spawn(move || {\n tx2.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert!(!tx1.is_empty());\n```", + "id": 7303, "inner": { "function": { "generics": { @@ -612172,21 +631209,21 @@ } }, "links": {}, - "name": "is_full", + "name": "is_empty", "span": { "begin": [ - 1227, + 495, 5 ], "end": [ - 1233, + 501, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7301": { + "7304": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -612194,8 +631231,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the number of messages in the channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, recv) = mpmc::channel();\n\nassert_eq!(recv.len(), 0);\n\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(recv.len(), 1);\n```", - "id": 7301, + "docs": "Returns `true` if the channel is full.\n\nNote: Zero-capacity channels are always full.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, _recv) = mpmc::sync_channel(1);\n\nlet (tx1, tx2) = (send.clone(), send.clone());\nassert!(!tx1.is_full());\n\nlet handle = thread::spawn(move || {\n tx2.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert!(tx1.is_full());\n```", + "id": 7304, "inner": { "function": { "generics": { @@ -612226,27 +631263,27 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "bool" } } } }, "links": {}, - "name": "len", + "name": "is_full", "span": { "begin": [ - 1258, + 529, 5 ], "end": [ - 1264, + 535, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7302": { + "7305": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -612254,8 +631291,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "If the channel is bounded, returns its capacity.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, recv) = mpmc::sync_channel(3);\n\nassert_eq!(recv.capacity(), Some(3));\n\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(recv.capacity(), Some(3));\n```", - "id": 7302, + "docs": "Returns the number of messages in the channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, _recv) = mpmc::channel();\nlet (tx1, tx2) = (send.clone(), send.clone());\n\nassert_eq!(tx1.len(), 0);\n\nlet handle = thread::spawn(move || {\n tx2.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(tx1.len(), 1);\n```", + "id": 7305, "inner": { "function": { "generics": { @@ -612286,42 +631323,27 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "usize" } } } }, "links": {}, - "name": "capacity", + "name": "len", "span": { "begin": [ - 1289, + 561, 5 ], "end": [ - 1295, + 567, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7303": { + "7306": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -612329,8 +631351,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if receivers belong to the same channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\n\nlet (_, rx1) = mpmc::channel::();\nlet (_, rx2) = mpmc::channel::();\n\nassert!(rx1.same_channel(&rx1));\nassert!(!rx1.same_channel(&rx2));\n```", - "id": 7303, + "docs": "If the channel is bounded, returns its capacity.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, _recv) = mpmc::sync_channel(3);\nlet (tx1, tx2) = (send.clone(), send.clone());\n\nassert_eq!(tx1.capacity(), Some(3));\n\nlet handle = thread::spawn(move || {\n tx2.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(tx1.capacity(), Some(3));\n```", + "id": 7306, "inner": { "function": { "generics": { @@ -612357,58 +631379,46 @@ } } } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7256, - "path": "Receiver" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "same_channel", + "name": "capacity", "span": { "begin": [ - 1313, + 593, 5 ], "end": [ - 1320, + 599, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7304": { + "7307": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -612416,8 +631426,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that will block waiting for messages, but never\n[`panic!`]. It will return [`None`] when the channel has hung up.\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1).unwrap();\n send.send(2).unwrap();\n send.send(3).unwrap();\n});\n\nlet mut iter = recv.iter();\nassert_eq!(iter.next(), Some(1));\nassert_eq!(iter.next(), Some(2));\nassert_eq!(iter.next(), Some(3));\nassert_eq!(iter.next(), None);\n```", - "id": 7304, + "docs": "Returns `true` if senders belong to the same channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\n\nlet (tx1, _) = mpmc::channel::();\nlet (tx2, _) = mpmc::channel::();\n\nassert!(tx1.same_channel(&tx1));\nassert!(!tx1.same_channel(&tx2));\n```", + "id": 7307, "inner": { "function": { "generics": { @@ -612444,142 +631454,63 @@ } } } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7293, + "path": "Sender" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7305, - "path": "Iter" - } + "primitive": "bool" } } } }, - "links": { - "`None`": 53, - "`panic!`": 492 - }, - "name": "iter", + "links": {}, + "name": "same_channel", "span": { "begin": [ - 1348, + 617, 5 ], "end": [ - 1350, + 624, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "public" }, - "7305": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An iterator over messages on a [`Receiver`], created by [`iter`].\n\nThis iterator will block whenever [`next`] is called,\nwaiting for a new message, and [`None`] will be returned\nwhen the corresponding channel has hung up.\n\n[`iter`]: Receiver::iter\n[`next`]: Iterator::next\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2u8).unwrap();\n send.send(3u8).unwrap();\n});\n\nfor x in recv.iter() {\n println!(\"Got: {x}\");\n}\n```", - "id": 7305, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "impls": [ - 7339, - 7340, - 7341, - 7342, - 7343, - 7344, - 7345, - 7346, - 7347, - 7348, - 7349, - 7350, - 7351, - 7352, - 7354, - 7357 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "Iterator::next": 7338, - "Receiver::iter": 7304, - "`None`": 53, - "`Receiver`": 7256 - }, - "name": "Iter", - "span": { - "begin": [ - 732, - 1 - ], - "end": [ - 734, - 2 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "public" - }, - "7306": { + "7308": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7306, + "id": 7308, "inner": { "impl": { "blanket_impl": null, @@ -612597,8 +631528,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -612620,12 +631551,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7299, - 7300, - 7301, + 7254, 7302, 7303, - 7304 + 7304, + 7305, + 7306, + 7307 ], "provided_trait_methods": [], "trait": null @@ -612635,23 +631567,23 @@ "name": null, "span": { "begin": [ - 1168, + 405, 1 ], "end": [ - 1351, + 625, 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7307": { + "7309": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7307, + "id": 7309, "inner": { "impl": { "blanket_impl": null, @@ -612669,8 +631601,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -612695,7 +631627,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -612705,12 +631637,47 @@ "span": null, "visibility": "default" }, - "7308": { + "731": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134915, is_soft: false}, feature: \"bstr\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The `ByteStr` and `ByteString` types and trait implementations.", + "id": 731, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 727, + 729 + ] + } + }, + "links": {}, + "name": "bstr", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 4, + 44 + ], + "filename": "std/src/bstr.rs" + }, + "visibility": "public" + }, + "7310": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7308, + "id": 7310, "inner": { "impl": { "blanket_impl": null, @@ -612728,8 +631695,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -612764,12 +631731,12 @@ "span": null, "visibility": "default" }, - "7309": { + "7311": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7309, + "id": 7311, "inner": { "impl": { "blanket_impl": { @@ -612789,8 +631756,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -612834,7 +631801,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -612850,7 +631817,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -612859,58 +631826,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "731": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134915, is_soft: false}, feature: \"bstr\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The `ByteStr` and `ByteString` types and trait implementations.", - "id": 731, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 727, - 729 - ] - } - }, - "links": {}, - "name": "bstr", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 4, - 44 - ], - "filename": "std/src/bstr.rs" - }, - "visibility": "public" - }, - "7310": { + "7312": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7310, + "id": 7312, "inner": { "impl": { "blanket_impl": { @@ -612930,8 +631862,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -612975,7 +631907,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -612991,7 +631923,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -613000,23 +631932,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7311": { + "7313": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7311, + "id": 7313, "inner": { "impl": { "blanket_impl": { @@ -613036,8 +631968,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -613063,7 +631995,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -613095,23 +632027,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7312": { + "7314": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7312, + "id": 7314, "inner": { "impl": { "blanket_impl": { @@ -613131,8 +632063,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -613197,7 +632129,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -613222,23 +632154,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7313": { + "7315": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7313, + "id": 7315, "inner": { "impl": { "blanket_impl": { @@ -613258,8 +632190,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -613281,7 +632213,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -613306,23 +632238,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7314": { + "7316": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7314, + "id": 7316, "inner": { "impl": { "blanket_impl": { @@ -613342,8 +632274,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -613390,7 +632322,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -613408,8 +632340,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -613425,7 +632357,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -613434,23 +632366,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7315": { + "7317": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7315, + "id": 7317, "inner": { "impl": { "blanket_impl": { @@ -613470,8 +632402,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -613536,8 +632468,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -613553,7 +632485,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -613562,23 +632494,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7316": { + "7318": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7316, + "id": 7318, "inner": { "impl": { "blanket_impl": { @@ -613598,8 +632530,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -613646,12 +632578,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -613671,12 +632603,12 @@ }, "visibility": "default" }, - "7317": { + "7319": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7317, + "id": 7319, "inner": { "impl": { "blanket_impl": { @@ -613696,8 +632628,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -613723,7 +632655,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -613750,7 +632682,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -613759,71 +632691,35 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7318": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7318, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "T" - } + "7320": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" } - }, - "links": {}, - "name": "Item", - "span": { - "begin": [ - 837, - 5 - ], - "end": [ - 837, - 19 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "default" - }, - "7319": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7319, + "id": 7320, "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { + "impl": { + "blanket_impl": null, + "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -613833,90 +632729,59 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7293, + "path": "Sender" } - } - } - }, - "links": {}, - "name": "IntoIter", - "span": { - "begin": [ - 838, - 5 - ], - "end": [ - 838, - 33 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "default" - }, - "7320": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7320, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ { - "type": { - "generic": "T" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } } ], - "constraints": [] + "default": null, + "is_synthetic": false } }, - "id": 7305, - "path": "Iter" + "name": "T" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, "links": {}, - "name": "into_iter", + "name": null, "span": { "begin": [ - 840, - 5 + 316, + 1 ], "end": [ - 842, - 6 + 316, + 43 ], "filename": "std/src/sync/mpmc/mod.rs" }, @@ -613936,43 +632801,41 @@ "impl": { "blanket_impl": null, "for": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - }, - "id": 7256, - "path": "Receiver" + ], + "constraints": [] } - } + }, + "id": 7293, + "path": "Sender" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], "default": null, "is_synthetic": false } @@ -613985,16 +632848,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7318, - 7319, - 7320 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 47, - "path": "IntoIterator" + "id": 5, + "path": "Sync" } } }, @@ -614002,64 +632861,104 @@ "name": null, "span": { "begin": [ - 836, + 318, 1 ], "end": [ - 843, - 2 + 318, + 43 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, "7322": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, "id": 7322, "inner": { - "assoc_type": { - "bounds": [], + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7293, + "path": "Sender" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "type": { - "generic": "T" + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, "links": {}, - "name": "Item", + "name": null, "span": { "begin": [ - 855, - 5 + 321, + 1 ], "end": [ - 855, - 19 + 321, + 36 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, "7323": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, "id": 7323, "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { + "impl": { + "blanket_impl": null, + "for": { "resolved_path": { "args": { "angle_bracketed": { @@ -614073,39 +632972,10 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7293, + "path": "Sender" } - } - } - }, - "links": {}, - "name": "IntoIter", - "span": { - "begin": [ - 856, - 5 - ], - "end": [ - 856, - 33 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "default" - }, - "7324": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An owning iterator over messages on a [`Receiver`],\ncreated by [`into_iter`].\n\nThis iterator will block whenever [`next`]\nis called, waiting for a new message, and [`None`] will be\nreturned if the corresponding channel has hung up.\n\n[`into_iter`]: Receiver::into_iter\n[`next`]: Iterator::next\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2u8).unwrap();\n send.send(3u8).unwrap();\n});\n\nfor x in recv.into_iter() {\n println!(\"Got: {x}\");\n}\n```", - "id": 7324, - "inner": { - "struct": { + }, "generics": { "params": [ { @@ -614121,58 +632991,39 @@ ], "where_predicates": [] }, - "impls": [ - 7379, - 7380, - 7381, - 7382, - 7383, - 7384, - 7385, - 7386, - 7387, - 7388, - 7389, - 7390, - 7391, - 7392, - 7394, - 7397 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, - "links": { - "Iterator::next": 7338, - "Receiver::into_iter": 7325, - "`None`": 53, - "`Receiver`": 7256 - }, - "name": "IntoIter", + "links": {}, + "name": null, "span": { "begin": [ - 813, + 323, 1 ], "end": [ - 815, - 2 + 323, + 39 ], "filename": "std/src/sync/mpmc/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "7325": { + "7324": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7325, + "id": 7324, "inner": { "function": { "generics": { @@ -614191,48 +633042,37 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7324, - "path": "IntoIter" - } - } + "output": null } } }, "links": {}, - "name": "into_iter", + "name": "drop", "span": { "begin": [ - 858, + 629, 5 ], "end": [ - 860, + 637, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7326": { + "7325": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -614241,7 +633081,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7326, + "id": 7325, "inner": { "impl": { "blanket_impl": null, @@ -614259,8 +633099,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -614282,15 +633122,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7322, - 7323, - 7325 + 7324 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 47, - "path": "IntoIterator" + "id": 9, + "path": "Drop" } } }, @@ -614298,17 +633136,73 @@ "name": null, "span": { "begin": [ - 854, + 628, 1 ], "end": [ - 861, + 638, 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, + "7326": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7326, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "clone", + "span": { + "begin": [ + 642, + 5 + ], + "end": [ + 650, + 6 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "default" + }, "7327": { "attrs": [ { @@ -614336,8 +633230,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -614345,19 +633239,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -614370,12 +633252,16 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], - "provided_trait_methods": [], + "items": [ + 7326 + ], + "provided_trait_methods": [ + "clone_from" + ], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 97, + "path": "Clone" } } }, @@ -614383,97 +633269,97 @@ "name": null, "span": { "begin": [ - 876, + 641, 1 ], "end": [ - 876, - 45 + 651, + 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, "7328": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": 7328, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "constraints": [] + } } - }, - "id": 7256, - "path": "Receiver" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - } + }, + "id": 341, + "path": "fmt::Formatter" } - ], - "default": null, - "is_synthetic": false + } } - }, - "name": "T" - } + } + ] ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } } } }, "links": {}, - "name": null, + "name": "fmt", "span": { "begin": [ - 878, - 1 + 655, + 5 ], "end": [ - 878, - 45 + 657, + 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, @@ -614506,8 +633392,8 @@ "constraints": [] } }, - "id": 7256, - "path": "Receiver" + "id": 7293, + "path": "Sender" } }, "generics": { @@ -614528,12 +633414,14 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7328 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 344, + "path": "Debug" } } }, @@ -614541,12 +633429,12 @@ "name": null, "span": { "begin": [ - 881, + 654, 1 ], "end": [ - 881, - 38 + 658, + 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, @@ -614560,45 +633448,45 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Collection types.\n\nRust's standard collection library provides efficient implementations of the\nmost common general purpose programming data structures. By using the\nstandard implementations, it should be possible for two libraries to\ncommunicate without significant data conversion.\n\nTo get this out of the way: you should probably just use [`Vec`] or [`HashMap`].\nThese two collections cover most use cases for generic data storage and\nprocessing. They are exceptionally good at doing what they do. All the other\ncollections in the standard library have specific use cases where they are\nthe optimal choice, but these cases are borderline *niche* in comparison.\nEven when `Vec` and `HashMap` are technically suboptimal, they're probably a\ngood enough choice to get started.\n\nRust's collections can be grouped into four major categories:\n\n* Sequences: [`Vec`], [`VecDeque`], [`LinkedList`]\n* Maps: [`HashMap`], [`BTreeMap`]\n* Sets: [`HashSet`], [`BTreeSet`]\n* Misc: [`BinaryHeap`]\n\n# When Should You Use Which Collection?\n\nThese are fairly high-level and quick break-downs of when each collection\nshould be considered. Detailed discussions of strengths and weaknesses of\nindividual collections can be found on their own documentation pages.\n\n### Use a `Vec` when:\n* You want to collect items up to be processed or sent elsewhere later, and\n don't care about any properties of the actual values being stored.\n* You want a sequence of elements in a particular order, and will only be\n appending to (or near) the end.\n* You want a stack.\n* You want a resizable array.\n* You want a heap-allocated array.\n\n### Use a `VecDeque` when:\n* You want a [`Vec`] that supports efficient insertion at both ends of the\n sequence.\n* You want a queue.\n* You want a double-ended queue (deque).\n\n### Use a `LinkedList` when:\n* You want a [`Vec`] or [`VecDeque`] of unknown size, and can't tolerate\n amortization.\n* You want to efficiently split and append lists.\n* You are *absolutely* certain you *really*, *truly*, want a doubly linked\n list.\n\n### Use a `HashMap` when:\n* You want to associate arbitrary keys with an arbitrary value.\n* You want a cache.\n* You want a map, with no extra functionality.\n\n### Use a `BTreeMap` when:\n* You want a map sorted by its keys.\n* You want to be able to get a range of entries on-demand.\n* You're interested in what the smallest or largest key-value pair is.\n* You want to find the largest or smallest key that is smaller or larger\n than something.\n\n### Use the `Set` variant of any of these `Map`s when:\n* You just want to remember which keys you've seen.\n* There is no meaningful value to associate with your keys.\n* You just want a set.\n\n### Use a `BinaryHeap` when:\n\n* You want to store a bunch of elements, but only ever want to process the\n \"biggest\" or \"most important\" one at any given time.\n* You want a priority queue.\n\n# Performance\n\nChoosing the right collection for the job requires an understanding of what\neach collection is good at. Here we briefly summarize the performance of\ndifferent collections for certain important operations. For further details,\nsee each type's documentation, and note that the names of actual methods may\ndiffer from the tables below on certain collections.\n\nThroughout the documentation, we will adhere to the following conventions\nfor operation notation:\n\n* The collection's size is denoted by `n`.\n* If a second collection is involved, its size is denoted by `m`.\n* Item indices are denoted by `i`.\n* Operations which have an *amortized* cost are suffixed with a `*`.\n* Operations with an *expected* cost are suffixed with a `~`.\n\nCalling operations that add to a collection will occasionally require a\ncollection to be resized - an extra operation that takes *O*(*n*) time.\n\n*Amortized* costs are calculated to account for the time cost of such resize\noperations *over a sufficiently large series of operations*. An individual\noperation may be slower or faster due to the sporadic nature of collection\nresizing, however the average cost per operation will approach the amortized\ncost.\n\nRust's collections never automatically shrink, so removal operations aren't\namortized.\n\n[`HashMap`] uses *expected* costs. It is theoretically possible, though very\nunlikely, for [`HashMap`] to experience significantly worse performance than\nthe expected cost. This is due to the probabilistic nature of hashing - i.e.\nit is possible to generate a duplicate hash given some input key that will\nrequires extra computation to correct.\n\n## Cost of Collection Operations\n\n\n| | get(i) | insert(i) | remove(i) | append(Vec(m)) | split_off(i) | range | append |\n|----------------|------------------------|-------------------------|------------------------|-------------------|------------------------|-----------------|--------------|\n| [`Vec`] | *O*(1) | *O*(*n*-*i*)* | *O*(*n*-*i*) | *O*(*m*)* | *O*(*n*-*i*) | N/A | N/A |\n| [`VecDeque`] | *O*(1) | *O*(min(*i*, *n*-*i*))* | *O*(min(*i*, *n*-*i*)) | *O*(*m*)* | *O*(min(*i*, *n*-*i*)) | N/A | N/A |\n| [`LinkedList`] | *O*(min(*i*, *n*-*i*)) | *O*(min(*i*, *n*-*i*)) | *O*(min(*i*, *n*-*i*)) | *O*(1) | *O*(min(*i*, *n*-*i*)) | N/A | N/A |\n| [`HashMap`] | *O*(1)~ | *O*(1)~* | *O*(1)~ | N/A | N/A | N/A | N/A |\n| [`BTreeMap`] | *O*(log(*n*)) | *O*(log(*n*)) | *O*(log(*n*)) | N/A | N/A | *O*(log(*n*)) | *O*(*n*+*m*) |\n\nNote that where ties occur, [`Vec`] is generally going to be faster than\n[`VecDeque`], and [`VecDeque`] is generally going to be faster than\n[`LinkedList`].\n\nFor Sets, all operations have the cost of the equivalent Map operation.\n\n# Correct and Efficient Usage of Collections\n\nOf course, knowing which collection is the right one for the job doesn't\ninstantly permit you to use it correctly. Here are some quick tips for\nefficient and correct usage of the standard collections in general. If\nyou're interested in how to use a specific collection in particular, consult\nits documentation for detailed discussion and code examples.\n\n## Capacity Management\n\nMany collections provide several constructors and methods that refer to\n\"capacity\". These collections are generally built on top of an array.\nOptimally, this array would be exactly the right size to fit only the\nelements stored in the collection, but for the collection to do this would\nbe very inefficient. If the backing array was exactly the right size at all\ntimes, then every time an element is inserted, the collection would have to\ngrow the array to fit it. Due to the way memory is allocated and managed on\nmost computers, this would almost surely require allocating an entirely new\narray and copying every single element from the old one into the new one.\nHopefully you can see that this wouldn't be very efficient to do on every\noperation.\n\nMost collections therefore use an *amortized* allocation strategy. They\ngenerally let themselves have a fair amount of unoccupied space so that they\nonly have to grow on occasion. When they do grow, they allocate a\nsubstantially larger array to move the elements into so that it will take a\nwhile for another grow to be required. While this strategy is great in\ngeneral, it would be even better if the collection *never* had to resize its\nbacking array. Unfortunately, the collection itself doesn't have enough\ninformation to do this itself. Therefore, it is up to us programmers to give\nit hints.\n\nAny `with_capacity` constructor will instruct the collection to allocate\nenough space for the specified number of elements. Ideally this will be for\nexactly that many elements, but some implementation details may prevent\nthis. See collection-specific documentation for details. In general, use\n`with_capacity` when you know exactly how many elements will be inserted, or\nat least have a reasonable upper-bound on that number.\n\nWhen anticipating a large influx of elements, the `reserve` family of\nmethods can be used to hint to the collection how much room it should make\nfor the coming items. As with `with_capacity`, the precise behavior of\nthese methods will be specific to the collection of interest.\n\nFor optimal performance, collections will generally avoid shrinking\nthemselves. If you believe that a collection will not soon contain any more\nelements, or just really need the memory, the `shrink_to_fit` method prompts\nthe collection to shrink the backing array to the minimum size capable of\nholding its elements.\n\nFinally, if ever you're interested in what the actual capacity of the\ncollection is, most collections provide a `capacity` method to query this\ninformation on demand. This can be useful for debugging purposes, or for\nuse with the `reserve` methods.\n\n## Iterators\n\n[Iterators][crate::iter]\nare a powerful and robust mechanism used throughout Rust's\nstandard libraries. Iterators provide a sequence of values in a generic,\nsafe, efficient and convenient way. The contents of an iterator are usually\n*lazily* evaluated, so that only the values that are actually needed are\never actually produced, and no allocation need be done to temporarily store\nthem. Iterators are primarily consumed using a `for` loop, although many\nfunctions also take iterators where a collection or sequence of values is\ndesired.\n\nAll of the standard collections provide several iterators for performing\nbulk manipulation of their contents. The three primary iterators almost\nevery collection should provide are `iter`, `iter_mut`, and `into_iter`.\nSome of these are not provided on collections where it would be unsound or\nunreasonable to provide them.\n\n`iter` provides an iterator of immutable references to all the contents of a\ncollection in the most \"natural\" order. For sequence collections like [`Vec`],\nthis means the items will be yielded in increasing order of index starting\nat 0. For ordered collections like [`BTreeMap`], this means that the items\nwill be yielded in sorted order. For unordered collections like [`HashMap`],\nthe items will be yielded in whatever order the internal representation made\nmost convenient. This is great for reading through all the contents of the\ncollection.\n\n```\nlet vec = vec![1, 2, 3, 4];\nfor x in vec.iter() {\n println!(\"vec contained {x:?}\");\n}\n```\n\n`iter_mut` provides an iterator of *mutable* references in the same order as\n`iter`. This is great for mutating all the contents of the collection.\n\n```\nlet mut vec = vec![1, 2, 3, 4];\nfor x in vec.iter_mut() {\n *x += 1;\n}\n```\n\n`into_iter` transforms the actual collection into an iterator over its\ncontents by-value. This is great when the collection itself is no longer\nneeded, and the values are needed elsewhere. Using `extend` with `into_iter`\nis the main way that contents of one collection are moved into another.\n`extend` automatically calls `into_iter`, and takes any T: [IntoIterator].\nCalling `collect` on an iterator itself is also a great way to convert one\ncollection into another. Both of these methods should internally use the\ncapacity management tools discussed in the previous section to do this as\nefficiently as possible.\n\n```\nlet mut vec1 = vec![1, 2, 3, 4];\nlet vec2 = vec![10, 20, 30, 40];\nvec1.extend(vec2);\n```\n\n```\nuse std::collections::VecDeque;\n\nlet vec = [1, 2, 3, 4];\nlet buf: VecDeque<_> = vec.into_iter().collect();\n```\n\nIterators also provide a series of *adapter* methods for performing common\nthreads to sequences. Among the adapters are functional favorites like `map`,\n`fold`, `skip` and `take`. Of particular interest to collections is the\n`rev` adapter, which reverses any iterator that supports this operation. Most\ncollections provide reversible iterators as the way to iterate over them in\nreverse order.\n\n```\nlet vec = vec![1, 2, 3, 4];\nfor x in vec.iter().rev() {\n println!(\"vec contained {x:?}\");\n}\n```\n\nSeveral other collection methods also return iterators to yield a sequence\nof results but avoid allocating an entire collection to store the result in.\nThis provides maximum flexibility as\n[`collect`][crate::iter::Iterator::collect] or\n[`extend`][crate::iter::Extend::extend] can be called to\n\"pipe\" the sequence into any collection if desired. Otherwise, the sequence\ncan be looped over with a `for` loop. The iterator can also be discarded\nafter partial use, preventing the computation of the unused items.\n\n## Entries\n\nThe `entry` API is intended to provide an efficient mechanism for\nmanipulating the contents of a map conditionally on the presence of a key or\nnot. The primary motivating use case for this is to provide efficient\naccumulator maps. For instance, if one wishes to maintain a count of the\nnumber of times each key has been seen, they will have to perform some\nconditional logic on whether this is the first time the key has been seen or\nnot. Normally, this would require a `find` followed by an `insert`,\neffectively duplicating the search effort on each insertion.\n\nWhen a user calls `map.entry(key)`, the map will search for the key and\nthen yield a variant of the `Entry` enum.\n\nIf a `Vacant(entry)` is yielded, then the key *was not* found. In this case\nthe only valid operation is to `insert` a value into the entry. When this is\ndone, the vacant entry is consumed and converted into a mutable reference to\nthe value that was inserted. This allows for further manipulation of the\nvalue beyond the lifetime of the search itself. This is useful if complex\nlogic needs to be performed on the value regardless of whether the value was\njust inserted.\n\nIf an `Occupied(entry)` is yielded, then the key *was* found. In this case,\nthe user has several options: they can `get`, `insert` or `remove` the\nvalue of the occupied entry. Additionally, they can convert the occupied\nentry into a mutable reference to its value, providing symmetry to the\nvacant `insert` case.\n\n### Examples\n\nHere are the two primary ways in which `entry` is used. First, a simple\nexample where the logic performed on the values is trivial.\n\n#### Counting the number of times each character in a string occurs\n\n```\nuse std::collections::btree_map::BTreeMap;\n\nlet mut count = BTreeMap::new();\nlet message = \"she sells sea shells by the sea shore\";\n\nfor c in message.chars() {\n *count.entry(c).or_insert(0) += 1;\n}\n\nassert_eq!(count.get(&'s'), Some(&8));\n\nprintln!(\"Number of occurrences of each character\");\nfor (char, count) in &count {\n println!(\"{char}: {count}\");\n}\n```\n\nWhen the logic to be performed on the value is more complex, we may simply\nuse the `entry` API to ensure that the value is initialized and perform the\nlogic afterwards.\n\n#### Tracking the inebriation of customers at a bar\n\n```\nuse std::collections::btree_map::BTreeMap;\n\n// A client of the bar. They have a blood alcohol level.\nstruct Person { blood_alcohol: f32 }\n\n// All the orders made to the bar, by client ID.\nlet orders = vec![1, 2, 1, 2, 3, 4, 1, 2, 2, 3, 4, 1, 1, 1];\n\n// Our clients.\nlet mut blood_alcohol = BTreeMap::new();\n\nfor id in orders {\n // If this is the first time we've seen this customer, initialize them\n // with no blood alcohol. Otherwise, just retrieve them.\n let person = blood_alcohol.entry(id).or_insert(Person { blood_alcohol: 0.0 });\n\n // Reduce their blood alcohol level. It takes time to order and drink a beer!\n person.blood_alcohol *= 0.9;\n\n // Check if they're sober enough to have another beer.\n if person.blood_alcohol > 0.3 {\n // Too drunk... for now.\n println!(\"Sorry {id}, I have to cut you off\");\n } else {\n // Have another!\n person.blood_alcohol += 0.1;\n }\n}\n```\n\n# Insert and complex keys\n\nIf we have a more complex key, calls to `insert` will\nnot update the value of the key. For example:\n\n```\nuse std::cmp::Ordering;\nuse std::collections::BTreeMap;\nuse std::hash::{Hash, Hasher};\n\n#[derive(Debug)]\nstruct Foo {\n a: u32,\n b: &'static str,\n}\n\n// we will compare `Foo`s by their `a` value only.\nimpl PartialEq for Foo {\n fn eq(&self, other: &Self) -> bool { self.a == other.a }\n}\n\nimpl Eq for Foo {}\n\n// we will hash `Foo`s by their `a` value only.\nimpl Hash for Foo {\n fn hash(&self, h: &mut H) { self.a.hash(h); }\n}\n\nimpl PartialOrd for Foo {\n fn partial_cmp(&self, other: &Self) -> Option { self.a.partial_cmp(&other.a) }\n}\n\nimpl Ord for Foo {\n fn cmp(&self, other: &Self) -> Ordering { self.a.cmp(&other.a) }\n}\n\nlet mut map = BTreeMap::new();\nmap.insert(Foo { a: 1, b: \"baz\" }, 99);\n\n// We already have a Foo with an a of 1, so this will be updating the value.\nmap.insert(Foo { a: 1, b: \"xyz\" }, 100);\n\n// The value has been updated...\nassert_eq!(map.values().next().unwrap(), &100);\n\n// ...but the key hasn't changed. b is still \"baz\", not \"xyz\".\nassert_eq!(map.keys().next().unwrap().b, \"baz\");\n```", + "docs": "Collection types.\n\nRust's standard collection library provides efficient implementations of the\nmost common general purpose programming data structures. By using the\nstandard implementations, it should be possible for two libraries to\ncommunicate without significant data conversion.\n\nTo get this out of the way: you should probably just use [`Vec`] or [`HashMap`].\nThese two collections cover most use cases for generic data storage and\nprocessing. They are exceptionally good at doing what they do. All the other\ncollections in the standard library have specific use cases where they are\nthe optimal choice, but these cases are borderline *niche* in comparison.\nEven when `Vec` and `HashMap` are technically suboptimal, they're probably a\ngood enough choice to get started.\n\nRust's collections can be grouped into four major categories:\n\n* Sequences: [`Vec`], [`VecDeque`], [`LinkedList`]\n* Maps: [`HashMap`], [`BTreeMap`]\n* Sets: [`HashSet`], [`BTreeSet`]\n* Misc: [`BinaryHeap`]\n\n# When Should You Use Which Collection?\n\nThese are fairly high-level and quick break-downs of when each collection\nshould be considered. Detailed discussions of strengths and weaknesses of\nindividual collections can be found on their own documentation pages.\n\n### Use a [`Vec`] when:\n* You want to collect items up to be processed or sent elsewhere later, and\n don't care about any properties of the actual values being stored.\n* You want a sequence of elements in a particular order, and will only be\n appending to (or near) the end.\n* You want a stack.\n* You want a resizable array.\n* You want a heap-allocated array.\n\n### Use a [`VecDeque`] when:\n* You want a [`Vec`] that supports efficient insertion at both ends of the\n sequence.\n* You want a queue.\n* You want a double-ended queue (deque).\n\n### Use a [`LinkedList`] when:\n* You want a [`Vec`] or [`VecDeque`] of unknown size, and can't tolerate\n amortization.\n* You want to efficiently split and append lists.\n* You are *absolutely* certain you *really*, *truly*, want a doubly linked\n list.\n\n### Use a [`HashMap`] when:\n* You want to associate arbitrary keys with an arbitrary value.\n* You want a cache.\n* You want a map, with no extra functionality.\n\n### Use a [`BTreeMap`] when:\n* You want a map sorted by its keys.\n* You want to be able to get a range of entries on-demand.\n* You're interested in what the smallest or largest key-value pair is.\n* You want to find the largest or smallest key that is smaller or larger\n than something.\n\n### Use the `Set` variant of any of these `Map`s when:\n* You just want to remember which keys you've seen.\n* There is no meaningful value to associate with your keys.\n* You just want a set.\n\n### Use a [`BinaryHeap`] when:\n\n* You want to store a bunch of elements, but only ever want to process the\n \"biggest\" or \"most important\" one at any given time.\n* You want a priority queue.\n\n# Performance\n\nChoosing the right collection for the job requires an understanding of what\neach collection is good at. Here we briefly summarize the performance of\ndifferent collections for certain important operations. For further details,\nsee each type's documentation, and note that the names of actual methods may\ndiffer from the tables below on certain collections.\n\nThroughout the documentation, we will adhere to the following conventions\nfor operation notation:\n\n* The collection's size is denoted by `n`.\n* If a second collection is involved, its size is denoted by `m`.\n* Item indices are denoted by `i`.\n* Operations which have an *amortized* cost are suffixed with a `*`.\n* Operations with an *expected* cost are suffixed with a `~`.\n\nCalling operations that add to a collection will occasionally require a\ncollection to be resized - an extra operation that takes *O*(*n*) time.\n\n*Amortized* costs are calculated to account for the time cost of such resize\noperations *over a sufficiently large series of operations*. An individual\noperation may be slower or faster due to the sporadic nature of collection\nresizing, however the average cost per operation will approach the amortized\ncost.\n\nRust's collections never automatically shrink, so removal operations aren't\namortized.\n\n[`HashMap`] uses *expected* costs. It is theoretically possible, though very\nunlikely, for [`HashMap`] to experience significantly worse performance than\nthe expected cost. This is due to the probabilistic nature of hashing - i.e.\nit is possible to generate a duplicate hash given some input key that will\nrequires extra computation to correct.\n\n## Cost of Collection Operations\n\n\n| | get(i) | insert(i) | remove(i) | append(Vec(m)) | split_off(i) | range | append |\n|----------------|------------------------|-------------------------|------------------------|-------------------|------------------------|-----------------|--------------|\n| [`Vec`] | *O*(1) | *O*(*n*-*i*)* | *O*(*n*-*i*) | *O*(*m*)* | *O*(*n*-*i*) | N/A | N/A |\n| [`VecDeque`] | *O*(1) | *O*(min(*i*, *n*-*i*))* | *O*(min(*i*, *n*-*i*)) | *O*(*m*)* | *O*(min(*i*, *n*-*i*)) | N/A | N/A |\n| [`LinkedList`] | *O*(min(*i*, *n*-*i*)) | *O*(min(*i*, *n*-*i*)) | *O*(min(*i*, *n*-*i*)) | *O*(1) | *O*(min(*i*, *n*-*i*)) | N/A | N/A |\n| [`HashMap`] | *O*(1)~ | *O*(1)~* | *O*(1)~ | N/A | N/A | N/A | N/A |\n| [`BTreeMap`] | *O*(log(*n*)) | *O*(log(*n*)) | *O*(log(*n*)) | N/A | N/A | *O*(log(*n*)) | *O*(*n*+*m*) |\n\nNote that where ties occur, [`Vec`] is generally going to be faster than\n[`VecDeque`], and [`VecDeque`] is generally going to be faster than\n[`LinkedList`].\n\nFor Sets, all operations have the cost of the equivalent Map operation.\n\n# Correct and Efficient Usage of Collections\n\nOf course, knowing which collection is the right one for the job doesn't\ninstantly permit you to use it correctly. Here are some quick tips for\nefficient and correct usage of the standard collections in general. If\nyou're interested in how to use a specific collection in particular, consult\nits documentation for detailed discussion and code examples.\n\n## Capacity Management\n\nMany collections provide several constructors and methods that refer to\n\"capacity\". These collections are generally built on top of an array.\nOptimally, this array would be exactly the right size to fit only the\nelements stored in the collection, but for the collection to do this would\nbe very inefficient. If the backing array was exactly the right size at all\ntimes, then every time an element is inserted, the collection would have to\ngrow the array to fit it. Due to the way memory is allocated and managed on\nmost computers, this would almost surely require allocating an entirely new\narray and copying every single element from the old one into the new one.\nHopefully you can see that this wouldn't be very efficient to do on every\noperation.\n\nMost collections therefore use an *amortized* allocation strategy. They\ngenerally let themselves have a fair amount of unoccupied space so that they\nonly have to grow on occasion. When they do grow, they allocate a\nsubstantially larger array to move the elements into so that it will take a\nwhile for another grow to be required. While this strategy is great in\ngeneral, it would be even better if the collection *never* had to resize its\nbacking array. Unfortunately, the collection itself doesn't have enough\ninformation to do this itself. Therefore, it is up to us programmers to give\nit hints.\n\nAny `with_capacity` constructor will instruct the collection to allocate\nenough space for the specified number of elements. Ideally this will be for\nexactly that many elements, but some implementation details may prevent\nthis. See collection-specific documentation for details. In general, use\n`with_capacity` when you know exactly how many elements will be inserted, or\nat least have a reasonable upper-bound on that number.\n\nWhen anticipating a large influx of elements, the `reserve` family of\nmethods can be used to hint to the collection how much room it should make\nfor the coming items. As with `with_capacity`, the precise behavior of\nthese methods will be specific to the collection of interest.\n\nFor optimal performance, collections will generally avoid shrinking\nthemselves. If you believe that a collection will not soon contain any more\nelements, or just really need the memory, the `shrink_to_fit` method prompts\nthe collection to shrink the backing array to the minimum size capable of\nholding its elements.\n\nFinally, if ever you're interested in what the actual capacity of the\ncollection is, most collections provide a `capacity` method to query this\ninformation on demand. This can be useful for debugging purposes, or for\nuse with the `reserve` methods.\n\n## Iterators\n\n[Iterators][crate::iter]\nare a powerful and robust mechanism used throughout Rust's\nstandard libraries. Iterators provide a sequence of values in a generic,\nsafe, efficient and convenient way. The contents of an iterator are usually\n*lazily* evaluated, so that only the values that are actually needed are\never actually produced, and no allocation need be done to temporarily store\nthem. Iterators are primarily consumed using a `for` loop, although many\nfunctions also take iterators where a collection or sequence of values is\ndesired.\n\nAll of the standard collections provide several iterators for performing\nbulk manipulation of their contents. The three primary iterators almost\nevery collection should provide are `iter`, `iter_mut`, and `into_iter`.\nSome of these are not provided on collections where it would be unsound or\nunreasonable to provide them.\n\n`iter` provides an iterator of immutable references to all the contents of a\ncollection in the most \"natural\" order. For sequence collections like [`Vec`],\nthis means the items will be yielded in increasing order of index starting\nat 0. For ordered collections like [`BTreeMap`], this means that the items\nwill be yielded in sorted order. For unordered collections like [`HashMap`],\nthe items will be yielded in whatever order the internal representation made\nmost convenient. This is great for reading through all the contents of the\ncollection.\n\n```\nlet vec = vec![1, 2, 3, 4];\nfor x in vec.iter() {\n println!(\"vec contained {x:?}\");\n}\n```\n\n`iter_mut` provides an iterator of *mutable* references in the same order as\n`iter`. This is great for mutating all the contents of the collection.\n\n```\nlet mut vec = vec![1, 2, 3, 4];\nfor x in vec.iter_mut() {\n *x += 1;\n}\n```\n\n`into_iter` transforms the actual collection into an iterator over its\ncontents by-value. This is great when the collection itself is no longer\nneeded, and the values are needed elsewhere. Using `extend` with `into_iter`\nis the main way that contents of one collection are moved into another.\n`extend` automatically calls `into_iter`, and takes any T: [IntoIterator].\nCalling `collect` on an iterator itself is also a great way to convert one\ncollection into another. Both of these methods should internally use the\ncapacity management tools discussed in the previous section to do this as\nefficiently as possible.\n\n```\nlet mut vec1 = vec![1, 2, 3, 4];\nlet vec2 = vec![10, 20, 30, 40];\nvec1.extend(vec2);\n```\n\n```\nuse std::collections::VecDeque;\n\nlet vec = [1, 2, 3, 4];\nlet buf: VecDeque<_> = vec.into_iter().collect();\n```\n\nIterators also provide a series of *adapter* methods for performing common\nthreads to sequences. Among the adapters are functional favorites like `map`,\n`fold`, `skip` and `take`. Of particular interest to collections is the\n`rev` adapter, which reverses any iterator that supports this operation. Most\ncollections provide reversible iterators as the way to iterate over them in\nreverse order.\n\n```\nlet vec = vec![1, 2, 3, 4];\nfor x in vec.iter().rev() {\n println!(\"vec contained {x:?}\");\n}\n```\n\nSeveral other collection methods also return iterators to yield a sequence\nof results but avoid allocating an entire collection to store the result in.\nThis provides maximum flexibility as\n[`collect`][crate::iter::Iterator::collect] or\n[`extend`][crate::iter::Extend::extend] can be called to\n\"pipe\" the sequence into any collection if desired. Otherwise, the sequence\ncan be looped over with a `for` loop. The iterator can also be discarded\nafter partial use, preventing the computation of the unused items.\n\n## Entries\n\nThe `entry` API is intended to provide an efficient mechanism for\nmanipulating the contents of a map conditionally on the presence of a key or\nnot. The primary motivating use case for this is to provide efficient\naccumulator maps. For instance, if one wishes to maintain a count of the\nnumber of times each key has been seen, they will have to perform some\nconditional logic on whether this is the first time the key has been seen or\nnot. Normally, this would require a `find` followed by an `insert`,\neffectively duplicating the search effort on each insertion.\n\nWhen a user calls `map.entry(key)`, the map will search for the key and\nthen yield a variant of the `Entry` enum.\n\nIf a `Vacant(entry)` is yielded, then the key *was not* found. In this case\nthe only valid operation is to `insert` a value into the entry. When this is\ndone, the vacant entry is consumed and converted into a mutable reference to\nthe value that was inserted. This allows for further manipulation of the\nvalue beyond the lifetime of the search itself. This is useful if complex\nlogic needs to be performed on the value regardless of whether the value was\njust inserted.\n\nIf an `Occupied(entry)` is yielded, then the key *was* found. In this case,\nthe user has several options: they can `get`, `insert` or `remove` the\nvalue of the occupied entry. Additionally, they can convert the occupied\nentry into a mutable reference to its value, providing symmetry to the\nvacant `insert` case.\n\n### Examples\n\nHere are the two primary ways in which `entry` is used. First, a simple\nexample where the logic performed on the values is trivial.\n\n#### Counting the number of times each character in a string occurs\n\n```\nuse std::collections::btree_map::BTreeMap;\n\nlet mut count = BTreeMap::new();\nlet message = \"she sells sea shells by the sea shore\";\n\nfor c in message.chars() {\n *count.entry(c).or_insert(0) += 1;\n}\n\nassert_eq!(count.get(&'s'), Some(&8));\n\nprintln!(\"Number of occurrences of each character\");\nfor (char, count) in &count {\n println!(\"{char}: {count}\");\n}\n```\n\nWhen the logic to be performed on the value is more complex, we may simply\nuse the `entry` API to ensure that the value is initialized and perform the\nlogic afterwards.\n\n#### Tracking the inebriation of customers at a bar\n\n```\nuse std::collections::btree_map::BTreeMap;\n\n// A client of the bar. They have a blood alcohol level.\nstruct Person { blood_alcohol: f32 }\n\n// All the orders made to the bar, by client ID.\nlet orders = vec![1, 2, 1, 2, 3, 4, 1, 2, 2, 3, 4, 1, 1, 1];\n\n// Our clients.\nlet mut blood_alcohol = BTreeMap::new();\n\nfor id in orders {\n // If this is the first time we've seen this customer, initialize them\n // with no blood alcohol. Otherwise, just retrieve them.\n let person = blood_alcohol.entry(id).or_insert(Person { blood_alcohol: 0.0 });\n\n // Reduce their blood alcohol level. It takes time to order and drink a beer!\n person.blood_alcohol *= 0.9;\n\n // Check if they're sober enough to have another beer.\n if person.blood_alcohol > 0.3 {\n // Too drunk... for now.\n println!(\"Sorry {id}, I have to cut you off\");\n } else {\n // Have another!\n person.blood_alcohol += 0.1;\n }\n}\n```\n\n# Insert and complex keys\n\nIf we have a more complex key, calls to `insert` will\nnot update the value of the key. For example:\n\n```\nuse std::cmp::Ordering;\nuse std::collections::BTreeMap;\nuse std::hash::{Hash, Hasher};\n\n#[derive(Debug)]\nstruct Foo {\n a: u32,\n b: &'static str,\n}\n\n// we will compare `Foo`s by their `a` value only.\nimpl PartialEq for Foo {\n fn eq(&self, other: &Self) -> bool { self.a == other.a }\n}\n\nimpl Eq for Foo {}\n\n// we will hash `Foo`s by their `a` value only.\nimpl Hash for Foo {\n fn hash(&self, h: &mut H) { self.a.hash(h); }\n}\n\nimpl PartialOrd for Foo {\n fn partial_cmp(&self, other: &Self) -> Option { self.a.partial_cmp(&other.a) }\n}\n\nimpl Ord for Foo {\n fn cmp(&self, other: &Self) -> Ordering { self.a.cmp(&other.a) }\n}\n\nlet mut map = BTreeMap::new();\nmap.insert(Foo { a: 1, b: \"baz\" }, 99);\n\n// We already have a Foo with an a of 1, so this will be updating the value.\nmap.insert(Foo { a: 1, b: \"xyz\" }, 100);\n\n// The value has been updated...\nassert_eq!(map.values().next().unwrap(), &100);\n\n// ...but the key hasn't changed. b is still \"baz\", not \"xyz\".\nassert_eq!(map.keys().next().unwrap().b, \"baz\");\n```", "id": 733, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 1625, + 1624, + 1626, 1627, 1628, - 1629, - 1631, - 1633, - 1635, - 1637, - 1639, - 1641, - 1643, - 1645, - 1647, - 1649, - 1651, - 1652 + 1630, + 1632, + 1634, + 1636, + 1638, + 1640, + 1642, + 1644, + 1646, + 1648, + 1650, + 1651 ] } }, "links": { "IntoIterator": 47, - "`BTreeMap`": 1632, - "`BTreeSet`": 1634, - "`BinaryHeap`": 1636, + "`BTreeMap`": 1631, + "`BTreeSet`": 1633, + "`BinaryHeap`": 1635, "`HashMap`": 738, - "`HashSet`": 1230, - "`LinkedList`": 1638, - "`VecDeque`": 1640, - "`Vec`": 165, - "crate::iter": 194, - "crate::iter::Extend::extend": 1654, - "crate::iter::Iterator::collect": 1653 + "`HashSet`": 1229, + "`LinkedList`": 1637, + "`VecDeque`": 1639, + "`Vec`": 163, + "crate::iter": 192, + "crate::iter::Extend::extend": 1653, + "crate::iter::Iterator::collect": 1652 }, "name": "collections", "span": { @@ -614614,7 +633502,7 @@ }, "visibility": "public" }, - "7330": { + "7331": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -614622,77 +633510,288 @@ ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7330, + "docs": "Attempts to receive a message from the channel without blocking.\n\nThis method will never block the caller in order to wait for data to\nbecome available. Instead, this will always return immediately with a\npossible option of pending data on the channel.\n\nIf called on a zero-capacity channel, this method will receive a message only if there\nhappens to be a send operation on the other side of the channel at the same time.\n\nThis is useful for a flavor of \"optimistic check\" before deciding to\nblock on a receiver.\n\nCompared with [`recv`], this function has two failure cases instead of one\n(one for disconnection, one for an empty buffer).\n\n[`recv`]: Self::recv\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::{Receiver, channel};\n\nlet (_, receiver): (_, Receiver) = channel();\n\nassert!(receiver.try_recv().is_err());\n```", + "id": 7331, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "constraints": [] + } } - }, - "id": 7256, - "path": "Receiver" + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 7247, + "path": "TryRecvError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } - }, + } + } + }, + "links": { + "Self::recv": 7297 + }, + "name": "try_recv", + "span": { + "begin": [ + 915, + 5 + ], + "end": [ + 921, + 6 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" + }, + "7332": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up, or if it waits more than `timeout`.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent (at least one sender\nstill exists). Once a message is sent to the corresponding [`Sender`],\nthis receiver will wake up and return that message.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\nSuccessfully receiving value before encountering timeout:\n\n```no_run\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::time::Duration;\nuse std::sync::mpmc;\n\nlet (send, recv) = mpmc::channel();\n\nthread::spawn(move || {\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_timeout(Duration::from_millis(400)),\n Ok('a')\n);\n```\n\nReceiving an error upon reaching timeout:\n\n```no_run\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::time::Duration;\nuse std::sync::mpmc;\n\nlet (send, recv) = mpmc::channel();\n\nthread::spawn(move || {\n thread::sleep(Duration::from_millis(800));\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_timeout(Duration::from_millis(400)),\n Err(mpmc::RecvTimeoutError::Timeout)\n);\n```", + "id": 7332, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "timeout", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + } + } + ], + "constraints": [] } }, - "name": "T" + "id": 57, + "path": "Result" } - ], + } + } + } + }, + "links": { + "`Err`": 59, + "`Sender`": 7293 + }, + "name": "recv_timeout", + "span": { + "begin": [ + 1049, + 5 + ], + "end": [ + 1055, + 6 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" + }, + "7333": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up, or if `deadline` is reached.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent. Once a message is\nsent to the corresponding [`Sender`], then this receiver will wake up\nand return that message.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\nSuccessfully receiving value before reaching deadline:\n\n```no_run\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::time::{Duration, Instant};\nuse std::sync::mpmc;\n\nlet (send, recv) = mpmc::channel();\n\nthread::spawn(move || {\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_deadline(Instant::now() + Duration::from_millis(400)),\n Ok('a')\n);\n```\n\nReceiving an error upon reaching deadline:\n\n```no_run\n#![feature(mpmc_channel)]\n\nuse std::thread;\nuse std::time::{Duration, Instant};\nuse std::sync::mpmc;\n\nlet (send, recv) = mpmc::channel();\n\nthread::spawn(move || {\n thread::sleep(Duration::from_millis(800));\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_deadline(Instant::now() + Duration::from_millis(400)),\n Err(mpmc::RecvTimeoutError::Timeout)\n);\n```", + "id": 7333, + "inner": { + "function": { + "generics": { + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "deadline", + { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } } } }, - "links": {}, - "name": null, + "links": { + "`Err`": 59, + "`Sender`": 7293 + }, + "name": "recv_deadline", "span": { "begin": [ - 883, - 1 + 1116, + 5 ], "end": [ - 883, - 41 + 1122, + 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "7331": { - "attrs": [], + "7334": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7331, + "docs": "Returns an iterator that will attempt to yield all pending values.\nIt will return `None` if there are no more pending values or if the\nchannel has hung up. The iterator will never [`panic!`] or block the\nuser by waiting for values.\n\n# Examples\n\n```no_run\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (sender, receiver) = channel();\n\n// nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\n\nthread::spawn(move || {\n thread::sleep(Duration::from_secs(1));\n sender.send(1).unwrap();\n sender.send(2).unwrap();\n sender.send(3).unwrap();\n});\n\n// nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\n\n// block for two seconds\nthread::sleep(Duration::from_secs(2));\n\nlet mut iter = receiver.try_iter();\nassert_eq!(iter.next(), Some(1));\nassert_eq!(iter.next(), Some(2));\nassert_eq!(iter.next(), Some(3));\nassert_eq!(iter.next(), None);\n```", + "id": 7334, "inner": { "function": { "generics": { @@ -614712,7 +633811,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -614722,26 +633821,48 @@ ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + } } } }, - "links": {}, - "name": "drop", + "links": { + "`panic!`": 493 + }, + "name": "try_iter", "span": { "begin": [ - 1355, + 1163, 5 ], "end": [ - 1363, + 1165, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "7332": { + "7335": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -614749,8 +633870,88 @@ ], "crate_id": 0, "deprecation": null, + "docs": "An iterator that attempts to yield all pending values for a [`Receiver`],\ncreated by [`try_iter`].\n\n[`None`] will be returned when there are no pending values remaining or\nif the corresponding channel has hung up.\n\nThis iterator will never block the caller in order to wait for data to\nbecome available. Instead, it will return [`None`].\n\n[`try_iter`]: Receiver::try_iter\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (sender, receiver) = channel();\n\n// Nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\nprintln!(\"Nothing in the buffer...\");\n\nthread::spawn(move || {\n sender.send(1).unwrap();\n sender.send(2).unwrap();\n sender.send(3).unwrap();\n});\n\nprintln!(\"Going to sleep...\");\nthread::sleep(Duration::from_secs(2)); // block for two seconds\n\nfor x in receiver.try_iter() {\n println!(\"Got: {x}\");\n}\n```", + "id": 7335, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 7397, + 7398, + 7399, + 7400, + 7401, + 7402, + 7403, + 7404, + 7405, + 7406, + 7407, + 7408, + 7409, + 7410, + 7412, + 7415 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "Receiver::try_iter": 7334, + "`None`": 53, + "`Receiver`": 7294 + }, + "name": "TryIter", + "span": { + "begin": [ + 777, + 1 + ], + "end": [ + 779, + 2 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" + }, + "7336": { + "attrs": [], + "crate_id": 0, + "deprecation": null, "docs": null, - "id": 7332, + "id": 7336, "inner": { "impl": { "blanket_impl": null, @@ -614768,7 +633969,7 @@ "constraints": [] } }, - "id": 7256, + "id": 7294, "path": "Receiver" } }, @@ -614791,37 +633992,41 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7331 + 7331, + 7297, + 7332, + 7333, + 7334 ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 9, - "path": "Drop" - } + "trait": null } }, "links": {}, "name": null, "span": { "begin": [ - 1354, + 885, 1 ], "end": [ - 1364, + 1166, 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7333": { - "attrs": [], + "7337": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7333, + "docs": "Returns `true` if the channel is empty.\n\nNote: Zero-capacity channels are always empty.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, recv) = mpmc::channel();\n\nassert!(recv.is_empty());\n\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert!(!recv.is_empty());\n```", + "id": 7337, "inner": { "function": { "generics": { @@ -614852,27 +634057,27 @@ ], "is_c_variadic": false, "output": { - "generic": "Self" + "primitive": "bool" } } } }, "links": {}, - "name": "clone", + "name": "is_empty", "span": { "begin": [ - 1368, + 1194, 5 ], "end": [ - 1376, + 1200, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "7334": { + "7338": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -614880,81 +634085,203 @@ ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7334, + "docs": "Returns `true` if the channel is full.\n\nNote: Zero-capacity channels are always full.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, recv) = mpmc::sync_channel(1);\n\nassert!(!recv.is_full());\n\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert!(recv.is_full());\n```", + "id": 7338, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "constraints": [] + } } - }, - "id": 7256, - "path": "Receiver" + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" } - }, + } + } + }, + "links": {}, + "name": "is_full", + "span": { + "begin": [ + 1227, + 5 + ], + "end": [ + 1233, + 6 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" + }, + "7339": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the number of messages in the channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, recv) = mpmc::channel();\n\nassert_eq!(recv.len(), 0);\n\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(recv.len(), 1);\n```", + "id": 7339, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "T" - } + } + ] ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "len", + "span": { + "begin": [ + 1258, + 5 + ], + "end": [ + 1264, + 6 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" + }, + "7340": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "If the channel is bounded, returns its capacity.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\nuse std::thread;\n\nlet (send, recv) = mpmc::sync_channel(3);\n\nassert_eq!(recv.capacity(), Some(3));\n\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(recv.capacity(), Some(3));\n```", + "id": 7340, + "inner": { + "function": { + "generics": { + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7333 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } } } }, "links": {}, - "name": null, + "name": "capacity", "span": { "begin": [ - 1367, - 1 + 1289, + 5 ], "end": [ - 1377, - 2 + 1295, + 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "7335": { - "attrs": [], + "7341": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7335, + "docs": "Returns `true` if receivers belong to the same channel.\n\n# Examples\n\n```\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc;\n\nlet (_, rx1) = mpmc::channel::();\nlet (_, rx2) = mpmc::channel::();\n\nassert!(rx1.same_channel(&rx1));\nassert!(!rx1.same_channel(&rx2));\n```", + "id": 7341, "inner": { "function": { "generics": { @@ -614983,10 +634310,10 @@ } ], [ - "f", + "other", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "resolved_path": { @@ -614994,14 +634321,16 @@ "angle_bracketed": { "args": [ { - "lifetime": "'_" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 343, - "path": "fmt::Formatter" + "id": 7294, + "path": "Receiver" } } } @@ -615010,31 +634339,27 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + "primitive": "bool" } } } }, "links": {}, - "name": "fmt", + "name": "same_channel", "span": { "begin": [ - 1381, + 1313, 5 ], "end": [ - 1383, + 1320, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "7336": { + "7342": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -615042,103 +634367,91 @@ ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7336, + "docs": "Returns an iterator that will block waiting for messages, but never\n[`panic!`]. It will return [`None`] when the channel has hung up.\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1).unwrap();\n send.send(2).unwrap();\n send.send(3).unwrap();\n});\n\nlet mut iter = recv.iter();\nassert_eq!(iter.next(), Some(1));\nassert_eq!(iter.next(), Some(2));\nassert_eq!(iter.next(), Some(3));\nassert_eq!(iter.next(), None);\n```", + "id": 7342, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "constraints": [] + } } - }, - "id": 7256, - "path": "Receiver" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } }, - "name": "T" + "id": 7343, + "path": "Iter" } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7335 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" + } } } }, - "links": {}, - "name": null, + "links": { + "`None`": 53, + "`panic!`": 493 + }, + "name": "iter", "span": { "begin": [ - 1380, - 1 + 1348, + 5 ], "end": [ - 1384, - 2 + 1350, + 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "7339": { - "attrs": [], + "7343": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7339, + "docs": "An iterator over messages on a [`Receiver`], created by [`iter`].\n\nThis iterator will block whenever [`next`] is called,\nwaiting for a new message, and [`None`] will be returned\nwhen the corresponding channel has hung up.\n\n[`iter`]: Receiver::iter\n[`next`]: Iterator::next\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2u8).unwrap();\n send.send(3u8).unwrap();\n});\n\nfor x in recv.iter() {\n println!(\"Got: {x}\");\n}\n```", + "id": 7343, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7305, - "path": "Iter" - } - }, + "struct": { "generics": { "params": [ { @@ -615152,7 +634465,11 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "outlives": "'a" + } + ], "default": null, "is_synthetic": false } @@ -615160,53 +634477,60 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" + "impls": [ + 7377, + 7378, + 7379, + 7380, + 7381, + 7382, + 7383, + 7384, + 7385, + 7386, + 7387, + 7388, + 7389, + 7390, + 7392, + 7395 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" + "links": { + "Iterator::next": 7376, + "Receiver::iter": 7342, + "`None`": 53, + "`Receiver`": 7294 + }, + "name": "Iter", + "span": { + "begin": [ + 732, + 1 + ], + "end": [ + 734, + 2 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" }, - "7340": { + "7344": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7340, + "id": 7344, "inner": { "impl": { "blanket_impl": null, @@ -615215,9 +634539,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -615227,20 +634548,12 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -615252,53 +634565,44 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7337, + 7338, + 7339, + 7340, + 7341, + 7342 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 1168, + 1 + ], + "end": [ + 1351, + 2 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, "visibility": "default" }, - "7341": { + "7345": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7341, + "id": 7345, "inner": { "impl": { "blanket_impl": null, @@ -615307,9 +634611,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -615319,20 +634620,12 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -615353,7 +634646,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -615363,12 +634656,12 @@ "span": null, "visibility": "default" }, - "7342": { + "7346": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7342, + "id": 7346, "inner": { "impl": { "blanket_impl": null, @@ -615377,9 +634670,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -615389,20 +634679,12 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -615433,23 +634715,22 @@ "span": null, "visibility": "default" }, - "7343": { + "7347": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7343, + "id": 7347, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -615459,20 +634740,12 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -615484,101 +634757,76 @@ "name": "T" } ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7344": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7344, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ { - "type": { - "generic": "T" + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } } } ], - "constraints": [] - } - }, - "id": 7305, - "path": "Iter" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { + "generic_params": [], "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "generic": "T" } - }, - "name": "T" + } } - ], - "where_predicates": [] + ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 319 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "7345": { + "7348": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7345, + "id": 7348, "inner": { "impl": { "blanket_impl": { @@ -615589,9 +634837,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -615601,8 +634846,8 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -615646,7 +634891,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 322 ], "provided_trait_methods": [], "trait": { @@ -615662,8 +634907,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 324, + "path": "BorrowMut" } } }, @@ -615671,23 +634916,23 @@ "name": null, "span": { "begin": [ - 209, + 221, 1 ], "end": [ - 209, - 32 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7346": { + "7349": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7346, + "id": 7349, "inner": { "impl": { "blanket_impl": { @@ -615698,9 +634943,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -615710,8 +634952,8 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -615734,11 +634976,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 97, + "path": "Clone" } } } @@ -615755,48 +634997,124 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 422 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "args": null, + "id": 424, + "path": "CloneToUninit" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 515, + 1 + ], + "end": [ + 515, + 42 + ], + "filename": "checkouts/rust/library/core/src/clone.rs" + }, + "visibility": "default" + }, + "735": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_collections_with_hasher\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"hashmap_build_hasher\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates an empty `HashMap` which will use the given hash builder to hash\nkeys.\n\nThe created map has the default initial capacity.\n\nWarning: `hash_builder` is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.\n\nThe `hash_builder` passed should implement the [`BuildHasher`] trait for\nthe `HashMap` to be useful, see its documentation for details.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);\n```", + "id": 735, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "hash_builder", + { + "generic": "S" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 738, + "path": "HashMap" } - }, - "id": 326, - "path": "BorrowMut" + } } } }, - "links": {}, - "name": null, + "links": { + "`BuildHasher`": 743 + }, + "name": "with_hasher", "span": { "begin": [ - 217, - 1 + 316, + 5 ], "end": [ - 217, - 35 + 318, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7347": { + "7350": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7347, + "id": 7350, "inner": { "impl": { "blanket_impl": { @@ -615807,9 +635125,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -615819,8 +635134,8 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -615885,7 +635200,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -615910,23 +635225,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7348": { + "7351": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7348, + "id": 7351, "inner": { "impl": { "blanket_impl": { @@ -615937,9 +635252,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -615949,8 +635261,8 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -615972,7 +635284,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -615997,23 +635309,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7349": { + "7352": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7349, + "id": 7352, "inner": { "impl": { "blanket_impl": { @@ -616024,9 +635336,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -616036,8 +635345,8 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -616084,7 +635393,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -616102,8 +635411,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -616119,7 +635428,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -616128,110 +635437,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "735": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_collections_with_hasher\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"hashmap_build_hasher\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates an empty `HashMap` which will use the given hash builder to hash\nkeys.\n\nThe created map has the default initial capacity.\n\nWarning: `hash_builder` is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.\n\nThe `hash_builder` passed should implement the [`BuildHasher`] trait for\nthe `HashMap` to be useful, see its documentation for details.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);\n```", - "id": 735, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "hash_builder", - { - "generic": "S" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - } - } - } - }, - "links": { - "`BuildHasher`": 743 - }, - "name": "with_hasher", - "span": { - "begin": [ - 316, - 5 - ], - "end": [ - 318, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7350": { + "7353": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7350, + "id": 7353, "inner": { "impl": { "blanket_impl": { @@ -616242,9 +635464,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -616254,8 +635473,8 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -616320,8 +635539,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -616337,7 +635556,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -616346,23 +635565,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7351": { + "7354": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7351, + "id": 7354, "inner": { "impl": { "blanket_impl": { @@ -616373,9 +635592,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -616385,8 +635601,8 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -616433,12 +635649,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -616458,25 +635674,22 @@ }, "visibility": "default" }, - "7352": { + "7355": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7352, + "id": 7355, "inner": { "impl": { "blanket_impl": { - "generic": "I" + "generic": "T" }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -616486,8 +635699,8 @@ "constraints": [] } }, - "id": 7305, - "path": "Iter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -616500,7 +635713,7 @@ "is_synthetic": false } }, - "name": "I" + "name": "T" } ], "where_predicates": [ @@ -616513,15 +635726,15 @@ "modifier": "none", "trait": { "args": null, - "id": 49, - "path": "Iterator" + "id": 97, + "path": "Clone" } } } ], "generic_params": [], "type": { - "generic": "I" + "generic": "T" } } } @@ -616531,15 +635744,17 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 858, - 859, - 860 + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 47, - "path": "IntoIterator" + "id": 155, + "path": "ToOwned" } } }, @@ -616547,121 +635762,64 @@ "name": null, "span": { "begin": [ - 314, + 85, 1 ], "end": [ - 314, - 37 + 87, + 14 ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7353": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7356": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7353, + "id": 7356, "inner": { - "function": { + "assoc_type": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "$crate::fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "$crate::fmt::Result" - } - } + "type": { + "generic": "T" } } }, "links": {}, - "name": "fmt", + "name": "Item", "span": { "begin": [ - 731, - 10 + 837, + 5 ], "end": [ - 731, - 15 + 837, + 19 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7354": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - }, - "automatically_derived" - ], + "7357": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7354, + "id": 7357, "inner": { - "impl": { - "blanket_impl": null, - "for": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { "resolved_path": { "args": { "angle_bracketed": { @@ -616678,116 +635836,33 @@ "constraints": [] } }, - "id": 7305, + "id": 7343, "path": "Iter" } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "$crate::fmt::Debug" - } - } - }, - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7353 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 731, - 10 - ], - "end": [ - 731, - 15 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "default" - }, - "7355": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7355, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "T" } } }, "links": {}, - "name": "Item", + "name": "IntoIter", "span": { "begin": [ - 819, + 838, 5 ], "end": [ - 819, - 19 + 838, + 33 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7356": { + "7358": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7356, + "id": 7358, "inner": { "function": { "generics": { @@ -616806,13 +635881,7 @@ [ "self", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ] ], @@ -616822,6 +635891,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -616831,29 +635903,29 @@ "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 7343, + "path": "Iter" } } } } }, "links": {}, - "name": "next", + "name": "into_iter", "span": { "begin": [ - 821, + 840, 5 ], "end": [ - 823, + 842, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7357": { + "7359": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -616862,29 +635934,32 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7357, + "id": 7359, "inner": { "impl": { "blanket_impl": null, "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 7294, + "path": "Receiver" } - }, - "id": 7305, - "path": "Iter" + } } }, "generics": { @@ -616914,91 +635989,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7355, - 7356 - ], - "provided_trait_methods": [ - "next_chunk", - "size_hint", - "count", - "last", - "advance_by", - "nth", - "step_by", - "chain", - "zip", - "intersperse", - "intersperse_with", - "map", - "for_each", - "filter", - "filter_map", - "enumerate", - "peekable", - "skip_while", - "take_while", - "map_while", - "skip", - "take", - "scan", - "flat_map", - "flatten", - "map_windows", - "fuse", - "inspect", - "by_ref", - "collect", - "try_collect", - "collect_into", - "partition", - "partition_in_place", - "is_partitioned", - "try_fold", - "try_for_each", - "fold", - "reduce", - "try_reduce", - "all", - "any", - "find", - "find_map", - "try_find", - "position", - "rposition", - "max", - "min", - "max_by_key", - "max_by", - "min_by_key", - "min_by", - "rev", - "unzip", - "copied", - "cloned", - "cycle", - "array_chunks", - "sum", - "product", - "cmp", - "cmp_by", - "partial_cmp", - "partial_cmp_by", - "eq", - "eq_by", - "ne", - "lt", - "le", - "gt", - "ge", - "is_sorted", - "is_sorted_by", - "is_sorted_by_key", - "__iterator_get_unchecked" + 7356, + 7357, + 7358 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 49, - "path": "Iterator" + "id": 47, + "path": "IntoIterator" } } }, @@ -617006,109 +636005,17 @@ "name": null, "span": { "begin": [ - 818, + 836, 1 ], "end": [ - 824, + 843, 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7359": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7359, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7297, - "path": "TryIter" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, "736": { "attrs": [ { @@ -617206,89 +636113,30 @@ "docs": null, "id": 7360, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7297, - "path": "TryIter" - } - }, + "assoc_type": { + "bounds": [], "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" + "type": { + "generic": "T" } } }, "links": {}, - "name": null, - "span": null, + "name": "Item", + "span": { + "begin": [ + 855, + 5 + ], + "end": [ + 855, + 19 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, "visibility": "default" }, "7361": { @@ -617298,16 +636146,17 @@ "docs": null, "id": 7361, "inner": { - "impl": { - "blanket_impl": null, - "for": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -617317,90 +636166,41 @@ "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 7362, + "path": "IntoIter" } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" } } }, "links": {}, - "name": null, - "span": null, + "name": "IntoIter", + "span": { + "begin": [ + 856, + 5 + ], + "end": [ + 856, + 33 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, "visibility": "default" }, "7362": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "An owning iterator over messages on a [`Receiver`],\ncreated by [`into_iter`].\n\nThis iterator will block whenever [`next`]\nis called, waiting for a new message, and [`None`] will be\nreturned if the corresponding channel has hung up.\n\n[`into_iter`]: Receiver::into_iter\n[`next`]: Iterator::next\n\n# Examples\n\n```rust\n#![feature(mpmc_channel)]\n\nuse std::sync::mpmc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2u8).unwrap();\n send.send(3u8).unwrap();\n});\n\nfor x in recv.into_iter() {\n println!(\"Got: {x}\");\n}\n```", "id": 7362, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7297, - "path": "TryIter" - } - }, + "struct": { "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -617414,22 +636214,51 @@ ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" + "impls": [ + 7417, + 7418, + 7419, + 7420, + 7421, + 7422, + 7423, + 7424, + 7425, + 7426, + 7427, + 7428, + 7429, + 7430, + 7432, + 7435 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" + "links": { + "Iterator::next": 7376, + "Receiver::into_iter": 7363, + "`None`": 53, + "`Receiver`": 7294 + }, + "name": "IntoIter", + "span": { + "begin": [ + 813, + 1 + ], + "end": [ + 815, + 2 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" }, "7363": { "attrs": [], @@ -617438,71 +636267,70 @@ "docs": null, "id": 7363, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7297, - "path": "TryIter" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } }, - "name": "T" + "id": 7362, + "path": "IntoIter" } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + } } } }, "links": {}, - "name": null, - "span": null, + "name": "into_iter", + "span": { + "begin": [ + 858, + 5 + ], + "end": [ + 860, + 6 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, "visibility": "default" }, "7364": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, @@ -617515,9 +636343,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -617527,20 +636352,12 @@ "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 7294, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -617555,41 +636372,54 @@ "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7360, + 7361, + 7363 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 47, + "path": "IntoIterator" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 854, + 1 + ], + "end": [ + 861, + 2 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, "visibility": "default" }, "7365": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, "id": 7365, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -617599,8 +636429,8 @@ "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -617608,7 +636438,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], "default": null, "is_synthetic": false } @@ -617616,52 +636458,17 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 1, + "path": "Send" } } }, @@ -617669,36 +636476,35 @@ "name": null, "span": { "begin": [ - 209, + 876, 1 ], "end": [ - 209, - 32 + 876, + 45 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, "7366": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, "id": 7366, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -617708,8 +636514,8 @@ "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -617717,7 +636523,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], "default": null, "is_synthetic": false } @@ -617725,52 +636543,17 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 324 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 5, + "path": "Sync" } } }, @@ -617778,36 +636561,35 @@ "name": null, "span": { "begin": [ - 217, + 878, 1 ], "end": [ - 217, - 35 + 878, + 45 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, "7367": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, "id": 7367, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -617817,8 +636599,8 @@ "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -617832,75 +636614,19 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 327 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, @@ -617908,36 +636634,35 @@ "name": null, "span": { "begin": [ - 773, + 881, 1 ], "end": [ - 775, - 24 + 881, + 38 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, "7368": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, "id": 7368, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -617947,8 +636672,8 @@ "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -617969,25 +636694,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 329 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -617995,14 +636707,14 @@ "name": null, "span": { "begin": [ - 791, + 883, 1 ], "end": [ - 791, - 28 + 883, + 41 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, @@ -618013,127 +636725,50 @@ "docs": null, "id": 7369, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7297, - "path": "TryIter" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "params": [], + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, "type": { - "generic": "U" + "generic": "Self" } } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + } + ] + ], + "is_c_variadic": false, + "output": null } } }, "links": {}, - "name": null, + "name": "drop", "span": { "begin": [ - 817, - 1 + 1355, + 5 ], "end": [ - 819, - 27 + 1363, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, @@ -618192,27 +636827,27 @@ "where_predicates": [] }, "impls": [ - 8321, - 8324, - 8325, - 8326, - 8327, - 8328, - 8329, - 8330, - 8331, - 8332, - 8333, - 8334, - 8335, - 8337, - 8340, - 8342, - 8344, - 8346, - 8347, - 8348, - 8349 + 7833, + 7836, + 7837, + 7838, + 7839, + 7840, + 7841, + 7842, + 7843, + 7844, + 7845, + 7846, + 7847, + 7849, + 7852, + 7854, + 7856, + 7858, + 7859, + 7860, + 7861 ], "kind": { "plain": { @@ -618223,12 +636858,12 @@ } }, "links": { - "LazyLock::force": 8318, - "`LazyLock::new`": 8317, - "crate::cell::LazyCell": 8316, - "crate::sync::poison": 7825, - "crate::sync::poison::Mutex": 495, - "crate::sync::poison::PoisonError::into_inner": 7892 + "LazyLock::force": 7828, + "`LazyLock::new`": 7827, + "crate::cell::LazyCell": 7826, + "crate::sync::poison": 7829, + "crate::sync::poison::Mutex": 496, + "crate::sync::poison::PoisonError::into_inner": 7830 }, "name": "LazyLock", "span": { @@ -618245,24 +636880,23 @@ "visibility": "public" }, "7370": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, "id": 7370, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -618272,8 +636906,8 @@ "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -618287,76 +636921,21 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 7369 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 9, + "path": "Drop" } } }, @@ -618364,14 +636943,14 @@ "name": null, "span": { "begin": [ - 833, + 1354, 1 ], "end": [ - 835, - 24 + 1364, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, @@ -618382,119 +636961,73 @@ "docs": null, "id": 7371, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7297, - "path": "TryIter" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "generic_params": [], - "type": { - "generic": "T" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } } } }, "links": {}, - "name": null, + "name": "clone", "span": { "begin": [ - 138, - 1 + 1368, + 5 ], "end": [ - 138, - 36 + 1376, + 6 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, "7372": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, "id": 7372, "inner": { "impl": { - "blanket_impl": { - "generic": "I" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -618504,8 +637037,8 @@ "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 7294, + "path": "Receiver" } }, "generics": { @@ -618518,46 +637051,24 @@ "is_synthetic": false } }, - "name": "I" + "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 49, - "path": "Iterator" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "I" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 858, - 859, - 860 + 7371 + ], + "provided_trait_methods": [ + "clone_from" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 47, - "path": "IntoIterator" + "id": 97, + "path": "Clone" } } }, @@ -618565,23 +637076,19 @@ "name": null, "span": { "begin": [ - 314, + 1367, 1 ], "end": [ - 314, - 37 + 1377, + 2 ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, "7373": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, @@ -618631,8 +637138,8 @@ "constraints": [] } }, - "id": 343, - "path": "$crate::fmt::Formatter" + "id": 341, + "path": "fmt::Formatter" } } } @@ -618643,8 +637150,8 @@ "output": { "resolved_path": { "args": null, - "id": 344, - "path": "$crate::fmt::Result" + "id": 342, + "path": "fmt::Result" } } } @@ -618654,12 +637161,12 @@ "name": "fmt", "span": { "begin": [ - 776, - 10 + 1381, + 5 ], "end": [ - 776, - 15 + 1383, + 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, @@ -618669,8 +637176,7 @@ "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - }, - "automatically_derived" + } ], "crate_id": 0, "deprecation": null, @@ -618684,9 +637190,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -618696,39 +637199,16 @@ "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 7294, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "$crate::fmt::Debug" - } - } - }, - { - "outlives": "'a" - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -618747,7 +637227,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -618756,131 +637236,115 @@ "name": null, "span": { "begin": [ - 776, - 10 + 1380, + 1 ], "end": [ - 776, - 15 + 1384, + 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7375": { + "7377": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7375, + "id": 7377, "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7343, + "path": "Iter" + } }, - "type": { - "generic": "T" - } - } - }, - "links": {}, - "name": "Item", - "span": { - "begin": [ - 828, - 5 - ], - "end": [ - 828, - 19 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, - "visibility": "default" - }, - "7376": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7376, - "inner": { - "function": { "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] } - } - ] + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "id": 51, - "path": "Option" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, "links": {}, - "name": "next", - "span": { - "begin": [ - 830, - 5 - ], - "end": [ - 832, - 6 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "7377": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" - } - ], + "7378": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7377, + "id": 7378, "inner": { "impl": { "blanket_impl": null, @@ -618901,8 +637365,8 @@ "constraints": [] } }, - "id": 7297, - "path": "TryIter" + "id": 7343, + "path": "Iter" } }, "generics": { @@ -618926,113 +637390,45 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 7375, - 7376 - ], - "provided_trait_methods": [ - "next_chunk", - "size_hint", - "count", - "last", - "advance_by", - "nth", - "step_by", - "chain", - "zip", - "intersperse", - "intersperse_with", - "map", - "for_each", - "filter", - "filter_map", - "enumerate", - "peekable", - "skip_while", - "take_while", - "map_while", - "skip", - "take", - "scan", - "flat_map", - "flatten", - "map_windows", - "fuse", - "inspect", - "by_ref", - "collect", - "try_collect", - "collect_into", - "partition", - "partition_in_place", - "is_partitioned", - "try_fold", - "try_for_each", - "fold", - "reduce", - "try_reduce", - "all", - "any", - "find", - "find_map", - "try_find", - "position", - "rposition", - "max", - "min", - "max_by_key", - "max_by", - "min_by_key", - "min_by", - "rev", - "unzip", - "copied", - "cloned", - "cycle", - "array_chunks", - "sum", - "product", - "cmp", - "cmp_by", - "partial_cmp", - "partial_cmp_by", - "eq", - "eq_by", - "ne", - "lt", - "le", - "gt", - "ge", - "is_sorted", - "is_sorted_by", - "is_sorted_by_key", - "__iterator_get_unchecked" - ], + "items": [], + "provided_trait_methods": [], "trait": { "args": null, - "id": 49, - "path": "Iterator" + "id": 5, + "path": "Sync" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 827, - 1 - ], - "end": [ - 833, - 2 - ], - "filename": "std/src/sync/mpmc/mod.rs" - }, + "span": null, "visibility": "default" }, "7379": { @@ -619049,6 +637445,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -619058,12 +637457,20 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -619075,29 +637482,7 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -619106,8 +637491,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 313, + "path": "Freeze" } } }, @@ -619223,9 +637608,9 @@ "Default::default": 734, "Self::with_capacity_and_hasher": 736, "Self::with_hasher": 735, - "`Eq`": 113, + "`Eq`": 111, "`Hash`": 539, - "`PartialEq`": 123, + "`PartialEq`": 121, "crate::cell::Cell": 378, "crate::cell::RefCell": 380, "crate::collections#use-a-hashmap-when": 733, @@ -619259,6 +637644,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -619268,93 +637656,20 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7381": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7381, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } + "name": "'a" }, - "id": 7324, - "path": "IntoIter" - } - }, - "generics": { - "params": [ { "kind": { "type": { @@ -619375,8 +637690,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -619385,12 +637700,12 @@ "span": null, "visibility": "default" }, - "7382": { + "7381": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7382, + "id": 7381, "inner": { "impl": { "blanket_impl": null, @@ -619399,6 +637714,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -619408,71 +637726,20 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7383": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7383, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } + "name": "'a" }, - "id": 7324, - "path": "IntoIter" - } - }, - "generics": { - "params": [ { "kind": { "type": { @@ -619493,7 +637760,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -619503,12 +637770,12 @@ "span": null, "visibility": "default" }, - "7384": { + "7382": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7384, + "id": 7382, "inner": { "impl": { "blanket_impl": null, @@ -619517,6 +637784,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -619526,12 +637796,20 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -619552,7 +637830,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -619562,12 +637840,12 @@ "span": null, "visibility": "default" }, - "7385": { + "7383": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7385, + "id": 7383, "inner": { "impl": { "blanket_impl": { @@ -619578,6 +637856,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -619587,8 +637868,8 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { @@ -619632,7 +637913,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -619648,7 +637929,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -619657,23 +637938,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7386": { + "7384": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7386, + "id": 7384, "inner": { "impl": { "blanket_impl": { @@ -619684,6 +637965,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -619693,8 +637977,8 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { @@ -619738,7 +638022,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -619754,7 +638038,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -619763,23 +638047,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7387": { + "7385": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7387, + "id": 7385, "inner": { "impl": { "blanket_impl": { @@ -619790,6 +638074,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -619799,8 +638086,8 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { @@ -619865,7 +638152,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -619890,23 +638177,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7388": { + "7386": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7388, + "id": 7386, "inner": { "impl": { "blanket_impl": { @@ -619917,6 +638204,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -619926,8 +638216,8 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { @@ -619949,7 +638239,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -619974,23 +638264,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7389": { + "7387": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7389, + "id": 7387, "inner": { "impl": { "blanket_impl": { @@ -620001,6 +638291,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -620010,8 +638303,8 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { @@ -620058,7 +638351,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -620076,8 +638369,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -620093,7 +638386,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -620102,87 +638395,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "739": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"hashmap_build_hasher\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "`RandomState` is the default state for [`HashMap`] types.\n\nA particular instance `RandomState` will create the same instances of\n[`Hasher`], but the hashers created by two different `RandomState`\ninstances are unlikely to produce the same result for the same values.\n\n[`HashMap`]: crate::collections::HashMap\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);\n```", - "id": 739, - "inner": { - "struct": { - "generics": { - "params": [], - "where_predicates": [] - }, - "impls": [ - 2984, - 2985, - 2986, - 2987, - 2988, - 2989, - 2990, - 2991, - 2992, - 2993, - 2994, - 2995, - 2996, - 2997, - 2998, - 2999, - 3001, - 3004, - 3006, - 3008 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "`Hasher`": 537, - "crate::collections::HashMap": 738 - }, - "name": "RandomState", - "span": { - "begin": [ - 36, - 1 - ], - "end": [ - 39, - 2 - ], - "filename": "std/src/hash/random.rs" - }, - "visibility": "public" - }, - "7390": { + "7388": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7390, + "id": 7388, "inner": { "impl": { "blanket_impl": { @@ -620193,6 +638422,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -620202,8 +638434,8 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { @@ -620268,8 +638500,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -620285,7 +638517,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -620294,23 +638526,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7391": { + "7389": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7391, + "id": 7389, "inner": { "impl": { "blanket_impl": { @@ -620321,6 +638553,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -620330,8 +638565,8 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { @@ -620378,12 +638613,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -620403,12 +638638,76 @@ }, "visibility": "default" }, - "7392": { + "739": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"hashmap_build_hasher\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "`RandomState` is the default state for [`HashMap`] types.\n\nA particular instance `RandomState` will create the same instances of\n[`Hasher`], but the hashers created by two different `RandomState`\ninstances are unlikely to produce the same result for the same values.\n\n[`HashMap`]: crate::collections::HashMap\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);\n```", + "id": 739, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 2986, + 2987, + 2988, + 2989, + 2990, + 2991, + 2992, + 2993, + 2994, + 2995, + 2996, + 2997, + 2998, + 2999, + 3000, + 3001, + 3003, + 3006, + 3008, + 3010 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "`Hasher`": 537, + "crate::collections::HashMap": 738 + }, + "name": "RandomState", + "span": { + "begin": [ + 36, + 1 + ], + "end": [ + 39, + 2 + ], + "filename": "std/src/hash/random.rs" + }, + "visibility": "public" + }, + "7390": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7392, + "id": 7390, "inner": { "impl": { "blanket_impl": { @@ -620419,6 +638718,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -620428,8 +638730,8 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { @@ -620500,7 +638802,7 @@ }, "visibility": "default" }, - "7393": { + "7391": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -620509,7 +638811,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7393, + "id": 7391, "inner": { "function": { "generics": { @@ -620555,7 +638857,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -620567,7 +638869,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -620578,18 +638880,18 @@ "name": "fmt", "span": { "begin": [ - 812, + 731, 10 ], "end": [ - 812, + 731, 15 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7394": { + "7392": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -620599,7 +638901,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7394, + "id": 7392, "inner": { "impl": { "blanket_impl": null, @@ -620608,6 +638910,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -620617,12 +638922,20 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -620633,10 +638946,13 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } + }, + { + "outlives": "'a" } ], "default": null, @@ -620652,12 +638968,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7393 + 7391 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -620666,23 +638982,23 @@ "name": null, "span": { "begin": [ - 812, + 731, 10 ], "end": [ - 812, + 731, 15 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7395": { + "7393": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7395, + "id": 7393, "inner": { "assoc_type": { "bounds": [], @@ -620699,23 +639015,23 @@ "name": "Item", "span": { "begin": [ - 847, + 819, 5 ], "end": [ - 847, + 819, 19 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7396": { + "7394": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7396, + "id": 7394, "inner": { "function": { "generics": { @@ -620770,18 +639086,18 @@ "name": "next", "span": { "begin": [ - 848, + 821, 5 ], "end": [ - 850, + 823, 6 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7397": { + "7395": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" @@ -620790,7 +639106,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7397, + "id": 7395, "inner": { "impl": { "blanket_impl": null, @@ -620799,6 +639115,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -620808,12 +639127,20 @@ "constraints": [] } }, - "id": 7324, - "path": "IntoIter" + "id": 7343, + "path": "Iter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -620831,8 +639158,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7395, - 7396 + 7393, + 7394 ], "provided_trait_methods": [ "next_chunk", @@ -620923,17 +639250,109 @@ "name": null, "span": { "begin": [ - 846, + 818, 1 ], "end": [ - 851, + 824, 2 ], "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, + "7397": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7397, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, "7398": { "attrs": [], "crate_id": 0, @@ -620941,27 +639360,160 @@ "docs": null, "id": 7398, "inner": { - "use": { - "id": 7248, - "is_glob": true, - "name": "error", - "source": "error" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 149, - 1 - ], - "end": [ - 149, - 18 - ], - "filename": "std/src/sync/mpmc/mod.rs" + "span": null, + "visibility": "default" + }, + "7399": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7399, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, "74": { "attrs": [ @@ -621084,24 +639636,45 @@ "visibility": "public" }, "7400": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Creates a new asynchronous channel, returning the sender/receiver halves.\n\nAll data sent on the [`Sender`] will become available on the [`Receiver`] in\nthe same order as it was sent, and no [`send`] will block the calling thread\n(this channel has an \"infinite buffer\", unlike [`sync_channel`], which will\nblock after its buffer limit is reached). [`recv`] will block until a message\nis available while there is at least one [`Sender`] alive (including clones).\n\nThe [`Sender`] can be cloned to [`send`] to the same channel multiple times, but\nonly one [`Receiver`] is supported.\n\nIf the [`Receiver`] is disconnected while trying to [`send`] with the\n[`Sender`], the [`send`] method will return a [`SendError`]. Similarly, if the\n[`Sender`] is disconnected while trying to [`recv`], the [`recv`] method will\nreturn a [`RecvError`].\n\n[`send`]: Sender::send\n[`recv`]: Receiver::recv\n\n# Examples\n\n```\nuse std::sync::mpsc::channel;\nuse std::thread;\n\nlet (sender, receiver) = channel();\n\n// Spawn off an expensive computation\nthread::spawn(move || {\n# fn expensive_computation() {}\n sender.send(expensive_computation()).unwrap();\n});\n\n// Do some useful work for a while\n\n// Let's see what that answer was\nprintln!(\"{:?}\", receiver.recv().unwrap());\n```", + "docs": null, "id": 7400, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -621115,101 +639688,63 @@ ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7405, - "path": "Sender" - } - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7403, - "path": "Receiver" - } - } - ] - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" } } }, - "links": { - "Receiver::recv": 7402, - "Sender::send": 7499, - "`Receiver`": 7403, - "`RecvError`": 7203, - "`SendError`": 7207, - "`Sender`": 7405, - "`sync_channel`": 7401 - }, - "name": "channel", - "span": { - "begin": [ - 519, - 1 - ], - "end": [ - 522, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, "7401": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Creates a new synchronous, bounded channel.\n\nAll data sent on the [`SyncSender`] will become available on the [`Receiver`]\nin the same order as it was sent. Like asynchronous [`channel`]s, the\n[`Receiver`] will block until a message becomes available. `sync_channel`\ndiffers greatly in the semantics of the sender, however.\n\nThis channel has an internal buffer on which messages will be queued.\n`bound` specifies the buffer size. When the internal buffer becomes full,\nfuture sends will *block* waiting for the buffer to open up. Note that a\nbuffer size of 0 is valid, in which case this becomes \"rendezvous channel\"\nwhere each [`send`] will not return until a [`recv`] is paired with it.\n\nThe [`SyncSender`] can be cloned to [`send`] to the same channel multiple\ntimes, but only one [`Receiver`] is supported.\n\nLike asynchronous channels, if the [`Receiver`] is disconnected while trying\nto [`send`] with the [`SyncSender`], the [`send`] method will return a\n[`SendError`]. Similarly, If the [`SyncSender`] is disconnected while trying\nto [`recv`], the [`recv`] method will return a [`RecvError`].\n\n[`send`]: SyncSender::send\n[`recv`]: Receiver::recv\n\n# Examples\n\n```\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\nlet (sender, receiver) = sync_channel(1);\n\n// this returns immediately\nsender.send(1).unwrap();\n\nthread::spawn(move || {\n // this will block until the previous message has been received\n sender.send(2).unwrap();\n});\n\nassert_eq!(receiver.recv().unwrap(), 1);\nassert_eq!(receiver.recv().unwrap(), 2);\n```", + "docs": null, "id": 7401, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -621223,195 +639758,125 @@ ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "bound", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7406, - "path": "SyncSender" - } - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7403, - "path": "Receiver" - } - } - ] - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, - "links": { - "Receiver::recv": 7402, - "SyncSender::send": 7521, - "`Receiver`": 7403, - "`RecvError`": 7203, - "`SendError`": 7207, - "`SyncSender`": 7406, - "`channel`": 7400 - }, - "name": "sync_channel", - "span": { - "begin": [ - 569, - 1 - ], - "end": [ - 572, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, "7402": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent (at least one sender\nstill exists). Once a message is sent to the corresponding [`Sender`]\n(or [`SyncSender`]), this receiver will wake up and return that\nmessage.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\n```\nuse std::sync::mpsc;\nuse std::thread;\n\nlet (send, recv) = mpsc::channel();\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(Ok(1), recv.recv());\n```\n\nBuffering behavior:\n\n```\nuse std::sync::mpsc;\nuse std::thread;\nuse std::sync::mpsc::RecvError;\n\nlet (send, recv) = mpsc::channel();\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2).unwrap();\n send.send(3).unwrap();\n drop(send);\n});\n\n// wait for the thread to join so we ensure the sender is dropped\nhandle.join().unwrap();\n\nassert_eq!(Ok(1), recv.recv());\nassert_eq!(Ok(2), recv.recv());\nassert_eq!(Ok(3), recv.recv());\nassert_eq!(Err(RecvError), recv.recv());\n```", + "docs": null, "id": 7402, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" - } - } - } - ], - "constraints": [] + }, + "id": 7335, + "path": "TryIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] } }, - "id": 57, - "path": "Result" + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, - "links": { - "`Err`": 59, - "`Sender`": 7405, - "`SyncSender`": 7406 - }, - "name": "recv", - "span": { - "begin": [ - 848, - 5 - ], - "end": [ - 850, - 6 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, "7403": { - "attrs": [ - { - "other": "#[(not(test), rustc_diagnostic_item = \"Receiver\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"Receiver\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "The receiving half of Rust's [`channel`] (or [`sync_channel`]) type.\nThis half can only be owned by one thread.\n\nMessages sent to the channel can be retrieved using [`recv`].\n\n[`recv`]: Receiver::recv\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(\"Hello world!\").unwrap();\n thread::sleep(Duration::from_secs(2)); // block for two seconds\n send.send(\"Delayed for 2 seconds\").unwrap();\n});\n\nprintln!(\"{}\", recv.recv().unwrap()); // Received immediately\nprintln!(\"Waiting...\");\nprintln!(\"{}\", recv.recv().unwrap()); // Received after 2 seconds\n```", + "docs": null, "id": 7403, "inner": { - "struct": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, "generics": { "params": [ { @@ -621425,152 +639890,211 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, - "impls": [ - 7413, - 7414, - 7415, - 7416, - 7417, - 7418, - 7419, - 7420, - 7421, - 7422, - 7423, - 7424, - 7425, - 7426, - 7430, - 7435, - 7437 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, - "links": { - "Receiver::recv": 7402, - "`channel`": 7400, - "`sync_channel`": 7401 - }, - "name": "Receiver", + "links": {}, + "name": null, "span": { "begin": [ - 177, + 212, 1 ], "end": [ - 179, - 2 + 212, + 38 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, "7404": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Attempts to return a pending value on this receiver without blocking.\n\nThis method will never block the caller in order to wait for data to\nbecome available. Instead, this will always return immediately with a\npossible option of pending data on the channel.\n\nThis is useful for a flavor of \"optimistic check\" before deciding to\nblock on a receiver.\n\nCompared with [`recv`], this function has two failure cases instead of one\n(one for disconnection, one for an empty buffer).\n\n[`recv`]: Self::recv\n\n# Examples\n\n```rust\nuse std::sync::mpsc::{Receiver, channel};\n\nlet (_, receiver): (_, Receiver) = channel();\n\nassert!(receiver.try_recv().is_err());\n```", + "docs": null, "id": 7404, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ] + }, + "id": 7335, + "path": "TryIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 7209, - "path": "TryRecvError" - } + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "id": 57, - "path": "Result" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, - "links": { - "Self::recv": 7402 - }, - "name": "try_recv", + "links": {}, + "name": null, "span": { "begin": [ - 789, - 5 + 221, + 1 ], "end": [ - 791, - 6 + 221, + 41 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, "7405": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "The sending-half of Rust's asynchronous [`channel`] type.\n\nMessages can be sent through this channel with [`send`].\n\nNote: all senders (the original and its clones) need to be dropped for the receiver\nto stop blocking to receive messages with [`Receiver::recv`].\n\n[`send`]: Sender::send\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\n\nlet (sender, receiver) = channel();\nlet sender2 = sender.clone();\n\n// First thread owns sender\nthread::spawn(move || {\n sender.send(1).unwrap();\n});\n\n// Second thread owns sender2\nthread::spawn(move || {\n sender2.send(2).unwrap();\n});\n\nlet msg = receiver.recv().unwrap();\nlet msg2 = receiver.recv().unwrap();\n\nassert_eq!(3, msg + msg2);\n```", + "docs": null, "id": 7405, "inner": { - "struct": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, "generics": { "params": [ { @@ -621582,69 +640106,125 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, - "impls": [ - 7500, - 7501, - 7502, - 7503, - 7504, - 7505, - 7506, - 7507, - 7508, - 7509, - 7510, - 7511, - 7512, - 7513, - 7514, - 7515, - 7517, - 7519 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, - "links": { - "Sender::send": 7499, - "`Receiver::recv`": 7402, - "`channel`": 7400 - }, - "name": "Sender", + "links": {}, + "name": null, "span": { "begin": [ - 333, + 767, 1 ], "end": [ - 335, - 2 + 769, + 24 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "7406": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "The sending-half of Rust's synchronous [`sync_channel`] type.\n\nMessages can be sent through this channel with [`send`] or [`try_send`].\n\n[`send`] will block if there is no space in the internal buffer.\n\n[`send`]: SyncSender::send\n[`try_send`]: SyncSender::try_send\n\n# Examples\n\n```rust\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\n// Create a sync_channel with buffer size 2\nlet (sync_sender, receiver) = sync_channel(2);\nlet sync_sender2 = sync_sender.clone();\n\n// First thread owns sync_sender\nthread::spawn(move || {\n sync_sender.send(1).unwrap();\n sync_sender.send(2).unwrap();\n});\n\n// Second thread owns sync_sender2\nthread::spawn(move || {\n sync_sender2.send(3).unwrap();\n // thread will now block since the buffer is full\n println!(\"Thread unblocked!\");\n});\n\nlet mut msg;\n\nmsg = receiver.recv().unwrap();\nprintln!(\"message {msg} received\");\n\n// \"Thread unblocked!\" will be printed now\n\nmsg = receiver.recv().unwrap();\nprintln!(\"message {msg} received\");\n\nmsg = receiver.recv().unwrap();\n\nprintln!(\"message {msg} received\");\n```", + "docs": null, "id": 7406, "inner": { - "struct": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, "generics": { "params": [ { @@ -621660,329 +640240,408 @@ ], "where_predicates": [] }, - "impls": [ - 7523, - 7524, - 7525, - 7526, - 7527, - 7528, - 7529, - 7530, - 7531, - 7532, - 7533, - 7534, - 7535, - 7536, - 7537, - 7538, - 7540, - 7542 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, - "links": { - "SyncSender::send": 7521, - "SyncSender::try_send": 7522, - "`sync_channel`": 7401 - }, - "name": "SyncSender", + "links": {}, + "name": null, "span": { "begin": [ - 392, + 785, 1 ], "end": [ - 394, - 2 + 785, + 28 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "7407": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up, or if it waits more than `timeout`.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent (at least one sender\nstill exists). Once a message is sent to the corresponding [`Sender`]\n(or [`SyncSender`]), this receiver will wake up and return that\nmessage.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\nSuccessfully receiving value before encountering timeout:\n\n```no_run\nuse std::thread;\nuse std::time::Duration;\nuse std::sync::mpsc;\n\nlet (send, recv) = mpsc::channel();\n\nthread::spawn(move || {\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_timeout(Duration::from_millis(400)),\n Ok('a')\n);\n```\n\nReceiving an error upon reaching timeout:\n\n```no_run\nuse std::thread;\nuse std::time::Duration;\nuse std::sync::mpsc;\n\nlet (send, recv) = mpsc::channel();\n\nthread::spawn(move || {\n thread::sleep(Duration::from_millis(800));\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_timeout(Duration::from_millis(400)),\n Err(mpsc::RecvTimeoutError::Timeout)\n);\n```", + "docs": null, "id": 7407, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ], - [ - "timeout", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" + }, + "id": 7335, + "path": "TryIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } - } - ] + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 7205, - "path": "RecvTimeoutError" - } + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "U" } - }, - "id": 57, - "path": "Result" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, - "links": { - "`Err`": 59, - "`Sender`": 7405, - "`SyncSender`": 7406 - }, - "name": "recv_timeout", + "links": {}, + "name": null, "span": { "begin": [ - 908, - 5 + 811, + 1 ], "end": [ - 910, - 6 + 813, + 27 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "7408": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 46316, is_soft: false}, feature: \"deadline_api\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up, or if `deadline` is reached.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent. Once a message is\nsent to the corresponding [`Sender`] (or [`SyncSender`]), then this\nreceiver will wake up and return that message.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\nSuccessfully receiving value before reaching deadline:\n\n```no_run\n#![feature(deadline_api)]\nuse std::thread;\nuse std::time::{Duration, Instant};\nuse std::sync::mpsc;\n\nlet (send, recv) = mpsc::channel();\n\nthread::spawn(move || {\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_deadline(Instant::now() + Duration::from_millis(400)),\n Ok('a')\n);\n```\n\nReceiving an error upon reaching deadline:\n\n```no_run\n#![feature(deadline_api)]\nuse std::thread;\nuse std::time::{Duration, Instant};\nuse std::sync::mpsc;\n\nlet (send, recv) = mpsc::channel();\n\nthread::spawn(move || {\n thread::sleep(Duration::from_millis(800));\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_deadline(Instant::now() + Duration::from_millis(400)),\n Err(mpsc::RecvTimeoutError::Timeout)\n);\n```", + "docs": null, "id": 7408, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ], - [ - "deadline", - { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + }, + "id": 7335, + "path": "TryIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } - } - ] + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 7205, - "path": "RecvTimeoutError" - } + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "U" } - }, - "id": 57, - "path": "Result" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, - "links": { - "`Err`": 59, - "`Sender`": 7405, - "`SyncSender`": 7406 - }, - "name": "recv_deadline", + "links": {}, + "name": null, "span": { "begin": [ - 969, - 5 + 827, + 1 ], "end": [ - 971, - 6 + 829, + 24 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, "7409": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that will block waiting for messages, but never\n[`panic!`]. It will return [`None`] when the channel has hung up.\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1).unwrap();\n send.send(2).unwrap();\n send.send(3).unwrap();\n});\n\nlet mut iter = recv.iter();\nassert_eq!(iter.next(), Some(1));\nassert_eq!(iter.next(), Some(2));\nassert_eq!(iter.next(), Some(3));\nassert_eq!(iter.next(), None);\n```", + "docs": null, "id": 7409, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ] + }, + "id": 7335, + "path": "TryIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "id": 7410, - "path": "Iter" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, - "links": { - "`None`": 53, - "`panic!`": 492 - }, - "name": "iter", + "links": {}, + "name": null, "span": { "begin": [ - 997, - 5 + 138, + 1 ], "end": [ - 999, - 6 + 138, + 36 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, "741": { "attrs": [ @@ -622076,17 +640735,229 @@ "visibility": "public" }, "7410": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7410, + "inner": { + "impl": { + "blanket_impl": { + "generic": "I" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "I" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 49, + "path": "Iterator" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "I" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 858, + 859, + 860 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 47, + "path": "IntoIterator" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 314, + 1 + ], + "end": [ + 314, + 37 + ], + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + }, + "visibility": "default" + }, + "7411": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "An iterator over messages on a [`Receiver`], created by [`iter`].\n\nThis iterator will block whenever [`next`] is called,\nwaiting for a new message, and [`None`] will be returned\nwhen the corresponding channel has hung up.\n\n[`iter`]: Receiver::iter\n[`next`]: Iterator::next\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2u8).unwrap();\n send.send(3u8).unwrap();\n});\n\nfor x in recv.iter() {\n println!(\"Got: {x}\");\n}\n```", - "id": 7410, + "docs": null, + "id": 7411, "inner": { - "struct": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "$crate::fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "$crate::fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 776, + 10 + ], + "end": [ + 776, + 15 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "default" + }, + "7412": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7412, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, "generics": { "params": [ { @@ -622101,6 +640972,17 @@ "kind": { "type": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "$crate::fmt::Debug" + } + } + }, { "outlives": "'a" } @@ -622114,62 +640996,74 @@ ], "where_predicates": [] }, - "impls": [ - 7439, - 7440, - 7441, - 7442, - 7443, - 7444, - 7445, - 7446, - 7447, - 7448, - 7449, - 7450, - 7451, - 7452, - 7454, - 7457 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7411 ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" } } }, - "links": { - "Iterator::next": 7338, - "Receiver::iter": 7409, - "`None`": 53, - "`Receiver`": 7403 - }, - "name": "Iter", + "links": {}, + "name": null, "span": { "begin": [ - 218, - 1 + 776, + 10 ], "end": [ - 220, - 2 + 776, + 15 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "7411": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"receiver_try_iter\"}}]" + "7413": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7413, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } } - ], + }, + "links": {}, + "name": "Item", + "span": { + "begin": [ + 828, + 5 + ], + "end": [ + 828, + 19 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "default" + }, + "7414": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that will attempt to yield all pending values.\nIt will return `None` if there are no more pending values or if the\nchannel has hung up. The iterator will never [`panic!`] or block the\nuser by waiting for values.\n\n# Examples\n\n```no_run\nuse std::sync::mpsc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (sender, receiver) = channel();\n\n// nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\n\nthread::spawn(move || {\n thread::sleep(Duration::from_secs(1));\n sender.send(1).unwrap();\n sender.send(2).unwrap();\n sender.send(3).unwrap();\n});\n\n// nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\n\n// block for two seconds\nthread::sleep(Duration::from_secs(2));\n\nlet mut iter = receiver.try_iter();\nassert_eq!(iter.next(), Some(1));\nassert_eq!(iter.next(), Some(2));\nassert_eq!(iter.next(), Some(3));\nassert_eq!(iter.next(), None);\n```", - "id": 7411, + "docs": null, + "id": 7414, "inner": { "function": { "generics": { @@ -622189,7 +641083,7 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" @@ -622204,9 +641098,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -622216,42 +641107,62 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 51, + "path": "Option" } } } } }, - "links": { - "`panic!`": 492 - }, - "name": "try_iter", + "links": {}, + "name": "next", "span": { "begin": [ - 1038, + 830, 5 ], "end": [ - 1040, + 832, 6 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "7412": { + "7415": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"receiver_try_iter\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "An iterator that attempts to yield all pending values for a [`Receiver`],\ncreated by [`try_iter`].\n\n[`None`] will be returned when there are no pending values remaining or\nif the corresponding channel has hung up.\n\nThis iterator will never block the caller in order to wait for data to\nbecome available. Instead, it will return [`None`].\n\n[`try_iter`]: Receiver::try_iter\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (sender, receiver) = channel();\n\n// Nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\nprintln!(\"Nothing in the buffer...\");\n\nthread::spawn(move || {\n sender.send(1).unwrap();\n sender.send(2).unwrap();\n sender.send(3).unwrap();\n});\n\nprintln!(\"Going to sleep...\");\nthread::sleep(Duration::from_secs(2)); // block for two seconds\n\nfor x in receiver.try_iter() {\n println!(\"Got: {x}\");\n}\n```", - "id": 7412, + "docs": null, + "id": 7415, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7335, + "path": "TryIter" + } + }, "generics": { "params": [ { @@ -622265,11 +641176,7 @@ { "kind": { "type": { - "bounds": [ - { - "outlives": "'a" - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -622279,57 +641186,119 @@ ], "where_predicates": [] }, - "impls": [ - 7459, - 7460, - 7461, - 7462, - 7463, - 7464, - 7465, - 7466, - 7467, - 7468, - 7469, - 7470, - 7471, - 7472, - 7474, - 7477 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7413, + 7414 ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "provided_trait_methods": [ + "next_chunk", + "size_hint", + "count", + "last", + "advance_by", + "nth", + "step_by", + "chain", + "zip", + "intersperse", + "intersperse_with", + "map", + "for_each", + "filter", + "filter_map", + "enumerate", + "peekable", + "skip_while", + "take_while", + "map_while", + "skip", + "take", + "scan", + "flat_map", + "flatten", + "map_windows", + "fuse", + "inspect", + "by_ref", + "collect", + "try_collect", + "collect_into", + "partition", + "partition_in_place", + "is_partitioned", + "try_fold", + "try_for_each", + "fold", + "reduce", + "try_reduce", + "all", + "any", + "find", + "find_map", + "try_find", + "position", + "rposition", + "max", + "min", + "max_by_key", + "max_by", + "min_by_key", + "min_by", + "rev", + "unzip", + "copied", + "cloned", + "cycle", + "array_chunks", + "sum", + "product", + "cmp", + "cmp_by", + "partial_cmp", + "partial_cmp_by", + "eq", + "eq_by", + "ne", + "lt", + "le", + "gt", + "ge", + "is_sorted", + "is_sorted_by", + "is_sorted_by_key", + "__iterator_get_unchecked" + ], + "trait": { + "args": null, + "id": 49, + "path": "Iterator" } } }, - "links": { - "Receiver::try_iter": 7411, - "`None`": 53, - "`Receiver`": 7403 - }, - "name": "TryIter", + "links": {}, + "name": null, "span": { "begin": [ - 261, + 827, 1 ], "end": [ - 263, + 833, 2 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "7413": { + "7417": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7413, + "id": 7417, "inner": { "impl": { "blanket_impl": null, @@ -622347,8 +641316,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -622364,44 +641333,134 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 7404, - 7402, - 7407, - 7408, - 7409, - 7411 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 764, - 1 - ], - "end": [ - 1041, - 2 - ], - "filename": "std/src/sync/mpsc.rs" + "span": null, + "visibility": "default" + }, + "7418": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7418, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7362, + "path": "IntoIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } }, + "links": {}, + "name": null, + "span": null, "visibility": "default" }, - "7414": { + "7419": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7414, + "id": 7419, "inner": { "impl": { "blanket_impl": null, @@ -622419,8 +641478,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -622445,7 +641504,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -622455,12 +641514,104 @@ "span": null, "visibility": "default" }, - "7415": { + "742": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7415, + "id": 742, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 739, + "path": "crate::hash::RandomState" + } + } + } + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 740, + 741 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 250, + 1 + ], + "end": [ + 287, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "7420": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7420, "inner": { "impl": { "blanket_impl": null, @@ -622478,8 +641629,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -622514,12 +641665,12 @@ "span": null, "visibility": "default" }, - "7416": { + "7421": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7416, + "id": 7421, "inner": { "impl": { "blanket_impl": null, @@ -622537,8 +641688,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -622563,7 +641714,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -622573,12 +641724,12 @@ "span": null, "visibility": "default" }, - "7417": { + "7422": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7417, + "id": 7422, "inner": { "impl": { "blanket_impl": null, @@ -622596,8 +641747,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -622622,7 +641773,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -622632,12 +641783,12 @@ "span": null, "visibility": "default" }, - "7418": { + "7423": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7418, + "id": 7423, "inner": { "impl": { "blanket_impl": { @@ -622657,8 +641808,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -622702,7 +641853,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -622718,7 +641869,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -622727,23 +641878,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7419": { + "7424": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7419, + "id": 7424, "inner": { "impl": { "blanket_impl": { @@ -622763,8 +641914,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -622808,7 +641959,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -622824,7 +641975,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -622833,115 +641984,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "742": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 742, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 739, - "path": "crate::hash::RandomState" - } - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 740, - 741 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 250, - 1 - ], - "end": [ - 287, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "7420": { + "7425": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7420, + "id": 7425, "inner": { "impl": { "blanket_impl": { @@ -622961,8 +642020,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -623027,7 +642086,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -623052,23 +642111,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7421": { + "7426": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7421, + "id": 7426, "inner": { "impl": { "blanket_impl": { @@ -623088,8 +642147,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -623111,7 +642170,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -623136,23 +642195,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7422": { + "7427": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7422, + "id": 7427, "inner": { "impl": { "blanket_impl": { @@ -623172,8 +642231,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -623220,7 +642279,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -623238,8 +642297,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -623255,7 +642314,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -623264,23 +642323,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7423": { + "7428": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7423, + "id": 7428, "inner": { "impl": { "blanket_impl": { @@ -623300,8 +642359,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -623366,8 +642425,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -623383,7 +642442,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -623392,23 +642451,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7424": { + "7429": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7424, + "id": 7429, "inner": { "impl": { "blanket_impl": { @@ -623428,8 +642487,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -623476,12 +642535,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -623501,19 +642560,17 @@ }, "visibility": "default" }, - "7425": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "7430": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7425, + "id": 7430, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "I" + }, "for": { "resolved_path": { "args": { @@ -623528,8 +642585,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -623537,37 +642594,51 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "T" + "name": "I" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 49, + "path": "Iterator" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "I" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 858, + 859, + 860 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 47, + "path": "IntoIterator" } } }, @@ -623575,27 +642646,117 @@ "name": null, "span": { "begin": [ - 184, + 314, 1 ], "end": [ - 184, - 45 + 314, + 37 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" }, "visibility": "default" }, - "7426": { + "7431": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7426, + "id": 7431, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "$crate::fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "$crate::fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 812, + 10 + ], + "end": [ + 812, + 15 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "default" + }, + "7432": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7432, "inner": { "impl": { "blanket_impl": null, @@ -623613,8 +642774,8 @@ "constraints": [] } }, - "id": 7403, - "path": "Receiver" + "id": 7362, + "path": "IntoIter" } }, "generics": { @@ -623622,7 +642783,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "$crate::fmt::Debug" + } + } + } + ], "default": null, "is_synthetic": false } @@ -623632,15 +642805,17 @@ ], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7431 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 344, + "path": "Debug" } } }, @@ -623648,23 +642823,23 @@ "name": null, "span": { "begin": [ - 187, - 1 + 812, + 10 ], "end": [ - 187, - 33 + 812, + 15 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7427": { + "7433": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7427, + "id": 7433, "inner": { "assoc_type": { "bounds": [], @@ -623681,38 +642856,106 @@ "name": "Item", "span": { "begin": [ - 1063, + 847, 5 ], "end": [ - 1063, + 847, 19 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7428": { + "7434": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7428, + "id": 7434, "inner": { - "assoc_type": { - "bounds": [], + "function": { "generics": { "params": [], "where_predicates": [] }, - "type": { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "next", + "span": { + "begin": [ + 848, + 5 + ], + "end": [ + 850, + 6 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "default" + }, + "7435": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126840, is_soft: false}, feature: \"mpmc_channel\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7435, + "inner": { + "impl": { + "blanket_impl": null, + "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -623722,33 +642965,858 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7362, + "path": "IntoIter" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7433, + 7434 + ], + "provided_trait_methods": [ + "next_chunk", + "size_hint", + "count", + "last", + "advance_by", + "nth", + "step_by", + "chain", + "zip", + "intersperse", + "intersperse_with", + "map", + "for_each", + "filter", + "filter_map", + "enumerate", + "peekable", + "skip_while", + "take_while", + "map_while", + "skip", + "take", + "scan", + "flat_map", + "flatten", + "map_windows", + "fuse", + "inspect", + "by_ref", + "collect", + "try_collect", + "collect_into", + "partition", + "partition_in_place", + "is_partitioned", + "try_fold", + "try_for_each", + "fold", + "reduce", + "try_reduce", + "all", + "any", + "find", + "find_map", + "try_find", + "position", + "rposition", + "max", + "min", + "max_by_key", + "max_by", + "min_by_key", + "min_by", + "rev", + "unzip", + "copied", + "cloned", + "cycle", + "array_chunks", + "sum", + "product", + "cmp", + "cmp_by", + "partial_cmp", + "partial_cmp_by", + "eq", + "eq_by", + "ne", + "lt", + "le", + "gt", + "ge", + "is_sorted", + "is_sorted_by", + "is_sorted_by_key", + "__iterator_get_unchecked" + ], + "trait": { + "args": null, + "id": 49, + "path": "Iterator" } } }, "links": {}, - "name": "IntoIter", + "name": null, "span": { "begin": [ - 1064, - 5 + 846, + 1 ], "end": [ - 1064, - 33 + 851, + 2 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/sync/mpmc/mod.rs" }, "visibility": "default" }, - "7429": { + "7436": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7429, + "docs": null, + "id": 7436, + "inner": { + "use": { + "id": 7286, + "is_glob": true, + "name": "error", + "source": "error" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 149, + 1 + ], + "end": [ + 149, + 18 + ], + "filename": "std/src/sync/mpmc/mod.rs" + }, + "visibility": "public" + }, + "7438": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a new asynchronous channel, returning the sender/receiver halves.\n\nAll data sent on the [`Sender`] will become available on the [`Receiver`] in\nthe same order as it was sent, and no [`send`] will block the calling thread\n(this channel has an \"infinite buffer\", unlike [`sync_channel`], which will\nblock after its buffer limit is reached). [`recv`] will block until a message\nis available while there is at least one [`Sender`] alive (including clones).\n\nThe [`Sender`] can be cloned to [`send`] to the same channel multiple times, but\nonly one [`Receiver`] is supported.\n\nIf the [`Receiver`] is disconnected while trying to [`send`] with the\n[`Sender`], the [`send`] method will return a [`SendError`]. Similarly, if the\n[`Sender`] is disconnected while trying to [`recv`], the [`recv`] method will\nreturn a [`RecvError`].\n\n[`send`]: Sender::send\n[`recv`]: Receiver::recv\n\n# Examples\n\n```\nuse std::sync::mpsc::channel;\nuse std::thread;\n\nlet (sender, receiver) = channel();\n\n// Spawn off an expensive computation\nthread::spawn(move || {\n# fn expensive_computation() {}\n sender.send(expensive_computation()).unwrap();\n});\n\n// Do some useful work for a while\n\n// Let's see what that answer was\nprintln!(\"{:?}\", receiver.recv().unwrap());\n```", + "id": 7438, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7443, + "path": "Sender" + } + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7441, + "path": "Receiver" + } + } + ] + } + } + } + }, + "links": { + "Receiver::recv": 7440, + "Sender::send": 7537, + "`Receiver`": 7441, + "`RecvError`": 7241, + "`SendError`": 7245, + "`Sender`": 7443, + "`sync_channel`": 7439 + }, + "name": "channel", + "span": { + "begin": [ + 519, + 1 + ], + "end": [ + 522, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "7439": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a new synchronous, bounded channel.\n\nAll data sent on the [`SyncSender`] will become available on the [`Receiver`]\nin the same order as it was sent. Like asynchronous [`channel`]s, the\n[`Receiver`] will block until a message becomes available. `sync_channel`\ndiffers greatly in the semantics of the sender, however.\n\nThis channel has an internal buffer on which messages will be queued.\n`bound` specifies the buffer size. When the internal buffer becomes full,\nfuture sends will *block* waiting for the buffer to open up. Note that a\nbuffer size of 0 is valid, in which case this becomes \"rendezvous channel\"\nwhere each [`send`] will not return until a [`recv`] is paired with it.\n\nThe [`SyncSender`] can be cloned to [`send`] to the same channel multiple\ntimes, but only one [`Receiver`] is supported.\n\nLike asynchronous channels, if the [`Receiver`] is disconnected while trying\nto [`send`] with the [`SyncSender`], the [`send`] method will return a\n[`SendError`]. Similarly, If the [`SyncSender`] is disconnected while trying\nto [`recv`], the [`recv`] method will return a [`RecvError`].\n\n[`send`]: SyncSender::send\n[`recv`]: Receiver::recv\n\n# Examples\n\n```\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\nlet (sender, receiver) = sync_channel(1);\n\n// this returns immediately\nsender.send(1).unwrap();\n\nthread::spawn(move || {\n // this will block until the previous message has been received\n sender.send(2).unwrap();\n});\n\nassert_eq!(receiver.recv().unwrap(), 1);\nassert_eq!(receiver.recv().unwrap(), 2);\n```", + "id": 7439, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "bound", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "tuple": [ + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7444, + "path": "SyncSender" + } + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7441, + "path": "Receiver" + } + } + ] + } + } + } + }, + "links": { + "Receiver::recv": 7440, + "SyncSender::send": 7559, + "`Receiver`": 7441, + "`RecvError`": 7241, + "`SendError`": 7245, + "`SyncSender`": 7444, + "`channel`": 7438 + }, + "name": "sync_channel", + "span": { + "begin": [ + 569, + 1 + ], + "end": [ + 572, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "744": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the number of elements the map can hold without reallocating.\n\nThis number is a lower bound; the `HashMap` might be able to hold\nmore, but is guaranteed to be able to hold at least this many.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nlet map: HashMap = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);\n```", + "id": 744, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "capacity", + "span": { + "begin": [ + 365, + 5 + ], + "end": [ + 367, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7440": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent (at least one sender\nstill exists). Once a message is sent to the corresponding [`Sender`]\n(or [`SyncSender`]), this receiver will wake up and return that\nmessage.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\n```\nuse std::sync::mpsc;\nuse std::thread;\n\nlet (send, recv) = mpsc::channel();\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n});\n\nhandle.join().unwrap();\n\nassert_eq!(Ok(1), recv.recv());\n```\n\nBuffering behavior:\n\n```\nuse std::sync::mpsc;\nuse std::thread;\nuse std::sync::mpsc::RecvError;\n\nlet (send, recv) = mpsc::channel();\nlet handle = thread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2).unwrap();\n send.send(3).unwrap();\n drop(send);\n});\n\n// wait for the thread to join so we ensure the sender is dropped\nhandle.join().unwrap();\n\nassert_eq!(Ok(1), recv.recv());\nassert_eq!(Ok(2), recv.recv());\nassert_eq!(Ok(3), recv.recv());\nassert_eq!(Err(RecvError), recv.recv());\n```", + "id": 7440, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 7241, + "path": "RecvError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": { + "`Err`": 59, + "`Sender`": 7443, + "`SyncSender`": 7444 + }, + "name": "recv", + "span": { + "begin": [ + 848, + 5 + ], + "end": [ + 850, + 6 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "7441": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"Receiver\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"Receiver\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The receiving half of Rust's [`channel`] (or [`sync_channel`]) type.\nThis half can only be owned by one thread.\n\nMessages sent to the channel can be retrieved using [`recv`].\n\n[`recv`]: Receiver::recv\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(\"Hello world!\").unwrap();\n thread::sleep(Duration::from_secs(2)); // block for two seconds\n send.send(\"Delayed for 2 seconds\").unwrap();\n});\n\nprintln!(\"{}\", recv.recv().unwrap()); // Received immediately\nprintln!(\"Waiting...\");\nprintln!(\"{}\", recv.recv().unwrap()); // Received after 2 seconds\n```", + "id": 7441, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 7451, + 7452, + 7453, + 7454, + 7455, + 7456, + 7457, + 7458, + 7459, + 7460, + 7461, + 7462, + 7463, + 7464, + 7468, + 7473, + 7475 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "Receiver::recv": 7440, + "`channel`": 7438, + "`sync_channel`": 7439 + }, + "name": "Receiver", + "span": { + "begin": [ + 177, + 1 + ], + "end": [ + 179, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "7442": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to return a pending value on this receiver without blocking.\n\nThis method will never block the caller in order to wait for data to\nbecome available. Instead, this will always return immediately with a\npossible option of pending data on the channel.\n\nThis is useful for a flavor of \"optimistic check\" before deciding to\nblock on a receiver.\n\nCompared with [`recv`], this function has two failure cases instead of one\n(one for disconnection, one for an empty buffer).\n\n[`recv`]: Self::recv\n\n# Examples\n\n```rust\nuse std::sync::mpsc::{Receiver, channel};\n\nlet (_, receiver): (_, Receiver) = channel();\n\nassert!(receiver.try_recv().is_err());\n```", + "id": 7442, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 7247, + "path": "TryRecvError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": { + "Self::recv": 7440 + }, + "name": "try_recv", + "span": { + "begin": [ + 789, + 5 + ], + "end": [ + 791, + 6 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "7443": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The sending-half of Rust's asynchronous [`channel`] type.\n\nMessages can be sent through this channel with [`send`].\n\nNote: all senders (the original and its clones) need to be dropped for the receiver\nto stop blocking to receive messages with [`Receiver::recv`].\n\n[`send`]: Sender::send\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\n\nlet (sender, receiver) = channel();\nlet sender2 = sender.clone();\n\n// First thread owns sender\nthread::spawn(move || {\n sender.send(1).unwrap();\n});\n\n// Second thread owns sender2\nthread::spawn(move || {\n sender2.send(2).unwrap();\n});\n\nlet msg = receiver.recv().unwrap();\nlet msg2 = receiver.recv().unwrap();\n\nassert_eq!(3, msg + msg2);\n```", + "id": 7443, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 7538, + 7539, + 7540, + 7541, + 7542, + 7543, + 7544, + 7545, + 7546, + 7547, + 7548, + 7549, + 7550, + 7551, + 7552, + 7553, + 7555, + 7557 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "Sender::send": 7537, + "`Receiver::recv`": 7440, + "`channel`": 7438 + }, + "name": "Sender", + "span": { + "begin": [ + 333, + 1 + ], + "end": [ + 335, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "7444": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The sending-half of Rust's synchronous [`sync_channel`] type.\n\nMessages can be sent through this channel with [`send`] or [`try_send`].\n\n[`send`] will block if there is no space in the internal buffer.\n\n[`send`]: SyncSender::send\n[`try_send`]: SyncSender::try_send\n\n# Examples\n\n```rust\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\n// Create a sync_channel with buffer size 2\nlet (sync_sender, receiver) = sync_channel(2);\nlet sync_sender2 = sync_sender.clone();\n\n// First thread owns sync_sender\nthread::spawn(move || {\n sync_sender.send(1).unwrap();\n sync_sender.send(2).unwrap();\n});\n\n// Second thread owns sync_sender2\nthread::spawn(move || {\n sync_sender2.send(3).unwrap();\n // thread will now block since the buffer is full\n println!(\"Thread unblocked!\");\n});\n\nlet mut msg;\n\nmsg = receiver.recv().unwrap();\nprintln!(\"message {msg} received\");\n\n// \"Thread unblocked!\" will be printed now\n\nmsg = receiver.recv().unwrap();\nprintln!(\"message {msg} received\");\n\nmsg = receiver.recv().unwrap();\n\nprintln!(\"message {msg} received\");\n```", + "id": 7444, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 7561, + 7562, + 7563, + 7564, + 7565, + 7566, + 7567, + 7568, + 7569, + 7570, + 7571, + 7572, + 7573, + 7574, + 7575, + 7576, + 7578, + 7580 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "SyncSender::send": 7559, + "SyncSender::try_send": 7560, + "`sync_channel`": 7439 + }, + "name": "SyncSender", + "span": { + "begin": [ + 392, + 1 + ], + "end": [ + 394, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "7445": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up, or if it waits more than `timeout`.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent (at least one sender\nstill exists). Once a message is sent to the corresponding [`Sender`]\n(or [`SyncSender`]), this receiver will wake up and return that\nmessage.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\nSuccessfully receiving value before encountering timeout:\n\n```no_run\nuse std::thread;\nuse std::time::Duration;\nuse std::sync::mpsc;\n\nlet (send, recv) = mpsc::channel();\n\nthread::spawn(move || {\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_timeout(Duration::from_millis(400)),\n Ok('a')\n);\n```\n\nReceiving an error upon reaching timeout:\n\n```no_run\nuse std::thread;\nuse std::time::Duration;\nuse std::sync::mpsc;\n\nlet (send, recv) = mpsc::channel();\n\nthread::spawn(move || {\n thread::sleep(Duration::from_millis(800));\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_timeout(Duration::from_millis(400)),\n Err(mpsc::RecvTimeoutError::Timeout)\n);\n```", + "id": 7445, "inner": { "function": { "generics": { @@ -623767,7 +643835,23 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "timeout", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } } ] ], @@ -623778,229 +643862,258 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } }, { "type": { - "generic": "T" + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } } } ], "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 57, + "path": "Result" } } } } }, - "links": {}, - "name": "into_iter", + "links": { + "`Err`": 59, + "`Sender`": 7443, + "`SyncSender`": 7444 + }, + "name": "recv_timeout", "span": { "begin": [ - 1066, + 908, 5 ], "end": [ - 1068, + 910, 6 ], "filename": "std/src/sync/mpsc.rs" }, - "visibility": "default" + "visibility": "public" }, - "7430": { + "7446": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"receiver_into_iter\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 46316, is_soft: false}, feature: \"deadline_api\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7430, + "docs": "Attempts to wait for a value on this receiver, returning an error if the\ncorresponding channel has hung up, or if `deadline` is reached.\n\nThis function will always block the current thread if there is no data\navailable and it's possible for more data to be sent. Once a message is\nsent to the corresponding [`Sender`] (or [`SyncSender`]), then this\nreceiver will wake up and return that message.\n\nIf the corresponding [`Sender`] has disconnected, or it disconnects while\nthis call is blocking, this call will wake up and return [`Err`] to\nindicate that no more messages can ever be received on this channel.\nHowever, since channels are buffered, messages sent before the disconnect\nwill still be properly received.\n\n# Examples\n\nSuccessfully receiving value before reaching deadline:\n\n```no_run\n#![feature(deadline_api)]\nuse std::thread;\nuse std::time::{Duration, Instant};\nuse std::sync::mpsc;\n\nlet (send, recv) = mpsc::channel();\n\nthread::spawn(move || {\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_deadline(Instant::now() + Duration::from_millis(400)),\n Ok('a')\n);\n```\n\nReceiving an error upon reaching deadline:\n\n```no_run\n#![feature(deadline_api)]\nuse std::thread;\nuse std::time::{Duration, Instant};\nuse std::sync::mpsc;\n\nlet (send, recv) = mpsc::channel();\n\nthread::spawn(move || {\n thread::sleep(Duration::from_millis(800));\n send.send('a').unwrap();\n});\n\nassert_eq!(\n recv.recv_deadline(Instant::now() + Duration::from_millis(400)),\n Err(mpsc::RecvTimeoutError::Timeout)\n);\n```", + "id": 7446, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - }, - "id": 7403, - "path": "Receiver" + } } - } - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] + ], + [ + "deadline", + { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + } + } + ], + "constraints": [] } }, - "name": "T" + "id": 57, + "path": "Result" } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7427, - 7428, - 7429 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 47, - "path": "IntoIterator" + } } } }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1062, - 1 - ], - "end": [ - 1069, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7431": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7431, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "T" - } - } + "links": { + "`Err`": 59, + "`Sender`": 7443, + "`SyncSender`": 7444 }, - "links": {}, - "name": "Item", + "name": "recv_deadline", "span": { "begin": [ - 1081, + 969, 5 ], "end": [ - 1081, - 19 + 971, + 6 ], "filename": "std/src/sync/mpsc.rs" }, - "visibility": "default" + "visibility": "public" }, - "7432": { - "attrs": [], + "7447": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7432, + "docs": "Returns an iterator that will block waiting for messages, but never\n[`panic!`]. It will return [`None`] when the channel has hung up.\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1).unwrap();\n send.send(2).unwrap();\n send.send(3).unwrap();\n});\n\nlet mut iter = recv.iter();\nassert_eq!(iter.next(), Some(1));\nassert_eq!(iter.next(), Some(2));\nassert_eq!(iter.next(), Some(3));\nassert_eq!(iter.next(), None);\n```", + "id": 7447, "inner": { - "assoc_type": { - "bounds": [], + "function": { "generics": { "params": [], "where_predicates": [] }, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "constraints": [] + } } - }, - "id": 7433, - "path": "IntoIter" + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7448, + "path": "Iter" + } } } } }, - "links": {}, - "name": "IntoIter", + "links": { + "`None`": 53, + "`panic!`": 493 + }, + "name": "iter", "span": { "begin": [ - 1082, + 997, 5 ], "end": [ - 1082, - 33 + 999, + 6 ], "filename": "std/src/sync/mpsc.rs" }, - "visibility": "default" + "visibility": "public" }, - "7433": { + "7448": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"receiver_into_iter\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "An owning iterator over messages on a [`Receiver`],\ncreated by [`into_iter`].\n\nThis iterator will block whenever [`next`]\nis called, waiting for a new message, and [`None`] will be\nreturned if the corresponding channel has hung up.\n\n[`into_iter`]: Receiver::into_iter\n[`next`]: Iterator::next\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2u8).unwrap();\n send.send(3u8).unwrap();\n});\n\nfor x in recv.into_iter() {\n println!(\"Got: {x}\");\n}\n```", - "id": 7433, + "docs": "An iterator over messages on a [`Receiver`], created by [`iter`].\n\nThis iterator will block whenever [`next`] is called,\nwaiting for a new message, and [`None`] will be returned\nwhen the corresponding channel has hung up.\n\n[`iter`]: Receiver::iter\n[`next`]: Iterator::next\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2u8).unwrap();\n send.send(3u8).unwrap();\n});\n\nfor x in recv.iter() {\n println!(\"Got: {x}\");\n}\n```", + "id": 7448, "inner": { "struct": { "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "outlives": "'a" + } + ], "default": null, "is_synthetic": false } @@ -624011,6 +644124,8 @@ "where_predicates": [] }, "impls": [ + 7477, + 7478, 7479, 7480, 7481, @@ -624023,10 +644138,8 @@ 7488, 7489, 7490, - 7491, 7492, - 7494, - 7497 + 7495 ], "kind": { "plain": { @@ -624037,31 +644150,35 @@ } }, "links": { - "Iterator::next": 7338, - "Receiver::into_iter": 7434, + "Iterator::next": 7376, + "Receiver::iter": 7447, "`None`": 53, - "`Receiver`": 7403 + "`Receiver`": 7441 }, - "name": "IntoIter", + "name": "Iter", "span": { "begin": [ - 295, + 218, 1 ], "end": [ - 297, + 220, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "public" }, - "7434": { - "attrs": [], + "7449": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"receiver_try_iter\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7434, + "docs": "Returns an iterator that will attempt to yield all pending values.\nIt will return `None` if there are no more pending values or if the\nchannel has hung up. The iterator will never [`panic!`] or block the\nuser by waiting for values.\n\n# Examples\n\n```no_run\nuse std::sync::mpsc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (sender, receiver) = channel();\n\n// nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\n\nthread::spawn(move || {\n thread::sleep(Duration::from_secs(1));\n sender.send(1).unwrap();\n sender.send(2).unwrap();\n sender.send(3).unwrap();\n});\n\n// nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\n\n// block for two seconds\nthread::sleep(Duration::from_secs(2));\n\nlet mut iter = receiver.try_iter();\nassert_eq!(iter.next(), Some(1));\nassert_eq!(iter.next(), Some(2));\nassert_eq!(iter.next(), Some(3));\nassert_eq!(iter.next(), None);\n```", + "id": 7449, "inner": { "function": { "generics": { @@ -624080,7 +644197,13 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], @@ -624090,6 +644213,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'_" + }, { "type": { "generic": "T" @@ -624099,111 +644225,43 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } } } } }, - "links": {}, - "name": "into_iter", + "links": { + "`panic!`": 493 + }, + "name": "try_iter", "span": { "begin": [ - 1084, + 1038, 5 ], "end": [ - 1086, + 1040, 6 ], "filename": "std/src/sync/mpsc.rs" }, - "visibility": "default" + "visibility": "public" }, - "7435": { + "745": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"receiver_into_iter\"}}]" + "other": "#[rustc_lint_query_instability]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7435, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7403, - "path": "Receiver" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7431, - 7432, - 7434 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 47, - "path": "IntoIterator" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1080, - 1 - ], - "end": [ - 1087, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7436": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7436, + "docs": "An iterator visiting all keys in arbitrary order.\nThe iterator element type is `&'a K`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nfor key in map.keys() {\n println!(\"{key}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", + "id": 745, "inner": { "function": { "generics": { @@ -624230,164 +644288,65 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" } } } } }, "links": {}, - "name": "fmt", + "name": "keys", "span": { "begin": [ - 1091, + 394, 5 ], "end": [ - 1093, + 396, 6 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7437": { + "7450": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"mpsc_debug\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"receiver_try_iter\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7437, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7403, - "path": "Receiver" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7436 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1090, - 1 - ], - "end": [ - 1094, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7439": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7439, + "docs": "An iterator that attempts to yield all pending values for a [`Receiver`],\ncreated by [`try_iter`].\n\n[`None`] will be returned when there are no pending values remaining or\nif the corresponding channel has hung up.\n\nThis iterator will never block the caller in order to wait for data to\nbecome available. Instead, it will return [`None`].\n\n[`try_iter`]: Receiver::try_iter\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\nuse std::time::Duration;\n\nlet (sender, receiver) = channel();\n\n// Nothing is in the buffer yet\nassert!(receiver.try_iter().next().is_none());\nprintln!(\"Nothing in the buffer...\");\n\nthread::spawn(move || {\n sender.send(1).unwrap();\n sender.send(2).unwrap();\n sender.send(3).unwrap();\n});\n\nprintln!(\"Going to sleep...\");\nthread::sleep(Duration::from_secs(2)); // block for two seconds\n\nfor x in receiver.try_iter() {\n println!(\"Got: {x}\");\n}\n```", + "id": 7450, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7410, - "path": "Iter" - } - }, + "struct": { "generics": { "params": [ { @@ -624401,7 +644360,11 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "outlives": "'a" + } + ], "default": null, "is_synthetic": false } @@ -624411,92 +644374,57 @@ ], "where_predicates": [] }, - "is_negative": true, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "744": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the number of elements the map can hold without reallocating.\n\nThis number is a lower bound; the `HashMap` might be able to hold\nmore, but is guaranteed to be able to hold at least this many.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nlet map: HashMap = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);\n```", - "id": 744, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "usize" + "impls": [ + 7497, + 7498, + 7499, + 7500, + 7501, + 7502, + 7503, + 7504, + 7505, + 7506, + 7507, + 7508, + 7509, + 7510, + 7512, + 7515 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true } } } }, - "links": {}, - "name": "capacity", + "links": { + "Receiver::try_iter": 7449, + "`None`": 53, + "`Receiver`": 7441 + }, + "name": "TryIter", "span": { "begin": [ - 365, - 5 + 261, + 1 ], "end": [ - 367, - 6 + 263, + 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "public" }, - "7440": { + "7451": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7440, + "id": 7451, "inner": { "impl": { "blanket_impl": null, @@ -624505,9 +644433,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -624517,20 +644442,12 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -624544,29 +644461,42 @@ ], "where_predicates": [] }, - "is_negative": true, - "is_synthetic": true, + "is_negative": false, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7442, + 7440, + 7445, + 7446, + 7447, + 7449 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 764, + 1 + ], + "end": [ + 1041, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, "visibility": "default" }, - "7441": { + "7452": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7441, + "id": 7452, "inner": { "impl": { "blanket_impl": null, @@ -624575,9 +644505,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -624587,20 +644514,12 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -624621,7 +644540,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -624631,12 +644550,12 @@ "span": null, "visibility": "default" }, - "7442": { + "7453": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7442, + "id": 7453, "inner": { "impl": { "blanket_impl": null, @@ -624645,9 +644564,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -624657,20 +644573,12 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -624701,12 +644609,12 @@ "span": null, "visibility": "default" }, - "7443": { + "7454": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7443, + "id": 7454, "inner": { "impl": { "blanket_impl": null, @@ -624715,9 +644623,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -624727,20 +644632,12 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -624761,7 +644658,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -624771,12 +644668,12 @@ "span": null, "visibility": "default" }, - "7444": { + "7455": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7444, + "id": 7455, "inner": { "impl": { "blanket_impl": null, @@ -624785,9 +644682,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -624797,20 +644691,12 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -624831,7 +644717,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -624841,12 +644727,12 @@ "span": null, "visibility": "default" }, - "7445": { + "7456": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7445, + "id": 7456, "inner": { "impl": { "blanket_impl": { @@ -624857,9 +644743,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -624869,8 +644752,8 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { @@ -624914,7 +644797,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -624930,7 +644813,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -624939,23 +644822,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7446": { + "7457": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7446, + "id": 7457, "inner": { "impl": { "blanket_impl": { @@ -624966,9 +644849,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -624978,8 +644858,8 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { @@ -625023,7 +644903,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -625039,7 +644919,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -625048,23 +644928,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7447": { + "7458": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7447, + "id": 7458, "inner": { "impl": { "blanket_impl": { @@ -625075,9 +644955,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -625087,8 +644964,8 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { @@ -625153,7 +645030,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -625178,23 +645055,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7448": { + "7459": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7448, + "id": 7459, "inner": { "impl": { "blanket_impl": { @@ -625205,9 +645082,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -625217,8 +645091,8 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { @@ -625240,7 +645114,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -625265,23 +645139,132 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7449": { + "746": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_keys_ty\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"hashmap_keys_ty\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An iterator over the keys of a `HashMap`.\n\nThis `struct` is created by the [`keys`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`keys`]: HashMap::keys\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter_keys = map.keys();\n```", + "id": 746, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "impls": [ + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 954, + 956, + 958, + 964, + 966, + 967 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "HashMap::keys": 745, + "`HashMap`": 738 + }, + "name": "Keys", + "span": { + "begin": [ + 1565, + 1 + ], + "end": [ + 1567, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7460": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7449, + "id": 7460, "inner": { "impl": { "blanket_impl": { @@ -625292,9 +645275,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -625304,8 +645284,8 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { @@ -625352,7 +645332,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -625370,8 +645350,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -625387,7 +645367,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -625396,109 +645376,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "745": { - "attrs": [ - { - "other": "#[rustc_lint_query_instability]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An iterator visiting all keys in arbitrary order.\nThe iterator element type is `&'a K`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nfor key in map.keys() {\n println!(\"{key}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", - "id": 745, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 746, - "path": "Keys" - } - } - } - } - }, - "links": {}, - "name": "keys", - "span": { - "begin": [ - 394, - 5 - ], - "end": [ - 396, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7450": { + "7461": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7450, + "id": 7461, "inner": { "impl": { "blanket_impl": { @@ -625509,9 +645403,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -625521,8 +645412,8 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { @@ -625587,8 +645478,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -625604,7 +645495,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -625613,23 +645504,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7451": { + "7462": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7451, + "id": 7462, "inner": { "impl": { "blanket_impl": { @@ -625640,9 +645531,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -625652,8 +645540,8 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { @@ -625700,12 +645588,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -625725,25 +645613,24 @@ }, "visibility": "default" }, - "7452": { - "attrs": [], + "7463": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7452, + "id": 7463, "inner": { "impl": { - "blanket_impl": { - "generic": "I" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -625753,8 +645640,8 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { @@ -625762,51 +645649,110 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], "default": null, "is_synthetic": false } }, - "name": "I" + "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 184, + 1 + ], + "end": [ + 184, + 45 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7464": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7464, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 49, - "path": "Iterator" - } + "type": { + "generic": "T" } } ], - "generic_params": [], + "constraints": [] + } + }, + "id": 7441, + "path": "Receiver" + } + }, + "generics": { + "params": [ + { + "kind": { "type": { - "generic": "I" + "bounds": [], + "default": null, + "is_synthetic": false } - } + }, + "name": "T" } - ] + ], + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": false, "is_unsafe": false, - "items": [ - 858, - 859, - 860 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 47, - "path": "IntoIterator" + "id": 5, + "path": "Sync" } } }, @@ -625814,27 +645760,107 @@ "name": null, "span": { "begin": [ - 314, + 187, 1 ], "end": [ - 314, - 37 + 187, + 33 ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7453": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" + "7465": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7465, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } } - ], + }, + "links": {}, + "name": "Item", + "span": { + "begin": [ + 1063, + 5 + ], + "end": [ + 1063, + 19 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7466": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7453, + "id": 7466, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7448, + "path": "Iter" + } + } + } + }, + "links": {}, + "name": "IntoIter", + "span": { + "begin": [ + 1064, + 5 + ], + "end": [ + 1064, + 33 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7467": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7467, "inner": { "function": { "generics": { @@ -625853,100 +645879,85 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "$crate::fmt::Formatter" - } - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 344, - "path": "$crate::fmt::Result" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7448, + "path": "Iter" } } } } }, "links": {}, - "name": "fmt", + "name": "into_iter", "span": { "begin": [ - 217, - 10 + 1066, + 5 ], "end": [ - 217, - 15 + 1068, + 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7454": { + "7468": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"receiver_into_iter\"}}]" + } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7454, + "id": 7468, "inner": { "impl": { "blanket_impl": null, "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 7441, + "path": "Receiver" } - }, - "id": 7410, - "path": "Iter" + } } }, "generics": { @@ -625962,22 +645973,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "$crate::fmt::Debug" - } - } - }, - { - "outlives": "'a" - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -625991,13 +645987,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7453 + 7465, + 7466, + 7467 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 47, + "path": "IntoIterator" } } }, @@ -626005,23 +646003,23 @@ "name": null, "span": { "begin": [ - 217, - 10 + 1062, + 1 ], "end": [ - 217, - 15 + 1069, + 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7455": { + "7469": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7455, + "id": 7469, "inner": { "assoc_type": { "bounds": [], @@ -626038,23 +646036,33 @@ "name": "Item", "span": { "begin": [ - 1045, + 1081, 5 ], "end": [ - 1045, + 1081, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7456": { - "attrs": [], + "747": { + "attrs": [ + { + "other": "#[rustc_lint_query_instability]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 54, patch: 0})}, feature: \"map_into_keys_values\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7456, + "docs": "Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is `K`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);\n```\n\n# Performance\n\nIn the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", + "id": 747, "inner": { "function": { "generics": { @@ -626073,13 +646081,198 @@ [ "self", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 748, + "path": "IntoKeys" + } + } + } + } + }, + "links": {}, + "name": "into_keys", + "span": { + "begin": [ + 427, + 5 + ], + "end": [ + 429, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7470": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7470, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } + ], + "constraints": [] + } + }, + "id": 7471, + "path": "IntoIter" + } + } + } + }, + "links": {}, + "name": "IntoIter", + "span": { + "begin": [ + 1082, + 5 + ], + "end": [ + 1082, + 33 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7471": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"receiver_into_iter\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An owning iterator over messages on a [`Receiver`],\ncreated by [`into_iter`].\n\nThis iterator will block whenever [`next`]\nis called, waiting for a new message, and [`None`] will be\nreturned if the corresponding channel has hung up.\n\n[`into_iter`]: Receiver::into_iter\n[`next`]: Iterator::next\n\n# Examples\n\n```rust\nuse std::sync::mpsc::channel;\nuse std::thread;\n\nlet (send, recv) = channel();\n\nthread::spawn(move || {\n send.send(1u8).unwrap();\n send.send(2u8).unwrap();\n send.send(3u8).unwrap();\n});\n\nfor x in recv.into_iter() {\n println!(\"Got: {x}\");\n}\n```", + "id": 7471, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 7517, + 7518, + 7519, + 7520, + 7521, + 7522, + 7523, + 7524, + 7525, + 7526, + 7527, + 7528, + 7529, + 7530, + 7532, + 7535 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "Iterator::next": 7376, + "Receiver::into_iter": 7472, + "`None`": 53, + "`Receiver`": 7441 + }, + "name": "IntoIter", + "span": { + "begin": [ + 295, + 1 + ], + "end": [ + 297, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "7472": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7472, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } ] ], @@ -626098,38 +646291,38 @@ "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 7471, + "path": "IntoIter" } } } } }, "links": {}, - "name": "next", + "name": "into_iter", "span": { "begin": [ - 1047, + 1084, 5 ], "end": [ - 1049, + 1086, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7457": { + "7473": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"receiver_into_iter\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7457, + "id": 7473, "inner": { "impl": { "blanket_impl": null, @@ -626138,9 +646331,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -626150,20 +646340,12 @@ "constraints": [] } }, - "id": 7410, - "path": "Iter" + "id": 7441, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -626181,91 +646363,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7455, - 7456 - ], - "provided_trait_methods": [ - "next_chunk", - "size_hint", - "count", - "last", - "advance_by", - "nth", - "step_by", - "chain", - "zip", - "intersperse", - "intersperse_with", - "map", - "for_each", - "filter", - "filter_map", - "enumerate", - "peekable", - "skip_while", - "take_while", - "map_while", - "skip", - "take", - "scan", - "flat_map", - "flatten", - "map_windows", - "fuse", - "inspect", - "by_ref", - "collect", - "try_collect", - "collect_into", - "partition", - "partition_in_place", - "is_partitioned", - "try_fold", - "try_for_each", - "fold", - "reduce", - "try_reduce", - "all", - "any", - "find", - "find_map", - "try_find", - "position", - "rposition", - "max", - "min", - "max_by_key", - "max_by", - "min_by_key", - "min_by", - "rev", - "unzip", - "copied", - "cloned", - "cycle", - "array_chunks", - "sum", - "product", - "cmp", - "cmp_by", - "partial_cmp", - "partial_cmp_by", - "eq", - "eq_by", - "ne", - "lt", - "le", - "gt", - "ge", - "is_sorted", - "is_sorted_by", - "is_sorted_by_key", - "__iterator_get_unchecked" + 7469, + 7470, + 7472 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 49, - "path": "Iterator" + "id": 47, + "path": "IntoIterator" } } }, @@ -626273,23 +646379,112 @@ "name": null, "span": { "begin": [ - 1044, + 1080, 1 ], "end": [ - 1050, + 1087, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7459": { + "7474": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7459, + "id": 7474, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 1091, + 5 + ], + "end": [ + 1093, + 6 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7475": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"mpsc_debug\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7475, "inner": { "impl": { "blanket_impl": null, @@ -626298,9 +646493,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -626310,20 +646502,12 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7441, + "path": "Receiver" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -626337,41 +646521,65 @@ ], "where_predicates": [] }, - "is_negative": true, - "is_synthetic": true, + "is_negative": false, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7474 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 344, + "path": "Debug" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 1090, + 1 + ], + "end": [ + 1094, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, "visibility": "default" }, - "746": { - "attrs": [ - { - "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_keys_ty\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"hashmap_keys_ty\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "7477": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "An iterator over the keys of a `HashMap`.\n\nThis `struct` is created by the [`keys`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`keys`]: HashMap::keys\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter_keys = map.keys();\n```", - "id": 746, + "docs": null, + "id": 7477, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7448, + "path": "Iter" + } + }, "generics": { "params": [ { @@ -626385,90 +646593,39 @@ { "kind": { "type": { - "bounds": [ - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [] }, - "impls": [ - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 954, - 956, - 958, - 964, - 966, - 967 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, - "links": { - "HashMap::keys": 745, - "`HashMap`": 738 - }, - "name": "Keys", - "span": { - "begin": [ - 1565, - 1 - ], - "end": [ - 1567, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "7460": { + "7478": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7460, + "id": 7478, "inner": { "impl": { "blanket_impl": null, @@ -626489,8 +646646,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -626533,12 +646690,12 @@ "span": null, "visibility": "default" }, - "7461": { + "7479": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7461, + "id": 7479, "inner": { "impl": { "blanket_impl": null, @@ -626559,8 +646716,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -626593,7 +646750,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -626603,12 +646760,96 @@ "span": null, "visibility": "default" }, - "7462": { + "748": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 54, patch: 0})}, feature: \"map_into_keys_values\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An owning iterator over the keys of a `HashMap`.\n\nThis `struct` is created by the [`into_keys`] method on [`HashMap`].\nSee its documentation for more.\n\n[`into_keys`]: HashMap::into_keys\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter_keys = map.into_keys();\n```", + "id": 748, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "impls": [ + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1091, + 1097, + 1099, + 1100, + 1102 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "HashMap::into_keys": 747, + "`HashMap`": 738 + }, + "name": "IntoKeys", + "span": { + "begin": [ + 1742, + 1 + ], + "end": [ + 1744, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7480": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7462, + "id": 7480, "inner": { "impl": { "blanket_impl": null, @@ -626629,8 +646870,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -626673,12 +646914,12 @@ "span": null, "visibility": "default" }, - "7463": { + "7481": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7463, + "id": 7481, "inner": { "impl": { "blanket_impl": null, @@ -626699,8 +646940,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -626733,7 +646974,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -626743,12 +646984,12 @@ "span": null, "visibility": "default" }, - "7464": { + "7482": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7464, + "id": 7482, "inner": { "impl": { "blanket_impl": null, @@ -626769,8 +647010,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -626803,7 +647044,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -626813,12 +647054,12 @@ "span": null, "visibility": "default" }, - "7465": { + "7483": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7465, + "id": 7483, "inner": { "impl": { "blanket_impl": { @@ -626841,8 +647082,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -626886,7 +647127,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -626902,7 +647143,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -626911,23 +647152,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7466": { + "7484": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7466, + "id": 7484, "inner": { "impl": { "blanket_impl": { @@ -626950,8 +647191,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -626995,7 +647236,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -627011,7 +647252,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -627020,23 +647261,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7467": { + "7485": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7467, + "id": 7485, "inner": { "impl": { "blanket_impl": { @@ -627059,8 +647300,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -627125,7 +647366,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -627150,23 +647391,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7468": { + "7486": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7468, + "id": 7486, "inner": { "impl": { "blanket_impl": { @@ -627189,8 +647430,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -627212,7 +647453,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -627237,23 +647478,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7469": { + "7487": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7469, + "id": 7487, "inner": { "impl": { "blanket_impl": { @@ -627276,8 +647517,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -627324,7 +647565,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -627342,8 +647583,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -627359,7 +647600,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -627368,103 +647609,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "747": { - "attrs": [ - { - "other": "#[rustc_lint_query_instability]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 54, patch: 0})}, feature: \"map_into_keys_values\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is `K`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);\n```\n\n# Performance\n\nIn the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", - "id": 747, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 748, - "path": "IntoKeys" - } - } - } - } - }, - "links": {}, - "name": "into_keys", - "span": { - "begin": [ - 427, - 5 - ], - "end": [ - 429, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7470": { + "7488": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7470, + "id": 7488, "inner": { "impl": { "blanket_impl": { @@ -627487,8 +647648,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -627553,8 +647714,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -627570,7 +647731,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -627579,23 +647740,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7471": { + "7489": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7471, + "id": 7489, "inner": { "impl": { "blanket_impl": { @@ -627618,8 +647779,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -627666,12 +647827,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -627691,12 +647852,98 @@ }, "visibility": "default" }, - "7472": { + "749": { + "attrs": [ + { + "other": "#[rustc_lint_query_instability]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An iterator visiting all values in arbitrary order.\nThe iterator element type is `&'a V`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nfor val in map.values() {\n println!(\"{val}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", + "id": 749, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 750, + "path": "Values" + } + } + } + } + }, + "links": {}, + "name": "values", + "span": { + "begin": [ + 456, + 5 + ], + "end": [ + 458, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7490": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7472, + "id": 7490, "inner": { "impl": { "blanket_impl": { @@ -627719,8 +647966,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -627791,7 +648038,7 @@ }, "visibility": "default" }, - "7473": { + "7491": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -627800,7 +648047,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7473, + "id": 7491, "inner": { "function": { "generics": { @@ -627846,7 +648093,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -627858,7 +648105,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -627869,28 +648116,28 @@ "name": "fmt", "span": { "begin": [ - 260, + 217, 10 ], "end": [ - 260, + 217, 15 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7474": { + "7492": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"receiver_try_iter\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7474, + "id": 7492, "inner": { "impl": { "blanket_impl": null, @@ -627911,8 +648158,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -627935,7 +648182,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } @@ -627957,12 +648204,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7473 + 7491 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -627971,23 +648218,23 @@ "name": null, "span": { "begin": [ - 260, + 217, 10 ], "end": [ - 260, + 217, 15 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7475": { + "7493": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7475, + "id": 7493, "inner": { "assoc_type": { "bounds": [], @@ -628004,23 +648251,23 @@ "name": "Item", "span": { "begin": [ - 1054, + 1045, 5 ], "end": [ - 1054, + 1045, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7476": { + "7494": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7476, + "id": 7494, "inner": { "function": { "generics": { @@ -628075,27 +648322,27 @@ "name": "next", "span": { "begin": [ - 1056, + 1047, 5 ], "end": [ - 1058, + 1049, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7477": { + "7495": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"receiver_try_iter\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7477, + "id": 7495, "inner": { "impl": { "blanket_impl": null, @@ -628116,8 +648363,8 @@ "constraints": [] } }, - "id": 7412, - "path": "TryIter" + "id": 7448, + "path": "Iter" } }, "generics": { @@ -628147,8 +648394,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7475, - 7476 + 7493, + 7494 ], "provided_trait_methods": [ "next_chunk", @@ -628239,23 +648486,23 @@ "name": null, "span": { "begin": [ - 1053, + 1044, 1 ], "end": [ - 1059, + 1050, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7479": { + "7497": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7479, + "id": 7497, "inner": { "impl": { "blanket_impl": null, @@ -628264,6 +648511,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -628273,12 +648523,20 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -628290,31 +648548,9 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], @@ -628331,29 +648567,45 @@ "span": null, "visibility": "default" }, - "748": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 54, patch: 0})}, feature: \"map_into_keys_values\"}}]" - } - ], + "7498": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "An owning iterator over the keys of a `HashMap`.\n\nThis `struct` is created by the [`into_keys`] method on [`HashMap`].\nSee its documentation for more.\n\n[`into_keys`]: HashMap::into_keys\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter_keys = map.into_keys();\n```", - "id": 748, + "docs": null, + "id": 7498, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7450, + "path": "TryIter" + } + }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "K" + "name": "'a" }, { "kind": { @@ -628363,64 +648615,34 @@ "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [] }, - "impls": [ - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1091, - 1097, - 1099, - 1100, - 1102 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, - "links": { - "HashMap::into_keys": 747, - "`HashMap`": 738 - }, - "name": "IntoKeys", - "span": { - "begin": [ - 1742, - 1 - ], - "end": [ - 1744, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "7480": { + "7499": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7480, + "id": 7499, "inner": { "impl": { "blanket_impl": null, @@ -628429,6 +648651,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -628438,12 +648663,20 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -628457,15 +648690,15 @@ ], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -628474,71 +648707,121 @@ "span": null, "visibility": "default" }, - "7481": { - "attrs": [], + "750": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_values_ty\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"hashmap_values_ty\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7481, + "docs": "An iterator over the values of a `HashMap`.\n\nThis `struct` is created by the [`values`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`values`]: HashMap::values\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter_values = map.values();\n```", + "id": 750, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" } - } - ], - "constraints": [] - } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "K" }, - "id": 7433, - "path": "IntoIter" - } - }, - "generics": { - "params": [ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "outlives": "'a" + } + ], "default": null, "is_synthetic": false } }, - "name": "T" + "name": "V" } ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" + "impls": [ + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 986, + 988, + 990, + 996, + 998, + 999 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" + "links": { + "HashMap::values": 749, + "`HashMap`": 738 + }, + "name": "Values", + "span": { + "begin": [ + 1612, + 1 + ], + "end": [ + 1614, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" }, - "7482": { + "7500": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7482, + "id": 7500, "inner": { "impl": { "blanket_impl": null, @@ -628547,6 +648830,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -628556,12 +648842,20 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -628592,12 +648886,12 @@ "span": null, "visibility": "default" }, - "7483": { + "7501": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7483, + "id": 7501, "inner": { "impl": { "blanket_impl": null, @@ -628606,6 +648900,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -628615,12 +648912,20 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -628641,7 +648946,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -628651,12 +648956,12 @@ "span": null, "visibility": "default" }, - "7484": { + "7502": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7484, + "id": 7502, "inner": { "impl": { "blanket_impl": null, @@ -628665,6 +648970,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -628674,12 +648982,20 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -628700,7 +649016,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -628710,12 +649026,12 @@ "span": null, "visibility": "default" }, - "7485": { + "7503": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7485, + "id": 7503, "inner": { "impl": { "blanket_impl": { @@ -628726,6 +649042,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -628735,8 +649054,8 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { @@ -628780,7 +649099,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -628796,7 +649115,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -628805,23 +649124,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7486": { + "7504": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7486, + "id": 7504, "inner": { "impl": { "blanket_impl": { @@ -628832,6 +649151,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -628841,8 +649163,8 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { @@ -628886,7 +649208,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -628902,7 +649224,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -628911,23 +649233,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7487": { + "7505": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7487, + "id": 7505, "inner": { "impl": { "blanket_impl": { @@ -628938,6 +649260,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -628947,8 +649272,8 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { @@ -629013,7 +649338,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -629038,23 +649363,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7488": { + "7506": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7488, + "id": 7506, "inner": { "impl": { "blanket_impl": { @@ -629065,6 +649390,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -629074,8 +649402,8 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { @@ -629097,7 +649425,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -629122,23 +649450,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7489": { + "7507": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7489, + "id": 7507, "inner": { "impl": { "blanket_impl": { @@ -629149,6 +649477,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -629158,8 +649489,8 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { @@ -629206,7 +649537,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -629224,8 +649555,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -629241,7 +649572,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -629250,109 +649581,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "749": { - "attrs": [ - { - "other": "#[rustc_lint_query_instability]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An iterator visiting all values in arbitrary order.\nThe iterator element type is `&'a V`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nfor val in map.values() {\n println!(\"{val}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", - "id": 749, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 750, - "path": "Values" - } - } - } - } - }, - "links": {}, - "name": "values", - "span": { - "begin": [ - 456, - 5 - ], - "end": [ - 458, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7490": { + "7508": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7490, + "id": 7508, "inner": { "impl": { "blanket_impl": { @@ -629363,6 +649608,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -629372,8 +649620,8 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { @@ -629438,8 +649686,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -629455,7 +649703,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -629464,23 +649712,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7491": { + "7509": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7491, + "id": 7509, "inner": { "impl": { "blanket_impl": { @@ -629491,6 +649739,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -629500,8 +649751,8 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { @@ -629548,12 +649799,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -629573,12 +649824,98 @@ }, "visibility": "default" }, - "7492": { + "751": { + "attrs": [ + { + "other": "#[rustc_lint_query_instability]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"map_values_mut\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is `&'a mut V`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n *val = *val + 10;\n}\n\nfor val in map.values() {\n println!(\"{val}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", + "id": 751, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 752, + "path": "ValuesMut" + } + } + } + } + }, + "links": {}, + "name": "values_mut", + "span": { + "begin": [ + 489, + 5 + ], + "end": [ + 491, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7510": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7492, + "id": 7510, "inner": { "impl": { "blanket_impl": { @@ -629589,6 +649926,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -629598,8 +649938,8 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { @@ -629670,7 +650010,7 @@ }, "visibility": "default" }, - "7493": { + "7511": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -629679,7 +650019,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7493, + "id": 7511, "inner": { "function": { "generics": { @@ -629725,7 +650065,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -629737,7 +650077,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -629748,28 +650088,28 @@ "name": "fmt", "span": { "begin": [ - 294, + 260, 10 ], "end": [ - 294, + 260, 15 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7494": { + "7512": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"receiver_into_iter\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"receiver_try_iter\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7494, + "id": 7512, "inner": { "impl": { "blanket_impl": null, @@ -629778,6 +650118,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -629787,12 +650130,20 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -629803,10 +650154,13 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "$crate::fmt::Debug" } } + }, + { + "outlives": "'a" } ], "default": null, @@ -629822,12 +650176,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7493 + 7511 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -629836,23 +650190,23 @@ "name": null, "span": { "begin": [ - 294, + 260, 10 ], "end": [ - 294, + 260, 15 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7495": { + "7513": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7495, + "id": 7513, "inner": { "assoc_type": { "bounds": [], @@ -629869,23 +650223,23 @@ "name": "Item", "span": { "begin": [ - 1073, + 1054, 5 ], "end": [ - 1073, + 1054, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7496": { + "7514": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7496, + "id": 7514, "inner": { "function": { "generics": { @@ -629940,27 +650294,27 @@ "name": "next", "span": { "begin": [ - 1074, + 1056, 5 ], "end": [ - 1076, + 1058, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7497": { + "7515": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"receiver_into_iter\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"receiver_try_iter\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7497, + "id": 7515, "inner": { "impl": { "blanket_impl": null, @@ -629969,6 +650323,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "T" @@ -629978,12 +650335,20 @@ "constraints": [] } }, - "id": 7433, - "path": "IntoIter" + "id": 7450, + "path": "TryIter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -630001,8 +650366,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7495, - 7496 + 7513, + 7514 ], "provided_trait_methods": [ "next_chunk", @@ -630093,236 +650458,104 @@ "name": null, "span": { "begin": [ - 1072, + 1053, 1 ], "end": [ - 1077, + 1059, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7499": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "7517": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Attempts to send a value on this channel, returning it back if it could\nnot be sent.\n\nA successful send occurs when it is determined that the other end of\nthe channel has not hung up already. An unsuccessful send would be one\nwhere the corresponding receiver has already been deallocated. Note\nthat a return value of [`Err`] means that the data will never be\nreceived, but a return value of [`Ok`] does *not* mean that the data\nwill be received. It is possible for the corresponding receiver to\nhang up immediately after this function returns [`Ok`].\n\nThis method will never block the current thread.\n\n# Examples\n\n```\nuse std::sync::mpsc::channel;\n\nlet (tx, rx) = channel();\n\n// This send is always successful\ntx.send(1).unwrap();\n\n// This send will fail because the receiver is gone\ndrop(rx);\nassert_eq!(tx.send(1).unwrap_err().0, 1);\n```", - "id": 7499, + "docs": null, + "id": 7517, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - } - } - ], - [ - "t", - { - "generic": "T" + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + }, + "id": 7471, + "path": "IntoIter" } - } - } - }, - "links": { - "`Err`": 59, - "`Ok`": 61 - }, - "name": "send", - "span": { - "begin": [ - 607, - 5 - ], - "end": [ - 609, - 6 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "public" - }, - "750": { - "attrs": [ - { - "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_values_ty\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"hashmap_values_ty\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An iterator over the values of a `HashMap`.\n\nThis `struct` is created by the [`values`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`values`]: HashMap::values\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter_values = map.values();\n```", - "id": 750, - "inner": { - "struct": { + }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { - "bounds": [ - { - "outlives": "'a" - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "K" - }, + "name": "T" + } + ], + "where_predicates": [ { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } - ], - "default": null, - "is_synthetic": false + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "name": "V" + } } - ], - "where_predicates": [] + ] }, - "impls": [ - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 986, - 988, - 990, - 996, - 998, - 999 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, - "links": { - "HashMap::values": 749, - "`HashMap`": 738 - }, - "name": "Values", - "span": { - "begin": [ - 1612, - 1 - ], - "end": [ - 1614, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "7500": { + "7518": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7500, + "id": 7518, "inner": { "impl": { "blanket_impl": null, @@ -630340,8 +650573,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -630359,37 +650592,29 @@ ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, + "is_negative": true, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 7499 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 578, - 1 - ], - "end": [ - 610, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, + "span": null, "visibility": "default" }, - "7501": { + "7519": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7501, + "id": 7519, "inner": { "impl": { "blanket_impl": null, @@ -630407,8 +650632,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -630433,7 +650658,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -630443,12 +650668,118 @@ "span": null, "visibility": "default" }, - "7502": { + "752": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_values_mut_ty\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"hashmap_values_mut_ty\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"map_values_mut\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A mutable iterator over the values of a `HashMap`.\n\nThis `struct` is created by the [`values_mut`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`values_mut`]: HashMap::values_mut\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter_values = map.values_mut();\n```", + "id": 752, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "impls": [ + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1063, + 1069, + 1071, + 1072, + 1074 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "HashMap::values_mut": 751, + "`HashMap`": 738 + }, + "name": "ValuesMut", + "span": { + "begin": [ + 1712, + 1 + ], + "end": [ + 1714, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7520": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7502, + "id": 7520, "inner": { "impl": { "blanket_impl": null, @@ -630466,8 +650797,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -630502,12 +650833,12 @@ "span": null, "visibility": "default" }, - "7503": { + "7521": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7503, + "id": 7521, "inner": { "impl": { "blanket_impl": null, @@ -630525,8 +650856,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -630551,7 +650882,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -630561,12 +650892,12 @@ "span": null, "visibility": "default" }, - "7504": { + "7522": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7504, + "id": 7522, "inner": { "impl": { "blanket_impl": null, @@ -630584,8 +650915,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -630610,7 +650941,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -630620,12 +650951,12 @@ "span": null, "visibility": "default" }, - "7505": { + "7523": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7505, + "id": 7523, "inner": { "impl": { "blanket_impl": { @@ -630645,8 +650976,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -630690,7 +651021,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -630706,7 +651037,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -630715,23 +651046,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7506": { + "7524": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7506, + "id": 7524, "inner": { "impl": { "blanket_impl": { @@ -630751,8 +651082,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -630796,7 +651127,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -630812,7 +651143,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -630821,118 +651152,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7507": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7507, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7405, - "path": "Sender" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 422 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 516, - 1 - ], - "end": [ - 516, - 42 - ], - "filename": "checkouts/rust/library/core/src/clone.rs" - }, - "visibility": "default" - }, - "7508": { + "7525": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7508, + "id": 7525, "inner": { "impl": { "blanket_impl": { @@ -630952,8 +651188,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -631018,7 +651254,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -631043,23 +651279,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7509": { + "7526": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7509, + "id": 7526, "inner": { "impl": { "blanket_impl": { @@ -631079,8 +651315,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -631102,7 +651338,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -631127,109 +651363,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "751": { - "attrs": [ - { - "other": "#[rustc_lint_query_instability]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"map_values_mut\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is `&'a mut V`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n *val = *val + 10;\n}\n\nfor val in map.values() {\n println!(\"{val}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", - "id": 751, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 752, - "path": "ValuesMut" - } - } - } - } - }, - "links": {}, - "name": "values_mut", - "span": { - "begin": [ - 489, - 5 - ], - "end": [ - 491, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7510": { + "7527": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7510, + "id": 7527, "inner": { "impl": { "blanket_impl": { @@ -631249,8 +651399,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -631297,7 +651447,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -631315,8 +651465,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -631332,7 +651482,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -631341,23 +651491,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7511": { + "7528": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7511, + "id": 7528, "inner": { "impl": { "blanket_impl": { @@ -631377,8 +651527,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -631443,8 +651593,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -631460,7 +651610,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -631469,23 +651619,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7512": { + "7529": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7512, + "id": 7529, "inner": { "impl": { "blanket_impl": { @@ -631505,8 +651655,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -631553,12 +651703,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -631578,281 +651728,22 @@ }, "visibility": "default" }, - "7513": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7513, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7405, - "path": "Sender" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 82, - 1 - ], - "end": [ - 84, - 14 - ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" - }, - "visibility": "default" - }, - "7514": { + "753": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7514, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7405, - "path": "Sender" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 340, - 1 - ], - "end": [ - 340, - 43 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7515": { - "attrs": [ + "other": "#[rustc_lint_query_instability]" + }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 72, patch: 0})}, feature: \"mpsc_sender_sync\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 54, patch: 0})}, feature: \"map_into_keys_values\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7515, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7405, - "path": "Sender" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 343, - 1 - ], - "end": [ - 343, - 43 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7516": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": "Clone a sender to send to other threads.\n\nNote, be aware of the lifetime of the sender because all senders\n(including the original) need to be dropped in order for\n[`Receiver::recv`] to stop blocking.", - "id": 7516, + "docs": "Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is `V`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nlet mut vec: Vec = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);\n```\n\n# Performance\n\nIn the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", + "id": 753, "inner": { "function": { "generics": { @@ -631871,13 +651762,7 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ] ], @@ -631889,50 +651774,51 @@ "args": [ { "type": { - "generic": "T" + "generic": "K" + } + }, + { + "type": { + "generic": "V" } } ], "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 754, + "path": "IntoValues" } } } } }, - "links": { - "`Receiver::recv`": 7402 - }, - "name": "clone", + "links": {}, + "name": "into_values", "span": { "begin": [ - 619, + 522, 5 ], "end": [ - 621, + 524, 6 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7517": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "7530": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7517, + "id": 7530, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "I" + }, "for": { "resolved_path": { "args": { @@ -631947,8 +651833,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -631961,24 +651847,46 @@ "is_synthetic": false } }, - "name": "T" + "name": "I" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 49, + "path": "Iterator" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "I" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7516 - ], - "provided_trait_methods": [ - "clone_from" + 858, + 859, + 860 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 47, + "path": "IntoIterator" } } }, @@ -631986,23 +651894,27 @@ "name": null, "span": { "begin": [ - 613, + 314, 1 ], "end": [ - 622, - 2 + 314, + 37 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" }, "visibility": "default" }, - "7518": { - "attrs": [], + "7531": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7518, + "id": 7531, "inner": { "function": { "generics": { @@ -632048,8 +651960,8 @@ "constraints": [] } }, - "id": 343, - "path": "fmt::Formatter" + "id": 341, + "path": "$crate::fmt::Formatter" } } } @@ -632060,8 +651972,8 @@ "output": { "resolved_path": { "args": null, - "id": 344, - "path": "fmt::Result" + "id": 342, + "path": "$crate::fmt::Result" } } } @@ -632071,27 +651983,28 @@ "name": "fmt", "span": { "begin": [ - 626, - 5 + 294, + 10 ], "end": [ - 628, - 6 + 294, + 15 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7519": { + "7532": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"mpsc_debug\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"receiver_into_iter\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7519, + "id": 7532, "inner": { "impl": { "blanket_impl": null, @@ -632109,8 +652022,8 @@ "constraints": [] } }, - "id": 7405, - "path": "Sender" + "id": 7471, + "path": "IntoIter" } }, "generics": { @@ -632118,7 +652031,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "$crate::fmt::Debug" + } + } + } + ], "default": null, "is_synthetic": false } @@ -632132,12 +652057,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7518 + 7531 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -632146,133 +652071,56 @@ "name": null, "span": { "begin": [ - 625, - 1 + 294, + 10 ], "end": [ - 629, - 2 + 294, + 15 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "752": { - "attrs": [ - { - "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_values_mut_ty\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"hashmap_values_mut_ty\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"map_values_mut\"}}]" - } - ], + "7533": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "A mutable iterator over the values of a `HashMap`.\n\nThis `struct` is created by the [`values_mut`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`values_mut`]: HashMap::values_mut\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter_values = map.values_mut();\n```", - "id": 752, + "docs": null, + "id": 7533, "inner": { - "struct": { + "assoc_type": { + "bounds": [], "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], + "params": [], "where_predicates": [] }, - "impls": [ - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1063, - 1069, - 1071, - 1072, - 1074 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "type": { + "generic": "T" } } }, - "links": { - "HashMap::values_mut": 751, - "`HashMap`": 738 - }, - "name": "ValuesMut", + "links": {}, + "name": "Item", "span": { "begin": [ - 1712, - 1 + 1073, + 5 ], "end": [ - 1714, - 2 + 1073, + 19 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "7521": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "7534": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Sends a value on this synchronous channel.\n\nThis function will *block* until space in the internal buffer becomes\navailable or a receiver is available to hand off the message to.\n\nNote that a successful send does *not* guarantee that the receiver will\never see the data if there is a buffer on this channel. Items may be\nenqueued in the internal buffer for the receiver to receive at a later\ntime. If the buffer size is 0, however, the channel becomes a rendezvous\nchannel and it guarantees that the receiver has indeed received\nthe data if this function returns success.\n\nThis function will never panic, but it may return [`Err`] if the\n[`Receiver`] has disconnected and is no longer able to receive\ninformation.\n\n# Examples\n\n```rust\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\n// Create a rendezvous sync_channel with buffer size 0\nlet (sync_sender, receiver) = sync_channel(0);\n\nthread::spawn(move || {\n println!(\"sending message...\");\n sync_sender.send(1).unwrap();\n // Thread is now blocked until the message is received\n\n println!(\"...message received!\");\n});\n\nlet msg = receiver.recv().unwrap();\nassert_eq!(1, msg);\n```", - "id": 7521, + "docs": null, + "id": 7534, "inner": { "function": { "generics": { @@ -632292,19 +652140,13 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" } } } - ], - [ - "t", - { - "generic": "T" - } ] ], "is_c_variadic": false, @@ -632315,59 +652157,189 @@ "args": [ { "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } + "generic": "T" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 51, + "path": "Option" } } } } }, - "links": { - "`Err`": 59, - "`Receiver`": 7403 - }, - "name": "send", + "links": {}, + "name": "next", "span": { "begin": [ - 673, + 1074, 5 ], "end": [ - 675, + 1076, 6 ], "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "7522": { + "7535": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"receiver_into_iter\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7535, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7471, + "path": "IntoIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7533, + 7534 + ], + "provided_trait_methods": [ + "next_chunk", + "size_hint", + "count", + "last", + "advance_by", + "nth", + "step_by", + "chain", + "zip", + "intersperse", + "intersperse_with", + "map", + "for_each", + "filter", + "filter_map", + "enumerate", + "peekable", + "skip_while", + "take_while", + "map_while", + "skip", + "take", + "scan", + "flat_map", + "flatten", + "map_windows", + "fuse", + "inspect", + "by_ref", + "collect", + "try_collect", + "collect_into", + "partition", + "partition_in_place", + "is_partitioned", + "try_fold", + "try_for_each", + "fold", + "reduce", + "try_reduce", + "all", + "any", + "find", + "find_map", + "try_find", + "position", + "rposition", + "max", + "min", + "max_by_key", + "max_by", + "min_by_key", + "min_by", + "rev", + "unzip", + "copied", + "cloned", + "cycle", + "array_chunks", + "sum", + "product", + "cmp", + "cmp_by", + "partial_cmp", + "partial_cmp_by", + "eq", + "eq_by", + "ne", + "lt", + "le", + "gt", + "ge", + "is_sorted", + "is_sorted_by", + "is_sorted_by_key", + "__iterator_get_unchecked" + ], + "trait": { + "args": null, + "id": 49, + "path": "Iterator" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1072, + 1 + ], + "end": [ + 1077, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7537": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -632375,8 +652347,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to send a value on this channel without blocking.\n\nThis method differs from [`send`] by returning immediately if the\nchannel's buffer is full or no receiver is waiting to acquire some\ndata. Compared with [`send`], this function has two failure cases\ninstead of one (one for disconnection, one for a full buffer).\n\nSee [`send`] for notes about guarantees of whether the\nreceiver has received the data or not if this function is successful.\n\n[`send`]: Self::send\n\n# Examples\n\n```rust\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\n// Create a sync_channel with buffer size 1\nlet (sync_sender, receiver) = sync_channel(1);\nlet sync_sender2 = sync_sender.clone();\n\n// First thread owns sync_sender\nlet handle1 = thread::spawn(move || {\n sync_sender.send(1).unwrap();\n sync_sender.send(2).unwrap();\n // Thread blocked\n});\n\n// Second thread owns sync_sender2\nlet handle2 = thread::spawn(move || {\n // This will return an error and send\n // no message if the buffer is full\n let _ = sync_sender2.try_send(3);\n});\n\nlet mut msg;\nmsg = receiver.recv().unwrap();\nprintln!(\"message {msg} received\");\n\nmsg = receiver.recv().unwrap();\nprintln!(\"message {msg} received\");\n\n// Third message may have never been sent\nmatch receiver.try_recv() {\n Ok(msg) => println!(\"message {msg} received\"),\n Err(_) => println!(\"the third message was never sent\"),\n}\n\n// Wait for threads to complete\nhandle1.join().unwrap();\nhandle2.join().unwrap();\n```", - "id": 7522, + "docs": "Attempts to send a value on this channel, returning it back if it could\nnot be sent.\n\nA successful send occurs when it is determined that the other end of\nthe channel has not hung up already. An unsuccessful send would be one\nwhere the corresponding receiver has already been deallocated. Note\nthat a return value of [`Err`] means that the data will never be\nreceived, but a return value of [`Ok`] does *not* mean that the data\nwill be received. It is possible for the corresponding receiver to\nhang up immediately after this function returns [`Ok`].\n\nThis method will never block the current thread.\n\n# Examples\n\n```\nuse std::sync::mpsc::channel;\n\nlet (tx, rx) = channel();\n\n// This send is always successful\ntx.send(1).unwrap();\n\n// This send will fail because the receiver is gone\ndrop(rx);\nassert_eq!(tx.send(1).unwrap_err().0, 1);\n```", + "id": 7537, "inner": { "function": { "generics": { @@ -632437,8 +652409,8 @@ "constraints": [] } }, - "id": 7211, - "path": "TrySendError" + "id": 7245, + "path": "SendError" } } } @@ -632454,28 +652426,29 @@ } }, "links": { - "Self::send": 7521 + "`Err`": 59, + "`Ok`": 61 }, - "name": "try_send", + "name": "send", "span": { "begin": [ - 731, + 607, 5 ], "end": [ - 733, + 609, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "public" }, - "7523": { + "7538": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7523, + "id": 7538, "inner": { "impl": { "blanket_impl": null, @@ -632493,8 +652466,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -632516,8 +652489,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7521, - 7522 + 7537 ], "provided_trait_methods": [], "trait": null @@ -632527,23 +652499,23 @@ "name": null, "span": { "begin": [ - 635, + 578, 1 ], "end": [ - 744, + 610, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7524": { + "7539": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7524, + "id": 7539, "inner": { "impl": { "blanket_impl": null, @@ -632561,8 +652533,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -632578,29 +652550,7 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -632609,8 +652559,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 313, + "path": "Freeze" } } }, @@ -632619,12 +652569,96 @@ "span": null, "visibility": "default" }, - "7525": { + "754": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 54, patch: 0})}, feature: \"map_into_keys_values\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An owning iterator over the values of a `HashMap`.\n\nThis `struct` is created by the [`into_values`] method on [`HashMap`].\nSee its documentation for more.\n\n[`into_values`]: HashMap::into_values\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter_keys = map.into_values();\n```", + "id": 754, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "impls": [ + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1119, + 1125, + 1127, + 1128, + 1130 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "HashMap::into_values": 753, + "`HashMap`": 738 + }, + "name": "IntoValues", + "span": { + "begin": [ + 1772, + 1 + ], + "end": [ + 1774, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7540": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7525, + "id": 7540, "inner": { "impl": { "blanket_impl": null, @@ -632642,8 +652676,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -632668,8 +652702,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -632678,12 +652712,12 @@ "span": null, "visibility": "default" }, - "7526": { + "7541": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7526, + "id": 7541, "inner": { "impl": { "blanket_impl": null, @@ -632701,8 +652735,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -632727,8 +652761,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -632737,12 +652771,12 @@ "span": null, "visibility": "default" }, - "7527": { + "7542": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7527, + "id": 7542, "inner": { "impl": { "blanket_impl": null, @@ -632760,8 +652794,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -632787,65 +652821,6 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7528": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7528, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7406, - "path": "SyncSender" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, "path": "RefUnwindSafe" } } @@ -632855,12 +652830,12 @@ "span": null, "visibility": "default" }, - "7529": { + "7543": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7529, + "id": 7543, "inner": { "impl": { "blanket_impl": { @@ -632880,8 +652855,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -632925,7 +652900,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -632941,7 +652916,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -632950,103 +652925,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "753": { - "attrs": [ - { - "other": "#[rustc_lint_query_instability]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 54, patch: 0})}, feature: \"map_into_keys_values\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is `V`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nlet mut vec: Vec = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);\n```\n\n# Performance\n\nIn the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", - "id": 753, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 754, - "path": "IntoValues" - } - } - } - } - }, - "links": {}, - "name": "into_values", - "span": { - "begin": [ - 522, - 5 - ], - "end": [ - 524, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7530": { + "7544": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7530, + "id": 7544, "inner": { "impl": { "blanket_impl": { @@ -633066,8 +652961,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -633111,7 +653006,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -633127,7 +653022,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -633136,23 +653031,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7531": { + "7545": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7531, + "id": 7545, "inner": { "impl": { "blanket_impl": { @@ -633172,8 +653067,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -633199,7 +653094,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -633231,23 +653126,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7532": { + "7546": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7532, + "id": 7546, "inner": { "impl": { "blanket_impl": { @@ -633267,8 +653162,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -633333,7 +653228,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -633358,23 +653253,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7533": { + "7547": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7533, + "id": 7547, "inner": { "impl": { "blanket_impl": { @@ -633394,8 +653289,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -633417,7 +653312,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -633442,23 +653337,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7534": { + "7548": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7534, + "id": 7548, "inner": { "impl": { "blanket_impl": { @@ -633478,8 +653373,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -633526,7 +653421,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -633544,8 +653439,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -633561,7 +653456,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -633570,23 +653465,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7535": { + "7549": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7535, + "id": 7549, "inner": { "impl": { "blanket_impl": { @@ -633606,8 +653501,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -633672,8 +653567,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -633685,36 +653580,122 @@ "generic": "U" } } - ], - "constraints": [] + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "755": { + "attrs": [ + { + "other": "#[rustc_lint_query_instability]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is `(&'a K, &'a V)`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n println!(\"key: {key} val: {val}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", + "id": 755, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" } - }, - "id": 199, - "path": "TryFrom" + } } } }, "links": {}, - "name": null, + "name": "iter", "span": { "begin": [ - 833, - 1 + 551, + 5 ], "end": [ - 835, - 24 + 553, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7536": { + "7550": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7536, + "id": 7550, "inner": { "impl": { "blanket_impl": { @@ -633734,8 +653715,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -633782,12 +653763,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -633807,12 +653788,12 @@ }, "visibility": "default" }, - "7537": { + "7551": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7537, + "id": 7551, "inner": { "impl": { "blanket_impl": { @@ -633832,8 +653813,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -633859,7 +653840,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -633886,7 +653867,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -633895,18 +653876,18 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7538": { + "7552": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -633915,7 +653896,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7538, + "id": 7552, "inner": { "impl": { "blanket_impl": null, @@ -633933,8 +653914,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -633980,23 +653961,108 @@ "name": null, "span": { "begin": [ - 397, + 340, 1 ], "end": [ - 397, - 47 + 340, + 43 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7539": { - "attrs": [], + "7553": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 72, patch: 0})}, feature: \"mpsc_sender_sync\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7539, + "id": 7553, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7443, + "path": "Sender" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 343, + 1 + ], + "end": [ + 343, + 43 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7554": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "Clone a sender to send to other threads.\n\nNote, be aware of the lifetime of the sender because all senders\n(including the original) need to be dropped in order for\n[`Receiver::recv`] to stop blocking.", + "id": 7554, "inner": { "function": { "generics": { @@ -634040,113 +654106,31 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } } } } }, - "links": {}, + "links": { + "`Receiver::recv`": 7440 + }, "name": "clone", "span": { "begin": [ - 748, + 619, 5 ], "end": [ - 750, + 621, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "754": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 54, patch: 0})}, feature: \"map_into_keys_values\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An owning iterator over the values of a `HashMap`.\n\nThis `struct` is created by the [`into_values`] method on [`HashMap`].\nSee its documentation for more.\n\n[`into_values`]: HashMap::into_values\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter_keys = map.into_values();\n```", - "id": 754, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "impls": [ - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1119, - 1125, - 1127, - 1128, - 1130 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "HashMap::into_values": 753, - "`HashMap`": 738 - }, - "name": "IntoValues", - "span": { - "begin": [ - 1772, - 1 - ], - "end": [ - 1774, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7540": { + "7555": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -634155,7 +654139,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7540, + "id": 7555, "inner": { "impl": { "blanket_impl": null, @@ -634173,8 +654157,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -634196,14 +654180,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7539 + 7554 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -634212,23 +654196,23 @@ "name": null, "span": { "begin": [ - 747, + 613, 1 ], "end": [ - 751, + 622, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7541": { + "7556": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7541, + "id": 7556, "inner": { "function": { "generics": { @@ -634274,7 +654258,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -634286,7 +654270,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -634297,18 +654281,18 @@ "name": "fmt", "span": { "begin": [ - 755, + 626, 5 ], "end": [ - 757, + 628, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7542": { + "7557": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"mpsc_debug\"}}]" @@ -634317,7 +654301,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7542, + "id": 7557, "inner": { "impl": { "blanket_impl": null, @@ -634335,8 +654319,8 @@ "constraints": [] } }, - "id": 7406, - "path": "SyncSender" + "id": 7443, + "path": "Sender" } }, "generics": { @@ -634358,12 +654342,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7541 + 7556 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -634372,18 +654356,18 @@ "name": null, "span": { "begin": [ - 754, + 625, 1 ], "end": [ - 758, + 629, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7543": { + "7559": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -634391,34 +654375,320 @@ ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7543, + "docs": "Sends a value on this synchronous channel.\n\nThis function will *block* until space in the internal buffer becomes\navailable or a receiver is available to hand off the message to.\n\nNote that a successful send does *not* guarantee that the receiver will\never see the data if there is a buffer on this channel. Items may be\nenqueued in the internal buffer for the receiver to receive at a later\ntime. If the buffer size is 0, however, the channel becomes a rendezvous\nchannel and it guarantees that the receiver has indeed received\nthe data if this function returns success.\n\nThis function will never panic, but it may return [`Err`] if the\n[`Receiver`] has disconnected and is no longer able to receive\ninformation.\n\n# Examples\n\n```rust\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\n// Create a rendezvous sync_channel with buffer size 0\nlet (sync_sender, receiver) = sync_channel(0);\n\nthread::spawn(move || {\n println!(\"sending message...\");\n sync_sender.send(1).unwrap();\n // Thread is now blocked until the message is received\n\n println!(\"...message received!\");\n});\n\nlet msg = receiver.recv().unwrap();\nassert_eq!(1, msg);\n```", + "id": 7559, "inner": { - "struct_field": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "t", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + }, + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } } }, - "links": {}, - "name": "0", + "links": { + "`Err`": 59, + "`Receiver`": 7441 + }, + "name": "send", "span": { "begin": [ - 407, - 71 + 673, + 5 ], "end": [ - 407, - 76 + 675, + 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "public" }, - "7544": { + "756": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_iter_ty\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"hashmap_iter_ty\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An iterator over the entries of a `HashMap`.\n\nThis `struct` is created by the [`iter`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`iter`]: HashMap::iter\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter = map.iter();\n```", + "id": 756, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "impls": [ + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 861, + 862, + 864, + 866, + 868, + 874, + 876, + 877 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "HashMap::iter": 755, + "`HashMap`": 738 + }, + "name": "Iter", + "span": { + "begin": [ + 1441, + 1 + ], + "end": [ + 1443, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7560": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to send a value on this channel without blocking.\n\nThis method differs from [`send`] by returning immediately if the\nchannel's buffer is full or no receiver is waiting to acquire some\ndata. Compared with [`send`], this function has two failure cases\ninstead of one (one for disconnection, one for a full buffer).\n\nSee [`send`] for notes about guarantees of whether the\nreceiver has received the data or not if this function is successful.\n\n[`send`]: Self::send\n\n# Examples\n\n```rust\nuse std::sync::mpsc::sync_channel;\nuse std::thread;\n\n// Create a sync_channel with buffer size 1\nlet (sync_sender, receiver) = sync_channel(1);\nlet sync_sender2 = sync_sender.clone();\n\n// First thread owns sync_sender\nlet handle1 = thread::spawn(move || {\n sync_sender.send(1).unwrap();\n sync_sender.send(2).unwrap();\n // Thread blocked\n});\n\n// Second thread owns sync_sender2\nlet handle2 = thread::spawn(move || {\n // This will return an error and send\n // no message if the buffer is full\n let _ = sync_sender2.try_send(3);\n});\n\nlet mut msg;\nmsg = receiver.recv().unwrap();\nprintln!(\"message {msg} received\");\n\nmsg = receiver.recv().unwrap();\nprintln!(\"message {msg} received\");\n\n// Third message may have never been sent\nmatch receiver.try_recv() {\n Ok(msg) => println!(\"message {msg} received\"),\n Err(_) => println!(\"the third message was never sent\"),\n}\n\n// Wait for threads to complete\nhandle1.join().unwrap();\nhandle2.join().unwrap();\n```", + "id": 7560, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "t", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + }, + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": { + "Self::send": 7559 + }, + "name": "try_send", + "span": { + "begin": [ + 731, + 5 + ], + "end": [ + 733, + 6 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "public" + }, + "7561": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7544, + "id": 7561, "inner": { "impl": { "blanket_impl": null, @@ -634436,8 +654706,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -634453,53 +654723,40 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7559, + 7560 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 635, + 1 + ], + "end": [ + 744, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, "visibility": "default" }, - "7545": { + "7562": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7545, + "id": 7562, "inner": { "impl": { "blanket_impl": null, @@ -634517,8 +654774,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -634544,8 +654801,8 @@ "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 1, + "path": "Send" } } } @@ -634575,12 +654832,12 @@ "span": null, "visibility": "default" }, - "7546": { + "7563": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7546, + "id": 7563, "inner": { "impl": { "blanket_impl": null, @@ -634598,8 +654855,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -634615,29 +654872,7 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -634646,7 +654881,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -634656,12 +654891,12 @@ "span": null, "visibility": "default" }, - "7547": { + "7564": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7547, + "id": 7564, "inner": { "impl": { "blanket_impl": null, @@ -634679,8 +654914,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -634696,29 +654931,7 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -634737,12 +654950,12 @@ "span": null, "visibility": "default" }, - "7548": { + "7565": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7548, + "id": 7565, "inner": { "impl": { "blanket_impl": null, @@ -634760,8 +654973,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -634777,29 +654990,7 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -634808,7 +654999,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -634818,12 +655009,12 @@ "span": null, "visibility": "default" }, - "7549": { + "7566": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7549, + "id": 7566, "inner": { "impl": { "blanket_impl": null, @@ -634841,8 +655032,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -634858,29 +655049,7 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -634889,7 +655058,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -634899,98 +655068,12 @@ "span": null, "visibility": "default" }, - "755": { - "attrs": [ - { - "other": "#[rustc_lint_query_instability]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is `(&'a K, &'a V)`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n println!(\"key: {key} val: {val}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", - "id": 755, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 756, - "path": "Iter" - } - } - } - } - }, - "links": {}, - "name": "iter", - "span": { - "begin": [ - 551, - 5 - ], - "end": [ - 553, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7550": { + "7567": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7550, + "id": 7567, "inner": { "impl": { "blanket_impl": { @@ -635010,8 +655093,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -635055,7 +655138,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -635071,7 +655154,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -635080,23 +655163,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7551": { + "7568": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7551, + "id": 7568, "inner": { "impl": { "blanket_impl": { @@ -635116,8 +655199,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -635161,7 +655244,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -635177,7 +655260,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -635186,23 +655269,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7552": { + "7569": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7552, + "id": 7569, "inner": { "impl": { "blanket_impl": { @@ -635222,8 +655305,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -635249,7 +655332,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -635281,23 +655364,109 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7553": { + "757": { + "attrs": [ + { + "other": "#[rustc_lint_query_instability]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is `(&'a K, &'a mut V)`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n *val *= 2;\n}\n\nfor (key, val) in &map {\n println!(\"key: {key} val: {val}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", + "id": 757, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 758, + "path": "IterMut" + } + } + } + } + }, + "links": {}, + "name": "iter_mut", + "span": { + "begin": [ + 586, + 5 + ], + "end": [ + 588, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7570": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7553, + "id": 7570, "inner": { "impl": { "blanket_impl": { @@ -635317,8 +655486,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -635383,7 +655552,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -635408,23 +655577,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7554": { + "7571": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7554, + "id": 7571, "inner": { "impl": { "blanket_impl": { @@ -635444,8 +655613,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -635467,7 +655636,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -635492,23 +655661,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7555": { + "7572": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7555, + "id": 7572, "inner": { "impl": { "blanket_impl": { @@ -635528,8 +655697,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -635576,7 +655745,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -635594,8 +655763,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -635611,7 +655780,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -635620,23 +655789,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7556": { + "7573": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7556, + "id": 7573, "inner": { "impl": { "blanket_impl": { @@ -635656,8 +655825,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -635722,8 +655891,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -635739,7 +655908,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -635748,23 +655917,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7557": { + "7574": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7557, + "id": 7574, "inner": { "impl": { "blanket_impl": { @@ -635784,8 +655953,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -635832,12 +656001,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -635857,12 +656026,12 @@ }, "visibility": "default" }, - "7558": { + "7575": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7558, + "id": 7575, "inner": { "impl": { "blanket_impl": { @@ -635882,8 +656051,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -635909,7 +656078,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -635936,7 +656105,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -635945,494 +656114,27 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7559": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7559, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 434 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 163, - "path": "ToString" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2806, - 1 - ], - "end": [ - 2806, - 46 - ], - "filename": "checkouts/rust/library/alloc/src/string.rs" - }, - "visibility": "default" - }, - "756": { - "attrs": [ - { - "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_iter_ty\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"hashmap_iter_ty\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An iterator over the entries of a `HashMap`.\n\nThis `struct` is created by the [`iter`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`iter`]: HashMap::iter\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter = map.iter();\n```", - "id": 756, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "impls": [ - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 861, - 862, - 864, - 866, - 868, - 874, - 876, - 877 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "HashMap::iter": 755, - "`HashMap`": 738 - }, - "name": "Iter", - "span": { - "begin": [ - 1441, - 1 - ], - "end": [ - 1443, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7560": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7560, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 442, - "path": "StructuralPartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 406, - 10 - ], - "end": [ - 406, - 19 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7561": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7561, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq", - "span": { - "begin": [ - 406, - 10 - ], - "end": [ - 406, - 19 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7562": { + "7576": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7562, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 123, - "path": "$crate::cmp::PartialEq" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7561 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" - } } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 406, - 10 - ], - "end": [ - 406, - 19 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7563": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7563, + "id": 7576, "inner": { "impl": { "blanket_impl": null, @@ -636450,8 +656152,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -636466,8 +656168,8 @@ "modifier": "none", "trait": { "args": null, - "id": 113, - "path": "$crate::cmp::Eq" + "id": 1, + "path": "Send" } } } @@ -636485,13 +656187,11 @@ "is_synthetic": false, "is_unsafe": false, "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 113, - "path": "Eq" + "id": 1, + "path": "Send" } } }, @@ -636499,27 +656199,23 @@ "name": null, "span": { "begin": [ - 406, - 21 + 397, + 1 ], "end": [ - 406, - 23 + 397, + 47 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7564": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7577": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7564, + "id": 7577, "inner": { "function": { "generics": { @@ -636563,8 +656259,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } } } @@ -636574,279 +656270,18 @@ "name": "clone", "span": { "begin": [ - 406, - 25 - ], - "end": [ - 406, - 30 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7565": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7565, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "$crate::clone::Clone" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7564 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 406, - 25 - ], - "end": [ - 406, - 30 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7566": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7566, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 103, - "path": "$crate::marker::Copy" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 103, - "path": "Copy" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 406, - 32 - ], - "end": [ - 406, - 36 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7567": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7567, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1098, + 748, 5 ], "end": [ - 1100, + 750, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7568": { + "7578": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -636855,7 +656290,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7568, + "id": 7578, "inner": { "impl": { "blanket_impl": null, @@ -636873,8 +656308,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -636896,13 +656331,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7567 + 7577 + ], + "provided_trait_methods": [ + "clone_from" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 97, + "path": "Clone" } } }, @@ -636910,23 +656347,23 @@ "name": null, "span": { "begin": [ - 1097, + 747, 1 ], "end": [ - 1101, + 751, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7569": { + "7579": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7569, + "id": 7579, "inner": { "function": { "generics": { @@ -636972,7 +656409,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -636984,7 +656421,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -636995,21 +656432,24 @@ "name": "fmt", "span": { "begin": [ - 1105, + 755, 5 ], "end": [ - 1107, + 757, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "757": { + "758": { "attrs": [ { - "other": "#[rustc_lint_query_instability]" + "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_iter_mut_ty\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"hashmap_iter_mut_ty\"]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -637017,232 +656457,108 @@ ], "crate_id": 0, "deprecation": null, - "docs": "An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is `(&'a K, &'a mut V)`.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n *val *= 2;\n}\n\nfor (key, val) in &map {\n println!(\"key: {key} val: {val}\");\n}\n```\n\n# Performance\n\nIn the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.", - "id": 757, + "docs": "A mutable iterator over the entries of a `HashMap`.\n\nThis `struct` is created by the [`iter_mut`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`iter_mut`]: HashMap::iter_mut\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter = map.iter_mut();\n```", + "id": 758, "inner": { - "function": { + "struct": { "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ { - "type": { - "generic": "V" - } + "outlives": "'a" } ], - "constraints": [] + "default": null, + "is_synthetic": false } }, - "id": 758, - "path": "IterMut" - } - } - } - } - }, - "links": {}, - "name": "iter_mut", - "span": { - "begin": [ - 586, - 5 - ], - "end": [ - 588, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7570": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7570, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } + "name": "K" }, - "id": 7207, - "path": "SendError" - } - }, - "generics": { - "params": [ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "outlives": "'a" + } + ], "default": null, "is_synthetic": false } }, - "name": "T" + "name": "V" } ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7569 + "impls": [ + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 895, + 901, + 903, + 904, + 906 ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1104, - 1 - ], - "end": [ - 1108, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7571": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7571, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true } } } }, - "links": {}, - "name": "description", + "links": { + "HashMap::iter_mut": 757, + "`HashMap`": 738 + }, + "name": "IterMut", "span": { "begin": [ - 1113, - 5 + 1488, + 1 ], "end": [ - 1115, - 6 + 1490, + 2 ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7572": { + "7580": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"mpsc_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7572, + "id": 7580, "inner": { "impl": { "blanket_impl": null, @@ -637260,8 +656576,8 @@ "constraints": [] } }, - "id": 7207, - "path": "SendError" + "id": 7444, + "path": "SyncSender" } }, "generics": { @@ -637283,19 +656599,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7571 - ], - "provided_trait_methods": [ - "source", - "type_id", - "description", - "cause", - "provide" + 7579 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 450, - "path": "Error" + "id": 344, + "path": "Debug" } } }, @@ -637303,107 +656613,53 @@ "name": null, "span": { "begin": [ - 1111, + 754, 1 ], "end": [ - 1116, + 758, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7573": { - "attrs": [], + "7581": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": "Converts a `SendError` into a `TrySendError`.\n\nThis conversion always returns a `TrySendError::Disconnected` containing the data in the `SendError`.\n\nNo data is allocated on the heap.", - "id": 7573, + "docs": null, + "id": 7581, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "err", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - } - } + "struct_field": { + "generic": "T" } }, "links": {}, - "name": "from", + "name": "0", "span": { "begin": [ - 1156, - 5 + 407, + 71 ], "end": [ - 1160, - 6 + 407, + 76 ], "filename": "std/src/sync/mpsc.rs" }, - "visibility": "default" + "visibility": "public" }, - "7574": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"mpsc_error_conversions\"}}]" - } - ], + "7582": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7574, + "id": 7582, "inner": { "impl": { "blanket_impl": null, @@ -637421,8 +656677,8 @@ "constraints": [] } }, - "id": 7211, - "path": "TrySendError" + "id": 7245, + "path": "SendError" } }, "generics": { @@ -637438,82 +656694,29 @@ "name": "T" } ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7573 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7207, - "path": "SendError" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } } + ], + "generic_params": [], + "type": { + "generic": "T" } - ], - "constraints": [] + } } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1150, - 1 - ], - "end": [ - 1161, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7575": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7575, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" - } - }, - "generics": { - "params": [], - "where_predicates": [] + ] }, "is_negative": false, "is_synthetic": true, @@ -637532,25 +656735,69 @@ "span": null, "visibility": "default" }, - "7576": { + "7583": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7576, + "id": 7583, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -637569,25 +656816,69 @@ "span": null, "visibility": "default" }, - "7577": { + "7584": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7577, + "id": 7584, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -637596,7 +656887,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -637606,25 +656897,69 @@ "span": null, "visibility": "default" }, - "7578": { + "7585": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7578, + "id": 7585, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -637643,25 +656978,69 @@ "span": null, "visibility": "default" }, - "7579": { + "7586": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7579, + "id": 7586, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -637670,7 +657049,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -637680,131 +657059,69 @@ "span": null, "visibility": "default" }, - "758": { - "attrs": [ - { - "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_iter_mut_ty\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"hashmap_iter_mut_ty\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "7587": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "A mutable iterator over the entries of a `HashMap`.\n\nThis `struct` is created by the [`iter_mut`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`iter_mut`]: HashMap::iter_mut\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter = map.iter_mut();\n```", - "id": 758, + "docs": null, + "id": 7587, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" + } + }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { - "bounds": [ - { - "outlives": "'a" - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "K" - }, + "name": "T" + } + ], + "where_predicates": [ { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } } - ], - "default": null, - "is_synthetic": false + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "name": "V" + } } - ], - "where_predicates": [] - }, - "impls": [ - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 895, - 901, - 903, - 904, - 906 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "HashMap::iter_mut": 757, - "`HashMap`": 738 - }, - "name": "IterMut", - "span": { - "begin": [ - 1488, - 1 - ], - "end": [ - 1490, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7580": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7580, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" - } - }, - "generics": { - "params": [], - "where_predicates": [] + ] }, "is_negative": false, "is_synthetic": true, @@ -637813,7 +657130,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -637823,12 +657140,12 @@ "span": null, "visibility": "default" }, - "7581": { + "7588": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7581, + "id": 7588, "inner": { "impl": { "blanket_impl": { @@ -637836,9 +657153,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { @@ -637882,7 +657210,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -637898,7 +657226,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -637907,23 +657235,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7582": { + "7589": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7582, + "id": 7589, "inner": { "impl": { "blanket_impl": { @@ -637931,9 +657259,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { @@ -637977,7 +657316,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -637993,7 +657332,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -638002,23 +657341,83 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7583": { + "759": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the number of elements in the map.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);\n```", + "id": 759, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": {}, + "name": "len", + "span": { + "begin": [ + 603, + 5 + ], + "end": [ + 605, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7590": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7583, + "id": 7590, "inner": { "impl": { "blanket_impl": { @@ -638026,9 +657425,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { @@ -638054,7 +657464,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -638086,23 +657496,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7584": { + "7591": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7584, + "id": 7591, "inner": { "impl": { "blanket_impl": { @@ -638110,9 +657520,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { @@ -638177,7 +657598,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -638202,23 +657623,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7585": { + "7592": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7585, + "id": 7592, "inner": { "impl": { "blanket_impl": { @@ -638226,9 +657647,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { @@ -638250,7 +657682,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -638275,23 +657707,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7586": { + "7593": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7586, + "id": 7593, "inner": { "impl": { "blanket_impl": { @@ -638299,9 +657731,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { @@ -638348,7 +657791,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -638366,8 +657809,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -638383,7 +657826,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -638392,23 +657835,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7587": { + "7594": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7587, + "id": 7594, "inner": { "impl": { "blanket_impl": { @@ -638416,9 +657859,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { @@ -638483,8 +657937,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -638500,7 +657954,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -638509,23 +657963,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7588": { + "7595": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7588, + "id": 7595, "inner": { "impl": { "blanket_impl": { @@ -638533,9 +657987,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { @@ -638582,12 +658047,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -638607,12 +658072,12 @@ }, "visibility": "default" }, - "7589": { + "7596": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7589, + "id": 7596, "inner": { "impl": { "blanket_impl": { @@ -638620,9 +658085,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { @@ -638648,7 +658124,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -638675,7 +658151,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -638684,83 +658160,23 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "759": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the number of elements in the map.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);\n```", - "id": 759, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "usize" - } - } - } - }, - "links": {}, - "name": "len", - "span": { - "begin": [ - 603, - 5 - ], - "end": [ - 605, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7590": { + "7597": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7590, + "id": 7597, "inner": { "impl": { "blanket_impl": { @@ -638768,9 +658184,20 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { @@ -638830,7 +658257,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -638839,18 +658266,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "7591": { + "7598": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -638860,19 +658287,41 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7591, + "id": 7598, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, @@ -638891,18 +658340,18 @@ "name": null, "span": { "begin": [ - 416, + 406, 10 ], "end": [ - 416, + 406, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7592": { + "7599": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -638911,7 +658360,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7592, + "id": 7599, "inner": { "function": { "generics": { @@ -638947,9 +658396,20 @@ "lifetime": null, "type": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } } } @@ -638967,18 +658427,117 @@ "name": "eq", "span": { "begin": [ - 416, + 406, 10 ], "end": [ - 416, + 406, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7593": { + "76": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 76, + "inner": { + "use": { + "id": 77, + "is_glob": false, + "name": "format_args", + "source": "core::prelude::v1::format_args" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 50, + 60 + ], + "end": [ + 50, + 71 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "760": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns `true` if the map contains no elements.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());\n```", + "id": 760, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_empty", + "span": { + "begin": [ + 621, + 5 + ], + "end": [ + 623, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7600": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -638988,33 +658547,67 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7593, + "id": 7600, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 121, + "path": "$crate::cmp::PartialEq" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7592 + 7599 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -639023,18 +658616,18 @@ "name": null, "span": { "begin": [ - 416, + 406, 10 ], "end": [ - 416, + 406, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7594": { + "7601": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -639044,19 +658637,53 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7594, + "id": 7601, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "$crate::cmp::Eq" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, @@ -639068,7 +658695,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -639077,18 +658704,18 @@ "name": null, "span": { "begin": [ - 416, + 406, 21 ], "end": [ - 416, + 406, 23 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7595": { + "7602": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -639097,7 +658724,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7595, + "id": 7602, "inner": { "function": { "generics": { @@ -639129,9 +658756,20 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } } } @@ -639141,18 +658779,18 @@ "name": "clone", "span": { "begin": [ - 416, + 406, 25 ], "end": [ - 416, + 406, 30 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7596": { + "7603": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -639162,33 +658800,67 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7596, + "id": 7603, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "$crate::clone::Clone" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7595 + 7602 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -639197,18 +658869,18 @@ "name": null, "span": { "begin": [ - 416, + 406, 25 ], "end": [ - 416, + 406, 30 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7597": { + "7604": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -639218,19 +658890,53 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7597, + "id": 7604, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 101, + "path": "$crate::marker::Copy" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, @@ -639240,7 +658946,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -639249,27 +658955,23 @@ "name": null, "span": { "begin": [ - 416, + 406, 32 ], "end": [ - 416, + 406, 36 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7598": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7605": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7598, + "id": 7605, "inner": { "function": { "generics": { @@ -639315,8 +659017,8 @@ "constraints": [] } }, - "id": 343, - "path": "$crate::fmt::Formatter" + "id": 341, + "path": "fmt::Formatter" } } } @@ -639327,8 +659029,8 @@ "output": { "resolved_path": { "args": null, - "id": 344, - "path": "$crate::fmt::Result" + "id": 342, + "path": "fmt::Result" } } } @@ -639338,52 +659040,73 @@ "name": "fmt", "span": { "begin": [ - 416, - 38 + 1098, + 5 ], "end": [ - 416, - 43 + 1100, + 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7599": { + "7606": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" + } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7599, + "id": 7606, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7598 + 7605 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -639392,122 +659115,23 @@ "name": null, "span": { "begin": [ - 416, - 38 + 1097, + 1 ], "end": [ - 416, - 43 + 1101, + 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "76": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 76, - "inner": { - "use": { - "id": 77, - "is_glob": false, - "name": "format_args", - "source": "core::prelude::v1::format_args" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 50, - 60 - ], - "end": [ - 50, - 71 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "760": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns `true` if the map contains no elements.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());\n```", - "id": 760, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_empty", - "span": { - "begin": [ - 621, - 5 - ], - "end": [ - 623, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7600": { + "7607": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7600, + "id": 7607, "inner": { "function": { "generics": { @@ -639553,7 +659177,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -639565,7 +659189,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -639576,18 +659200,18 @@ "name": "fmt", "span": { "begin": [ - 1165, + 1105, 5 ], "end": [ - 1167, + 1107, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7601": { + "7608": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -639596,26 +659220,48 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7601, + "id": 7608, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7600 + 7607 ], "provided_trait_methods": [], "trait": { @@ -639629,84 +659275,18 @@ "name": null, "span": { "begin": [ - 1164, + 1104, 1 ], "end": [ - 1168, + 1108, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7602": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7602, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "description", - "span": { - "begin": [ - 1173, - 5 - ], - "end": [ - 1175, - 6 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7603": { + "7609": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -639715,27 +659295,47 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7603, + "id": 7609, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7602 - ], + "items": [], "provided_trait_methods": [ "source", "type_id", @@ -639754,23 +659354,33 @@ "name": null, "span": { "begin": [ - 1171, + 1111, 1 ], "end": [ - 1176, - 2 + 1111, + 41 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7604": { - "attrs": [], + "761": { + "attrs": [ + { + "other": "#[rustc_lint_query_instability]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"drain\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": "Converts a `RecvError` into a `TryRecvError`.\n\nThis conversion always returns `TryRecvError::Disconnected`.\n\nNo data is allocated on the heap.", - "id": 7604, + "docs": "Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.\n\nIf the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n assert!(k == 1 || k == 2);\n assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());\n```", + "id": 761, "inner": { "function": { "generics": { @@ -639787,12 +659397,14 @@ "sig": { "inputs": [ [ - "err", + "self", { - "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } } } ] @@ -639800,103 +659412,54 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 7209, - "path": "TryRecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 762, + "path": "Drain" } } } } }, "links": {}, - "name": "from", + "name": "drain", "span": { "begin": [ - 1206, + 651, 5 ], "end": [ - 1210, + 653, 6 ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7605": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"mpsc_error_conversions\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7605, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7209, - "path": "TryRecvError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7604 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" - } - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1200, - 1 - ], - "end": [ - 1211, - 2 - ], - "filename": "std/src/sync/mpsc.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7606": { + "7610": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Converts a `RecvError` into a `RecvTimeoutError`.\n\nThis conversion always returns `RecvTimeoutError::Disconnected`.\n\nNo data is allocated on the heap.", - "id": 7606, + "docs": "Converts a `SendError` into a `TrySendError`.\n\nThis conversion always returns a `TrySendError::Disconnected` containing the data in the `SendError`.\n\nNo data is allocated on the heap.", + "id": 7610, "inner": { "function": { "generics": { @@ -639916,9 +659479,20 @@ "err", { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } } ] @@ -639926,9 +659500,20 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" } } } @@ -639938,18 +659523,18 @@ "name": "from", "span": { "begin": [ - 1241, + 1143, 5 ], "end": [ - 1245, + 1147, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7607": { + "7611": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"mpsc_error_conversions\"}}]" @@ -639958,26 +659543,48 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7607, + "id": 7611, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7606 + 7610 ], "provided_trait_methods": [], "trait": { @@ -639987,9 +659594,20 @@ { "type": { "resolved_path": { - "args": null, - "id": 7203, - "path": "RecvError" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7245, + "path": "SendError" } } } @@ -640006,182 +659624,31 @@ "name": null, "span": { "begin": [ - 1235, + 1137, 1 ], "end": [ - 1246, + 1148, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7608": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "This **channel** is currently empty, but the **Sender**(s) have not yet\ndisconnected, so data may yet become available.", - "id": 7608, - "inner": { - "variant": { - "discriminant": null, - "kind": "plain" - } - }, - "links": {}, - "name": "Empty", - "span": { - "begin": [ - 431, - 5 - ], - "end": [ - 431, - 10 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7609": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The **channel**'s sending half has become disconnected, and there will\nnever be any more data received on it.", - "id": 7609, - "inner": { - "variant": { - "discriminant": null, - "kind": "plain" - } - }, - "links": {}, - "name": "Disconnected", - "span": { - "begin": [ - 436, - 5 - ], - "end": [ - 436, - 17 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "761": { - "attrs": [ - { - "other": "#[rustc_lint_query_instability]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"drain\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.\n\nIf the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n assert!(k == 1 || k == 2);\n assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());\n```", - "id": 761, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 762, - "path": "Drain" - } - } - } - } - }, - "links": {}, - "name": "drain", - "span": { - "begin": [ - 651, - 5 - ], - "end": [ - 653, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7610": { + "7612": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7610, + "id": 7612, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640205,20 +659672,20 @@ "span": null, "visibility": "default" }, - "7611": { + "7613": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7611, + "id": 7613, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640242,20 +659709,20 @@ "span": null, "visibility": "default" }, - "7612": { + "7614": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7612, + "id": 7614, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640269,7 +659736,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -640279,20 +659746,20 @@ "span": null, "visibility": "default" }, - "7613": { + "7615": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7613, + "id": 7615, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640316,20 +659783,20 @@ "span": null, "visibility": "default" }, - "7614": { + "7616": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7614, + "id": 7616, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640343,7 +659810,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -640353,20 +659820,20 @@ "span": null, "visibility": "default" }, - "7615": { + "7617": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7615, + "id": 7617, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640380,7 +659847,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -640390,12 +659857,12 @@ "span": null, "visibility": "default" }, - "7616": { + "7618": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7616, + "id": 7618, "inner": { "impl": { "blanket_impl": { @@ -640404,8 +659871,8 @@ "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640449,7 +659916,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -640465,7 +659932,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -640474,23 +659941,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7617": { + "7619": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7617, + "id": 7619, "inner": { "impl": { "blanket_impl": { @@ -640499,8 +659966,8 @@ "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640544,7 +660011,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -640560,7 +660027,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -640569,23 +660036,128 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7618": { + "762": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_drain_ty\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"hashmap_drain_ty\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"drain\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A draining iterator over the entries of a `HashMap`.\n\nThis `struct` is created by the [`drain`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`drain`]: HashMap::drain\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter = map.drain();\n```", + "id": 762, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [ + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "impls": [ + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1019, + 1021, + 1022, + 1024 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "HashMap::drain": 761, + "`HashMap`": 738 + }, + "name": "Drain", + "span": { + "begin": [ + 1659, + 1 + ], + "end": [ + 1661, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7620": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7618, + "id": 7620, "inner": { "impl": { "blanket_impl": { @@ -640594,8 +660166,8 @@ "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640621,7 +660193,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -640653,23 +660225,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7619": { + "7621": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7619, + "id": 7621, "inner": { "impl": { "blanket_impl": { @@ -640678,8 +660250,8 @@ "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640744,7 +660316,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -640769,128 +660341,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "762": { - "attrs": [ - { - "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_drain_ty\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"hashmap_drain_ty\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"drain\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A draining iterator over the entries of a `HashMap`.\n\nThis `struct` is created by the [`drain`] method on [`HashMap`]. See its\ndocumentation for more.\n\n[`drain`]: HashMap::drain\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter = map.drain();\n```", - "id": 762, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [ - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "impls": [ - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1019, - 1021, - 1022, - 1024 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "HashMap::drain": 761, - "`HashMap`": 738 - }, - "name": "Drain", - "span": { - "begin": [ - 1659, - 1 - ], - "end": [ - 1661, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7620": { + "7622": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7620, + "id": 7622, "inner": { "impl": { "blanket_impl": { @@ -640899,8 +660366,8 @@ "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -640922,7 +660389,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -640947,23 +660414,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7621": { + "7623": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7621, + "id": 7623, "inner": { "impl": { "blanket_impl": { @@ -640972,8 +660439,8 @@ "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -641020,7 +660487,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -641038,8 +660505,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -641055,7 +660522,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -641064,23 +660531,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7622": { + "7624": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7622, + "id": 7624, "inner": { "impl": { "blanket_impl": { @@ -641089,8 +660556,8 @@ "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -641155,8 +660622,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -641172,7 +660639,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -641181,23 +660648,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7623": { + "7625": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7623, + "id": 7625, "inner": { "impl": { "blanket_impl": { @@ -641206,8 +660673,8 @@ "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -641254,12 +660721,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -641279,12 +660746,12 @@ }, "visibility": "default" }, - "7624": { + "7626": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7624, + "id": 7626, "inner": { "impl": { "blanket_impl": { @@ -641293,8 +660760,8 @@ "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -641320,7 +660787,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -641347,7 +660814,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -641356,23 +660823,23 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7625": { + "7627": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7625, + "id": 7627, "inner": { "impl": { "blanket_impl": { @@ -641381,8 +660848,8 @@ "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -641442,7 +660909,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -641451,18 +660918,18 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "7626": { + "7628": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -641472,15 +660939,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7626, + "id": 7628, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -641503,18 +660970,18 @@ "name": null, "span": { "begin": [ - 425, + 416, 10 ], "end": [ - 425, + 416, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7627": { + "7629": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -641523,7 +660990,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7627, + "id": 7629, "inner": { "function": { "generics": { @@ -641560,8 +661027,8 @@ "type": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } } } @@ -641579,127 +661046,17 @@ "name": "eq", "span": { "begin": [ - 425, - 10 - ], - "end": [ - 425, - 19 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7628": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7628, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7209, - "path": "TryRecvError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7627 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 425, + 416, 10 ], "end": [ - 425, + 416, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7629": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7629, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7209, - "path": "TryRecvError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 425, - 21 - ], - "end": [ - 425, - 23 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, "763": { "attrs": [ { @@ -641830,6 +661187,116 @@ "visibility": "public" }, "7630": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7630, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7241, + "path": "RecvError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7629 + ], + "provided_trait_methods": [ + "ne" + ], + "trait": { + "args": null, + "id": 121, + "path": "PartialEq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 416, + 10 + ], + "end": [ + 416, + 19 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7631": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7631, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7241, + "path": "RecvError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" + ], + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 416, + 21 + ], + "end": [ + 416, + 23 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7632": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -641838,7 +661305,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7630, + "id": 7632, "inner": { "function": { "generics": { @@ -641871,8 +661338,8 @@ "output": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } } } @@ -641882,18 +661349,18 @@ "name": "clone", "span": { "begin": [ - 425, + 416, 25 ], "end": [ - 425, + 416, 30 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7631": { + "7633": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -641903,15 +661370,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7631, + "id": 7633, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -641922,14 +661389,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7630 + 7632 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -641938,18 +661405,18 @@ "name": null, "span": { "begin": [ - 425, + 416, 25 ], "end": [ - 425, + 416, 30 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7632": { + "7634": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -641959,15 +661426,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7632, + "id": 7634, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -641981,7 +661448,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -641990,18 +661457,18 @@ "name": null, "span": { "begin": [ - 425, + 416, 32 ], "end": [ - 425, + 416, 36 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7633": { + "7635": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -642010,7 +661477,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7633, + "id": 7635, "inner": { "function": { "generics": { @@ -642056,7 +661523,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -642068,7 +661535,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -642079,18 +661546,18 @@ "name": "fmt", "span": { "begin": [ - 425, + 416, 38 ], "end": [ - 425, + 416, 43 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7634": { + "7636": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -642100,15 +661567,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7634, + "id": 7636, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -642119,12 +661586,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7633 + 7635 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -642133,23 +661600,23 @@ "name": null, "span": { "begin": [ - 425, + 416, 38 ], "end": [ - 425, + 416, 43 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7635": { + "7637": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7635, + "id": 7637, "inner": { "function": { "generics": { @@ -642195,7 +661662,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -642207,7 +661674,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -642218,18 +661685,18 @@ "name": "fmt", "span": { "begin": [ - 1180, + 1152, 5 ], "end": [ - 1185, + 1154, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7636": { + "7638": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -642238,15 +661705,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7636, + "id": 7638, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -642257,7 +661724,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7635 + 7637 ], "provided_trait_methods": [], "trait": { @@ -642271,84 +661738,18 @@ "name": null, "span": { "begin": [ - 1179, + 1151, 1 ], "end": [ - 1186, + 1155, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7637": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7637, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "description", - "span": { - "begin": [ - 1191, - 5 - ], - "end": [ - 1196, - 6 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7638": { + "7639": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -642357,15 +661758,15 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7638, + "id": 7639, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7209, - "path": "TryRecvError" + "id": 7241, + "path": "RecvError" } }, "generics": { @@ -642375,9 +661776,7 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7637 - ], + "items": [], "provided_trait_methods": [ "source", "type_id", @@ -642396,43 +661795,12 @@ "name": null, "span": { "begin": [ - 1189, + 1158, 1 ], "end": [ - 1197, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7639": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "This **channel** is currently empty, but the **Sender**(s) have not yet\ndisconnected, so data may yet become available.", - "id": 7639, - "inner": { - "variant": { - "discriminant": null, - "kind": "plain" - } - }, - "links": {}, - "name": "Timeout", - "span": { - "begin": [ - 450, - 5 - ], - "end": [ - 450, - 12 + 1158, + 35 ], "filename": "std/src/sync/mpsc.rs" }, @@ -642600,15 +661968,298 @@ "visibility": "public" }, "7640": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "Converts a `RecvError` into a `TryRecvError`.\n\nThis conversion always returns `TryRecvError::Disconnected`.\n\nNo data is allocated on the heap.", + "id": 7640, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "err", + { + "resolved_path": { + "args": null, + "id": 7241, + "path": "RecvError" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 7247, + "path": "TryRecvError" + } + } + } + } + }, + "links": {}, + "name": "from", + "span": { + "begin": [ + 1180, + 5 + ], + "end": [ + 1184, + 6 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7641": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"mpsc_error_conversions\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7641, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7247, + "path": "TryRecvError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7640 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 7241, + "path": "RecvError" + } + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1174, + 1 + ], + "end": [ + 1185, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7642": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "Converts a `RecvError` into a `RecvTimeoutError`.\n\nThis conversion always returns `RecvTimeoutError::Disconnected`.\n\nNo data is allocated on the heap.", + "id": 7642, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "err", + { + "resolved_path": { + "args": null, + "id": 7241, + "path": "RecvError" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + } + } + } + }, + "links": {}, + "name": "from", + "span": { + "begin": [ + 1207, + 5 + ], + "end": [ + 1211, + 6 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7643": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"mpsc_error_conversions\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7643, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7642 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 7241, + "path": "RecvError" + } + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1201, + 1 + ], + "end": [ + 1212, + 2 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7644": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "This **channel** is currently empty, but the **Sender**(s) have not yet\ndisconnected, so data may yet become available.", + "id": 7644, + "inner": { + "variant": { + "discriminant": null, + "kind": "plain" + } + }, + "links": {}, + "name": "Empty", + "span": { + "begin": [ + 431, + 5 + ], + "end": [ + 431, + 10 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7645": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": "The **channel**'s sending half has become disconnected, and there will\nnever be any more data received on it.", - "id": 7640, + "id": 7645, "inner": { "variant": { "discriminant": null, @@ -642619,31 +662270,31 @@ "name": "Disconnected", "span": { "begin": [ - 454, + 436, 5 ], "end": [ - 454, + 436, 17 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7641": { + "7646": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7641, + "id": 7646, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -642667,20 +662318,20 @@ "span": null, "visibility": "default" }, - "7642": { + "7647": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7642, + "id": 7647, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -642704,20 +662355,20 @@ "span": null, "visibility": "default" }, - "7643": { + "7648": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7643, + "id": 7648, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -642731,7 +662382,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -642741,20 +662392,20 @@ "span": null, "visibility": "default" }, - "7644": { + "7649": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7644, + "id": 7649, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -642778,20 +662429,125 @@ "span": null, "visibility": "default" }, - "7645": { + "765": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 88, patch: 0})}, feature: \"hash_extract_if\"}}]" + }, + { + "must_use": { + "reason": "iterators are lazy and do nothing unless consumed" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A draining, filtering iterator over the entries of a `HashMap`.\n\nThis `struct` is created by the [`extract_if`] method on [`HashMap`].\n\n[`extract_if`]: HashMap::extract_if\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter = map.extract_if(|_k, v| *v % 2 == 0);\n```", + "id": 765, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [] + }, + "impls": [ + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1043, + 1044, + 1046 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "HashMap::extract_if": 764, + "`HashMap`": 738 + }, + "name": "ExtractIf", + "span": { + "begin": [ + 1689, + 1 + ], + "end": [ + 1691, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7650": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7645, + "id": 7650, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -642805,7 +662561,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -642815,20 +662571,20 @@ "span": null, "visibility": "default" }, - "7646": { + "7651": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7646, + "id": 7651, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -642842,7 +662598,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -642852,12 +662608,12 @@ "span": null, "visibility": "default" }, - "7647": { + "7652": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7647, + "id": 7652, "inner": { "impl": { "blanket_impl": { @@ -642866,8 +662622,8 @@ "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -642911,7 +662667,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -642927,7 +662683,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -642936,23 +662692,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7648": { + "7653": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7648, + "id": 7653, "inner": { "impl": { "blanket_impl": { @@ -642961,8 +662717,8 @@ "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -643006,7 +662762,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -643022,7 +662778,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -643031,23 +662787,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7649": { + "7654": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7649, + "id": 7654, "inner": { "impl": { "blanket_impl": { @@ -643056,8 +662812,8 @@ "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -643083,7 +662839,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -643115,128 +662871,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "765": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 88, patch: 0})}, feature: \"hash_extract_if\"}}]" - }, - { - "must_use": { - "reason": "iterators are lazy and do nothing unless consumed" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A draining, filtering iterator over the entries of a `HashMap`.\n\nThis `struct` is created by the [`extract_if`] method on [`HashMap`].\n\n[`extract_if`]: HashMap::extract_if\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter = map.extract_if(|_k, v| *v % 2 == 0);\n```", - "id": 765, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [] - }, - "impls": [ - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1043, - 1044, - 1046 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "HashMap::extract_if": 764, - "`HashMap`": 738 - }, - "name": "ExtractIf", - "span": { - "begin": [ - 1689, - 1 - ], - "end": [ - 1691, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7650": { + "7655": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7650, + "id": 7655, "inner": { "impl": { "blanket_impl": { @@ -643245,8 +662896,8 @@ "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -643311,7 +662962,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -643336,23 +662987,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7651": { + "7656": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7651, + "id": 7656, "inner": { "impl": { "blanket_impl": { @@ -643361,8 +663012,8 @@ "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -643384,7 +663035,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -643409,23 +663060,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7652": { + "7657": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7652, + "id": 7657, "inner": { "impl": { "blanket_impl": { @@ -643434,8 +663085,125 @@ "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 811, + 1 + ], + "end": [ + 813, + 27 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "7658": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7658, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -643482,8 +663250,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 39, + "path": "Into" } } } @@ -643500,8 +663268,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -643517,8 +663285,8 @@ "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 197, + "path": "TryFrom" } } }, @@ -643526,23 +663294,23 @@ "name": null, "span": { "begin": [ - 817, + 827, 1 ], "end": [ - 819, - 27 + 829, + 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7653": { + "7659": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7653, + "id": 7659, "inner": { "impl": { "blanket_impl": { @@ -643551,8 +663319,8 @@ "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -643566,48 +663334,30 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ + { + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -643617,25 +663367,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, 336 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 339, + "path": "Any" } } }, @@ -643643,110 +663381,84 @@ "name": null, "span": { "begin": [ - 833, + 138, 1 ], "end": [ - 835, - 24 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "7654": { - "attrs": [], + "766": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7654, + "docs": "Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());\n```", + "id": 766, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 7205, - "path": "RecvTimeoutError" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "generic_params": [], - "type": { - "generic": "T" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + ] + ], + "is_c_variadic": false, + "output": null } } }, "links": {}, - "name": null, + "name": "clear", "span": { "begin": [ - 138, - 1 + 742, + 5 ], "end": [ - 138, - 36 + 744, + 6 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7655": { + "7660": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7655, + "id": 7660, "inner": { "impl": { "blanket_impl": { @@ -643755,8 +663467,8 @@ "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -643782,7 +663494,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -643809,7 +663521,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -643818,23 +663530,23 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7656": { + "7661": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7656, + "id": 7661, "inner": { "impl": { "blanket_impl": { @@ -643843,8 +663555,8 @@ "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -643904,7 +663616,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -643913,36 +663625,36 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "7657": { + "7662": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7657, + "id": 7662, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -643965,18 +663677,18 @@ "name": null, "span": { "begin": [ - 444, + 425, 10 ], "end": [ - 444, + 425, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7658": { + "7663": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -643985,7 +663697,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7658, + "id": 7663, "inner": { "function": { "generics": { @@ -644022,8 +663734,8 @@ "type": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } } } @@ -644041,36 +663753,36 @@ "name": "eq", "span": { "begin": [ - 444, + 425, 10 ], "end": [ - 444, + 425, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7659": { + "7664": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7659, + "id": 7664, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -644081,14 +663793,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7658 + 7663 ], "provided_trait_methods": [ "ne" ], "trait": { "args": null, - "id": 123, + "id": 121, "path": "PartialEq" } } @@ -644097,97 +663809,36 @@ "name": null, "span": { "begin": [ - 444, + 425, 10 ], "end": [ - 444, + 425, 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "766": { + "7665": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());\n```", - "id": 766, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "clear", - "span": { - "begin": [ - 742, - 5 - ], - "end": [ - 744, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7660": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" - }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7660, + "id": 7665, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -644203,7 +663854,7 @@ ], "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -644212,18 +663863,18 @@ "name": null, "span": { "begin": [ - 444, + 425, 21 ], "end": [ - 444, + 425, 23 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7661": { + "7666": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -644232,7 +663883,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7661, + "id": 7666, "inner": { "function": { "generics": { @@ -644265,8 +663916,8 @@ "output": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } } } @@ -644276,36 +663927,36 @@ "name": "clone", "span": { "begin": [ - 444, + 425, 25 ], "end": [ - 444, + 425, 30 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7662": { + "7667": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7662, + "id": 7667, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -644316,14 +663967,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7661 + 7666 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -644332,36 +663983,36 @@ "name": null, "span": { "begin": [ - 444, + 425, 25 ], "end": [ - 444, + 425, 30 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7663": { + "7668": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7663, + "id": 7668, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -644375,7 +664026,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 103, + "id": 101, "path": "Copy" } } @@ -644384,18 +664035,18 @@ "name": null, "span": { "begin": [ - 444, + 425, 32 ], "end": [ - 444, + 425, 36 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7664": { + "7669": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -644404,7 +664055,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 7664, + "id": 7669, "inner": { "function": { "generics": { @@ -644450,7 +664101,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -644462,7 +664113,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -644473,36 +664124,107 @@ "name": "fmt", "span": { "begin": [ - 444, + 425, 38 ], "end": [ - 444, + 425, 43 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7665": { + "767": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"hashmap_public_hasher\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns a reference to the map's [`BuildHasher`].\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();\n```", + "id": 767, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "S" + } + } + } + } + } + }, + "links": { + "`BuildHasher`": 743 + }, + "name": "hasher", + "span": { + "begin": [ + 760, + 5 + ], + "end": [ + 762, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7670": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7665, + "id": 7670, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -644513,12 +664235,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7664 + 7669 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -644527,23 +664249,23 @@ "name": null, "span": { "begin": [ - 444, + 425, 38 ], "end": [ - 444, + 425, 43 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7666": { + "7671": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7666, + "id": 7671, "inner": { "function": { "generics": { @@ -644589,7 +664311,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -644601,7 +664323,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -644612,35 +664334,35 @@ "name": "fmt", "span": { "begin": [ - 1215, + 1162, 5 ], "end": [ - 1220, + 1167, 6 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7667": { + "7672": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"mpsc_recv_timeout_error\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7667, + "id": 7672, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -644651,7 +664373,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7666 + 7671 ], "provided_trait_methods": [], "trait": { @@ -644665,101 +664387,35 @@ "name": null, "span": { "begin": [ - 1214, + 1161, 1 ], "end": [ - 1221, + 1168, 2 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7668": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7668, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "description", - "span": { - "begin": [ - 1226, - 5 - ], - "end": [ - 1231, - 6 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7669": { + "7673": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"mpsc_recv_timeout_error\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7669, + "id": 7673, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7205, - "path": "RecvTimeoutError" + "id": 7247, + "path": "TryRecvError" } }, "generics": { @@ -644769,9 +664425,7 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7668 - ], + "items": [], "provided_trait_methods": [ "source", "type_id", @@ -644790,385 +664444,79 @@ "name": null, "span": { "begin": [ - 1224, + 1171, 1 ], "end": [ - 1232, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "767": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"hashmap_public_hasher\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns a reference to the map's [`BuildHasher`].\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();\n```", - "id": 767, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "S" - } - } - } - } - } - }, - "links": { - "`BuildHasher`": 743 - }, - "name": "hasher", - "span": { - "begin": [ - 760, - 5 - ], - "end": [ - 762, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7670": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7670, - "inner": { - "struct_field": { - "generic": "T" - } - }, - "links": {}, - "name": "0", - "span": { - "begin": [ - 471, - 56 - ], - "end": [ - 471, - 57 + 1171, + 38 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7671": { + "7674": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "The data could not be sent on the [`sync_channel`] because it would require that\nthe callee block to send the data.\n\nIf this is a buffered channel, then the buffer is full at this time. If\nthis is not a buffered channel, then there is no [`Receiver`] available to\nacquire the data.", - "id": 7671, + "docs": "This **channel** is currently empty, but the **Sender**(s) have not yet\ndisconnected, so data may yet become available.", + "id": 7674, "inner": { "variant": { "discriminant": null, - "kind": { - "tuple": [ - 7670 - ] - } - } - }, - "links": { - "`Receiver`": 7403, - "`sync_channel`": 7401 - }, - "name": "Full", - "span": { - "begin": [ - 471, - 5 - ], - "end": [ - 471, - 58 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7672": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7672, - "inner": { - "struct_field": { - "generic": "T" + "kind": "plain" } }, "links": {}, - "name": "0", + "name": "Timeout", "span": { "begin": [ - 476, - 64 + 450, + 5 ], "end": [ - 476, - 65 + 450, + 12 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7673": { + "7675": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "This [`sync_channel`]'s receiving half has disconnected, so the data could not be\nsent. The data is returned back to the callee in this case.", - "id": 7673, + "docs": "The **channel**'s sending half has become disconnected, and there will\nnever be any more data received on it.", + "id": 7675, "inner": { "variant": { "discriminant": null, - "kind": { - "tuple": [ - 7672 - ] - } + "kind": "plain" } }, - "links": { - "`sync_channel`": 7401 - }, + "links": {}, "name": "Disconnected", "span": { "begin": [ - 476, + 454, 5 ], "end": [ - 476, - 66 + 454, + 17 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7674": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7674, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7675": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7675, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, "7676": { "attrs": [], "crate_id": 0, @@ -645180,58 +664528,14 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -645240,8 +664544,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 1, + "path": "Send" } } }, @@ -645261,58 +664565,14 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -645321,8 +664581,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 5, + "path": "Sync" } } }, @@ -645342,58 +664602,14 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -645402,8 +664618,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 313, + "path": "Freeze" } } }, @@ -645423,58 +664639,14 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -645483,8 +664655,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 7, + "path": "Unpin" } } }, @@ -645612,6 +664784,80 @@ "deprecation": null, "docs": null, "id": 7680, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7681": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7681, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7682": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7682, "inner": { "impl": { "blanket_impl": { @@ -645619,20 +664865,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { @@ -645676,7 +664911,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -645692,7 +664927,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -645701,23 +664936,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7681": { + "7683": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7681, + "id": 7683, "inner": { "impl": { "blanket_impl": { @@ -645725,20 +664960,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { @@ -645782,7 +665006,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -645798,7 +665022,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -645807,23 +665031,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7682": { + "7684": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7682, + "id": 7684, "inner": { "impl": { "blanket_impl": { @@ -645831,20 +665055,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { @@ -645870,7 +665083,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -645902,23 +665115,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7683": { + "7685": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7683, + "id": 7685, "inner": { "impl": { "blanket_impl": { @@ -645926,20 +665139,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { @@ -646004,7 +665206,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -646029,23 +665231,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7684": { + "7686": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7684, + "id": 7686, "inner": { "impl": { "blanket_impl": { @@ -646053,20 +665255,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { @@ -646088,7 +665279,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -646113,23 +665304,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7685": { + "7687": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7685, + "id": 7687, "inner": { "impl": { "blanket_impl": { @@ -646137,20 +665328,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { @@ -646197,7 +665377,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -646215,8 +665395,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -646232,7 +665412,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -646241,23 +665421,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7686": { + "7688": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7686, + "id": 7688, "inner": { "impl": { "blanket_impl": { @@ -646265,20 +665445,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { @@ -646343,8 +665512,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -646360,7 +665529,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -646369,23 +665538,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7687": { + "7689": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7687, + "id": 7689, "inner": { "impl": { "blanket_impl": { @@ -646393,20 +665562,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { @@ -646453,12 +665611,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -646478,12 +665636,50 @@ }, "visibility": "default" }, - "7688": { + "769": { + "attrs": [ + { + "other": "#[rustc_doc_primitive = \"usize\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The pointer-sized unsigned integer type.\n\nThe size of this primitive is how many bytes it takes to reference any\nlocation in memory. For example, on a 32 bit target, this is 4 bytes\nand on a 64 bit target, this is 8 bytes.", + "id": 769, + "inner": { + "primitive": { + "impls": [ + 11966, + 11970, + 11972 + ], + "name": "usize" + } + }, + "links": {}, + "name": "usize", + "span": { + "begin": [ + 1498, + 1 + ], + "end": [ + 1498, + 18 + ], + "filename": "std/src/../../core/src/primitive_docs.rs" + }, + "visibility": "public" + }, + "7690": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7688, + "id": 7690, "inner": { "impl": { "blanket_impl": { @@ -646491,20 +665687,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { @@ -646530,7 +665715,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -646557,7 +665742,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -646566,23 +665751,23 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7689": { + "7691": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7689, + "id": 7691, "inner": { "impl": { "blanket_impl": { @@ -646590,20 +665775,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { @@ -646663,7 +665837,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -646672,220 +665846,21 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "769": { - "attrs": [ - { - "other": "#[rustc_doc_primitive = \"usize\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The pointer-sized unsigned integer type.\n\nThe size of this primitive is how many bytes it takes to reference any\nlocation in memory. For example, on a 32 bit target, this is 4 bytes\nand on a 64 bit target, this is 8 bytes.", - "id": 769, - "inner": { - "primitive": { - "impls": [ - 11685, - 11689, - 11691 - ], - "name": "usize" - } - }, - "links": {}, - "name": "usize", - "span": { - "begin": [ - 1498, - 1 - ], - "end": [ - 1498, - 18 - ], - "filename": "std/src/../../core/src/primitive_docs.rs" - }, - "visibility": "public" - }, - "7690": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7690, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 442, - "path": "StructuralPartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 462, - 10 - ], - "end": [ - 462, - 19 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7691": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7691, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq", - "span": { - "begin": [ - 462, - 10 - ], - "end": [ - 462, - 19 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, "7692": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" }, "automatically_derived" ], @@ -646898,790 +665873,24 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 123, - "path": "$crate::cmp::PartialEq" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7691 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 462, - 10 - ], - "end": [ - 462, - 19 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7693": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7693, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "$crate::cmp::Eq" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 462, - 21 - ], - "end": [ - 462, - 23 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7694": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7694, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 462, - 25 - ], - "end": [ - 462, - 30 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7695": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7695, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "$crate::clone::Clone" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7694 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 462, - 25 - ], - "end": [ - 462, - 30 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7696": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7696, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 103, - "path": "$crate::marker::Copy" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 103, - "path": "Copy" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 462, - 32 - ], - "end": [ - 462, - 36 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7697": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7697, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1120, - 5 - ], - "end": [ - 1125, - 6 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7698": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7698, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7697 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1119, - 1 - ], - "end": [ - 1126, - 2 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "7699": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7699, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1130, - 5 - ], - "end": [ - 1135, - 6 - ], - "filename": "std/src/sync/mpsc.rs" - }, - "visibility": "default" - }, - "770": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Reserves capacity for at least `additional` more elements to be inserted\nin the `HashMap`. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling `reserve`,\ncapacity will be greater than or equal to `self.len() + additional`.\nDoes nothing if capacity is already sufficient.\n\n# Panics\n\nPanics if the new allocation size overflows [`usize`].\n\n# Examples\n\n```\nuse std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);\n```", - "id": 770, - "inner": { - "function": { "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "additional", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "`usize`": 769 - }, - "name": "reserve", - "span": { - "begin": [ - 789, - 5 - ], - "end": [ - 791, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7700": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7700, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7699 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 442, + "path": "StructuralPartialEq" } } }, @@ -647689,27 +665898,27 @@ "name": null, "span": { "begin": [ - 1129, - 1 + 444, + 10 ], "end": [ - 1136, - 2 + 444, + 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7701": { + "7693": { "attrs": [ { - "other": "#[allow(deprecated)]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7701, + "id": 7693, "inner": { "function": { "generics": { @@ -647736,99 +665945,84 @@ } } } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "primitive": "bool" } } } }, "links": {}, - "name": "description", + "name": "eq", "span": { "begin": [ - 1141, - 5 + 444, + 10 ], "end": [ - 1146, - 6 + 444, + 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7702": { + "7694": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7702, + "id": 7694, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7211, - "path": "TrySendError" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7701 + 7693 ], "provided_trait_methods": [ - "source", - "type_id", - "description", - "cause", - "provide" + "ne" ], "trait": { "args": null, - "id": 450, - "path": "Error" + "id": 121, + "path": "PartialEq" } } }, @@ -647836,121 +666030,81 @@ "name": null, "span": { "begin": [ - 1139, - 1 + 444, + 10 ], "end": [ - 1147, - 2 + 444, + 19 ], "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7705": { + "7695": { "attrs": [ { - "other": "#[(not(test), rustc_diagnostic_item = \"NonPoisonMutex\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"NonPoisonMutex\"]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, - "docs": "A mutual exclusion primitive useful for protecting shared data that does not keep track of\nlock poisoning.\n\nFor more information about mutexes, check out the documentation for the poisoning variant of\nthis lock at [`poison::Mutex`].\n\n[`poison::Mutex`]: crate::sync::poison::Mutex\n\n# Examples\n\nNote that this `Mutex` does **not** propagate threads that panic while holding the lock via\npoisoning. If you need this functionality, see [`poison::Mutex`].\n\n```\n#![feature(nonpoison_mutex)]\n\nuse std::thread;\nuse std::sync::{Arc, nonpoison::Mutex};\n\nlet mutex = Arc::new(Mutex::new(0u32));\nlet mut handles = Vec::new();\n\nfor n in 0..10 {\n let m = Arc::clone(&mutex);\n let handle = thread::spawn(move || {\n let mut guard = m.lock();\n *guard += 1;\n panic!(\"panic from thread {n} {guard}\")\n });\n handles.push(handle);\n}\n\nfor h in handles {\n let _ = h.join();\n}\n\nprintln!(\"Finished, locked {} times\", mutex.lock());\n```", - "id": 7705, + "docs": null, + "id": 7695, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "impls": [ - 7710, - 7719, - 7720, - 7721, - 7722, - 7723, - 7724, - 7725, - 7726, - 7727, - 7728, - 7729, - 7730, - 7731, - 7732, - 7733, - 7735, - 7737, - 7739 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "trait": { + "args": null, + "id": 111, + "path": "Eq" } } }, - "links": { - "crate::sync::poison::Mutex": 495 - }, - "name": "Mutex", + "links": {}, + "name": null, "span": { "begin": [ - 50, - 1 + 444, + 21 ], "end": [ - 53, - 2 + 444, + 23 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "7706": { + "7696": { "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - }, { "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Creates a new mutex in an unlocked state ready for use.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mutex = Mutex::new(0);\n```", - "id": 7706, + "docs": null, + "id": 7696, "inner": { "function": { "generics": { @@ -647961,211 +666115,168 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "t", + "self", { - "generic": "T" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7705, - "path": "Mutex" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } } } } }, "links": {}, - "name": "new", + "name": "clone", "span": { "begin": [ - 173, - 5 + 444, + 25 ], "end": [ - 175, - 6 + 444, + 30 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "7707": { + "7697": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, - "docs": "Returns the contained value by cloning it.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(lock_value_accessors)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.get_cloned(), 7);\n```", - "id": 7707, + "docs": null, + "id": 7697, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + }, "generics": { "params": [], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "where_predicates": [] }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "T" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7696 + ], + "provided_trait_methods": [ + "clone_from" + ], + "trait": { + "args": null, + "id": 97, + "path": "Clone" } } }, "links": {}, - "name": "get_cloned", + "name": null, "span": { "begin": [ - 193, - 5 + 444, + 25 ], "end": [ - 198, - 6 + 444, + 30 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "7708": { + "7698": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, - "docs": "Sets the contained value.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(lock_value_accessors)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.get_cloned(), 7);\nmutex.set(11);\nassert_eq!(mutex.get_cloned(), 11);\n```", - "id": 7708, + "docs": null, + "id": 7698, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "value", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": null + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 101, + "path": "Copy" } } }, "links": {}, - "name": "set", + "name": null, "span": { "begin": [ - 218, - 5 + 444, + 32 ], "end": [ - 226, - 6 + 444, + 36 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "7709": { + "7699": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Replaces the contained value with `value`, and returns the old contained value.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(lock_value_accessors)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.replace(11), 7);\nassert_eq!(mutex.get_cloned(), 11);\n```", - "id": 7709, + "docs": null, + "id": 7699, "inner": { "function": { "generics": { @@ -648194,38 +666305,61 @@ } ], [ - "value", + "f", { - "generic": "T" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "$crate::fmt::Formatter" + } + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "T" + "resolved_path": { + "args": null, + "id": 342, + "path": "$crate::fmt::Result" + } } } } }, "links": {}, - "name": "replace", + "name": "fmt", "span": { "begin": [ - 245, - 5 + 444, + 38 ], "end": [ - 248, - 6 + 444, + 43 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "771": { + "770": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"try_reserve\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -648233,8 +666367,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Tries to reserve capacity for at least `additional` more elements to be inserted\nin the `HashMap`. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling `try_reserve`,\ncapacity will be greater than or equal to `self.len() + additional` if\nit returns `Ok(())`.\nDoes nothing if capacity is already sufficient.\n\n# Errors\n\nIf the capacity overflows, or the allocator reports a failure, then an error\nis returned.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");\n```", - "id": 771, + "docs": "Reserves capacity for at least `additional` more elements to be inserted\nin the `HashMap`. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling `reserve`,\ncapacity will be greater than or equal to `self.len() + additional`.\nDoes nothing if capacity is already sufficient.\n\n# Panics\n\nPanics if the new allocation size overflows [`usize`].\n\n# Examples\n\n```\nuse std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);\n```", + "id": 770, "inner": { "function": { "generics": { @@ -648270,131 +666404,87 @@ ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 772, - "path": "TryReserveError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } + "output": null } } }, - "links": {}, - "name": "try_reserve", + "links": { + "`usize`": 769 + }, + "name": "reserve", "span": { "begin": [ - 815, + 789, 5 ], "end": [ - 817, + 791, 6 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "public" }, - "7710": { - "attrs": [], + "7700": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"mpsc_recv_timeout\"}}]" + }, + "automatically_derived" + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7710, + "id": 7700, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7705, - "path": "Mutex" + "args": null, + "id": 7243, + "path": "RecvTimeoutError" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7706, - 7707, - 7708, - 7709 + 7699 ], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } } }, "links": {}, "name": null, "span": { "begin": [ - 159, - 1 + 444, + 38 ], "end": [ - 249, - 2 + 444, + 43 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7711": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } - ], + "7701": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Acquires a mutex, blocking the current thread until it is able to do so.\n\nThis function will block the local thread until it is available to acquire\nthe mutex. Upon returning, the thread is the only thread with the lock\nheld. An RAII guard is returned to allow scoped unlock of the lock. When\nthe guard goes out of scope, the mutex will be unlocked.\n\nThe exact behavior on locking a mutex in the thread which already holds\nthe lock is left unspecified. However, this function will not return on\nthe second call (it might panic or deadlock, for example).\n\n# Panics\n\nThis function might panic when called if the lock is already held by\nthe current thread.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n\nuse std::sync::{Arc, nonpoison::Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nthread::spawn(move || {\n *c_mutex.lock() = 10;\n}).join().expect(\"thread::spawn failed\");\nassert_eq!(*mutex.lock(), 10);\n```", - "id": 7711, + "docs": null, + "id": 7701, "inner": { "function": { "generics": { @@ -648421,326 +666511,331 @@ } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "lock", + "name": "fmt", "span": { "begin": [ - 285, + 1189, 5 ], "end": [ - 290, + 1194, 6 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "7712": { + "7702": { "attrs": [ { - "other": "#[must_not_suspend =\n\"holding a MutexGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" - }, - { - "other": "#[clippy::has_significant_drop]" - }, - { - "other": "#[(not(test), rustc_diagnostic_item = \"NonPoisonMutexGuard\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"NonPoisonMutexGuard\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - }, - { - "must_use": { - "reason": "if unused the Mutex will immediately unlock" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"mpsc_recv_timeout_error\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "An RAII implementation of a \"scoped lock\" of a mutex. When this structure is\ndropped (falls out of scope), the lock will be unlocked.\n\nThe data protected by the mutex can be accessed through this guard via its\n[`Deref`] and [`DerefMut`] implementations.\n\nThis structure is created by the [`lock`] and [`try_lock`] methods on\n[`Mutex`].\n\n[`lock`]: Mutex::lock\n[`try_lock`]: Mutex::try_lock", - "id": 7712, + "docs": null, + "id": 7702, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "impls": [ - 7744, - 7745, - 7746, - 7747, - 7748, - 7749, - 7750, - 7751, - 7752, - 7753, - 7754, - 7755, - 7756, - 7757, - 7758, - 7759, - 7762, - 7764, - 7766, - 7768, - 7770 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7701 ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 436, + "path": "Display" } } }, - "links": { - "Mutex::lock": 7711, - "Mutex::try_lock": 7714, - "`DerefMut`": 1989, - "`Deref`": 1969, - "`Mutex`": 7705 - }, - "name": "MutexGuard", + "links": {}, + "name": null, "span": { "begin": [ - 99, + 1188, 1 ], "end": [ - 101, + 1195, 2 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "7713": { + "7703": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"sync_nonpoison\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"mpsc_recv_timeout_error\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "A lock could not be acquired at this time because the operation would otherwise block.", - "id": 7713, + "docs": null, + "id": 7703, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7243, + "path": "RecvTimeoutError" + } + }, "generics": { "params": [], "where_predicates": [] }, - "impls": [ - 7804, - 7805, - 7806, - 7807, - 7808, - 7809, - 7810, - 7811, - 7812, - 7813, - 7814, - 7815, - 7816, - 7817, - 7819, - 7821 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "source", + "type_id", + "description", + "cause", + "provide" ], - "kind": "unit" + "trait": { + "args": null, + "id": 450, + "path": "Error" + } } }, "links": {}, - "name": "WouldBlock", + "name": null, "span": { "begin": [ - 16, + 1198, 1 ], "end": [ - 16, - 23 + 1198, + 42 ], - "filename": "std/src/sync/nonpoison.rs" + "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "7714": { + "7704": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to acquire this lock.\n\nThis function does not block. If the lock could not be acquired at this time, then\n[`WouldBlock`] is returned. Otherwise, an RAII guard is returned.\n\nThe lock will be unlocked when the guard is dropped.\n\n# Errors\n\nIf the mutex could not be acquired because it is already locked, then this call will return\nthe [`WouldBlock`] error.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nthread::spawn(move || {\n let mut lock = c_mutex.try_lock();\n if let Ok(ref mut mutex) = lock {\n **mutex = 10;\n } else {\n println!(\"try_lock failed\");\n }\n}).join().expect(\"thread::spawn failed\");\nassert_eq!(*mutex.lock().unwrap(), 10);\n```", - "id": 7714, + "docs": null, + "id": 7704, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" - } - } - } - ], - "constraints": [] - } - }, - "id": 7715, - "path": "TryLockResult" - } - } + "struct_field": { + "generic": "T" + } + }, + "links": {}, + "name": "0", + "span": { + "begin": [ + 471, + 56 + ], + "end": [ + 471, + 57 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7705": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The data could not be sent on the [`sync_channel`] because it would require that\nthe callee block to send the data.\n\nIf this is a buffered channel, then the buffer is full at this time. If\nthis is not a buffered channel, then there is no [`Receiver`] available to\nacquire the data.", + "id": 7705, + "inner": { + "variant": { + "discriminant": null, + "kind": { + "tuple": [ + 7704 + ] } } }, "links": { - "`WouldBlock`": 7713 + "`Receiver`": 7441, + "`sync_channel`": 7439 }, - "name": "try_lock", + "name": "Full", "span": { "begin": [ - 324, + 471, 5 ], "end": [ - 326, - 6 + 471, + 58 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, - "visibility": "public" + "visibility": "default" }, - "7715": { + "7706": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"sync_nonpoison\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "A type alias for the result of a nonblocking locking method.", - "id": 7715, + "docs": null, + "id": 7706, "inner": { - "type_alias": { + "struct_field": { + "generic": "T" + } + }, + "links": {}, + "name": "0", + "span": { + "begin": [ + 476, + 64 + ], + "end": [ + 476, + 65 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7707": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "This [`sync_channel`]'s receiving half has disconnected, so the data could not be\nsent. The data is returned back to the callee in this case.", + "id": 7707, + "inner": { + "variant": { + "discriminant": null, + "kind": { + "tuple": [ + 7706 + ] + } + } + }, + "links": { + "`sync_channel`": 7439 + }, + "name": "Disconnected", + "span": { + "begin": [ + 476, + 5 + ], + "end": [ + 476, + 66 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7708": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7708, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" + } + }, "generics": { "params": [ { @@ -648751,69 +666846,90 @@ "is_synthetic": false } }, - "name": "Guard" + "name": "T" } ], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Guard" - } - }, + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ { - "type": { - "resolved_path": { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 1, + "path": "Send" } } } ], - "constraints": [] + "generic_params": [], + "type": { + "generic": "T" + } } - }, - "id": 57, - "path": "Result" - } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, "links": {}, - "name": "TryLockResult", - "span": { - "begin": [ - 12, - 1 - ], - "end": [ - 12, - 59 - ], - "filename": "std/src/sync/nonpoison.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, - "7716": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } - ], + "7709": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Consumes this mutex, returning the underlying data.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mutex = Mutex::new(0);\nassert_eq!(mutex.into_inner(), 0);\n```", - "id": 7716, + "docs": null, + "id": 7709, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [ { "bound_predicate": { @@ -648824,8 +666940,8 @@ "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 5, + "path": "Sync" } } } @@ -648838,54 +666954,36 @@ } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "T" - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, "links": {}, - "name": "into_inner", - "span": { - "begin": [ - 341, - 5 - ], - "end": [ - 346, - 6 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, - "7717": { + "771": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 57, patch: 0})}, feature: \"try_reserve\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns a mutable reference to the underlying data.\n\nSince this call borrows the `Mutex` mutably, no actual locking needs to\ntake place -- the mutable borrow statically guarantees no locks exist.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mut mutex = Mutex::new(0);\n*mutex.get_mut() = 10;\nassert_eq!(*mutex.lock(), 10);\n```", - "id": 7717, + "docs": "Tries to reserve capacity for at least `additional` more elements to be inserted\nin the `HashMap`. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling `try_reserve`,\ncapacity will be greater than or equal to `self.len() + additional` if\nit returns `Ok(())`.\nDoes nothing if capacity is already sufficient.\n\n# Errors\n\nIf the capacity overflows, or the allocator reports a failure, then an error\nis returned.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");\n```", + "id": 771, "inner": { "function": { "generics": { @@ -648912,107 +667010,66 @@ } } } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - } - }, - "links": {}, - "name": "get_mut", - "span": { - "begin": [ - 365, - 5 - ], - "end": [ - 367, - 6 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "public" - }, - "7718": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140368, is_soft: false}, feature: \"mutex_data_ptr\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns a raw pointer to the underlying data.\n\nThe returned pointer is always non-null and properly aligned, but it is\nthe user's responsibility to ensure that any reads and writes through it\nare properly synchronized to avoid data races, and that it is not read\nor written through after the mutex is dropped.", - "id": 7718, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "additional", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "raw_pointer": { - "is_mutable": true, - "type": { - "generic": "T" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 772, + "path": "TryReserveError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" } } } } }, "links": {}, - "name": "data_ptr", + "name": "try_reserve", "span": { "begin": [ - 377, + 815, 5 ], "end": [ - 379, + 817, 6 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "public" }, - "7719": { + "7710": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7719, + "id": 7710, "inner": { "impl": { "blanket_impl": null, @@ -649030,8 +667087,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649039,19 +667096,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -649059,43 +667104,53 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 7711, - 7714, - 7716, - 7717, - 7718 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 251, - 1 - ], - "end": [ - 380, - 2 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, + "span": null, "visibility": "default" }, - "7720": { + "7711": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7720, + "id": 7711, "inner": { "impl": { "blanket_impl": null, @@ -649113,8 +667168,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649130,17 +667185,39 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 7, + "path": "Unpin" } } }, @@ -649149,12 +667226,12 @@ "span": null, "visibility": "default" }, - "7721": { + "7712": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7721, + "id": 7712, "inner": { "impl": { "blanket_impl": null, @@ -649172,8 +667249,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649199,19 +667276,8 @@ "modifier": "none", "trait": { "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "id": 316, + "path": "UnwindSafe" } } } @@ -649231,8 +667297,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -649241,12 +667307,12 @@ "span": null, "visibility": "default" }, - "7722": { + "7713": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7722, + "id": 7713, "inner": { "impl": { "blanket_impl": null, @@ -649264,8 +667330,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649292,18 +667358,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "path": "RefUnwindSafe" } } } @@ -649324,7 +667379,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -649333,15 +667388,17 @@ "span": null, "visibility": "default" }, - "7723": { + "7714": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7723, + "id": 7714, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -649356,8 +667413,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649373,31 +667430,76 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, - "is_negative": true, - "is_synthetic": true, + "is_negative": false, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 319 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "7724": { + "7715": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7724, + "id": 7715, "inner": { "impl": { "blanket_impl": { @@ -649417,8 +667519,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649462,7 +667564,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 322 ], "provided_trait_methods": [], "trait": { @@ -649478,8 +667580,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 324, + "path": "BorrowMut" } } }, @@ -649487,23 +667589,23 @@ "name": null, "span": { "begin": [ - 209, + 221, 1 ], "end": [ - 209, - 32 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7725": { + "7716": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7725, + "id": 7716, "inner": { "impl": { "blanket_impl": { @@ -649523,8 +667625,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649547,11 +667649,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 97, + "path": "Clone" } } } @@ -649568,24 +667670,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 422 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 424, + "path": "CloneToUninit" } } }, @@ -649593,23 +667684,23 @@ "name": null, "span": { "begin": [ - 217, + 515, 1 ], "end": [ - 217, - 35 + 515, + 42 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7726": { + "7717": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7726, + "id": 7717, "inner": { "impl": { "blanket_impl": { @@ -649629,8 +667720,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649695,7 +667786,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -649720,23 +667811,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7727": { + "7718": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7727, + "id": 7718, "inner": { "impl": { "blanket_impl": { @@ -649756,8 +667847,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649779,7 +667870,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -649804,23 +667895,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7728": { + "7719": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7728, + "id": 7719, "inner": { "impl": { "blanket_impl": { @@ -649840,8 +667931,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649855,15 +667946,59 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 1898 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -649872,15 +668007,15 @@ "args": [ { "type": { - "primitive": "never" + "generic": "U" } } ], "constraints": [] } }, - "id": 37, - "path": "From" + "id": 198, + "path": "TryInto" } } }, @@ -649888,23 +668023,23 @@ "name": null, "span": { "begin": [ - 808, + 811, 1 ], "end": [ - 808, - 28 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7729": { + "7720": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7729, + "id": 7720, "inner": { "impl": { "blanket_impl": { @@ -649924,8 +668059,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -649972,8 +668107,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 39, + "path": "Into" } } } @@ -649990,8 +668125,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -650007,8 +668142,8 @@ "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 197, + "path": "TryFrom" } } }, @@ -650016,84 +668151,121 @@ "name": null, "span": { "begin": [ - 817, + 827, 1 ], "end": [ - 819, - 27 + 829, + 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "773": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7721": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);\n```", - "id": 773, + "docs": null, + "id": 7721, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ] - ], - "is_c_variadic": false, - "output": null + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, "links": {}, - "name": "shrink_to_fit", + "name": null, "span": { "begin": [ - 837, - 5 + 138, + 1 ], "end": [ - 839, - 6 + 138, + 36 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "7730": { + "7722": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7730, + "id": 7722, "inner": { "impl": { "blanket_impl": { @@ -650113,8 +668285,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -650128,7 +668300,96 @@ } }, "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 85, + 1 + ], + "end": [ + 87, + 14 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "7723": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7723, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } }, + "id": 7249, + "path": "TrySendError" + } + }, + "generics": { + "params": [ { "kind": { "type": { @@ -650137,7 +668398,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "T" } ], "where_predicates": [ @@ -650149,27 +668410,27 @@ "generic_params": [], "modifier": "none", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -650179,54 +668440,206 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 434 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "args": null, + "id": 161, + "path": "ToString" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2866, + 1 + ], + "end": [ + 2866, + 46 + ], + "filename": "checkouts/rust/library/alloc/src/string.rs" + }, + "visibility": "default" + }, + "7724": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7724, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 442, + "path": "StructuralPartialEq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 462, + 10 + ], + "end": [ + 462, + 19 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7725": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7725, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "U" + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" + } } } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } } } }, "links": {}, - "name": null, + "name": "eq", "span": { "begin": [ - 833, - 1 + 462, + 10 ], "end": [ - 835, - 24 + 462, + 19 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7731": { - "attrs": [], + "7726": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7731, + "id": 7726, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -650241,8 +668654,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -650250,7 +668663,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 121, + "path": "$crate::cmp::PartialEq" + } + } + } + ], "default": null, "is_synthetic": false } @@ -650258,44 +668683,21 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 7725 + ], + "provided_trait_methods": [ + "ne" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 121, + "path": "PartialEq" } } }, @@ -650303,27 +668705,28 @@ "name": null, "span": { "begin": [ - 138, - 1 + 462, + 10 ], "end": [ - 138, - 36 + 462, + 19 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7732": { + "7727": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, - "docs": "`T` must be `Send` for a [`Mutex`] to be `Send` because it is possible to acquire\nthe owned `T` from the `Mutex` via [`into_inner`].\n\n[`into_inner`]: Mutex::into_inner", - "id": 7732, + "docs": null, + "id": 7727, "inner": { "impl": { "blanket_impl": null, @@ -650341,8 +668744,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -650351,25 +668754,14 @@ "kind": { "type": { "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, { "trait_bound": { "generic_params": [], "modifier": "none", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 111, + "path": "$crate::cmp::Eq" } } } @@ -650387,42 +668779,117 @@ "is_synthetic": false, "is_unsafe": false, "items": [], - "provided_trait_methods": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" + ], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 111, + "path": "Eq" } } }, - "links": { - "Mutex::into_inner": 7716, - "`Mutex`": 7705 - }, + "links": {}, "name": null, "span": { "begin": [ - 60, - 1 + 462, + 21 ], "end": [ - 60, - 51 + 462, + 23 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7733": { + "7728": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "`T` must be `Send` for [`Mutex`] to be `Sync`.\nThis ensures that the protected data can be accessed safely from multiple threads\nwithout causing data races or other unsafe behavior.\n\n[`Mutex`] provides mutable access to `T` to one thread at a time. However, it's essential\nfor `T` to be `Send` because it's not safe for non-`Send` structures to be accessed in\nthis manner. For instance, consider [`Rc`], a non-atomic reference counted smart pointer,\nwhich is not `Send`. With `Rc`, we can have multiple copies pointing to the same heap\nallocation with a non-atomic reference count. If we were to use `Mutex>`, it would\nonly protect one instance of `Rc` from shared access, leaving other copies vulnerable\nto potential data races.\n\nAlso note that it is not necessary for `T` to be `Sync` as `&T` is only made available\nto one thread at a time if `T` is not `Sync`.\n\n[`Rc`]: crate::rc::Rc", - "id": 7733, + "docs": null, + "id": 7728, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" + } + } + } + } + }, + "links": {}, + "name": "clone", + "span": { + "begin": [ + 462, + 25 + ], + "end": [ + 462, + 30 + ], + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7729": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7729, "inner": { "impl": { "blanket_impl": null, @@ -650440,8 +668907,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -650450,25 +668917,14 @@ "kind": { "type": { "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, { "trait_bound": { "generic_params": [], "modifier": "none", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 97, + "path": "$crate::clone::Clone" } } } @@ -650485,40 +668941,47 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], - "provided_trait_methods": [], + "items": [ + 7728 + ], + "provided_trait_methods": [ + "clone_from" + ], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 97, + "path": "Clone" } } }, - "links": { - "`Mutex`": 7705, - "`Mutex`": 7705, - "crate::rc::Rc": 2030 - }, + "links": {}, "name": null, "span": { "begin": [ - 79, - 1 + 462, + 25 ], "end": [ - 79, - 51 + 462, + 30 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7734": { - "attrs": [], + "773": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": "Creates a new mutex in an unlocked state ready for use.\nThis is equivalent to [`Mutex::new`].", - "id": 7734, + "docs": "Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map: HashMap = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);\n```", + "id": 773, "inner": { "function": { "generics": { @@ -650535,46 +668998,49 @@ "sig": { "inputs": [ [ - "t", + "self", { - "generic": "T" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, - "output": { - "generic": "Self" - } + "output": null } } }, - "links": { - "`Mutex::new`": 7706 - }, - "name": "from", + "links": {}, + "name": "shrink_to_fit", "span": { "begin": [ - 386, + 837, 5 ], "end": [ - 388, + 839, 6 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7735": { + "7730": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7735, + "id": 7730, "inner": { "impl": { "blanket_impl": null, @@ -650592,8 +669058,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -650601,7 +669067,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 101, + "path": "$crate::marker::Copy" + } + } + } + ], "default": null, "is_synthetic": false } @@ -650614,25 +669092,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7734 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 101, + "path": "Copy" } } }, @@ -650640,23 +669105,23 @@ "name": null, "span": { "begin": [ - 383, - 1 + 462, + 32 ], "end": [ - 389, - 2 + 462, + 36 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7736": { + "7731": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Creates a `Mutex`, with the `Default` value for T.", - "id": 7736, + "docs": null, + "id": 7731, "inner": { "function": { "generics": { @@ -650671,54 +669136,81 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7705, - "path": "Mutex" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "default", + "name": "fmt", "span": { "begin": [ - 394, + 1115, 5 ], "end": [ - 396, + 1120, 6 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7737": { + "7732": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7737, + "id": 7732, "inner": { "impl": { "blanket_impl": null, @@ -650736,8 +669228,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -650745,30 +669237,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 109, - "path": "Default" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -650782,13 +669251,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7736 + 7731 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 344, + "path": "Debug" } } }, @@ -650796,23 +669265,23 @@ "name": null, "span": { "begin": [ - 392, + 1114, 1 ], "end": [ - 397, + 1121, 2 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7738": { + "7733": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7738, + "id": 7733, "inner": { "function": { "generics": { @@ -650858,7 +669327,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -650870,7 +669339,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -650881,27 +669350,27 @@ "name": "fmt", "span": { "begin": [ - 401, + 1125, 5 ], "end": [ - 412, + 1130, 6 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, - "7739": { + "7734": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7739, + "id": 7734, "inner": { "impl": { "blanket_impl": null, @@ -650919,8 +669388,8 @@ "constraints": [] } }, - "id": 7705, - "path": "Mutex" + "id": 7249, + "path": "TrySendError" } }, "generics": { @@ -650928,30 +669397,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -650965,13 +669411,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7738 + 7733 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 436, + "path": "Display" } } }, @@ -650979,17 +669425,299 @@ "name": null, "span": { "begin": [ - 400, + 1124, 1 ], "end": [ - 413, + 1131, 2 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/mpsc.rs" + }, + "visibility": "default" + }, + "7735": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7735, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7249, + "path": "TrySendError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "source", + "type_id", + "description", + "cause", + "provide" + ], + "trait": { + "args": null, + "id": 450, + "path": "Error" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1134, + 1 + ], + "end": [ + 1134, + 44 + ], + "filename": "std/src/sync/mpsc.rs" }, "visibility": "default" }, + "7737": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A synchronization primitive which can nominally be written to only once.\n\nThis type is a thread-safe [`OnceCell`], and can be used in statics.\nIn many simple cases, you can use [`LazyLock`] instead to get the benefits of this type\nwith less effort: `LazyLock` \"looks like\" `&T` because it initializes with `F` on deref!\nWhere OnceLock shines is when LazyLock is too simple to support a given case, as LazyLock\ndoesn't allow additional inputs to its function after you call [`LazyLock::new(|| ...)`].\n\nA `OnceLock` can be thought of as a safe abstraction over uninitialized data that becomes\ninitialized once written.\n\nUnlike [`Mutex`](crate::sync::Mutex), `OnceLock` is never poisoned on panic.\n\n[`OnceCell`]: crate::cell::OnceCell\n[`LazyLock`]: crate::sync::LazyLock\n[`LazyLock::new(|| ...)`]: crate::sync::LazyLock::new\n\n# Examples\n\nWriting to a `OnceLock` from a separate thread:\n\n```\nuse std::sync::OnceLock;\n\nstatic CELL: OnceLock = OnceLock::new();\n\n// `OnceLock` has not been written to yet.\nassert!(CELL.get().is_none());\n\n// Spawn a thread and write to `OnceLock`.\nstd::thread::spawn(|| {\n let value = CELL.get_or_init(|| 12345);\n assert_eq!(value, &12345);\n})\n.join()\n.unwrap();\n\n// `OnceLock` now contains the value.\nassert_eq!(\n CELL.get(),\n Some(&12345),\n);\n```\n\nYou can use `OnceLock` to implement a type that requires \"append-only\" logic:\n\n```\nuse std::sync::{OnceLock, atomic::{AtomicU32, Ordering}};\nuse std::thread;\n\nstruct OnceList {\n data: OnceLock,\n next: OnceLock>>,\n}\nimpl OnceList {\n const fn new() -> OnceList {\n OnceList { data: OnceLock::new(), next: OnceLock::new() }\n }\n fn push(&self, value: T) {\n // FIXME: this impl is concise, but is also slow for long lists or many threads.\n // as an exercise, consider how you might improve on it while preserving the behavior\n if let Err(value) = self.data.set(value) {\n let next = self.next.get_or_init(|| Box::new(OnceList::new()));\n next.push(value)\n };\n }\n fn contains(&self, example: &T) -> bool\n where\n T: PartialEq,\n {\n self.data.get().map(|item| item == example).filter(|v| *v).unwrap_or_else(|| {\n self.next.get().map(|next| next.contains(example)).unwrap_or(false)\n })\n }\n}\n\n// Let's exercise this new Sync append-only list by doing a little counting\nstatic LIST: OnceList = OnceList::new();\nstatic COUNTER: AtomicU32 = AtomicU32::new(0);\n\n# const LEN: u32 = if cfg!(miri) { 50 } else { 1000 };\n# /*\nconst LEN: u32 = 1000;\n# */\nthread::scope(|s| {\n for _ in 0..thread::available_parallelism().unwrap().get() {\n s.spawn(|| {\n while let i @ 0..LEN = COUNTER.fetch_add(1, Ordering::Relaxed) {\n LIST.push(i);\n }\n });\n }\n});\n\nfor i in 0..LEN {\n assert!(LIST.contains(&i));\n}\n\n```", + "id": 7737, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 7879, + 7880, + 7881, + 7882, + 7883, + 7884, + 7885, + 7886, + 7887, + 7888, + 7889, + 7890, + 7891, + 7892, + 7893, + 7894, + 7895, + 7897, + 7899, + 7901, + 7903, + 7905, + 7906, + 7908 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "crate::cell::OnceCell": 7866, + "crate::sync::LazyLock": 737, + "crate::sync::LazyLock::new": 7827, + "crate::sync::Mutex": 496 + }, + "name": "OnceLock", + "span": { + "begin": [ + 108, + 1 + ], + "end": [ + 131, + 2 + ], + "filename": "std/src/sync/once_lock.rs" + }, + "visibility": "public" + }, + "7738": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_once_new\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"once_new\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a new `Once` value.", + "id": 7738, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 7739, + "path": "Once" + } + } + } + } + }, + "links": {}, + "name": "new", + "span": { + "begin": [ + 83, + 5 + ], + "end": [ + 85, + 6 + ], + "filename": "std/src/sync/once.rs" + }, + "visibility": "public" + }, + "7739": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A low-level synchronization primitive for one-time global execution.\n\nPreviously this was the only \"execute once\" synchronization in `std`.\nOther libraries implemented novel synchronizing types with `Once`, like\n[`OnceLock`] or [`LazyLock`], before those were added to `std`.\n`OnceLock` in particular supersedes `Once` in functionality and should\nbe preferred for the common case where the `Once` is associated with data.\n\nThis type can only be constructed with [`Once::new()`].\n\n# Examples\n\n```\nuse std::sync::Once;\n\nstatic START: Once = Once::new();\n\nSTART.call_once(|| {\n // run initialization here\n});\n```\n\n[`OnceLock`]: crate::sync::OnceLock\n[`LazyLock`]: crate::sync::LazyLock", + "id": 7739, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 7746, + 7747, + 7748, + 7749, + 7750, + 7751, + 7752, + 7753, + 7754, + 7755, + 7756, + 7757, + 7758, + 7759, + 7761 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "`Once::new()`": 7738, + "crate::sync::LazyLock": 737, + "crate::sync::OnceLock": 7737 + }, + "name": "Once", + "span": { + "begin": [ + 35, + 1 + ], + "end": [ + 37, + 2 + ], + "filename": "std/src/sync/once.rs" + }, + "visibility": "public" + }, "774": { "attrs": [ { @@ -651057,144 +669785,26 @@ }, "visibility": "public" }, - "7741": { + "7740": { "attrs": [ { - "other": "#[must_not_suspend =\n\"holding a MappedMutexGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" - }, - { - "other": "#[clippy::has_significant_drop]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Inline(Hint)]" }, { - "must_use": { - "reason": "if unused the Mutex will immediately unlock" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An RAII mutex guard returned by `MutexGuard::map`, which can point to a\nsubfield of the protected data. When this structure is dropped (falls out\nof scope), the lock will be unlocked.\n\nThe main difference between `MappedMutexGuard` and [`MutexGuard`] is that the\nformer cannot be used with [`Condvar`], since that could introduce soundness issues if the\nlocked object is modified by another thread while the `Mutex` is unlocked.\n\nThe data protected by the mutex can be accessed through this guard via its\n[`Deref`] and [`DerefMut`] implementations.\n\nThis structure is created by the [`map`] and [`filter_map`] methods on\n[`MutexGuard`].\n\n[`map`]: MutexGuard::map\n[`filter_map`]: MutexGuard::filter_map\n[`Condvar`]: crate::sync::Condvar", - "id": 7741, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "impls": [ - 7776, - 7777, - 7778, - 7779, - 7780, - 7781, - 7782, - 7783, - 7784, - 7785, - 7786, - 7787, - 7788, - 7789, - 7790, - 7791, - 7794, - 7796, - 7798, - 7800, - 7802 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "MutexGuard::filter_map": 7743, - "MutexGuard::map": 7742, - "`DerefMut`": 1989, - "`Deref`": 1969, - "`MutexGuard`": 7712, - "crate::sync::Condvar": 494 - }, - "name": "MappedMutexGuard", - "span": { - "begin": [ - 142, - 1 - ], - "end": [ - 150, - 2 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "public" - }, - "7742": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = TrackCaller]" } ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MutexGuard::map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", - "id": 7742, + "docs": "Performs an initialization routine once and only once. The given closure\nwill be executed if this is the first time `call_once` has been called,\nand otherwise the routine will *not* be invoked.\n\nThis method will block the calling thread if another initialization\nroutine is currently running.\n\nWhen this function returns, it is guaranteed that some initialization\nhas run and completed (it might not be the closure specified). It is also\nguaranteed that any memory writes performed by the executed closure can\nbe reliably observed by other threads at this point (there is a\nhappens-before relation between the closure and code executing after the\nreturn).\n\nIf the given closure recursively invokes `call_once` on the same [`Once`]\ninstance, the exact behavior is not specified: allowed outcomes are\na panic or a deadlock.\n\n# Examples\n\n```\nuse std::sync::Once;\n\nstatic mut VAL: usize = 0;\nstatic INIT: Once = Once::new();\n\n// Accessing a `static mut` is unsafe much of the time, but if we do so\n// in a synchronized fashion (e.g., write once or read all) then we're\n// good to go!\n//\n// This function will only call `expensive_computation` once, and will\n// otherwise always return the value returned from the first invocation.\nfn get_cached_val() -> usize {\n unsafe {\n INIT.call_once(|| {\n VAL = expensive_computation();\n });\n VAL\n }\n}\n\nfn expensive_computation() -> usize {\n // ...\n# 2\n}\n```\n\n# Panics\n\nThe closure `f` will only be executed once even if this is called\nconcurrently amongst many threads. If that closure panics, however, then\nit will *poison* this [`Once`] instance, causing all future invocations of\n`call_once` to also panic.\n\nThis is similar to [poisoning with mutexes][poison], but this mechanism\nis guaranteed to never skip panics within `f`.\n\n[poison]: struct.Mutex.html#poisoning", + "id": 7740, "inner": { "function": { "generics": { "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - }, { "kind": { "type": { @@ -651217,26 +669827,8 @@ "trait": { "args": { "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - ], - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "U" - } - } - } + "inputs": [], + "output": null } }, "id": 15, @@ -651250,27 +669842,6 @@ "generic": "F" } } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } } ] }, @@ -651284,9 +669855,15 @@ "sig": { "inputs": [ [ - "orig", + "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ @@ -651297,71 +669874,44 @@ ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" - } - } + "output": null } } }, "links": { - "`MappedMutexGuard`": 7741 + "`Once`": 7739 }, - "name": "map", + "name": "call_once", "span": { "begin": [ - 472, + 148, 5 ], "end": [ - 484, + 159, 6 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/once.rs" }, "visibility": "public" }, - "7743": { + "7741": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"once_poison\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MutexGuard::filter_map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", - "id": 7743, + "docs": "Performs the same function as [`call_once()`] except ignores poisoning.\n\nUnlike [`call_once()`], if this [`Once`] has been poisoned (i.e., a previous\ncall to [`call_once()`] or [`call_once_force()`] caused a panic), calling\n[`call_once_force()`] will still invoke the closure `f` and will _not_\nresult in an immediate panic. If `f` panics, the [`Once`] will remain\nin a poison state. If `f` does _not_ panic, the [`Once`] will no\nlonger be in a poison state and all future calls to [`call_once()`] or\n[`call_once_force()`] will be no-ops.\n\nThe closure `f` is yielded a [`OnceState`] structure which can be used\nto query the poison status of the [`Once`].\n\n[`call_once()`]: Once::call_once\n[`call_once_force()`]: Once::call_once_force\n\n# Examples\n\n```\nuse std::sync::Once;\nuse std::thread;\n\nstatic INIT: Once = Once::new();\n\n// poison the once\nlet handle = thread::spawn(|| {\n INIT.call_once(|| panic!());\n});\nassert!(handle.join().is_err());\n\n// poisoning propagates\nlet handle = thread::spawn(|| {\n INIT.call_once(|| {});\n});\nassert!(handle.join().is_err());\n\n// call_once_force will still run and reset the poisoned state\nINIT.call_once_force(|state| {\n assert!(state.is_poisoned());\n});\n\n// once any success happens, we stop propagating the poison\nINIT.call_once(|| {});\n```", + "id": 7741, "inner": { "function": { "generics": { "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - }, { "kind": { "type": { @@ -651387,38 +669937,19 @@ "inputs": [ { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { - "generic": "T" + "resolved_path": { + "args": null, + "id": 7742, + "path": "OnceState" + } } } } ], - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "U" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } + "output": null } }, "id": 15, @@ -651432,27 +669963,6 @@ "generic": "F" } } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } } ] }, @@ -651466,9 +669976,15 @@ "sig": { "inputs": [ [ - "orig", + "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ @@ -651479,249 +669995,276 @@ ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" - } - } - }, - { - "type": { - "generic": "Self" - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } + "output": null } } }, "links": { - "`MappedMutexGuard`": 7741 + "Once::call_once": 7740, + "Once::call_once_force": 7741, + "`OnceState`": 7742, + "`Once`": 7739 }, - "name": "filter_map", + "name": "call_once_force", "span": { "begin": [ - 497, + 207, 5 ], "end": [ - 514, + 218, 6 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/once.rs" }, "visibility": "public" }, - "7744": { - "attrs": [], + "7742": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"once_poison\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7744, + "docs": "State yielded to [`Once::call_once_force()`]’s closure parameter. The state\ncan be used to query the poison status of the [`Once`].", + "id": 7742, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" - } - }, + "struct": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7742, - 7743 + "impls": [ + 7764, + 7765, + 7766, + 7767, + 7768, + 7769, + 7770, + 7771, + 7772, + 7773, + 7774, + 7775, + 7776, + 7777, + 7779 ], - "provided_trait_methods": [], - "trait": null + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } } }, - "links": {}, - "name": null, + "links": { + "`Once::call_once_force()`": 7741, + "`Once`": 7739 + }, + "name": "OnceState", "span": { "begin": [ - 461, + 48, 1 ], "end": [ - 515, + 50, 2 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/once.rs" }, - "visibility": "default" + "visibility": "public" }, - "7745": { - "attrs": [], + "7743": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"once_is_completed\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7745, + "docs": "Returns `true` if some [`call_once()`] call has completed\nsuccessfully. Specifically, `is_completed` will return false in\nthe following situations:\n * [`call_once()`] was not called at all,\n * [`call_once()`] was called, but has not yet completed,\n * the [`Once`] instance is poisoned\n\nThis function returning `false` does not mean that [`Once`] has not been\nexecuted. For example, it may have been executed in the time between\nwhen `is_completed` starts executing and when it returns, in which case\nthe `false` return value would be stale (but still permissible).\n\n[`call_once()`]: Once::call_once\n\n# Examples\n\n```\nuse std::sync::Once;\n\nstatic INIT: Once = Once::new();\n\nassert_eq!(INIT.is_completed(), false);\nINIT.call_once(|| {\n assert_eq!(INIT.is_completed(), false);\n});\nassert_eq!(INIT.is_completed(), true);\n```\n\n```\nuse std::sync::Once;\nuse std::thread;\n\nstatic INIT: Once = Once::new();\n\nassert_eq!(INIT.is_completed(), false);\nlet handle = thread::spawn(|| {\n INIT.call_once(|| panic!());\n});\nassert!(handle.join().is_err());\nassert_eq!(INIT.is_completed(), false);\n```", + "id": 7743, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "constraints": [] + } } - }, - "id": 7712, - "path": "MutexGuard" + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" } - }, + } + } + }, + "links": { + "Once::call_once": 7740, + "`Once`": 7739 + }, + "name": "is_completed", + "span": { + "begin": [ + 263, + 5 + ], + "end": [ + 265, + 6 + ], + "filename": "std/src/sync/once.rs" + }, + "visibility": "public" + }, + "7744": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"once_wait\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Blocks the current thread until initialization has completed, ignoring\npoisoning.\n\nIf this [`Once`] has been poisoned, this function blocks until it\nbecomes completed, unlike [`Once::wait()`], which panics in this case.", + "id": 7744, + "inner": { + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "T" - } + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } + "is_c_variadic": false, + "output": null + } + } + }, + "links": { + "`Once::wait()`": 7745, + "`Once`": 7739 + }, + "name": "wait_force", + "span": { + "begin": [ + 303, + 5 + ], + "end": [ + 307, + 6 + ], + "filename": "std/src/sync/once.rs" + }, + "visibility": "public" + }, + "7745": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"once_wait\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Blocks the current thread until initialization has completed.\n\n# Example\n\n```rust\nuse std::sync::Once;\nuse std::thread;\n\nstatic READY: Once = Once::new();\n\nlet thread = thread::spawn(|| {\n READY.wait();\n println!(\"everything is ready\");\n});\n\nREADY.call_once(|| println!(\"performing setup\"));\n```\n\n# Panics\n\nIf this [`Once`] has been poisoned because an initialization closure has\npanicked, this method will also panic. Use [`wait_force`](Self::wait_force)\nif this behavior is not desired.", + "id": 7745, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "generic_params": [], - "type": { - "generic": "T" } } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" + ] + ], + "is_c_variadic": false, + "output": null } } }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" + "links": { + "Self::wait_force": 7744, + "`Once`": 7739 + }, + "name": "wait", + "span": { + "begin": [ + 291, + 5 + ], + "end": [ + 295, + 6 + ], + "filename": "std/src/sync/once.rs" + }, + "visibility": "public" }, "7746": { "attrs": [], @@ -651734,85 +670277,43 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7738, + 7740, + 7741, + 7743, + 7745, + 7744 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 77, + 1 + ], + "end": [ + 328, + 2 + ], + "filename": "std/src/sync/once.rs" + }, "visibility": "default" }, "7747": { @@ -651826,57 +670327,24 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 1, + "path": "Send" } } }, @@ -651896,57 +670364,24 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 5, + "path": "Sync" } } }, @@ -651963,105 +670398,33 @@ "id": 7749, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, + "is_negative": true, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 313, + "path": "Freeze" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, "775": { @@ -652164,105 +670527,33 @@ "id": 7750, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 324 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 7, + "path": "Unpin" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, "7751": { @@ -652278,23 +670569,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { @@ -652308,16 +670585,6 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ @@ -652327,29 +670594,18 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -652359,7 +670615,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 319 ], "provided_trait_methods": [], "trait": { @@ -652368,15 +670624,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 321, + "path": "Borrow" } } }, @@ -652384,14 +670640,14 @@ "name": null, "span": { "begin": [ - 773, + 212, 1 ], "end": [ - 775, - 24 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, @@ -652408,23 +670664,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { @@ -652440,13 +670682,35 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 322 ], "provided_trait_methods": [], "trait": { @@ -652462,8 +670726,8 @@ "constraints": [] } }, - "id": 37, - "path": "From" + "id": 324, + "path": "BorrowMut" } } }, @@ -652471,14 +670735,14 @@ "name": null, "span": { "begin": [ - 791, + 221, 1 ], "end": [ - 791, - 28 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, @@ -652495,23 +670759,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { @@ -652558,8 +670808,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 37, + "path": "From" } } } @@ -652576,8 +670826,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 325 ], "provided_trait_methods": [], "trait": { @@ -652593,8 +670842,8 @@ "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 39, + "path": "Into" } } }, @@ -652602,12 +670851,12 @@ "name": null, "span": { "begin": [ - 817, + 767, 1 ], "end": [ - 819, - 27 + 769, + 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -652626,23 +670875,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { @@ -652656,59 +670891,15 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 327 ], "provided_trait_methods": [], "trait": { @@ -652717,15 +670908,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 37, + "path": "From" } } }, @@ -652733,12 +670924,12 @@ "name": null, "span": { "begin": [ - 833, + 785, 1 ], "end": [ - 835, - 24 + 785, + 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, @@ -652746,34 +670937,20 @@ }, "7755": { "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7755, - "inner": { - "impl": { - "blanket_impl": { - "generic": "P" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7755, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { @@ -652786,7 +670963,7 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" }, { "kind": { @@ -652796,7 +670973,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "U" } ], "where_predicates": [ @@ -652810,63 +670987,25 @@ "trait": { "args": { "angle_bracketed": { - "args": [], - "constraints": [ + "args": [ { - "args": null, - "binding": { - "equality": { - "type": { - "generic": "T" - } - } - }, - "name": "Target" + "type": { + "generic": "T" + } } - ] + ], + "constraints": [] } }, - "id": 1969, - "path": "Deref" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "id": 197, + "path": "TryFrom" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -652876,13 +671015,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 329, + 330 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 1970, - "path": "Receiver" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, @@ -652890,14 +671041,14 @@ "name": null, "span": { "begin": [ - 380, + 811, 1 ], "end": [ - 382, - 26 + 813, + 27 ], - "filename": "checkouts/rust/library/core/src/ops/deref.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, @@ -652914,23 +671065,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { @@ -652944,30 +671081,48 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -652977,13 +671132,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 332, + 334 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 341, - "path": "Any" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, @@ -652991,14 +671158,14 @@ "name": null, "span": { "begin": [ - 138, + 827, 1 ], "end": [ - 138, - 36 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, @@ -653015,23 +671182,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { @@ -653052,15 +671205,7 @@ "bound_predicate": { "bounds": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } + "outlives": "'static" }, { "trait_bound": { @@ -653086,13 +671231,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 434 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 163, - "path": "ToString" + "id": 339, + "path": "Any" } } }, @@ -653100,177 +671245,90 @@ "name": null, "span": { "begin": [ - 2806, + 138, 1 ], "end": [ - 2806, - 46 + 138, + 36 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, "7758": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 59, patch: 0})}, feature: \"sync_once_unwind_safe\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "A [`MutexGuard`] is not `Send` to maximize platform portability.\n\nOn platforms that use POSIX threads (commonly referred to as pthreads) there is a requirement to\nrelease mutex locks on the same thread they were acquired.\nFor this reason, [`MutexGuard`] must not implement `Send` to prevent it being dropped from\nanother thread.", + "docs": null, "id": 7758, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 316, + "path": "UnwindSafe" } } }, - "links": { - "`MutexGuard`": 7712 - }, + "links": {}, "name": null, "span": { "begin": [ - 110, + 40, 1 ], "end": [ - 110, - 47 + 40, + 28 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/once.rs" }, "visibility": "default" }, "7759": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 59, patch: 0})}, feature: \"sync_once_unwind_safe\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "`T` must be `Sync` for a [`MutexGuard`] to be `Sync`\nbecause it is possible to get a `&T` from `&MutexGuard` (via `Deref`).", + "docs": null, "id": 7759, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, @@ -653280,25 +671338,23 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 318, + "path": "RefUnwindSafe" } } }, - "links": { - "`MutexGuard`": 7712 - }, + "links": {}, "name": null, "span": { "begin": [ - 115, + 43, 1 ], "end": [ - 115, - 60 + 43, + 31 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/once.rs" }, "visibility": "default" }, @@ -653410,492 +671466,6 @@ "deprecation": null, "docs": null, "id": 7760, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "T" - } - } - }, - "links": {}, - "name": "Target", - "span": { - "begin": [ - 423, - 5 - ], - "end": [ - 423, - 21 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "default" - }, - "7761": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7761, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - } - }, - "links": {}, - "name": "deref", - "span": { - "begin": [ - 425, - 5 - ], - "end": [ - 427, - 6 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "default" - }, - "7762": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7762, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7760, - 7761 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1969, - "path": "Deref" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 422, - 1 - ], - "end": [ - 428, - 2 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "default" - }, - "7763": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7763, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - } - }, - "links": {}, - "name": "deref_mut", - "span": { - "begin": [ - 432, - 5 - ], - "end": [ - 434, - 6 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "default" - }, - "7764": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7764, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7763 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1989, - "path": "DerefMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 431, - 1 - ], - "end": [ - 435, - 2 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "default" - }, - "7765": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7765, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "drop", - "span": { - "begin": [ - 440, - 5 - ], - "end": [ - 444, - 6 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "default" - }, - "7766": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7766, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7765 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 9, - "path": "Drop" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 438, - 1 - ], - "end": [ - 445, - 2 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "default" - }, - "7767": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7767, "inner": { "function": { "generics": { @@ -653941,7 +671511,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -653953,7 +671523,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -653964,99 +671534,51 @@ "name": "fmt", "span": { "begin": [ - 449, + 332, 5 ], "end": [ - 451, + 334, 6 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/once.rs" }, "visibility": "default" }, - "7768": { + "7761": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7768, + "id": 7761, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7739, + "path": "Once" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7767 + 7760 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -654065,106 +671587,21 @@ "name": null, "span": { "begin": [ - 448, + 331, 1 ], "end": [ - 452, + 335, 2 ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "default" - }, - "7769": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7769, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 456, - 5 - ], - "end": [ - 458, - 6 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/once.rs" }, "visibility": "default" }, - "777": { + "7763": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"once_poison\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -654172,100 +671609,13 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns a reference to the value corresponding to the key.\n\nThe key may be any borrowed form of the map's key type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe key type.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);\n```", - "id": 777, + "docs": "Returns `true` if the associated [`Once`] was poisoned prior to the\ninvocation of the closure passed to [`Once::call_once_force()`].\n\n# Examples\n\nA poisoned [`Once`]:\n\n```\nuse std::sync::Once;\nuse std::thread;\n\nstatic INIT: Once = Once::new();\n\n// poison the once\nlet handle = thread::spawn(|| {\n INIT.call_once(|| panic!());\n});\nassert!(handle.join().is_err());\n\nINIT.call_once_force(|state| {\n assert!(state.is_poisoned());\n});\n```\n\nAn unpoisoned [`Once`]:\n\n```\nuse std::sync::Once;\n\nstatic INIT: Once = Once::new();\n\nINIT.call_once_force(|state| {\n assert!(!state.is_poisoned());\n});", + "id": 7763, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Q" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Q" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "Q" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -654287,710 +671637,180 @@ } } } - ], - [ - "k", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Q" - } - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "V" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "bool" } } } }, "links": { - "`Eq`": 113, - "`Hash`": 539 + "`Once::call_once_force()`": 7741, + "`Once`": 7739 }, - "name": "get", + "name": "is_poisoned", "span": { "begin": [ - 909, + 374, 5 ], "end": [ - 915, + 376, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/once.rs" }, "visibility": "public" }, - "7770": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } - ], + "7764": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7770, + "id": 7764, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7712, - "path": "MutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "fmt::Display" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7769 + 7763 ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 436, - "path": "Display" - } + "trait": null } }, "links": {}, "name": null, "span": { "begin": [ - 455, + 337, 1 ], "end": [ - 459, + 384, 2 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/once.rs" }, "visibility": "default" }, - "7774": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], + "7765": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedMutexGuard::map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", - "id": 7774, + "docs": null, + "id": 7765, "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - ], - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "U" - } - } - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "orig", - { - "generic": "Self" - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" - } + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7742, + "path": "OnceState" } - } - } - }, - "links": { - "`MappedMutexGuard`": 7741 - }, - "name": "map", - "span": { - "begin": [ - 568, - 5 - ], - "end": [ - 580, - 6 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "public" - }, - "7775": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedMutexGuard::filter_map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", - "id": 7775, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - ], - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "U" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "generics": { + "params": [], + "where_predicates": [] }, - "sig": { - "inputs": [ - [ - "orig", - { - "generic": "Self" - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" - } - } - }, - { - "type": { - "generic": "Self" - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, - "links": { - "`MappedMutexGuard`": 7741 - }, - "name": "filter_map", - "span": { - "begin": [ - 593, - 5 - ], - "end": [ - 610, - 6 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "7776": { + "7766": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7776, + "id": 7766, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, + "is_negative": true, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 7774, - 7775 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 557, - 1 - ], - "end": [ - 611, - 2 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, + "span": null, "visibility": "default" }, - "7777": { + "7767": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7777, + "id": 7767, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -655000,80 +671820,25 @@ "span": null, "visibility": "default" }, - "7778": { + "7768": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7778, + "id": 7768, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -655092,67 +671857,34 @@ "span": null, "visibility": "default" }, - "7779": { + "7769": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7779, + "id": 7769, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -655162,10 +671894,10 @@ "span": null, "visibility": "default" }, - "778": { + "777": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"map_get_key_value\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -655173,8 +671905,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the key-value pair corresponding to the supplied key. This is\npotentially useful:\n- for key types where non-identical keys can be considered equal;\n- for getting the `&K` stored key value from a borrowed `&Q` lookup key; or\n- for getting a reference to a key with the same lifetime as the collection.\n\nThe supplied key may be any borrowed form of the map's key type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe key type.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::hash::{Hash, Hasher};\n\n#[derive(Clone, Copy, Debug)]\nstruct S {\n id: u32,\n# #[allow(unused)] // prevents a \"field `name` is never read\" error\n name: &'static str, // ignored by equality and hashing operations\n}\n\nimpl PartialEq for S {\n fn eq(&self, other: &S) -> bool {\n self.id == other.id\n }\n}\n\nimpl Eq for S {}\n\nimpl Hash for S {\n fn hash(&self, state: &mut H) {\n self.id.hash(state);\n }\n}\n\nlet j_a = S { id: 1, name: \"Jessica\" };\nlet j_b = S { id: 1, name: \"Jess\" };\nlet p = S { id: 2, name: \"Paul\" };\nassert_eq!(j_a, j_b);\n\nlet mut map = HashMap::new();\nmap.insert(j_a, \"Paris\");\nassert_eq!(map.get_key_value(&j_a), Some((&j_a, &\"Paris\")));\nassert_eq!(map.get_key_value(&j_b), Some((&j_a, &\"Paris\"))); // the notable case\nassert_eq!(map.get_key_value(&p), None);\n```", - "id": 778, + "docs": "Returns a reference to the value corresponding to the key.\n\nThe key may be any borrowed form of the map's key type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe key type.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);\n```", + "id": 777, "inner": { "function": { "generics": { @@ -655211,7 +671943,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -655243,7 +671975,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -655310,26 +672042,13 @@ "args": [ { "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "K" - } - } - }, - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "V" - } - } + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "V" } - ] + } } } ], @@ -655344,117 +672063,51 @@ } }, "links": { - "`Eq`": 113, + "`Eq`": 111, "`Hash`": 539 }, - "name": "get_key_value", + "name": "get", "span": { "begin": [ - 967, + 909, 5 ], "end": [ - 973, + 915, 6 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "public" }, - "7780": { + "7770": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7780, + "id": 7770, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -655464,12 +672117,12 @@ "span": null, "visibility": "default" }, - "7781": { + "7771": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7781, + "id": 7771, "inner": { "impl": { "blanket_impl": { @@ -655477,23 +672130,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { @@ -655537,7 +672176,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -655553,7 +672192,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -655562,23 +672201,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7782": { + "7772": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7782, + "id": 7772, "inner": { "impl": { "blanket_impl": { @@ -655586,23 +672225,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { @@ -655646,7 +672271,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -655662,7 +672287,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -655671,23 +672296,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7783": { + "7773": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7783, + "id": 7773, "inner": { "impl": { "blanket_impl": { @@ -655695,23 +672320,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { @@ -655776,7 +672387,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -655801,47 +672412,33 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7784": { + "7774": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7784, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "docs": null, + "id": 7774, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { @@ -655863,7 +672460,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -655888,23 +672485,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7785": { + "7775": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7785, + "id": 7775, "inner": { "impl": { "blanket_impl": { @@ -655912,23 +672509,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { @@ -655975,7 +672558,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -655993,8 +672576,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -656010,7 +672593,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -656019,23 +672602,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7786": { + "7776": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7786, + "id": 7776, "inner": { "impl": { "blanket_impl": { @@ -656043,23 +672626,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { @@ -656124,8 +672693,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -656141,7 +672710,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -656150,61 +672719,37 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7787": { + "7777": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7787, + "id": 7777, "inner": { "impl": { "blanket_impl": { - "generic": "P" + "generic": "T" }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7742, + "path": "OnceState" } }, "generics": { "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - }, { "kind": { "type": { @@ -656221,32 +672766,7 @@ "bound_predicate": { "bounds": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [], - "constraints": [ - { - "args": null, - "binding": { - "equality": { - "type": { - "generic": "T" - } - } - }, - "name": "Target" - } - ] - } - }, - "id": 1969, - "path": "Deref" - } - } + "outlives": "'static" }, { "trait_bound": { @@ -656261,27 +672781,6 @@ } ], "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], "type": { "generic": "T" } @@ -656293,13 +672792,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1970, - "path": "Receiver" + "id": 339, + "path": "Any" } } }, @@ -656307,100 +672806,137 @@ "name": null, "span": { "begin": [ - 380, + 138, 1 ], "end": [ - 382, - 26 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/ops/deref.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "7788": { + "7778": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7788, + "id": 7778, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" } } - ], - "generic_params": [], - "type": { - "generic": "T" } } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" } - ] + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 388, + 5 + ], + "end": [ + 390, + 6 + ], + "filename": "std/src/sync/once.rs" + }, + "visibility": "default" + }, + "7779": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7779, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7742, + "path": "OnceState" + } + }, + "generics": { + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 7778 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 344, + "path": "Debug" } } }, @@ -656408,49 +672944,32 @@ "name": null, "span": { "begin": [ - 138, + 387, 1 ], "end": [ - 138, - 36 + 391, + 2 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/sync/once.rs" }, "visibility": "default" }, - "7789": { - "attrs": [], + "778": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"map_get_key_value\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7789, + "docs": "Returns the key-value pair corresponding to the supplied key. This is\npotentially useful:\n- for key types where non-identical keys can be considered equal;\n- for getting the `&K` stored key value from a borrowed `&Q` lookup key; or\n- for getting a reference to a key with the same lifetime as the collection.\n\nThe supplied key may be any borrowed form of the map's key type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe key type.\n\n# Examples\n\n```\nuse std::collections::HashMap;\nuse std::hash::{Hash, Hasher};\n\n#[derive(Clone, Copy, Debug)]\nstruct S {\n id: u32,\n# #[allow(unused)] // prevents a \"field `name` is never read\" error\n name: &'static str, // ignored by equality and hashing operations\n}\n\nimpl PartialEq for S {\n fn eq(&self, other: &S) -> bool {\n self.id == other.id\n }\n}\n\nimpl Eq for S {}\n\nimpl Hash for S {\n fn hash(&self, state: &mut H) {\n self.id.hash(state);\n }\n}\n\nlet j_a = S { id: 1, name: \"Jessica\" };\nlet j_b = S { id: 1, name: \"Jess\" };\nlet p = S { id: 2, name: \"Paul\" };\nassert_eq!(j_a, j_b);\n\nlet mut map = HashMap::new();\nmap.insert(j_a, \"Paris\");\nassert_eq!(map.get_key_value(&j_a), Some((&j_a, &\"Paris\")));\nassert_eq!(map.get_key_value(&j_b), Some((&j_a, &\"Paris\"))); // the notable case\nassert_eq!(map.get_key_value(&p), None);\n```", + "id": 778, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" - } - }, + "function": { "generics": { "params": [ { @@ -656461,10 +672980,42 @@ "is_synthetic": false } }, - "name": "T" + "name": "Q" } ], "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Q" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, { "bound_predicate": { "bounds": [ @@ -656474,8 +673025,19 @@ "modifier": "none", "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 539, + "path": "Hash" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "Eq" } } }, @@ -656493,40 +673055,469 @@ ], "generic_params": [], "type": { - "generic": "T" + "generic": "Q" } } } ] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 434 + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "k", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Q" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "K" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "V" + } + } + } + ] + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": { + "`Eq`": 111, + "`Hash`": 539 + }, + "name": "get_key_value", + "span": { + "begin": [ + 967, + 5 + ], + "end": [ + 973, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "public" + }, + "7780": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": { + "note": "the `Once::new()` function is now preferred", + "since": "1.38.0" + }, + "docs": "Initialization value for static [`Once`] values.\n\n# Examples\n\n```\nuse std::sync::{Once, ONCE_INIT};\n\nstatic START: Once = ONCE_INIT;\n```", + "id": 7780, + "inner": { + "constant": { + "const": { + "expr": "_", + "is_literal": false, + "value": null + }, + "type": { + "resolved_path": { + "args": null, + "id": 7739, + "path": "Once" + } + } + } + }, + "links": { + "`Once`": 7739 + }, + "name": "ONCE_INIT", + "span": { + "begin": [ + 75, + 1 + ], + "end": [ + 75, + 41 + ], + "filename": "std/src/sync/once.rs" + }, + "visibility": "public" + }, + "7785": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A barrier enables multiple threads to synchronize the beginning\nof some computation.\n\n# Examples\n\n```\nuse std::sync::Barrier;\nuse std::thread;\n\nlet n = 10;\nlet barrier = Barrier::new(n);\nthread::scope(|s| {\n for _ in 0..n {\n // The same messages will be printed together.\n // You will NOT see any interleaving.\n s.spawn(|| {\n println!(\"before wait\");\n barrier.wait();\n println!(\"after wait\");\n });\n }\n});\n```", + "id": 7785, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 7790, + 7791, + 7792, + 7793, + 7794, + 7795, + 7796, + 7797, + 7798, + 7799, + 7800, + 7801, + 7802, + 7803, + 7805 ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 163, - "path": "ToString" + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, "links": {}, - "name": null, + "name": "Barrier", "span": { "begin": [ - 2806, + 29, 1 ], "end": [ - 2806, - 46 + 33, + 2 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "std/src/sync/barrier.rs" }, - "visibility": "default" + "visibility": "public" + }, + "7786": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Blocks the current thread until all threads have rendezvoused here.\n\nBarriers are re-usable after all threads have rendezvoused once, and can\nbe used continuously.\n\nA single (arbitrary) thread will receive a [`BarrierWaitResult`] that\nreturns `true` from [`BarrierWaitResult::is_leader()`] when returning\nfrom this function, and all other threads will receive a result that\nwill return `false` from [`BarrierWaitResult::is_leader()`].\n\n# Examples\n\n```\nuse std::sync::Barrier;\nuse std::thread;\n\nlet n = 10;\nlet barrier = Barrier::new(n);\nthread::scope(|s| {\n for _ in 0..n {\n // The same messages will be printed together.\n // You will NOT see any interleaving.\n s.spawn(|| {\n println!(\"before wait\");\n barrier.wait();\n println!(\"after wait\");\n });\n }\n});\n```", + "id": 7786, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 7788, + "path": "BarrierWaitResult" + } + } + } + } + }, + "links": { + "`BarrierWaitResult::is_leader()`": 7789, + "`BarrierWaitResult`": 7788 + }, + "name": "wait", + "span": { + "begin": [ + 123, + 5 + ], + "end": [ + 136, + 6 + ], + "filename": "std/src/sync/barrier.rs" + }, + "visibility": "public" + }, + "7787": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 78, patch: 0})}, feature: \"const_barrier\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a new barrier that can block a given number of threads.\n\nA barrier will block `n`-1 threads which call [`wait()`] and then wake\nup all threads at once when the `n`th thread calls [`wait()`].\n\n[`wait()`]: Barrier::wait\n\n# Examples\n\n```\nuse std::sync::Barrier;\n\nlet barrier = Barrier::new(10);\n```", + "id": 7787, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "n", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 7785, + "path": "Barrier" + } + } + } + } + }, + "links": { + "Barrier::wait": 7786 + }, + "name": "new", + "span": { + "begin": [ + 84, + 5 + ], + "end": [ + 90, + 6 + ], + "filename": "std/src/sync/barrier.rs" + }, + "visibility": "public" + }, + "7788": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A `BarrierWaitResult` is returned by [`Barrier::wait()`] when all threads\nin the [`Barrier`] have rendezvoused.\n\n# Examples\n\n```\nuse std::sync::Barrier;\n\nlet barrier = Barrier::new(1);\nlet barrier_wait_result = barrier.wait();\n```", + "id": 7788, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 7807, + 7808, + 7809, + 7810, + 7811, + 7812, + 7813, + 7814, + 7815, + 7816, + 7817, + 7818, + 7819, + 7820, + 7822 + ], + "kind": { + "tuple": [ + null + ] + } + } + }, + "links": { + "`Barrier::wait()`": 7786, + "`Barrier`": 7785 + }, + "name": "BarrierWaitResult", + "span": { + "begin": [ + 56, + 1 + ], + "end": [ + 56, + 36 + ], + "filename": "std/src/sync/barrier.rs" + }, + "visibility": "public" + }, + "7789": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns `true` if this thread is the \"leader thread\" for the call to\n[`Barrier::wait()`].\n\nOnly one thread will have `true` returned from their result, all other\nthreads will have `false` returned.\n\n# Examples\n\n```\nuse std::sync::Barrier;\n\nlet barrier = Barrier::new(1);\nlet barrier_wait_result = barrier.wait();\nprintln!(\"{:?}\", barrier_wait_result.is_leader());\n```", + "id": 7789, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": { + "`Barrier::wait()`": 7786 + }, + "name": "is_leader", + "span": { + "begin": [ + 164, + 5 + ], + "end": [ + 166, + 6 + ], + "filename": "std/src/sync/barrier.rs" + }, + "visibility": "public" }, "779": { "attrs": [ @@ -656591,7 +673582,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -656623,7 +673614,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -656736,11 +673727,7 @@ "visibility": "public" }, "7790": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, @@ -656750,85 +673737,43 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7785, + "path": "Barrier" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7787, + 7786 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } + "trait": null } }, "links": {}, "name": null, "span": { "begin": [ - 154, + 65, 1 ], "end": [ - 154, - 53 + 137, + 2 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/barrier.rs" }, "visibility": "default" }, "7791": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, @@ -656838,88 +673783,30 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7785, + "path": "Barrier" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 1, + "path": "Send" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 157, - 1 - ], - "end": [ - 157, - 66 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, + "span": null, "visibility": "default" }, "7792": { @@ -656929,30 +673816,34 @@ "docs": null, "id": 7792, "inner": { - "assoc_type": { - "bounds": [], + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7785, + "path": "Barrier" + } + }, "generics": { "params": [], "where_predicates": [] }, - "type": { - "generic": "T" + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, "links": {}, - "name": "Target", - "span": { - "begin": [ - 519, - 5 - ], - "end": [ - 519, - 21 - ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, + "name": null, + "span": null, "visibility": "default" }, "7793": { @@ -656962,93 +673853,221 @@ "docs": null, "id": 7793, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7785, + "path": "Barrier" + } + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7794": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7794, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7785, + "path": "Barrier" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7795": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7795, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7785, + "path": "Barrier" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7796": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7796, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 7785, + "path": "Barrier" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } - } - ] + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, - "name": "deref", + "name": null, "span": { "begin": [ - 521, - 5 + 212, + 1 ], "end": [ - 523, - 6 + 212, + 38 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7794": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], + "7797": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7794, + "id": 7797, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7785, + "path": "Barrier" } }, "generics": { @@ -657056,19 +674075,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -657076,20 +674083,52 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7792, - 7793 + 322 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 1969, - "path": "Deref" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, @@ -657097,111 +674136,149 @@ "name": null, "span": { "begin": [ - 518, + 221, 1 ], "end": [ - 524, - 2 + 221, + 41 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7795": { + "7798": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7795, + "id": 7798, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": null, + "id": 7785, + "path": "Barrier" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } - } - ] + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, "links": {}, - "name": "deref_mut", + "name": null, "span": { "begin": [ - 528, - 5 + 767, + 1 ], "end": [ - 530, - 6 + 769, + 24 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7796": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], + "7799": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7796, + "id": 7799, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7785, + "path": "Barrier" } }, "generics": { @@ -657209,19 +674286,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -657235,13 +674300,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7795 + 327 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 1989, - "path": "DerefMut" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, @@ -657249,39 +674325,179 @@ "name": null, "span": { "begin": [ - 527, + 785, 1 ], "end": [ - 531, - 2 + 785, + 28 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7797": { + "78": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7797, + "id": 78, + "inner": { + "use": { + "id": 79, + "is_glob": false, + "name": "include", + "source": "core::prelude::v1::include" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 51, + 21 + ], + "end": [ + 51, + 28 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "780": { + "attrs": [ + { + "other": "#[doc(alias = \"get_many_unchecked_mut\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"map_many_mut\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to get mutable references to `N` values in the map at once, without validating that\nthe values are unique.\n\nReturns an array of length `N` with the results of each query. `None` will be used if\nthe key is missing.\n\nFor a safe alternative see [`get_disjoint_mut`](`HashMap::get_disjoint_mut`).\n\n# Safety\n\nCalling this method with overlapping keys is *[undefined behavior]* even if the resulting\nreferences are not used.\n\n[undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\n// SAFETY: The keys do not overlap.\nlet [Some(a), Some(b)] = (unsafe { libraries.get_disjoint_unchecked_mut([\n \"Athenæum\",\n \"Bodleian Library\",\n]) }) else { panic!() };\n\n// SAFETY: The keys do not overlap.\nlet got = unsafe { libraries.get_disjoint_unchecked_mut([\n \"Athenæum\",\n \"Library of Congress\",\n]) };\nassert_eq!(\n got,\n [\n Some(&mut 1807),\n Some(&mut 1800),\n ],\n);\n\n// SAFETY: The keys do not overlap.\nlet got = unsafe { libraries.get_disjoint_unchecked_mut([\n \"Athenæum\",\n \"New York Public Library\",\n]) };\n// Missing keys result in None\nassert_eq!(got, [Some(&mut 1807), None]);\n```", + "id": 780, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Q" + }, + { + "kind": { + "const": { + "default": null, + "type": { + "primitive": "usize" + } + } + }, + "name": "N" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Q" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "Q" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, "is_const": false, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -657296,60 +674512,91 @@ } } } + ], + [ + "ks", + { + "array": { + "len": "N", + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Q" + } + } + } + } + } ] ], "is_c_variadic": false, - "output": null + "output": { + "array": { + "len": "N", + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "V" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } } } }, - "links": {}, - "name": "drop", + "links": { + "`HashMap::get_disjoint_mut`": 779 + }, + "name": "get_disjoint_unchecked_mut", "span": { "begin": [ - 536, + 1113, 5 ], "end": [ - 540, + 1122, 6 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7798": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], + "7800": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7798, + "id": 7800, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7785, + "path": "Barrier" } }, "generics": { @@ -657357,39 +674604,82 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7797 + 329, + 330 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 9, - "path": "Drop" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, @@ -657397,156 +674687,152 @@ "name": null, "span": { "begin": [ - 534, + 811, 1 ], "end": [ - 541, - 2 + 813, + 27 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7799": { + "7801": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7799, + "id": 7801, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": null, + "id": 7785, + "path": "Barrier" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } } + ], + "generic_params": [], + "type": { + "generic": "U" } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "U" } } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + ], + "constraints": [] } - } + }, + "id": 197, + "path": "TryFrom" } } }, "links": {}, - "name": "fmt", + "name": null, "span": { "begin": [ - 545, - 5 + 827, + 1 ], "end": [ - 547, - 6 + 829, + 24 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "78": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], + "7802": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 78, - "inner": { - "use": { - "id": 79, - "is_glob": false, - "name": "format_args_nl", - "source": "core::prelude::v1::format_args_nl" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 51, - 5 - ], - "end": [ - 51, - 19 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "780": { - "attrs": [ - { - "other": "#[doc(alias = \"get_many_unchecked_mut\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"map_many_mut\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Attempts to get mutable references to `N` values in the map at once, without validating that\nthe values are unique.\n\nReturns an array of length `N` with the results of each query. `None` will be used if\nthe key is missing.\n\nFor a safe alternative see [`get_disjoint_mut`](`HashMap::get_disjoint_mut`).\n\n# Safety\n\nCalling this method with overlapping keys is *[undefined behavior]* even if the resulting\nreferences are not used.\n\n[undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\n// SAFETY: The keys do not overlap.\nlet [Some(a), Some(b)] = (unsafe { libraries.get_disjoint_unchecked_mut([\n \"Athenæum\",\n \"Bodleian Library\",\n]) }) else { panic!() };\n\n// SAFETY: The keys do not overlap.\nlet got = unsafe { libraries.get_disjoint_unchecked_mut([\n \"Athenæum\",\n \"Library of Congress\",\n]) };\nassert_eq!(\n got,\n [\n Some(&mut 1807),\n Some(&mut 1800),\n ],\n);\n\n// SAFETY: The keys do not overlap.\nlet got = unsafe { libraries.get_disjoint_unchecked_mut([\n \"Athenæum\",\n \"New York Public Library\",\n]) };\n// Missing keys result in None\nassert_eq!(got, [Some(&mut 1807), None]);\n```", - "id": 780, + "id": 7802, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 7785, + "path": "Barrier" + } + }, "generics": { "params": [ { @@ -657557,18 +674843,7 @@ "is_synthetic": false } }, - "name": "Q" - }, - { - "kind": { - "const": { - "default": null, - "type": { - "primitive": "usize" - } - } - }, - "name": "N" + "name": "T" } ], "where_predicates": [ @@ -657576,58 +674851,7 @@ "bound_predicate": { "bounds": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Q" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } + "outlives": "'static" }, { "trait_bound": { @@ -657643,184 +674867,74 @@ ], "generic_params": [], "type": { - "generic": "Q" + "generic": "T" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "ks", - { - "array": { - "len": "N", - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Q" - } - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "array": { - "len": "N", - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "V" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, - "links": { - "`HashMap::get_disjoint_mut`": 779 - }, - "name": "get_disjoint_unchecked_mut", + "links": {}, + "name": null, "span": { "begin": [ - 1113, - 5 + 138, + 1 ], "end": [ - 1122, - 6 + 138, + 36 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "7800": { + "7803": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"unwind_safe_lock_refs\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7800, + "id": 7803, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7785, + "path": "Barrier" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7799 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -657828,23 +674942,23 @@ "name": null, "span": { "begin": [ - 544, + 36, 1 ], "end": [ - 548, - 2 + 36, + 34 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/barrier.rs" }, "visibility": "default" }, - "7801": { + "7804": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7801, + "id": 7804, "inner": { "function": { "generics": { @@ -657890,7 +675004,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -657902,7 +675016,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -657913,100 +675027,52 @@ "name": "fmt", "span": { "begin": [ - 552, + 60, 5 ], "end": [ - 554, + 62, 6 ], - "filename": "std/src/sync/nonpoison/mutex.rs" + "filename": "std/src/sync/barrier.rs" }, "visibility": "default" }, - "7802": { + "7805": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7802, + "id": 7805, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7741, - "path": "MappedMutexGuard" + "args": null, + "id": 7785, + "path": "Barrier" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "fmt::Display" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7801 + 7804 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 344, + "path": "Debug" } } }, @@ -658014,126 +675080,15 @@ "name": null, "span": { "begin": [ - 551, + 59, 1 ], "end": [ - 555, + 63, 2 ], - "filename": "std/src/sync/nonpoison/mutex.rs" - }, - "visibility": "default" - }, - "7804": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7804, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7713, - "path": "WouldBlock" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7805": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7805, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7713, - "path": "WouldBlock" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7806": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7806, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7713, - "path": "WouldBlock" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } + "filename": "std/src/sync/barrier.rs" }, - "links": {}, - "name": null, - "span": null, "visibility": "default" }, "7807": { @@ -658148,8 +675103,8 @@ "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -658157,20 +675112,28 @@ "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7789 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 146, + 1 + ], + "end": [ + 167, + 2 + ], + "filename": "std/src/sync/barrier.rs" + }, "visibility": "default" }, "7808": { @@ -658185,8 +675148,8 @@ "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -658200,8 +675163,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 1, + "path": "Send" } } }, @@ -658222,8 +675185,8 @@ "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -658237,8 +675200,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 5, + "path": "Sync" } } }, @@ -658302,7 +675265,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -658334,7 +675297,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -658401,7 +675364,7 @@ } }, "links": { - "`Eq`": 113, + "`Eq`": 111, "`Hash`": 539 }, "name": "contains_key", @@ -658424,6 +675387,154 @@ "deprecation": null, "docs": null, "id": 7810, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7788, + "path": "BarrierWaitResult" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7811": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7811, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7788, + "path": "BarrierWaitResult" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7812": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7812, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7788, + "path": "BarrierWaitResult" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7813": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7813, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7788, + "path": "BarrierWaitResult" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7814": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7814, "inner": { "impl": { "blanket_impl": { @@ -658432,8 +675543,8 @@ "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -658477,7 +675588,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -658493,7 +675604,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -658502,23 +675613,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7811": { + "7815": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7811, + "id": 7815, "inner": { "impl": { "blanket_impl": { @@ -658527,8 +675638,8 @@ "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -658572,7 +675683,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -658588,7 +675699,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -658597,23 +675708,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7812": { + "7816": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7812, + "id": 7816, "inner": { "impl": { "blanket_impl": { @@ -658622,8 +675733,8 @@ "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -658688,7 +675799,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -658713,23 +675824,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7813": { + "7817": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7813, + "id": 7817, "inner": { "impl": { "blanket_impl": { @@ -658738,8 +675849,8 @@ "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -658761,7 +675872,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -658786,23 +675897,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7814": { + "7818": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7814, + "id": 7818, "inner": { "impl": { "blanket_impl": { @@ -658811,8 +675922,8 @@ "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -658859,7 +675970,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -658877,8 +675988,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -658894,7 +676005,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -658903,23 +676014,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7815": { + "7819": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7815, + "id": 7819, "inner": { "impl": { "blanket_impl": { @@ -658928,8 +676039,8 @@ "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -658994,8 +676105,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -659011,7 +676122,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -659020,35 +676131,32 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7816": { - "attrs": [], + "782": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7816, + "docs": "Returns a mutable reference to the value corresponding to the key.\n\nThe key may be any borrowed form of the map's key type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe key type.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");\n```", + "id": 782, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 7713, - "path": "WouldBlock" - } - }, + "function": { "generics": { "params": [ { @@ -659059,7 +676167,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "Q" } ], "where_predicates": [ @@ -659067,7 +676175,58 @@ "bound_predicate": { "bounds": [ { - "outlives": "'static" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Q" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } }, { "trait_bound": { @@ -659083,47 +676242,98 @@ ], "generic_params": [], "type": { - "generic": "T" + "generic": "Q" } } } ] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "k", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Q" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "V" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } } } }, - "links": {}, - "name": null, + "links": { + "`Eq`": 111, + "`Hash`": 539 + }, + "name": "get_mut", "span": { "begin": [ - 138, - 1 + 1171, + 5 ], "end": [ - 138, - 36 + 1177, + 6 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7817": { + "7820": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7817, + "id": 7820, "inner": { "impl": { "blanket_impl": { @@ -659132,8 +676342,8 @@ "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -659154,15 +676364,7 @@ "bound_predicate": { "bounds": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } + "outlives": "'static" }, { "trait_bound": { @@ -659188,13 +676390,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 434 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 163, - "path": "ToString" + "id": 339, + "path": "Any" } } }, @@ -659202,23 +676404,23 @@ "name": null, "span": { "begin": [ - 2806, + 138, 1 ], "end": [ - 2806, - 46 + 138, + 36 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "7818": { + "7821": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7818, + "id": 7821, "inner": { "function": { "generics": { @@ -659264,7 +676466,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -659276,7 +676478,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -659287,35 +676489,35 @@ "name": "fmt", "span": { "begin": [ - 20, + 141, 5 ], "end": [ - 22, + 143, 6 ], - "filename": "std/src/sync/nonpoison.rs" + "filename": "std/src/sync/barrier.rs" }, "visibility": "default" }, - "7819": { + "7822": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"sync_nonpoison\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7819, + "id": 7822, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 7713, - "path": "WouldBlock" + "id": 7788, + "path": "BarrierWaitResult" } }, "generics": { @@ -659326,12 +676528,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7818 + 7821 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -659340,21 +676542,24 @@ "name": null, "span": { "begin": [ - 19, + 140, 1 ], "end": [ - 23, + 144, 2 ], - "filename": "std/src/sync/nonpoison.rs" + "filename": "std/src/sync/barrier.rs" }, "visibility": "default" }, - "782": { + "7827": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -659362,132 +676567,27 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns a mutable reference to the value corresponding to the key.\n\nThe key may be any borrowed form of the map's key type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe key type.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");\n```", - "id": 782, + "docs": "Creates a new lazy value with the given initializing function.\n\n# Examples\n\n```\nuse std::sync::LazyLock;\n\nlet hello = \"Hello, World!\".to_string();\n\nlet lazy = LazyLock::new(|| hello.to_uppercase());\n\nassert_eq!(&*lazy, \"HELLO, WORLD!\");\n```", + "id": 7827, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Q" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Q" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "Q" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "k", + "f", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Q" - } - } + "generic": "F" } ] ], @@ -659499,50 +676599,53 @@ "args": [ { "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "V" - } - } + "generic": "T" + } + }, + { + "type": { + "generic": "F" } } ], "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 737, + "path": "LazyLock" } } } } }, - "links": { - "`Eq`": 113, - "`Hash`": 539 - }, - "name": "get_mut", + "links": {}, + "name": "new", "span": { "begin": [ - 1171, + 104, 5 ], "end": [ - 1177, + 106, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/lazy_lock.rs" }, "visibility": "public" }, - "7820": { - "attrs": [], + "7828": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7820, + "docs": "Forces the evaluation of this lazy value and returns a reference to\nresult. This is equivalent to the `Deref` impl, but is explicit.\n\nThis method will block the calling thread if another initialization\nroutine is currently running.\n\n# Panics\n\nIf the initialization closure panics (the one that is passed to the [`new()`] method), the\npanic is propagated to the caller, and the lock becomes poisoned. This will cause all future\naccesses of the lock (via [`force()`] or a dereference) to panic.\n\n[`new()`]: LazyLock::new\n[`force()`]: LazyLock::force\n\n# Examples\n\n```\nuse std::sync::LazyLock;\n\nlet lazy = LazyLock::new(|| 92);\n\nassert_eq!(LazyLock::force(&lazy), &92);\nassert_eq!(&*lazy, &92);\n```", + "id": 7828, "inner": { "function": { "generics": { @@ -659559,37 +676662,32 @@ "sig": { "inputs": [ [ - "self", + "this", { "borrowed_ref": { "is_mutable": false, "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, "type": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'_" + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } } ], "constraints": [] } }, - "id": 343, - "path": "fmt::Formatter" + "id": 737, + "path": "LazyLock" } } } @@ -659598,231 +676696,81 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, - "links": {}, - "name": "fmt", + "links": { + "LazyLock::force": 7828, + "LazyLock::new": 7827 + }, + "name": "force", "span": { "begin": [ - 27, + 250, 5 ], "end": [ - 29, + 271, 6 ], - "filename": "std/src/sync/nonpoison.rs" - }, - "visibility": "default" - }, - "7821": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"sync_nonpoison\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7821, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7713, - "path": "WouldBlock" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7820 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 26, - 1 - ], - "end": [ - 30, - 2 - ], - "filename": "std/src/sync/nonpoison.rs" - }, - "visibility": "default" - }, - "7822": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7822, - "inner": { - "use": { - "id": 7741, - "is_glob": false, - "name": "MappedMutexGuard", - "source": "self::mutex::MappedMutexGuard" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 33, - 1 - ], - "end": [ - 33, - 39 - ], - "filename": "std/src/sync/nonpoison.rs" - }, - "visibility": "public" - }, - "7823": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7823, - "inner": { - "use": { - "id": 7705, - "is_glob": false, - "name": "Mutex", - "source": "self::mutex::Mutex" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 35, - 23 - ], - "end": [ - 35, - 28 - ], - "filename": "std/src/sync/nonpoison.rs" + "filename": "std/src/sync/lazy_lock.rs" }, "visibility": "public" }, - "7824": { + "7829": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7824, - "inner": { - "use": { - "id": 7712, - "is_glob": false, - "name": "MutexGuard", - "source": "self::mutex::MutexGuard" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 35, - 30 - ], - "end": [ - 35, - 40 - ], - "filename": "std/src/sync/nonpoison.rs" - }, - "visibility": "public" - }, - "7825": { - "attrs": [ + "other": "#[(not(panic = \"unwind\"), expect(unreachable_code))]" + }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134646, is_soft: false}, feature: \"sync_poison_mod\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Synchronization objects that employ poisoning.\n\n# Poisoning\n\nAll synchronization objects in this module implement a strategy called\n\"poisoning\" where a primitive becomes poisoned if it recognizes that some\nthread has panicked while holding the exclusive access granted by the\nprimitive. This information is then propagated to all other threads\nto signify that the data protected by this primitive is likely tainted\n(some invariant is not being upheld).\n\nThe specifics of how this \"poisoned\" state affects other threads and whether\nthe panics are recognized reliably or on a best-effort basis depend on the\nprimitive. See [Overview](#overview) below.\n\nFor the alternative implementations that do not employ poisoning,\nsee [`std::sync::nonpoison`].\n\n[`std::sync::nonpoison`]: crate::sync::nonpoison\n\n# Overview\n\nBelow is a list of synchronization objects provided by this module\nwith a high-level overview for each object and a description\nof how it employs \"poisoning\".\n\n- [`Condvar`]: Condition Variable, providing the ability to block\n a thread while waiting for an event to occur.\n\n Condition variables are typically associated with\n a boolean predicate (a condition) and a mutex.\n This implementation is associated with [`poison::Mutex`](Mutex),\n which employs poisoning.\n For this reason, [`Condvar::wait()`] will return a [`LockResult`],\n just like [`poison::Mutex::lock()`](Mutex::lock) does.\n\n- [`Mutex`]: Mutual Exclusion mechanism, which ensures that at\n most one thread at a time is able to access some data.\n\n Panicking while holding the lock typically poisons the mutex, but it is\n not guaranteed to detect this condition in all circumstances.\n [`Mutex::lock()`] returns a [`LockResult`], providing a way to deal with\n the poisoned state. See [`Mutex`'s documentation](Mutex#poisoning) for more.\n\n- [`Once`]: A thread-safe way to run a piece of code only once.\n Mostly useful for implementing one-time global initialization.\n\n [`Once`] is reliably poisoned if the piece of code passed to\n [`Once::call_once()`] or [`Once::call_once_force()`] panics.\n When in poisoned state, subsequent calls to [`Once::call_once()`] will panic too.\n [`Once::call_once_force()`] can be used to clear the poisoned state.\n\n- [`RwLock`]: Provides a mutual exclusion mechanism which allows\n multiple readers at the same time, while allowing only one\n writer at a time. In some cases, this can be more efficient than\n a mutex.\n\n This implementation, like [`Mutex`], usually becomes poisoned on a panic.\n Note, however, that an `RwLock` may only be poisoned if a panic occurs\n while it is locked exclusively (write mode). If a panic occurs in any reader,\n then the lock will not be poisoned.", - "id": 7825, + "docs": "Synchronization objects that employ poisoning.\n\n# Poisoning\n\nAll synchronization objects in this module implement a strategy called\n\"poisoning\" where a primitive becomes poisoned if it recognizes that some\nthread has panicked while holding the exclusive access granted by the\nprimitive. This information is then propagated to all other threads\nto signify that the data protected by this primitive is likely tainted\n(some invariant is not being upheld).\n\nThe specifics of how this \"poisoned\" state affects other threads and whether\nthe panics are recognized reliably or on a best-effort basis depend on the\nprimitive. See [Overview](#overview) below.\n\nThe synchronization objects in this module have alternative implementations that do not employ\npoisoning in the [`std::sync::nonpoison`] module.\n\n[`std::sync::nonpoison`]: crate::sync::nonpoison\n\n# Overview\n\nBelow is a list of synchronization objects provided by this module\nwith a high-level overview for each object and a description\nof how it employs \"poisoning\".\n\n- [`Condvar`]: Condition Variable, providing the ability to block\n a thread while waiting for an event to occur.\n\n Condition variables are typically associated with\n a boolean predicate (a condition) and a mutex.\n This implementation is associated with [`poison::Mutex`](Mutex),\n which employs poisoning.\n For this reason, [`Condvar::wait()`] will return a [`LockResult`],\n just like [`poison::Mutex::lock()`](Mutex::lock) does.\n\n- [`Mutex`]: Mutual Exclusion mechanism, which ensures that at\n most one thread at a time is able to access some data.\n\n Panicking while holding the lock typically poisons the mutex, but it is\n not guaranteed to detect this condition in all circumstances.\n [`Mutex::lock()`] returns a [`LockResult`], providing a way to deal with\n the poisoned state. See [`Mutex`'s documentation](Mutex#poisoning) for more.\n\n- [`RwLock`]: Provides a mutual exclusion mechanism which allows\n multiple readers at the same time, while allowing only one\n writer at a time. In some cases, this can be more efficient than\n a mutex.\n\n This implementation, like [`Mutex`], usually becomes poisoned on a panic.\n Note, however, that an `RwLock` may only be poisoned if a panic occurs\n while it is locked exclusively (write mode). If a panic occurs in any reader,\n then the lock will not be poisoned.\n\nNote that the [`Once`] type also employs poisoning, but since it has non-poisoning `force`\nmethods available on it, there is no separate `nonpoison` and `poison` version.\n\n[`Once`]: crate::sync::Once", + "id": 7829, "inner": { "module": { "is_crate": false, "is_stripped": false, "items": [ - 8209, - 8210, - 8211, - 8212, - 8213, - 8214, - 8215, - 8216, - 8217, - 8218, - 8219, - 8220, - 8221, - 7891, - 8248, - 7862, - 7900 + 8599, + 8600, + 8601, + 8602, + 8603, + 8604, + 8605, + 8606, + 8607, + 8330, + 8633, + 8300, + 8338 ] } }, "links": { - "Mutex": 495, - "Mutex#poisoning": 495, - "Mutex::lock": 7889, - "`Condvar::wait()`": 7860, - "`Condvar`": 494, - "`LockResult`": 7862, - "`Mutex::lock()`": 7889, - "`Mutex`": 495, - "`Once::call_once()`": 7999, - "`Once::call_once_force()`": 8000, - "`Once`": 7998, - "`RwLock`": 8044, - "crate::sync::nonpoison": 7826 + "Mutex": 496, + "Mutex#poisoning": 496, + "Mutex::lock": 8328, + "`Condvar::wait()`": 8299, + "`Condvar`": 495, + "`LockResult`": 8300, + "`Mutex::lock()`": 8328, + "`Mutex`": 496, + "`RwLock`": 8103, + "crate::sync::Once": 7739, + "crate::sync::nonpoison": 8294 }, "name": "poison", "span": { @@ -659831,86 +676779,39 @@ 1 ], "end": [ - 411, + 389, 2 ], "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "7826": { + "783": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"sync_nonpoison\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Non-poisoning synchronous locks.\n\nThe difference from the locks in the [`poison`] module is that the locks in this module will not\nbecome poisoned when a thread panics while holding a guard.\n\n[`poison`]: super::poison", - "id": 7826, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 7715, - 7713, - 7822, - 7823, - 7824 - ] - } - }, - "links": { - "super::poison": 7825 - }, - "name": "nonpoison", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 37, - 11 - ], - "filename": "std/src/sync/nonpoison.rs" - }, - "visibility": "public" - }, - "7828": { - "attrs": [ + "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_insert\")]" + }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" + "other": "#[rustc_diagnostic_item = \"hashmap_insert\"]" + }, + { + "other": "#[attr = Confusables {symbols: [\"push\", \"append\", \"put\"]}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Waits on this condition variable for a notification, timing out after a\nspecified duration.\n\nThe semantics of this function are equivalent to [`wait`] except that\nthe thread will be blocked for roughly no longer than `dur`. This\nmethod should not be used for precise timing due to anomalies such as\npreemption or platform differences that might not cause the maximum\namount of time waited to be precisely `dur`.\n\nNote that the best effort is made to ensure that the time waited is\nmeasured with a monotonic clock, and not affected by the changes made to\nthe system time. This function is susceptible to spurious wakeups.\nCondition variables normally have a boolean predicate associated with\nthem, and the predicate must always be checked each time this function\nreturns to protect against spurious wakeups. Additionally, it is\ntypically desirable for the timeout to not exceed some duration in\nspite of spurious wakes, thus the sleep-duration is decremented by the\namount slept. Alternatively, use the `wait_timeout_while` method\nto wait with a timeout while a predicate is true.\n\nThe returned [`WaitTimeoutResult`] value indicates if the timeout is\nknown to have elapsed.\n\nLike [`wait`], the lock specified will be re-acquired when this function\nreturns, regardless of whether the timeout elapsed or not.\n\n[`wait`]: Self::wait\n[`wait_timeout_while`]: Self::wait_timeout_while\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\nuse std::time::Duration;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// wait for the thread to start up\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\n// as long as the value inside the `Mutex` is `false`, we wait\nloop {\n let result = cvar.wait_timeout(started, Duration::from_millis(10)).unwrap();\n // 10 milliseconds have passed, or maybe the value changed!\n started = result.0;\n if *started == true {\n // We received the notification and the value has been updated, we can leave.\n break\n }\n}\n```", - "id": 7828, + "docs": "Inserts a key-value pair into the map.\n\nIf the map did not have this key present, [`None`] is returned.\n\nIf the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be `==` without being identical. See the [module-level\ndocumentation] for more.\n\n[module-level documentation]: crate::collections#insert-and-complex-keys\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");\n```", + "id": 783, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "has_body": true, @@ -659926,7 +676827,7 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" @@ -659935,37 +676836,15 @@ } ], [ - "guard", + "k", { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } + "generic": "K" } ], [ - "dur", + "v", { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "generic": "V" } ] ], @@ -659977,154 +676856,102 @@ "args": [ { "type": { - "tuple": [ - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - }, - { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - } - ] + "generic": "V" } } ], "constraints": [] } }, - "id": 7862, - "path": "LockResult" + "id": 51, + "path": "Option" } } } } }, "links": { - "Self::wait": 7860, - "Self::wait_timeout_while": 7865, - "`WaitTimeoutResult`": 7829 + "`None`": 53, + "crate::collections#insert-and-complex-keys": 733 }, - "name": "wait_timeout", + "name": "insert", "span": { "begin": [ - 384, + 1207, 5 ], "end": [ - 395, + 1209, 6 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "public" }, - "7829": { + "7830": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "A type indicating whether a timed wait on a condition variable returned\ndue to a time out or not.\n\nIt is returned by the [`wait_timeout`] method.\n\n[`wait_timeout`]: Condvar::wait_timeout", - "id": 7829, + "docs": "Consumes this error indicating that a lock is poisoned, returning the\nassociated data.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(HashSet::new()));\n\n// poison the mutex\nlet c_mutex = Arc::clone(&mutex);\nlet _ = thread::spawn(move || {\n let mut data = c_mutex.lock().unwrap();\n data.insert(10);\n panic!();\n}).join();\n\nlet p_err = mutex.lock().unwrap_err();\nlet data = p_err.into_inner();\nprintln!(\"recovered {} items\", data.len());\n```", + "id": 7830, "inner": { - "struct": { + "function": { "generics": { "params": [], "where_predicates": [] }, - "impls": [ - 7831, - 7832, - 7833, - 7834, - 7835, - 7836, - 7837, - 7838, - 7839, - 7840, - 7841, - 7842, - 7843, - 7844, - 7845, - 7846, - 7848, - 7849, - 7851, - 7852, - 7853, - 7855 - ], - "kind": { - "tuple": [ - null - ] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "T" + } } } }, - "links": { - "Condvar::wait_timeout": 7828 - }, - "name": "WaitTimeoutResult", + "links": {}, + "name": "into_inner", "span": { "begin": [ - 14, - 1 + 313, + 5 ], "end": [ - 14, - 36 + 315, + 6 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "783": { + "7831": { "attrs": [ { - "other": "#[(not(test), rustc_diagnostic_item = \"hashmap_insert\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"hashmap_insert\"]" - }, - { - "other": "#[attr = Confusables {symbols: [\"push\", \"append\", \"put\"]}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 125623, is_soft: false}, feature: \"lazy_cell_into_inner\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Inserts a key-value pair into the map.\n\nIf the map did not have this key present, [`None`] is returned.\n\nIf the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be `==` without being identical. See the [module-level\ndocumentation] for more.\n\n[module-level documentation]: crate::collections#insert-and-complex-keys\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");\n```", - "id": 783, + "docs": "Consumes this `LazyLock` returning the stored value.\n\nReturns `Ok(value)` if `Lazy` is initialized and `Err(f)` otherwise.\n\n# Panics\n\nPanics if the lock is poisoned.\n\n# Examples\n\n```\n#![feature(lazy_cell_into_inner)]\n\nuse std::sync::LazyLock;\n\nlet hello = \"Hello, World!\".to_string();\n\nlet lazy = LazyLock::new(|| hello.to_uppercase());\n\nassert_eq!(&*lazy, \"HELLO, WORLD!\");\nassert_eq!(LazyLock::into_inner(lazy).ok(), Some(\"HELLO, WORLD!\".to_string()));\n```", + "id": 7831, "inner": { "function": { "generics": { @@ -660141,27 +676968,9 @@ "sig": { "inputs": [ [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "k", - { - "generic": "K" - } - ], - [ - "v", + "this", { - "generic": "V" + "generic": "Self" } ] ], @@ -660173,53 +676982,53 @@ "args": [ { "type": { - "generic": "V" + "generic": "T" + } + }, + { + "type": { + "generic": "F" } } ], "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 57, + "path": "Result" } } } } }, - "links": { - "`None`": 53, - "crate::collections#insert-and-complex-keys": 733 - }, - "name": "insert", + "links": {}, + "name": "into_inner", "span": { "begin": [ - 1207, + 140, 5 ], "end": [ - 1209, + 158, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/lazy_lock.rs" }, "visibility": "public" }, - "7830": { + "7832": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 129333, is_soft: false}, feature: \"lazy_get\"}}]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the wait was known to have timed out.\n\n# Examples\n\nThis example spawns a thread which will sleep 20 milliseconds before\nupdating a boolean value and then notifying the condvar.\n\nThe main thread will wait with a 10 millisecond timeout on the condvar\nand will leave the loop upon timeout.\n\n```\nuse std::sync::{Arc, Condvar, Mutex};\nuse std::thread;\nuse std::time::Duration;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\n# let handle =\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n\n // Let's wait 20 milliseconds before notifying the condvar.\n thread::sleep(Duration::from_millis(20));\n\n let mut started = lock.lock().unwrap();\n // We update the boolean value.\n *started = true;\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nloop {\n // Let's put a timeout on the condvar's wait.\n let result = cvar.wait_timeout(lock.lock().unwrap(), Duration::from_millis(10)).unwrap();\n // 10 milliseconds have passed.\n if result.1.timed_out() {\n // timed out now and we can leave.\n break\n }\n}\n# // Prevent leaks for Miri.\n# let _ = handle.join();\n```", - "id": 7830, + "docs": "Forces the evaluation of this lazy value and returns a mutable reference to\nthe result.\n\n# Panics\n\nIf the initialization closure panics (the one that is passed to the [`new()`] method), the\npanic is propagated to the caller, and the lock becomes poisoned. This will cause all future\naccesses of the lock (via [`force()`] or a dereference) to panic.\n\n[`new()`]: LazyLock::new\n[`force()`]: LazyLock::force\n\n# Examples\n\n```\n#![feature(lazy_get)]\nuse std::sync::LazyLock;\n\nlet mut lazy = LazyLock::new(|| 92);\n\nlet p = LazyLock::force_mut(&mut lazy);\nassert_eq!(*p, 92);\n*p = 44;\nassert_eq!(*lazy, 44);\n```", + "id": 7832, "inner": { "function": { "generics": { @@ -660236,13 +677045,33 @@ "sig": { "inputs": [ [ - "self", + "this", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { - "generic": "Self" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" + } } } } @@ -660250,51 +677079,119 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } } } } }, - "links": {}, - "name": "timed_out", + "links": { + "LazyLock::force": 7828, + "LazyLock::new": 7827 + }, + "name": "force_mut", "span": { "begin": [ - 66, + 187, 5 ], "end": [ - 68, + 221, 6 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/sync/lazy_lock.rs" }, "visibility": "public" }, - "7831": { + "7833": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7831, + "id": 7833, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7830 + 7827, + 7831, + 7832, + 7828 ], "provided_trait_methods": [], "trait": null @@ -660304,164 +677201,224 @@ "name": null, "span": { "begin": [ - 18, + 87, 1 ], "end": [ - 69, + 272, 2 ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "default" - }, - "7832": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7832, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7833": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7833, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } + "filename": "std/src/sync/lazy_lock.rs" }, - "links": {}, - "name": null, - "span": null, "visibility": "default" }, "7834": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 129333, is_soft: false}, feature: \"lazy_get\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "Returns a mutable reference to the value if initialized. Otherwise (if uninitialized or\npoisoned), returns `None`.\n\n# Examples\n\n```\n#![feature(lazy_get)]\n\nuse std::sync::LazyLock;\n\nlet mut lazy = LazyLock::new(|| 92);\n\nassert_eq!(LazyLock::get_mut(&mut lazy), None);\nlet _ = LazyLock::force(&lazy);\n*LazyLock::get_mut(&mut lazy).unwrap() = 44;\nassert_eq!(*lazy, 44);\n```", "id": 7834, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "this", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "get_mut", + "span": { + "begin": [ + 294, + 5 + ], + "end": [ + 303, + 6 + ], + "filename": "std/src/sync/lazy_lock.rs" + }, + "visibility": "public" }, "7835": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 129333, is_soft: false}, feature: \"lazy_get\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, + "docs": "Returns a reference to the value if initialized. Otherwise (if uninitialized or poisoned),\nreturns `None`.\n\n# Examples\n\n```\n#![feature(lazy_get)]\n\nuse std::sync::LazyLock;\n\nlet lazy = LazyLock::new(|| 92);\n\nassert_eq!(LazyLock::get(&lazy), None);\nlet _ = LazyLock::force(&lazy);\nassert_eq!(LazyLock::get(&lazy), Some(&92));\n```", "id": 7835, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "this", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "get", + "span": { + "begin": [ + 323, + 5 + ], + "end": [ + 332, + 6 + ], + "filename": "std/src/sync/lazy_lock.rs" + }, + "visibility": "public" }, "7836": { "attrs": [], @@ -660474,30 +677431,76 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7834, + 7835 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } + "trait": null } }, - "links": {}, - "name": null, - "span": null, + "links": {}, + "name": null, + "span": { + "begin": [ + 274, + 1 + ], + "end": [ + 333, + 2 + ], + "filename": "std/src/sync/lazy_lock.rs" + }, "visibility": "default" }, "7837": { @@ -660511,14 +677514,94 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -660527,8 +677610,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 1, + "path": "Send" } } }, @@ -660545,14 +677628,28 @@ "id": 7838, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { @@ -660566,70 +677663,52 @@ } }, "name": "T" - } - ], - "where_predicates": [ + }, { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { + "kind": { + "type": { + "bounds": [], + "default": { + "function_pointer": { "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "generic": "T" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "T" + }, + "is_synthetic": false } - } + }, + "name": "F" } - ] + ], + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, + "is_negative": true, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 313, + "path": "Freeze" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, "7839": { @@ -660640,14 +677719,28 @@ "id": 7839, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { @@ -660661,6 +677754,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" } ], "where_predicates": [ @@ -660670,11 +677773,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 7, + "path": "Unpin" } } } @@ -660684,47 +677787,45 @@ "generic": "T" } } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } } ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 324 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 7, + "path": "Unpin" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, "784": { @@ -660861,9 +677962,25 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { @@ -660886,11 +678003,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -660907,13 +678024,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 422 + 319 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, @@ -660921,14 +678049,14 @@ "name": null, "span": { "begin": [ - 516, + 212, 1 ], "end": [ - 516, - 42 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, @@ -660945,9 +678073,136 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "7842": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7842, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { @@ -661012,7 +678267,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -661037,23 +678292,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7842": { + "7843": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7842, + "id": 7843, "inner": { "impl": { "blanket_impl": { @@ -661061,9 +678316,25 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { @@ -661085,7 +678356,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -661110,23 +678381,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7843": { + "7844": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7843, + "id": 7844, "inner": { "impl": { "blanket_impl": { @@ -661134,9 +678405,25 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { @@ -661183,7 +678470,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -661201,8 +678488,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -661218,7 +678505,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -661227,23 +678514,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7844": { + "7845": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7844, + "id": 7845, "inner": { "impl": { "blanket_impl": { @@ -661251,9 +678538,25 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { @@ -661318,8 +678621,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -661335,7 +678638,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -661344,37 +678647,63 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7845": { + "7846": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7845, + "id": 7846, "inner": { "impl": { "blanket_impl": { - "generic": "T" + "generic": "P" }, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + }, { "kind": { "type": { @@ -661391,7 +678720,32 @@ "bound_predicate": { "bounds": [ { - "outlives": "'static" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "generic": "T" + } + } + }, + "name": "Target" + } + ] + } + }, + "id": 1967, + "path": "Deref" + } + } }, { "trait_bound": { @@ -661406,6 +678760,27 @@ } ], "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], "type": { "generic": "T" } @@ -661417,13 +678792,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 1968, + "path": "Receiver" } } }, @@ -661431,23 +678806,23 @@ "name": null, "span": { "begin": [ - 138, + 378, 1 ], "end": [ - 138, - 36 + 380, + 26 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "7846": { + "7847": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7846, + "id": 7847, "inner": { "impl": { "blanket_impl": { @@ -661455,9 +678830,25 @@ }, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { @@ -661477,14 +678868,17 @@ { "bound_predicate": { "bounds": [ + { + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -661501,17 +678895,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" + 336 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 157, - "path": "ToOwned" + "id": 339, + "path": "Any" } } }, @@ -661519,27 +678909,23 @@ "name": null, "span": { "begin": [ - 82, + 138, 1 ], "end": [ - 84, - 14 + 138, + 36 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "7847": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7848": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7847, + "id": 7848, "inner": { "function": { "generics": { @@ -661557,128 +678943,42 @@ "inputs": [ [ "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "$crate::fmt::Formatter" - } + "generic": "Self" } } } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "$crate::fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 12, - 10 - ], - "end": [ - 12, - 15 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "default" - }, - "7848": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7848, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7847 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" + "output": null } } }, "links": {}, - "name": null, + "name": "drop", "span": { "begin": [ - 12, - 10 + 337, + 5 ], "end": [ - 12, - 15 + 347, + 6 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/sync/lazy_lock.rs" }, "visibility": "default" }, "7849": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" - }, - "automatically_derived" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + } ], "crate_id": 0, "deprecation": null, @@ -661689,24 +678989,63 @@ "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7848 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 442, - "path": "StructuralPartialEq" + "id": 9, + "path": "Drop" } } }, @@ -661714,14 +679053,14 @@ "name": null, "span": { "begin": [ - 12, - 17 + 336, + 1 ], "end": [ - 12, - 26 + 348, + 2 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/sync/lazy_lock.rs" }, "visibility": "default" }, @@ -661795,7 +679134,7 @@ 1221, 1223, 1225, - 1227 + 1226 ], "kind": { "plain": { @@ -661826,497 +679165,48 @@ "visibility": "public" }, "7850": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, "id": 7850, "inner": { - "function": { + "assoc_type": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } + "type": { + "generic": "T" } } }, "links": {}, - "name": "eq", + "name": "Target", "span": { "begin": [ - 12, - 17 + 352, + 5 ], "end": [ - 12, - 26 + 352, + 21 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/sync/lazy_lock.rs" }, "visibility": "default" }, "7851": { "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7851, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7850 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 12, - 17 - ], - "end": [ - 12, - 26 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "default" - }, - "7852": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7852, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 12, - 28 - ], - "end": [ - 12, - 30 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "default" - }, - "7853": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7853, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 103, - "path": "Copy" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 12, - 32 - ], - "end": [ - 12, - 36 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "default" - }, - "7854": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7854, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 12, - 38 - ], - "end": [ - 12, - 43 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "default" - }, - "7855": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7855, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7854 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 12, - 38 - ], - "end": [ - 12, - 43 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "default" - }, - "7857": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"const_locks\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, { "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a new condition variable which is ready to be waited on and\nnotified.\n\n# Examples\n\n```\nuse std::sync::Condvar;\n\nlet condvar = Condvar::new();\n```", - "id": 7857, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" - } - } - } - } - }, - "links": {}, - "name": "new", - "span": { - "begin": [ - 128, - 5 - ], - "end": [ - 130, - 6 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "public" - }, - "7858": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Wakes up one blocked thread on this condvar.\n\nIf there is a blocked thread on this condition variable, then it will\nbe woken up from its call to [`wait`] or [`wait_timeout`]. Calls to\n`notify_one` are not buffered in any way.\n\nTo wake up all threads, see [`notify_all`].\n\n[`wait`]: Self::wait\n[`wait_timeout`]: Self::wait_timeout\n[`notify_all`]: Self::notify_all\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\n// As long as the value inside the `Mutex` is `false`, we wait.\nwhile !*started {\n started = cvar.wait(started).unwrap();\n}\n```", - "id": 7858, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "Self::notify_all": 7859, - "Self::wait": 7860, - "Self::wait_timeout": 7828 - }, - "name": "notify_one", - "span": { - "begin": [ - 510, - 5 - ], - "end": [ - 512, - 6 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "public" - }, - "7859": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Wakes up all blocked threads on this condvar.\n\nThis method will ensure that any current waiters on the condition\nvariable are awoken. Calls to `notify_all()` are not buffered in any\nway.\n\nTo wake up only one thread, see [`notify_one`].\n\n[`notify_one`]: Self::notify_one\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_all();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\n// As long as the value inside the `Mutex` is `false`, we wait.\nwhile !*started {\n started = cvar.wait(started).unwrap();\n}\n```", - "id": 7859, + "docs": "Dereferences the value.\n\nThis method will block the calling thread if another initialization\nroutine is currently running.\n\n# Panics\n\nIf the initialization closure panics (the one that is passed to the [`new()`] method), the\npanic is propagated to the caller, and the lock becomes poisoned. This will cause all future\naccesses of the lock (via [`force()`] or a dereference) to panic.\n\n[`new()`]: LazyLock::new\n[`force()`]: LazyLock::force", + "id": 7851, "inner": { "function": { "generics": { @@ -662346,499 +679236,50 @@ ] ], "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "Self::notify_one": 7858 - }, - "name": "notify_all", - "span": { - "begin": [ - 550, - 5 - ], - "end": [ - 552, - 6 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "public" - }, - "786": { - "attrs": [ - { - "other": "#[attr = Confusables {symbols: [\"delete\", \"take\"]}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Removes a key from the map, returning the value at the key if the key\nwas previously in the map.\n\nThe key may be any borrowed form of the map's key type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe key type.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);\n```", - "id": 786, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Q" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Q" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "Q" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "k", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Q" - } - } - } - ] - ], - "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - } - }, - "links": { - "`Eq`": 113, - "`Hash`": 539 - }, - "name": "remove", - "span": { - "begin": [ - 1262, - 5 - ], - "end": [ - 1268, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "7860": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Blocks the current thread until this condition variable receives a\nnotification.\n\nThis function will atomically unlock the mutex specified (represented by\n`guard`) and block the current thread. This means that any calls\nto [`notify_one`] or [`notify_all`] which happen logically after the\nmutex is unlocked are candidates to wake this thread up. When this\nfunction call returns, the lock specified will have been re-acquired.\n\nNote that this function is susceptible to spurious wakeups. Condition\nvariables normally have a boolean predicate associated with them, and\nthe predicate must always be checked each time this function returns to\nprotect against spurious wakeups.\n\n# Errors\n\nThis function will return an error if the mutex being waited on is\npoisoned when this thread re-acquires the lock. For more information,\nsee information about [poisoning] on the [`Mutex`] type.\n\n# Panics\n\nThis function may [`panic!`] if it is used with more than one mutex\nover time.\n\n[`notify_one`]: Self::notify_one\n[`notify_all`]: Self::notify_all\n[poisoning]: super::Mutex#poisoning\n[`Mutex`]: super::Mutex\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\n// As long as the value inside the `Mutex` is `false`, we wait.\nwhile !*started {\n started = cvar.wait(started).unwrap();\n}\n```", - "id": 7860, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "guard", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - } - } - ], - "constraints": [] - } - }, - "id": 7862, - "path": "LockResult" } } } } }, "links": { - "Self::notify_all": 7859, - "Self::notify_one": 7858, - "`panic!`": 492, - "super::Mutex": 495, - "super::Mutex#poisoning": 495 + "LazyLock::force": 7828, + "LazyLock::new": 7827 }, - "name": "wait", + "name": "deref", "span": { "begin": [ - 188, + 368, 5 ], "end": [ - 195, + 370, 6 ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "public" - }, - "7861": { - "attrs": [ - { - "other": "#[must_not_suspend =\n\"holding a MutexGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" - }, - { - "other": "#[clippy::has_significant_drop]" - }, - { - "other": "#[(not(test), rustc_diagnostic_item = \"MutexGuard\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"MutexGuard\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "if unused the Mutex will immediately unlock" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An RAII implementation of a \"scoped lock\" of a mutex. When this structure is\ndropped (falls out of scope), the lock will be unlocked.\n\nThe data protected by the mutex can be accessed through this guard via its\n[`Deref`] and [`DerefMut`] implementations.\n\nThis structure is created by the [`lock`] and [`try_lock`] methods on\n[`Mutex`].\n\n[`lock`]: Mutex::lock\n[`try_lock`]: Mutex::try_lock", - "id": 7861, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "outlives": "'a" - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "impls": [ - 7933, - 7934, - 7935, - 7936, - 7937, - 7938, - 7939, - 7940, - 7941, - 7942, - 7943, - 7944, - 7945, - 7946, - 7947, - 7948, - 7951, - 7953, - 7955, - 7957, - 7959 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "Mutex::lock": 7889, - "Mutex::try_lock": 7890, - "`DerefMut`": 1989, - "`Deref`": 1969, - "`Mutex`": 495 - }, - "name": "MutexGuard", - "span": { - "begin": [ - 277, - 1 - ], - "end": [ - 280, - 2 - ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/lazy_lock.rs" }, - "visibility": "public" + "visibility": "default" }, - "7862": { + "7852": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "A type alias for the result of a lock method which can be poisoned.\n\nThe [`Ok`] variant of this result indicates that the primitive was not\npoisoned, and the operation result is contained within. The [`Err`] variant indicates\nthat the primitive was poisoned. Note that the [`Err`] variant *also* carries\nan associated value assigned by the lock method, and it can be acquired through the\n[`into_inner`] method. The semantics of the associated value depends on the corresponding\nlock method.\n\n[`into_inner`]: PoisonError::into_inner", - "id": 7862, + "docs": null, + "id": 7852, "inner": { - "type_alias": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "type": { + "impl": { + "blanket_impl": null, + "for": { "resolved_path": { "args": { "angle_bracketed": { @@ -662850,75 +679291,19 @@ }, { "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7891, - "path": "PoisonError" - } + "generic": "F" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 737, + "path": "LazyLock" } - } - } - }, - "links": { - "PoisonError::into_inner": 7892, - "`Err`": 59, - "`Ok`": 61 - }, - "name": "LockResult", - "span": { - "begin": [ - 241, - 1 - ], - "end": [ - 241, - 52 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "7863": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 42, patch: 0})}, feature: \"wait_until\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Blocks the current thread until the provided condition becomes false.\n\n`condition` is checked immediately; if not met (returns `true`), this\nwill [`wait`] for the next notification then check again. This repeats\nuntil `condition` returns `false`, in which case this function returns.\n\nThis function will atomically unlock the mutex specified (represented by\n`guard`) and block the current thread. This means that any calls\nto [`notify_one`] or [`notify_all`] which happen logically after the\nmutex is unlocked are candidates to wake this thread up. When this\nfunction call returns, the lock specified will have been re-acquired.\n\n# Errors\n\nThis function will return an error if the mutex being waited on is\npoisoned when this thread re-acquires the lock. For more information,\nsee information about [poisoning] on the [`Mutex`] type.\n\n[`wait`]: Self::wait\n[`notify_one`]: Self::notify_one\n[`notify_all`]: Self::notify_all\n[poisoning]: super::Mutex#poisoning\n[`Mutex`]: super::Mutex\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(true), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut pending = lock.lock().unwrap();\n *pending = false;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\n// As long as the value inside the `Mutex` is `true`, we wait.\nlet _guard = cvar.wait_while(lock.lock().unwrap(), |pending| { *pending }).unwrap();\n```", - "id": 7863, - "inner": { - "function": { + }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -662932,204 +679317,79 @@ { "kind": { "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - ], - "output": { - "primitive": "bool" - } - } - }, - "id": 13, - "path": "FnMut" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "guard", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - } - ], - [ - "condition", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ + "bounds": [ { - "type": { - "resolved_path": { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } } }, - "id": 7861, - "path": "MutexGuard" + "id": 15, + "path": "FnOnce" } } } ], - "constraints": [] + "default": null, + "is_synthetic": false } }, - "id": 7862, - "path": "LockResult" + "name": "F" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7850, + 7851 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1967, + "path": "Deref" } } }, - "links": { - "Self::notify_all": 7859, - "Self::notify_one": 7858, - "Self::wait": 7860, - "super::Mutex": 495, - "super::Mutex#poisoning": 495 - }, - "name": "wait_while", + "links": {}, + "name": null, "span": { "begin": [ - 244, - 5 + 351, + 1 ], "end": [ - 256, - 6 + 371, + 2 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/sync/lazy_lock.rs" }, - "visibility": "public" + "visibility": "default" }, - "7864": { + "7853": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 0, - "deprecation": { - "note": "replaced by `std::sync::Condvar::wait_timeout`", - "since": "1.6.0" - }, - "docs": "Waits on this condition variable for a notification, timing out after a\nspecified duration.\n\nThe semantics of this function are equivalent to [`wait`]\nexcept that the thread will be blocked for roughly no longer\nthan `ms` milliseconds. This method should not be used for\nprecise timing due to anomalies such as preemption or platform\ndifferences that might not cause the maximum amount of time\nwaited to be precisely `ms`.\n\nNote that the best effort is made to ensure that the time waited is\nmeasured with a monotonic clock, and not affected by the changes made to\nthe system time.\n\nThe returned boolean is `false` only if the timeout is known\nto have elapsed.\n\nLike [`wait`], the lock specified will be re-acquired when this function\nreturns, regardless of whether the timeout elapsed or not.\n\n[`wait`]: Self::wait\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\n// As long as the value inside the `Mutex` is `false`, we wait.\nloop {\n let result = cvar.wait_timeout_ms(started, 10).unwrap();\n // 10 milliseconds have passed, or maybe the value changed!\n started = result.0;\n if *started == true {\n // We received the notification and the value has been updated, we can leave.\n break\n }\n}\n```", - "id": 7864, + "crate_id": 0, + "deprecation": null, + "docs": "# Panics\n\nIf the initialization closure panics (the one that is passed to the [`new()`] method), the\npanic is propagated to the caller, and the lock becomes poisoned. This will cause all future\naccesses of the lock (via [`force()`] or a dereference) to panic.\n\n[`new()`]: LazyLock::new\n[`force()`]: LazyLock::force", + "id": 7853, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "has_body": true, @@ -663145,131 +679405,84 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" } } } - ], - [ - "guard", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - } - ], - [ - "ms", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [ - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - }, - { - "primitive": "bool" - } - ] - } - } - ], - "constraints": [] - } - }, - "id": 7862, - "path": "LockResult" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": { - "Self::wait": 7860 + "LazyLock::force": 7828, + "LazyLock::new": 7827 }, - "name": "wait_timeout_ms", + "name": "deref_mut", "span": { "begin": [ - 313, + 384, 5 ], "end": [ - 320, + 386, 6 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/sync/lazy_lock.rs" }, - "visibility": "public" + "visibility": "default" }, - "7865": { + "7854": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 42, patch: 0})}, feature: \"wait_timeout_until\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"lazy_deref_mut\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Waits on this condition variable for a notification, timing out after a\nspecified duration.\n\nThe semantics of this function are equivalent to [`wait_while`] except\nthat the thread will be blocked for roughly no longer than `dur`. This\nmethod should not be used for precise timing due to anomalies such as\npreemption or platform differences that might not cause the maximum\namount of time waited to be precisely `dur`.\n\nNote that the best effort is made to ensure that the time waited is\nmeasured with a monotonic clock, and not affected by the changes made to\nthe system time.\n\nThe returned [`WaitTimeoutResult`] value indicates if the timeout is\nknown to have elapsed without the condition being met.\n\nLike [`wait_while`], the lock specified will be re-acquired when this\nfunction returns, regardless of whether the timeout elapsed or not.\n\n[`wait_while`]: Self::wait_while\n[`wait_timeout`]: Self::wait_timeout\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\nuse std::time::Duration;\n\nlet pair = Arc::new((Mutex::new(true), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut pending = lock.lock().unwrap();\n *pending = false;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// wait for the thread to start up\nlet (lock, cvar) = &*pair;\nlet result = cvar.wait_timeout_while(\n lock.lock().unwrap(),\n Duration::from_millis(100),\n |&mut pending| pending,\n).unwrap();\nif result.1.timed_out() {\n // timed-out without the condition ever evaluating to false.\n}\n// access the locked mutex via result.0\n```", - "id": 7865, + "docs": null, + "id": 7854, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" + } + }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -663283,7 +679496,26 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], "default": null, "is_synthetic": false } @@ -663291,46 +679523,52 @@ "name": "F" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - ], - "output": { - "primitive": "bool" - } - } - }, - "id": 13, - "path": "FnMut" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7853 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1987, + "path": "DerefMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 374, + 1 + ], + "end": [ + 387, + 2 + ], + "filename": "std/src/sync/lazy_lock.rs" + }, + "visibility": "default" + }, + "7855": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a new lazy value using `Default` as the initializing function.", + "id": 7855, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -663340,60 +679578,7 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "guard", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - } - ], - [ - "dur", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } - ], - [ - "condition", - { - "generic": "F" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { "resolved_path": { @@ -663402,235 +679587,439 @@ "args": [ { "type": { - "tuple": [ - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - }, - { - "resolved_path": { - "args": null, - "id": 7829, - "path": "WaitTimeoutResult" - } - } - ] + "generic": "T" } } ], "constraints": [] } }, - "id": 7862, - "path": "LockResult" + "id": 737, + "path": "LazyLock" } } } } }, - "links": { - "Self::wait_timeout": 7828, - "Self::wait_while": 7863, - "`WaitTimeoutResult`": 7829 - }, - "name": "wait_timeout_while", + "links": {}, + "name": "default", "span": { "begin": [ - 450, + 393, 5 ], "end": [ - 470, + 395, 6 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/sync/lazy_lock.rs" }, - "visibility": "public" + "visibility": "default" }, - "7866": { - "attrs": [], + "7856": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7866, + "id": 7856, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 107, + "path": "Default" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7857, - 7860, - 7863, - 7864, - 7828, - 7865, - 7858, - 7859 + 7855 ], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 107, + "path": "Default" + } } }, "links": {}, "name": null, "span": { "begin": [ - 113, + 390, 1 ], "end": [ - 553, + 396, 2 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/sync/lazy_lock.rs" }, "visibility": "default" }, - "7867": { + "7857": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7867, + "id": 7857, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" - } - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } } } }, "links": {}, - "name": null, - "span": null, + "name": "fmt", + "span": { + "begin": [ + 400, + 5 + ], + "end": [ + 407, + 6 + ], + "filename": "std/src/sync/lazy_lock.rs" + }, "visibility": "default" }, - "7868": { - "attrs": [], + "7858": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7868, + "id": 7858, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7857 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 344, + "path": "Debug" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 399, + 1 + ], + "end": [ + 408, + 2 + ], + "filename": "std/src/sync/lazy_lock.rs" + }, "visibility": "default" }, - "7869": { - "attrs": [], + "7859": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7869, + "id": 7859, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], "where_predicates": [] }, - "is_negative": true, - "is_synthetic": true, + "is_negative": false, + "is_synthetic": false, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 5, + "path": "Sync" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 419, + 1 + ], + "end": [ + 419, + 64 + ], + "filename": "std/src/sync/lazy_lock.rs" + }, "visibility": "default" }, - "787": { + "786": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"hash_map_remove_entry\"}}]" + "other": "#[attr = Confusables {symbols: [\"delete\", \"take\"]}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -663638,8 +680027,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.\n\nThe key may be any borrowed form of the map's key type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe key type.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\n# fn main() {\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);\n# }\n```", - "id": 787, + "docs": "Removes a key from the map, returning the value at the key if the key\nwas previously in the map.\n\nThe key may be any borrowed form of the map's key type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe key type.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);\n```", + "id": 786, "inner": { "function": { "generics": { @@ -663676,7 +680065,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -663708,7 +680097,7 @@ "modifier": "none", "trait": { "args": null, - "id": 113, + "id": 111, "path": "Eq" } } @@ -663775,14 +680164,7 @@ "args": [ { "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] + "generic": "V" } } ], @@ -663797,76 +680179,57 @@ } }, "links": { - "`Eq`": 113, + "`Eq`": 111, "`Hash`": 539 }, - "name": "remove_entry", + "name": "remove", "span": { "begin": [ - 1291, + 1262, 5 ], "end": [ - 1297, + 1268, 6 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "public" }, - "7870": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7870, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } + "7860": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7871": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7871, + "id": 7860, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { @@ -663874,60 +680237,70 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + } + ], "default": null, "is_synthetic": false } }, "name": "T" - } - ], - "where_predicates": [ + }, { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "T" + ], + "default": null, + "is_synthetic": false } - } + }, + "name": "F" } - ] + ], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -663935,33 +680308,51 @@ "name": null, "span": { "begin": [ - 209, + 423, 1 ], "end": [ - 209, - 32 + 423, + 87 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sync/lazy_lock.rs" }, "visibility": "default" }, - "7872": { - "attrs": [], + "7861": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7872, + "id": 7861, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "F" + } + } + ], + "constraints": [] + } + }, + "id": 737, + "path": "LazyLock" } }, "generics": { @@ -663969,60 +680360,59 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + } + ], "default": null, "is_synthetic": false } }, "name": "T" - } - ], - "where_predicates": [ + }, { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "T" + ], + "default": null, + "is_synthetic": false } - } + }, + "name": "F" } - ] + ], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 324 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, @@ -664030,341 +680420,273 @@ "name": null, "span": { "begin": [ - 217, + 425, 1 ], "end": [ - 217, - 35 + 425, + 68 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sync/lazy_lock.rs" }, "visibility": "default" }, - "7873": { - "attrs": [], + "7867": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": null + } + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7873, + "docs": "Creates a new uninitialized cell.", + "id": 7867, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" } } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 7737, + "path": "OnceLock" } - }, - "id": 39, - "path": "Into" + } } } }, "links": {}, - "name": null, + "name": "new", "span": { "begin": [ - 773, - 1 + 139, + 5 ], "end": [ - 775, - 24 + 145, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/once_lock.rs" }, - "visibility": "default" + "visibility": "public" }, - "7874": { - "attrs": [], + "7868": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7874, + "docs": "Gets the reference to the underlying value.\n\nReturns `None` if the cell is uninitialized, or being initialized.\nThis method never blocks.", + "id": 7868, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "T" + "generic": "Self" } } - ], - "constraints": [] + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } - }, - "id": 37, - "path": "From" + } } } }, "links": {}, - "name": null, + "name": "get", "span": { "begin": [ - 791, - 1 + 153, + 5 ], "end": [ - 791, - 28 + 160, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/once_lock.rs" }, - "visibility": "default" + "visibility": "public" }, - "7875": { - "attrs": [], + "7869": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7875, + "docs": "Gets the mutable reference to the underlying value.\n\nReturns `None` if the cell is uninitialized.\n\nThis method never blocks. Since it borrows the `OnceLock` mutably,\nit is statically guaranteed that no active borrows to the `OnceLock`\nexist, including from other threads.", + "id": 7869, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "U" - } + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" } - }, - "id": 199, - "path": "TryFrom" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 200, - "path": "TryInto" + } } } }, "links": {}, - "name": null, + "name": "get_mut", "span": { "begin": [ - 817, - 1 + 171, + 5 ], "end": [ - 819, - 27 + 178, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/once_lock.rs" }, - "visibility": "default" + "visibility": "public" }, - "7876": { - "attrs": [], + "787": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"hash_map_remove_entry\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7876, + "docs": "Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.\n\nThe key may be any borrowed form of the map's key type, but\n[`Hash`] and [`Eq`] on the borrowed form *must* match those for\nthe key type.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\n# fn main() {\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);\n# }\n```", + "id": 787, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" - } - }, + "function": { "generics": { "params": [ { @@ -664375,17 +680697,7 @@ "is_synthetic": false } }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" + "name": "Q" } ], "where_predicates": [ @@ -664402,328 +680714,25 @@ "args": [ { "type": { - "generic": "T" + "generic": "Q" } } ], "constraints": [] } }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "7877": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7877, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "id": 321, + "path": "Borrow" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "K" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "7878": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7878, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "crate::sync::Condvar" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 268, - 1 - ], - "end": [ - 268, - 31 - ], - "filename": "std/src/panic.rs" - }, - "visibility": "default" - }, - "7879": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"unwind_safe_lock_refs\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7879, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "crate::sync::Condvar" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 275, - 1 - ], - "end": [ - 275, - 34 - ], - "filename": "std/src/panic.rs" - }, - "visibility": "default" - }, - "788": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 788, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "S" - } - ], - "where_predicates": [ { "bound_predicate": { "bounds": [ @@ -664733,8 +680742,8 @@ "modifier": "none", "trait": { "args": null, - "id": 113, - "path": "Eq" + "id": 539, + "path": "Hash" } } }, @@ -664744,92 +680753,31 @@ "modifier": "none", "trait": { "args": null, - "id": 539, - "path": "Hash" + "id": 111, + "path": "Eq" } } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 743, - "path": "BuildHasher" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "S" + "generic": "Q" } } } ] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 770, - 771, - 773, - 774, - 775, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 786, - 787 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 765, - 1 - ], - "end": [ - 1298, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "7880": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7880, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, "has_body": true, "header": { "abi": "Rust", @@ -664843,7 +680791,7 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" @@ -664852,26 +680800,13 @@ } ], [ - "f", + "k", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "Q" } } } @@ -664880,88 +680815,63 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": {}, - "name": "fmt", + "links": { + "`Eq`": 111, + "`Hash`": 539 + }, + "name": "remove_entry", "span": { "begin": [ - 557, + 1291, 5 ], "end": [ - 559, + 1297, 6 ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "7881": { + "7870": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"once_wait\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7881, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7880 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 556, - 1 - ], - "end": [ - 560, - 2 - ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "default" - }, - "7882": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a `Condvar` which is ready to be waited on and notified.", - "id": 7882, + "docs": "Blocks the current thread until the cell is initialized.\n\n# Example\n\nWaiting for a computation on another thread to finish:\n```rust\nuse std::thread;\nuse std::sync::OnceLock;\n\nlet value = OnceLock::new();\n\nthread::scope(|s| {\n s.spawn(|| value.set(1 + 1));\n\n let result = value.wait();\n assert_eq!(result, &2);\n})\n```", + "id": 7870, "inner": { "function": { "generics": { @@ -664976,93 +680886,52 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "default", + "name": "wait", "span": { "begin": [ - 565, + 200, 5 ], "end": [ - 567, + 204, 6 ], - "filename": "std/src/sync/poison/condvar.rs" - }, - "visibility": "default" - }, - "7883": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"condvar_default\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7883, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 494, - "path": "Condvar" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7882 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 109, - "path": "Default" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 563, - 1 - ], - "end": [ - 568, - 2 - ], - "filename": "std/src/sync/poison/condvar.rs" + "filename": "std/src/sync/once_lock.rs" }, - "visibility": "default" + "visibility": "public" }, - "7888": { + "7871": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"const_locks\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -665070,8 +680939,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Creates a new mutex in an unlocked state ready for use.\n\n# Examples\n\n```\nuse std::sync::Mutex;\n\nlet mutex = Mutex::new(0);\n```", - "id": 7888, + "docs": "Initializes the contents of the cell to `value`.\n\nMay block if another thread is currently attempting to initialize the cell. The cell is\nguaranteed to contain a value when `set` returns, though not necessarily the one provided.\n\nReturns `Ok(())` if the cell was uninitialized and\n`Err(value)` if the cell was already initialized.\n\n# Examples\n\n```\nuse std::sync::OnceLock;\n\nstatic CELL: OnceLock = OnceLock::new();\n\nfn main() {\n assert!(CELL.get().is_none());\n\n std::thread::spawn(|| {\n assert_eq!(CELL.set(92), Ok(()));\n }).join().unwrap();\n\n assert_eq!(CELL.set(62), Err(62));\n assert_eq!(CELL.get(), Some(&92));\n}\n```", + "id": 7871, "inner": { "function": { "generics": { @@ -665082,13 +680951,25 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "t", + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "value", { "generic": "T" } @@ -665100,6 +680981,11 @@ "args": { "angle_bracketed": { "args": [ + { + "type": { + "tuple": [] + } + }, { "type": { "generic": "T" @@ -665109,38 +680995,41 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 57, + "path": "Result" } } } } }, "links": {}, - "name": "new", + "name": "set", "span": { "begin": [ - 350, + 234, 5 ], "end": [ - 352, + 239, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "public" }, - "7889": { + "7872": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116693, is_soft: false}, feature: \"once_cell_try_insert\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Acquires a mutex, blocking the current thread until it is able to do so.\n\nThis function will block the local thread until it is available to acquire\nthe mutex. Upon returning, the thread is the only thread with the lock\nheld. An RAII guard is returned to allow scoped unlock of the lock. When\nthe guard goes out of scope, the mutex will be unlocked.\n\nThe exact behavior on locking a mutex in the thread which already holds\nthe lock is left unspecified. However, this function will not return on\nthe second call (it might panic or deadlock, for example).\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error once the mutex is acquired. The acquired\nmutex guard will be contained in the returned error.\n\n# Panics\n\nThis function might panic when called if the lock is already held by\nthe current thread.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nthread::spawn(move || {\n *c_mutex.lock().unwrap() = 10;\n}).join().expect(\"thread::spawn failed\");\nassert_eq!(*mutex.lock().unwrap(), 10);\n```", - "id": 7889, + "docs": "Initializes the contents of the cell to `value` if the cell was uninitialized,\nthen returns a reference to it.\n\nMay block if another thread is currently attempting to initialize the cell. The cell is\nguaranteed to contain a value when `try_insert` returns, though not necessarily the\none provided.\n\nReturns `Ok(&value)` if the cell was uninitialized and\n`Err((¤t_value, value))` if it was already initialized.\n\n# Examples\n\n```\n#![feature(once_cell_try_insert)]\n\nuse std::sync::OnceLock;\n\nstatic CELL: OnceLock = OnceLock::new();\n\nfn main() {\n assert!(CELL.get().is_none());\n\n std::thread::spawn(|| {\n assert_eq!(CELL.try_insert(92), Ok(&92));\n }).join().unwrap();\n\n assert_eq!(CELL.try_insert(62), Err((&92, 62)));\n assert_eq!(CELL.get(), Some(&92));\n}\n```", + "id": 7872, "inner": { "function": { "generics": { @@ -665167,6 +681056,12 @@ } } } + ], + [ + "value", + { + "generic": "T" + } ] ], "is_c_variadic": false, @@ -665177,90 +681072,74 @@ "args": [ { "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + }, + { + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } }, - "id": 7861, - "path": "MutexGuard" - } + { + "generic": "T" + } + ] } } ], "constraints": [] } }, - "id": 7862, - "path": "LockResult" + "id": 57, + "path": "Result" } } } } }, "links": {}, - "name": "lock", + "name": "try_insert", "span": { "begin": [ - 487, + 273, 5 ], "end": [ - 492, + 280, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "public" }, - "789": { - "attrs": [], + "7873": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 789, + "docs": "Gets the contents of the cell, initializing it to `f()` if the cell\nwas uninitialized.\n\nMany threads may call `get_or_init` concurrently with different\ninitializing functions, but it is guaranteed that only one function\nwill be executed if the function doesn't panic.\n\n# Panics\n\nIf `f()` panics, the panic is propagated to the caller, and the cell\nremains uninitialized.\n\nIt is an error to reentrantly initialize the cell from `f`. The\nexact outcome is unspecified. Current implementation deadlocks, but\nthis may be changed to a panic in the future.\n\n# Examples\n\n```\nuse std::sync::OnceLock;\n\nlet cell = OnceLock::new();\nlet value = cell.get_or_init(|| 92);\nassert_eq!(value, &92);\nlet value = cell.get_or_init(|| unreachable!());\nassert_eq!(value, &92);\n```", + "id": 7873, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, + "function": { "generics": { "params": [ { @@ -665271,27 +681150,7 @@ "is_synthetic": false } }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "S" + "name": "F" } ], "where_predicates": [ @@ -665303,96 +681162,28 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "S" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" } } } ], "generic_params": [], "type": { - "generic": "V" + "generic": "F" } } } ] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7890": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Attempts to acquire this lock.\n\nIf the lock could not be acquired at this time, then [`Err`] is returned.\nOtherwise, an RAII guard is returned. The lock will be unlocked when the\nguard is dropped.\n\nThis function does not block.\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return the [`Poisoned`] error if the mutex would\notherwise be acquired. An acquired lock guard will be contained\nin the returned error.\n\nIf the mutex could not be acquired because it is already locked, then\nthis call will return the [`WouldBlock`] error.\n\n[`Poisoned`]: TryLockError::Poisoned\n[`WouldBlock`]: TryLockError::WouldBlock\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nthread::spawn(move || {\n let mut lock = c_mutex.try_lock();\n if let Ok(ref mut mutex) = lock {\n **mutex = 10;\n } else {\n println!(\"try_lock failed\");\n }\n}).join().expect(\"thread::spawn failed\");\nassert_eq!(*mutex.lock().unwrap(), 10);\n```", - "id": 7890, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, "has_body": true, "header": { "abi": "Rust", @@ -665413,79 +681204,57 @@ } } } + ], + [ + "f", + { + "generic": "F" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - } - } - ], - "constraints": [] - } - }, - "id": 7900, - "path": "TryLockResult" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, - "links": { - "TryLockError::Poisoned": 7898, - "TryLockError::WouldBlock": 7899, - "`Err`": 59 - }, - "name": "try_lock", + "links": {}, + "name": "get_or_init", "span": { "begin": [ - 535, + 311, 5 ], "end": [ - 543, + 318, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "public" }, - "7891": { + "7874": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121641, is_soft: false}, feature: \"once_cell_get_mut\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "A type of error which can be returned whenever a lock is acquired.\n\nBoth [`Mutex`]es and [`RwLock`]s are poisoned whenever a thread fails while the lock\nis held. The precise semantics for when a lock is poisoned is documented on\neach lock. For a lock in the poisoned state, unless the state is cleared manually,\nall future acquisitions will return this error.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(1));\n\n// poison the mutex\nlet c_mutex = Arc::clone(&mutex);\nlet _ = thread::spawn(move || {\n let mut data = c_mutex.lock().unwrap();\n *data = 2;\n panic!();\n}).join();\n\nmatch mutex.lock() {\n Ok(_) => unreachable!(),\n Err(p_err) => {\n let data = p_err.get_ref();\n println!(\"recovered: {data}\");\n }\n};\n```\n[`Mutex`]: crate::sync::Mutex\n[`RwLock`]: crate::sync::RwLock", - "id": 7891, + "docs": "Gets the mutable reference of the contents of the cell, initializing\nit to `f()` if the cell was uninitialized.\n\nThis method never blocks. Since it borrows the `OnceLock` mutably,\nit is statically guaranteed that no active borrows to the `OnceLock`\nexist, including from other threads.\n\n# Panics\n\nIf `f()` panics, the panic is propagated to the caller, and the cell\nremains uninitialized.\n\n# Examples\n\n```\n#![feature(once_cell_get_mut)]\n\nuse std::sync::OnceLock;\n\nlet mut cell = OnceLock::new();\nlet value = cell.get_mut_or_init(|| 92);\nassert_eq!(*value, 92);\n\n*value += 2;\nassert_eq!(*value, 94);\n\nlet value = cell.get_mut_or_init(|| unreachable!());\nassert_eq!(*value, 94);\n```", + "id": 7874, "inner": { - "struct": { + "function": { "generics": { "params": [ { @@ -665496,73 +681265,184 @@ "is_synthetic": false } }, - "name": "T" + "name": "F" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] }, - "impls": [ - 8226, - 8227, - 8228, - 8229, - 8230, - 8231, - 8232, - 8233, - 8234, - 8235, - 8236, - 8237, - 8238, - 8239, - 8240, - 8242, - 8244, - 8246, - 8249 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } } } } }, - "links": { - "crate::sync::Mutex": 495, - "crate::sync::RwLock": 8044 - }, - "name": "PoisonError", + "links": {}, + "name": "get_mut_or_init", "span": { "begin": [ - 203, - 1 + 351, + 5 ], "end": [ - 207, - 2 + 358, + 6 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "public" }, - "7892": { + "7875": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 109737, is_soft: false}, feature: \"once_cell_try\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Consumes this error indicating that a lock is poisoned, returning the\nassociated data.\n\n# Examples\n\n```\nuse std::collections::HashSet;\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(HashSet::new()));\n\n// poison the mutex\nlet c_mutex = Arc::clone(&mutex);\nlet _ = thread::spawn(move || {\n let mut data = c_mutex.lock().unwrap();\n data.insert(10);\n panic!();\n}).join();\n\nlet p_err = mutex.lock().unwrap_err();\nlet data = p_err.into_inner();\nprintln!(\"recovered {} items\", data.len());\n```", - "id": 7892, + "docs": "Gets the contents of the cell, initializing it to `f()` if\nthe cell was uninitialized. If the cell was uninitialized\nand `f()` failed, an error is returned.\n\n# Panics\n\nIf `f()` panics, the panic is propagated to the caller, and\nthe cell remains uninitialized.\n\nIt is an error to reentrantly initialize the cell from `f`.\nThe exact outcome is unspecified. Current implementation\ndeadlocks, but this may be changed to a panic in the future.\n\n# Examples\n\n```\n#![feature(once_cell_try)]\n\nuse std::sync::OnceLock;\n\nlet cell = OnceLock::new();\nassert_eq!(cell.get_or_try_init(|| Err(())), Err(()));\nassert!(cell.get().is_none());\nlet value = cell.get_or_try_init(|| -> Result {\n Ok(92)\n});\nassert_eq!(value, Ok(&92));\nassert_eq!(cell.get(), Some(&92))\n```", + "id": 7875, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "E" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "E" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] }, "has_body": true, "header": { @@ -665576,46 +681456,108 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "generic": "F" } ] ], "is_c_variadic": false, "output": { - "generic": "T" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + }, + { + "type": { + "generic": "E" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "into_inner", + "name": "get_or_try_init", "span": { "begin": [ - 324, + 391, 5 ], "end": [ - 326, + 409, 6 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "public" }, - "7894": { + "7876": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121641, is_soft: false}, feature: \"once_cell_get_mut\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the contained value by cloning it.\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error instead.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.get_cloned().unwrap(), 7);\n```", - "id": 7894, + "docs": "Gets the mutable reference of the contents of the cell, initializing\nit to `f()` if the cell was uninitialized. If the cell was uninitialized\nand `f()` failed, an error is returned.\n\nThis method never blocks. Since it borrows the `OnceLock` mutably,\nit is statically guaranteed that no active borrows to the `OnceLock`\nexist, including from other threads.\n\n# Panics\n\nIf `f()` panics, the panic is propagated to the caller, and\nthe cell remains uninitialized.\n\n# Examples\n\n```\n#![feature(once_cell_get_mut)]\n\nuse std::sync::OnceLock;\n\nlet mut cell: OnceLock = OnceLock::new();\n\n// Failed attempts to initialize the cell do not change its contents\nassert!(cell.get_mut_or_try_init(|| \"not a number!\".parse()).is_err());\nassert!(cell.get().is_none());\n\nlet value = cell.get_mut_or_try_init(|| \"1234\".parse());\nassert_eq!(value, Ok(&mut 1234));\n*value.unwrap() += 2;\nassert_eq!(cell.get(), Some(&1236))\n```", + "id": 7876, "inner": { "function": { "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "E" + } + ], "where_predicates": [ { "bound_predicate": { @@ -665625,16 +681567,43 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 99, - "path": "Clone" + "args": { + "parenthesized": { + "inputs": [], + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "generic": "E" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + }, + "id": 15, + "path": "FnOnce" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "F" } } } @@ -665653,13 +681622,19 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "f", + { + "generic": "F" + } ] ], "is_c_variadic": false, @@ -665670,27 +681645,18 @@ "args": [ { "type": { - "generic": "T" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } } }, { "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 7891, - "path": "PoisonError" - } + "generic": "E" } } ], @@ -665705,30 +681671,33 @@ } }, "links": {}, - "name": "get_cloned", + "name": "get_mut_or_try_init", "span": { "begin": [ - 373, + 444, 5 ], "end": [ - 381, + 454, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "public" }, - "7895": { + "7877": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Sets the contained value.\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error containing the provided `value` instead.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.get_cloned().unwrap(), 7);\nmutex.set(11).unwrap();\nassert_eq!(mutex.get_cloned().unwrap(), 11);\n```", - "id": 7895, + "docs": "Consumes the `OnceLock`, returning the wrapped value. Returns\n`None` if the cell was uninitialized.\n\n# Examples\n\n```\nuse std::sync::OnceLock;\n\nlet cell: OnceLock = OnceLock::new();\nassert_eq!(cell.into_inner(), None);\n\nlet cell = OnceLock::new();\ncell.set(\"hello\".to_string()).unwrap();\nassert_eq!(cell.into_inner(), Some(\"hello\".to_string()));\n```", + "id": 7877, "inner": { "function": { "generics": { @@ -665747,19 +681716,7 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "value", - { - "generic": "T" + "generic": "Self" } ] ], @@ -665771,65 +681728,48 @@ "args": [ { "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7891, - "path": "PoisonError" - } + "generic": "T" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "set", + "name": "into_inner", "span": { "begin": [ - 404, + 473, 5 ], "end": [ - 419, + 475, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "public" }, - "7896": { + "7878": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Replaces the contained value with `value`, and returns the old contained value.\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error containing the provided `value` instead.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.replace(11).unwrap(), 7);\nassert_eq!(mutex.get_cloned().unwrap(), 11);\n```", - "id": 7896, + "docs": "Takes the value out of this `OnceLock`, moving it back to an uninitialized state.\n\nHas no effect and returns `None` if the `OnceLock` was uninitialized.\n\nSince this method borrows the `OnceLock` mutably, it is statically guaranteed that\nno active borrows to the `OnceLock` exist, including from other threads.\n\n# Examples\n\n```\nuse std::sync::OnceLock;\n\nlet mut cell: OnceLock = OnceLock::new();\nassert_eq!(cell.take(), None);\n\nlet mut cell = OnceLock::new();\ncell.set(\"hello\".to_string()).unwrap();\nassert_eq!(cell.take(), Some(\"hello\".to_string()));\nassert_eq!(cell.get(), None);\n```", + "id": 7878, "inner": { "function": { "generics": { @@ -665849,19 +681789,13 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" } } } - ], - [ - "value", - { - "generic": "T" - } ] ], "is_c_variadic": false, @@ -665879,34 +681813,34 @@ "constraints": [] } }, - "id": 7862, - "path": "LockResult" + "id": 51, + "path": "Option" } } } } }, "links": {}, - "name": "replace", + "name": "take", "span": { "begin": [ - 441, + 499, 5 ], "end": [ - 446, + 509, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "public" }, - "7897": { + "7879": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7897, + "id": 7879, "inner": { "impl": { "blanket_impl": null, @@ -665924,8 +681858,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -665947,10 +681881,18 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7888, - 7894, - 7895, - 7896 + 7867, + 7868, + 7869, + 7870, + 7871, + 7872, + 7873, + 7874, + 7875, + 7876, + 7877, + 7878 ], "provided_trait_methods": [], "trait": null @@ -665960,89 +681902,23 @@ "name": null, "span": { "begin": [ - 337, + 133, 1 ], "end": [ - 447, + 561, 2 ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "default" - }, - "7898": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The lock could not be acquired because another thread failed while holding\nthe lock.", - "id": 7898, - "inner": { - "variant": { - "discriminant": null, - "kind": { - "tuple": [ - 8250 - ] - } - } - }, - "links": {}, - "name": "Poisoned", - "span": { - "begin": [ - 223, - 5 - ], - "end": [ - 223, - 75 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "default" - }, - "7899": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The lock could not be acquired at this time because the operation would\notherwise block.", - "id": 7899, - "inner": { - "variant": { - "discriminant": null, - "kind": "plain" - } - }, - "links": {}, - "name": "WouldBlock", - "span": { - "begin": [ - 227, - 5 - ], - "end": [ - 227, - 15 - ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "790": { + "788": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 790, + "id": 788, "inner": { "impl": { "blanket_impl": null, @@ -666117,29 +681993,19 @@ "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 111, + "path": "Eq" } } - } - ], - "generic_params": [], - "type": { - "generic": "S" - } - } - }, - { - "bound_predicate": { - "bounds": [ + }, { "trait_bound": { "generic_params": [], "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 539, + "path": "Hash" } } } @@ -666159,49 +682025,86 @@ "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 743, + "path": "BuildHasher" } } } ], "generic_params": [], "type": { - "generic": "V" + "generic": "S" } } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 770, + 771, + 773, + 774, + 775, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 786, + 787 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 765, + 1 + ], + "end": [ + 1298, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, "visibility": "default" }, - "7900": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "7880": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "A type alias for the result of a nonblocking locking method.\n\nFor more information, see [`LockResult`]. A `TryLockResult` doesn't\nnecessarily hold the associated guard in the [`Err`] type as the lock might not\nhave been acquired for other reasons.", - "id": 7900, + "docs": null, + "id": 7880, "inner": { - "type_alias": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7737, + "path": "OnceLock" + } + }, "generics": { "params": [ { @@ -666212,207 +682115,151 @@ "is_synthetic": false } }, - "name": "Guard" + "name": "T" } ], "where_predicates": [] }, - "type": { + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "7881": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7881, + "inner": { + "impl": { + "blanket_impl": null, + "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { "type": { - "generic": "Guard" - } - }, - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Guard" - } - } - ], - "constraints": [] - } - }, - "id": 8248, - "path": "TryLockError" - } + "generic": "T" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 7737, + "path": "OnceLock" } - } - } - }, - "links": { - "`Err`": 59, - "`LockResult`": 7862 - }, - "name": "TryLockResult", - "span": { - "begin": [ - 249, - 1 - ], - "end": [ - 249, - 68 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "7901": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Determines whether the mutex is poisoned.\n\nIf another thread is active, the mutex can still become poisoned at any\ntime. You should not trust a `false` value for program correctness\nwithout additional synchronization.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nlet _ = thread::spawn(move || {\n let _lock = c_mutex.lock().unwrap();\n panic!(); // the mutex gets poisoned\n}).join();\nassert_eq!(mutex.is_poisoned(), true);\n```", - "id": 7901, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" } } }, "links": {}, - "name": "is_poisoned", - "span": { - "begin": [ - 568, - 5 - ], - "end": [ - 570, - 6 - ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, - "7902": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 77, patch: 0})}, feature: \"mutex_unpoison\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7882": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Clear the poisoned state from a mutex.\n\nIf the mutex is poisoned, it will remain poisoned until this function is called. This\nallows recovering from a poisoned state and marking that it has recovered. For example, if\nthe value is overwritten by a known-good value, then the mutex can be marked as\nun-poisoned. Or possibly, the value could be inspected to determine if it is in a\nconsistent state, and if so the poison is removed.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nlet _ = thread::spawn(move || {\n let _lock = c_mutex.lock().unwrap();\n panic!(); // the mutex gets poisoned\n}).join();\n\nassert_eq!(mutex.is_poisoned(), true);\nlet x = mutex.lock().unwrap_or_else(|mut e| {\n **e.get_mut() = 1;\n mutex.clear_poison();\n e.into_inner()\n});\nassert_eq!(mutex.is_poisoned(), false);\nassert_eq!(*x, 1);\n```", - "id": 7902, + "docs": null, + "id": 7882, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "clear_poison", - "span": { - "begin": [ - 605, - 5 - ], - "end": [ - 607, - 6 - ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "public" - }, - "7903": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"mutex_into_inner\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Consumes this mutex, returning the underlying data.\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error containing the underlying data\ninstead.\n\n# Examples\n\n```\nuse std::sync::Mutex;\n\nlet mutex = Mutex::new(0);\nassert_eq!(mutex.into_inner().unwrap(), 0);\n```", - "id": 7903, - "inner": { - "function": { + }, + "id": 7737, + "path": "OnceLock" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [ { "bound_predicate": { @@ -666420,7 +682267,7 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, "id": 3, @@ -666437,217 +682284,258 @@ } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - }, - "id": 7862, - "path": "LockResult" + ], + "constraints": [] } - } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, - "name": "into_inner", + "name": null, "span": { "begin": [ - 626, - 5 + 212, + 1 ], "end": [ - 632, - 6 + 212, + 38 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "7905": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"mutex_get_mut\"}}]" - } - ], + "7883": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns a mutable reference to the underlying data.\n\nSince this call borrows the `Mutex` mutably, no actual locking needs to\ntake place -- the mutable borrow statically guarantees no new locks can be acquired\nwhile this reference exists. Note that this method does not clear any previous abandoned locks\n(e.g., via [`forget()`] on a [`MutexGuard`]).\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error containing a mutable reference to the\nunderlying data instead.\n\n# Examples\n\n```\nuse std::sync::Mutex;\n\nlet mut mutex = Mutex::new(0);\n*mutex.get_mut().unwrap() = 10;\nassert_eq!(*mutex.lock().unwrap(), 10);\n```\n\n[`forget()`]: mem::forget", - "id": 7905, + "docs": null, + "id": 7883, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ] + }, + "id": 7737, + "path": "OnceLock" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "id": 7862, - "path": "LockResult" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, - "links": { - "`MutexGuard`": 7861, - "mem::forget": 7904 - }, - "name": "get_mut", + "links": {}, + "name": null, "span": { "begin": [ - 659, - 5 + 221, + 1 ], "end": [ - 662, - 6 + 221, + 41 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "7906": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140368, is_soft: false}, feature: \"mutex_data_ptr\"}}]" - } - ], + "7884": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns a raw pointer to the underlying data.\n\nThe returned pointer is always non-null and properly aligned, but it is\nthe user's responsibility to ensure that any reads and writes through it\nare properly synchronized to avoid data races, and that it is not read\nor written through after the mutex is dropped.", - "id": 7906, + "docs": null, + "id": 7884, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ] + }, + "id": 7737, + "path": "OnceLock" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "raw_pointer": { - "is_mutable": true, - "type": { - "generic": "T" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 422 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 424, + "path": "CloneToUninit" } } }, "links": {}, - "name": "data_ptr", + "name": null, "span": { "begin": [ - 671, - 5 + 515, + 1 ], "end": [ - 673, - 6 + 515, + 42 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, - "visibility": "public" + "visibility": "default" }, - "7907": { + "7885": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7907, + "id": 7885, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -666662,8 +682550,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -666671,68 +682559,110 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7889, - 7890, - 7901, - 7902, - 7903, - 7905, - 7906 + 325 ], "provided_trait_methods": [], - "trait": null + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } } }, "links": {}, "name": null, "span": { "begin": [ - 449, + 767, 1 ], "end": [ - 674, - 2 + 769, + 24 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7908": { + "7886": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7908, + "id": 7886, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -666747,8 +682677,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -666766,32 +682696,57 @@ ], "where_predicates": [] }, - "is_negative": true, - "is_synthetic": true, + "is_negative": false, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 327 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 315, - "path": "Freeze" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 785, + 1 + ], + "end": [ + 785, + 28 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, "visibility": "default" }, - "7909": { + "7887": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7909, + "id": 7887, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -666806,8 +682761,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -666823,67 +682778,59 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 1896 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 7, - "path": "Unpin" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "never" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 802, + 1 + ], + "end": [ + 802, + 28 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, "visibility": "default" }, - "791": { + "7888": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 791, + "id": 7888, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -666891,25 +682838,15 @@ "args": [ { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" + "generic": "T" } } ], "constraints": [] } }, - "id": 738, - "path": "HashMap" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -666922,17 +682859,7 @@ "is_synthetic": false } }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" + "name": "T" }, { "kind": { @@ -666942,7 +682869,7 @@ "is_synthetic": false } }, - "name": "S" + "name": "U" } ], "where_predicates": [ @@ -666954,44 +682881,79 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 315, - "path": "Freeze" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } } ], "generic_params": [], "type": { - "generic": "S" + "generic": "U" } } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 329, + 330 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 315, - "path": "Freeze" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 811, + 1 + ], + "end": [ + 813, + 27 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, "visibility": "default" }, - "7910": { + "7889": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7910, + "id": 7889, "inner": { "impl": { "blanket_impl": { @@ -667011,8 +682973,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -667026,6 +682988,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -667035,18 +683007,29 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -667056,7 +683039,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -667065,15 +683049,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 197, + "path": "TryFrom" } } }, @@ -667081,28 +683065,26 @@ "name": null, "span": { "begin": [ - 209, + 827, 1 ], "end": [ - 209, - 32 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7911": { + "789": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7911, + "id": 789, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -667110,15 +683092,25 @@ "args": [ { "type": { - "generic": "T" + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" } } ], "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 738, + "path": "HashMap" } }, "generics": { @@ -667131,7 +683123,27 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } ], "where_predicates": [ @@ -667141,69 +683153,88 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 1, + "path": "Send" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "S" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" } } } ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 324 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 1, + "path": "Send" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, - "7912": { + "7890": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7912, + "id": 7890, "inner": { "impl": { "blanket_impl": { @@ -667223,8 +683254,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -667238,48 +683269,30 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ + { + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -667289,24 +683302,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 336 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 339, + "path": "Any" } } }, @@ -667314,23 +683316,23 @@ "name": null, "span": { "begin": [ - 773, + 138, 1 ], "end": [ - 775, - 24 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "7913": { + "7891": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7913, + "id": 7891, "inner": { "impl": { "blanket_impl": { @@ -667350,8 +683352,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -667367,30 +683369,45 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" ], - "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 155, + "path": "ToOwned" } } }, @@ -667398,28 +683415,30 @@ "name": null, "span": { "begin": [ - 791, + 85, 1 ], "end": [ - 791, - 28 + 87, + 14 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "7914": { - "attrs": [], + "7892": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7914, + "id": 7892, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -667434,8 +683453,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -667443,7 +683462,30 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], "default": null, "is_synthetic": false } @@ -667456,25 +683498,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 1898 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "never" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 5, + "path": "Sync" } } }, @@ -667482,28 +683511,30 @@ "name": null, "span": { "begin": [ - 808, + 569, 1 ], "end": [ - 808, - 28 + 569, + 52 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7915": { - "attrs": [], + "7893": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7915, + "id": 7893, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -667518,8 +683549,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -667527,82 +683558,37 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], "default": null, "is_synthetic": false } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 331, - 332 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + "args": null, + "id": 1, + "path": "Send" } } }, @@ -667610,28 +683596,30 @@ "name": null, "span": { "begin": [ - 817, + 571, 1 ], "end": [ - 819, - 27 + 571, + 45 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7916": { - "attrs": [], + "7894": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7916, + "id": 7894, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -667646,8 +683634,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -667655,82 +683643,48 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + } + ], "default": null, "is_synthetic": false } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 334, - 336 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -667738,28 +683692,30 @@ "name": null, "span": { "begin": [ - 833, + 574, 1 ], "end": [ - 835, - 24 + 574, + 69 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7917": { - "attrs": [], + "7895": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7917, + "id": 7895, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -667774,8 +683730,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -667783,7 +683739,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + } + ], "default": null, "is_synthetic": false } @@ -667791,44 +683759,17 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 338 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 316, + "path": "UnwindSafe" } } }, @@ -667836,27 +683777,89 @@ "name": null, "span": { "begin": [ - 138, + 576, 1 ], "end": [ - 138, - 36 + 576, + 50 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7918": { + "7896": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a new uninitialized cell.\n\n# Example\n\n```\nuse std::sync::OnceLock;\n\nfn main() {\n assert_eq!(OnceLock::<()>::new(), OnceLock::default());\n}\n```", + "id": 7896, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7737, + "path": "OnceLock" + } + } + } + } + }, + "links": {}, + "name": "default", + "span": { + "begin": [ + 592, + 5 + ], + "end": [ + 594, + 6 + ], + "filename": "std/src/sync/once_lock.rs" + }, + "visibility": "default" + }, + "7897": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7918, + "id": 7897, "inner": { "impl": { "blanket_impl": null, @@ -667874,8 +683877,8 @@ "constraints": [] } }, - "id": 495, - "path": "crate::sync::Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -667883,19 +683886,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -667908,12 +683899,14 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7896 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 107, + "path": "Default" } } }, @@ -667921,27 +683914,112 @@ "name": null, "span": { "begin": [ - 264, + 579, 1 ], "end": [ - 264, - 43 + 595, + 2 ], - "filename": "std/src/panic.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7919": { + "7898": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7898, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 599, + 5 + ], + "end": [ + 606, + 6 + ], + "filename": "std/src/sync/once_lock.rs" + }, + "visibility": "default" + }, + "7899": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"unwind_safe_lock_refs\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7919, + "id": 7899, "inner": { "impl": { "blanket_impl": null, @@ -667959,8 +684037,8 @@ "constraints": [] } }, - "id": 495, - "path": "crate::sync::Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -667972,11 +684050,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 344, + "path": "fmt::Debug" } } } @@ -667993,12 +684071,14 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7898 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 344, + "path": "Debug" } } }, @@ -668006,23 +684086,23 @@ "name": null, "span": { "begin": [ - 271, + 598, 1 ], "end": [ - 271, - 46 + 607, + 2 ], - "filename": "std/src/panic.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "792": { + "790": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 792, + "id": 790, "inner": { "impl": { "blanket_impl": null, @@ -668097,8 +684177,8 @@ "modifier": "none", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 5, + "path": "Sync" } } } @@ -668118,8 +684198,8 @@ "modifier": "none", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 5, + "path": "Sync" } } } @@ -668139,8 +684219,8 @@ "modifier": "none", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 5, + "path": "Sync" } } } @@ -668160,8 +684240,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 5, + "path": "Sync" } } }, @@ -668170,115 +684250,91 @@ "span": null, "visibility": "default" }, - "7920": { + "7900": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "`T` must be `Send` for a [`Mutex`] to be `Send` because it is possible to acquire\nthe owned `T` from the `Mutex` via [`into_inner`].\n\n[`into_inner`]: Mutex::into_inner", - "id": 7920, + "docs": null, + "id": 7900, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "constraints": [] + } } - }, - "id": 495, - "path": "Mutex" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } + "type": { + "generic": "T" } } ], - "default": null, - "is_synthetic": false + "constraints": [] } }, - "name": "T" + "id": 7737, + "path": "OnceLock" } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" + } } } }, - "links": { - "Mutex::into_inner": 7903, - "`Mutex`": 495 - }, - "name": null, + "links": {}, + "name": "clone", "span": { "begin": [ - 238, - 1 + 612, + 5 ], "end": [ - 238, - 51 + 621, + 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7921": { + "7901": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "`T` must be `Send` for [`Mutex`] to be `Sync`.\nThis ensures that the protected data can be accessed safely from multiple threads\nwithout causing data races or other unsafe behavior.\n\n[`Mutex`] provides mutable access to `T` to one thread at a time. However, it's essential\nfor `T` to be `Send` because it's not safe for non-`Send` structures to be accessed in\nthis manner. For instance, consider [`Rc`], a non-atomic reference counted smart pointer,\nwhich is not `Send`. With `Rc`, we can have multiple copies pointing to the same heap\nallocation with a non-atomic reference count. If we were to use `Mutex>`, it would\nonly protect one instance of `Rc` from shared access, leaving other copies vulnerable\nto potential data races.\n\nAlso note that it is not necessary for `T` to be `Sync` as `&T` is only made available\nto one thread at a time if `T` is not `Sync`.\n\n[`Rc`]: crate::rc::Rc", - "id": 7921, + "docs": null, + "id": 7901, "inner": { "impl": { "blanket_impl": null, @@ -668296,8 +684352,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -668306,25 +684362,14 @@ "kind": { "type": { "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, { "trait_bound": { "generic_params": [], "modifier": "none", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 97, + "path": "Clone" } } } @@ -668341,40 +684386,44 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], - "provided_trait_methods": [], + "items": [ + 7900 + ], + "provided_trait_methods": [ + "clone_from" + ], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 97, + "path": "Clone" } } }, - "links": { - "`Mutex`": 495, - "`Mutex`": 495, - "crate::rc::Rc": 2030 - }, + "links": {}, "name": null, "span": { "begin": [ - 257, + 610, 1 ], "end": [ - 257, - 51 + 622, + 2 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7922": { - "attrs": [], + "7902": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": "Creates a new mutex in an unlocked state ready for use.\nThis is equivalent to [`Mutex::new`].", - "id": 7922, + "docs": "Creates a new cell with its contents set to `value`.\n\n# Example\n\n```\nuse std::sync::OnceLock;\n\n# fn main() -> Result<(), i32> {\nlet a = OnceLock::from(3);\nlet b = OnceLock::new();\nb.set(3)?;\nassert_eq!(a, b);\nOk(())\n# }\n```", + "id": 7902, "inner": { "function": { "generics": { @@ -668391,7 +684440,7 @@ "sig": { "inputs": [ [ - "t", + "value", { "generic": "T" } @@ -668404,33 +684453,31 @@ } } }, - "links": { - "`Mutex::new`": 7888 - }, + "links": {}, "name": "from", "span": { "begin": [ - 680, + 642, 5 ], "end": [ - 682, + 648, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7923": { + "7903": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"mutex_from\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7923, + "id": 7903, "inner": { "impl": { "blanket_impl": null, @@ -668448,8 +684495,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -668471,7 +684518,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7922 + 7902 ], "provided_trait_methods": [], "trait": { @@ -668496,23 +684543,27 @@ "name": null, "span": { "begin": [ - 677, + 625, 1 ], "end": [ - 683, + 649, 2 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7924": { - "attrs": [], + "7904": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": "Creates a `Mutex`, with the `Default` value for T.", - "id": 7924, + "docs": "Equality for two `OnceLock`s.\n\nTwo `OnceLock`s are equal if they either both contain values and their\nvalues are equal, or if neither contains a value.\n\n# Examples\n\n```\nuse std::sync::OnceLock;\n\nlet five = OnceLock::new();\nfive.set(5).unwrap();\n\nlet also_five = OnceLock::new();\nalso_five.set(5).unwrap();\n\nassert!(five == also_five);\n\nassert!(OnceLock::::new() == OnceLock::::new());\n```", + "id": 7904, "inner": { "function": { "generics": { @@ -668527,54 +684578,79 @@ "is_unsafe": false }, "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7737, + "path": "OnceLock" } - ], - "constraints": [] + } } - }, - "id": 495, - "path": "Mutex" - } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" } } } }, "links": {}, - "name": "default", + "name": "eq", "span": { "begin": [ - 688, + 674, 5 ], "end": [ - 690, + 676, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7925": { + "7905": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"mutex_default\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7925, + "id": 7905, "inner": { "impl": { "blanket_impl": null, @@ -668592,8 +684668,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -668605,22 +684681,100 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 121, + "path": "PartialEq" } } - }, + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7904 + ], + "provided_trait_methods": [ + "ne" + ], + "trait": { + "args": null, + "id": 121, + "path": "PartialEq" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 652, + 1 + ], + "end": [ + 677, + 2 + ], + "filename": "std/src/sync/once_lock.rs" + }, + "visibility": "default" + }, + "7906": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7906, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7737, + "path": "OnceLock" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ { "trait_bound": { "generic_params": [], "modifier": "none", "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 111, + "path": "Eq" } } } @@ -668637,14 +684791,14 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7924 + "items": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 111, + "path": "Eq" } } }, @@ -668652,23 +684806,27 @@ "name": null, "span": { "begin": [ - 686, + 680, 1 ], "end": [ - 691, - 2 + 680, + 34 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7926": { - "attrs": [], + "7907": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7926, + "id": 7907, "inner": { "function": { "generics": { @@ -668686,78 +684844,47 @@ "inputs": [ [ "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "Self" } } } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } + "output": null } } }, "links": {}, - "name": "fmt", + "name": "drop", "span": { "begin": [ - 695, + 685, 5 ], "end": [ - 710, + 692, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "7927": { + "7908": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7927, + "id": 7908, "inner": { "impl": { "blanket_impl": null, @@ -668775,8 +684902,8 @@ "constraints": [] } }, - "id": 495, - "path": "Mutex" + "id": 7737, + "path": "OnceLock" } }, "generics": { @@ -668784,30 +684911,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -668821,13 +684925,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7926 + 7907 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 9, + "path": "Drop" } } }, @@ -668835,23 +684939,23 @@ "name": null, "span": { "begin": [ - 694, + 683, 1 ], "end": [ - 711, + 693, 2 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/once_lock.rs" }, "visibility": "default" }, - "793": { + "791": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 793, + "id": 791, "inner": { "impl": { "blanket_impl": null, @@ -668926,8 +685030,8 @@ "modifier": "none", "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 313, + "path": "Freeze" } } } @@ -668937,48 +685041,6 @@ "generic": "S" } } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } } ] }, @@ -668989,8 +685051,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 313, + "path": "Freeze" } } }, @@ -668999,39 +685061,20 @@ "span": null, "visibility": "default" }, - "7930": { + "7914": { "attrs": [ { - "other": "#[must_not_suspend =\n\"holding a MappedMutexGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" - }, - { - "other": "#[clippy::has_significant_drop]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - }, - { - "must_use": { - "reason": "if unused the Mutex will immediately unlock" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "An RAII mutex guard returned by `MutexGuard::map`, which can point to a\nsubfield of the protected data. When this structure is dropped (falls out\nof scope), the lock will be unlocked.\n\nThe main difference between `MappedMutexGuard` and [`MutexGuard`] is that the\nformer cannot be used with [`Condvar`], since that\ncould introduce soundness issues if the locked object is modified by another\nthread while the `Mutex` is unlocked.\n\nThe data protected by the mutex can be accessed through this guard via its\n[`Deref`] and [`DerefMut`] implementations.\n\nThis structure is created by the [`map`] and [`filter_map`] methods on\n[`MutexGuard`].\n\n[`map`]: MutexGuard::map\n[`filter_map`]: MutexGuard::filter_map\n[`Condvar`]: crate::sync::Condvar", - "id": 7930, + "docs": "A re-entrant mutual exclusion lock\n\nThis lock will block *other* threads waiting for the lock to become\navailable. The thread which has already locked the mutex can lock it\nmultiple times without blocking, preventing a common source of deadlocks.\n\n# Examples\n\nAllow recursively calling a function needing synchronization from within\na callback (this is how [`StdoutLock`](crate::io::StdoutLock) is currently\nimplemented):\n\n```\n#![feature(reentrant_lock)]\n\nuse std::cell::RefCell;\nuse std::sync::ReentrantLock;\n\npub struct Log {\n data: RefCell,\n}\n\nimpl Log {\n pub fn append(&self, msg: &str) {\n self.data.borrow_mut().push_str(msg);\n }\n}\n\nstatic LOG: ReentrantLock = ReentrantLock::new(Log { data: RefCell::new(String::new()) });\n\npub fn with_log(f: impl FnOnce(&Log) -> R) -> R {\n let log = LOG.lock();\n f(&*log)\n}\n\nwith_log(|log| {\n log.append(\"Hello\");\n with_log(|log| log.append(\" there!\"));\n});\n```\n", + "id": 7914, "inner": { "struct": { "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -669046,9 +685089,6 @@ "path": "Sized" } } - }, - { - "outlives": "'a" } ], "default": null, @@ -669061,27 +685101,25 @@ "where_predicates": [] }, "impls": [ - 7967, - 7968, - 7969, - 7970, - 7971, - 7972, - 7973, - 7974, - 7975, - 7976, - 7977, - 7978, - 7979, - 7980, - 7981, - 7982, - 7985, - 7987, - 7989, - 7991, - 7993 + 7917, + 7922, + 7923, + 7924, + 7925, + 7926, + 7927, + 7928, + 7929, + 7930, + 7931, + 7932, + 7933, + 7934, + 7935, + 7936, + 7938, + 7940, + 7942 ], "kind": { "plain": { @@ -669092,149 +685130,47 @@ } }, "links": { - "MutexGuard::filter_map": 7932, - "MutexGuard::map": 7931, - "`DerefMut`": 1989, - "`Deref`": 1969, - "`MutexGuard`": 7861, - "crate::sync::Condvar": 494 + "crate::io::StdoutLock": 3652 }, - "name": "MappedMutexGuard", + "name": "ReentrantLock", "span": { "begin": [ - 320, + 81, 1 ], "end": [ - 330, + 86, 2 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "public" }, - "7931": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], + "7915": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MutexGuard::map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", - "id": 7931, + "docs": "Creates a new re-entrant lock in an unlocked state ready for use.\n\n# Examples\n\n```\n#![feature(reentrant_lock)]\nuse std::sync::ReentrantLock;\n\nlet lock = ReentrantLock::new(0);\n```", + "id": 7915, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - ], - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "U" - } - } - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { "inputs": [ [ - "orig", - { - "generic": "Self" - } - ], - [ - "f", + "t", { - "generic": "F" + "generic": "T" } ] ], @@ -669244,54 +685180,118 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7914, + "path": "ReentrantLock" } } } } }, - "links": { - "`MappedMutexGuard`": 7930 + "links": {}, + "name": "new", + "span": { + "begin": [ + 232, + 5 + ], + "end": [ + 239, + 6 + ], + "filename": "std/src/sync/reentrant_lock.rs" }, - "name": "map", + "visibility": "public" + }, + "7916": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "Consumes this lock, returning the underlying data.\n\n# Examples\n\n```\n#![feature(reentrant_lock)]\n\nuse std::sync::ReentrantLock;\n\nlet lock = ReentrantLock::new(0);\nassert_eq!(lock.into_inner(), 0);\n```", + "id": 7916, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "T" + } + } + } + }, + "links": {}, + "name": "into_inner", "span": { "begin": [ - 778, + 253, 5 ], "end": [ - 796, + 255, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "public" }, - "7932": { + "7917": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MutexGuard::filter_map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", - "id": 7932, + "docs": null, + "id": 7917, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7914, + "path": "ReentrantLock" + } + }, "generics": { "params": [ { @@ -669302,101 +685302,48 @@ "is_synthetic": false } }, - "name": "U" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" + "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - ], - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "U" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7915, + 7916 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 256, + 2 + ], + "filename": "std/src/sync/reentrant_lock.rs" + }, + "visibility": "default" + }, + "7918": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "Acquires the lock, blocking the current thread until it is able to do\nso.\n\nThis function will block the caller until it is available to acquire\nthe lock. Upon returning, the thread is the only thread with the lock\nheld. When the thread calling this method already holds the lock, the\ncall succeeds without blocking.\n\n# Examples\n\n```\n#![feature(reentrant_lock)]\nuse std::cell::Cell;\nuse std::sync::{Arc, ReentrantLock};\nuse std::thread;\n\nlet lock = Arc::new(ReentrantLock::new(Cell::new(0)));\nlet c_lock = Arc::clone(&lock);\n\nthread::spawn(move || {\n c_lock.lock().set(10);\n}).join().expect(\"thread::spawn failed\");\nassert_eq!(lock.lock().get(), 10);\n```", + "id": 7918, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -669408,15 +685355,15 @@ "sig": { "inputs": [ [ - "orig", - { - "generic": "Self" - } - ], - [ - "f", + "self", { - "generic": "F" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], @@ -669427,91 +685374,56 @@ "angle_bracketed": { "args": [ { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 7930, - "path": "MappedMutexGuard" - } - } + "lifetime": "'_" }, { "type": { - "generic": "Self" + "generic": "T" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 7919, + "path": "ReentrantLockGuard" } } } } }, - "links": { - "`MappedMutexGuard`": 7930 - }, - "name": "filter_map", + "links": {}, + "name": "lock", "span": { "begin": [ - 808, + 284, 5 ], "end": [ - 831, + 300, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "public" }, - "7933": { - "attrs": [], + "7919": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + }, + { + "must_use": { + "reason": "if unused the ReentrantLock will immediately unlock" + } + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 7933, + "docs": "An RAII implementation of a \"scoped lock\" of a re-entrant lock. When this\nstructure is dropped (falls out of scope), the lock will be unlocked.\n\nThe data protected by the mutex can be accessed through this guard via its\n[`Deref`] implementation.\n\nThis structure is created by the [`lock`](ReentrantLock::lock) method on\n[`ReentrantLock`].\n\n# Mutability\n\nUnlike [`MutexGuard`](super::MutexGuard), `ReentrantLockGuard` does not\nimplement [`DerefMut`](crate::ops::DerefMut), because implementation of\nthe trait would violate Rust’s reference aliasing rules. Use interior\nmutability (usually [`RefCell`](crate::cell::RefCell)) in order to mutate\nthe guarded data.", + "id": 7919, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - }, + "struct": { "generics": { "params": [ { @@ -669536,6 +685448,9 @@ "path": "Sized" } } + }, + { + "outlives": "'a" } ], "default": null, @@ -669547,38 +685462,63 @@ ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7931, - 7932 + "impls": [ + 7945, + 7946, + 7947, + 7948, + 7949, + 7950, + 7951, + 7952, + 7953, + 7954, + 7955, + 7956, + 7957, + 7958, + 7959, + 7962, + 7964, + 7966, + 7968 ], - "provided_trait_methods": [], - "trait": null + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } } }, - "links": {}, - "name": null, + "links": { + "ReentrantLock::lock": 7918, + "`Deref`": 1967, + "`ReentrantLock`": 7914, + "crate::cell::RefCell": 380, + "crate::ops::DerefMut": 1987, + "super::MutexGuard": 7944 + }, + "name": "ReentrantLockGuard", "span": { "begin": [ - 768, + 210, 1 ], "end": [ - 832, + 212, 2 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, - "visibility": "default" + "visibility": "public" }, - "7934": { + "792": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7934, + "id": 792, "inner": { "impl": { "blanket_impl": null, @@ -669588,30 +685528,39 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "K" + } }, { "type": { - "generic": "T" + "generic": "V" + } + }, + { + "type": { + "generic": "S" } } ], "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 738, + "path": "HashMap" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "K" }, { "kind": { @@ -669621,7 +685570,17 @@ "is_synthetic": false } }, - "name": "T" + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } ], "where_predicates": [ @@ -669631,110 +685590,60 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 7, + "path": "Unpin" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "S" } } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "7935": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7935, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, + }, + { + "bound_predicate": { + "bounds": [ { - "type": { - "generic": "T" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } } ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { + "generic_params": [], "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "generic": "K" } - }, - "name": "T" - } - ], - "where_predicates": [ + } + }, { "bound_predicate": { "bounds": [ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 7, + "path": "Unpin" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "V" } } } @@ -669757,12 +685666,143 @@ "span": null, "visibility": "default" }, - "7936": { + "7920": { "attrs": [], "crate_id": 0, "deprecation": null, + "docs": "Returns a mutable reference to the underlying data.\n\nSince this call borrows the `ReentrantLock` mutably, no actual locking\nneeds to take place -- the mutable borrow statically guarantees no locks\nexist.\n\n# Examples\n\n```\n#![feature(reentrant_lock)]\nuse std::sync::ReentrantLock;\n\nlet mut lock = ReentrantLock::new(0);\n*lock.get_mut() = 10;\nassert_eq!(*lock.lock(), 10);\n```", + "id": 7920, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } + } + }, + "links": {}, + "name": "get_mut", + "span": { + "begin": [ + 318, + 5 + ], + "end": [ + 320, + 6 + ], + "filename": "std/src/sync/reentrant_lock.rs" + }, + "visibility": "public" + }, + "7921": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140368, is_soft: false}, feature: \"reentrant_lock_data_ptr\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns a raw pointer to the underlying data.\n\nThe returned pointer is always non-null and properly aligned, but it is\nthe user's responsibility to ensure that any reads through it are\nproperly synchronized to avoid data races, and that it is not read\nthrough after the lock is dropped.", + "id": 7921, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "raw_pointer": { + "is_mutable": false, + "type": { + "generic": "T" + } + } + } + } + } + }, + "links": {}, + "name": "data_ptr", + "span": { + "begin": [ + 358, + 5 + ], + "end": [ + 360, + 6 + ], + "filename": "std/src/sync/reentrant_lock.rs" + }, + "visibility": "public" + }, + "7922": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, "docs": null, - "id": 7936, + "id": 7922, "inner": { "impl": { "blanket_impl": null, @@ -669771,9 +685811,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -669783,78 +685820,70 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "T" + ], + "default": null, + "is_synthetic": false } - } + }, + "name": "T" } - ] + ], + "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 7918, + 7920, + 7921 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 259, + 1 + ], + "end": [ + 368, + 2 + ], + "filename": "std/src/sync/reentrant_lock.rs" + }, "visibility": "default" }, - "7937": { + "7923": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7937, + "id": 7923, "inner": { "impl": { "blanket_impl": null, @@ -669863,9 +685892,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -669875,20 +685901,12 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -669900,39 +685918,17 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 313, + "path": "Freeze" } } }, @@ -669941,25 +685937,20 @@ "span": null, "visibility": "default" }, - "7938": { + "7924": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7938, + "id": 7924, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -669969,8 +685960,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -669990,6 +685981,17 @@ { "bound_predicate": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, { "trait_bound": { "generic_params": [], @@ -670011,51 +686013,28 @@ ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 7, + "path": "Unpin" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, - "7939": { + "7925": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7939, + "id": 7925, "inner": { "impl": { "blanket_impl": { @@ -670066,9 +686045,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -670078,8 +686054,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -670123,7 +686099,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 319 ], "provided_trait_methods": [], "trait": { @@ -670139,8 +686115,8 @@ "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 321, + "path": "Borrow" } } }, @@ -670148,23 +686124,23 @@ "name": null, "span": { "begin": [ - 217, + 212, 1 ], "end": [ - 217, - 35 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "794": { + "7926": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 794, + "id": 7926, "inner": { "impl": { "blanket_impl": { @@ -670177,25 +686153,15 @@ "args": [ { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" + "generic": "T" } } ], "constraints": [] } }, - "id": 738, - "path": "HashMap" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -670239,7 +686205,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 322 ], "provided_trait_methods": [], "trait": { @@ -670255,8 +686221,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 324, + "path": "BorrowMut" } } }, @@ -670264,23 +686230,23 @@ "name": null, "span": { "begin": [ - 209, + 221, 1 ], "end": [ - 209, - 32 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7940": { + "7927": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7940, + "id": 7927, "inner": { "impl": { "blanket_impl": { @@ -670291,9 +686257,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -670303,8 +686266,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -670369,7 +686332,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -670394,23 +686357,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7941": { + "7928": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7941, + "id": 7928, "inner": { "impl": { "blanket_impl": { @@ -670421,9 +686384,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -670433,8 +686393,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -670456,7 +686416,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -670481,23 +686441,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7942": { + "7929": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7942, + "id": 7929, "inner": { "impl": { "blanket_impl": { @@ -670508,9 +686468,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -670520,8 +686477,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -670535,59 +686492,15 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 1896 ], "provided_trait_methods": [], "trait": { @@ -670596,15 +686509,15 @@ "args": [ { "type": { - "generic": "U" + "primitive": "never" } } ], "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 37, + "path": "From" } } }, @@ -670612,47 +686525,52 @@ "name": null, "span": { "begin": [ - 817, + 802, 1 ], "end": [ - 819, - 27 + 802, + 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7943": { + "793": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7943, + "id": 793, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "K" + } }, { "type": { - "generic": "T" + "generic": "V" + } + }, + { + "type": { + "generic": "S" } } ], "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 738, + "path": "HashMap" } }, "generics": { @@ -670665,7 +686583,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" }, { "kind": { @@ -670675,7 +686593,17 @@ "is_synthetic": false } }, - "name": "U" + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } ], "where_predicates": [ @@ -670687,92 +686615,96 @@ "generic_params": [], "modifier": "none", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "S" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" } } } ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 334, - 336 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, + "span": null, "visibility": "default" }, - "7944": { + "7930": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7944, + "id": 7930, "inner": { "impl": { "blanket_impl": { - "generic": "P" + "generic": "T" }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -670782,8 +686714,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -670796,7 +686728,7 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" }, { "kind": { @@ -670806,7 +686738,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "U" } ], "where_predicates": [ @@ -670820,63 +686752,25 @@ "trait": { "args": { "angle_bracketed": { - "args": [], - "constraints": [ + "args": [ { - "args": null, - "binding": { - "equality": { - "type": { - "generic": "T" - } - } - }, - "name": "Target" + "type": { + "generic": "T" + } } - ] + ], + "constraints": [] } }, - "id": 1969, - "path": "Deref" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "id": 197, + "path": "TryFrom" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -670886,13 +686780,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 329, + 330 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 1970, - "path": "Receiver" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, @@ -670900,23 +686806,23 @@ "name": null, "span": { "begin": [ - 380, + 811, 1 ], "end": [ - 382, - 26 + 813, + 27 ], - "filename": "checkouts/rust/library/core/src/ops/deref.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7945": { + "7931": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7945, + "id": 7931, "inner": { "impl": { "blanket_impl": { @@ -670927,9 +686833,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -670939,8 +686842,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -670954,30 +686857,48 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -670987,13 +686908,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 332, + 334 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 341, - "path": "Any" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, @@ -671001,23 +686934,23 @@ "name": null, "span": { "begin": [ - 138, + 827, 1 ], "end": [ - 138, - 36 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7946": { + "7932": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7946, + "id": 7932, "inner": { "impl": { "blanket_impl": { @@ -671028,9 +686961,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -671040,8 +686970,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -671062,15 +686992,7 @@ "bound_predicate": { "bounds": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } + "outlives": "'static" }, { "trait_bound": { @@ -671096,13 +687018,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 434 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 163, - "path": "ToString" + "id": 339, + "path": "Any" } } }, @@ -671110,27 +687032,27 @@ "name": null, "span": { "begin": [ - 2806, + 138, 1 ], "end": [ - 2806, - 46 + 138, + 36 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "7947": { + "7933": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "A [`MutexGuard`] is not `Send` to maximize platform portability.\n\nOn platforms that use POSIX threads (commonly referred to as pthreads) there is a requirement to\nrelease mutex locks on the same thread they were acquired.\nFor this reason, [`MutexGuard`] must not implement `Send` to prevent it being dropped from\nanother thread.", - "id": 7947, + "docs": null, + "id": 7933, "inner": { "impl": { "blanket_impl": null, @@ -671139,9 +687061,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -671151,8 +687070,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -671161,6 +687080,17 @@ "kind": { "type": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, { "trait_bound": { "generic_params": [], @@ -671182,7 +687112,7 @@ ], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [], @@ -671194,33 +687124,31 @@ } } }, - "links": { - "`MutexGuard`": 7861 - }, + "links": {}, "name": null, "span": { "begin": [ - 289, + 182, 1 ], "end": [ - 289, - 47 + 182, + 59 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7948": { + "7934": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"mutexguard\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "`T` must be `Sync` for a [`MutexGuard`] to be `Sync`\nbecause it is possible to get a `&T` from `&MutexGuard` (via `Deref`).", - "id": 7948, + "docs": null, + "id": 7934, "inner": { "impl": { "blanket_impl": null, @@ -671229,9 +687157,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -671241,8 +687166,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -671254,22 +687179,22 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 1, + "path": "Send" } } }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 3, + "path": "Sized" } } } @@ -671295,244 +687220,31 @@ } } }, - "links": { - "`MutexGuard`": 7861 - }, - "name": null, - "span": { - "begin": [ - 294, - 1 - ], - "end": [ - 294, - 60 - ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "default" - }, - "7949": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7949, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "T" - } - } - }, - "links": {}, - "name": "Target", - "span": { - "begin": [ - 721, - 5 - ], - "end": [ - 721, - 21 - ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "default" - }, - "795": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 795, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" - } - } - }, "links": {}, "name": null, "span": { "begin": [ - 217, + 184, 1 ], "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "7950": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7950, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - } - }, - "links": {}, - "name": "deref", - "span": { - "begin": [ - 723, - 5 - ], - "end": [ - 725, - 6 + 184, + 59 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7951": { + "7935": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7951, + "id": 7935, "inner": { "impl": { "blanket_impl": null, @@ -671541,9 +687253,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -671553,8 +687262,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -671566,156 +687275,14 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 316, + "path": "UnwindSafe" } } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7949, - 7950 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1969, - "path": "Deref" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 720, - 1 - ], - "end": [ - 726, - 2 - ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "default" - }, - "7952": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7952, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - } - }, - "links": {}, - "name": "deref_mut", - "span": { - "begin": [ - 730, - 5 - ], - "end": [ - 732, - 6 - ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "default" - }, - "7953": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7953, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ + }, { "trait_bound": { "generic_params": [], @@ -671740,14 +687307,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7952 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 1989, - "path": "DerefMut" + "id": 316, + "path": "UnwindSafe" } } }, @@ -671755,85 +687320,27 @@ "name": null, "span": { "begin": [ - 729, + 188, 1 ], "end": [ - 733, - 2 - ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "default" - }, - "7954": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7954, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "drop", - "span": { - "begin": [ - 738, - 5 - ], - "end": [ - 743, - 6 + 188, + 64 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7955": { + "7936": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7955, + "id": 7936, "inner": { "impl": { "blanket_impl": null, @@ -671842,9 +687349,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -671854,8 +687358,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -671864,6 +687368,17 @@ "kind": { "type": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, { "trait_bound": { "generic_params": [], @@ -671888,14 +687403,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 7954 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 9, - "path": "Drop" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -671903,23 +687416,23 @@ "name": null, "span": { "begin": [ - 736, + 190, 1 ], "end": [ - 744, - 2 + 190, + 70 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7956": { + "7937": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7956, + "id": 7937, "inner": { "function": { "generics": { @@ -671965,7 +687478,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -671977,7 +687490,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -671988,27 +687501,27 @@ "name": "fmt", "span": { "begin": [ - 748, + 372, 5 ], "end": [ - 750, + 379, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7957": { + "7938": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7957, + "id": 7938, "inner": { "impl": { "blanket_impl": null, @@ -672017,9 +687530,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -672029,8 +687539,8 @@ "constraints": [] } }, - "id": 7861, - "path": "MutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, "generics": { @@ -672042,22 +687552,22 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 344, + "path": "fmt::Debug" } } }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 346, - "path": "fmt::Debug" + "id": 3, + "path": "Sized" } } } @@ -672075,12 +687585,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7956 + 7937 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -672089,23 +687599,23 @@ "name": null, "span": { "begin": [ - 747, + 371, 1 ], "end": [ - 751, + 380, 2 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7958": { + "7939": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7958, + "id": 7939, "inner": { "function": { "generics": { @@ -672120,178 +687630,35 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + "generic": "Self" } } } }, "links": {}, - "name": "fmt", + "name": "default", "span": { "begin": [ - 755, + 384, 5 ], "end": [ - 757, + 386, 6 ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "default" - }, - "7959": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"std_guard_impls\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7959, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7861, - "path": "MutexGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "fmt::Display" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7958 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 754, - 1 - ], - "end": [ - 758, - 2 - ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "796": { + "794": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 796, + "id": 794, "inner": { "impl": { "blanket_impl": { @@ -672345,11 +687712,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -672366,13 +687733,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 422 + 319 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, @@ -672380,301 +687758,115 @@ "name": null, "span": { "begin": [ - 516, + 212, 1 ], "end": [ - 516, - 42 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7965": { + "7940": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedMutexGuard::map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", - "id": 7965, + "docs": null, + "id": 7940, "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - ], - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "U" - } - } - } - } - }, - "id": 15, - "path": "FnOnce" - } + "type": { + "generic": "T" } } ], - "generic_params": [], - "type": { - "generic": "F" - } + "constraints": [] } }, + "id": 7914, + "path": "ReentrantLock" + } + }, + "generics": { + "params": [ { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], + "kind": { "type": { - "generic": "U" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "orig", - { - "generic": "Self" - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, + "bounds": [ { - "type": { - "generic": "U" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 107, + "path": "Default" + } } } ], - "constraints": [] + "default": null, + "is_synthetic": false } }, - "id": 7930, - "path": "MappedMutexGuard" + "name": "T" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7939 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 107, + "path": "Default" } } }, - "links": { - "`MappedMutexGuard`": 7930 - }, - "name": "map", + "links": {}, + "name": null, "span": { "begin": [ - 885, - 5 + 383, + 1 ], "end": [ - 903, - 6 + 387, + 2 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, - "visibility": "public" + "visibility": "default" }, - "7966": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], + "7941": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedMutexGuard::filter_map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", - "id": 7966, + "docs": null, + "id": 7941, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - ], - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "U" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -672686,86 +687878,44 @@ "sig": { "inputs": [ [ - "orig", - { - "generic": "Self" - } - ], - [ - "f", + "t", { - "generic": "F" + "generic": "T" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 7930, - "path": "MappedMutexGuard" - } - } - }, - { - "type": { - "generic": "Self" - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "generic": "Self" } } } }, - "links": { - "`MappedMutexGuard`": 7930 - }, - "name": "filter_map", + "links": {}, + "name": "from", "span": { "begin": [ - 915, + 391, 5 ], "end": [ - 938, + 393, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, - "visibility": "public" + "visibility": "default" }, - "7967": { - "attrs": [], + "7942": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7967, + "id": 7942, "inner": { "impl": { "blanket_impl": null, @@ -672774,9 +687924,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -672786,10 +687933,94 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7914, + "path": "ReentrantLock" } }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7941 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 390, + 1 + ], + "end": [ + 394, + 2 + ], + "filename": "std/src/sync/reentrant_lock.rs" + }, + "visibility": "default" + }, + "7944": { + "attrs": [ + { + "other": "#[must_not_suspend =\n\"holding a MutexGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" + }, + { + "other": "#[clippy::has_significant_drop]" + }, + { + "other": "#[(not(test), rustc_diagnostic_item = \"MutexGuard\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"MutexGuard\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "if unused the Mutex will immediately unlock" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An RAII implementation of a \"scoped lock\" of a mutex. When this structure is\ndropped (falls out of scope), the lock will be unlocked.\n\nThe data protected by the mutex can be accessed through this guard via its\n[`Deref`] and [`DerefMut`] implementations.\n\nThis structure is created by the [`lock`] and [`try_lock`] methods on\n[`Mutex`].\n\n[`lock`]: Mutex::lock\n[`try_lock`]: Mutex::try_lock", + "id": 7944, + "inner": { + "struct": { "generics": { "params": [ { @@ -672814,6 +688045,9 @@ "path": "Sized" } } + }, + { + "outlives": "'a" } ], "default": null, @@ -672825,38 +688059,64 @@ ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7965, - 7966 + "impls": [ + 8370, + 8371, + 8372, + 8373, + 8374, + 8375, + 8376, + 8377, + 8378, + 8379, + 8380, + 8381, + 8382, + 8383, + 8384, + 8385, + 8388, + 8390, + 8392, + 8394, + 8396 ], - "provided_trait_methods": [], - "trait": null + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } } }, - "links": {}, - "name": null, + "links": { + "Mutex::lock": 8328, + "Mutex::try_lock": 8329, + "`DerefMut`": 1987, + "`Deref`": 1967, + "`Mutex`": 496 + }, + "name": "MutexGuard", "span": { "begin": [ - 875, + 277, 1 ], "end": [ - 939, + 280, 2 ], "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "7968": { + "7945": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7968, + "id": 7945, "inner": { "impl": { "blanket_impl": null, @@ -672877,8 +688137,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -672933,7 +688193,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -672943,12 +688203,12 @@ "span": null, "visibility": "default" }, - "7969": { + "7946": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7969, + "id": 7946, "inner": { "impl": { "blanket_impl": null, @@ -672969,8 +688229,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -673035,56 +688295,45 @@ "span": null, "visibility": "default" }, - "797": { + "7947": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 797, + "id": 7947, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } + "lifetime": "'a" }, { "type": { - "generic": "S" + "generic": "T" } } ], "constraints": [] } }, - "id": 738, - "path": "HashMap" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "T" + "name": "'a" }, { "kind": { @@ -673094,7 +688343,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "T" } ], "where_predicates": [ @@ -673106,133 +688355,40 @@ "generic_params": [], "modifier": "none", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } ] }, "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 773, - 1 - ], - "end": [ - 775, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "7970": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7970, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7930, - "path": "MappedMutexGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -673242,12 +688398,12 @@ "span": null, "visibility": "default" }, - "7971": { + "7948": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7971, + "id": 7948, "inner": { "impl": { "blanket_impl": null, @@ -673268,8 +688424,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -673303,7 +688459,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -673335,7 +688491,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -673345,12 +688501,12 @@ "span": null, "visibility": "default" }, - "7972": { + "7949": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7972, + "id": 7949, "inner": { "impl": { "blanket_impl": { @@ -673373,8 +688529,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -673418,7 +688574,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -673434,7 +688590,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -673443,23 +688599,139 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7973": { + "795": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7973, + "id": 795, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "7950": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7950, "inner": { "impl": { "blanket_impl": { @@ -673482,8 +688754,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -673527,7 +688799,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -673543,7 +688815,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -673552,23 +688824,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "7974": { + "7951": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7974, + "id": 7951, "inner": { "impl": { "blanket_impl": { @@ -673591,8 +688863,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -673657,7 +688929,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -673682,23 +688954,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7975": { + "7952": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7975, + "id": 7952, "inner": { "impl": { "blanket_impl": { @@ -673721,8 +688993,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -673744,7 +689016,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -673769,23 +689041,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7976": { + "7953": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7976, + "id": 7953, "inner": { "impl": { "blanket_impl": { @@ -673808,8 +689080,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -673856,7 +689128,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -673874,8 +689146,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -673891,7 +689163,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -673900,23 +689172,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7977": { + "7954": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7977, + "id": 7954, "inner": { "impl": { "blanket_impl": { @@ -673939,8 +689211,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -674005,8 +689277,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -674022,7 +689294,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -674031,23 +689303,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "7978": { + "7955": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7978, + "id": 7955, "inner": { "impl": { "blanket_impl": { @@ -674070,8 +689342,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -674124,7 +689396,7 @@ ] } }, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -674174,12 +689446,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1970, + "id": 1968, "path": "Receiver" } } @@ -674188,124 +689460,23 @@ "name": null, "span": { "begin": [ - 380, + 378, 1 ], "end": [ - 382, + 380, 26 ], "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "7979": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7979, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7930, - "path": "MappedMutexGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "798": { + "7956": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 798, + "id": 7956, "inner": { "impl": { "blanket_impl": { @@ -674314,29 +689485,22 @@ "for": { "resolved_path": { "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, + "angle_bracketed": { + "args": [ { - "type": { - "generic": "V" - } + "lifetime": "'a" }, { "type": { - "generic": "S" + "generic": "T" } } ], "constraints": [] } }, - "id": 738, - "path": "HashMap" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -674352,30 +689516,44 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 336 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 339, + "path": "Any" } } }, @@ -674383,23 +689561,23 @@ "name": null, "span": { "begin": [ - 791, + 138, 1 ], "end": [ - 791, - 28 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "7980": { + "7957": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7980, + "id": 7957, "inner": { "impl": { "blanket_impl": { @@ -674422,8 +689600,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -674483,7 +689661,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -674492,27 +689670,27 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "7981": { + "7958": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7981, + "id": 7958, "inner": { "impl": { "blanket_impl": null, @@ -674533,8 +689711,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -674580,27 +689758,27 @@ "name": null, "span": { "begin": [ - 333, + 215, 1 ], "end": [ - 333, - 53 + 215, + 55 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7982": { + "7959": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7982, + "id": 7959, "inner": { "impl": { "blanket_impl": null, @@ -674621,8 +689799,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -674679,144 +689857,54 @@ "name": null, "span": { "begin": [ - 335, + 218, 1 ], "end": [ - 335, - 66 + 218, + 68 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7983": { + "796": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7983, + "id": 796, "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { + "impl": { + "blanket_impl": { "generic": "T" - } - } - }, - "links": {}, - "name": "Target", - "span": { - "begin": [ - 836, - 5 - ], - "end": [ - 836, - 21 - ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "default" - }, - "7984": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7984, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - } - }, - "links": {}, - "name": "deref", - "span": { - "begin": [ - 838, - 5 - ], - "end": [ - 840, - 6 - ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "default" - }, - "7985": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 7985, - "inner": { - "impl": { - "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'_" + "type": { + "generic": "K" + } }, { "type": { - "generic": "T" + "generic": "V" + } + }, + { + "type": { + "generic": "S" } } ], "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 738, + "path": "HashMap" } }, "generics": { @@ -674824,19 +689912,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -674844,20 +689920,41 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 7983, - 7984 + 422 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1969, - "path": "Deref" + "id": 424, + "path": "CloneToUninit" } } }, @@ -674865,23 +689962,56 @@ "name": null, "span": { "begin": [ - 835, + 515, 1 ], "end": [ - 841, - 2 + 515, + 42 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "7986": { + "7960": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7986, + "id": 7960, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } + } + }, + "links": {}, + "name": "Target", + "span": { + "begin": [ + 398, + 5 + ], + "end": [ + 398, + 21 + ], + "filename": "std/src/sync/reentrant_lock.rs" + }, + "visibility": "default" + }, + "7961": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 7961, "inner": { "function": { "generics": { @@ -674901,7 +690031,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -674913,7 +690043,7 @@ "is_c_variadic": false, "output": { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "T" @@ -674924,30 +690054,30 @@ } }, "links": {}, - "name": "deref_mut", + "name": "deref", "span": { "begin": [ - 845, + 400, 5 ], "end": [ - 847, + 402, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7987": { + "7962": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7987, + "id": 7962, "inner": { "impl": { "blanket_impl": null, @@ -674968,8 +690098,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -675003,13 +690133,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7986 + 7960, + 7961 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1989, - "path": "DerefMut" + "id": 1967, + "path": "Deref" } } }, @@ -675017,27 +690148,23 @@ "name": null, "span": { "begin": [ - 844, + 397, 1 ], "end": [ - 848, + 403, 2 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7988": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7963": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7988, + "id": 7963, "inner": { "function": { "generics": { @@ -675057,45 +690184,76 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } } } }, "links": {}, - "name": "drop", + "name": "fmt", "span": { "begin": [ - 853, + 407, 5 ], "end": [ - 858, + 409, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7989": { + "7964": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7989, + "id": 7964, "inner": { "impl": { "blanket_impl": null, @@ -675116,8 +690274,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -675126,6 +690284,17 @@ "kind": { "type": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + }, { "trait_bound": { "generic_params": [], @@ -675151,13 +690320,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7988 + 7963 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 9, - "path": "Drop" + "id": 344, + "path": "Debug" } } }, @@ -675165,161 +690334,23 @@ "name": null, "span": { "begin": [ - 851, + 406, 1 ], "end": [ - 859, + 410, 2 ], - "filename": "std/src/sync/poison/mutex.rs" - }, - "visibility": "default" - }, - "799": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 799, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 817, - 1 - ], - "end": [ - 819, - 27 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7990": { + "7965": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7990, + "id": 7965, "inner": { "function": { "generics": { @@ -675365,7 +690396,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -675377,7 +690408,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -675388,27 +690419,27 @@ "name": "fmt", "span": { "begin": [ - 863, + 414, 5 ], "end": [ - 865, + 416, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7991": { + "7966": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7991, + "id": 7966, "inner": { "impl": { "blanket_impl": null, @@ -675429,8 +690460,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -675442,22 +690473,22 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 436, + "path": "fmt::Display" } } }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 346, - "path": "fmt::Debug" + "id": 3, + "path": "Sized" } } } @@ -675475,13 +690506,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7990 + 7965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 436, + "path": "Display" } } }, @@ -675489,23 +690520,27 @@ "name": null, "span": { "begin": [ - 862, + 413, 1 ], "end": [ - 866, + 417, 2 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7992": { - "attrs": [], + "7967": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7992, + "id": 7967, "inner": { "function": { "generics": { @@ -675523,78 +690558,47 @@ "inputs": [ [ "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "Self" } } } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } + "output": null } } }, "links": {}, - "name": "fmt", + "name": "drop", "span": { "begin": [ - 870, + 422, 5 ], "end": [ - 872, + 431, 6 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7993": { + "7968": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 7993, + "id": 7968, "inner": { "impl": { "blanket_impl": null, @@ -675615,8 +690619,8 @@ "constraints": [] } }, - "id": 7930, - "path": "MappedMutexGuard" + "id": 7919, + "path": "ReentrantLockGuard" } }, "generics": { @@ -675635,17 +690639,6 @@ "path": "Sized" } } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "fmt::Display" - } - } } ], "default": null, @@ -675661,13 +690654,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 7992 + 7967 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 9, + "path": "Drop" } } }, @@ -675675,408 +690668,23 @@ "name": null, "span": { "begin": [ - 869, + 420, 1 ], "end": [ - 873, + 432, 2 ], - "filename": "std/src/sync/poison/mutex.rs" + "filename": "std/src/sync/reentrant_lock.rs" }, "visibility": "default" }, - "7996": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A synchronization primitive which can nominally be written to only once.\n\nThis type is a thread-safe [`OnceCell`], and can be used in statics.\nIn many simple cases, you can use [`LazyLock`] instead to get the benefits of this type\nwith less effort: `LazyLock` \"looks like\" `&T` because it initializes with `F` on deref!\nWhere OnceLock shines is when LazyLock is too simple to support a given case, as LazyLock\ndoesn't allow additional inputs to its function after you call [`LazyLock::new(|| ...)`].\n\nA `OnceLock` can be thought of as a safe abstraction over uninitialized data that becomes\ninitialized once written.\n\nUnlike [`Mutex`](crate::sync::Mutex), `OnceLock` is never poisoned on panic.\n\n[`OnceCell`]: crate::cell::OnceCell\n[`LazyLock`]: crate::sync::LazyLock\n[`LazyLock::new(|| ...)`]: crate::sync::LazyLock::new\n\n# Examples\n\nWriting to a `OnceLock` from a separate thread:\n\n```\nuse std::sync::OnceLock;\n\nstatic CELL: OnceLock = OnceLock::new();\n\n// `OnceLock` has not been written to yet.\nassert!(CELL.get().is_none());\n\n// Spawn a thread and write to `OnceLock`.\nstd::thread::spawn(|| {\n let value = CELL.get_or_init(|| 12345);\n assert_eq!(value, &12345);\n})\n.join()\n.unwrap();\n\n// `OnceLock` now contains the value.\nassert_eq!(\n CELL.get(),\n Some(&12345),\n);\n```\n\nYou can use `OnceLock` to implement a type that requires \"append-only\" logic:\n\n```\nuse std::sync::{OnceLock, atomic::{AtomicU32, Ordering}};\nuse std::thread;\n\nstruct OnceList {\n data: OnceLock,\n next: OnceLock>>,\n}\nimpl OnceList {\n const fn new() -> OnceList {\n OnceList { data: OnceLock::new(), next: OnceLock::new() }\n }\n fn push(&self, value: T) {\n // FIXME: this impl is concise, but is also slow for long lists or many threads.\n // as an exercise, consider how you might improve on it while preserving the behavior\n if let Err(value) = self.data.set(value) {\n let next = self.next.get_or_init(|| Box::new(OnceList::new()));\n next.push(value)\n };\n }\n fn contains(&self, example: &T) -> bool\n where\n T: PartialEq,\n {\n self.data.get().map(|item| item == example).filter(|v| *v).unwrap_or_else(|| {\n self.next.get().map(|next| next.contains(example)).unwrap_or(false)\n })\n }\n}\n\n// Let's exercise this new Sync append-only list by doing a little counting\nstatic LIST: OnceList = OnceList::new();\nstatic COUNTER: AtomicU32 = AtomicU32::new(0);\n\n# const LEN: u32 = if cfg!(miri) { 50 } else { 1000 };\n# /*\nconst LEN: u32 = 1000;\n# */\nthread::scope(|s| {\n for _ in 0..thread::available_parallelism().unwrap().get() {\n s.spawn(|| {\n while let i @ 0..LEN = COUNTER.fetch_add(1, Ordering::Relaxed) {\n LIST.push(i);\n }\n });\n }\n});\n\nfor i in 0..LEN {\n assert!(LIST.contains(&i));\n}\n\n```", - "id": 7996, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "impls": [ - 8367, - 8368, - 8369, - 8370, - 8371, - 8372, - 8373, - 8374, - 8375, - 8376, - 8377, - 8378, - 8379, - 8380, - 8381, - 8382, - 8383, - 8385, - 8387, - 8389, - 8391, - 8393, - 8394, - 8396 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "crate::cell::OnceCell": 8354, - "crate::sync::LazyLock": 737, - "crate::sync::LazyLock::new": 8317, - "crate::sync::Mutex": 495 - }, - "name": "OnceLock", - "span": { - "begin": [ - 108, - 1 - ], - "end": [ - 131, - 2 - ], - "filename": "std/src/sync/once_lock.rs" - }, - "visibility": "public" - }, - "7997": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_once_new\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"once_new\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a new `Once` value.", - "id": 7997, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - } - } - } - }, - "links": {}, - "name": "new", - "span": { - "begin": [ - 81, - 5 - ], - "end": [ - 83, - 6 - ], - "filename": "std/src/sync/poison/once.rs" - }, - "visibility": "public" - }, - "7998": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "A low-level synchronization primitive for one-time global execution.\n\nPreviously this was the only \"execute once\" synchronization in `std`.\nOther libraries implemented novel synchronizing types with `Once`, like\n[`OnceLock`] or [`LazyLock`], before those were added to `std`.\n`OnceLock` in particular supersedes `Once` in functionality and should\nbe preferred for the common case where the `Once` is associated with data.\n\nThis type can only be constructed with [`Once::new()`].\n\n# Examples\n\n```\nuse std::sync::Once;\n\nstatic START: Once = Once::new();\n\nSTART.call_once(|| {\n // run initialization here\n});\n```\n\n[`OnceLock`]: crate::sync::OnceLock\n[`LazyLock`]: crate::sync::LazyLock", - "id": 7998, - "inner": { - "struct": { - "generics": { - "params": [], - "where_predicates": [] - }, - "impls": [ - 8005, - 8006, - 8007, - 8008, - 8009, - 8010, - 8011, - 8012, - 8013, - 8014, - 8015, - 8016, - 8017, - 8018, - 8020 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "`Once::new()`": 7997, - "crate::sync::LazyLock": 737, - "crate::sync::OnceLock": 7996 - }, - "name": "Once", - "span": { - "begin": [ - 35, - 1 - ], - "end": [ - 37, - 2 - ], - "filename": "std/src/sync/poison/once.rs" - }, - "visibility": "public" - }, - "7999": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "other": "#[attr = TrackCaller]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Performs an initialization routine once and only once. The given closure\nwill be executed if this is the first time `call_once` has been called,\nand otherwise the routine will *not* be invoked.\n\nThis method will block the calling thread if another initialization\nroutine is currently running.\n\nWhen this function returns, it is guaranteed that some initialization\nhas run and completed (it might not be the closure specified). It is also\nguaranteed that any memory writes performed by the executed closure can\nbe reliably observed by other threads at this point (there is a\nhappens-before relation between the closure and code executing after the\nreturn).\n\nIf the given closure recursively invokes `call_once` on the same [`Once`]\ninstance, the exact behavior is not specified: allowed outcomes are\na panic or a deadlock.\n\n# Examples\n\n```\nuse std::sync::Once;\n\nstatic mut VAL: usize = 0;\nstatic INIT: Once = Once::new();\n\n// Accessing a `static mut` is unsafe much of the time, but if we do so\n// in a synchronized fashion (e.g., write once or read all) then we're\n// good to go!\n//\n// This function will only call `expensive_computation` once, and will\n// otherwise always return the value returned from the first invocation.\nfn get_cached_val() -> usize {\n unsafe {\n INIT.call_once(|| {\n VAL = expensive_computation();\n });\n VAL\n }\n}\n\nfn expensive_computation() -> usize {\n // ...\n# 2\n}\n```\n\n# Panics\n\nThe closure `f` will only be executed once even if this is called\nconcurrently amongst many threads. If that closure panics, however, then\nit will *poison* this [`Once`] instance, causing all future invocations of\n`call_once` to also panic.\n\nThis is similar to [poisoning with mutexes][poison], but this mechanism\nis guaranteed to never skip panics within `f`.\n\n[poison]: struct.Mutex.html#poisoning", - "id": 7999, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": null - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "`Once`": 7998 - }, - "name": "call_once", - "span": { - "begin": [ - 146, - 5 - ], - "end": [ - 157, - 6 - ], - "filename": "std/src/sync/poison/once.rs" - }, - "visibility": "public" - }, - "8": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8, - "inner": { - "use": { - "id": 9, - "is_glob": false, - "name": "Drop", - "source": "crate::ops::Drop" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 16, - 22 - ], - "end": [ - 16, - 26 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "80": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 80, - "inner": { - "use": { - "id": 81, - "is_glob": false, - "name": "include", - "source": "core::prelude::v1::include" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 51, - 21 - ], - "end": [ - 51, - 28 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "800": { + "797": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 800, + "id": 797, "inner": { "impl": { "blanket_impl": { @@ -676154,8 +690762,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 37, + "path": "From" } } } @@ -676172,8 +690780,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 325 ], "provided_trait_methods": [], "trait": { @@ -676189,8 +690796,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 39, + "path": "Into" } } }, @@ -676198,151 +690805,27 @@ "name": null, "span": { "begin": [ - 833, + 767, 1 ], "end": [ - 835, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8000": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"once_poison\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Performs the same function as [`call_once()`] except ignores poisoning.\n\nUnlike [`call_once()`], if this [`Once`] has been poisoned (i.e., a previous\ncall to [`call_once()`] or [`call_once_force()`] caused a panic), calling\n[`call_once_force()`] will still invoke the closure `f` and will _not_\nresult in an immediate panic. If `f` panics, the [`Once`] will remain\nin a poison state. If `f` does _not_ panic, the [`Once`] will no\nlonger be in a poison state and all future calls to [`call_once()`] or\n[`call_once_force()`] will be no-ops.\n\nThe closure `f` is yielded a [`OnceState`] structure which can be used\nto query the poison status of the [`Once`].\n\n[`call_once()`]: Once::call_once\n[`call_once_force()`]: Once::call_once_force\n\n# Examples\n\n```\nuse std::sync::Once;\nuse std::thread;\n\nstatic INIT: Once = Once::new();\n\n// poison the once\nlet handle = thread::spawn(|| {\n INIT.call_once(|| panic!());\n});\nassert!(handle.join().is_err());\n\n// poisoning propagates\nlet handle = thread::spawn(|| {\n INIT.call_once(|| {});\n});\nassert!(handle.join().is_err());\n\n// call_once_force will still run and reset the poisoned state\nINIT.call_once_force(|state| {\n assert!(state.is_poisoned());\n});\n\n// once any success happens, we stop propagating the poison\nINIT.call_once(|| {});\n```", - "id": 8000, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 8001, - "path": "OnceState" - } - } - } - } - ], - "output": null - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": { - "Once::call_once": 7999, - "Once::call_once_force": 8000, - "`OnceState`": 8001, - "`Once`": 7998 - }, - "name": "call_once_force", - "span": { - "begin": [ - 205, - 5 - ], - "end": [ - 216, - 6 - ], - "filename": "std/src/sync/poison/once.rs" - }, - "visibility": "public" - }, - "8001": { + "7971": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"once_poison\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "State yielded to [`Once::call_once_force()`]’s closure parameter. The state\ncan be used to query the poison status of the [`Once`].", - "id": 8001, + "docs": "A Condition Variable\n\nFor more information about condition variables, check out the documentation for the poisoning\nvariant of this type at [`poison::Condvar`].\n\n# Examples\n\nNote that this `Condvar` does **not** propagate information about threads that panic while\nholding a lock. If you need this functionality, see [`poison::Mutex`] and [`poison::Condvar`].\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(nonpoison_condvar)]\n\nuse std::sync::nonpoison::{Mutex, Condvar};\nuse std::sync::Arc;\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\n// Inside of our lock, spawn a new thread, and then wait for it to start.\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock();\nwhile !*started {\n started = cvar.wait(started);\n}\n```\n\n[`poison::Mutex`]: crate::sync::poison::Mutex\n[`poison::Condvar`]: crate::sync::poison::Condvar", + "id": 7971, "inner": { "struct": { "generics": { @@ -676350,21 +690833,22 @@ "where_predicates": [] }, "impls": [ - 8023, - 8024, - 8025, - 8026, - 8027, - 8028, - 8029, - 8030, - 8031, - 8032, - 8033, - 8034, - 8035, - 8036, - 8038 + 7981, + 7982, + 7983, + 7984, + 7985, + 7986, + 7987, + 7988, + 7989, + 7990, + 7991, + 7992, + 7993, + 7994, + 7996, + 7998 ], "kind": { "plain": { @@ -676375,10 +690859,10 @@ } }, "links": { - "`Once::call_once_force()`": 8000, - "`Once`": 7998 + "crate::sync::poison::Condvar": 495, + "crate::sync::poison::Mutex": 496 }, - "name": "OnceState", + "name": "Condvar", "span": { "begin": [ 48, @@ -676388,23 +690872,28 @@ 50, 2 ], - "filename": "std/src/sync/poison/once.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, "visibility": "public" }, - "8002": { + "7972": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"once_is_completed\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" }, { "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if some [`call_once()`] call has completed\nsuccessfully. Specifically, `is_completed` will return false in\nthe following situations:\n * [`call_once()`] was not called at all,\n * [`call_once()`] was called, but has not yet completed,\n * the [`Once`] instance is poisoned\n\nThis function returning `false` does not mean that [`Once`] has not been\nexecuted. For example, it may have been executed in the time between\nwhen `is_completed` starts executing and when it returns, in which case\nthe `false` return value would be stale (but still permissible).\n\n[`call_once()`]: Once::call_once\n\n# Examples\n\n```\nuse std::sync::Once;\n\nstatic INIT: Once = Once::new();\n\nassert_eq!(INIT.is_completed(), false);\nINIT.call_once(|| {\n assert_eq!(INIT.is_completed(), false);\n});\nassert_eq!(INIT.is_completed(), true);\n```\n\n```\nuse std::sync::Once;\nuse std::thread;\n\nstatic INIT: Once = Once::new();\n\nassert_eq!(INIT.is_completed(), false);\nlet handle = thread::spawn(|| {\n INIT.call_once(|| panic!());\n});\nassert!(handle.join().is_err());\nassert_eq!(INIT.is_completed(), false);\n```", - "id": 8002, + "docs": "Creates a new condition variable which is ready to be waited on and\nnotified.\n\n# Examples\n\n```\nuse std::sync::Condvar;\n\nlet condvar = Condvar::new();\n```", + "id": 7972, "inner": { "function": { "generics": { @@ -676415,59 +690904,47 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": null, + "id": 7971, + "path": "Condvar" + } } } } }, - "links": { - "Once::call_once": 7999, - "`Once`": 7998 - }, - "name": "is_completed", + "links": {}, + "name": "new", "span": { "begin": [ - 261, + 66, 5 ], "end": [ - 263, + 68, 6 ], - "filename": "std/src/sync/poison/once.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, "visibility": "public" }, - "8003": { + "7973": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"once_wait\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Blocks the current thread until initialization has completed, ignoring\npoisoning.\n\nIf this [`Once`] has been poisoned, this function blocks until it\nbecomes completed, unlike [`Once::wait()`], which panics in this case.", - "id": 8003, + "docs": "Wakes up one blocked thread on this condvar.\n\nIf there is a blocked thread on this condition variable, then it will\nbe woken up from its call to [`wait`] or [`wait_timeout`]. Calls to\n`notify_one` are not buffered in any way.\n\nTo wake up all threads, see [`notify_all`].\n\n[`wait`]: Self::wait\n[`wait_timeout`]: Self::wait_timeout\n[`notify_all`]: Self::notify_all\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(nonpoison_condvar)]\n\nuse std::sync::nonpoison::{Mutex, Condvar};\nuse std::sync::Arc;\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock();\n// As long as the value inside the `Mutex` is `false`, we wait.\nwhile !*started {\n started = cvar.wait(started);\n}\n```", + "id": 7973, "inner": { "function": { "generics": { @@ -676502,33 +690979,34 @@ } }, "links": { - "`Once::wait()`": 8004, - "`Once`": 7998 + "Self::notify_all": 7974, + "Self::wait": 7975, + "Self::wait_timeout": 7980 }, - "name": "wait_force", + "name": "notify_one", "span": { "begin": [ - 301, + 385, 5 ], "end": [ - 305, + 387, 6 ], - "filename": "std/src/sync/poison/once.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, "visibility": "public" }, - "8004": { + "7974": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"once_wait\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Blocks the current thread until initialization has completed.\n\n# Example\n\n```rust\nuse std::sync::Once;\nuse std::thread;\n\nstatic READY: Once = Once::new();\n\nlet thread = thread::spawn(|| {\n READY.wait();\n println!(\"everything is ready\");\n});\n\nREADY.call_once(|| println!(\"performing setup\"));\n```\n\n# Panics\n\nIf this [`Once`] has been poisoned because an initialization closure has\npanicked, this method will also panic. Use [`wait_force`](Self::wait_force)\nif this behavior is not desired.", - "id": 8004, + "docs": "Wakes up all blocked threads on this condvar.\n\nThis method will ensure that any current waiters on the condition\nvariable are awoken. Calls to `notify_all()` are not buffered in any\nway.\n\nTo wake up only one thread, see [`notify_one`].\n\n[`notify_one`]: Self::notify_one\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(nonpoison_condvar)]\n\nuse std::sync::nonpoison::{Mutex, Condvar};\nuse std::sync::Arc;\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_all();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock();\n// As long as the value inside the `Mutex` is `false`, we wait.\nwhile !*started {\n started = cvar.wait(started);\n}\n```", + "id": 7974, "inner": { "function": { "generics": { @@ -676563,349 +691041,44 @@ } }, "links": { - "Self::wait_force": 8003, - "`Once`": 7998 + "Self::notify_one": 7973 }, - "name": "wait", + "name": "notify_all", "span": { "begin": [ - 289, + 429, 5 ], "end": [ - 293, + 431, 6 ], - "filename": "std/src/sync/poison/once.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, "visibility": "public" }, - "8005": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8005, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 7997, - 7999, - 8000, - 8002, - 8004, - 8003 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 75, - 1 - ], - "end": [ - 326, - 2 - ], - "filename": "std/src/sync/poison/once.rs" - }, - "visibility": "default" - }, - "8006": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8006, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8007": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8007, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8008": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8008, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": true, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8009": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8009, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } + "7975": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "801": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 801, + "docs": "Blocks the current thread until this condition variable receives a\nnotification.\n\nThis function will atomically unlock the mutex specified (represented by\n`guard`) and block the current thread. This means that any calls\nto [`notify_one`] or [`notify_all`] which happen logically after the\nmutex is unlocked are candidates to wake this thread up. When this\nfunction call returns, the lock specified will have been re-acquired.\n\nNote that this function is susceptible to spurious wakeups. Condition\nvariables normally have a boolean predicate associated with them, and\nthe predicate must always be checked each time this function returns to\nprotect against spurious wakeups.\n\n# Panics\n\nThis function may [`panic!`] if it is used with more than one mutex\nover time.\n\n[`notify_one`]: Self::notify_one\n[`notify_all`]: Self::notify_all\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(nonpoison_condvar)]\n\nuse std::sync::nonpoison::{Mutex, Condvar};\nuse std::sync::Arc;\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock();\n// As long as the value inside the `Mutex` is `false`, we wait.\nwhile !*started {\n started = cvar.wait(started);\n}\n```", + "id": 7975, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, + "function": { "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "8010": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8010, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [ + "name": "'a" + }, { "kind": { "type": { @@ -676917,491 +691090,239 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "T" + "generic": "Self" } } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "8011": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8011, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } + } + ], + [ + "guard", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - } - ], - "generic_params": [], - "type": { - "generic": "T" + }, + "id": 7976, + "path": "MutexGuard" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "8012": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8012, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" } } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 7976, + "path": "MutexGuard" } - }, - "id": 39, - "path": "Into" + } } } }, - "links": {}, - "name": null, + "links": { + "Self::notify_all": 7974, + "Self::notify_one": 7973, + "`panic!`": 493 + }, + "name": "wait", "span": { "begin": [ - 773, - 1 + 122, + 5 ], "end": [ - 775, - 24 + 128, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, - "visibility": "default" + "visibility": "public" }, - "8013": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8013, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "7976": { + "attrs": [ + { + "other": "#[must_not_suspend =\n\"holding a MutexGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" + }, + { + "other": "#[clippy::has_significant_drop]" + }, + { + "other": "#[(not(test), rustc_diagnostic_item = \"NonPoisonMutexGuard\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"NonPoisonMutexGuard\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + }, + { + "must_use": { + "reason": "if unused the Mutex will immediately unlock" } } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 791, - 28 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "8014": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8014, + "docs": "An RAII implementation of a \"scoped lock\" of a mutex. When this structure is\ndropped (falls out of scope), the lock will be unlocked.\n\nThe data protected by the mutex can be accessed through this guard via its\n[`Deref`] and [`DerefMut`] implementations.\n\nThis structure is created by the [`lock`] and [`try_lock`] methods on\n[`Mutex`].\n\n[`lock`]: Mutex::lock\n[`try_lock`]: Mutex::try_lock", + "id": 7976, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, + "struct": { "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "T" + "name": "'a" }, { "kind": { "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false } - ], - "constraints": [] + }, + "name": "T" } - }, - "id": 200, - "path": "TryInto" + ], + "where_predicates": [] + }, + "impls": [ + 8041, + 8042, + 8043, + 8044, + 8045, + 8046, + 8047, + 8048, + 8049, + 8050, + 8051, + 8052, + 8053, + 8054, + 8055, + 8056, + 8059, + 8061, + 8063, + 8065, + 8067 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, + "links": { + "Mutex::lock": 8008, + "Mutex::try_lock": 8010, + "`DerefMut`": 1987, + "`Deref`": 1967, + "`Mutex`": 8002 + }, + "name": "MutexGuard", "span": { "begin": [ - 817, + 99, 1 ], "end": [ - 819, - 27 + 101, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "8015": { - "attrs": [], + "7977": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8015, + "docs": "Blocks the current thread until the provided condition becomes false.\n\n`condition` is checked immediately; if not met (returns `true`), this\nwill [`wait`] for the next notification then check again. This repeats\nuntil `condition` returns `false`, in which case this function returns.\n\nThis function will atomically unlock the mutex specified (represented by\n`guard`) and block the current thread. This means that any calls\nto [`notify_one`] or [`notify_all`] which happen logically after the\nmutex is unlocked are candidates to wake this thread up. When this\nfunction call returns, the lock specified will have been re-acquired.\n\n[`wait`]: Self::wait\n[`notify_one`]: Self::notify_one\n[`notify_all`]: Self::notify_all\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(nonpoison_condvar)]\n\nuse std::sync::nonpoison::{Mutex, Condvar};\nuse std::sync::Arc;\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(true), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut pending = lock.lock();\n *pending = false;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\n// As long as the value inside the `Mutex` is `true`, we wait.\nlet _guard = cvar.wait_while(lock.lock(), |pending| { *pending });\n```", + "id": 7977, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, + "function": { "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -677420,7 +691341,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "F" } ], "where_predicates": [ @@ -677433,92 +691354,155 @@ "modifier": "none", "trait": { "args": { - "angle_bracketed": { - "args": [ + "parenthesized": { + "inputs": [ { - "type": { - "generic": "T" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } } } ], - "constraints": [] + "output": { + "primitive": "bool" + } } }, - "id": 39, - "path": "Into" + "id": 13, + "path": "FnMut" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "F" } } } ] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "U" + "generic": "Self" } } - ], - "constraints": [] + } + ], + [ + "guard", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7976, + "path": "MutexGuard" + } + } + ], + [ + "condition", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7976, + "path": "MutexGuard" } - }, - "id": 199, - "path": "TryFrom" + } } } }, - "links": {}, - "name": null, + "links": { + "Self::notify_all": 7974, + "Self::notify_one": 7973, + "Self::wait": 7975 + }, + "name": "wait_while", "span": { "begin": [ - 833, - 1 + 173, + 5 ], "end": [ - 835, - 24 + 185, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, - "visibility": "default" + "visibility": "public" }, - "8016": { - "attrs": [], + "7978": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8016, + "docs": "Waits on this condition variable for a notification, timing out after a\nspecified duration.\n\nThe semantics of this function are equivalent to [`wait_while`] except\nthat the thread will be blocked for roughly no longer than `dur`. This\nmethod should not be used for precise timing due to anomalies such as\npreemption or platform differences that might not cause the maximum\namount of time waited to be precisely `dur`.\n\nNote that the best effort is made to ensure that the time waited is\nmeasured with a monotonic clock, and not affected by the changes made to\nthe system time.\n\nThe returned [`WaitTimeoutResult`] value indicates if the timeout is\nknown to have elapsed without the condition being met.\n\nLike [`wait_while`], the lock specified will be re-acquired when this\nfunction returns, regardless of whether the timeout elapsed or not.\n\n[`wait_while`]: Self::wait_while\n[`wait_timeout`]: Self::wait_timeout\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(nonpoison_condvar)]\n\nuse std::sync::nonpoison::{Mutex, Condvar};\nuse std::sync::Arc;\nuse std::thread;\nuse std::time::Duration;\n\nlet pair = Arc::new((Mutex::new(true), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut pending = lock.lock();\n *pending = false;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// wait for the thread to start up\nlet (lock, cvar) = &*pair;\nlet result = cvar.wait_timeout_while(\n lock.lock(),\n Duration::from_millis(100),\n |&mut pending| pending,\n);\nif result.1.timed_out() {\n // timed-out without the condition ever evaluating to false.\n}\n// access the locked mutex via result.0\n```", + "id": 7978, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, + "function": { "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -677528,178 +691512,59 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "primitive": "bool" + } + } + }, + "id": 13, + "path": "FnMut" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "F" } } } ] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "8017": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 59, patch: 0})}, feature: \"sync_once_unwind_safe\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8017, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 40, - 1 - ], - "end": [ - 40, - 28 - ], - "filename": "std/src/sync/poison/once.rs" - }, - "visibility": "default" - }, - "8018": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 59, patch: 0})}, feature: \"sync_once_unwind_safe\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8018, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 43, - 1 - ], - "end": [ - 43, - 31 - ], - "filename": "std/src/sync/poison/once.rs" - }, - "visibility": "default" - }, - "8019": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8019, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, "has_body": true, "header": { "abi": "Rust", @@ -677722,63 +691587,171 @@ } ], [ - "f", + "guard", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } } - }, - "id": 343, - "path": "fmt::Formatter" + ], + "constraints": [] } - } + }, + "id": 7976, + "path": "MutexGuard" + } + } + ], + [ + "dur", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" } } + ], + [ + "condition", + { + "generic": "F" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + "tuple": [ + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7976, + "path": "MutexGuard" + } + }, + { + "resolved_path": { + "args": null, + "id": 7979, + "path": "WaitTimeoutResult" + } + } + ] } } } }, - "links": {}, - "name": "fmt", + "links": { + "Self::wait_timeout": 7980, + "Self::wait_while": 7977, + "`WaitTimeoutResult`": 7979 + }, + "name": "wait_timeout_while", "span": { "begin": [ - 330, + 321, 5 ], "end": [ - 332, + 341, 6 ], - "filename": "std/src/sync/poison/once.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, - "visibility": "default" + "visibility": "public" }, - "802": { + "7979": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A type indicating whether a timed wait on a condition variable returned\ndue to a time out or not.\n\nIt is returned by the [`wait_timeout`] method.\n\n[`wait_timeout`]: Condvar::wait_timeout", + "id": 7979, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 8688, + 8689, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8696, + 8697, + 8698, + 8699, + 8700, + 8701, + 8702, + 8703, + 8705, + 8706, + 8708, + 8709, + 8710, + 8712 + ], + "kind": { + "tuple": [ + null + ] + } + } + }, + "links": { + "Condvar::wait_timeout": 8304 + }, + "name": "WaitTimeoutResult", + "span": { + "begin": [ + 252, + 1 + ], + "end": [ + 252, + 36 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "798": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 802, + "id": 798, "inner": { "impl": { "blanket_impl": { @@ -677825,98 +691798,30 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 82, - 1 - ], - "end": [ - 84, - 14 - ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" - }, - "visibility": "default" - }, - "8020": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8020, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - }, - "generics": { - "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8019 + 327 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 346, - "path": "Debug" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, @@ -677924,34 +691829,50 @@ "name": null, "span": { "begin": [ - 329, + 785, 1 ], "end": [ - 333, - 2 + 785, + 28 ], - "filename": "std/src/sync/poison/once.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8022": { + "7980": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"once_poison\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the associated [`Once`] was poisoned prior to the\ninvocation of the closure passed to [`Once::call_once_force()`].\n\n# Examples\n\nA poisoned [`Once`]:\n\n```\nuse std::sync::Once;\nuse std::thread;\n\nstatic INIT: Once = Once::new();\n\n// poison the once\nlet handle = thread::spawn(|| {\n INIT.call_once(|| panic!());\n});\nassert!(handle.join().is_err());\n\nINIT.call_once_force(|state| {\n assert!(state.is_poisoned());\n});\n```\n\nAn unpoisoned [`Once`]:\n\n```\nuse std::sync::Once;\n\nstatic INIT: Once = Once::new();\n\nINIT.call_once_force(|state| {\n assert!(!state.is_poisoned());\n});", - "id": 8022, + "docs": "Waits on this condition variable for a notification, timing out after a\nspecified duration.\n\nThe semantics of this function are equivalent to [`wait`] except that\nthe thread will be blocked for roughly no longer than `dur`. This\nmethod should not be used for precise timing due to anomalies such as\npreemption or platform differences that might not cause the maximum\namount of time waited to be precisely `dur`.\n\nNote that the best effort is made to ensure that the time waited is\nmeasured with a monotonic clock, and not affected by the changes made to\nthe system time. This function is susceptible to spurious wakeups.\nCondition variables normally have a boolean predicate associated with\nthem, and the predicate must always be checked each time this function\nreturns to protect against spurious wakeups. Furthermore, since the timeout\nis given relative to the moment this function is called, it needs to be adjusted\nwhen this function is called in a loop. The [`wait_timeout_while`] method\nlets you wait with a timeout while a predicate is true, taking care of all these concerns.\n\nThe returned [`WaitTimeoutResult`] value indicates if the timeout is\nknown to have elapsed.\n\nLike [`wait`], the lock specified will be re-acquired when this function\nreturns, regardless of whether the timeout elapsed or not.\n\n[`wait`]: Self::wait\n[`wait_timeout_while`]: Self::wait_timeout_while\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(nonpoison_condvar)]\n\nuse std::sync::nonpoison::{Mutex, Condvar};\nuse std::sync::Arc;\nuse std::thread;\nuse std::time::Duration;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// wait for the thread to start up\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock();\n// as long as the value inside the `Mutex` is `false`, we wait\nloop {\n let result = cvar.wait_timeout(started, Duration::from_millis(10));\n // 10 milliseconds have passed, or maybe the value changed!\n started = result.0;\n if *started == true {\n // We received the notification and the value has been updated, we can leave.\n break\n }\n}\n```", + "id": 7980, "inner": { "function": { "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "has_body": true, @@ -677974,47 +691895,111 @@ } } } + ], + [ + "guard", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7976, + "path": "MutexGuard" + } + } + ], + [ + "dur", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "tuple": [ + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7976, + "path": "MutexGuard" + } + }, + { + "resolved_path": { + "args": null, + "id": 7979, + "path": "WaitTimeoutResult" + } + } + ] } } } }, "links": { - "`Once::call_once_force()`": 8000, - "`Once`": 7998 + "Self::wait": 7975, + "Self::wait_timeout_while": 7978, + "`WaitTimeoutResult`": 7979 }, - "name": "is_poisoned", + "name": "wait_timeout", "span": { "begin": [ - 372, + 252, 5 ], "end": [ - 374, + 262, 6 ], - "filename": "std/src/sync/poison/once.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, "visibility": "public" }, - "8023": { + "7981": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8023, + "id": 7981, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -678025,7 +692010,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8022 + 7972, + 7975, + 7977, + 7980, + 7978, + 7973, + 7974 ], "provided_trait_methods": [], "trait": null @@ -678035,31 +692026,31 @@ "name": null, "span": { "begin": [ - 335, + 52, 1 ], "end": [ - 382, + 432, 2 ], - "filename": "std/src/sync/poison/once.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, "visibility": "default" }, - "8024": { + "7982": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8024, + "id": 7982, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -678083,27 +692074,27 @@ "span": null, "visibility": "default" }, - "8025": { + "7983": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8025, + "id": 7983, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { "params": [], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], @@ -678120,20 +692111,20 @@ "span": null, "visibility": "default" }, - "8026": { + "7984": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8026, + "id": 7984, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -678147,7 +692138,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -678157,20 +692148,20 @@ "span": null, "visibility": "default" }, - "8027": { + "7985": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8027, + "id": 7985, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -678194,20 +692185,20 @@ "span": null, "visibility": "default" }, - "8028": { + "7986": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8028, + "id": 7986, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -678221,7 +692212,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -678231,34 +692222,34 @@ "span": null, "visibility": "default" }, - "8029": { + "7987": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8029, + "id": 7987, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { "params": [], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -678268,72 +692259,107 @@ "span": null, "visibility": "default" }, - "803": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7988": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 803, + "id": 7988, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": null, + "id": 7971, + "path": "Condvar" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, - "name": "clone", + "name": null, "span": { "begin": [ - 1308, - 5 + 212, + 1 ], "end": [ - 1310, - 6 + 212, + 38 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8030": { + "7989": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8030, + "id": 7989, "inner": { "impl": { "blanket_impl": { @@ -678342,8 +692368,8 @@ "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -678387,7 +692413,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 322 ], "provided_trait_methods": [], "trait": { @@ -678403,8 +692429,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 324, + "path": "BorrowMut" } } }, @@ -678412,23 +692438,23 @@ "name": null, "span": { "begin": [ - 209, + 221, 1 ], "end": [ - 209, - 32 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8031": { + "799": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8031, + "id": 799, "inner": { "impl": { "blanket_impl": { @@ -678436,9 +692462,30 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8001, - "path": "OnceState" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" } }, "generics": { @@ -678452,6 +692499,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -678461,18 +692518,29 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -678482,7 +692550,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -678491,15 +692560,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 198, + "path": "TryInto" } } }, @@ -678507,23 +692576,23 @@ "name": null, "span": { "begin": [ - 217, + 811, 1 ], "end": [ - 217, - 35 + 813, + 27 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8032": { + "7990": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8032, + "id": 7990, "inner": { "impl": { "blanket_impl": { @@ -678532,8 +692601,8 @@ "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -678598,7 +692667,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -678623,23 +692692,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8033": { + "7991": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8033, + "id": 7991, "inner": { "impl": { "blanket_impl": { @@ -678648,8 +692717,8 @@ "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -678671,7 +692740,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -678696,23 +692765,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8034": { + "7992": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8034, + "id": 7992, "inner": { "impl": { "blanket_impl": { @@ -678721,8 +692790,8 @@ "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -678769,7 +692838,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -678787,8 +692856,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -678804,7 +692873,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -678813,23 +692882,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8035": { + "7993": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8035, + "id": 7993, "inner": { "impl": { "blanket_impl": { @@ -678838,8 +692907,8 @@ "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -678904,8 +692973,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -678921,7 +692990,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -678930,23 +692999,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8036": { + "7994": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8036, + "id": 7994, "inner": { "impl": { "blanket_impl": { @@ -678955,8 +693024,8 @@ "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -679003,12 +693072,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -679028,12 +693097,12 @@ }, "visibility": "default" }, - "8037": { + "7995": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8037, + "id": 7995, "inner": { "function": { "generics": { @@ -679079,7 +693148,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -679091,7 +693160,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -679102,35 +693171,35 @@ "name": "fmt", "span": { "begin": [ - 386, + 436, 5 ], "end": [ - 388, + 438, 6 ], - "filename": "std/src/sync/poison/once.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, "visibility": "default" }, - "8038": { + "7996": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8038, + "id": 7996, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 8001, - "path": "OnceState" + "id": 7971, + "path": "Condvar" } }, "generics": { @@ -679141,12 +693210,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8037 + 7995 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -679155,73 +693224,23 @@ "name": null, "span": { "begin": [ - 385, + 435, 1 ], "end": [ - 389, + 439, 2 ], - "filename": "std/src/sync/poison/once.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, "visibility": "default" }, - "8039": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": { - "note": "the `Once::new()` function is now preferred", - "since": "1.38.0" - }, - "docs": "Initialization value for static [`Once`] values.\n\n# Examples\n\n```\nuse std::sync::{Once, ONCE_INIT};\n\nstatic START: Once = ONCE_INIT;\n```", - "id": 8039, - "inner": { - "constant": { - "const": { - "expr": "_", - "is_literal": false, - "value": null - }, - "type": { - "resolved_path": { - "args": null, - "id": 7998, - "path": "Once" - } - } - } - }, - "links": { - "`Once`": 7998 - }, - "name": "ONCE_INIT", - "span": { - "begin": [ - 73, - 1 - ], - "end": [ - 73, - 41 - ], - "filename": "std/src/sync/poison/once.rs" - }, - "visibility": "public" - }, - "804": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "7997": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 804, + "docs": "Creates a `Condvar` which is ready to be waited on and notified.", + "id": 7997, "inner": { "function": { "generics": { @@ -679236,605 +693255,169 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "source", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": null, + "id": 7971, + "path": "Condvar" + } + } } } }, "links": {}, - "name": "clone_from", + "name": "default", "span": { "begin": [ - 1313, + 444, 5 ], "end": [ - 1315, + 446, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, "visibility": "default" }, - "8044": { + "7998": { "attrs": [ { - "other": "#[(not(test), rustc_diagnostic_item = \"RwLock\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"RwLock\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "A reader-writer lock\n\nThis type of lock allows a number of readers or at most one writer at any\npoint in time. The write portion of this lock typically allows modification\nof the underlying data (exclusive access) and the read portion of this lock\ntypically allows for read-only access (shared access).\n\nIn comparison, a [`Mutex`] does not distinguish between readers or writers\nthat acquire the lock, therefore blocking any threads waiting for the lock to\nbecome available. An `RwLock` will allow any number of readers to acquire the\nlock as long as a writer is not holding the lock.\n\nThe priority policy of the lock is dependent on the underlying operating\nsystem's implementation, and this type does not guarantee that any\nparticular policy will be used. In particular, a writer which is waiting to\nacquire the lock in `write` might or might not block concurrent calls to\n`read`, e.g.:\n\n
Potential deadlock example\n\n```text\n// Thread 1 | // Thread 2\nlet _rg1 = lock.read(); |\n | // will block\n | let _wg = lock.write();\n// may deadlock |\nlet _rg2 = lock.read(); |\n```\n\n
\n\nThe type parameter `T` represents the data that this lock protects. It is\nrequired that `T` satisfies [`Send`] to be shared across threads and\n[`Sync`] to allow concurrent access through readers. The RAII guards\nreturned from the locking methods implement [`Deref`] (and [`DerefMut`]\nfor the `write` methods) to allow access to the content of the lock.\n\n# Poisoning\n\nAn `RwLock`, like [`Mutex`], will [usually] become poisoned on a panic. Note,\nhowever, that an `RwLock` may only be poisoned if a panic occurs while it is\nlocked exclusively (write mode). If a panic occurs in any reader, then the\nlock will not be poisoned.\n\n[usually]: super::Mutex#poisoning\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(5);\n\n// many reader locks can be held at once\n{\n let r1 = lock.read().unwrap();\n let r2 = lock.read().unwrap();\n assert_eq!(*r1, 5);\n assert_eq!(*r2, 5);\n} // read locks are dropped at this point\n\n// only one write lock may be held, however\n{\n let mut w = lock.write().unwrap();\n *w += 1;\n assert_eq!(*w, 6);\n} // write lock is dropped here\n```\n\n[`Mutex`]: super::Mutex", - "id": 8044, + "docs": null, + "id": 7998, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7971, + "path": "Condvar" + } + }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "impls": [ - 8049, - 8061, - 8062, - 8063, - 8064, - 8065, - 8066, - 8067, - 8068, - 8069, - 8070, - 8071, - 8072, - 8073, - 8074, - 8075, - 8077, - 8079, - 8081 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 7997 ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 107, + "path": "Default" } } }, - "links": { - "`DerefMut`": 1989, - "`Deref`": 1969, - "`Send`": 1, - "`Sync`": 5, - "super::Mutex": 495, - "super::Mutex#poisoning": 495 - }, - "name": "RwLock", + "links": {}, + "name": null, "span": { "begin": [ - 82, + 442, 1 ], "end": [ - 86, + 447, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/condvar.rs" }, - "visibility": "public" + "visibility": "default" }, - "8045": { + "8": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"const_locks\", promotable: false}}]" + "other": "#[doc(no_inline)]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a new instance of an `RwLock` which is unlocked.\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(5);\n```", - "id": 8045, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "t", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8044, - "path": "RwLock" - } - } - } - } - }, - "links": {}, - "name": "new", - "span": { - "begin": [ - 223, - 5 - ], - "end": [ - 225, - 6 - ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "public" - }, - "8046": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the contained value by cloning it.\n\n# Errors\n\nThis function will return an error if the `RwLock` is poisoned. An\n`RwLock` is poisoned whenever a writer panics while holding an exclusive\nlock.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::RwLock;\n\nlet mut lock = RwLock::new(7);\n\nassert_eq!(lock.get_cloned().unwrap(), 7);\n```", - "id": 8046, + "docs": null, + "id": 8, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - } - ], - "constraints": [] - } - }, - "id": 7891, - "path": "PoisonError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } + "use": { + "id": 9, + "is_glob": false, + "name": "Drop", + "source": "crate::ops::Drop" } }, "links": {}, - "name": "get_cloned", + "name": null, "span": { "begin": [ - 247, - 5 + 16, + 22 ], "end": [ - 255, - 6 + 16, + 26 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "8047": { + "80": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Sets the contained value.\n\n# Errors\n\nThis function will return an error containing the provided `value` if\nthe `RwLock` is poisoned. An `RwLock` is poisoned whenever a writer\npanics while holding an exclusive lock.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::RwLock;\n\nlet mut lock = RwLock::new(7);\n\nassert_eq!(lock.get_cloned().unwrap(), 7);\nlock.set(11).unwrap();\nassert_eq!(lock.get_cloned().unwrap(), 11);\n```", - "id": 8047, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "value", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7891, - "path": "PoisonError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } - } - }, - "links": {}, - "name": "set", - "span": { - "begin": [ - 279, - 5 - ], - "end": [ - 294, - 6 - ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "public" - }, - "8048": { - "attrs": [ + "other": "#[doc(no_inline)]" + }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Replaces the contained value with `value`, and returns the old contained value.\n\n# Errors\n\nThis function will return an error containing the provided `value` if\nthe `RwLock` is poisoned. An `RwLock` is poisoned whenever a writer\npanics while holding an exclusive lock.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::RwLock;\n\nlet mut lock = RwLock::new(7);\n\nassert_eq!(lock.replace(11).unwrap(), 7);\nassert_eq!(lock.get_cloned().unwrap(), 11);\n```", - "id": 8048, + "docs": null, + "id": 80, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "value", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7862, - "path": "LockResult" - } - } - } + "use": { + "id": 81, + "is_glob": false, + "name": "include_bytes", + "source": "core::prelude::v1::include_bytes" } }, "links": {}, - "name": "replace", + "name": null, "span": { "begin": [ - 317, - 5 + 51, + 30 ], "end": [ - 322, - 6 + 51, + 43 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "8049": { + "800": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8049, + "id": 800, "inner": { "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8044, - "path": "RwLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] + "blanket_impl": { + "generic": "T" }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8045, - 8046, - 8047, - 8048 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 210, - 1 - ], - "end": [ - 323, - 2 - ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "default" - }, - "805": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 805, - "inner": { - "impl": { - "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -679873,17 +693456,7 @@ "is_synthetic": false } }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" + "name": "T" }, { "kind": { @@ -679893,7 +693466,7 @@ "is_synthetic": false } }, - "name": "S" + "name": "U" } ], "where_predicates": [ @@ -679905,58 +693478,27 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "S" + "generic": "U" } } } @@ -679966,16 +693508,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 803, - 804 - ], - "provided_trait_methods": [ - "clone_from" + 332, + 334 ], + "provided_trait_methods": [], "trait": { - "args": null, - "id": 99, - "path": "Clone" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, @@ -679983,21 +693534,112 @@ "name": null, "span": { "begin": [ - 1301, + 827, 1 ], "end": [ - 1316, - 2 + 829, + 24 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8050": { + "8002": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[(not(test), rustc_diagnostic_item = \"NonPoisonMutex\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"NonPoisonMutex\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A mutual exclusion primitive useful for protecting shared data that does not keep track of\nlock poisoning.\n\nFor more information about mutexes, check out the documentation for the poisoning variant of\nthis lock at [`poison::Mutex`].\n\n[`poison::Mutex`]: crate::sync::poison::Mutex\n\n# Examples\n\nNote that this `Mutex` does **not** propagate threads that panic while holding the lock via\npoisoning. If you need this functionality, see [`poison::Mutex`].\n\n```\n#![feature(nonpoison_mutex)]\n\nuse std::thread;\nuse std::sync::{Arc, nonpoison::Mutex};\n\nlet mutex = Arc::new(Mutex::new(0u32));\nlet mut handles = Vec::new();\n\nfor n in 0..10 {\n let m = Arc::clone(&mutex);\n let handle = thread::spawn(move || {\n let mut guard = m.lock();\n *guard += 1;\n panic!(\"panic from thread {n} {guard}\")\n });\n handles.push(handle);\n}\n\nfor h in handles {\n let _ = h.join();\n}\n\nprintln!(\"Finished, locked {} times\", mutex.lock());\n```", + "id": 8002, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 8007, + 8016, + 8017, + 8018, + 8019, + 8020, + 8021, + 8022, + 8023, + 8024, + 8025, + 8026, + 8027, + 8028, + 8029, + 8030, + 8032, + 8034, + 8036 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "crate::sync::poison::Mutex": 496 + }, + "name": "Mutex", + "span": { + "begin": [ + 50, + 1 + ], + "end": [ + 53, + 2 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "public" + }, + "8003": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -680005,8 +693647,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Locks this `RwLock` with shared read access, blocking the current thread\nuntil it can be acquired.\n\nThe calling thread will be blocked until there are no more writers which\nhold the lock. There may be other readers currently inside the lock when\nthis method returns. This method does not provide any guarantees with\nrespect to the ordering of whether contentious readers or writers will\nacquire the lock first.\n\nReturns an RAII guard which will release this thread's shared access\nonce it is dropped.\n\n# Errors\n\nThis function will return an error if the `RwLock` is poisoned. An\n`RwLock` is poisoned whenever a writer panics while holding an exclusive\nlock. The failure will occur immediately after the lock has been\nacquired. The acquired lock guard will be contained in the returned\nerror.\n\n# Panics\n\nThis function might panic when called if the lock is already held by the current thread.\n\n# Examples\n\n```\nuse std::sync::{Arc, RwLock};\nuse std::thread;\n\nlet lock = Arc::new(RwLock::new(1));\nlet c_lock = Arc::clone(&lock);\n\nlet n = lock.read().unwrap();\nassert_eq!(*n, 1);\n\nthread::spawn(move || {\n let r = c_lock.read();\n assert!(r.is_ok());\n}).join().unwrap();\n```", - "id": 8050, + "docs": "Creates a new mutex in an unlocked state ready for use.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mutex = Mutex::new(0);\n```", + "id": 8003, "inner": { "function": { "generics": { @@ -680017,21 +693659,15 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", + "t", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "T" } ] ], @@ -680043,182 +693679,127 @@ "args": [ { "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8051, - "path": "RwLockReadGuard" - } + "generic": "T" } } ], "constraints": [] } }, - "id": 7862, - "path": "LockResult" + "id": 8002, + "path": "Mutex" } } } } }, "links": {}, - "name": "read", + "name": "new", "span": { "begin": [ - 369, + 172, 5 ], "end": [ - 374, + 174, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8051": { + "8004": { "attrs": [ { - "other": "#[must_not_suspend =\n\"holding a RwLockReadGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" - }, - { - "other": "#[clippy::has_significant_drop]" - }, - { - "other": "#[(not(test), rustc_diagnostic_item = \"RwLockReadGuard\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"RwLockReadGuard\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "if unused the RwLock will immediately unlock" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "RAII structure used to release the shared read access of a lock when\ndropped.\n\nThis structure is created by the [`read`] and [`try_read`] methods on\n[`RwLock`].\n\n[`read`]: RwLock::read\n[`try_read`]: RwLock::try_read", - "id": 8051, + "docs": "Returns the contained value by cloning it.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(lock_value_accessors)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.get_cloned(), 7);\n```", + "id": 8004, "inner": { - "struct": { + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, + "params": [], + "where_predicates": [ { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" } - }, - { - "outlives": "'a" } - ], - "default": null, - "is_synthetic": false + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "name": "T" + } } - ], - "where_predicates": [] + ] }, - "impls": [ - 8087, - 8088, - 8089, - 8090, - 8091, - 8092, - 8093, - 8094, - 8095, - 8096, - 8097, - 8098, - 8099, - 8100, - 8101, - 8102, - 8104, - 8106, - 8109, - 8111 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "T" } } } }, - "links": { - "RwLock::read": 8050, - "RwLock::try_read": 8052, - "`RwLock`": 8044 - }, - "name": "RwLockReadGuard", + "links": {}, + "name": "get_cloned", "span": { "begin": [ - 108, - 1 + 192, + 5 ], "end": [ - 115, - 2 + 197, + 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8052": { + "8005": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to acquire this `RwLock` with shared read access.\n\nIf the access could not be granted at this time, then `Err` is returned.\nOtherwise, an RAII guard is returned which will release the shared access\nwhen it is dropped.\n\nThis function does not block.\n\nThis function does not provide any guarantees with respect to the ordering\nof whether contentious readers or writers will acquire the lock first.\n\n# Errors\n\nThis function will return the [`Poisoned`] error if the `RwLock` is\npoisoned. An `RwLock` is poisoned whenever a writer panics while holding\nan exclusive lock. `Poisoned` will only be returned if the lock would\nhave otherwise been acquired. An acquired lock guard will be contained\nin the returned error.\n\nThis function will return the [`WouldBlock`] error if the `RwLock` could\nnot be acquired because it was already locked exclusively.\n\n[`Poisoned`]: TryLockError::Poisoned\n[`WouldBlock`]: TryLockError::WouldBlock\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(1);\n\nmatch lock.try_read() {\n Ok(n) => assert_eq!(*n, 1),\n Err(_) => unreachable!(),\n};\n```", - "id": 8052, + "docs": "Sets the contained value.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(lock_value_accessors)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.get_cloned(), 7);\nmutex.set(11);\nassert_eq!(mutex.get_cloned(), 11);\n```", + "id": 8005, "inner": { "function": { "generics": { @@ -680245,79 +693826,44 @@ } } } + ], + [ + "value", + { + "generic": "T" + } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8051, - "path": "RwLockReadGuard" - } - } - } - ], - "constraints": [] - } - }, - "id": 7900, - "path": "TryLockResult" - } - } + "output": null } } }, - "links": { - "TryLockError::Poisoned": 7898, - "TryLockError::WouldBlock": 7899 - }, - "name": "try_read", + "links": {}, + "name": "set", "span": { "begin": [ - 415, + 217, 5 ], "end": [ - 423, + 225, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8053": { + "8006": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Locks this `RwLock` with exclusive write access, blocking the current\nthread until it can be acquired.\n\nThis function will not return while other writers or other readers\ncurrently have access to the lock.\n\nReturns an RAII guard which will drop the write access of this `RwLock`\nwhen dropped.\n\n# Errors\n\nThis function will return an error if the `RwLock` is poisoned. An\n`RwLock` is poisoned whenever a writer panics while holding an exclusive\nlock. An error will be returned when the lock is acquired. The acquired\nlock guard will be contained in the returned error.\n\n# Panics\n\nThis function might panic when called if the lock is already held by the current thread.\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(1);\n\nlet mut n = lock.write().unwrap();\n*n = 2;\n\nassert!(lock.try_read().is_err());\n```", - "id": 8053, + "docs": "Replaces the contained value with `value`, and returns the old contained value.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n#![feature(lock_value_accessors)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.replace(11), 7);\nassert_eq!(mutex.get_cloned(), 11);\n```", + "id": 8006, "inner": { "function": { "generics": { @@ -680344,121 +693890,69 @@ } } } + ], + [ + "value", + { + "generic": "T" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8054, - "path": "RwLockWriteGuard" - } - } - } - ], - "constraints": [] - } - }, - "id": 7862, - "path": "LockResult" - } + "generic": "T" } } } }, "links": {}, - "name": "write", + "name": "replace", "span": { "begin": [ - 459, + 244, 5 ], "end": [ - 464, + 247, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8054": { - "attrs": [ - { - "other": "#[must_not_suspend =\n\"holding a RwLockWriteGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Future's to not implement `Send`\"]" - }, - { - "other": "#[clippy::has_significant_drop]" - }, - { - "other": "#[(not(test), rustc_diagnostic_item = \"RwLockWriteGuard\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"RwLockWriteGuard\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "if unused the RwLock will immediately unlock" - } - } - ], + "8007": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "RAII structure used to release the exclusive write access of a lock when\ndropped.\n\nThis structure is created by the [`write`] and [`try_write`] methods\non [`RwLock`].\n\n[`write`]: RwLock::write\n[`try_write`]: RwLock::try_write", - "id": 8054, + "docs": null, + "id": 8007, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8002, + "path": "Mutex" + } + }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "outlives": "'a" - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -680468,69 +693962,44 @@ ], "where_predicates": [] }, - "impls": [ - 8118, - 8119, - 8120, - 8121, - 8122, - 8123, - 8124, - 8125, - 8126, - 8127, - 8128, - 8129, - 8130, - 8131, - 8132, - 8133, - 8135, - 8137, - 8140, - 8142, - 8144 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8003, + 8004, + 8005, + 8006 ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } + "provided_trait_methods": [], + "trait": null } }, - "links": { - "RwLock::try_write": 8055, - "RwLock::write": 8053, - "`RwLock`": 8044 - }, - "name": "RwLockWriteGuard", + "links": {}, + "name": null, "span": { "begin": [ - 138, + 158, 1 ], "end": [ - 141, + 248, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, - "visibility": "public" + "visibility": "default" }, - "8055": { + "8008": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Attempts to lock this `RwLock` with exclusive write access.\n\nIf the lock could not be acquired at this time, then `Err` is returned.\nOtherwise, an RAII guard is returned which will release the lock when\nit is dropped.\n\nThis function does not block.\n\nThis function does not provide any guarantees with respect to the ordering\nof whether contentious readers or writers will acquire the lock first.\n\n# Errors\n\nThis function will return the [`Poisoned`] error if the `RwLock` is\npoisoned. An `RwLock` is poisoned whenever a writer panics while holding\nan exclusive lock. `Poisoned` will only be returned if the lock would\nhave otherwise been acquired. An acquired lock guard will be contained\nin the returned error.\n\nThis function will return the [`WouldBlock`] error if the `RwLock` could\nnot be acquired because it was already locked.\n\n[`Poisoned`]: TryLockError::Poisoned\n[`WouldBlock`]: TryLockError::WouldBlock\n\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(1);\n\nlet n = lock.read().unwrap();\nassert_eq!(*n, 1);\n\nassert!(lock.try_write().is_err());\n```", - "id": 8055, + "docs": "Acquires a mutex, blocking the current thread until it is able to do so.\n\nThis function will block the local thread until it is available to acquire\nthe mutex. Upon returning, the thread is the only thread with the lock\nheld. An RAII guard is returned to allow scoped unlock of the lock. When\nthe guard goes out of scope, the mutex will be unlocked.\n\nThe exact behavior on locking a mutex in the thread which already holds\nthe lock is left unspecified. However, this function will not return on\nthe second call (it might panic or deadlock, for example).\n\n# Panics\n\nThis function might panic when called if the lock is already held by\nthe current thread.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n\nuse std::sync::{Arc, nonpoison::Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nthread::spawn(move || {\n *c_mutex.lock() = 10;\n}).join().expect(\"thread::spawn failed\");\nassert_eq!(*mutex.lock(), 10);\n```", + "id": 8008, "inner": { "function": { "generics": { @@ -680565,71 +694034,210 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'_" + }, { "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8054, - "path": "RwLockWriteGuard" - } + "generic": "T" } } ], "constraints": [] } }, - "id": 7900, - "path": "TryLockResult" + "id": 7976, + "path": "MutexGuard" } } } } }, - "links": { - "TryLockError::Poisoned": 7898, - "TryLockError::WouldBlock": 7899 - }, - "name": "try_write", + "links": {}, + "name": "lock", "span": { "begin": [ - 506, + 284, 5 ], "end": [ - 514, + 289, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8056": { + "8009": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" - }, + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"sync_nonpoison\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A lock could not be acquired at this time because the operation would otherwise block.", + "id": 8009, + "inner": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 8267, + 8268, + 8269, + 8270, + 8271, + 8272, + 8273, + 8274, + 8275, + 8276, + 8277, + 8278, + 8279, + 8280, + 8282, + 8284 + ], + "kind": "unit" + } + }, + "links": {}, + "name": "WouldBlock", + "span": { + "begin": [ + 16, + 1 + ], + "end": [ + 16, + 23 + ], + "filename": "std/src/sync/nonpoison.rs" + }, + "visibility": "public" + }, + "801": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 801, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "8010": { + "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Determines whether the lock is poisoned.\n\nIf another thread is active, the lock can still become poisoned at any\ntime. You should not trust a `false` value for program correctness\nwithout additional synchronization.\n\n# Examples\n\n```\nuse std::sync::{Arc, RwLock};\nuse std::thread;\n\nlet lock = Arc::new(RwLock::new(0));\nlet c_lock = Arc::clone(&lock);\n\nlet _ = thread::spawn(move || {\n let _lock = c_lock.write().unwrap();\n panic!(); // the lock gets poisoned\n}).join();\nassert_eq!(lock.is_poisoned(), true);\n```", - "id": 8056, + "docs": "Attempts to acquire this lock.\n\nThis function does not block. If the lock could not be acquired at this time, then\n[`WouldBlock`] is returned. Otherwise, an RAII guard is returned.\n\nThe lock will be unlocked when the guard is dropped.\n\n# Errors\n\nIf the mutex could not be acquired because it is already locked, then this call will return\nthe [`WouldBlock`] error.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nthread::spawn(move || {\n let mut lock = c_mutex.try_lock();\n if let Ok(ref mut mutex) = lock {\n **mutex = 10;\n } else {\n println!(\"try_lock failed\");\n }\n}).join().expect(\"thread::spawn failed\");\nassert_eq!(*mutex.lock().unwrap(), 10);\n```", + "id": 8010, "inner": { "function": { "generics": { @@ -680660,97 +694268,142 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7976, + "path": "MutexGuard" + } + } + } + ], + "constraints": [] + } + }, + "id": 8011, + "path": "TryLockResult" + } } } } }, - "links": {}, - "name": "is_poisoned", + "links": { + "`WouldBlock`": 8009 + }, + "name": "try_lock", "span": { "begin": [ - 539, + 323, 5 ], "end": [ - 541, + 325, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8057": { + "8011": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 77, patch: 0})}, feature: \"mutex_unpoison\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"sync_nonpoison\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Clear the poisoned state from a lock.\n\nIf the lock is poisoned, it will remain poisoned until this function is called. This allows\nrecovering from a poisoned state and marking that it has recovered. For example, if the\nvalue is overwritten by a known-good value, then the lock can be marked as un-poisoned. Or\npossibly, the value could be inspected to determine if it is in a consistent state, and if\nso the poison is removed.\n\n# Examples\n\n```\nuse std::sync::{Arc, RwLock};\nuse std::thread;\n\nlet lock = Arc::new(RwLock::new(0));\nlet c_lock = Arc::clone(&lock);\n\nlet _ = thread::spawn(move || {\n let _lock = c_lock.write().unwrap();\n panic!(); // the lock gets poisoned\n}).join();\n\nassert_eq!(lock.is_poisoned(), true);\nlet guard = lock.write().unwrap_or_else(|mut e| {\n **e.get_mut() = 1;\n lock.clear_poison();\n e.into_inner()\n});\nassert_eq!(lock.is_poisoned(), false);\nassert_eq!(*guard, 1);\n```", - "id": 8057, + "docs": "A type alias for the result of a nonblocking locking method.", + "id": 8011, "inner": { - "function": { + "type_alias": { "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Guard" + } + ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Guard" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 8009, + "path": "WouldBlock" + } + } } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": null + }, + "id": 57, + "path": "Result" + } } } }, "links": {}, - "name": "clear_poison", + "name": "TryLockResult", "span": { "begin": [ - 576, - 5 + 12, + 1 ], "end": [ - 578, - 6 + 12, + 59 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison.rs" }, "visibility": "public" }, - "8058": { + "8012": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"rwlock_into_inner\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Consumes this `RwLock`, returning the underlying data.\n\n# Errors\n\nThis function will return an error containing the underlying data if\nthe `RwLock` is poisoned. An `RwLock` is poisoned whenever a writer\npanics while holding an exclusive lock. An error will only be returned\nif the lock would have otherwise been acquired.\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(String::new());\n{\n let mut s = lock.write().unwrap();\n *s = \"modified\".to_owned();\n}\nassert_eq!(lock.into_inner().unwrap(), \"modified\");\n```", - "id": 8058, + "docs": "Consumes this mutex, returning the underlying data.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mutex = Mutex::new(0);\nassert_eq!(mutex.into_inner(), 0);\n```", + "id": 8012, "inner": { "function": { "generics": { @@ -680797,22 +694450,7 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7862, - "path": "LockResult" - } + "generic": "T" } } } @@ -680821,27 +694459,27 @@ "name": "into_inner", "span": { "begin": [ - 602, + 340, 5 ], "end": [ - 608, + 345, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8059": { + "8013": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"rwlock_get_mut\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns a mutable reference to the underlying data.\n\nSince this call borrows the `RwLock` mutably, no actual locking needs to\ntake place -- the mutable borrow statically guarantees no new locks can be acquired\nwhile this reference exists. Note that this method does not clear any previously abandoned locks\n(e.g., via [`forget()`] on a [`RwLockReadGuard`] or [`RwLockWriteGuard`]).\n\n# Errors\n\nThis function will return an error containing a mutable reference to\nthe underlying data if the `RwLock` is poisoned. An `RwLock` is\npoisoned whenever a writer panics while holding an exclusive lock.\nAn error will only be returned if the lock would have otherwise been\nacquired.\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet mut lock = RwLock::new(0);\n*lock.get_mut().unwrap() = 10;\nassert_eq!(*lock.read().unwrap(), 10);\n```", - "id": 8059, + "docs": "Returns a mutable reference to the underlying data.\n\nSince this call borrows the `Mutex` mutably, no actual locking needs to\ntake place -- the mutable borrow statically guarantees no locks exist.\n\n# Examples\n\n```\n#![feature(nonpoison_mutex)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mut mutex = Mutex::new(0);\n*mutex.get_mut() = 10;\nassert_eq!(*mutex.lock(), 10);\n```", + "id": 8013, "inner": { "function": { "generics": { @@ -680872,57 +694510,42 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 7862, - "path": "LockResult" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, - "links": { - "`RwLockReadGuard`": 8051, - "`RwLockWriteGuard`": 8054, - "`forget()`": 7904 - }, + "links": {}, "name": "get_mut", "span": { "begin": [ - 635, + 364, 5 ], "end": [ - 638, + 366, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "806": { - "attrs": [], + "8014": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140368, is_soft: false}, feature: \"mutex_data_ptr\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 806, + "docs": "Returns a raw pointer to the underlying data.\n\nThe returned pointer is always non-null and properly aligned, but it is\nthe user's responsibility to ensure that any reads and writes through it\nare properly synchronized to avoid data races, and that it is not read\nor written through after the mutex is dropped.", + "id": 8014, "inner": { "function": { "generics": { @@ -680933,7 +694556,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -680949,82 +694572,110 @@ } } } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "raw_pointer": { + "is_mutable": true, + "type": { + "generic": "T" + } + } } } } }, "links": {}, - "name": "eq", + "name": "data_ptr", "span": { "begin": [ - 1325, + 376, 5 ], "end": [ - 1331, + 378, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "8060": { + "8015": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140368, is_soft: false}, feature: \"rwlock_data_ptr\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns a raw pointer to the underlying data.\n\nThe returned pointer is always non-null and properly aligned, but it is\nthe user's responsibility to ensure that any reads and writes through it\nare properly synchronized to avoid data races, and that it is not read\nor written through after the lock is dropped.", - "id": 8060, + "docs": "Acquires the mutex and provides mutable access to the underlying data by passing\na mutable reference to the given closure.\n\nThis method acquires the lock, calls the provided closure with a mutable reference\nto the data, and returns the result of the closure. The lock is released after\nthe closure completes, even if it panics.\n\n# Examples\n\n```\n#![feature(lock_value_accessors, nonpoison_mutex)]\n\nuse std::sync::nonpoison::Mutex;\n\nlet mutex = Mutex::new(2);\n\nlet result = mutex.with_mut(|data| {\n *data += 3;\n\n *data + 5\n});\n\nassert_eq!(*mutex.lock(), 5);\nassert_eq!(result, 10);\n```", + "id": 8015, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "R" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "generic": "R" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] }, "has_body": true, "header": { @@ -681046,41 +694697,42 @@ } } } + ], + [ + "f", + { + "generic": "F" + } ] ], "is_c_variadic": false, "output": { - "raw_pointer": { - "is_mutable": true, - "type": { - "generic": "T" - } - } + "generic": "R" } } } }, "links": {}, - "name": "data_ptr", + "name": "with_mut", "span": { "begin": [ - 647, + 407, 5 ], "end": [ - 649, + 412, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8061": { + "8016": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8061, + "id": 8016, "inner": { "impl": { "blanket_impl": null, @@ -681098,8 +694750,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -681133,15 +694785,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8050, - 8052, - 8053, - 8055, - 8056, - 8057, - 8058, - 8059, - 8060 + 8008, + 8010, + 8012, + 8013, + 8014, + 8015 ], "provided_trait_methods": [], "trait": null @@ -681151,23 +694800,23 @@ "name": null, "span": { "begin": [ - 325, + 250, 1 ], "end": [ - 650, + 413, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8062": { + "8017": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8062, + "id": 8017, "inner": { "impl": { "blanket_impl": null, @@ -681185,8 +694834,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -681211,7 +694860,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -681221,12 +694870,12 @@ "span": null, "visibility": "default" }, - "8063": { + "8018": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8063, + "id": 8018, "inner": { "impl": { "blanket_impl": null, @@ -681244,8 +694893,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -681313,12 +694962,272 @@ "span": null, "visibility": "default" }, - "8064": { + "8019": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8064, + "id": 8019, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8002, + "path": "Mutex" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "802": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 802, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 85, + 1 + ], + "end": [ + 87, + 14 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "8020": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8020, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8002, + "path": "Mutex" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8021": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8021, "inner": { "impl": { "blanket_impl": { @@ -681338,8 +695247,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -681383,7 +695292,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -681399,7 +695308,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -681408,23 +695317,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8065": { + "8022": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8065, + "id": 8022, "inner": { "impl": { "blanket_impl": { @@ -681444,8 +695353,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -681489,7 +695398,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -681505,7 +695414,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -681514,23 +695423,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8066": { + "8023": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8066, + "id": 8023, "inner": { "impl": { "blanket_impl": { @@ -681550,8 +695459,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -681616,7 +695525,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -681641,23 +695550,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8067": { + "8024": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8067, + "id": 8024, "inner": { "impl": { "blanket_impl": { @@ -681677,8 +695586,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -681700,7 +695609,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -681725,23 +695634,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8068": { + "8025": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8068, + "id": 8025, "inner": { "impl": { "blanket_impl": { @@ -681761,8 +695670,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -681784,7 +695693,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1898 + 1896 ], "provided_trait_methods": [], "trait": { @@ -681809,23 +695718,23 @@ "name": null, "span": { "begin": [ - 808, + 802, 1 ], "end": [ - 808, + 802, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8069": { + "8026": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8069, + "id": 8026, "inner": { "impl": { "blanket_impl": { @@ -681845,8 +695754,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -681893,7 +695802,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -681911,8 +695820,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -681928,7 +695837,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -681937,205 +695846,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "807": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 807, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "S" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 743, - "path": "BuildHasher" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "S" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 806 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1319, - 1 - ], - "end": [ - 1332, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8070": { + "8027": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8070, + "id": 8027, "inner": { "impl": { "blanket_impl": { @@ -682155,8 +695882,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -682221,8 +695948,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -682238,7 +695965,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -682247,23 +695974,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8071": { + "8028": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8071, + "id": 8028, "inner": { "impl": { "blanket_impl": { @@ -682283,8 +696010,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -682331,12 +696058,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -682356,16 +696083,16 @@ }, "visibility": "default" }, - "8072": { + "8029": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8072, + "docs": "`T` must be `Send` for a [`Mutex`] to be `Send` because it is possible to acquire\nthe owned `T` from the `Mutex` via [`into_inner`].\n\n[`into_inner`]: Mutex::into_inner", + "id": 8029, "inner": { "impl": { "blanket_impl": null, @@ -682383,8 +696110,8 @@ "constraints": [] } }, - "id": 8044, - "path": "crate::sync::RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -682403,89 +696130,15 @@ "path": "Sized" } } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 266, - 1 - ], - "end": [ - 266, - 44 - ], - "filename": "std/src/panic.rs" - }, - "visibility": "default" - }, - "8073": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"unwind_safe_lock_refs\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8073, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8044, - "path": "crate::sync::RwLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ + }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 1, + "path": "Send" } } } @@ -682506,132 +696159,99 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 1, + "path": "Send" } } }, - "links": {}, + "links": { + "Mutex::into_inner": 8012, + "`Mutex`": 8002 + }, "name": null, "span": { "begin": [ - 273, + 60, 1 ], "end": [ - 273, - 47 + 60, + 51 ], - "filename": "std/src/panic.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8074": { + "803": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8074, + "id": 803, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8044, - "path": "RwLock" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } } } }, "links": {}, - "name": null, + "name": "clone", "span": { "begin": [ - 89, - 1 + 1308, + 5 ], "end": [ - 89, - 52 + 1310, + 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8075": { + "8030": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8075, + "docs": "`T` must be `Send` for [`Mutex`] to be `Sync`.\nThis ensures that the protected data can be accessed safely from multiple threads\nwithout causing data races or other unsafe behavior.\n\n[`Mutex`] provides mutable access to `T` to one thread at a time. However, it's essential\nfor `T` to be `Send` because it's not safe for non-`Send` structures to be accessed in\nthis manner. For instance, consider [`Rc`], a non-atomic reference counted smart pointer,\nwhich is not `Send`. With `Rc`, we can have multiple copies pointing to the same heap\nallocation with a non-atomic reference count. If we were to use `Mutex>`, it would\nonly protect one instance of `Rc` from shared access, leaving other copies vulnerable\nto potential data races.\n\nAlso note that it is not necessary for `T` to be `Sync` as `&T` is only made available\nto one thread at a time if `T` is not `Sync`.\n\n[`Rc`]: crate::rc::Rc", + "id": 8030, "inner": { "impl": { "blanket_impl": null, @@ -682649,8 +696269,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -682680,17 +696300,6 @@ "path": "Send" } } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } } ], "default": null, @@ -682714,27 +696323,31 @@ } } }, - "links": {}, + "links": { + "`Mutex`": 8002, + "`Mutex`": 8002, + "crate::rc::Rc": 2028 + }, "name": null, "span": { "begin": [ - 91, + 79, 1 ], "end": [ - 91, - 59 + 79, + 51 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8076": { + "8031": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8076, + "docs": "Creates a new mutex in an unlocked state ready for use.\nThis is equivalent to [`Mutex::new`].", + "id": 8031, "inner": { "function": { "generics": { @@ -682751,79 +696364,46 @@ "sig": { "inputs": [ [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", + "t", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } + "generic": "T" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + "generic": "Self" } } } }, - "links": {}, - "name": "fmt", + "links": { + "`Mutex::new`": 8003 + }, + "name": "from", "span": { "begin": [ - 654, + 419, 5 ], "end": [ - 669, + 421, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8077": { + "8032": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8077, + "id": 8032, "inner": { "impl": { "blanket_impl": null, @@ -682841,8 +696421,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -682850,30 +696430,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -682887,13 +696444,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8076 + 8031 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 346, - "path": "Debug" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, @@ -682901,23 +696469,23 @@ "name": null, "span": { "begin": [ - 653, + 416, 1 ], "end": [ - 670, + 422, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8078": { + "8033": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Creates a new `RwLock`, with the `Default` value for T.", - "id": 8078, + "docs": "Creates a `Mutex`, with the `Default` value for T.", + "id": 8033, "inner": { "function": { "generics": { @@ -682948,8 +696516,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } } } @@ -682959,27 +696527,27 @@ "name": "default", "span": { "begin": [ - 675, + 427, 5 ], "end": [ - 677, + 429, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8079": { + "8034": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"rw_lock_default\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8079, + "id": 8034, "inner": { "impl": { "blanket_impl": null, @@ -682997,8 +696565,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -683007,13 +696575,24 @@ "kind": { "type": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, { "trait_bound": { "generic_params": [], "modifier": "none", "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -683032,12 +696611,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8078 + 8033 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -683046,203 +696625,23 @@ "name": null, "span": { "begin": [ - 673, - 1 - ], - "end": [ - 678, - 2 - ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "default" - }, - "808": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 808, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "S" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 743, - "path": "BuildHasher" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "S" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1335, + 425, 1 ], "end": [ - 1341, + 430, 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8080": { + "8035": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Creates a new instance of an `RwLock` which is unlocked.\nThis is equivalent to [`RwLock::new`].", - "id": 8080, + "docs": null, + "id": 8035, "inner": { "function": { "generics": { @@ -683259,46 +696658,79 @@ "sig": { "inputs": [ [ - "t", + "self", { - "generic": "T" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, - "links": { - "`RwLock::new`": 8045 - }, - "name": "from", + "links": {}, + "name": "fmt", "span": { "begin": [ - 684, + 434, 5 ], "end": [ - 686, + 445, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8081": { + "8036": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"rw_lock_from\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8081, + "id": 8036, "inner": { "impl": { "blanket_impl": null, @@ -683316,8 +696748,8 @@ "constraints": [] } }, - "id": 8044, - "path": "RwLock" + "id": 8002, + "path": "Mutex" } }, "generics": { @@ -683325,7 +696757,30 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], "default": null, "is_synthetic": false } @@ -683339,24 +696794,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8080 + 8035 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 344, + "path": "Debug" } } }, @@ -683364,21 +696808,21 @@ "name": null, "span": { "begin": [ - 681, + 433, 1 ], "end": [ - 687, + 446, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8084": { + "8038": { "attrs": [ { - "other": "#[must_not_suspend =\n\"holding a MappedRwLockReadGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" + "other": "#[must_not_suspend =\n\"holding a MappedMutexGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" }, { "other": "#[clippy::has_significant_drop]" @@ -683388,14 +696832,14 @@ }, { "must_use": { - "reason": "if unused the RwLock will immediately unlock" + "reason": "if unused the Mutex will immediately unlock" } } ], "crate_id": 0, "deprecation": null, - "docs": "RAII structure used to release the shared read access of a lock when\ndropped, which can point to a subfield of the protected data.\n\nThis structure is created by the [`map`] and [`filter_map`] methods\non [`RwLockReadGuard`].\n\n[`map`]: RwLockReadGuard::map\n[`filter_map`]: RwLockReadGuard::filter_map", - "id": 8084, + "docs": "An RAII mutex guard returned by `MutexGuard::map`, which can point to a\nsubfield of the protected data. When this structure is dropped (falls out\nof scope), the lock will be unlocked.\n\nThe main difference between `MappedMutexGuard` and [`MutexGuard`] is that the\nformer cannot be used with [`Condvar`], since that could introduce soundness issues if the\nlocked object is modified by another thread while the `Mutex` is unlocked.\n\nThe data protected by the mutex can be accessed through this guard via its\n[`Deref`] and [`DerefMut`] implementations.\n\nThis structure is created by the [`map`] and [`filter_map`] methods on\n[`MutexGuard`].\n\n[`map`]: MutexGuard::map\n[`filter_map`]: MutexGuard::filter_map\n[`Condvar`]: crate::sync::nonpoison::Condvar", + "id": 8038, "inner": { "struct": { "generics": { @@ -683437,26 +696881,27 @@ "where_predicates": [] }, "impls": [ - 8149, - 8150, - 8151, - 8152, - 8153, - 8154, - 8155, - 8156, - 8157, - 8158, - 8159, - 8160, - 8161, - 8162, - 8163, - 8164, - 8166, - 8168, - 8171, - 8173 + 8073, + 8074, + 8075, + 8076, + 8077, + 8078, + 8079, + 8080, + 8081, + 8082, + 8083, + 8084, + 8085, + 8086, + 8087, + 8088, + 8091, + 8093, + 8095, + 8097, + 8099 ], "kind": { "plain": { @@ -683467,25 +696912,28 @@ } }, "links": { - "RwLockReadGuard::filter_map": 8086, - "RwLockReadGuard::map": 8085, - "`RwLockReadGuard`": 8051 + "MutexGuard::filter_map": 8040, + "MutexGuard::map": 8039, + "`DerefMut`": 1987, + "`Deref`": 1967, + "`MutexGuard`": 7976, + "crate::sync::nonpoison::Condvar": 7971 }, - "name": "MappedRwLockReadGuard", + "name": "MappedMutexGuard", "span": { "begin": [ - 163, + 141, 1 ], "end": [ - 170, + 149, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8085": { + "8039": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" @@ -683493,8 +696941,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockReadGuard::map(...)`. A method would interfere with methods of\nthe same name on the contents of the `RwLockReadGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will not be poisoned.", - "id": 8085, + "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MutexGuard::map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", + "id": 8039, "inner": { "function": { "generics": { @@ -683534,7 +696982,7 @@ "inputs": [ { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "T" @@ -683544,7 +696992,7 @@ ], "output": { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "U" @@ -683628,31 +697076,101 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8038, + "path": "MappedMutexGuard" } } } } }, "links": { - "`MappedRwLockReadGuard`": 8084 + "`MappedMutexGuard`": 8038 }, "name": "map", "span": { "begin": [ - 888, + 510, 5 ], "end": [ - 900, + 522, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8086": { + "804": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 804, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "source", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "clone_from", + "span": { + "begin": [ + 1313, + 5 + ], + "end": [ + 1315, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8040": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" @@ -683660,8 +697178,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockReadGuard::filter_map(...)`. A method would interfere with methods\nof the same name on the contents of the `RwLockReadGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will not be poisoned.", - "id": 8086, + "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MutexGuard::filter_map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", + "id": 8040, "inner": { "function": { "generics": { @@ -683701,7 +697219,7 @@ "inputs": [ { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "T" @@ -683717,7 +697235,7 @@ { "type": { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "U" @@ -683816,8 +697334,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8038, + "path": "MappedMutexGuard" } } }, @@ -683838,28 +697356,28 @@ } }, "links": { - "`MappedRwLockReadGuard`": 8084 + "`MappedMutexGuard`": 8038 }, "name": "filter_map", "span": { "begin": [ - 917, + 535, 5 ], "end": [ - 934, + 552, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8087": { + "8041": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8087, + "id": 8041, "inner": { "impl": { "blanket_impl": null, @@ -683880,8 +697398,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -683923,8 +697441,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8085, - 8086 + 8039, + 8040 ], "provided_trait_methods": [], "trait": null @@ -683934,23 +697452,23 @@ "name": null, "span": { "begin": [ - 873, + 499, 1 ], "end": [ - 935, + 553, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8088": { + "8042": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8088, + "id": 8042, "inner": { "impl": { "blanket_impl": null, @@ -683971,8 +697489,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -684027,7 +697545,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -684037,12 +697555,12 @@ "span": null, "visibility": "default" }, - "8089": { + "8043": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8089, + "id": 8043, "inner": { "impl": { "blanket_impl": null, @@ -684063,8 +697581,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -684129,97 +697647,12 @@ "span": null, "visibility": "default" }, - "809": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 809, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1349, - 5 - ], - "end": [ - 1351, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8090": { + "8044": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8090, + "id": 8044, "inner": { "impl": { "blanket_impl": null, @@ -684240,8 +697673,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -684265,49 +697698,16 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -684317,12 +697717,12 @@ "span": null, "visibility": "default" }, - "8091": { + "8045": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8091, + "id": 8045, "inner": { "impl": { "blanket_impl": null, @@ -684343,8 +697743,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -684368,49 +697768,16 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -684420,12 +697787,12 @@ "span": null, "visibility": "default" }, - "8092": { + "8046": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8092, + "id": 8046, "inner": { "impl": { "blanket_impl": { @@ -684448,8 +697815,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -684493,7 +697860,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -684509,7 +697876,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -684518,23 +697885,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8093": { + "8047": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8093, + "id": 8047, "inner": { "impl": { "blanket_impl": { @@ -684557,8 +697924,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -684602,7 +697969,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -684618,7 +697985,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -684627,23 +697994,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8094": { + "8048": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8094, + "id": 8048, "inner": { "impl": { "blanket_impl": { @@ -684666,8 +698033,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -684732,7 +698099,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -684757,23 +698124,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8095": { + "8049": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8095, + "id": 8049, "inner": { "impl": { "blanket_impl": { @@ -684796,8 +698163,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -684819,7 +698186,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -684844,23 +698211,195 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8096": { + "805": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 805, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "S" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 803, + 804 + ], + "provided_trait_methods": [ + "clone_from" + ], + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1301, + 1 + ], + "end": [ + 1316, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8050": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8096, + "id": 8050, "inner": { "impl": { "blanket_impl": { @@ -684883,8 +698422,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -684931,7 +698470,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -684949,8 +698488,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -684966,7 +698505,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -684975,23 +698514,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8097": { + "8051": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8097, + "id": 8051, "inner": { "impl": { "blanket_impl": { @@ -685014,8 +698553,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -685080,8 +698619,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -685097,7 +698636,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -685106,23 +698645,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8098": { + "8052": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8098, + "id": 8052, "inner": { "impl": { "blanket_impl": { @@ -685145,8 +698684,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -685199,7 +698738,7 @@ ] } }, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -685249,12 +698788,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1970, + "id": 1968, "path": "Receiver" } } @@ -685263,23 +698802,23 @@ "name": null, "span": { "begin": [ - 380, + 378, 1 ], "end": [ - 382, + 380, 26 ], "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "8099": { + "8053": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8099, + "id": 8053, "inner": { "impl": { "blanket_impl": { @@ -685302,8 +698841,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -685350,12 +698889,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -685375,160 +698914,12 @@ }, "visibility": "default" }, - "810": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 810, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "S" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 809 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1344, - 1 - ], - "end": [ - 1352, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8100": { + "8054": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8100, + "id": 8054, "inner": { "impl": { "blanket_impl": { @@ -685551,8 +698942,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -685612,7 +699003,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -685621,27 +699012,27 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8101": { + "8055": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8101, + "docs": "A [`MutexGuard`] is not `Send` to maximize platform portability.\n\nOn platforms that use POSIX threads (commonly referred to as pthreads) there is a requirement to\nrelease mutex locks on the same thread they were acquired.\nFor this reason, [`MutexGuard`] must not implement `Send` to prevent it being dropped from\nanother thread.", + "id": 8055, "inner": { "impl": { "blanket_impl": null, @@ -685662,8 +699053,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -685705,31 +699096,33 @@ } } }, - "links": {}, + "links": { + "`MutexGuard`": 7976 + }, "name": null, "span": { "begin": [ - 118, + 110, 1 ], "end": [ - 118, - 52 + 110, + 47 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8102": { + "8056": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"rwlock_guard_sync\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8102, + "docs": "`T` must be `Sync` for a [`MutexGuard`] to be `Sync`\nbecause it is possible to get a `&T` from `&MutexGuard` (via `Deref`).", + "id": 8056, "inner": { "impl": { "blanket_impl": null, @@ -685750,8 +699143,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -685804,27 +699197,62 @@ } } }, - "links": {}, + "links": { + "`MutexGuard`": 7976 + }, "name": null, "span": { "begin": [ - 121, + 115, 1 ], "end": [ - 121, - 65 + 115, + 60 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8103": { + "8057": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8103, + "id": 8057, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } + } + }, + "links": {}, + "name": "Target", + "span": { + "begin": [ + 456, + 5 + ], + "end": [ + 456, + 21 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "default" + }, + "8058": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8058, "inner": { "function": { "generics": { @@ -685851,69 +699279,46 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "fmt", + "name": "deref", "span": { "begin": [ - 716, + 458, 5 ], "end": [ - 718, + 460, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8104": { + "8059": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8104, + "id": 8059, "inner": { "impl": { "blanket_impl": null, @@ -685934,8 +699339,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -685954,17 +699359,6 @@ "path": "Sized" } } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } } ], "default": null, @@ -685980,13 +699374,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8103 + 8057, + 8058 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 1967, + "path": "Deref" } } }, @@ -685994,23 +699389,23 @@ "name": null, "span": { "begin": [ - 715, + 455, 1 ], "end": [ - 719, + 461, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8105": { + "806": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8105, + "id": 806, "inner": { "function": { "generics": { @@ -686039,10 +699434,10 @@ } ], [ - "f", + "other", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "resolved_path": { @@ -686050,14 +699445,26 @@ "angle_bracketed": { "args": [ { - "lifetime": "'_" + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } } ], "constraints": [] } }, - "id": 343, - "path": "fmt::Formatter" + "id": 738, + "path": "HashMap" } } } @@ -686066,40 +699473,98 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "eq", + "span": { + "begin": [ + 1325, + 5 + ], + "end": [ + 1331, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8060": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8060, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "fmt", + "name": "deref_mut", "span": { "begin": [ - 723, + 465, 5 ], "end": [ - 725, + 467, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8106": { + "8061": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"std_guard_impls\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8106, + "id": 8061, "inner": { "impl": { "blanket_impl": null, @@ -686120,8 +699585,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -686140,17 +699605,6 @@ "path": "Sized" } } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "fmt::Display" - } - } } ], "default": null, @@ -686166,13 +699620,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8105 + 8060 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 1987, + "path": "DerefMut" } } }, @@ -686180,56 +699634,27 @@ "name": null, "span": { "begin": [ - 722, + 464, 1 ], "end": [ - 726, + 468, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8107": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8107, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "T" - } + "8062": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" } - }, - "links": {}, - "name": "Target", - "span": { - "begin": [ - 772, - 5 - ], - "end": [ - 772, - 21 - ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "default" - }, - "8108": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8108, + "id": 8062, "inner": { "function": { "generics": { @@ -686249,7 +699674,7 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" @@ -686259,43 +699684,35 @@ ] ], "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } + "output": null } } }, "links": {}, - "name": "deref", + "name": "drop", "span": { "begin": [ - 774, + 473, 5 ], "end": [ - 777, + 477, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8109": { + "8063": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8109, + "id": 8063, "inner": { "impl": { "blanket_impl": null, @@ -686316,8 +699733,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -686351,14 +699768,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8107, - 8108 + 8062 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1969, - "path": "Deref" + "id": 9, + "path": "Drop" } } }, @@ -686366,27 +699782,23 @@ "name": null, "span": { "begin": [ - 771, + 471, 1 ], "end": [ - 778, + 478, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "811": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8064": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Creates an empty `HashMap`, with the `Default` value for the hasher.", - "id": 811, + "docs": null, + "id": 8064, "inner": { "function": { "generics": { @@ -686401,60 +699813,178 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 482, + 5 + ], + "end": [ + 484, + 6 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "default" + }, + "8065": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8065, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7976, + "path": "MutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ { - "type": { - "generic": "V" + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } } }, { - "type": { - "generic": "S" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } } } ], - "constraints": [] + "default": null, + "is_synthetic": false } }, - "id": 738, - "path": "HashMap" + "name": "T" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8064 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" } } }, "links": {}, - "name": "default", + "name": null, "span": { "begin": [ - 1361, - 5 + 481, + 1 ], "end": [ - 1363, - 6 + 485, + 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8110": { + "8066": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8110, + "id": 8066, "inner": { "function": { "generics": { @@ -686474,45 +700004,76 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } } } }, "links": {}, - "name": "drop", + "name": "fmt", "span": { "begin": [ - 831, + 489, 5 ], "end": [ - 836, + 491, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8111": { + "8067": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8111, + "id": 8067, "inner": { "impl": { "blanket_impl": null, @@ -686533,8 +700094,8 @@ "constraints": [] } }, - "id": 8051, - "path": "RwLockReadGuard" + "id": 7976, + "path": "MutexGuard" } }, "generics": { @@ -686553,6 +700114,17 @@ "path": "Sized" } } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "fmt::Display" + } + } } ], "default": null, @@ -686568,13 +700140,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8110 + 8066 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 9, - "path": "Drop" + "id": 436, + "path": "Display" } } }, @@ -686582,129 +700154,200 @@ "name": null, "span": { "begin": [ - 830, + 488, 1 ], "end": [ - 837, + 492, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8114": { + "807": { "attrs": [ { - "other": "#[must_not_suspend =\n\"holding a MappedRwLockWriteGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Future's to not implement `Send`\"]" - }, - { - "other": "#[clippy::has_significant_drop]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - }, - { - "must_use": { - "reason": "if unused the RwLock will immediately unlock" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "RAII structure used to release the exclusive write access of a lock when\ndropped, which can point to a subfield of the protected data.\n\nThis structure is created by the [`map`] and [`filter_map`] methods\non [`RwLockWriteGuard`].\n\n[`map`]: RwLockWriteGuard::map\n[`filter_map`]: RwLockWriteGuard::filter_map", - "id": 8114, + "docs": null, + "id": 807, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" + } + }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "K" }, { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, - { - "outlives": "'a" - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "T" + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 121, + "path": "PartialEq" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 743, + "path": "BuildHasher" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "S" + } + } + } + ] }, - "impls": [ - 8181, - 8182, - 8183, - 8184, - 8185, - 8186, - 8187, - 8188, - 8189, - 8190, - 8191, - 8192, - 8193, - 8194, - 8195, - 8196, - 8198, - 8200, - 8203, - 8205, - 8207 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 806 ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "provided_trait_methods": [ + "ne" + ], + "trait": { + "args": null, + "id": 121, + "path": "PartialEq" } } }, - "links": { - "RwLockWriteGuard::filter_map": 8116, - "RwLockWriteGuard::map": 8115, - "`RwLockWriteGuard`": 8054 - }, - "name": "MappedRwLockWriteGuard", + "links": {}, + "name": null, "span": { "begin": [ - 192, + 1319, 1 ], "end": [ - 202, + 1332, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "8115": { + "8071": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" @@ -686712,8 +700355,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockWriteGuard::map(...)`. A method would interfere with methods of\nthe same name on the contents of the `RwLockWriteGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will be poisoned.", - "id": 8115, + "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedMutexGuard::map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", + "id": 8071, "inner": { "function": { "generics": { @@ -686847,31 +700490,31 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } } } } }, "links": { - "`MappedRwLockWriteGuard`": 8114 + "`MappedMutexGuard`": 8038 }, "name": "map", "span": { "begin": [ - 1016, + 606, 5 ], "end": [ - 1034, + 618, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8116": { + "8072": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" @@ -686879,8 +700522,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockWriteGuard::filter_map(...)`. A method would interfere with methods\nof the same name on the contents of the `RwLockWriteGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will be poisoned.", - "id": 8116, + "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedMutexGuard::filter_map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", + "id": 8072, "inner": { "function": { "generics": { @@ -687035,8 +700678,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } } }, @@ -687057,103 +700700,28 @@ } }, "links": { - "`MappedRwLockWriteGuard`": 8114 + "`MappedMutexGuard`": 8038 }, "name": "filter_map", "span": { "begin": [ - 1051, - 5 - ], - "end": [ - 1074, - 6 - ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "public" - }, - "8117": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 128203, is_soft: false}, feature: \"rwlock_downgrade\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Downgrades a write-locked `RwLockWriteGuard` into a read-locked [`RwLockReadGuard`].\n\nThis method will atomically change the state of the [`RwLock`] from exclusive mode into\nshared mode. This means that it is impossible for a writing thread to get in between a\nthread calling `downgrade` and the same thread reading whatever it wrote while it had the\n[`RwLock`] in write mode.\n\nNote that since we have the `RwLockWriteGuard`, we know that the [`RwLock`] is already\nlocked for writing, so this method cannot fail.\n\n# Example\n\n```\n#![feature(rwlock_downgrade)]\nuse std::sync::{Arc, RwLock, RwLockWriteGuard};\n\n// The inner value starts as 0.\nlet rw = Arc::new(RwLock::new(0));\n\n// Put the lock in write mode.\nlet mut main_write_guard = rw.write().unwrap();\n\nlet evil = rw.clone();\nlet handle = std::thread::spawn(move || {\n // This will not return until the main thread drops the `main_read_guard`.\n let mut evil_guard = evil.write().unwrap();\n\n assert_eq!(*evil_guard, 1);\n *evil_guard = 2;\n});\n\n// After spawning the writer thread, set the inner value to 1.\n*main_write_guard = 1;\n\n// Atomically downgrade the write guard into a read guard.\nlet main_read_guard = RwLockWriteGuard::downgrade(main_write_guard);\n\n// Since `downgrade` is atomic, the writer thread cannot have set the inner value to 2.\nassert_eq!(*main_read_guard, 1, \"`downgrade` was not atomic\");\n\n// Clean up everything now\ndrop(main_read_guard);\nhandle.join().unwrap();\n\nlet final_check = rw.read().unwrap();\nassert_eq!(*final_check, 2);\n```", - "id": 8117, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "s", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8051, - "path": "RwLockReadGuard" - } - } - } - } - }, - "links": { - "`RwLockReadGuard`": 8051, - "`RwLock`": 8044 - }, - "name": "downgrade", - "span": { - "begin": [ - 1124, + 631, 5 ], "end": [ - 1136, + 648, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "public" }, - "8118": { + "8073": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8118, + "id": 8073, "inner": { "impl": { "blanket_impl": null, @@ -687174,8 +700742,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -687217,9 +700785,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8115, - 8116, - 8117 + 8071, + 8072 ], "provided_trait_methods": [], "trait": null @@ -687229,23 +700796,23 @@ "name": null, "span": { "begin": [ - 1001, + 595, 1 ], "end": [ - 1137, + 649, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8119": { + "8074": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8119, + "id": 8074, "inner": { "impl": { "blanket_impl": null, @@ -687266,8 +700833,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -687322,7 +700889,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -687332,16 +700899,12 @@ "span": null, "visibility": "default" }, - "812": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8075": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 812, + "id": 8075, "inner": { "impl": { "blanket_impl": null, @@ -687351,49 +700914,30 @@ "angle_bracketed": { "args": [ { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } + "lifetime": "'a" }, { "type": { - "generic": "S" + "generic": "T" } } ], "constraints": [] } }, - "id": 738, - "path": "HashMap" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "V" + "name": "'a" }, { "kind": { @@ -687403,7 +700947,7 @@ "is_synthetic": false } }, - "name": "S" + "name": "T" } ], "where_predicates": [ @@ -687413,58 +700957,46 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "S" + "generic": "T" } } } ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 811 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 7, + "path": "Unpin" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 1355, - 1 - ], - "end": [ - 1364, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, + "span": null, "visibility": "default" }, - "8120": { + "8076": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8120, + "id": 8076, "inner": { "impl": { "blanket_impl": null, @@ -687485,8 +701017,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -687510,39 +701042,17 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 316, + "path": "UnwindSafe" } } }, @@ -687551,12 +701061,12 @@ "span": null, "visibility": "default" }, - "8121": { + "8077": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8121, + "id": 8077, "inner": { "impl": { "blanket_impl": null, @@ -687577,8 +701087,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -687606,6 +701116,17 @@ { "bound_predicate": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, { "trait_bound": { "generic_params": [], @@ -687634,7 +701155,7 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" } } }, @@ -687643,15 +701164,17 @@ "span": null, "visibility": "default" }, - "8122": { + "8078": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8122, + "id": 8078, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -687669,20 +701192,12 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -687719,28 +701234,51 @@ ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 319 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "8123": { + "8079": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8123, + "id": 8079, "inner": { "impl": { "blanket_impl": { @@ -687763,8 +701301,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -687808,7 +701346,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 322 ], "provided_trait_methods": [], "trait": { @@ -687824,8 +701362,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 324, + "path": "BorrowMut" } } }, @@ -687833,47 +701371,56 @@ "name": null, "span": { "begin": [ - 209, + 221, 1 ], "end": [ - 209, - 32 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8124": { - "attrs": [], + "808": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8124, + "id": 808, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "K" + } }, { "type": { - "generic": "T" + "generic": "V" + } + }, + { + "type": { + "generic": "S" } } ], "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 738, + "path": "HashMap" } }, "generics": { @@ -687886,7 +701433,27 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } ], "where_predicates": [ @@ -687896,18 +701463,71 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 111, + "path": "Eq" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 539, + "path": "Hash" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 743, + "path": "BuildHasher" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "S" } } } @@ -687916,25 +701536,14 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 324 + "items": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" ], - "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 111, + "path": "Eq" } } }, @@ -687942,23 +701551,23 @@ "name": null, "span": { "begin": [ - 217, + 1335, 1 ], "end": [ - 217, - 35 + 1341, + 2 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8125": { + "8080": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8125, + "id": 8080, "inner": { "impl": { "blanket_impl": { @@ -687981,8 +701590,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -688047,7 +701656,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -688072,23 +701681,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8126": { + "8081": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8126, + "id": 8081, "inner": { "impl": { "blanket_impl": { @@ -688111,8 +701720,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -688134,7 +701743,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -688159,23 +701768,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8127": { + "8082": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8127, + "id": 8082, "inner": { "impl": { "blanket_impl": { @@ -688198,8 +701807,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -688246,7 +701855,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -688264,8 +701873,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -688281,7 +701890,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -688290,23 +701899,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8128": { + "8083": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8128, + "id": 8083, "inner": { "impl": { "blanket_impl": { @@ -688329,8 +701938,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -688395,8 +702004,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -688412,7 +702021,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -688421,23 +702030,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8129": { + "8084": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8129, + "id": 8084, "inner": { "impl": { "blanket_impl": { @@ -688460,8 +702069,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -688514,7 +702123,7 @@ ] } }, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -688564,12 +702173,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1970, + "id": 1968, "path": "Receiver" } } @@ -688578,56 +702187,23 @@ "name": null, "span": { "begin": [ - 380, + 378, 1 ], "end": [ - 382, + 380, 26 ], "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "813": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 813, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "V" - } - } - }, - "links": {}, - "name": "Output", - "span": { - "begin": [ - 1373, - 5 - ], - "end": [ - 1373, - 21 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8130": { + "8085": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8130, + "id": 8085, "inner": { "impl": { "blanket_impl": { @@ -688650,8 +702226,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -688698,12 +702274,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -688723,12 +702299,12 @@ }, "visibility": "default" }, - "8131": { + "8086": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8131, + "id": 8086, "inner": { "impl": { "blanket_impl": { @@ -688751,8 +702327,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -688812,7 +702388,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -688821,27 +702397,27 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8132": { + "8087": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8132, + "id": 8087, "inner": { "impl": { "blanket_impl": null, @@ -688862,8 +702438,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -688909,27 +702485,27 @@ "name": null, "span": { "begin": [ - 144, + 153, 1 ], "end": [ - 144, + 153, 53 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8133": { + "8088": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"rwlock_guard_sync\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8133, + "id": 8088, "inner": { "impl": { "blanket_impl": null, @@ -688950,8 +702526,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -689008,23 +702584,56 @@ "name": null, "span": { "begin": [ - 147, + 156, 1 ], "end": [ - 147, + 156, 66 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8134": { + "8089": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8134, + "id": 8089, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } + } + }, + "links": {}, + "name": "Target", + "span": { + "begin": [ + 557, + 5 + ], + "end": [ + 557, + 21 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "default" + }, + "809": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 809, "inner": { "function": { "generics": { @@ -689070,7 +702679,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -689082,7 +702691,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -689093,27 +702702,89 @@ "name": "fmt", "span": { "begin": [ - 730, + 1349, 5 ], "end": [ - 732, + 1351, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8135": { + "8090": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8090, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } + } + }, + "links": {}, + "name": "deref", + "span": { + "begin": [ + 559, + 5 + ], + "end": [ + 561, + 6 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "default" + }, + "8091": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8135, + "id": 8091, "inner": { "impl": { "blanket_impl": null, @@ -689134,8 +702805,484 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8089, + 8090 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1967, + "path": "Deref" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 556, + 1 + ], + "end": [ + 562, + 2 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "default" + }, + "8092": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8092, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } + } + }, + "links": {}, + "name": "deref_mut", + "span": { + "begin": [ + 566, + 5 + ], + "end": [ + 568, + 6 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "default" + }, + "8093": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8093, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8038, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8092 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1987, + "path": "DerefMut" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 565, + 1 + ], + "end": [ + 569, + 2 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "default" + }, + "8094": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8094, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "drop", + "span": { + "begin": [ + 574, + 5 + ], + "end": [ + 578, + 6 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "default" + }, + "8095": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8095, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8038, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8094 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 9, + "path": "Drop" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 572, + 1 + ], + "end": [ + 579, + 2 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "default" + }, + "8096": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8096, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 583, + 5 + ], + "end": [ + 585, + 6 + ], + "filename": "std/src/sync/nonpoison/mutex.rs" + }, + "visibility": "default" + }, + "8097": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8097, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -689161,7 +703308,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -689180,12 +703327,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8134 + 8096 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -689194,23 +703341,23 @@ "name": null, "span": { "begin": [ - 729, + 582, 1 ], "end": [ - 733, + 586, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8136": { + "8098": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8136, + "id": 8098, "inner": { "function": { "generics": { @@ -689256,7 +703403,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -689268,7 +703415,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -689279,27 +703426,27 @@ "name": "fmt", "span": { "begin": [ - 737, + 590, 5 ], "end": [ - 739, + 592, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8137": { + "8099": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"std_guard_impls\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8137, + "id": 8099, "inner": { "impl": { "blanket_impl": null, @@ -689320,8 +703467,8 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8038, + "path": "MappedMutexGuard" } }, "generics": { @@ -689366,7 +703513,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8136 + 8098 ], "provided_trait_methods": [], "trait": { @@ -689380,61 +703527,461 @@ "name": null, "span": { "begin": [ - 736, + 589, 1 ], "end": [ - 740, + 593, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/mutex.rs" }, "visibility": "default" }, - "8138": { - "attrs": [], + "810": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8138, + "id": 810, "inner": { - "assoc_type": { - "bounds": [], + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 809 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1344, + 1 + ], + "end": [ + 1352, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8103": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"RwLock\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"RwLock\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A reader-writer lock\n\nThis type of lock allows a number of readers or at most one writer at any\npoint in time. The write portion of this lock typically allows modification\nof the underlying data (exclusive access) and the read portion of this lock\ntypically allows for read-only access (shared access).\n\nIn comparison, a [`Mutex`] does not distinguish between readers or writers\nthat acquire the lock, therefore blocking any threads waiting for the lock to\nbecome available. An `RwLock` will allow any number of readers to acquire the\nlock as long as a writer is not holding the lock.\n\nThe priority policy of the lock is dependent on the underlying operating\nsystem's implementation, and this type does not guarantee that any\nparticular policy will be used. In particular, a writer which is waiting to\nacquire the lock in `write` might or might not block concurrent calls to\n`read`, e.g.:\n\n
Potential deadlock example\n\n```text\n// Thread 1 | // Thread 2\nlet _rg1 = lock.read(); |\n | // will block\n | let _wg = lock.write();\n// may deadlock |\nlet _rg2 = lock.read(); |\n```\n\n
\n\nThe type parameter `T` represents the data that this lock protects. It is\nrequired that `T` satisfies [`Send`] to be shared across threads and\n[`Sync`] to allow concurrent access through readers. The RAII guards\nreturned from the locking methods implement [`Deref`] (and [`DerefMut`]\nfor the `write` methods) to allow access to the content of the lock.\n\n# Poisoning\n\nAn `RwLock`, like [`Mutex`], will [usually] become poisoned on a panic. Note,\nhowever, that an `RwLock` may only be poisoned if a panic occurs while it is\nlocked exclusively (write mode). If a panic occurs in any reader, then the\nlock will not be poisoned.\n\n[usually]: super::Mutex#poisoning\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(5);\n\n// many reader locks can be held at once\n{\n let r1 = lock.read().unwrap();\n let r2 = lock.read().unwrap();\n assert_eq!(*r1, 5);\n assert_eq!(*r2, 5);\n} // read locks are dropped at this point\n\n// only one write lock may be held, however\n{\n let mut w = lock.write().unwrap();\n *w += 1;\n assert_eq!(*w, 6);\n} // write lock is dropped here\n```\n\n[`Mutex`]: super::Mutex", + "id": 8103, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 8439, + 8451, + 8452, + 8453, + 8454, + 8455, + 8456, + 8457, + 8458, + 8459, + 8460, + 8461, + 8462, + 8463, + 8464, + 8465, + 8467, + 8469, + 8471 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "`DerefMut`": 1987, + "`Deref`": 1967, + "`Send`": 1, + "`Sync`": 5, + "super::Mutex": 496, + "super::Mutex#poisoning": 496 + }, + "name": "RwLock", + "span": { + "begin": [ + 82, + 1 + ], + "end": [ + 89, + 2 + ], + "filename": "std/src/sync/poison/rwlock.rs" + }, + "visibility": "public" + }, + "8104": { + "attrs": [ + { + "other": "#[(not(test), rustc_diagnostic_item = \"NonPoisonRwLock\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"NonPoisonRwLock\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A reader-writer lock that does not keep track of lock poisoning.\n\nFor more information about reader-writer locks, check out the documentation for the poisoning\nvariant of this lock (which can be found at [`poison::RwLock`]).\n\n[`poison::RwLock`]: crate::sync::poison::RwLock\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet lock = RwLock::new(5);\n\n// many reader locks can be held at once\n{\n let r1 = lock.read();\n let r2 = lock.read();\n assert_eq!(*r1, 5);\n assert_eq!(*r2, 5);\n} // read locks are dropped at this point\n\n// only one write lock may be held, however\n{\n let mut w = lock.write();\n *w += 1;\n assert_eq!(*w, 6);\n} // write lock is dropped here\n```", + "id": 8104, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 8109, + 8122, + 8123, + 8124, + 8125, + 8126, + 8127, + 8128, + 8129, + 8130, + 8131, + 8132, + 8133, + 8134, + 8135, + 8136, + 8138, + 8140, + 8142 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "crate::sync::poison::RwLock": 8103 + }, + "name": "RwLock", + "span": { + "begin": [ + 43, + 1 + ], + "end": [ + 48, + 2 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "public" + }, + "8105": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a new instance of an `RwLock` which is unlocked.\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet lock = RwLock::new(5);\n```", + "id": 8105, + "inner": { + "function": { "generics": { "params": [], "where_predicates": [] }, - "type": { - "generic": "T" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "t", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8104, + "path": "RwLock" + } + } } } }, "links": {}, - "name": "Target", + "name": "new", "span": { "begin": [ - 782, + 206, 5 ], "end": [ - 782, - 21 + 208, + 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8139": { - "attrs": [], + "8106": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8139, + "docs": "Returns the contained value by cloning it.\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n#![feature(lock_value_accessors)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet mut lock = RwLock::new(7);\n\nassert_eq!(lock.get_cloned(), 7);\n```", + "id": 8106, "inner": { "function": { "generics": { "params": [], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "has_body": true, "header": { @@ -689460,42 +704007,36 @@ ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } + "generic": "T" } } } }, "links": {}, - "name": "deref", + "name": "get_cloned", "span": { "begin": [ - 784, + 226, 5 ], "end": [ - 787, + 231, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "814": { + "8107": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns a reference to the value corresponding to the supplied key.\n\n# Panics\n\nPanics if the key is not present in the `HashMap`.", - "id": 814, + "docs": "Sets the contained value.\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n#![feature(lock_value_accessors)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet mut lock = RwLock::new(7);\n\nassert_eq!(lock.get_cloned(), 7);\nlock.set(11);\nassert_eq!(lock.get_cloned(), 11);\n```", + "id": 8107, "inner": { "function": { "generics": { @@ -689524,56 +704065,104 @@ } ], [ - "key", + "value", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "set", + "span": { + "begin": [ + 251, + 5 + ], + "end": [ + 259, + 6 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "public" + }, + "8108": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Replaces the contained value with `value`, and returns the old contained value.\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n#![feature(lock_value_accessors)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet mut lock = RwLock::new(7);\n\nassert_eq!(lock.replace(11), 7);\nassert_eq!(lock.get_cloned(), 11);\n```", + "id": 8108, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", { "borrowed_ref": { "is_mutable": false, "lifetime": null, "type": { - "generic": "Q" + "generic": "Self" } } } + ], + [ + "value", + { + "generic": "T" + } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "V" - } - } + "generic": "T" } } } }, "links": {}, - "name": "index", + "name": "replace", "span": { "begin": [ - 1381, + 278, 5 ], "end": [ - 1383, + 281, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8140": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8109": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8140, + "id": 8109, "inner": { "impl": { "blanket_impl": null, @@ -689582,9 +704171,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -689594,12 +704180,245 @@ "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 8104, + "path": "RwLock" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8105, + 8106, + 8107, + 8108 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 192, + 1 + ], + "end": [ + 282, + 2 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "811": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Creates an empty `HashMap`, with the `Default` value for the hasher.", + "id": 811, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" + } } + } + } + }, + "links": {}, + "name": "default", + "span": { + "begin": [ + 1361, + 5 + ], + "end": [ + 1363, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8110": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Locks this `RwLock` with shared read access, blocking the current thread\nuntil it can be acquired.\n\nThe calling thread will be blocked until there are no more writers which\nhold the lock. There may be other readers currently inside the lock when\nthis method returns. This method does not provide any guarantees with\nrespect to the ordering of whether contentious readers or writers will\nacquire the lock first.\n\nReturns an RAII guard which will release this thread's shared access\nonce it is dropped.\n\n# Panics\n\nThis function might panic when called if the lock is already held by the current thread.\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n\nuse std::sync::Arc;\nuse std::sync::nonpoison::RwLock;\nuse std::thread;\n\nlet lock = Arc::new(RwLock::new(1));\nlet c_lock = Arc::clone(&lock);\n\nlet n = lock.read();\nassert_eq!(*n, 1);\n\nthread::spawn(move || {\n let r = c_lock.read();\n}).join().unwrap();\n```", + "id": 8110, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8111, + "path": "RwLockReadGuard" + } + } + } + } + }, + "links": {}, + "name": "read", + "span": { + "begin": [ + 322, + 5 + ], + "end": [ + 327, + 6 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "public" + }, + "8111": { + "attrs": [ + { + "other": "#[must_not_suspend =\n\"holding a RwLockReadGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" + }, + { + "other": "#[clippy::has_significant_drop]" + }, + { + "other": "#[(not(test), rustc_diagnostic_item = \"NonPoisonRwLockReadGuard\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"NonPoisonRwLockReadGuard\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + }, + { + "must_use": { + "reason": "if unused the RwLock will immediately unlock" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "RAII structure used to release the shared read access of a lock when\ndropped.\n\nThis structure is created by the [`read`] and [`try_read`] methods on\n[`RwLock`].\n\n[`read`]: RwLock::read\n[`try_read`]: RwLock::try_read", + "id": 8111, + "inner": { + "struct": { "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -689614,6 +704433,9 @@ "path": "Sized" } } + }, + { + "outlives": "'rwlock" } ], "default": null, @@ -689625,42 +704447,535 @@ ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8138, - 8139 + "impls": [ + 8148, + 8149, + 8150, + 8151, + 8152, + 8153, + 8154, + 8155, + 8156, + 8157, + 8158, + 8159, + 8160, + 8161, + 8162, + 8163, + 8165, + 8168, + 8170, + 8172 ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1969, - "path": "Deref" + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "RwLock::read": 8110, + "RwLock::try_read": 8112, + "`RwLock`": 8104 + }, + "name": "RwLockReadGuard", + "span": { + "begin": [ + 75, + 1 + ], + "end": [ + 84, + 2 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "public" + }, + "8112": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to acquire this `RwLock` with shared read access.\n\nIf the access could not be granted at this time, then `Err` is returned.\nOtherwise, an RAII guard is returned which will release the shared access\nwhen it is dropped.\n\nThis function does not block.\n\nThis function does not provide any guarantees with respect to the ordering\nof whether contentious readers or writers will acquire the lock first.\n\n# Errors\n\nThis function will return the [`WouldBlock`] error if the `RwLock` could\nnot be acquired because it was already locked exclusively.\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet lock = RwLock::new(1);\n\nmatch lock.try_read() {\n Ok(n) => assert_eq!(*n, 1),\n Err(_) => unreachable!(),\n};\n```", + "id": 8112, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8111, + "path": "RwLockReadGuard" + } + } + } + ], + "constraints": [] + } + }, + "id": 8011, + "path": "TryLockResult" + } + } + } + } + }, + "links": { + "`WouldBlock`": 8009 + }, + "name": "try_read", + "span": { + "begin": [ + 361, + 5 + ], + "end": [ + 365, + 6 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "public" + }, + "8113": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Locks this `RwLock` with exclusive write access, blocking the current\nthread until it can be acquired.\n\nThis function will not return while other writers or other readers\ncurrently have access to the lock.\n\nReturns an RAII guard which will drop the write access of this `RwLock`\nwhen dropped.\n\n# Panics\n\nThis function might panic when called if the lock is already held by the current thread.\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet lock = RwLock::new(1);\n\nlet mut n = lock.write();\n*n = 2;\n\nassert!(lock.try_read().is_err());\n```", + "id": 8113, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8114, + "path": "RwLockWriteGuard" + } + } } } }, "links": {}, - "name": null, + "name": "write", "span": { "begin": [ - 781, + 396, + 5 + ], + "end": [ + 401, + 6 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "public" + }, + "8114": { + "attrs": [ + { + "other": "#[must_not_suspend =\n\"holding a RwLockWriteGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Future's to not implement `Send`\"]" + }, + { + "other": "#[clippy::has_significant_drop]" + }, + { + "other": "#[(not(test), rustc_diagnostic_item = \"NonPoisonRwLockWriteGuard\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"NonPoisonRwLockWriteGuard\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + }, + { + "must_use": { + "reason": "if unused the RwLock will immediately unlock" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "RAII structure used to release the exclusive write access of a lock when\ndropped.\n\nThis structure is created by the [`write`] and [`try_write`] methods\non [`RwLock`].\n\n[`write`]: RwLock::write\n[`try_write`]: RwLock::try_write", + "id": 8114, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "outlives": "'rwlock" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 8178, + 8179, + 8180, + 8181, + 8182, + 8183, + 8184, + 8185, + 8186, + 8187, + 8188, + 8189, + 8190, + 8191, + 8192, + 8193, + 8195, + 8198, + 8200, + 8202, + 8204 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "RwLock::try_write": 8115, + "RwLock::write": 8113, + "`RwLock`": 8104 + }, + "name": "RwLockWriteGuard", + "span": { + "begin": [ + 107, 1 ], "end": [ - 788, - 2 + 110, + 2 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "public" + }, + "8115": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Attempts to lock this `RwLock` with exclusive write access.\n\nIf the lock could not be acquired at this time, then `Err` is returned.\nOtherwise, an RAII guard is returned which will release the lock when\nit is dropped.\n\nThis function does not block.\n\nThis function does not provide any guarantees with respect to the ordering\nof whether contentious readers or writers will acquire the lock first.\n\n# Errors\n\nThis function will return the [`WouldBlock`] error if the `RwLock` could\nnot be acquired because it was already locked.\n\n[`WouldBlock`]: WouldBlock\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet lock = RwLock::new(1);\n\nlet n = lock.read();\nassert_eq!(*n, 1);\n\nassert!(lock.try_write().is_err());\n```", + "id": 8115, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8114, + "path": "RwLockWriteGuard" + } + } + } + ], + "constraints": [] + } + }, + "id": 8011, + "path": "TryLockResult" + } + } + } + } + }, + "links": { + "WouldBlock": 8009 + }, + "name": "try_write", + "span": { + "begin": [ + 437, + 5 + ], + "end": [ + 441, + 6 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "public" + }, + "8116": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Consumes this `RwLock`, returning the underlying data.\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet lock = RwLock::new(String::new());\n{\n let mut s = lock.write();\n *s = \"modified\".to_owned();\n}\nassert_eq!(lock.into_inner(), \"modified\");\n```", + "id": 8116, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "T" + } + } + } + }, + "links": {}, + "name": "into_inner", + "span": { + "begin": [ + 460, + 5 + ], + "end": [ + 465, + 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8141": { - "attrs": [], + "8118": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8141, + "docs": "Returns a mutable reference to the underlying data.\n\nSince this call borrows the `RwLock` mutably, no actual locking needs to\ntake place -- the mutable borrow statically guarantees no new locks can be acquired\nwhile this reference exists. Note that this method does not clear any previously abandoned\nlocks (e.g., via [`forget()`] on a [`RwLockReadGuard`] or [`RwLockWriteGuard`]).\n\n# Examples\n\n```\n#![feature(nonpoison_rwlock)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet mut lock = RwLock::new(0);\n*lock.get_mut() = 10;\nassert_eq!(*lock.read(), 10);\n```", + "id": 8118, "inner": { "function": { "generics": { @@ -689702,117 +705017,35 @@ } } }, - "links": {}, - "name": "deref_mut", + "links": { + "`RwLockReadGuard`": 8111, + "`RwLockWriteGuard`": 8114, + "`forget()`": 8117 + }, + "name": "get_mut", "span": { "begin": [ - 792, + 486, 5 ], "end": [ - 795, + 488, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8142": { + "8119": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140368, is_soft: false}, feature: \"rwlock_data_ptr\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8142, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8054, - "path": "RwLockWriteGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8141 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1989, - "path": "DerefMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 796, - 2 - ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "default" - }, - "8143": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8143, + "docs": "Returns a raw pointer to the underlying data.\n\nThe returned pointer is always non-null and properly aligned, but it is\nthe user's responsibility to ensure that any reads and writes through it\nare properly synchronized to avoid data races, and that it is not read\nor written through after the lock is dropped.", + "id": 8119, "inner": { "function": { "generics": { @@ -689823,7 +705056,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -689832,7 +705065,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -689842,26 +705075,33 @@ ] ], "is_c_variadic": false, - "output": null + "output": { + "raw_pointer": { + "is_mutable": true, + "type": { + "generic": "T" + } + } + } } } }, "links": {}, - "name": "drop", + "name": "data_ptr", "span": { "begin": [ - 841, + 498, 5 ], "end": [ - 847, + 500, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8144": { + "812": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -689870,7 +705110,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 8144, + "id": 812, "inner": { "impl": { "blanket_impl": null, @@ -689880,19 +705120,26 @@ "angle_bracketed": { "args": [ { - "lifetime": "'_" + "type": { + "generic": "K" + } }, { "type": { - "generic": "T" + "generic": "V" + } + }, + { + "type": { + "generic": "S" } } ], "constraints": [] } }, - "id": 8054, - "path": "RwLockWriteGuard" + "id": 738, + "path": "HashMap" } }, "generics": { @@ -689900,39 +705147,69 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "T" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 107, + "path": "Default" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "S" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8143 + 811 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 9, - "path": "Drop" + "id": 107, + "path": "Default" } } }, @@ -689940,27 +705217,27 @@ "name": null, "span": { "begin": [ - 840, + 1355, 1 ], "end": [ - 848, + 1364, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8147": { + "8120": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data,\ne.g. an enum variant.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockReadGuard::map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockReadGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will not be poisoned.", - "id": 8147, + "docs": "Locks this `RwLock` with shared read access to the underlying data by passing\na reference to the given closure.\n\nThis method acquires the lock, calls the provided closure with a reference\nto the data, and returns the result of the closure. The lock is released after\nthe closure completes, even if it panics.\n\n# Examples\n\n```\n#![feature(lock_value_accessors, nonpoison_rwlock)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet rwlock = RwLock::new(2);\nlet result = rwlock.with(|data| *data + 3);\n\nassert_eq!(result, 5);\n```", + "id": 8120, "inner": { "function": { "generics": { @@ -689973,7 +705250,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "F" }, { "kind": { @@ -689983,7 +705260,7 @@ "is_synthetic": false } }, - "name": "F" + "name": "R" } ], "where_predicates": [ @@ -690009,13 +705286,7 @@ } ], "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "U" - } - } + "generic": "R" } } }, @@ -690030,27 +705301,6 @@ "generic": "F" } } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } } ] }, @@ -690064,9 +705314,15 @@ "sig": { "inputs": [ [ - "orig", + "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ @@ -690078,56 +705334,36 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 8084, - "path": "MappedRwLockReadGuard" - } + "generic": "R" } } } }, - "links": { - "`MappedRwLockReadGuard`": 8084 - }, - "name": "map", + "links": {}, + "name": "with", "span": { "begin": [ - 952, + 523, 5 ], "end": [ - 964, + 528, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "public" }, - "8148": { + "8121": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data.\nThe original guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockReadGuard::filter_map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockReadGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will not be poisoned.", - "id": 8148, + "docs": "Locks this `RwLock` with exclusive write access to the underlying data by passing\na mutable reference to the given closure.\n\nThis method acquires the lock, calls the provided closure with a mutable reference\nto the data, and returns the result of the closure. The lock is released after\nthe closure completes, even if it panics.\n\n# Examples\n\n```\n#![feature(lock_value_accessors, nonpoison_rwlock)]\n\nuse std::sync::nonpoison::RwLock;\n\nlet rwlock = RwLock::new(2);\n\nlet result = rwlock.with_mut(|data| {\n *data += 3;\n\n *data + 5\n});\n\nassert_eq!(*rwlock.read(), 5);\nassert_eq!(result, 10);\n```", + "id": 8121, "inner": { "function": { "generics": { @@ -690140,7 +705376,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "F" }, { "kind": { @@ -690150,7 +705386,7 @@ "is_synthetic": false } }, - "name": "F" + "name": "R" } ], "where_predicates": [ @@ -690167,7 +705403,7 @@ "inputs": [ { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "T" @@ -690176,28 +705412,7 @@ } ], "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "U" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "generic": "R" } } }, @@ -690212,27 +705427,6 @@ "generic": "F" } } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } } ] }, @@ -690246,9 +705440,15 @@ "sig": { "inputs": [ [ - "orig", + "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ @@ -690260,72 +705460,32 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 8084, - "path": "MappedRwLockReadGuard" - } - } - }, - { - "type": { - "generic": "Self" - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "generic": "R" } } } }, - "links": { - "`MappedRwLockReadGuard`": 8084 - }, - "name": "filter_map", + "links": {}, + "name": "with_mut", "span": { "begin": [ - 981, + 557, 5 ], "end": [ - 998, + 562, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "public" }, - "8149": { + "8122": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8149, + "id": 8122, "inner": { "impl": { "blanket_impl": null, @@ -690334,9 +705494,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -690346,20 +705503,12 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -690389,8 +705538,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8147, - 8148 + 8110, + 8112, + 8113, + 8115, + 8116, + 8118, + 8119, + 8120, + 8121 ], "provided_trait_methods": [], "trait": null @@ -690400,275 +705556,23 @@ "name": null, "span": { "begin": [ - 937, - 1 - ], - "end": [ - 999, - 2 - ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "default" - }, - "815": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 815, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Q" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "S" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Q" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "Q" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 743, - "path": "BuildHasher" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "S" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 813, - 814 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Q" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 816, - "path": "Index" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1367, + 284, 1 ], "end": [ - 1384, + 563, 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8150": { + "8123": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8150, + "id": 8123, "inner": { "impl": { "blanket_impl": null, @@ -690677,9 +705581,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -690689,20 +705590,12 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -690714,38 +705607,16 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -690755,12 +705626,12 @@ "span": null, "visibility": "default" }, - "8151": { + "8124": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8151, + "id": 8124, "inner": { "impl": { "blanket_impl": null, @@ -690769,9 +705640,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -690781,20 +705649,12 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -690810,6 +705670,17 @@ { "bound_predicate": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, { "trait_bound": { "generic_params": [], @@ -690847,12 +705718,12 @@ "span": null, "visibility": "default" }, - "8152": { + "8125": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8152, + "id": 8125, "inner": { "impl": { "blanket_impl": null, @@ -690861,9 +705732,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -690873,20 +705741,12 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -690908,8 +705768,8 @@ "modifier": "none", "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } }, @@ -690940,7 +705800,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -690950,12 +705810,12 @@ "span": null, "visibility": "default" }, - "8153": { + "8126": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8153, + "id": 8126, "inner": { "impl": { "blanket_impl": null, @@ -690964,9 +705824,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -690976,20 +705833,12 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -691001,49 +705850,16 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -691053,12 +705869,12 @@ "span": null, "visibility": "default" }, - "8154": { + "8127": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8154, + "id": 8127, "inner": { "impl": { "blanket_impl": { @@ -691069,9 +705885,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -691081,8 +705894,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -691126,7 +705939,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -691142,7 +705955,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -691151,23 +705964,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8155": { + "8128": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8155, + "id": 8128, "inner": { "impl": { "blanket_impl": { @@ -691178,9 +705991,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -691190,8 +706000,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -691235,7 +706045,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -691251,7 +706061,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -691260,23 +706070,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8156": { + "8129": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8156, + "id": 8129, "inner": { "impl": { "blanket_impl": { @@ -691287,9 +706097,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -691299,8 +706106,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -691365,7 +706172,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -691390,23 +706197,56 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8157": { + "813": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8157, + "id": 813, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "V" + } + } + }, + "links": {}, + "name": "Output", + "span": { + "begin": [ + 1373, + 5 + ], + "end": [ + 1373, + 21 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8130": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8130, "inner": { "impl": { "blanket_impl": { @@ -691417,9 +706257,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -691429,8 +706266,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -691452,7 +706289,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -691477,23 +706314,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8158": { + "8131": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8158, + "id": 8131, "inner": { "impl": { "blanket_impl": { @@ -691504,9 +706341,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -691516,8 +706350,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -691531,59 +706365,15 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 1896 ], "provided_trait_methods": [], "trait": { @@ -691592,15 +706382,15 @@ "args": [ { "type": { - "generic": "U" + "primitive": "never" } } ], "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 37, + "path": "From" } } }, @@ -691608,23 +706398,23 @@ "name": null, "span": { "begin": [ - 817, + 802, 1 ], "end": [ - 819, - 27 + 802, + 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8159": { + "8132": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8159, + "id": 8132, "inner": { "impl": { "blanket_impl": { @@ -691635,9 +706425,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -691647,8 +706434,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -691695,8 +706482,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 197, + "path": "TryFrom" } } } @@ -691713,8 +706500,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -691730,8 +706517,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 198, + "path": "TryInto" } } }, @@ -691739,36 +706526,33 @@ "name": null, "span": { "begin": [ - 833, + 811, 1 ], "end": [ - 835, - 24 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8160": { + "8133": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8160, + "id": 8133, "inner": { "impl": { "blanket_impl": { - "generic": "P" + "generic": "T" }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -691778,8 +706562,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -691792,7 +706576,7 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" }, { "kind": { @@ -691802,7 +706586,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "U" } ], "where_predicates": [ @@ -691816,63 +706600,25 @@ "trait": { "args": { "angle_bracketed": { - "args": [], - "constraints": [ + "args": [ { - "args": null, - "binding": { - "equality": { - "type": { - "generic": "T" - } - } - }, - "name": "Target" + "type": { + "generic": "T" + } } - ] + ], + "constraints": [] } }, - "id": 1969, - "path": "Deref" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -691882,13 +706628,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 332, + 334 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 1970, - "path": "Receiver" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, @@ -691896,23 +706654,23 @@ "name": null, "span": { "begin": [ - 380, + 827, 1 ], "end": [ - 382, - 26 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/ops/deref.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8161": { + "8134": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8161, + "id": 8134, "inner": { "impl": { "blanket_impl": { @@ -691923,9 +706681,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "T" @@ -691935,8 +706690,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -691983,12 +706738,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -692008,125 +706763,16 @@ }, "visibility": "default" }, - "8162": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8162, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8084, - "path": "MappedRwLockReadGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 434 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 163, - "path": "ToString" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2806, - 1 - ], - "end": [ - 2806, - 46 - ], - "filename": "checkouts/rust/library/alloc/src/string.rs" - }, - "visibility": "default" - }, - "8163": { + "8135": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8163, + "id": 8135, "inner": { "impl": { "blanket_impl": null, @@ -692135,9 +706781,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -692147,8 +706790,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -692167,6 +706810,17 @@ "path": "Sized" } } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } } ], "default": null, @@ -692178,7 +706832,7 @@ ], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [], @@ -692194,27 +706848,27 @@ "name": null, "span": { "begin": [ - 173, + 51, 1 ], "end": [ - 173, - 58 + 51, + 52 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8164": { + "8136": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8164, + "id": 8136, "inner": { "impl": { "blanket_impl": null, @@ -692223,9 +706877,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -692235,8 +706886,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -692256,6 +706907,17 @@ } } }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, { "trait_bound": { "generic_params": [], @@ -692293,23 +706955,23 @@ "name": null, "span": { "begin": [ - 176, + 54, 1 ], "end": [ - 176, - 71 + 54, + 59 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8165": { + "8137": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8165, + "id": 8137, "inner": { "function": { "generics": { @@ -692355,7 +707017,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -692367,7 +707029,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -692378,27 +707040,27 @@ "name": "fmt", "span": { "begin": [ - 744, + 567, 5 ], "end": [ - 746, + 578, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8166": { + "8138": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8166, + "id": 8138, "inner": { "impl": { "blanket_impl": null, @@ -692407,9 +707069,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -692419,8 +707078,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -692446,7 +707105,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "fmt::Debug" } } @@ -692465,12 +707124,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8165 + 8137 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -692479,23 +707138,85 @@ "name": null, "span": { "begin": [ - 743, + 566, 1 ], "end": [ - 747, + 579, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8167": { + "8139": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8167, + "docs": "Creates a new `RwLock`, with the `Default` value for T.", + "id": 8139, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8104, + "path": "RwLock" + } + } + } + } + }, + "links": {}, + "name": "default", + "span": { + "begin": [ + 584, + 5 + ], + "end": [ + 586, + 6 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "814": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns a reference to the value corresponding to the supplied key.\n\n# Panics\n\nPanics if the key is not present in the `HashMap`.", + "id": 814, "inner": { "function": { "generics": { @@ -692524,26 +707245,13 @@ } ], [ - "f", + "key", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "Q" } } } @@ -692551,40 +707259,42 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "V" + } } } } } }, "links": {}, - "name": "fmt", + "name": "index", "span": { "begin": [ - 751, + 1381, 5 ], "end": [ - 753, + 1383, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8168": { + "8140": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8168, + "id": 8140, "inner": { "impl": { "blanket_impl": null, @@ -692593,9 +707303,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -692605,8 +707312,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -692615,25 +707322,14 @@ "kind": { "type": { "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - }, { "trait_bound": { "generic_params": [], "modifier": "none", "trait": { "args": null, - "id": 436, - "path": "fmt::Display" + "id": 107, + "path": "Default" } } } @@ -692651,13 +707347,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8167 + 8139 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 107, + "path": "Default" } } }, @@ -692665,56 +707361,23 @@ "name": null, "span": { "begin": [ - 750, + 582, 1 ], "end": [ - 754, + 587, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "default" - }, - "8169": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8169, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "T" - } - } - }, - "links": {}, - "name": "Target", - "span": { - "begin": [ - 800, - 5 - ], - "end": [ - 800, - 21 - ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "817": { + "8141": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Converts a `[(K, V); N]` into a `HashMap`.\n\nIf any entries in the array have equal keys,\nall but one of the corresponding values will be dropped.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map1 = HashMap::from([(1, 2), (3, 4)]);\nlet map2: HashMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);\n```", - "id": 817, + "docs": "Creates a new instance of an `RwLock` which is unlocked.\nThis is equivalent to [`RwLock::new`].", + "id": 8141, "inner": { "function": { "generics": { @@ -692731,21 +707394,9 @@ "sig": { "inputs": [ [ - "arr", + "t", { - "array": { - "len": "N", - "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] - } - } + "generic": "T" } ] ], @@ -692756,93 +707407,33 @@ } } }, - "links": {}, - "name": "from", - "span": { - "begin": [ - 1417, - 5 - ], - "end": [ - 1419, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8170": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8170, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - } + "links": { + "`RwLock::new`": 8105 }, - "links": {}, - "name": "deref", + "name": "from", "span": { "begin": [ - 802, + 593, 5 ], "end": [ - 806, + 595, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8171": { + "8142": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8171, + "id": 8142, "inner": { "impl": { "blanket_impl": null, @@ -692851,9 +707442,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "T" @@ -692863,8 +707451,8 @@ "constraints": [] } }, - "id": 8084, - "path": "MappedRwLockReadGuard" + "id": 8104, + "path": "RwLock" } }, "generics": { @@ -692872,19 +707460,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -692898,122 +707474,75 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8169, - 8170 + 8141 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 1969, - "path": "Deref" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 799, - 1 - ], - "end": [ - 807, - 2 - ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "default" - }, - "8172": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8172, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "T" } } - } - ] - ], - "is_c_variadic": false, - "output": null + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "drop", + "name": null, "span": { "begin": [ - 852, - 5 + 590, + 1 ], "end": [ - 858, - 6 + 596, + 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8173": { + "8145": { "attrs": [ + { + "other": "#[must_not_suspend =\n\"holding a MappedRwLockReadGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" + }, + { + "other": "#[clippy::has_significant_drop]" + }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + }, + { + "must_use": { + "reason": "if unused the RwLock will immediately unlock" + } } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8173, + "docs": "RAII structure used to release the shared read access of a lock when\ndropped, which can point to a subfield of the protected data.\n\nThis structure is created by the [`map`] and [`filter_map`] methods\non [`RwLockReadGuard`].\n\n[`map`]: RwLockReadGuard::map\n[`filter_map`]: RwLockReadGuard::filter_map", + "id": 8145, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8084, - "path": "MappedRwLockReadGuard" - } - }, + "struct": { "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -693028,6 +707557,9 @@ "path": "Sized" } } + }, + { + "outlives": "'rwlock" } ], "default": null, @@ -693039,36 +707571,56 @@ ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8172 + "impls": [ + 8209, + 8210, + 8211, + 8212, + 8213, + 8214, + 8215, + 8216, + 8217, + 8218, + 8219, + 8220, + 8221, + 8222, + 8223, + 8224, + 8226, + 8229, + 8231, + 8233 ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 9, - "path": "Drop" + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, + "links": { + "RwLockReadGuard::filter_map": 8147, + "RwLockReadGuard::map": 8146, + "`RwLockReadGuard`": 8111 + }, + "name": "MappedRwLockReadGuard", "span": { "begin": [ - 851, + 133, 1 ], "end": [ - 859, + 142, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8179": { + "8146": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" @@ -693076,8 +707628,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data,\ne.g. an enum variant.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockWriteGuard::map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockWriteGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will be poisoned.", - "id": 8179, + "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockReadGuard::map(...)`. A method would interfere with methods of\nthe same name on the contents of the `RwLockReadGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked).", + "id": 8146, "inner": { "function": { "generics": { @@ -693117,7 +707669,7 @@ "inputs": [ { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "T" @@ -693127,7 +707679,7 @@ ], "output": { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "U" @@ -693200,7 +707752,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -693211,197 +707763,31 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8145, + "path": "MappedRwLockReadGuard" } } } } }, "links": { - "`MappedRwLockWriteGuard`": 8114 + "`MappedRwLockReadGuard`": 8145 }, "name": "map", "span": { "begin": [ - 1154, + 628, 5 ], "end": [ - 1172, + 640, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "public" }, - "818": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"std_collections_from_array\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 818, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 739, - "path": "crate::hash::RandomState" - } - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "const": { - "default": null, - "type": { - "primitive": "usize" - } - } - }, - "name": "N" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 817 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "array": { - "len": "N", - "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] - } - } - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1399, - 1 - ], - "end": [ - 1420, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8180": { + "8147": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" @@ -693409,8 +707795,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data.\nThe original guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockWriteGuard::filter_map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockWriteGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will be poisoned.", - "id": 8180, + "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockReadGuard::filter_map(...)`. A method would interfere with methods\nof the same name on the contents of the `RwLockReadGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked).", + "id": 8147, "inner": { "function": { "generics": { @@ -693450,7 +707836,7 @@ "inputs": [ { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "T" @@ -693466,7 +707852,7 @@ { "type": { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "U" @@ -693554,7 +707940,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -693565,8 +707951,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8145, + "path": "MappedRwLockReadGuard" } } }, @@ -693587,28 +707973,119 @@ } }, "links": { - "`MappedRwLockWriteGuard`": 8114 + "`MappedRwLockReadGuard`": 8145 }, "name": "filter_map", "span": { "begin": [ - 1189, + 658, 5 ], "end": [ - 1212, + 675, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "public" }, - "8181": { + "8148": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8181, + "id": 8148, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8111, + "path": "RwLockReadGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8146, + 8147 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 598, + 1 + ], + "end": [ + 676, + 2 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "8149": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8149, "inner": { "impl": { "blanket_impl": null, @@ -693618,7 +708095,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -693629,8 +708106,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -693641,24 +708118,12 @@ "outlives": [] } }, - "name": "'a" + "name": "'rwlock" }, { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -693666,40 +708131,57 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 8179, - 8180 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 1139, - 1 - ], - "end": [ - 1213, - 2 - ], - "filename": "std/src/sync/poison/rwlock.rs" - }, + "span": null, "visibility": "default" }, - "8182": { - "attrs": [], + "815": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8182, + "id": 815, "inner": { "impl": { "blanket_impl": null, @@ -693709,30 +708191,39 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "K" + } }, { "type": { - "generic": "T" + "generic": "V" + } + }, + { + "type": { + "generic": "S" } } ], "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 738, + "path": "HashMap" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "K" }, { "kind": { @@ -693742,13 +708233,109 @@ "is_synthetic": false } }, - "name": "T" + "name": "Q" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Q" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } + } + }, { "trait_bound": { "generic_params": [], @@ -693763,35 +708350,86 @@ ], "generic_params": [], "type": { - "generic": "T" + "generic": "Q" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 743, + "path": "BuildHasher" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "S" } } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 813, + 814 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 315, - "path": "Freeze" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Q" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 816, + "path": "Index" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 1367, + 1 + ], + "end": [ + 1384, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, "visibility": "default" }, - "8183": { + "8150": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8183, + "id": 8150, "inner": { "impl": { "blanket_impl": null, @@ -693801,7 +708439,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -693812,8 +708450,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -693824,7 +708462,7 @@ "outlives": [] } }, - "name": "'a" + "name": "'rwlock" }, { "kind": { @@ -693878,12 +708516,12 @@ "span": null, "visibility": "default" }, - "8184": { + "8151": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8184, + "id": 8151, "inner": { "impl": { "blanket_impl": null, @@ -693893,7 +708531,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -693904,8 +708542,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -693916,7 +708554,7 @@ "outlives": [] } }, - "name": "'a" + "name": "'rwlock" }, { "kind": { @@ -693929,16 +708567,49 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -693948,12 +708619,12 @@ "span": null, "visibility": "default" }, - "8185": { + "8152": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8185, + "id": 8152, "inner": { "impl": { "blanket_impl": null, @@ -693963,7 +708634,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -693974,8 +708645,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -693986,7 +708657,7 @@ "outlives": [] } }, - "name": "'a" + "name": "'rwlock" }, { "kind": { @@ -694009,7 +708680,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -694041,7 +708712,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -694051,12 +708722,12 @@ "span": null, "visibility": "default" }, - "8186": { + "8153": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8186, + "id": 8153, "inner": { "impl": { "blanket_impl": { @@ -694068,7 +708739,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -694079,8 +708750,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -694124,7 +708795,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -694140,7 +708811,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -694149,23 +708820,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8187": { + "8154": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8187, + "id": 8154, "inner": { "impl": { "blanket_impl": { @@ -694177,7 +708848,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -694188,8 +708859,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -694233,7 +708904,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -694249,7 +708920,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -694258,23 +708929,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8188": { + "8155": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8188, + "id": 8155, "inner": { "impl": { "blanket_impl": { @@ -694286,7 +708957,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -694297,8 +708968,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -694363,7 +709034,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -694388,23 +709059,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8189": { + "8156": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8189, + "id": 8156, "inner": { "impl": { "blanket_impl": { @@ -694416,7 +709087,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -694427,8 +709098,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -694450,7 +709121,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -694475,75 +709146,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "819": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 819, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "K" - } - } - }, - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "V" - } - } - } - ] - } - } - }, - "links": {}, - "name": "Item", - "span": { - "begin": [ - 1887, - 5 - ], - "end": [ - 1887, - 32 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8190": { + "8157": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8190, + "id": 8157, "inner": { "impl": { "blanket_impl": { @@ -694555,7 +709174,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -694566,8 +709185,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -694614,7 +709233,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -694632,8 +709251,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -694649,7 +709268,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -694658,23 +709277,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8191": { + "8158": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8191, + "id": 8158, "inner": { "impl": { "blanket_impl": { @@ -694686,7 +709305,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -694697,8 +709316,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -694763,8 +709382,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -694780,7 +709399,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -694789,23 +709408,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8192": { + "8159": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8192, + "id": 8159, "inner": { "impl": { "blanket_impl": { @@ -694817,7 +709436,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -694828,8 +709447,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -694882,7 +709501,7 @@ ] } }, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -694932,12 +709551,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1970, + "id": 1968, "path": "Receiver" } } @@ -694946,23 +709565,23 @@ "name": null, "span": { "begin": [ - 380, + 378, 1 ], "end": [ - 382, + 380, 26 ], "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "8193": { + "8160": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8193, + "id": 8160, "inner": { "impl": { "blanket_impl": { @@ -694974,7 +709593,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -694985,8 +709604,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -695033,12 +709652,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -695058,12 +709677,12 @@ }, "visibility": "default" }, - "8194": { + "8161": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8194, + "id": 8161, "inner": { "impl": { "blanket_impl": { @@ -695075,7 +709694,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'rwlock" }, { "type": { @@ -695086,8 +709705,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -695147,7 +709766,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -695156,27 +709775,27 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8195": { + "8162": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8195, + "id": 8162, "inner": { "impl": { "blanket_impl": null, @@ -695197,8 +709816,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -695244,27 +709863,27 @@ "name": null, "span": { "begin": [ - 205, + 87, 1 ], "end": [ - 205, - 59 + 87, + 52 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8196": { + "8163": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8196, + "id": 8163, "inner": { "impl": { "blanket_impl": null, @@ -695285,8 +709904,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -695343,23 +709962,23 @@ "name": null, "span": { "begin": [ - 208, + 90, 1 ], "end": [ - 208, - 72 + 90, + 65 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8197": { + "8164": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8197, + "id": 8164, "inner": { "function": { "generics": { @@ -695377,78 +709996,47 @@ "inputs": [ [ "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "Self" } } } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } + "output": null } } }, "links": {}, - "name": "fmt", + "name": "drop", "span": { "begin": [ - 758, + 978, 5 ], "end": [ - 760, + 983, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8198": { + "8165": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8198, + "id": 8165, "inner": { "impl": { "blanket_impl": null, @@ -695469,8 +710057,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -695489,17 +710077,6 @@ "path": "Sized" } } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } } ], "default": null, @@ -695515,13 +710092,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8197 + 8164 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 9, + "path": "Drop" } } }, @@ -695529,23 +710106,56 @@ "name": null, "span": { "begin": [ - 757, + 977, 1 ], "end": [ - 761, + 984, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8199": { + "8166": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8199, + "id": 8166, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } + } + }, + "links": {}, + "name": "Target", + "span": { + "begin": [ + 1022, + 5 + ], + "end": [ + 1022, + 21 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "8167": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8167, "inner": { "function": { "generics": { @@ -695572,161 +710182,46 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "fmt", + "name": "deref", "span": { "begin": [ - 765, + 1024, 5 ], "end": [ - 767, + 1027, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "default" - }, - "82": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 82, - "inner": { - "use": { - "id": 83, - "is_glob": false, - "name": "include_bytes", - "source": "core::prelude::v1::include_bytes" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 51, - 30 - ], - "end": [ - 51, - 43 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "820": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 820, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 756, - "path": "Iter" - } - } - } - }, - "links": {}, - "name": "IntoIter", - "span": { - "begin": [ - 1888, - 5 - ], - "end": [ - 1888, - 36 - ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8200": { + "8168": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8200, + "id": 8168, "inner": { "impl": { "blanket_impl": null, @@ -695747,8 +710242,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -695767,17 +710262,6 @@ "path": "Sized" } } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "fmt::Display" - } - } } ], "default": null, @@ -695793,13 +710277,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8199 + 8166, + 8167 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 1967, + "path": "Deref" } } }, @@ -695807,56 +710292,23 @@ "name": null, "span": { "begin": [ - 764, + 1021, 1 ], "end": [ - 768, + 1028, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "default" - }, - "8201": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8201, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "T" - } - } - }, - "links": {}, - "name": "Target", - "span": { - "begin": [ - 811, - 5 - ], - "end": [ - 811, - 21 - ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8202": { + "8169": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8202, + "id": 8169, "inner": { "function": { "generics": { @@ -695883,133 +710335,65 @@ } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "deref", + "name": "fmt", "span": { "begin": [ - 813, + 1084, 5 ], "end": [ - 817, + 1086, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" - }, - "visibility": "default" - }, - "8203": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8203, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8114, - "path": "MappedRwLockWriteGuard" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8201, - 8202 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1969, - "path": "Deref" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 810, - 1 - ], - "end": [ - 818, - 2 - ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8204": { + "817": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8204, + "docs": "Converts a `[(K, V); N]` into a `HashMap`.\n\nIf any entries in the array have equal keys,\nall but one of the corresponding values will be dropped.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map1 = HashMap::from([(1, 2), (3, 4)]);\nlet map2: HashMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);\n```", + "id": 817, "inner": { "function": { "generics": { @@ -696026,13 +710410,19 @@ "sig": { "inputs": [ [ - "self", + "arr", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, + "array": { + "len": "N", "type": { - "generic": "Self" + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] } } } @@ -696040,42 +710430,36 @@ ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } + "generic": "Self" } } } }, "links": {}, - "name": "deref_mut", + "name": "from", "span": { "begin": [ - 822, + 1417, 5 ], "end": [ - 826, + 1419, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8205": { + "8170": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8205, + "id": 8170, "inner": { "impl": { "blanket_impl": null, @@ -696096,8 +710480,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -696116,6 +710500,17 @@ "path": "Sized" } } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } } ], "default": null, @@ -696131,13 +710526,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8204 + 8169 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1989, - "path": "DerefMut" + "id": 344, + "path": "Debug" } } }, @@ -696145,23 +710540,23 @@ "name": null, "span": { "begin": [ - 821, + 1083, 1 ], "end": [ - 827, + 1087, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8206": { + "8171": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8206, + "id": 8171, "inner": { "function": { "generics": { @@ -696181,45 +710576,76 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } } } }, "links": {}, - "name": "drop", + "name": "fmt", "span": { "begin": [ - 863, + 1091, 5 ], "end": [ - 870, + 1093, 6 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8207": { + "8172": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8207, + "id": 8172, "inner": { "impl": { "blanket_impl": null, @@ -696240,8 +710666,8 @@ "constraints": [] } }, - "id": 8114, - "path": "MappedRwLockWriteGuard" + "id": 8111, + "path": "RwLockReadGuard" } }, "generics": { @@ -696260,6 +710686,17 @@ "path": "Sized" } } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "fmt::Display" + } + } } ], "default": null, @@ -696275,13 +710712,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8206 + 8171 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 9, - "path": "Drop" + "id": 436, + "path": "Display" } } }, @@ -696289,63 +710726,27 @@ "name": null, "span": { "begin": [ - 862, + 1090, 1 ], "end": [ - 871, + 1094, 2 ], - "filename": "std/src/sync/poison/rwlock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8209": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8209, - "inner": { - "use": { - "id": 494, - "is_glob": false, - "name": "Condvar", - "source": "self::condvar::Condvar" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 64, - 25 - ], - "end": [ - 64, - 32 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "821": { + "8174": { "attrs": [ { - "other": "#[rustc_lint_query_instability]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 821, + "docs": "Downgrades a write-locked `RwLockWriteGuard` into a read-locked [`RwLockReadGuard`].\n\nSince we have the `RwLockWriteGuard`, the [`RwLock`] must already be locked for writing, so\nthis method cannot fail.\n\nAfter downgrading, other readers will be allowed to read the protected data.\n\n# Examples\n\n`downgrade` takes ownership of the `RwLockWriteGuard` and returns a [`RwLockReadGuard`].\n\n```\n#![feature(nonpoison_rwlock)]\n\nuse std::sync::nonpoison::{RwLock, RwLockWriteGuard};\n\nlet rw = RwLock::new(0);\n\nlet mut write_guard = rw.write();\n*write_guard = 42;\n\nlet read_guard = RwLockWriteGuard::downgrade(write_guard);\nassert_eq!(42, *read_guard);\n```\n\n`downgrade` will _atomically_ change the state of the [`RwLock`] from exclusive mode into\nshared mode. This means that it is impossible for another writing thread to get in between a\nthread calling `downgrade` and any reads it performs after downgrading.\n\n```\n#![feature(nonpoison_rwlock)]\n\nuse std::sync::Arc;\nuse std::sync::nonpoison::{RwLock, RwLockWriteGuard};\n\nlet rw = Arc::new(RwLock::new(1));\n\n// Put the lock in write mode.\nlet mut main_write_guard = rw.write();\n\nlet rw_clone = rw.clone();\nlet evil_handle = std::thread::spawn(move || {\n // This will not return until the main thread drops the `main_read_guard`.\n let mut evil_guard = rw_clone.write();\n\n assert_eq!(*evil_guard, 2);\n *evil_guard = 3;\n});\n\n*main_write_guard = 2;\n\n// Atomically downgrade the write guard into a read guard.\nlet main_read_guard = RwLockWriteGuard::downgrade(main_write_guard);\n\n// Since `downgrade` is atomic, the writer thread cannot have changed the protected data.\nassert_eq!(*main_read_guard, 2, \"`downgrade` was not atomic\");\n#\n# drop(main_read_guard);\n# evil_handle.join().unwrap();\n#\n# let final_check = rw.read();\n# assert_eq!(*final_check, 3);\n```", + "id": 8174, "inner": { "function": { "generics": { @@ -696362,7 +710763,7 @@ "sig": { "inputs": [ [ - "self", + "s", { "generic": "Self" } @@ -696375,424 +710776,65 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } + "lifetime": "'rwlock" }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8111, + "path": "RwLockReadGuard" } } } } }, - "links": {}, - "name": "into_iter", + "links": { + "`RwLockReadGuard`": 8111, + "`RwLock`": 8104 + }, + "name": "downgrade", "span": { "begin": [ - 1892, + 754, 5 ], "end": [ - 1894, + 766, 6 ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8210": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8210, - "inner": { - "use": { - "id": 7829, - "is_glob": false, - "name": "WaitTimeoutResult", - "source": "self::condvar::WaitTimeoutResult" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 64, - 34 - ], - "end": [ - 64, - 51 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "8211": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8211, - "inner": { - "use": { - "id": 7930, - "is_glob": false, - "name": "MappedMutexGuard", - "source": "self::mutex::MappedMutexGuard" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 66, - 1 - ], - "end": [ - 66, - 39 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "8212": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8212, - "inner": { - "use": { - "id": 495, - "is_glob": false, - "name": "Mutex", - "source": "self::mutex::Mutex" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 68, - 23 - ], - "end": [ - 68, - 28 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "8213": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8213, - "inner": { - "use": { - "id": 7861, - "is_glob": false, - "name": "MutexGuard", - "source": "self::mutex::MutexGuard" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 68, - 30 - ], - "end": [ - 68, - 40 - ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "public" }, - "8214": { + "8175": { "attrs": [ { - "other": "#[expect(deprecated)]" + "other": "#[must_not_suspend =\n\"holding a MappedRwLockWriteGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Future's to not implement `Send`\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8214, - "inner": { - "use": { - "id": 8039, - "is_glob": false, - "name": "ONCE_INIT", - "source": "self::once::ONCE_INIT" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 71, - 1 - ], - "end": [ - 71, - 31 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "8215": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8215, - "inner": { - "use": { - "id": 7998, - "is_glob": false, - "name": "Once", - "source": "self::once::Once" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 73, - 22 - ], - "end": [ - 73, - 26 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "8216": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8216, - "inner": { - "use": { - "id": 8001, - "is_glob": false, - "name": "OnceState", - "source": "self::once::OnceState" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 73, - 28 - ], - "end": [ - 73, - 37 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "8217": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8217, - "inner": { - "use": { - "id": 8084, - "is_glob": false, - "name": "MappedRwLockReadGuard", - "source": "self::rwlock::MappedRwLockReadGuard" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 75, - 24 - ], - "end": [ - 75, - 45 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "8218": { - "attrs": [ + "other": "#[clippy::has_significant_drop]" + }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8218, - "inner": { - "use": { - "id": 8114, - "is_glob": false, - "name": "MappedRwLockWriteGuard", - "source": "self::rwlock::MappedRwLockWriteGuard" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 75, - 47 - ], - "end": [ - 75, - 69 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "8219": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8219, - "inner": { - "use": { - "id": 8044, - "is_glob": false, - "name": "RwLock", - "source": "self::rwlock::RwLock" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 77, - 24 - ], - "end": [ - 77, - 30 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "822": { - "attrs": [ + }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "if unused the RwLock will immediately unlock" + } } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 822, + "docs": "RAII structure used to release the exclusive write access of a lock when\ndropped, which can point to a subfield of the protected data.\n\nThis structure is created by the [`map`] and [`filter_map`] methods\non [`RwLockWriteGuard`].\n\n[`map`]: RwLockWriteGuard::map\n[`filter_map`]: RwLockWriteGuard::filter_map", + "id": 8175, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - } - } - }, + "struct": { "generics": { "params": [ { @@ -696801,156 +710843,188 @@ "outlives": [] } }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" + "name": "'rwlock" }, { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "outlives": "'rwlock" + } + ], "default": null, "is_synthetic": false } }, - "name": "S" + "name": "T" } ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 819, - 820, - 821 + "impls": [ + 8239, + 8240, + 8241, + 8242, + 8243, + 8244, + 8245, + 8246, + 8247, + 8248, + 8249, + 8250, + 8251, + 8252, + 8253, + 8254, + 8256, + 8259, + 8261, + 8263, + 8265 ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 47, - "path": "IntoIterator" + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, + "links": { + "RwLockWriteGuard::filter_map": 8177, + "RwLockWriteGuard::map": 8176, + "`RwLockWriteGuard`": 8114 + }, + "name": "MappedRwLockWriteGuard", "span": { "begin": [ - 1886, + 167, 1 ], "end": [ - 1895, + 178, 2 ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8220": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8220, - "inner": { - "use": { - "id": 8051, - "is_glob": false, - "name": "RwLockReadGuard", - "source": "self::rwlock::RwLockReadGuard" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 77, - 32 - ], - "end": [ - 77, - 47 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "8221": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8221, - "inner": { - "use": { - "id": 8054, - "is_glob": false, - "name": "RwLockWriteGuard", - "source": "self::rwlock::RwLockWriteGuard" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 77, - 49 - ], - "end": [ - 77, - 65 - ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "public" }, - "8223": { + "8176": { "attrs": [ { - "other": "#[(panic = \"unwind\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Creates a `PoisonError`.\n\nThis is generally created by methods like [`Mutex::lock`](crate::sync::Mutex::lock)\nor [`RwLock::read`](crate::sync::RwLock::read).\n\nThis method may panic if std was built with `panic=\"abort\"`.", - "id": 8223, + "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockWriteGuard::map(...)`. A method would interfere with methods of\nthe same name on the contents of the `RwLockWriteGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked).", + "id": 8176, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "has_body": true, "header": { @@ -696962,9 +711036,15 @@ "sig": { "inputs": [ [ - "data", + "orig", { - "generic": "T" + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" } ] ], @@ -696974,121 +711054,159 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8175, + "path": "MappedRwLockWriteGuard" } } } } }, "links": { - "crate::sync::Mutex::lock": 7889, - "crate::sync::RwLock::read": 8050 + "`MappedRwLockWriteGuard`": 8175 }, - "name": "new", + "name": "map", "span": { "begin": [ - 282, + 783, 5 ], "end": [ - 284, + 795, 6 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "public" }, - "8224": { + "8177": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Reaches into this error indicating that a lock is poisoned, returning a\nreference to the associated data.", - "id": 8224, + "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockWriteGuard::filter_map(...)`. A method would interfere with methods\nof the same name on the contents of the `RwLockWriteGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked).", + "id": 8177, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } } + ], + "generic_params": [], + "type": { + "generic": "F" } } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } } } - } - } - } - }, - "links": {}, - "name": "get_ref", - "span": { - "begin": [ - 331, - 5 - ], - "end": [ - 333, - 6 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "public" - }, - "8225": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Reaches into this error indicating that a lock is poisoned, returning a\nmutable reference to the associated data.", - "id": 8225, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + ] }, "has_body": true, "header": { @@ -697100,52 +711218,86 @@ "sig": { "inputs": [ [ - "self", + "orig", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" + } + } + }, + { + "type": { + "generic": "Self" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" } } } } }, - "links": {}, - "name": "get_mut", + "links": { + "`MappedRwLockWriteGuard`": 8175 + }, + "name": "filter_map", "span": { "begin": [ - 338, + 813, 5 ], "end": [ - 340, + 834, 6 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "public" }, - "8226": { + "8178": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8226, + "id": 8178, "inner": { "impl": { "blanket_impl": null, @@ -697154,6 +711306,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -697163,16 +711318,36 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } @@ -697185,11 +711360,10 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 8223, - 7892, - 8224, - 8225 + "items": [ + 8174, + 8176, + 8177 ], "provided_trait_methods": [], "trait": null @@ -697199,23 +711373,23 @@ "name": null, "span": { "begin": [ - 273, + 678, 1 ], "end": [ - 341, + 835, 2 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8227": { + "8179": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8227, + "id": 8179, "inner": { "impl": { "blanket_impl": null, @@ -697224,6 +711398,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -697233,12 +711410,20 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -697257,11 +711442,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 3, + "path": "Sized" } } } @@ -697281,8 +711466,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 313, + "path": "Freeze" } } }, @@ -697291,12 +711476,16 @@ "span": null, "visibility": "default" }, - "8228": { - "attrs": [], + "818": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 56, patch: 0})}, feature: \"std_collections_from_array\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8228, + "id": 818, "inner": { "impl": { "blanket_impl": null, @@ -697307,15 +711496,29 @@ "args": [ { "type": { - "generic": "T" + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 739, + "path": "crate::hash::RandomState" + } } } ], "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 738, + "path": "HashMap" } }, "generics": { @@ -697328,79 +711531,8 @@ "is_synthetic": false } }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8229": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8229, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } + "name": "K" }, - "id": 7891, - "path": "PoisonError" - } - }, - "generics": { - "params": [ { "kind": { "type": { @@ -697409,7 +711541,18 @@ "is_synthetic": false } }, - "name": "T" + "name": "V" + }, + { + "kind": { + "const": { + "default": null, + "type": { + "primitive": "usize" + } + } + }, + "name": "N" } ], "where_predicates": [ @@ -697422,95 +711565,89 @@ "modifier": "none", "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 111, + "path": "Eq" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 539, + "path": "Hash" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "K" } } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 817 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "823": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 823, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "K" - } - } - }, - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": "'a", - "type": { - "generic": "V" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "array": { + "len": "N", + "type": { + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] + } + } + } } - } + ], + "constraints": [] } - ] + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "Item", + "name": null, "span": { "begin": [ - 1899, - 5 + 1399, + 1 ], "end": [ - 1899, - 36 + 1420, + 2 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8230": { + "8180": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8230, + "id": 8180, "inner": { "impl": { "blanket_impl": null, @@ -697519,6 +711656,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -697528,12 +711668,20 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -697552,11 +711700,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 3, + "path": "Sized" } } } @@ -697586,12 +711734,12 @@ "span": null, "visibility": "default" }, - "8231": { + "8181": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8231, + "id": 8181, "inner": { "impl": { "blanket_impl": null, @@ -697600,6 +711748,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -697609,12 +711760,20 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -697626,38 +711785,16 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -697667,12 +711804,12 @@ "span": null, "visibility": "default" }, - "8232": { + "8182": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8232, + "id": 8182, "inner": { "impl": { "blanket_impl": null, @@ -697681,6 +711818,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -697690,12 +711830,20 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -697707,38 +711855,16 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -697748,12 +711874,12 @@ "span": null, "visibility": "default" }, - "8233": { + "8183": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8233, + "id": 8183, "inner": { "impl": { "blanket_impl": { @@ -697764,6 +711890,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -697773,8 +711902,8 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -697818,7 +711947,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -697834,7 +711963,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -697843,23 +711972,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8234": { + "8184": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8234, + "id": 8184, "inner": { "impl": { "blanket_impl": { @@ -697870,6 +711999,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -697879,8 +712011,8 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -697924,7 +712056,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -697940,7 +712072,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -697949,23 +712081,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8235": { + "8185": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8235, + "id": 8185, "inner": { "impl": { "blanket_impl": { @@ -697976,6 +712108,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -697985,8 +712120,8 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -698051,7 +712186,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -698076,23 +712211,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8236": { + "8186": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8236, + "id": 8186, "inner": { "impl": { "blanket_impl": { @@ -698103,6 +712238,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -698112,8 +712250,8 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -698135,7 +712273,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -698160,23 +712298,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8237": { + "8187": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8237, + "id": 8187, "inner": { "impl": { "blanket_impl": { @@ -698187,6 +712325,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -698196,8 +712337,8 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -698244,7 +712385,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -698262,8 +712403,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -698279,7 +712420,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -698288,23 +712429,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8238": { + "8188": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8238, + "id": 8188, "inner": { "impl": { "blanket_impl": { @@ -698315,6 +712456,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -698324,8 +712468,8 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -698390,8 +712534,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -698407,7 +712551,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -698416,33 +712560,36 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8239": { + "8189": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8239, + "id": 8189, "inner": { "impl": { "blanket_impl": { - "generic": "T" + "generic": "P" }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -698452,12 +712599,22 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + }, { "kind": { "type": { @@ -698474,7 +712631,32 @@ "bound_predicate": { "bounds": [ { - "outlives": "'static" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "generic": "T" + } + } + }, + "name": "Target" + } + ] + } + }, + "id": 1967, + "path": "Deref" + } + } }, { "trait_bound": { @@ -698489,6 +712671,27 @@ } ], "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], "type": { "generic": "T" } @@ -698500,13 +712703,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 1968, + "path": "Receiver" } } }, @@ -698514,23 +712717,23 @@ "name": null, "span": { "begin": [ - 138, + 378, 1 ], "end": [ - 138, - 36 + 380, + 26 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "824": { + "819": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 824, + "id": 819, "inner": { "assoc_type": { "bounds": [], @@ -698539,54 +712742,151 @@ "where_predicates": [] }, "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + ] + } + } + }, + "links": {}, + "name": "Item", + "span": { + "begin": [ + 1882, + 5 + ], + "end": [ + 1882, + 32 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8190": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8190, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } + "lifetime": "'rwlock" }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8114, + "path": "RwLockWriteGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, "links": {}, - "name": "IntoIter", + "name": null, "span": { "begin": [ - 1900, - 5 + 138, + 1 ], "end": [ - 1900, - 39 + 138, + 36 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "8240": { + "8191": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8240, + "id": 8191, "inner": { "impl": { "blanket_impl": { @@ -698597,6 +712897,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -698606,8 +712909,8 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -698667,7 +712970,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -698676,23 +712979,210 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8241": { + "8192": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8192, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8114, + "path": "RwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 113, + 1 + ], + "end": [ + 113, + 53 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "8193": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8193, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8114, + "path": "RwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 116, + 1 + ], + "end": [ + 116, + 66 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "8194": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8241, + "id": 8194, "inner": { "function": { "generics": { @@ -698710,78 +713200,47 @@ "inputs": [ [ "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "Self" } } } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } + "output": null } } }, "links": {}, - "name": "fmt", + "name": "drop", "span": { "begin": [ - 253, + 988, 5 ], "end": [ - 255, + 993, 6 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8242": { + "8195": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8242, + "id": 8195, "inner": { "impl": { "blanket_impl": null, @@ -698790,6 +713249,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'_" + }, { "type": { "generic": "T" @@ -698799,8 +713261,8 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -698808,7 +713270,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } @@ -698822,13 +713296,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8241 + 8194 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 9, + "path": "Drop" } } }, @@ -698836,23 +713310,56 @@ "name": null, "span": { "begin": [ - 252, + 987, 1 ], "end": [ - 256, + 994, 2 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8243": { + "8196": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8243, + "id": 8196, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } + } + }, + "links": {}, + "name": "Target", + "span": { + "begin": [ + 1032, + 5 + ], + "end": [ + 1032, + 21 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "8197": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8197, "inner": { "function": { "generics": { @@ -698879,69 +713386,46 @@ } } } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "fmt", + "name": "deref", "span": { "begin": [ - 260, + 1034, 5 ], "end": [ - 262, + 1037, 6 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8244": { + "8198": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8244, + "id": 8198, "inner": { "impl": { "blanket_impl": null, @@ -698950,6 +713434,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'_" + }, { "type": { "generic": "T" @@ -698959,8 +713446,8 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -698968,7 +713455,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } @@ -698982,13 +713481,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8243 + 8196, + 8197 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 1967, + "path": "Deref" } } }, @@ -698996,27 +713496,23 @@ "name": null, "span": { "begin": [ - 259, + 1031, 1 ], "end": [ - 263, + 1038, 2 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8245": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - } - ], + "8199": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8245, + "id": 8199, "inner": { "function": { "generics": { @@ -699036,7 +713532,7 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" @@ -699048,10 +713544,10 @@ "is_c_variadic": false, "output": { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { - "primitive": "str" + "generic": "T" } } } @@ -699059,30 +713555,122 @@ } }, "links": {}, - "name": "description", + "name": "deref_mut", "span": { "begin": [ - 268, + 1042, 5 ], "end": [ - 270, + 1045, 6 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8246": { + "82": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8246, + "id": 82, + "inner": { + "use": { + "id": 83, + "is_glob": false, + "name": "include_str", + "source": "core::prelude::v1::include_str" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 51, + 45 + ], + "end": [ + 51, + 56 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "820": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 820, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" + } + } + } + }, + "links": {}, + "name": "IntoIter", + "span": { + "begin": [ + 1883, + 5 + ], + "end": [ + 1883, + 36 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8200": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8200, "inner": { "impl": { "blanket_impl": null, @@ -699091,6 +713679,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'_" + }, { "type": { "generic": "T" @@ -699100,8 +713691,8 @@ "constraints": [] } }, - "id": 7891, - "path": "PoisonError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -699109,7 +713700,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } @@ -699123,19 +713726,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8245 - ], - "provided_trait_methods": [ - "source", - "type_id", - "description", - "cause", - "provide" + 8199 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 450, - "path": "Error" + "id": 1987, + "path": "DerefMut" } } }, @@ -699143,23 +713740,23 @@ "name": null, "span": { "begin": [ - 266, + 1041, 1 ], "end": [ - 271, + 1046, 2 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8247": { + "8201": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8247, + "id": 8201, "inner": { "function": { "generics": { @@ -699176,23 +713773,39 @@ "sig": { "inputs": [ [ - "err", + "self", { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 341, + "path": "fmt::Formatter" } - }, - "id": 7891, - "path": "PoisonError" + } } } ] @@ -699200,58 +713813,92 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8248, - "path": "TryLockError" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "from", + "name": "fmt", "span": { "begin": [ - 345, + 1098, 5 ], "end": [ - 347, + 1100, 6 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8248": { + "8202": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "An enumeration of possible errors associated with a [`TryLockResult`] which\ncan occur while trying to acquire a lock, from the [`try_lock`] method on a\n[`Mutex`] or the [`try_read`] and [`try_write`] methods on an [`RwLock`].\n\n[`try_lock`]: crate::sync::Mutex::try_lock\n[`try_read`]: crate::sync::RwLock::try_read\n[`try_write`]: crate::sync::RwLock::try_write\n[`Mutex`]: crate::sync::Mutex\n[`RwLock`]: crate::sync::RwLock", - "id": 8248, + "docs": null, + "id": 8202, "inner": { - "enum": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8114, + "path": "RwLockWriteGuard" + } + }, "generics": { "params": [ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], "default": null, "is_synthetic": false } @@ -699261,65 +713908,130 @@ ], "where_predicates": [] }, - "has_stripped_variants": false, - "impls": [ - 8251, - 8252, - 8253, - 8254, - 8255, - 8256, - 8257, - 8258, - 8259, - 8260, - 8261, - 8262, - 8263, - 8264, - 8249, - 8266, - 8268, - 8271 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8201 ], - "variants": [ - 7898, - 7899 - ] + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } } }, - "links": { - "`TryLockResult`": 7900, - "crate::sync::Mutex": 495, - "crate::sync::Mutex::try_lock": 7890, - "crate::sync::RwLock": 8044, - "crate::sync::RwLock::try_read": 8052, - "crate::sync::RwLock::try_write": 8055 - }, - "name": "TryLockError", + "links": {}, + "name": null, "span": { "begin": [ - 219, + 1097, 1 ], "end": [ - 228, + 1101, 2 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8249": { + "8203": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8203, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 1105, + 5 + ], + "end": [ + 1107, + 6 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "8204": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8249, + "id": 8204, "inner": { "impl": { "blanket_impl": null, @@ -699328,6 +714040,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'_" + }, { "type": { "generic": "T" @@ -699337,8 +714052,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8114, + "path": "RwLockWriteGuard" } }, "generics": { @@ -699346,7 +714061,30 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "fmt::Display" + } + } + } + ], "default": null, "is_synthetic": false } @@ -699360,39 +714098,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8247 + 8203 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7891, - "path": "PoisonError" - } - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 436, + "path": "Display" } } }, @@ -699400,35 +714112,119 @@ "name": null, "span": { "begin": [ - 344, + 1104, 1 ], "end": [ - 348, + 1108, 2 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "825": { + "8207": { "attrs": [ { - "other": "#[rustc_lint_query_instability]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 825, + "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data,\ne.g. an enum variant.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockReadGuard::map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockReadGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked).", + "id": 8207, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "has_body": true, "header": { @@ -699440,10 +714236,16 @@ "sig": { "inputs": [ [ - "self", + "orig", { "generic": "Self" } + ], + [ + "f", + { + "generic": "F" + } ] ], "is_c_variadic": false, @@ -699453,116 +714255,53 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } + "lifetime": "'rwlock" }, { "type": { - "generic": "V" + "generic": "U" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8145, + "path": "MappedRwLockReadGuard" } } } } }, - "links": {}, - "name": "into_iter", + "links": { + "`MappedRwLockReadGuard`": 8145 + }, + "name": "map", "span": { "begin": [ - 1904, + 853, 5 ], "end": [ - 1906, + 865, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8250": { + "8208": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8250, - "inner": { - "struct_field": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7891, - "path": "PoisonError" - } - } - }, - "links": {}, - "name": "0", - "span": { - "begin": [ - 223, - 60 - ], - "end": [ - 223, - 74 - ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "default" - }, - "8251": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8251, + "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data.\nThe original guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockReadGuard::filter_map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockReadGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked).", + "id": 8208, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8248, - "path": "TryLockError" - } - }, + "function": { "generics": { "params": [ { @@ -699573,7 +714312,17 @@ "is_synthetic": false } }, - "name": "T" + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" } ], "where_predicates": [ @@ -699584,45 +714333,171 @@ "trait_bound": { "generic_params": [], "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } ] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "orig", + { + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8145, + "path": "MappedRwLockReadGuard" + } + } + }, + { + "type": { + "generic": "Self" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } } } }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" + "links": { + "`MappedRwLockReadGuard`": 8145 + }, + "name": "filter_map", + "span": { + "begin": [ + 883, + 5 + ], + "end": [ + 900, + 6 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "public" }, - "8252": { + "8209": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8252, + "id": 8209, "inner": { "impl": { "blanket_impl": null, @@ -699631,6 +714506,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -699640,16 +714518,36 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } @@ -699657,53 +714555,120 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 8207, + 8208 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 837, + 1 + ], + "end": [ + 901, + 2 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, "visibility": "default" }, - "8253": { + "821": { + "attrs": [ + { + "other": "#[rustc_lint_query_instability]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 821, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" + } + } + } + } + }, + "links": {}, + "name": "into_iter", + "span": { + "begin": [ + 1887, + 5 + ], + "end": [ + 1889, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8210": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8253, + "id": 8210, "inner": { "impl": { "blanket_impl": null, @@ -699712,6 +714677,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -699721,12 +714689,20 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -699745,11 +714721,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 3, + "path": "Sized" } } } @@ -699769,7 +714745,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -699779,12 +714755,12 @@ "span": null, "visibility": "default" }, - "8254": { + "8211": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8254, + "id": 8211, "inner": { "impl": { "blanket_impl": null, @@ -699793,6 +714769,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -699802,12 +714781,20 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -699826,11 +714813,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 3, + "path": "Sized" } } } @@ -699860,12 +714847,12 @@ "span": null, "visibility": "default" }, - "8255": { + "8212": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8255, + "id": 8212, "inner": { "impl": { "blanket_impl": null, @@ -699874,6 +714861,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -699883,12 +714873,20 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -699911,7 +714909,18 @@ "trait": { "args": null, "id": 318, - "path": "UnwindSafe" + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } } @@ -699931,7 +714940,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -699941,12 +714950,12 @@ "span": null, "visibility": "default" }, - "8256": { + "8213": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8256, + "id": 8213, "inner": { "impl": { "blanket_impl": null, @@ -699955,6 +714964,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -699964,12 +714976,20 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -699991,10 +715011,21 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } } ], "generic_params": [], @@ -700012,7 +715043,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -700022,12 +715053,12 @@ "span": null, "visibility": "default" }, - "8257": { + "8214": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8257, + "id": 8214, "inner": { "impl": { "blanket_impl": { @@ -700038,6 +715069,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -700047,8 +715081,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -700092,7 +715126,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -700108,7 +715142,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -700117,23 +715151,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8258": { + "8215": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8258, + "id": 8215, "inner": { "impl": { "blanket_impl": { @@ -700144,6 +715178,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -700153,8 +715190,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -700198,7 +715235,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -700214,7 +715251,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -700223,23 +715260,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8259": { + "8216": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8259, + "id": 8216, "inner": { "impl": { "blanket_impl": { @@ -700250,6 +715287,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -700259,8 +715299,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -700325,7 +715365,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -700350,94 +715390,51 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "826": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8217": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 826, + "id": 8217, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": "'a", - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } } - }, - "id": 738, - "path": "HashMap" + ], + "constraints": [] } - } + }, + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, { "kind": { "type": { @@ -700446,7 +715443,7 @@ "is_synthetic": false } }, - "name": "S" + "name": "T" } ], "where_predicates": [] @@ -700455,15 +715452,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 823, - 824, - 825 + 327 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 47, - "path": "IntoIterator" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, @@ -700471,23 +715477,23 @@ "name": null, "span": { "begin": [ - 1898, + 785, 1 ], "end": [ - 1907, - 2 + 785, + 28 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8260": { + "8218": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8260, + "id": 8218, "inner": { "impl": { "blanket_impl": { @@ -700498,6 +715504,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -700507,8 +715516,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -700522,15 +715531,59 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -700539,15 +715592,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 37, - "path": "From" + "id": 198, + "path": "TryInto" } } }, @@ -700555,23 +715608,23 @@ "name": null, "span": { "begin": [ - 791, + 811, 1 ], "end": [ - 791, - 28 + 813, + 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8261": { + "8219": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8261, + "id": 8219, "inner": { "impl": { "blanket_impl": { @@ -700582,6 +715635,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -700591,8 +715647,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -700639,43 +715695,164 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "822": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 822, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } + } + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } - } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } - ] + ], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 819, + 820, + 821 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + "args": null, + "id": 47, + "path": "IntoIterator" } } }, @@ -700683,33 +715860,36 @@ "name": null, "span": { "begin": [ - 817, + 1881, 1 ], "end": [ - 819, - 27 + 1890, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8262": { + "8220": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8262, + "id": 8220, "inner": { "impl": { "blanket_impl": { - "generic": "T" + "generic": "P" }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -700719,8 +715899,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -700733,7 +715913,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "P" }, { "kind": { @@ -700743,7 +715923,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "T" } ], "where_predicates": [ @@ -700757,25 +715937,63 @@ "trait": { "args": { "angle_bracketed": { - "args": [ + "args": [], + "constraints": [ { - "type": { - "generic": "T" - } + "args": null, + "binding": { + "equality": { + "type": { + "generic": "T" + } + } + }, + "name": "Target" } - ], - "constraints": [] + ] } }, - "id": 39, - "path": "Into" + "id": 1967, + "path": "Deref" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" } } } @@ -700785,25 +716003,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 1965 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 1968, + "path": "Receiver" } } }, @@ -700811,23 +716017,23 @@ "name": null, "span": { "begin": [ - 833, + 378, 1 ], "end": [ - 835, - 24 + 380, + 26 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "8263": { + "8221": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8263, + "id": 8221, "inner": { "impl": { "blanket_impl": { @@ -700838,6 +716044,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -700847,8 +716056,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -700895,12 +716104,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -700920,12 +716129,12 @@ }, "visibility": "default" }, - "8264": { + "8222": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8264, + "id": 8222, "inner": { "impl": { "blanket_impl": { @@ -700936,6 +716145,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { "generic": "T" @@ -700945,8 +716157,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -701006,7 +716218,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -701015,112 +716227,115 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8265": { - "attrs": [], + "8223": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8265, + "id": 8223, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] + }, + "id": 8145, + "path": "MappedRwLockReadGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } - }, - "id": 343, - "path": "fmt::Formatter" + } } - } + ], + "default": null, + "is_synthetic": false } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + }, + "name": "T" } - } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, "links": {}, - "name": "fmt", + "name": null, "span": { "begin": [ - 352, - 5 + 146, + 1 ], "end": [ - 360, - 6 + 146, + 58 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8266": { + "8224": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8266, + "id": 8224, "inner": { "impl": { "blanket_impl": null, @@ -701129,6 +716344,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'_" + }, { "type": { "generic": "T" @@ -701138,8 +716356,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -701147,7 +716365,30 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], "default": null, "is_synthetic": false } @@ -701160,14 +716401,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 8265 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 5, + "path": "Sync" } } }, @@ -701175,23 +716414,23 @@ "name": null, "span": { "begin": [ - 351, + 150, 1 ], "end": [ - 361, - 2 + 150, + 71 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8267": { + "8225": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8267, + "id": 8225, "inner": { "function": { "generics": { @@ -701209,78 +716448,47 @@ "inputs": [ [ "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "Self" } } } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } + "output": null } } }, "links": {}, - "name": "fmt", + "name": "drop", "span": { "begin": [ - 365, + 999, 5 ], "end": [ - 374, + 1005, 6 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8268": { + "8226": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8268, + "id": 8226, "inner": { "impl": { "blanket_impl": null, @@ -701289,6 +716497,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'_" + }, { "type": { "generic": "T" @@ -701298,8 +716509,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -701307,7 +716518,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } @@ -701321,13 +716544,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8267 + 8225 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 9, + "path": "Drop" } } }, @@ -701335,89 +716558,23 @@ "name": null, "span": { "begin": [ - 364, + 998, 1 ], "end": [ - 375, + 1006, 2 ], - "filename": "std/src/sync/poison.rs" - }, - "visibility": "default" - }, - "8269": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8269, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "description", - "span": { - "begin": [ - 380, - 5 - ], - "end": [ - 388, - 6 - ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "827": { + "8227": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 827, + "id": 8227, "inner": { "assoc_type": { "bounds": [], @@ -701426,42 +716583,31 @@ "where_predicates": [] }, "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] + "generic": "T" } } }, "links": {}, - "name": "Item", + "name": "Target", "span": { "begin": [ - 1911, + 1051, 5 ], "end": [ - 1911, - 24 + 1051, + 21 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8270": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - } - ], + "8228": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8270, + "id": 8228, "inner": { "function": { "generics": { @@ -701492,69 +716638,42 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "dyn_trait": { - "lifetime": null, - "traits": [ - { - "generic_params": [], - "trait": { - "args": null, - "id": 450, - "path": "Error" - } - } - ] - } - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "cause", + "name": "deref", "span": { "begin": [ - 391, + 1053, 5 ], "end": [ - 399, + 1057, 6 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8271": { + "8229": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8271, + "id": 8229, "inner": { "impl": { "blanket_impl": null, @@ -701563,6 +716682,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'_" + }, { "type": { "generic": "T" @@ -701572,8 +716694,8 @@ "constraints": [] } }, - "id": 8248, - "path": "TryLockError" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -701581,7 +716703,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } @@ -701595,20 +716729,14 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8269, - 8270 - ], - "provided_trait_methods": [ - "source", - "type_id", - "description", - "cause", - "provide" + 8227, + 8228 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 450, - "path": "Error" + "id": 1967, + "path": "Deref" } } }, @@ -701616,83 +716744,75 @@ "name": null, "span": { "begin": [ - 378, + 1050, 1 ], "end": [ - 400, + 1058, 2 ], - "filename": "std/src/sync/poison.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8275": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "823": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "A barrier enables multiple threads to synchronize the beginning\nof some computation.\n\n# Examples\n\n```\nuse std::sync::Barrier;\nuse std::thread;\n\nlet n = 10;\nlet barrier = Barrier::new(n);\nthread::scope(|s| {\n for _ in 0..n {\n // The same messages will be printed together.\n // You will NOT see any interleaving.\n s.spawn(|| {\n println!(\"before wait\");\n barrier.wait();\n println!(\"after wait\");\n });\n }\n});\n```", - "id": 8275, + "docs": null, + "id": 823, "inner": { - "struct": { + "assoc_type": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "impls": [ - 8280, - 8281, - 8282, - 8283, - 8284, - 8285, - 8286, - 8287, - 8288, - 8289, - 8290, - 8291, - 8292, - 8293, - 8295 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" + } + } + }, + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + ] } } }, "links": {}, - "name": "Barrier", + "name": "Item", "span": { "begin": [ - 29, - 1 + 1894, + 5 ], "end": [ - 33, - 2 + 1894, + 36 ], - "filename": "std/src/sync/barrier.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "8276": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8230": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Blocks the current thread until all threads have rendezvoused here.\n\nBarriers are re-usable after all threads have rendezvoused once, and can\nbe used continuously.\n\nA single (arbitrary) thread will receive a [`BarrierWaitResult`] that\nreturns `true` from [`BarrierWaitResult::is_leader()`] when returning\nfrom this function, and all other threads will receive a result that\nwill return `false` from [`BarrierWaitResult::is_leader()`].\n\n# Examples\n\n```\nuse std::sync::Barrier;\nuse std::thread;\n\nlet n = 10;\nlet barrier = Barrier::new(n);\nthread::scope(|s| {\n for _ in 0..n {\n // The same messages will be printed together.\n // You will NOT see any interleaving.\n s.spawn(|| {\n println!(\"before wait\");\n barrier.wait();\n println!(\"after wait\");\n });\n }\n});\n```", - "id": 8276, + "docs": null, + "id": 8230, "inner": { "function": { "generics": { @@ -701719,77 +716839,30 @@ } } } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" - } - } - } - } - }, - "links": { - "`BarrierWaitResult::is_leader()`": 8279, - "`BarrierWaitResult`": 8278 - }, - "name": "wait", - "span": { - "begin": [ - 120, - 5 - ], - "end": [ - 134, - 6 - ], - "filename": "std/src/sync/barrier.rs" - }, - "visibility": "public" - }, - "8277": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 78, patch: 0})}, feature: \"const_barrier\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a new barrier that can block a given number of threads.\n\nA barrier will block `n`-1 threads which call [`wait()`] and then wake\nup all threads at once when the `n`th thread calls [`wait()`].\n\n[`wait()`]: Barrier::wait\n\n# Examples\n\n```\nuse std::sync::Barrier;\n\nlet barrier = Barrier::new(10);\n```", - "id": 8277, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "n", + "f", { - "primitive": "usize" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } } ] ], @@ -701797,103 +716870,135 @@ "output": { "resolved_path": { "args": null, - "id": 8275, - "path": "Barrier" + "id": 342, + "path": "fmt::Result" } } } } }, - "links": { - "Barrier::wait": 8276 - }, - "name": "new", + "links": {}, + "name": "fmt", "span": { "begin": [ - 81, + 1113, 5 ], "end": [ - 87, + 1115, 6 ], - "filename": "std/src/sync/barrier.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8278": { + "8231": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "A `BarrierWaitResult` is returned by [`Barrier::wait()`] when all threads\nin the [`Barrier`] have rendezvoused.\n\n# Examples\n\n```\nuse std::sync::Barrier;\n\nlet barrier = Barrier::new(1);\nlet barrier_wait_result = barrier.wait();\n```", - "id": 8278, + "docs": null, + "id": 8231, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8145, + "path": "MappedRwLockReadGuard" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "impls": [ - 8297, - 8298, - 8299, - 8300, - 8301, - 8302, - 8303, - 8304, - 8305, - 8306, - 8307, - 8308, - 8309, - 8310, - 8312 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8230 ], - "kind": { - "tuple": [ - null - ] + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" } } }, - "links": { - "`Barrier::wait()`": 8276, - "`Barrier`": 8275 - }, - "name": "BarrierWaitResult", + "links": {}, + "name": null, "span": { "begin": [ - 53, + 1112, 1 ], "end": [ - 53, - 36 + 1116, + 2 ], - "filename": "std/src/sync/barrier.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8279": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], + "8232": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this thread is the \"leader thread\" for the call to\n[`Barrier::wait()`].\n\nOnly one thread will have `true` returned from their result, all other\nthreads will have `false` returned.\n\n# Examples\n\n```\nuse std::sync::Barrier;\n\nlet barrier = Barrier::new(1);\nlet barrier_wait_result = barrier.wait();\nprintln!(\"{:?}\", barrier_wait_result.is_leader());\n```", - "id": 8279, + "docs": null, + "id": 8232, "inner": { "function": { "generics": { @@ -701920,369 +717025,91 @@ } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, - "links": { - "`Barrier::wait()`": 8276 - }, - "name": "is_leader", + "links": {}, + "name": "fmt", "span": { "begin": [ - 162, + 1121, 5 ], "end": [ - 164, + 1123, 6 ], - "filename": "std/src/sync/barrier.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "828": { - "attrs": [], + "8233": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 828, + "id": 8233, "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { + "impl": { + "blanket_impl": null, + "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "type": { - "generic": "K" - } + "lifetime": "'_" }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 829, - "path": "IntoIter" - } - } - } - }, - "links": {}, - "name": "IntoIter", - "span": { - "begin": [ - 1912, - 5 - ], - "end": [ - 1912, - 36 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8280": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8280, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8277, - 8276 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 62, - 1 - ], - "end": [ - 135, - 2 - ], - "filename": "std/src/sync/barrier.rs" - }, - "visibility": "default" - }, - "8281": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8281, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8282": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8282, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8283": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8283, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": true, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8284": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8284, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8285": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8285, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8286": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8286, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8287": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8287, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" + "id": 8145, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -702290,102 +717117,30 @@ { "kind": { "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "fmt::Display" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "8288": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8288, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], + ], "default": null, "is_synthetic": false } @@ -702393,52 +717148,19 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 8232 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 436, + "path": "Display" } } }, @@ -702446,35 +717168,29 @@ "name": null, "span": { "begin": [ - 217, + 1120, 1 ], "end": [ - 217, - 35 + 1124, + 2 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8289": { - "attrs": [], + "8237": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8289, + "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data,\ne.g. an enum variant.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockWriteGuard::map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockWriteGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked).", + "id": 8237, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, + "function": { "generics": { "params": [ { @@ -702485,7 +717201,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "U" }, { "kind": { @@ -702495,7 +717211,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "F" } ], "where_predicates": [ @@ -702508,293 +717224,52 @@ "modifier": "none", "trait": { "args": { - "angle_bracketed": { - "args": [ + "parenthesized": { + "inputs": [ { - "type": { - "generic": "T" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } } } ], - "constraints": [] + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } } }, - "id": 37, - "path": "From" + "id": 15, + "path": "FnOnce" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "F" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 773, - 1 - ], - "end": [ - 775, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "829": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An owning iterator over the entries of a `HashMap`.\n\nThis `struct` is created by the [`into_iter`] method on [`HashMap`]\n(provided by the [`IntoIterator`] trait). See its documentation for more.\n\n[`into_iter`]: IntoIterator::into_iter\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter = map.into_iter();\n```", - "id": 829, - "inner": { - "struct": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "impls": [ - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 924, - 930, - 932, - 933, - 935 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true - } - } - } - }, - "links": { - "IntoIterator::into_iter": 908, - "`HashMap`": 738, - "`IntoIterator`": 47 - }, - "name": "IntoIter", - "span": { - "begin": [ - 1526, - 1 - ], - "end": [ - 1528, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "public" - }, - "8290": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8290, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 791, - 28 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "8291": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8291, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ { "bound_predicate": { "bounds": [ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 3, + "path": "Sized" } } } @@ -702807,65 +717282,82 @@ } ] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "orig", + { + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } - }, - "id": 200, - "path": "TryInto" + } } } }, - "links": {}, - "name": null, + "links": { + "`MappedRwLockWriteGuard`": 8175 + }, + "name": "map", "span": { "begin": [ - 817, - 1 + 919, + 5 ], "end": [ - 819, - 27 + 931, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8292": { - "attrs": [], + "8238": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8292, + "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data.\nThe original guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockWriteGuard::filter_map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockWriteGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked).", + "id": 8238, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, + "function": { "generics": { "params": [ { @@ -702876,7 +717368,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "U" }, { "kind": { @@ -702886,7 +717378,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "F" } ], "where_predicates": [ @@ -702899,110 +717391,59 @@ "modifier": "none", "trait": { "args": { - "angle_bracketed": { - "args": [ + "parenthesized": { + "inputs": [ { - "type": { - "generic": "T" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } } } ], - "constraints": [] + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } } }, - "id": 39, - "path": "Into" + "id": 15, + "path": "FnOnce" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "F" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "8293": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8293, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ + }, { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], @@ -703017,204 +717458,167 @@ ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } ] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "8294": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8294, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, "has_body": true, "header": { "abi": "Rust", "is_async": false, "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "orig", + { + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" + } + } + }, + { + "type": { + "generic": "Self" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" } } } } }, - "links": {}, - "name": "fmt", + "links": { + "`MappedRwLockWriteGuard`": 8175 + }, + "name": "filter_map", "span": { "begin": [ - 57, + 949, 5 ], "end": [ - 59, + 973, 6 ], - "filename": "std/src/sync/barrier.rs" - }, - "visibility": "default" - }, - "8295": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8295, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8275, - "path": "Barrier" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8294 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 56, - 1 - ], - "end": [ - 60, - 2 - ], - "filename": "std/src/sync/barrier.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8297": { + "8239": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8297, + "id": 8239, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8279 + 8237, + 8238 ], "provided_trait_methods": [], "trait": null @@ -703224,187 +717628,147 @@ "name": null, "span": { "begin": [ - 144, + 903, 1 ], "end": [ - 165, + 974, 2 ], - "filename": "std/src/sync/barrier.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8298": { + "824": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8298, + "id": 824, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" - } - }, + "assoc_type": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8299": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8299, - "inner": { - "impl": { - "blanket_impl": null, - "for": { + "type": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "830": { - "attrs": [ - { - "other": "#[rustc_lint_query_instability]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();\n```", - "id": 830, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" - } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 758, + "path": "IterMut" } } } }, "links": {}, - "name": "into_iter", + "name": "IntoIter", "span": { "begin": [ - 1934, + 1895, 5 ], "end": [ - 1936, - 6 + 1895, + 39 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8300": { + "8240": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8300, + "id": 8240, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -703413,7 +717777,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -703423,25 +717787,80 @@ "span": null, "visibility": "default" }, - "8301": { + "8241": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8301, + "id": 8241, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -703460,34 +717879,67 @@ "span": null, "visibility": "default" }, - "8302": { + "8242": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8302, + "id": 8242, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -703497,25 +717949,91 @@ "span": null, "visibility": "default" }, - "8303": { + "8243": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8303, + "id": 8243, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -703524,7 +718042,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -703534,12 +718052,12 @@ "span": null, "visibility": "default" }, - "8304": { + "8244": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8304, + "id": 8244, "inner": { "impl": { "blanket_impl": { @@ -703547,9 +718065,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -703593,7 +718125,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -703609,7 +718141,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -703618,23 +718150,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8305": { + "8245": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8305, + "id": 8245, "inner": { "impl": { "blanket_impl": { @@ -703642,9 +718174,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -703688,7 +718234,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -703704,7 +718250,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -703713,23 +718259,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8306": { + "8246": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8306, + "id": 8246, "inner": { "impl": { "blanket_impl": { @@ -703737,9 +718283,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -703804,7 +718364,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -703829,23 +718389,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8307": { + "8247": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8307, + "id": 8247, "inner": { "impl": { "blanket_impl": { @@ -703853,9 +718413,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -703877,7 +718451,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -703902,23 +718476,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8308": { + "8248": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8308, + "id": 8248, "inner": { "impl": { "blanket_impl": { @@ -703926,9 +718500,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -703975,7 +718563,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -703993,8 +718581,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -704010,7 +718598,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -704019,23 +718607,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8309": { + "8249": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8309, + "id": 8249, "inner": { "impl": { "blanket_impl": { @@ -704043,9 +718631,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -704110,8 +718712,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -704127,7 +718729,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -704136,56 +718738,127 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "831": { + "825": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[rustc_lint_query_instability]" + }, + { + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 831, + "id": 825, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 758, + "path": "IterMut" + } + } + } + } + }, + "links": {}, + "name": "into_iter", + "span": { + "begin": [ + 1899, + 5 + ], + "end": [ + 1901, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8250": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8250, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "P" + }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } + "lifetime": "'rwlock" }, { "type": { - "generic": "S" + "generic": "T" } } ], "constraints": [] } }, - "id": 738, - "path": "HashMap" + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -704198,7 +718871,7 @@ "is_synthetic": false } }, - "name": "K" + "name": "P" }, { "kind": { @@ -704208,34 +718881,93 @@ "is_synthetic": false } }, - "name": "V" + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "generic": "T" + } + } + }, + "name": "Target" + } + ] + } + }, + "id": 1967, + "path": "Deref" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } }, { - "kind": { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "generic": "T" } - }, - "name": "S" + } } - ], - "where_predicates": [] + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 827, - 828, - 830 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 47, - "path": "IntoIterator" + "id": 1968, + "path": "Receiver" } } }, @@ -704243,23 +718975,23 @@ "name": null, "span": { "begin": [ - 1910, + 378, 1 ], "end": [ - 1937, - 2 + 380, + 26 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "8310": { + "8251": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8310, + "id": 8251, "inner": { "impl": { "blanket_impl": { @@ -704267,9 +718999,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -704316,12 +719062,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -704341,126 +719087,185 @@ }, "visibility": "default" }, - "8311": { + "8252": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8311, + "id": 8252, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } } } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" } } }, "links": {}, - "name": "fmt", + "name": null, "span": { "begin": [ - 139, - 5 + 2866, + 1 ], "end": [ - 141, - 6 + 2866, + 46 ], - "filename": "std/src/sync/barrier.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8312": { + "8253": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8312, + "id": 8253, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8278, - "path": "BarrierWaitResult" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": false, "is_unsafe": false, - "items": [ - 8311 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 1, + "path": "Send" } } }, @@ -704468,110 +719273,122 @@ "name": null, "span": { "begin": [ - 138, + 182, 1 ], "end": [ - 142, - 2 + 182, + 59 ], - "filename": "std/src/sync/barrier.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8317": { + "8254": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Creates a new lazy value with the given initializing function.\n\n# Examples\n\n```\nuse std::sync::LazyLock;\n\nlet hello = \"Hello, World!\".to_string();\n\nlet lazy = LazyLock::new(|| hello.to_uppercase());\n\nassert_eq!(&*lazy, \"HELLO, WORLD!\");\n```", - "id": 8317, + "docs": null, + "id": 8254, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "f", - { - "generic": "F" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ { - "type": { - "generic": "T" + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } } }, { - "type": { - "generic": "F" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } } } ], - "constraints": [] + "default": null, + "is_synthetic": false } }, - "id": 737, - "path": "LazyLock" + "name": "T" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, "links": {}, - "name": "new", + "name": null, "span": { "begin": [ - 104, - 5 + 186, + 1 ], "end": [ - 106, - 6 + 186, + 72 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8318": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8255": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Forces the evaluation of this lazy value and returns a reference to\nresult. This is equivalent to the `Deref` impl, but is explicit.\n\nThis method will block the calling thread if another initialization\nroutine is currently running.\n\n# Panics\n\nIf the initialization closure panics (the one that is passed to the [`new()`] method), the\npanic is propagated to the caller, and the lock becomes poisoned. This will cause all future\naccesses of the lock (via [`force()`] or a dereference) to panic.\n\n[`new()`]: LazyLock::new\n[`force()`]: LazyLock::force\n\n# Examples\n\n```\nuse std::sync::LazyLock;\n\nlet lazy = LazyLock::new(|| 92);\n\nassert_eq!(LazyLock::force(&lazy), &92);\nassert_eq!(&*lazy, &92);\n```", - "id": 8318, + "docs": null, + "id": 8255, "inner": { "function": { "generics": { @@ -704588,79 +719405,167 @@ "sig": { "inputs": [ [ - "this", + "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" - } + "generic": "Self" } } } ] ], "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } + "output": null } } }, - "links": { - "LazyLock::force": 8318, - "LazyLock::new": 8317 - }, - "name": "force", + "links": {}, + "name": "drop", "span": { "begin": [ - 246, + 1011, 5 ], "end": [ - 264, + 1017, 6 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8319": { + "8256": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 125623, is_soft: false}, feature: \"lazy_cell_into_inner\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Consumes this `LazyLock` returning the stored value.\n\nReturns `Ok(value)` if `Lazy` is initialized and `Err(f)` otherwise.\n\n# Panics\n\nPanics if the lock is poisoned.\n\n# Examples\n\n```\n#![feature(lazy_cell_into_inner)]\n\nuse std::sync::LazyLock;\n\nlet hello = \"Hello, World!\".to_string();\n\nlet lazy = LazyLock::new(|| hello.to_uppercase());\n\nassert_eq!(&*lazy, \"HELLO, WORLD!\");\nassert_eq!(LazyLock::into_inner(lazy).ok(), Some(\"HELLO, WORLD!\".to_string()));\n```", - "id": 8319, + "docs": null, + "id": 8256, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8255 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 9, + "path": "Drop" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1010, + 1 + ], + "end": [ + 1018, + 2 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "8257": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8257, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } + } + }, + "links": {}, + "name": "Target", + "span": { + "begin": [ + 1063, + 5 + ], + "end": [ + 1063, + 21 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "8258": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8258, "inner": { "function": { "generics": { @@ -704677,62 +719582,80 @@ "sig": { "inputs": [ [ - "this", + "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "into_inner", + "name": "deref", "span": { "begin": [ - 140, + 1065, 5 ], "end": [ - 154, + 1069, 6 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "832": { - "attrs": [], + "8259": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": "Constructs a `HashMap` from an iterator of key-value pairs.\n\nIf the iterator produces any pairs with equal keys,\nall but one of the corresponding values will be dropped.", - "id": 832, + "docs": null, + "id": 8259, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" + } + }, "generics": { "params": [ { @@ -704742,35 +719665,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [], - "constraints": [ - { - "args": null, - "binding": { - "equality": { - "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] - } - } - }, - "name": "Item" - } - ] - } - }, - "id": 47, - "path": "IntoIterator" + "args": null, + "id": 3, + "path": "Sized" } } } @@ -704784,82 +719683,163 @@ ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "iter", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8257, + 8258 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1967, + "path": "Deref" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1062, + 1 + ], + "end": [ + 1070, + 2 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "826": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 826, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": "'a", + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" + } } - } - ], - "constraints": [] + ], + "constraints": [] + } + }, + "id": 738, + "path": "HashMap" + } + } + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] } }, - "id": 738, - "path": "HashMap" + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 823, + 824, + 825 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 47, + "path": "IntoIterator" } } }, "links": {}, - "name": "from_iter", + "name": null, "span": { "begin": [ - 2783, - 5 + 1893, + 1 ], "end": [ - 2787, - 6 + 1902, + 2 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8320": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 129333, is_soft: false}, feature: \"lazy_get\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8260": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Forces the evaluation of this lazy value and returns a mutable reference to\nthe result.\n\n# Panics\n\nIf the initialization closure panics (the one that is passed to the [`new()`] method), the\npanic is propagated to the caller, and the lock becomes poisoned. This will cause all future\naccesses of the lock (via [`force()`] or a dereference) to panic.\n\n[`new()`]: LazyLock::new\n[`force()`]: LazyLock::force\n\n# Examples\n\n```\n#![feature(lazy_get)]\nuse std::sync::LazyLock;\n\nlet mut lazy = LazyLock::new(|| 92);\n\nlet p = LazyLock::force_mut(&mut lazy);\nassert_eq!(*p, 92);\n*p = 44;\nassert_eq!(*lazy, 44);\n```", - "id": 8320, + "docs": null, + "id": 8260, "inner": { "function": { "generics": { @@ -704876,33 +719856,13 @@ "sig": { "inputs": [ [ - "this", + "self", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" - } + "generic": "Self" } } } @@ -704921,30 +719881,31 @@ } } }, - "links": { - "LazyLock::force": 8318, - "LazyLock::new": 8317 - }, - "name": "force_mut", + "links": {}, + "name": "deref_mut", "span": { "begin": [ - 183, + 1075, 5 ], "end": [ - 217, + 1079, 6 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8321": { - "attrs": [], + "8261": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8321, + "id": 8261, "inner": { "impl": { "blanket_impl": null, @@ -704954,35 +719915,23 @@ "angle_bracketed": { "args": [ { - "type": { - "generic": "T" - } + "lifetime": "'_" }, { "type": { - "generic": "F" + "generic": "T" } } ], "constraints": [] } }, - "id": 737, - "path": "LazyLock" + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, { "kind": { "type": { @@ -704990,18 +719939,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "T" - } - } - }, - "id": 15, - "path": "FnOnce" + "args": null, + "id": 3, + "path": "Sized" } } } @@ -705010,7 +719952,7 @@ "is_synthetic": false } }, - "name": "F" + "name": "T" } ], "where_predicates": [] @@ -705019,43 +719961,37 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8317, - 8319, - 8320, - 8318 + 8260 ], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 1987, + "path": "DerefMut" + } } }, "links": {}, "name": null, "span": { "begin": [ - 87, + 1074, 1 ], "end": [ - 265, + 1080, 2 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8322": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 129333, is_soft: false}, feature: \"lazy_get\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8262": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns a mutable reference to the value if initialized. Otherwise (if uninitialized or\npoisoned), returns `None`.\n\n# Examples\n\n```\n#![feature(lazy_get)]\n\nuse std::sync::LazyLock;\n\nlet mut lazy = LazyLock::new(|| 92);\n\nassert_eq!(LazyLock::get_mut(&mut lazy), None);\nlet _ = LazyLock::force(&lazy);\n*LazyLock::get_mut(&mut lazy).unwrap() = 44;\nassert_eq!(*lazy, 44);\n```", - "id": 8322, + "docs": null, + "id": 8262, "inner": { "function": { "generics": { @@ -705072,7 +720008,19 @@ "sig": { "inputs": [ [ - "this", + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", { "borrowed_ref": { "is_mutable": true, @@ -705083,21 +720031,14 @@ "angle_bracketed": { "args": [ { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } + "lifetime": "'_" } ], "constraints": [] } }, - "id": 737, - "path": "LazyLock" + "id": 341, + "path": "fmt::Formatter" } } } @@ -705107,59 +720048,136 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "get_mut", + "name": "fmt", "span": { "begin": [ - 287, + 1129, 5 ], "end": [ - 296, + 1131, 6 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8323": { + "8263": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 129333, is_soft: false}, feature: \"lazy_get\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns a reference to the value if initialized. Otherwise (if uninitialized or poisoned),\nreturns `None`.\n\n# Examples\n\n```\n#![feature(lazy_get)]\n\nuse std::sync::LazyLock;\n\nlet lazy = LazyLock::new(|| 92);\n\nassert_eq!(LazyLock::get(&lazy), None);\nlet _ = LazyLock::force(&lazy);\nassert_eq!(LazyLock::get(&lazy), Some(&92));\n```", - "id": 8323, + "docs": null, + "id": 8263, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8175, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8262 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1128, + 1 + ], + "end": [ + 1132, + 2 + ], + "filename": "std/src/sync/nonpoison/rwlock.rs" + }, + "visibility": "default" + }, + "8264": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8264, "inner": { "function": { "generics": { @@ -705176,32 +720194,37 @@ "sig": { "inputs": [ [ - "this", + "self", { "borrowed_ref": { "is_mutable": false, "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, "type": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } + "lifetime": "'_" } ], "constraints": [] } }, - "id": 737, - "path": "LazyLock" + "id": 341, + "path": "fmt::Formatter" } } } @@ -705211,52 +720234,39 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "get", + "name": "fmt", "span": { "begin": [ - 316, + 1137, 5 ], "end": [ - 325, + 1139, 6 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8324": { - "attrs": [], + "8265": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8324, + "id": 8265, "inner": { "impl": { "blanket_impl": null, @@ -705266,21 +720276,19 @@ "angle_bracketed": { "args": [ { - "type": { - "generic": "T" - } + "lifetime": "'_" }, { "type": { - "generic": "F" + "generic": "T" } } ], "constraints": [] } }, - "id": 737, - "path": "LazyLock" + "id": 8175, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -705288,22 +720296,35 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "fmt::Display" + } + } + } + ], "default": null, "is_synthetic": false } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" } ], "where_predicates": [] @@ -705312,127 +720333,50 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8322, - 8323 + 8264 ], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 436, + "path": "Display" + } } }, "links": {}, "name": null, "span": { "begin": [ - 267, + 1136, 1 ], "end": [ - 326, + 1140, 2 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison/rwlock.rs" }, "visibility": "default" }, - "8325": { + "8267": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8325, + "id": 8267, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -705451,89 +720395,35 @@ "span": null, "visibility": "default" }, - "8326": { + "8268": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8326, + "id": 8268, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "generic": "T" - } - } - } - }, - "is_synthetic": false - } - }, - "name": "F" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 5, + "path": "Sync" } } }, @@ -705542,105 +720432,102 @@ "span": null, "visibility": "default" }, - "8327": { + "8269": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8327, + "id": 8269, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "827": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 827, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "tuple": [ { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } + "generic": "K" }, { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } + "generic": "V" } ] + } + } + }, + "links": {}, + "name": "Item", + "span": { + "begin": [ + 1906, + 5 + ], + "end": [ + 1906, + 24 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8270": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8270, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 8009, + "path": "WouldBlock" + } + }, + "generics": { + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -705659,123 +720546,86 @@ "span": null, "visibility": "default" }, - "8328": { + "8271": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8328, + "id": 8271, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "span": null, + "visibility": "default" + }, + "8272": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8272, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 8009, + "path": "WouldBlock" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } }, + "links": {}, + "name": null, + "span": null, "visibility": "default" }, - "8329": { + "8273": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8329, + "id": 8273, "inner": { "impl": { "blanket_impl": { @@ -705783,25 +720633,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { @@ -705845,7 +720679,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 319 ], "provided_trait_methods": [], "trait": { @@ -705861,8 +720695,8 @@ "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 321, + "path": "Borrow" } } }, @@ -705870,56 +720704,33 @@ "name": null, "span": { "begin": [ - 217, + 212, 1 ], "end": [ - 217, - 35 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "833": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8274": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 833, + "id": 8274, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { @@ -705932,27 +720743,7 @@ "is_synthetic": false } }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "S" + "name": "T" } ], "where_predicates": [ @@ -705962,61 +720753,18 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 743, - "path": "BuildHasher" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "S" + "generic": "T" } } } @@ -706026,7 +720774,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 832 + 322 ], "provided_trait_methods": [], "trait": { @@ -706035,22 +720783,15 @@ "args": [ { "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] + "generic": "T" } } ], "constraints": [] } }, - "id": 201, - "path": "FromIterator" + "id": 324, + "path": "BorrowMut" } } }, @@ -706058,23 +720799,23 @@ "name": null, "span": { "begin": [ - 2774, + 221, 1 ], "end": [ - 2788, - 2 + 221, + 41 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8330": { + "8275": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8330, + "id": 8275, "inner": { "impl": { "blanket_impl": { @@ -706082,25 +720823,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { @@ -706165,7 +720890,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -706190,23 +720915,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8331": { + "8276": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8331, + "id": 8276, "inner": { "impl": { "blanket_impl": { @@ -706214,25 +720939,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { @@ -706254,7 +720963,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -706279,23 +720988,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8332": { + "8277": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8332, + "id": 8277, "inner": { "impl": { "blanket_impl": { @@ -706303,25 +721012,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { @@ -706368,7 +721061,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -706386,8 +721079,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -706403,7 +721096,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -706412,23 +721105,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8333": { + "8278": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8333, + "id": 8278, "inner": { "impl": { "blanket_impl": { @@ -706436,25 +721129,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { @@ -706519,8 +721196,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -706536,7 +721213,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -706545,182 +721222,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8334": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8334, - "inner": { - "impl": { - "blanket_impl": { - "generic": "P" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [], - "constraints": [ - { - "args": null, - "binding": { - "equality": { - "type": { - "generic": "T" - } - } - }, - "name": "Target" - } - ] - } - }, - "id": 1969, - "path": "Deref" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 1967 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1970, - "path": "Receiver" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 380, - 1 - ], - "end": [ - 382, - 26 - ], - "filename": "checkouts/rust/library/core/src/ops/deref.rs" - }, - "visibility": "default" - }, - "8335": { + "8279": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8335, + "id": 8279, "inner": { "impl": { "blanket_impl": { @@ -706728,25 +721246,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { @@ -706793,12 +721295,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -706818,306 +721320,83 @@ }, "visibility": "default" }, - "8336": { + "828": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8336, + "id": 828, "inner": { - "function": { + "assoc_type": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "drop", - "span": { - "begin": [ - 330, - 5 - ], - "end": [ - 338, - 6 - ], - "filename": "std/src/sync/lazy_lock.rs" - }, - "visibility": "default" - }, - "8337": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8337, - "inner": { - "impl": { - "blanket_impl": null, - "for": { + "type": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { "type": { - "generic": "T" + "generic": "K" } }, { "type": { - "generic": "F" + "generic": "V" } } ], "constraints": [] } }, - "id": 737, - "path": "LazyLock" + "id": 829, + "path": "IntoIter" } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8336 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 9, - "path": "Drop" } } }, "links": {}, - "name": null, + "name": "IntoIter", "span": { "begin": [ - 329, - 1 + 1907, + 5 ], "end": [ - 339, - 2 + 1907, + 36 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8338": { + "8280": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8338, + "id": 8280, "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { + "impl": { + "blanket_impl": { "generic": "T" - } - } - }, - "links": {}, - "name": "Target", - "span": { - "begin": [ - 343, - 5 - ], - "end": [ - 343, - 21 - ], - "filename": "std/src/sync/lazy_lock.rs" - }, - "visibility": "default" - }, - "8339": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Dereferences the value.\n\nThis method will block the calling thread if another initialization\nroutine is currently running.\n\n# Panics\n\nIf the initialization closure panics (the one that is passed to the [`new()`] method), the\npanic is propagated to the caller, and the lock becomes poisoned. This will cause all future\naccesses of the lock (via [`force()`] or a dereference) to panic.\n\n[`new()`]: LazyLock::new\n[`force()`]: LazyLock::force", - "id": 8339, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } + "for": { + "resolved_path": { + "args": null, + "id": 8009, + "path": "WouldBlock" } - } - } - }, - "links": { - "LazyLock::force": 8318, - "LazyLock::new": 8317 - }, - "name": "deref", - "span": { - "begin": [ - 359, - 5 - ], - "end": [ - 361, - 6 - ], - "filename": "std/src/sync/lazy_lock.rs" - }, - "visibility": "default" - }, - "834": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 834, - "inner": { - "function": { + }, "generics": { "params": [ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [], - "constraints": [ - { - "args": null, - "binding": { - "equality": { - "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] - } - } - }, - "name": "Item" - } - ] - } - }, - "id": 47, - "path": "IntoIterator" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -707125,148 +721404,52 @@ "name": "T" } ], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "iter", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "extend", - "span": { - "begin": [ - 2799, - 5 - ], - "end": [ - 2801, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8340": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8340, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ { - "type": { - "generic": "T" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } } }, { - "type": { - "generic": "F" + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } } } ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { + "generic_params": [], "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "T" - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "default": null, - "is_synthetic": false + "generic": "T" } - }, - "name": "F" + } } - ], - "where_predicates": [] + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8338, - 8339 + 434 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1969, - "path": "Deref" + "id": 161, + "path": "ToString" } } }, @@ -707274,27 +721457,23 @@ "name": null, "span": { "begin": [ - 342, + 2866, 1 ], "end": [ - 362, - 2 + 2866, + 46 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8341": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8281": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "# Panics\n\nIf the initialization closure panics (the one that is passed to the [`new()`] method), the\npanic is propagated to the caller, and the lock becomes poisoned. This will cause all future\naccesses of the lock (via [`force()`] or a dereference) to panic.\n\n[`new()`]: LazyLock::new\n[`force()`]: LazyLock::force", - "id": 8341, + "docs": null, + "id": 8281, "inner": { "function": { "generics": { @@ -707314,286 +721493,101 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - } - }, - "links": { - "LazyLock::force": 8318, - "LazyLock::new": 8317 - }, - "name": "deref_mut", - "span": { - "begin": [ - 375, - 5 - ], - "end": [ - 377, - 6 - ], - "filename": "std/src/sync/lazy_lock.rs" - }, - "visibility": "default" - }, - "8342": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"lazy_deref_mut\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8342, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "T" - } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" } - }, - "id": 15, - "path": "FnOnce" + ], + "constraints": [] } - } + }, + "id": 341, + "path": "fmt::Formatter" } - ], - "default": null, - "is_synthetic": false + } } - }, - "name": "F" - } + } + ] ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8341 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1989, - "path": "DerefMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 365, - 1 - ], - "end": [ - 378, - 2 - ], - "filename": "std/src/sync/lazy_lock.rs" - }, - "visibility": "default" - }, - "8343": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a new lazy value using `Default` as the initializing function.", - "id": 8343, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "default", + "name": "fmt", "span": { "begin": [ - 384, + 20, 5 ], "end": [ - 386, + 22, 6 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison.rs" }, "visibility": "default" }, - "8344": { + "8282": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"sync_nonpoison\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8344, + "id": 8282, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 109, - "path": "Default" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8343 + 8281 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 344, + "path": "Debug" } } }, @@ -707601,23 +721595,23 @@ "name": null, "span": { "begin": [ - 381, + 19, 1 ], "end": [ - 387, + 23, 2 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison.rs" }, "visibility": "default" }, - "8345": { + "8283": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8345, + "id": 8283, "inner": { "function": { "generics": { @@ -707663,7 +721657,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -707675,7 +721669,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -707686,101 +721680,52 @@ "name": "fmt", "span": { "begin": [ - 391, + 27, 5 ], "end": [ - 398, + 29, 6 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison.rs" }, "visibility": "default" }, - "8346": { + "8284": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"sync_nonpoison\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8346, + "id": 8284, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" + "args": null, + "id": 8009, + "path": "WouldBlock" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8345 + 8283 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 436, + "path": "Display" } } }, @@ -707788,616 +721733,466 @@ "name": null, "span": { "begin": [ - 390, + 26, 1 ], "end": [ - 399, + 30, 2 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison.rs" }, "visibility": "default" }, - "8347": { + "8285": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_condvar\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8347, + "id": 8285, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } + "use": { + "id": 7971, + "is_glob": false, + "name": "Condvar", + "source": "self::condvar::Condvar" } }, "links": {}, "name": null, "span": { "begin": [ - 410, + 33, 1 ], "end": [ - 410, - 64 + 33, + 32 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison.rs" }, - "visibility": "default" + "visibility": "public" }, - "8348": { + "8286": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8348, + "id": 8286, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } + "use": { + "id": 8038, + "is_glob": false, + "name": "MappedMutexGuard", + "source": "self::mutex::MappedMutexGuard" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 35, + 1 + ], + "end": [ + 35, + 39 + ], + "filename": "std/src/sync/nonpoison.rs" + }, + "visibility": "public" + }, + "8287": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8287, + "inner": { + "use": { + "id": 8002, + "is_glob": false, + "name": "Mutex", + "source": "self::mutex::Mutex" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 37, + 23 + ], + "end": [ + 37, + 28 + ], + "filename": "std/src/sync/nonpoison.rs" + }, + "visibility": "public" + }, + "8288": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_mutex\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8288, + "inner": { + "use": { + "id": 7976, + "is_glob": false, + "name": "MutexGuard", + "source": "self::mutex::MutexGuard" } }, "links": {}, "name": null, "span": { "begin": [ - 414, - 1 + 37, + 30 ], "end": [ - 414, - 87 + 37, + 40 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/sync/nonpoison.rs" }, - "visibility": "default" + "visibility": "public" }, - "8349": { + "8289": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8349, + "id": 8289, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "F" - } - } - ], - "constraints": [] - } - }, - "id": 737, - "path": "LazyLock" - } - }, + "use": { + "id": 8145, + "is_glob": false, + "name": "MappedRwLockReadGuard", + "source": "self::rwlock::MappedRwLockReadGuard" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 39, + 24 + ], + "end": [ + 39, + 45 + ], + "filename": "std/src/sync/nonpoison.rs" + }, + "visibility": "public" + }, + "829": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An owning iterator over the entries of a `HashMap`.\n\nThis `struct` is created by the [`into_iter`] method on [`HashMap`]\n(provided by the [`IntoIterator`] trait). See its documentation for more.\n\n[`into_iter`]: IntoIterator::into_iter\n\n# Example\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n]);\nlet iter = map.into_iter();\n```", + "id": 829, + "inner": { + "struct": { "generics": { "params": [ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "T" + "name": "K" }, { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "F" + "name": "V" } ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + "impls": [ + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 924, + 930, + 932, + 933, + 935 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, + "links": { + "IntoIterator::into_iter": 908, + "`HashMap`": 738, + "`IntoIterator`": 47 + }, + "name": "IntoIter", "span": { "begin": [ - 416, + 1526, 1 ], "end": [ - 416, - 68 + 1528, + 2 ], - "filename": "std/src/sync/lazy_lock.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "default" + "visibility": "public" }, - "835": { + "8290": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 835, + "id": 8290, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "(k, v)", - { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] - } - ] - ], - "is_c_variadic": false, - "output": null - } + "use": { + "id": 8175, + "is_glob": false, + "name": "MappedRwLockWriteGuard", + "source": "self::rwlock::MappedRwLockWriteGuard" } }, "links": {}, - "name": "extend_one", + "name": null, "span": { "begin": [ - 2804, - 5 + 39, + 47 ], "end": [ - 2806, - 6 + 39, + 69 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/nonpoison.rs" }, - "visibility": "default" + "visibility": "public" }, - "8355": { + "8291": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Creates a new uninitialized cell.", - "id": 8355, + "docs": null, + "id": 8291, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" - } - } - } + "use": { + "id": 8104, + "is_glob": false, + "name": "RwLock", + "source": "self::rwlock::RwLock" } }, "links": {}, - "name": "new", + "name": null, "span": { "begin": [ - 139, - 5 + 41, + 24 ], "end": [ - 145, - 6 + 41, + 30 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/nonpoison.rs" }, "visibility": "public" }, - "8356": { + "8292": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - }, + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8292, + "inner": { + "use": { + "id": 8111, + "is_glob": false, + "name": "RwLockReadGuard", + "source": "self::rwlock::RwLockReadGuard" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 41, + 32 + ], + "end": [ + 41, + 47 + ], + "filename": "std/src/sync/nonpoison.rs" + }, + "visibility": "public" + }, + "8293": { + "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"nonpoison_rwlock\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Gets the reference to the underlying value.\n\nReturns `None` if the cell is uninitialized, or being initialized.\nThis method never blocks.", - "id": 8356, + "docs": null, + "id": 8293, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "use": { + "id": 8114, + "is_glob": false, + "name": "RwLockWriteGuard", + "source": "self::rwlock::RwLockWriteGuard" } }, "links": {}, - "name": "get", + "name": null, "span": { "begin": [ - 153, - 5 + 41, + 49 ], "end": [ - 160, - 6 + 41, + 65 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/nonpoison.rs" }, "visibility": "public" }, - "8357": { + "8294": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 134645, is_soft: false}, feature: \"sync_nonpoison\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Non-poisoning synchronous locks.\n\nThe difference from the locks in the [`poison`] module is that the locks in this module will not\nbecome poisoned when a thread panics while holding a guard.\n\n[`poison`]: super::poison", + "id": 8294, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 8011, + 8009, + 8285, + 8286, + 8287, + 8288, + 8289, + 8290, + 8291, + 8292, + 8293 + ] + } + }, + "links": { + "super::poison": 7829 + }, + "name": "nonpoison", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 45, + 12 + ], + "filename": "std/src/sync/nonpoison.rs" + }, + "visibility": "public" + }, + "8296": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"const_locks\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "Gets the mutable reference to the underlying value.\n\nReturns `None` if the cell is uninitialized.\n\nThis method never blocks. Since it borrows the `OnceLock` mutably,\nit is statically guaranteed that no active borrows to the `OnceLock`\nexist, including from other threads.", - "id": 8357, + "docs": "Creates a new condition variable which is ready to be waited on and\nnotified.\n\n# Examples\n\n```\nuse std::sync::Condvar;\n\nlet condvar = Condvar::new();\n```", + "id": 8296, "inner": { "function": { "generics": { @@ -708408,80 +722203,47 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 495, + "path": "Condvar" } } } } }, "links": {}, - "name": "get_mut", + "name": "new", "span": { "begin": [ - 171, + 64, 5 ], "end": [ - 178, + 66, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "public" }, - "8358": { + "8297": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"once_wait\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Blocks the current thread until the cell is initialized.\n\n# Example\n\nWaiting for a computation on another thread to finish:\n```rust\nuse std::thread;\nuse std::sync::OnceLock;\n\nlet value = OnceLock::new();\n\nthread::scope(|s| {\n s.spawn(|| value.set(1 + 1));\n\n let result = value.wait();\n assert_eq!(result, &2);\n})\n```", - "id": 8358, + "docs": "Wakes up one blocked thread on this condvar.\n\nIf there is a blocked thread on this condition variable, then it will\nbe woken up from its call to [`wait`] or [`wait_timeout`]. Calls to\n`notify_one` are not buffered in any way.\n\nTo wake up all threads, see [`notify_all`].\n\n[`wait`]: Self::wait\n[`wait_timeout`]: Self::wait_timeout\n[`notify_all`]: Self::notify_all\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\n// As long as the value inside the `Mutex` is `false`, we wait.\nwhile !*started {\n started = cvar.wait(started).unwrap();\n}\n```", + "id": 8297, "inner": { "function": { "generics": { @@ -708511,46 +722273,39 @@ ] ], "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } + "output": null } } }, - "links": {}, - "name": "wait", + "links": { + "Self::notify_all": 8298, + "Self::wait": 8299, + "Self::wait_timeout": 8304 + }, + "name": "notify_one", "span": { "begin": [ - 200, + 445, 5 ], "end": [ - 204, + 447, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "public" }, - "8359": { + "8298": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Initializes the contents of the cell to `value`.\n\nMay block if another thread is currently attempting to initialize the cell. The cell is\nguaranteed to contain a value when `set` returns, though not necessarily the one provided.\n\nReturns `Ok(())` if the cell was uninitialized and\n`Err(value)` if the cell was already initialized.\n\n# Examples\n\n```\nuse std::sync::OnceLock;\n\nstatic CELL: OnceLock = OnceLock::new();\n\nfn main() {\n assert!(CELL.get().is_none());\n\n std::thread::spawn(|| {\n assert_eq!(CELL.set(92), Ok(()));\n }).join().unwrap();\n\n assert_eq!(CELL.set(62), Err(62));\n assert_eq!(CELL.get(), Some(&92));\n}\n```", - "id": 8359, + "docs": "Wakes up all blocked threads on this condvar.\n\nThis method will ensure that any current waiters on the condition\nvariable are awoken. Calls to `notify_all()` are not buffered in any\nway.\n\nTo wake up only one thread, see [`notify_one`].\n\n[`notify_one`]: Self::notify_one\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_all();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\n// As long as the value inside the `Mutex` is `false`, we wait.\nwhile !*started {\n started = cvar.wait(started).unwrap();\n}\n```", + "id": 8298, "inner": { "function": { "generics": { @@ -708577,70 +722332,63 @@ } } } - ], - [ - "value", - { - "generic": "T" - } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } + "output": null } } }, - "links": {}, - "name": "set", + "links": { + "Self::notify_one": 8297 + }, + "name": "notify_all", "span": { "begin": [ - 234, + 485, 5 ], "end": [ - 239, + 487, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "public" }, - "836": { + "8299": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 836, + "docs": "Blocks the current thread until this condition variable receives a\nnotification.\n\nThis function will atomically unlock the mutex specified (represented by\n`guard`) and block the current thread. This means that any calls\nto [`notify_one`] or [`notify_all`] which happen logically after the\nmutex is unlocked are candidates to wake this thread up. When this\nfunction call returns, the lock specified will have been re-acquired.\n\nNote that this function is susceptible to spurious wakeups. Condition\nvariables normally have a boolean predicate associated with them, and\nthe predicate must always be checked each time this function returns to\nprotect against spurious wakeups.\n\n# Errors\n\nThis function will return an error if the mutex being waited on is\npoisoned when this thread re-acquires the lock. For more information,\nsee information about [poisoning] on the [`Mutex`] type.\n\n# Panics\n\nThis function may [`panic!`] if it is used with more than one mutex\nover time.\n\n[`notify_one`]: Self::notify_one\n[`notify_all`]: Self::notify_all\n[poisoning]: super::Mutex#poisoning\n[`Mutex`]: super::Mutex\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\n// As long as the value inside the `Mutex` is `false`, we wait.\nwhile !*started {\n started = cvar.wait(started).unwrap();\n}\n```", + "id": 8299, "inner": { "function": { "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "has_body": true, @@ -708656,7 +722404,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -708665,36 +722413,95 @@ } ], [ - "additional", + "guard", { - "primitive": "usize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + } + } + ], + "constraints": [] + } + }, + "id": 8300, + "path": "LockResult" + } + } } } }, - "links": {}, - "name": "extend_reserve", + "links": { + "Self::notify_all": 8298, + "Self::notify_one": 8297, + "`panic!`": 493, + "super::Mutex": 496, + "super::Mutex#poisoning": 496 + }, + "name": "wait", "span": { "begin": [ - 2809, + 124, 5 ], "end": [ - 2811, + 131, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/condvar.rs" }, - "visibility": "default" + "visibility": "public" }, - "8360": { + "830": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116693, is_soft: false}, feature: \"once_cell_try_insert\"}}]" + "other": "#[rustc_lint_query_instability]" }, { "other": "#[attr = Inline(Hint)]" @@ -708702,8 +722509,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Initializes the contents of the cell to `value` if the cell was uninitialized,\nthen returns a reference to it.\n\nMay block if another thread is currently attempting to initialize the cell. The cell is\nguaranteed to contain a value when `try_insert` returns, though not necessarily the\none provided.\n\nReturns `Ok(&value)` if the cell was uninitialized and\n`Err((¤t_value, value))` if it was already initialized.\n\n# Examples\n\n```\n#![feature(once_cell_try_insert)]\n\nuse std::sync::OnceLock;\n\nstatic CELL: OnceLock = OnceLock::new();\n\nfn main() {\n assert!(CELL.get().is_none());\n\n std::thread::spawn(|| {\n assert_eq!(CELL.try_insert(92), Ok(&92));\n }).join().unwrap();\n\n assert_eq!(CELL.try_insert(62), Err((&92, 62)));\n assert_eq!(CELL.get(), Some(&92));\n}\n```", - "id": 8360, + "docs": "Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.\n\n# Examples\n\n```\nuse std::collections::HashMap;\n\nlet map = HashMap::from([\n (\"a\", 1),\n (\"b\", 2),\n (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();\n```", + "id": 830, "inner": { "function": { "generics": { @@ -708722,19 +722529,7 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "value", - { - "generic": "T" + "generic": "Self" } ] ], @@ -708746,74 +722541,52 @@ "args": [ { "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } + "generic": "K" } }, { "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - }, - { - "generic": "T" - } - ] + "generic": "V" } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 829, + "path": "IntoIter" } } } } }, "links": {}, - "name": "try_insert", + "name": "into_iter", "span": { "begin": [ - 273, + 1929, 5 ], "end": [ - 280, + 1931, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "8361": { + "8300": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Gets the contents of the cell, initializing it to `f()` if the cell\nwas uninitialized.\n\nMany threads may call `get_or_init` concurrently with different\ninitializing functions, but it is guaranteed that only one function\nwill be executed if the function doesn't panic.\n\n# Panics\n\nIf `f()` panics, the panic is propagated to the caller, and the cell\nremains uninitialized.\n\nIt is an error to reentrantly initialize the cell from `f`. The\nexact outcome is unspecified. Current implementation deadlocks, but\nthis may be changed to a panic in the future.\n\n# Examples\n\n```\nuse std::sync::OnceLock;\n\nlet cell = OnceLock::new();\nlet value = cell.get_or_init(|| 92);\nassert_eq!(value, &92);\nlet value = cell.get_or_init(|| unreachable!());\nassert_eq!(value, &92);\n```", - "id": 8361, + "docs": "A type alias for the result of a lock method which can be poisoned.\n\nThe [`Ok`] variant of this result indicates that the primitive was not\npoisoned, and the operation result is contained within. The [`Err`] variant indicates\nthat the primitive was poisoned. Note that the [`Err`] variant *also* carries\nan associated value assigned by the lock method, and it can be acquired through the\n[`into_inner`] method. The semantics of the associated value depends on the corresponding\nlock method.\n\n[`into_inner`]: PoisonError::into_inner", + "id": 8300, "inner": { - "function": { + "type_alias": { "generics": { "params": [ { @@ -708824,113 +722597,102 @@ "is_synthetic": false } }, - "name": "F" + "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { + "type": { + "generic": "T" + } + }, + { + "type": { + "resolved_path": { "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "T" - } + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } }, - "id": 15, - "path": "FnOnce" + "id": 8330, + "path": "PoisonError" } } } ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" + "constraints": [] } - } + }, + "id": 57, + "path": "Result" } } } }, - "links": {}, - "name": "get_or_init", + "links": { + "PoisonError::into_inner": 7830, + "`Err`": 59, + "`Ok`": 61 + }, + "name": "LockResult", "span": { "begin": [ - 311, - 5 + 235, + 1 ], "end": [ - 318, - 6 + 235, + 52 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "8362": { + "8301": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121641, is_soft: false}, feature: \"once_cell_get_mut\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 42, patch: 0})}, feature: \"wait_until\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Gets the mutable reference of the contents of the cell, initializing\nit to `f()` if the cell was uninitialized.\n\nThis method never blocks. Since it borrows the `OnceLock` mutably,\nit is statically guaranteed that no active borrows to the `OnceLock`\nexist, including from other threads.\n\n# Panics\n\nIf `f()` panics, the panic is propagated to the caller, and the cell\nremains uninitialized.\n\n# Examples\n\n```\n#![feature(once_cell_get_mut)]\n\nuse std::sync::OnceLock;\n\nlet mut cell = OnceLock::new();\nlet value = cell.get_mut_or_init(|| 92);\nassert_eq!(*value, 92);\n\n*value += 2;\nassert_eq!(*value, 94);\n\nlet value = cell.get_mut_or_init(|| unreachable!());\nassert_eq!(*value, 94);\n```", - "id": 8362, + "docs": "Blocks the current thread until the provided condition becomes false.\n\n`condition` is checked immediately; if not met (returns `true`), this\nwill [`wait`] for the next notification then check again. This repeats\nuntil `condition` returns `false`, in which case this function returns.\n\nThis function will atomically unlock the mutex specified (represented by\n`guard`) and block the current thread. This means that any calls\nto [`notify_one`] or [`notify_all`] which happen logically after the\nmutex is unlocked are candidates to wake this thread up. When this\nfunction call returns, the lock specified will have been re-acquired.\n\n# Errors\n\nThis function will return an error if the mutex being waited on is\npoisoned when this thread re-acquires the lock. For more information,\nsee information about [poisoning] on the [`Mutex`] type.\n\n[`wait`]: Self::wait\n[`notify_one`]: Self::notify_one\n[`notify_all`]: Self::notify_all\n[poisoning]: super::Mutex#poisoning\n[`Mutex`]: super::Mutex\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(true), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut pending = lock.lock().unwrap();\n *pending = false;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\n// As long as the value inside the `Mutex` is `true`, we wait.\nlet _guard = cvar.wait_while(lock.lock().unwrap(), |pending| { *pending }).unwrap();\n```", + "id": 8301, "inner": { "function": { "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, { "kind": { "type": { @@ -708953,14 +722715,24 @@ "trait": { "args": { "parenthesized": { - "inputs": [], + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], "output": { - "generic": "T" + "primitive": "bool" } } }, - "id": 15, - "path": "FnOnce" + "id": 13, + "path": "FnMut" } } } @@ -708986,7 +722758,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -708995,7 +722767,31 @@ } ], [ - "f", + "guard", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + } + ], + [ + "condition", { "generic": "F" } @@ -709003,58 +722799,89 @@ ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + } + } + ], + "constraints": [] + } + }, + "id": 8300, + "path": "LockResult" } } } } }, - "links": {}, - "name": "get_mut_or_init", + "links": { + "Self::notify_all": 8298, + "Self::notify_one": 8297, + "Self::wait": 8299, + "super::Mutex": 496, + "super::Mutex#poisoning": 496 + }, + "name": "wait_while", "span": { "begin": [ - 351, + 180, 5 ], "end": [ - 358, + 192, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "public" }, - "8363": { + "8302": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 109737, is_soft: false}, feature: \"once_cell_try\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, - "deprecation": null, - "docs": "Gets the contents of the cell, initializing it to `f()` if\nthe cell was uninitialized. If the cell was uninitialized\nand `f()` failed, an error is returned.\n\n# Panics\n\nIf `f()` panics, the panic is propagated to the caller, and\nthe cell remains uninitialized.\n\nIt is an error to reentrantly initialize the cell from `f`.\nThe exact outcome is unspecified. Current implementation\ndeadlocks, but this may be changed to a panic in the future.\n\n# Examples\n\n```\n#![feature(once_cell_try)]\n\nuse std::sync::OnceLock;\n\nlet cell = OnceLock::new();\nassert_eq!(cell.get_or_try_init(|| Err(())), Err(()));\nassert!(cell.get().is_none());\nlet value = cell.get_or_try_init(|| -> Result {\n Ok(92)\n});\nassert_eq!(value, Ok(&92));\nassert_eq!(cell.get(), Some(&92))\n```", - "id": 8363, + "deprecation": { + "note": "replaced by `std::sync::Condvar::wait_timeout`", + "since": "1.6.0" + }, + "docs": "Waits on this condition variable for a notification, timing out after a\nspecified duration.\n\nThe semantics of this function are equivalent to [`wait`]\nexcept that the thread will be blocked for roughly no longer\nthan `ms` milliseconds. This method should not be used for\nprecise timing due to anomalies such as preemption or platform\ndifferences that might not cause the maximum amount of time\nwaited to be precisely `ms`.\n\nNote that the best effort is made to ensure that the time waited is\nmeasured with a monotonic clock, and not affected by the changes made to\nthe system time.\n\nThe returned boolean is `false` only if the timeout is known\nto have elapsed.\n\nLike [`wait`], the lock specified will be re-acquired when this function\nreturns, regardless of whether the timeout elapsed or not.\n\n[`wait`]: Self::wait\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\n// As long as the value inside the `Mutex` is `false`, we wait.\nloop {\n let result = cvar.wait_timeout_ms(started, 10).unwrap();\n // 10 milliseconds have passed, or maybe the value changed!\n started = result.0;\n if *started == true {\n // We received the notification and the value has been updated, we can leave.\n break\n }\n}\n```", + "id": 8302, "inner": { "function": { "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "F" + "name": "'a" }, { "kind": { @@ -709064,59 +722891,10 @@ "is_synthetic": false } }, - "name": "E" + "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "E" - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] + "where_predicates": [] }, "has_body": true, "header": { @@ -709140,9 +722918,33 @@ } ], [ - "f", + "guard", { - "generic": "F" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + } + ], + [ + "ms", + { + "primitive": "u32" } ] ], @@ -709154,63 +722956,84 @@ "args": [ { "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" + "tuple": [ + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + }, + { + "primitive": "bool" } - } - } - }, - { - "type": { - "generic": "E" + ] } } ], "constraints": [] } }, - "id": 57, - "path": "Result" + "id": 8300, + "path": "LockResult" } } } } }, - "links": {}, - "name": "get_or_try_init", + "links": { + "Self::wait": 8299 + }, + "name": "wait_timeout_ms", "span": { "begin": [ - 391, + 249, 5 ], "end": [ - 409, + 256, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "public" }, - "8364": { + "8303": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121641, is_soft: false}, feature: \"once_cell_get_mut\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 42, patch: 0})}, feature: \"wait_timeout_until\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Gets the mutable reference of the contents of the cell, initializing\nit to `f()` if the cell was uninitialized. If the cell was uninitialized\nand `f()` failed, an error is returned.\n\nThis method never blocks. Since it borrows the `OnceLock` mutably,\nit is statically guaranteed that no active borrows to the `OnceLock`\nexist, including from other threads.\n\n# Panics\n\nIf `f()` panics, the panic is propagated to the caller, and\nthe cell remains uninitialized.\n\n# Examples\n\n```\n#![feature(once_cell_get_mut)]\n\nuse std::sync::OnceLock;\n\nlet mut cell: OnceLock = OnceLock::new();\n\n// Failed attempts to initialize the cell do not change its contents\nassert!(cell.get_mut_or_try_init(|| \"not a number!\".parse()).is_err());\nassert!(cell.get().is_none());\n\nlet value = cell.get_mut_or_try_init(|| \"1234\".parse());\nassert_eq!(value, Ok(&mut 1234));\n*value.unwrap() += 2;\nassert_eq!(cell.get(), Some(&1236))\n```", - "id": 8364, + "docs": "Waits on this condition variable for a notification, timing out after a\nspecified duration.\n\nThe semantics of this function are equivalent to [`wait_while`] except\nthat the thread will be blocked for roughly no longer than `dur`. This\nmethod should not be used for precise timing due to anomalies such as\npreemption or platform differences that might not cause the maximum\namount of time waited to be precisely `dur`.\n\nNote that the best effort is made to ensure that the time waited is\nmeasured with a monotonic clock, and not affected by the changes made to\nthe system time.\n\nThe returned [`WaitTimeoutResult`] value indicates if the timeout is\nknown to have elapsed without the condition being met.\n\nLike [`wait_while`], the lock specified will be re-acquired when this\nfunction returns, regardless of whether the timeout elapsed or not.\n\n[`wait_while`]: Self::wait_while\n[`wait_timeout`]: Self::wait_timeout\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\nuse std::time::Duration;\n\nlet pair = Arc::new((Mutex::new(true), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut pending = lock.lock().unwrap();\n *pending = false;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// wait for the thread to start up\nlet (lock, cvar) = &*pair;\nlet result = cvar.wait_timeout_while(\n lock.lock().unwrap(),\n Duration::from_millis(100),\n |&mut pending| pending,\n).unwrap();\nif result.1.timed_out() {\n // timed-out without the condition ever evaluating to false.\n}\n// access the locked mutex via result.0\n```", + "id": 8303, "inner": { "function": { "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -709219,7 +723042,7 @@ "is_synthetic": false } }, - "name": "F" + "name": "T" }, { "kind": { @@ -709229,7 +723052,7 @@ "is_synthetic": false } }, - "name": "E" + "name": "F" } ], "where_predicates": [ @@ -709243,34 +723066,24 @@ "trait": { "args": { "parenthesized": { - "inputs": [], - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - }, - { - "type": { - "generic": "E" - } - } - ], - "constraints": [] + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" } - }, - "id": 57, - "path": "Result" + } } + ], + "output": { + "primitive": "bool" } } }, - "id": 15, - "path": "FnOnce" + "id": 13, + "path": "FnMut" } } } @@ -709296,7 +723109,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -709305,92 +723118,43 @@ } ], [ - "f", + "guard", { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { "type": { "generic": "T" } } - } - }, - { - "type": { - "generic": "E" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 7944, + "path": "MutexGuard" } - }, - "id": 57, - "path": "Result" - } - } - } - } - }, - "links": {}, - "name": "get_mut_or_try_init", - "span": { - "begin": [ - 444, - 5 - ], - "end": [ - 454, - 6 - ], - "filename": "std/src/sync/once_lock.rs" - }, - "visibility": "public" - }, - "8365": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Consumes the `OnceLock`, returning the wrapped value. Returns\n`None` if the cell was uninitialized.\n\n# Examples\n\n```\nuse std::sync::OnceLock;\n\nlet cell: OnceLock = OnceLock::new();\nassert_eq!(cell.into_inner(), None);\n\nlet cell = OnceLock::new();\ncell.set(\"hello\".to_string()).unwrap();\nassert_eq!(cell.into_inner(), Some(\"hello\".to_string()));\n```", - "id": 8365, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ + } + ], [ - "self", + "dur", { - "generic": "Self" + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + ], + [ + "condition", + { + "generic": "F" } ] ], @@ -709402,52 +723166,101 @@ "args": [ { "type": { - "generic": "T" + "tuple": [ + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + }, + { + "resolved_path": { + "args": null, + "id": 7979, + "path": "WaitTimeoutResult" + } + } + ] } } ], "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 8300, + "path": "LockResult" } } } } }, - "links": {}, - "name": "into_inner", + "links": { + "Self::wait_timeout": 8304, + "Self::wait_while": 8301, + "`WaitTimeoutResult`": 7979 + }, + "name": "wait_timeout_while", "span": { "begin": [ - 473, + 385, 5 ], "end": [ - 475, + 405, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "public" }, - "8366": { + "8304": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Takes the value out of this `OnceLock`, moving it back to an uninitialized state.\n\nHas no effect and returns `None` if the `OnceLock` was uninitialized.\n\nSince this method borrows the `OnceLock` mutably, it is statically guaranteed that\nno active borrows to the `OnceLock` exist, including from other threads.\n\n# Examples\n\n```\nuse std::sync::OnceLock;\n\nlet mut cell: OnceLock = OnceLock::new();\nassert_eq!(cell.take(), None);\n\nlet mut cell = OnceLock::new();\ncell.set(\"hello\".to_string()).unwrap();\nassert_eq!(cell.take(), Some(\"hello\".to_string()));\nassert_eq!(cell.get(), None);\n```", - "id": 8366, + "docs": "Waits on this condition variable for a notification, timing out after a\nspecified duration.\n\nThe semantics of this function are equivalent to [`wait`] except that\nthe thread will be blocked for roughly no longer than `dur`. This\nmethod should not be used for precise timing due to anomalies such as\npreemption or platform differences that might not cause the maximum\namount of time waited to be precisely `dur`.\n\nNote that the best effort is made to ensure that the time waited is\nmeasured with a monotonic clock, and not affected by the changes made to\nthe system time. This function is susceptible to spurious wakeups.\nCondition variables normally have a boolean predicate associated with\nthem, and the predicate must always be checked each time this function\nreturns to protect against spurious wakeups. Furthermore, since the timeout\nis given relative to the moment this function is called, it needs to be adjusted\nwhen this function is called in a loop. The [`wait_timeout_while`] method\nlets you wait with a timeout while a predicate is true, taking care of all these concerns.\n\nThe returned [`WaitTimeoutResult`] value indicates if the timeout is\nknown to have elapsed.\n\nLike [`wait`], the lock specified will be re-acquired when this function\nreturns, regardless of whether the timeout elapsed or not.\n\n[`wait`]: Self::wait\n[`wait_timeout_while`]: Self::wait_timeout_while\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex, Condvar};\nuse std::thread;\nuse std::time::Duration;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n let mut started = lock.lock().unwrap();\n *started = true;\n // We notify the condvar that the value has changed.\n cvar.notify_one();\n});\n\n// wait for the thread to start up\nlet (lock, cvar) = &*pair;\nlet mut started = lock.lock().unwrap();\n// as long as the value inside the `Mutex` is `false`, we wait\nloop {\n let result = cvar.wait_timeout(started, Duration::from_millis(10)).unwrap();\n // 10 milliseconds have passed, or maybe the value changed!\n started = result.0;\n if *started == true {\n // We received the notification and the value has been updated, we can leave.\n break\n }\n}\n```", + "id": 8304, "inner": { "function": { "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "has_body": true, @@ -709463,13 +723276,47 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "guard", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + } + ], + [ + "dur", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } ] ], "is_c_variadic": false, @@ -709480,93 +723327,100 @@ "args": [ { "type": { - "generic": "T" + "tuple": [ + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + }, + { + "resolved_path": { + "args": null, + "id": 7979, + "path": "WaitTimeoutResult" + } + } + ] } } ], "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 8300, + "path": "LockResult" } } } } }, - "links": {}, - "name": "take", + "links": { + "Self::wait": 8299, + "Self::wait_timeout_while": 8303, + "`WaitTimeoutResult`": 7979 + }, + "name": "wait_timeout", "span": { "begin": [ - 499, + 319, 5 ], "end": [ - 509, + 330, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "public" }, - "8367": { + "8305": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8367, + "id": 8305, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8355, - 8356, - 8357, - 8358, - 8359, - 8360, - 8361, - 8362, - 8363, - 8364, - 8365, - 8366 + 8296, + 8299, + 8301, + 8302, + 8304, + 8303, + 8297, + 8298 ], "provided_trait_methods": [], "trait": null @@ -709576,57 +723430,109 @@ "name": null, "span": { "begin": [ - 133, + 49, 1 ], "end": [ - 561, + 488, 2 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "default" }, - "8368": { + "8306": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8368, + "id": 8306, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8307": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8307, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 495, + "path": "Condvar" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8308": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8308, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 495, + "path": "Condvar" + } + }, + "generics": { + "params": [], "where_predicates": [] }, "is_negative": true, @@ -709636,7 +723542,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -709646,69 +723552,25 @@ "span": null, "visibility": "default" }, - "8369": { + "8309": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8369, + "id": 8309, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "params": [], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -709727,7 +723589,7 @@ "span": null, "visibility": "default" }, - "837": { + "831": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -709735,8 +723597,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.", - "id": 837, + "docs": null, + "id": 831, "inner": { "impl": { "blanket_impl": null, @@ -709801,97 +723663,21 @@ "name": "S" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 743, - "path": "BuildHasher" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "S" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 834, - 835, - 836 - ], - "provided_trait_methods": [ - "extend_one", - "extend_reserve", - "extend_one_unchecked" + 827, + 828, + 830 ], + "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] - } - } - ], - "constraints": [] - } - }, - "id": 45, - "path": "Extend" + "args": null, + "id": 47, + "path": "IntoIterator" } } }, @@ -709899,23 +723685,23 @@ "name": null, "span": { "begin": [ - 2793, + 1905, 1 ], "end": [ - 2812, + 1932, 2 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8370": { + "8310": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8370, + "id": 8310, "inner": { "impl": { "blanket_impl": { @@ -709923,20 +723709,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { @@ -709980,7 +723755,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -709996,7 +723771,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -710005,23 +723780,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8371": { + "8311": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8371, + "id": 8311, "inner": { "impl": { "blanket_impl": { @@ -710029,20 +723804,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { @@ -710086,7 +723850,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -710102,7 +723866,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -710111,118 +723875,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8372": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8372, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 422 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 516, - 1 - ], - "end": [ - 516, - 42 - ], - "filename": "checkouts/rust/library/core/src/clone.rs" - }, - "visibility": "default" - }, - "8373": { + "8312": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8373, + "id": 8312, "inner": { "impl": { "blanket_impl": { @@ -710230,20 +723899,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { @@ -710308,7 +723966,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -710333,128 +723991,33 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8374": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8374, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 791, - 28 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "8375": { + "8313": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8375, + "id": 8313, "inner": { "impl": { "blanket_impl": { "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + }, + "for": { + "resolved_path": { + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { @@ -710476,7 +724039,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1898 + 327 ], "provided_trait_methods": [], "trait": { @@ -710485,7 +724048,7 @@ "args": [ { "type": { - "primitive": "never" + "generic": "T" } } ], @@ -710501,23 +724064,23 @@ "name": null, "span": { "begin": [ - 808, + 785, 1 ], "end": [ - 808, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8376": { + "8314": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8376, + "id": 8314, "inner": { "impl": { "blanket_impl": { @@ -710525,20 +724088,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { @@ -710585,7 +724137,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -710603,8 +724155,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -710620,7 +724172,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -710629,23 +724181,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8377": { + "8315": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8377, + "id": 8315, "inner": { "impl": { "blanket_impl": { @@ -710653,20 +724205,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { @@ -710731,8 +724272,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -710748,7 +724289,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -710757,23 +724298,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8378": { + "8316": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8378, + "id": 8316, "inner": { "impl": { "blanket_impl": { @@ -710781,20 +724322,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { @@ -710841,12 +724371,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -710866,295 +724396,28 @@ }, "visibility": "default" }, - "8379": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8379, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 82, - 1 - ], - "end": [ - 84, - 14 - ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" - }, - "visibility": "default" - }, - "838": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 838, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [], - "constraints": [ - { - "args": null, - "binding": { - "equality": { - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "K" - } - } - }, - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "V" - } - } - } - ] - } - } - }, - "name": "Item" - } - ] - } - }, - "id": 47, - "path": "IntoIterator" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "iter", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "extend", - "span": { - "begin": [ - 2822, - 5 - ], - "end": [ - 2824, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8380": { + "8317": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8380, + "id": 8317, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "crate::sync::Condvar" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, @@ -711164,8 +724427,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 316, + "path": "UnwindSafe" } } }, @@ -711173,73 +724436,39 @@ "name": null, "span": { "begin": [ - 569, + 268, 1 ], "end": [ - 569, - 52 + 268, + 31 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/panic.rs" }, "visibility": "default" }, - "8381": { + "8318": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"unwind_safe_lock_refs\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8381, + "id": 8318, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "crate::sync::Condvar" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, @@ -711249,8 +724478,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -711258,144 +724487,110 @@ "name": null, "span": { "begin": [ - 571, + 275, 1 ], "end": [ - 571, - 45 + 275, + 34 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/panic.rs" }, "visibility": "default" }, - "8382": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - } - ], + "8319": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8382, + "id": 8319, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "constraints": [] + } } - }, - "id": 7996, - "path": "OnceLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] } - } + }, + "id": 341, + "path": "fmt::Formatter" } - ], - "default": null, - "is_synthetic": false + } } - }, - "name": "T" - } + } + ] ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } } } }, "links": {}, - "name": null, + "name": "fmt", "span": { "begin": [ - 574, - 1 + 492, + 5 ], "end": [ - 574, - 69 + 494, + 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "default" }, - "8383": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - } - ], + "832": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8383, + "docs": "Constructs a `HashMap` from an iterator of key-value pairs.\n\nIf the iterator produces any pairs with equal keys,\nall but one of the corresponding values will be dropped.", + "id": 832, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" - } - }, + "function": { "generics": { "params": [ { @@ -711407,9 +724602,33 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] + } + } + }, + "name": "Item" + } + ] + } + }, + "id": 47, + "path": "IntoIterator" } } } @@ -711423,49 +724642,6 @@ ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 576, - 1 - ], - "end": [ - 576, - 50 - ], - "filename": "std/src/sync/once_lock.rs" - }, - "visibility": "default" - }, - "8384": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a new uninitialized cell.\n\n# Example\n\n```\nuse std::sync::OnceLock;\n\nfn main() {\n assert_eq!(OnceLock::<()>::new(), OnceLock::default());\n}\n```", - "id": 8384, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, "has_body": true, "header": { "abi": "Rust", @@ -711474,7 +724650,14 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "iter", + { + "generic": "T" + } + ] + ], "is_c_variadic": false, "output": { "resolved_path": { @@ -711483,92 +724666,80 @@ "args": [ { "type": { - "generic": "T" + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" } } ], "constraints": [] } }, - "id": 7996, - "path": "OnceLock" + "id": 738, + "path": "HashMap" } } } } }, "links": {}, - "name": "default", + "name": "from_iter", "span": { "begin": [ - 592, + 2778, 5 ], "end": [ - 594, + 2782, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8385": { + "8320": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8385, + "id": 8320, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8384 + 8319 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 344, + "path": "Debug" } } }, @@ -711576,23 +724747,23 @@ "name": null, "span": { "begin": [ - 579, + 491, 1 ], "end": [ - 595, + 495, 2 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "default" }, - "8386": { + "8321": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8386, + "docs": "Creates a `Condvar` which is ready to be waited on and notified.", + "id": 8321, "inner": { "function": { "generics": { @@ -711607,140 +724778,68 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { "resolved_path": { "args": null, - "id": 344, - "path": "fmt::Result" + "id": 495, + "path": "Condvar" } } } } }, "links": {}, - "name": "fmt", + "name": "default", "span": { "begin": [ - 599, + 500, 5 ], "end": [ - 606, + 502, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "default" }, - "8387": { + "8322": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"condvar_default\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8387, + "id": 8322, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" + "args": null, + "id": 495, + "path": "Condvar" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8386 + 8321 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 107, + "path": "Default" } } }, @@ -711748,27 +724847,33 @@ "name": null, "span": { "begin": [ - 598, + 498, 1 ], "end": [ - 607, + 503, 2 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/condvar.rs" }, "visibility": "default" }, - "8388": { + "8327": { "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"const_locks\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, { "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8388, + "docs": "Creates a new mutex in an unlocked state ready for use.\n\n# Examples\n\n```\nuse std::sync::Mutex;\n\nlet mutex = Mutex::new(0);\n```", + "id": 8327, "inner": { "function": { "generics": { @@ -711779,21 +724884,15 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", + "t", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "T" } ] ], @@ -711812,127 +724911,38 @@ "constraints": [] } }, - "id": 7996, - "path": "OnceLock" + "id": 496, + "path": "Mutex" } } } } }, "links": {}, - "name": "clone", + "name": "new", "span": { "begin": [ - 612, + 350, 5 ], "end": [ - 621, + 352, 6 ], - "filename": "std/src/sync/once_lock.rs" - }, - "visibility": "default" - }, - "8389": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8389, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8388 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 610, - 1 - ], - "end": [ - 622, - 2 - ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "839": { + "8328": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 839, + "docs": "Acquires a mutex, blocking the current thread until it is able to do so.\n\nThis function will block the local thread until it is available to acquire\nthe mutex. Upon returning, the thread is the only thread with the lock\nheld. An RAII guard is returned to allow scoped unlock of the lock. When\nthe guard goes out of scope, the mutex will be unlocked.\n\nThe exact behavior on locking a mutex in the thread which already holds\nthe lock is left unspecified. However, this function will not return on\nthe second call (it might panic or deadlock, for example).\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error once the mutex is acquired. The acquired\nmutex guard will be contained in the returned error.\n\n# Panics\n\nThis function might panic when called if the lock is already held by\nthe current thread.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nthread::spawn(move || {\n *c_mutex.lock().unwrap() = 10;\n}).join().expect(\"thread::spawn failed\");\nassert_eq!(*mutex.lock().unwrap(), 10);\n```", + "id": 8328, "inner": { "function": { "generics": { @@ -711952,70 +724962,80 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } - ], - [ - "(k, v)", - { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "K" - } - } - }, - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "V" - } - } - } - ] - } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + } + } + ], + "constraints": [] + } + }, + "id": 8300, + "path": "LockResult" + } + } } } }, "links": {}, - "name": "extend_one", + "name": "lock", "span": { "begin": [ - 2827, + 487, 5 ], "end": [ - 2829, + 492, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "8390": { + "8329": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Creates a new cell with its contents set to `value`.\n\n# Example\n\n```\nuse std::sync::OnceLock;\n\n# fn main() -> Result<(), i32> {\nlet a = OnceLock::from(3);\nlet b = OnceLock::new();\nb.set(3)?;\nassert_eq!(a, b);\nOk(())\n# }\n```", - "id": 8390, + "docs": "Attempts to acquire this lock.\n\nIf the lock could not be acquired at this time, then [`Err`] is returned.\nOtherwise, an RAII guard is returned. The lock will be unlocked when the\nguard is dropped.\n\nThis function does not block.\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return the [`Poisoned`] error if the mutex would\notherwise be acquired. An acquired lock guard will be contained\nin the returned error.\n\nIf the mutex could not be acquired because it is already locked, then\nthis call will return the [`WouldBlock`] error.\n\n[`Poisoned`]: TryLockError::Poisoned\n[`WouldBlock`]: TryLockError::WouldBlock\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nthread::spawn(move || {\n let mut lock = c_mutex.try_lock();\n if let Ok(ref mut mutex) = lock {\n **mutex = 10;\n } else {\n println!(\"try_lock failed\");\n }\n}).join().expect(\"thread::spawn failed\");\nassert_eq!(*mutex.lock().unwrap(), 10);\n```", + "id": 8329, "inner": { "function": { "generics": { @@ -712032,44 +725052,87 @@ "sig": { "inputs": [ [ - "value", + "self", { - "generic": "T" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + } + } + ], + "constraints": [] + } + }, + "id": 8338, + "path": "TryLockResult" + } } } } }, - "links": {}, - "name": "from", + "links": { + "TryLockError::Poisoned": 8336, + "TryLockError::WouldBlock": 8337, + "`Err`": 59 + }, + "name": "try_lock", "span": { "begin": [ - 642, + 535, 5 ], "end": [ - 648, + 543, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "8391": { + "833": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8391, + "id": 833, "inner": { "impl": { "blanket_impl": null, @@ -712080,15 +725143,25 @@ "args": [ { "type": { - "generic": "T" + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" } } ], "constraints": [] } }, - "id": 7996, - "path": "OnceLock" + "id": 738, + "path": "HashMap" } }, "generics": { @@ -712101,16 +725174,101 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 743, + "path": "BuildHasher" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 107, + "path": "Default" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "S" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8390 + 832 ], "provided_trait_methods": [], "trait": { @@ -712119,15 +725277,22 @@ "args": [ { "type": { - "generic": "T" + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] } } ], "constraints": [] } }, - "id": 37, - "path": "From" + "id": 199, + "path": "FromIterator" } } }, @@ -712135,32 +725300,128 @@ "name": null, "span": { "begin": [ - 625, + 2769, 1 ], "end": [ - 649, + 2783, 2 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8392": { + "8330": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Equality for two `OnceLock`s.\n\nTwo `OnceLock`s are equal if they either both contain values and their\nvalues are equal, or if neither contains a value.\n\n# Examples\n\n```\nuse std::sync::OnceLock;\n\nlet five = OnceLock::new();\nfive.set(5).unwrap();\n\nlet also_five = OnceLock::new();\nalso_five.set(5).unwrap();\n\nassert!(five == also_five);\n\nassert!(OnceLock::::new() == OnceLock::::new());\n```", - "id": 8392, + "docs": "A type of error which can be returned whenever a lock is acquired.\n\nBoth [`Mutex`]es and [`RwLock`]s are poisoned whenever a thread fails while the lock\nis held. The precise semantics for when a lock is poisoned is documented on\neach lock. For a lock in the poisoned state, unless the state is cleared manually,\nall future acquisitions will return this error.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(1));\n\n// poison the mutex\nlet c_mutex = Arc::clone(&mutex);\nlet _ = thread::spawn(move || {\n let mut data = c_mutex.lock().unwrap();\n *data = 2;\n panic!();\n}).join();\n\nmatch mutex.lock() {\n Ok(_) => unreachable!(),\n Err(p_err) => {\n let data = p_err.get_ref();\n println!(\"recovered: {data}\");\n }\n};\n```\n[`Mutex`]: crate::sync::Mutex\n[`RwLock`]: crate::sync::RwLock", + "id": 8330, + "inner": { + "struct": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 8612, + 8613, + 8614, + 8615, + 8616, + 8617, + 8618, + 8619, + 8620, + 8621, + 8622, + 8623, + 8624, + 8625, + 8626, + 8628, + 8630, + 8631, + 8634 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } + } + }, + "links": { + "crate::sync::Mutex": 496, + "crate::sync::RwLock": 8103 + }, + "name": "PoisonError", + "span": { + "begin": [ + 197, + 1 + ], + "end": [ + 201, + 2 + ], + "filename": "std/src/sync/poison.rs" + }, + "visibility": "public" + }, + "8332": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the contained value by cloning it.\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error instead.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.get_cloned().unwrap(), 7);\n```", + "id": 8332, "inner": { "function": { "generics": { "params": [], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "has_body": true, "header": { @@ -712182,243 +725443,176 @@ } } } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq", - "span": { - "begin": [ - 674, - 5 - ], - "end": [ - 676, - 6 - ], - "filename": "std/src/sync/once_lock.rs" - }, - "visibility": "default" - }, - "8393": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8393, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 7996, - "path": "OnceLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" + "type": { + "generic": "T" + } + }, + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 8330, + "path": "PoisonError" } } } ], - "default": null, - "is_synthetic": false + "constraints": [] } }, - "name": "T" + "id": 57, + "path": "Result" } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8392 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" + } } } }, "links": {}, - "name": null, + "name": "get_cloned", "span": { "begin": [ - 652, - 1 + 373, + 5 ], "end": [ - 677, - 2 + 381, + 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "8394": { + "8333": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8394, + "docs": "Sets the contained value.\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error containing the provided `value` instead.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.get_cloned().unwrap(), 7);\nmutex.set(11).unwrap();\nassert_eq!(mutex.get_cloned().unwrap(), 11);\n```", + "id": 8333, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "constraints": [] + } } - }, - "id": 7996, - "path": "OnceLock" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ + ], + [ + "value", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" + "type": { + "tuple": [] + } + }, + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8330, + "path": "PoisonError" } } } ], - "default": null, - "is_synthetic": false + "constraints": [] } }, - "name": "T" + "id": 57, + "path": "Result" } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], - "trait": { - "args": null, - "id": 113, - "path": "Eq" + } } } }, "links": {}, - "name": null, + "name": "set", "span": { "begin": [ - 680, - 1 + 404, + 5 ], "end": [ - 680, - 34 + 419, + 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "8395": { + "8334": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8395, + "docs": "Replaces the contained value with `value`, and returns the old contained value.\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error containing the provided `value` instead.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::Mutex;\n\nlet mut mutex = Mutex::new(7);\n\nassert_eq!(mutex.replace(11).unwrap(), 7);\nassert_eq!(mutex.get_cloned().unwrap(), 11);\n```", + "id": 8334, "inner": { "function": { "generics": { @@ -712438,45 +725632,64 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "value", + { + "generic": "T" + } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8300, + "path": "LockResult" + } + } } } }, "links": {}, - "name": "drop", + "name": "replace", "span": { "begin": [ - 685, + 441, 5 ], "end": [ - 692, + 446, 6 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "8396": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - } - ], + "8335": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8396, + "id": 8335, "inner": { "impl": { "blanket_impl": null, @@ -712494,8 +725707,8 @@ "constraints": [] } }, - "id": 7996, - "path": "OnceLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -712517,287 +725730,194 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8395 + 8327, + 8332, + 8333, + 8334 ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 9, - "path": "Drop" - } + "trait": null } }, "links": {}, "name": null, "span": { "begin": [ - 683, + 337, 1 ], "end": [ - 693, + 447, 2 ], - "filename": "std/src/sync/once_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "84": { + "8336": { "attrs": [ { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 84, + "docs": "The lock could not be acquired because another thread failed while holding\nthe lock.", + "id": 8336, "inner": { - "use": { - "id": 85, - "is_glob": false, - "name": "include_str", - "source": "core::prelude::v1::include_str" + "variant": { + "discriminant": null, + "kind": { + "tuple": [ + 8635 + ] + } } }, "links": {}, - "name": null, + "name": "Poisoned", "span": { "begin": [ - 51, - 45 + 217, + 5 ], "end": [ - 51, - 56 + 217, + 75 ], - "filename": "std/src/prelude/v1.rs" + "filename": "std/src/sync/poison.rs" }, - "visibility": "public" + "visibility": "default" }, - "840": { + "8337": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 840, + "docs": "The lock could not be acquired at this time because the operation would\notherwise block.", + "id": 8337, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "additional", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": null - } + "variant": { + "discriminant": null, + "kind": "plain" } }, "links": {}, - "name": "extend_reserve", + "name": "WouldBlock", "span": { "begin": [ - 2832, + 221, 5 ], "end": [ - 2834, - 6 + 221, + 15 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "default" }, - "8402": { + "8338": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "A re-entrant mutual exclusion lock\n\nThis lock will block *other* threads waiting for the lock to become\navailable. The thread which has already locked the mutex can lock it\nmultiple times without blocking, preventing a common source of deadlocks.\n\n# Examples\n\nAllow recursively calling a function needing synchronization from within\na callback (this is how [`StdoutLock`](crate::io::StdoutLock) is currently\nimplemented):\n\n```\n#![feature(reentrant_lock)]\n\nuse std::cell::RefCell;\nuse std::sync::ReentrantLock;\n\npub struct Log {\n data: RefCell,\n}\n\nimpl Log {\n pub fn append(&self, msg: &str) {\n self.data.borrow_mut().push_str(msg);\n }\n}\n\nstatic LOG: ReentrantLock = ReentrantLock::new(Log { data: RefCell::new(String::new()) });\n\npub fn with_log(f: impl FnOnce(&Log) -> R) -> R {\n let log = LOG.lock();\n f(&*log)\n}\n\nwith_log(|log| {\n log.append(\"Hello\");\n with_log(|log| log.append(\" there!\"));\n});\n```\n", - "id": 8402, + "docs": "A type alias for the result of a nonblocking locking method.\n\nFor more information, see [`LockResult`]. A `TryLockResult` doesn't\nnecessarily hold the associated guard in the [`Err`] type as the lock might not\nhave been acquired for other reasons.", + "id": 8338, "inner": { - "struct": { + "type_alias": { "generics": { "params": [ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "T" + "name": "Guard" } ], "where_predicates": [] }, - "impls": [ - 8405, - 8410, - 8411, - 8412, - 8413, - 8414, - 8415, - 8416, - 8417, - 8418, - 8419, - 8420, - 8421, - 8422, - 8423, - 8424, - 8426, - 8428, - 8430 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Guard" + } + }, + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Guard" + } + } + ], + "constraints": [] + } + }, + "id": 8633, + "path": "TryLockError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" } } } }, "links": { - "crate::io::StdoutLock": 3653 + "`Err`": 59, + "`LockResult`": 8300 }, - "name": "ReentrantLock", + "name": "TryLockResult", "span": { "begin": [ - 81, + 243, 1 ], "end": [ - 86, - 2 + 243, + 68 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "8403": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": "Creates a new re-entrant lock in an unlocked state ready for use.\n\n# Examples\n\n```\n#![feature(reentrant_lock)]\nuse std::sync::ReentrantLock;\n\nlet lock = ReentrantLock::new(0);\n```", - "id": 8403, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "t", - { - "generic": "T" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8402, - "path": "ReentrantLock" - } - } - } + "8339": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" } - }, - "links": {}, - "name": "new", - "span": { - "begin": [ - 232, - 5 - ], - "end": [ - 239, - 6 - ], - "filename": "std/src/sync/reentrant_lock.rs" - }, - "visibility": "public" - }, - "8404": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, - "docs": "Consumes this lock, returning the underlying data.\n\n# Examples\n\n```\n#![feature(reentrant_lock)]\n\nuse std::sync::ReentrantLock;\n\nlet lock = ReentrantLock::new(0);\nassert_eq!(lock.into_inner(), 0);\n```", - "id": 8404, + "docs": "Determines whether the mutex is poisoned.\n\nIf another thread is active, the mutex can still become poisoned at any\ntime. You should not trust a `false` value for program correctness\nwithout additional synchronization.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nlet _ = thread::spawn(move || {\n let _lock = c_mutex.lock().unwrap();\n panic!(); // the mutex gets poisoned\n}).join();\nassert_eq!(mutex.is_poisoned(), true);\n```", + "id": 8339, "inner": { "function": { "generics": { @@ -712816,110 +725936,162 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "T" + "primitive": "bool" } } } }, "links": {}, - "name": "into_inner", + "name": "is_poisoned", "span": { "begin": [ - 253, + 568, 5 ], "end": [ - 255, + 570, 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "public" }, - "8405": { + "834": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8405, + "id": 834, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8402, - "path": "ReentrantLock" - } - }, + "function": { "generics": { "params": [ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] + } + } + }, + "name": "Item" + } + ] + } + }, + "id": 47, + "path": "IntoIterator" + } + } + } + ], "default": null, "is_synthetic": false } - }, - "name": "T" - } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "iter", + { + "generic": "T" + } + ] ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8403, - 8404 - ], - "provided_trait_methods": [], - "trait": null + "is_c_variadic": false, + "output": null + } } }, "links": {}, - "name": null, + "name": "extend", "span": { "begin": [ - 221, - 1 + 2794, + 5 ], "end": [ - 256, - 2 + 2796, + 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8406": { - "attrs": [], + "8340": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 77, patch: 0})}, feature: \"mutex_unpoison\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": "Acquires the lock, blocking the current thread until it is able to do\nso.\n\nThis function will block the caller until it is available to acquire\nthe lock. Upon returning, the thread is the only thread with the lock\nheld. When the thread calling this method already holds the lock, the\ncall succeeds without blocking.\n\n# Examples\n\n```\n#![feature(reentrant_lock)]\nuse std::cell::Cell;\nuse std::sync::{Arc, ReentrantLock};\nuse std::thread;\n\nlet lock = Arc::new(ReentrantLock::new(Cell::new(0)));\nlet c_lock = Arc::clone(&lock);\n\nthread::spawn(move || {\n c_lock.lock().set(10);\n}).join().expect(\"thread::spawn failed\");\nassert_eq!(lock.lock().get(), 10);\n```", - "id": 8406, + "docs": "Clear the poisoned state from a mutex.\n\nIf the mutex is poisoned, it will remain poisoned until this function is called. This\nallows recovering from a poisoned state and marking that it has recovered. For example, if\nthe value is overwritten by a known-good value, then the mutex can be marked as\nun-poisoned. Or possibly, the value could be inspected to determine if it is in a\nconsistent state, and if so the poison is removed.\n\n# Examples\n\n```\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nlet mutex = Arc::new(Mutex::new(0));\nlet c_mutex = Arc::clone(&mutex);\n\nlet _ = thread::spawn(move || {\n let _lock = c_mutex.lock().unwrap();\n panic!(); // the mutex gets poisoned\n}).join();\n\nassert_eq!(mutex.is_poisoned(), true);\nlet x = mutex.lock().unwrap_or_else(|mut e| {\n **e.get_mut() = 1;\n mutex.clear_poison();\n e.into_inner()\n});\nassert_eq!(mutex.is_poisoned(), false);\nassert_eq!(*x, 1);\n```", + "id": 8340, "inner": { "function": { "generics": { @@ -712949,157 +726121,126 @@ ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 8407, - "path": "ReentrantLockGuard" - } - } + "output": null } } }, "links": {}, - "name": "lock", + "name": "clear_poison", "span": { "begin": [ - 284, + 605, 5 ], "end": [ - 300, + 607, 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "public" }, - "8407": { + "8341": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" - }, - { - "must_use": { - "reason": "if unused the ReentrantLock will immediately unlock" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"mutex_into_inner\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "An RAII implementation of a \"scoped lock\" of a re-entrant lock. When this\nstructure is dropped (falls out of scope), the lock will be unlocked.\n\nThe data protected by the mutex can be accessed through this guard via its\n[`Deref`] implementation.\n\nThis structure is created by the [`lock`](ReentrantLock::lock) method on\n[`ReentrantLock`].\n\n# Mutability\n\nUnlike [`MutexGuard`](super::MutexGuard), `ReentrantLockGuard` does not\nimplement [`DerefMut`](crate::ops::DerefMut), because implementation of\nthe trait would violate Rust’s reference aliasing rules. Use interior\nmutability (usually [`RefCell`](crate::cell::RefCell)) in order to mutate\nthe guarded data.", - "id": 8407, + "docs": "Consumes this mutex, returning the underlying data.\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error containing the underlying data\ninstead.\n\n# Examples\n\n```\nuse std::sync::Mutex;\n\nlet mutex = Mutex::new(0);\nassert_eq!(mutex.into_inner().unwrap(), 0);\n```", + "id": 8341, "inner": { - "struct": { + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, + "params": [], + "where_predicates": [ { - "kind": { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], "type": { - "bounds": [ + "generic": "T" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } + "type": { + "generic": "T" } - }, - { - "outlives": "'a" } ], - "default": null, - "is_synthetic": false + "constraints": [] } }, - "name": "T" + "id": 8300, + "path": "LockResult" } - ], - "where_predicates": [] - }, - "impls": [ - 8432, - 8433, - 8434, - 8435, - 8436, - 8437, - 8438, - 8439, - 8440, - 8441, - 8442, - 8443, - 8444, - 8445, - 8446, - 8449, - 8451, - 8453, - 8455 - ], - "kind": { - "plain": { - "fields": [], - "has_stripped_fields": true } } } }, - "links": { - "ReentrantLock::lock": 8406, - "`Deref`": 1969, - "`ReentrantLock`": 8402, - "crate::cell::RefCell": 380, - "crate::ops::DerefMut": 1989, - "super::MutexGuard": 7861 - }, - "name": "ReentrantLockGuard", + "links": {}, + "name": "into_inner", "span": { "begin": [ - 210, - 1 + 626, + 5 ], "end": [ - 212, - 2 + 632, + 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "public" }, - "8408": { - "attrs": [], + "8342": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"mutex_get_mut\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": "Returns a mutable reference to the underlying data.\n\nSince this call borrows the `ReentrantLock` mutably, no actual locking\nneeds to take place -- the mutable borrow statically guarantees no locks\nexist.\n\n# Examples\n\n```\n#![feature(reentrant_lock)]\nuse std::sync::ReentrantLock;\n\nlet mut lock = ReentrantLock::new(0);\n*lock.get_mut() = 10;\nassert_eq!(*lock.lock(), 10);\n```", - "id": 8408, + "docs": "Returns a mutable reference to the underlying data.\n\nSince this call borrows the `Mutex` mutably, no actual locking needs to\ntake place -- the mutable borrow statically guarantees no new locks can be acquired\nwhile this reference exists. Note that this method does not clear any previous abandoned locks\n(e.g., via [`forget()`] on a [`MutexGuard`]).\n\n# Errors\n\nIf another user of this mutex panicked while holding the mutex, then\nthis call will return an error containing a mutable reference to the\nunderlying data instead.\n\n# Examples\n\n```\nuse std::sync::Mutex;\n\nlet mut mutex = Mutex::new(0);\n*mutex.get_mut().unwrap() = 10;\nassert_eq!(*mutex.lock().unwrap(), 10);\n```\n\n[`forget()`]: mem::forget", + "id": 8342, "inner": { "function": { "generics": { @@ -713130,42 +726271,60 @@ ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "T" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 8300, + "path": "LockResult" } } } } }, - "links": {}, + "links": { + "`MutexGuard`": 7944, + "mem::forget": 8117 + }, "name": "get_mut", "span": { "begin": [ - 318, + 659, 5 ], "end": [ - 320, + 662, 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "public" }, - "8409": { + "8343": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140368, is_soft: false}, feature: \"reentrant_lock_data_ptr\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140368, is_soft: false}, feature: \"mutex_data_ptr\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns a raw pointer to the underlying data.\n\nThe returned pointer is always non-null and properly aligned, but it is\nthe user's responsibility to ensure that any reads through it are\nproperly synchronized to avoid data races, and that it is not read\nthrough after the lock is dropped.", - "id": 8409, + "docs": "Returns a raw pointer to the underlying data.\n\nThe returned pointer is always non-null and properly aligned, but it is\nthe user's responsibility to ensure that any reads and writes through it\nare properly synchronized to avoid data races, and that it is not read\nor written through after the mutex is dropped.", + "id": 8343, "inner": { "function": { "generics": { @@ -713176,7 +726335,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -713197,7 +726356,7 @@ "is_c_variadic": false, "output": { "raw_pointer": { - "is_mutable": false, + "is_mutable": true, "type": { "generic": "T" } @@ -713210,262 +726369,23 @@ "name": "data_ptr", "span": { "begin": [ - 358, + 671, 5 ], "end": [ - 360, + 673, 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "public" }, - "841": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"hash_extend_copy\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 841, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" - } - } - ], - "constraints": [] - } - }, - "id": 738, - "path": "HashMap" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "S" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 539, - "path": "Hash" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 103, - "path": "Copy" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 103, - "path": "Copy" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 743, - "path": "BuildHasher" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "S" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 838, - 839, - 840 - ], - "provided_trait_methods": [ - "extend_one", - "extend_reserve", - "extend_one_unchecked" - ], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "K" - } - } - }, - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "V" - } - } - } - ] - } - } - ], - "constraints": [] - } - }, - "id": 45, - "path": "Extend" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2815, - 1 - ], - "end": [ - 2835, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8410": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" - } - ], + "8344": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8410, + "id": 8344, "inner": { "impl": { "blanket_impl": null, @@ -713483,8 +726403,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -713518,9 +726438,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8406, - 8408, - 8409 + 8328, + 8329, + 8339, + 8340, + 8341, + 8342, + 8343 ], "provided_trait_methods": [], "trait": null @@ -713530,23 +726454,23 @@ "name": null, "span": { "begin": [ - 259, + 449, 1 ], "end": [ - 368, + 674, 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8411": { + "8345": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8411, + "id": 8345, "inner": { "impl": { "blanket_impl": null, @@ -713564,8 +726488,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -713590,7 +726514,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -713600,12 +726524,12 @@ "span": null, "visibility": "default" }, - "8412": { + "8346": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8412, + "id": 8346, "inner": { "impl": { "blanket_impl": null, @@ -713623,8 +726547,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -713692,12 +726616,12 @@ "span": null, "visibility": "default" }, - "8413": { + "8347": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8413, + "id": 8347, "inner": { "impl": { "blanket_impl": { @@ -713717,8 +726641,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -713762,7 +726686,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -713778,7 +726702,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -713787,23 +726711,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8414": { + "8348": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8414, + "id": 8348, "inner": { "impl": { "blanket_impl": { @@ -713823,8 +726747,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -713868,7 +726792,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -713884,7 +726808,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -713893,23 +726817,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8415": { + "8349": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8415, + "id": 8349, "inner": { "impl": { "blanket_impl": { @@ -713929,8 +726853,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -713995,7 +726919,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -714020,23 +726944,94 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8416": { + "835": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 835, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "(k, v)", + { + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "extend_one", + "span": { + "begin": [ + 2799, + 5 + ], + "end": [ + 2801, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8350": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8416, + "id": 8350, "inner": { "impl": { "blanket_impl": { @@ -714056,8 +727051,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -714079,7 +727074,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -714104,23 +727099,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8417": { + "8351": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8417, + "id": 8351, "inner": { "impl": { "blanket_impl": { @@ -714140,8 +727135,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -714163,7 +727158,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1898 + 1896 ], "provided_trait_methods": [], "trait": { @@ -714188,23 +727183,23 @@ "name": null, "span": { "begin": [ - 808, + 802, 1 ], "end": [ - 808, + 802, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8418": { + "8352": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8418, + "id": 8352, "inner": { "impl": { "blanket_impl": { @@ -714224,8 +727219,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -714272,7 +727267,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -714290,8 +727285,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -714307,7 +727302,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -714316,23 +727311,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8419": { + "8353": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8419, + "id": 8353, "inner": { "impl": { "blanket_impl": { @@ -714352,8 +727347,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -714418,8 +727413,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -714435,7 +727430,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -714444,30 +727439,28 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "842": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"hashbrown\"}}]" - } - ], + "8354": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 842, + "id": 8354, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -714475,25 +727468,15 @@ "args": [ { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - }, - { - "type": { - "generic": "S" + "generic": "T" } } ], "constraints": [] } }, - "id": 738, - "path": "collections::HashMap" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -714506,27 +727489,7 @@ "is_synthetic": false } }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "S" + "name": "T" } ], "where_predicates": [ @@ -714534,62 +727497,23 @@ "bound_predicate": { "bounds": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - }, - { - "bound_predicate": { - "bounds": [ + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "S" + "generic": "T" } } } @@ -714598,12 +727522,14 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 336 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 339, + "path": "Any" } } }, @@ -714611,28 +727537,30 @@ "name": null, "span": { "begin": [ - 279, + 138, 1 ], "end": [ - 285, - 2 + 138, + 36 ], - "filename": "std/src/panic.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "8420": { - "attrs": [], + "8355": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8420, + "id": 8355, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -714647,8 +727575,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "crate::sync::Mutex" } }, "generics": { @@ -714656,7 +727584,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } @@ -714664,44 +727604,17 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 338 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 316, + "path": "UnwindSafe" } } }, @@ -714709,27 +727622,27 @@ "name": null, "span": { "begin": [ - 138, + 264, 1 ], "end": [ - 138, - 36 + 264, + 43 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/panic.rs" }, "visibility": "default" }, - "8421": { + "8356": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"unwind_safe_lock_refs\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8421, + "id": 8356, "inner": { "impl": { "blanket_impl": null, @@ -714747,8 +727660,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "crate::sync::Mutex" } }, "generics": { @@ -714757,17 +727670,6 @@ "kind": { "type": { "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, { "trait_bound": { "generic_params": [], @@ -714796,8 +727698,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -714805,27 +727707,27 @@ "name": null, "span": { "begin": [ - 182, + 271, 1 ], "end": [ - 182, - 59 + 271, + 46 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/panic.rs" }, "visibility": "default" }, - "8422": { + "8357": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8422, + "docs": "`T` must be `Send` for a [`Mutex`] to be `Send` because it is possible to acquire\nthe owned `T` from the `Mutex` via [`into_inner`].\n\n[`into_inner`]: Mutex::into_inner", + "id": 8357, "inner": { "impl": { "blanket_impl": null, @@ -714843,8 +727745,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -714856,22 +727758,22 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 3, + "path": "Sized" } } }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 1, + "path": "Send" } } } @@ -714892,36 +727794,39 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 1, + "path": "Send" } } }, - "links": {}, + "links": { + "Mutex::into_inner": 8341, + "`Mutex`": 496 + }, "name": null, "span": { "begin": [ - 184, + 238, 1 ], "end": [ - 184, - 59 + 238, + 51 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8423": { + "8358": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8423, + "docs": "`T` must be `Send` for [`Mutex`] to be `Sync`.\nThis ensures that the protected data can be accessed safely from multiple threads\nwithout causing data races or other unsafe behavior.\n\n[`Mutex`] provides mutable access to `T` to one thread at a time. However, it's essential\nfor `T` to be `Send` because it's not safe for non-`Send` structures to be accessed in\nthis manner. For instance, consider [`Rc`], a non-atomic reference counted smart pointer,\nwhich is not `Send`. With `Rc`, we can have multiple copies pointing to the same heap\nallocation with a non-atomic reference count. If we were to use `Mutex>`, it would\nonly protect one instance of `Rc` from shared access, leaving other copies vulnerable\nto potential data races.\n\nAlso note that it is not necessary for `T` to be `Sync` as `&T` is only made available\nto one thread at a time if `T` is not `Sync`.\n\n[`Rc`]: crate::rc::Rc", + "id": 8358, "inner": { "impl": { "blanket_impl": null, @@ -714939,8 +727844,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -714952,22 +727857,22 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 3, + "path": "Sized" } } }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 1, + "path": "Send" } } } @@ -714988,8 +727893,214 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 5, + "path": "Sync" + } + } + }, + "links": { + "`Mutex`": 496, + "`Mutex`": 496, + "crate::rc::Rc": 2028 + }, + "name": null, + "span": { + "begin": [ + 257, + 1 + ], + "end": [ + 257, + 51 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8359": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a new mutex in an unlocked state ready for use.\nThis is equivalent to [`Mutex::new`].", + "id": 8359, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "t", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": { + "`Mutex::new`": 8327 + }, + "name": "from", + "span": { + "begin": [ + 680, + 5 + ], + "end": [ + 682, + 6 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "836": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 836, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "additional", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "extend_reserve", + "span": { + "begin": [ + 2804, + 5 + ], + "end": [ + 2806, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8360": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"mutex_from\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8360, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 496, + "path": "Mutex" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8359 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, @@ -714997,27 +728108,85 @@ "name": null, "span": { "begin": [ - 188, + 677, 1 ], "end": [ - 188, - 64 + 683, + 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8424": { + "8361": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "Creates a `Mutex`, with the `Default` value for T.", + "id": 8361, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 496, + "path": "Mutex" + } + } + } + } + }, + "links": {}, + "name": "default", + "span": { + "begin": [ + 688, + 5 + ], + "end": [ + 690, + 6 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8362": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"mutex_default\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8424, + "id": 8362, "inner": { "impl": { "blanket_impl": null, @@ -715035,8 +728204,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -715048,22 +728217,22 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 3, + "path": "Sized" } } }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 107, + "path": "Default" } } } @@ -715080,12 +728249,14 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 8361 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 107, + "path": "Default" } } }, @@ -715093,23 +728264,23 @@ "name": null, "span": { "begin": [ - 190, + 686, 1 ], "end": [ - 190, - 70 + 691, + 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8425": { + "8363": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8425, + "id": 8363, "inner": { "function": { "generics": { @@ -715155,7 +728326,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -715167,7 +728338,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -715178,27 +728349,27 @@ "name": "fmt", "span": { "begin": [ - 372, + 695, 5 ], "end": [ - 379, + 710, 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8426": { + "8364": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8426, + "id": 8364, "inner": { "impl": { "blanket_impl": null, @@ -715216,8 +728387,8 @@ "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 496, + "path": "Mutex" } }, "generics": { @@ -715229,22 +728400,22 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 346, - "path": "fmt::Debug" + "id": 3, + "path": "Sized" } } }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 344, + "path": "fmt::Debug" } } } @@ -715262,12 +728433,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8425 + 8363 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -715276,158 +728447,415 @@ "name": null, "span": { "begin": [ - 371, + 694, 1 ], "end": [ - 380, + 711, 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8427": { - "attrs": [], + "8367": { + "attrs": [ + { + "other": "#[must_not_suspend =\n\"holding a MappedMutexGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" + }, + { + "other": "#[clippy::has_significant_drop]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + }, + { + "must_use": { + "reason": "if unused the Mutex will immediately unlock" + } + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8427, + "docs": "An RAII mutex guard returned by `MutexGuard::map`, which can point to a\nsubfield of the protected data. When this structure is dropped (falls out\nof scope), the lock will be unlocked.\n\nThe main difference between `MappedMutexGuard` and [`MutexGuard`] is that the\nformer cannot be used with [`Condvar`], since that\ncould introduce soundness issues if the locked object is modified by another\nthread while the `Mutex` is unlocked.\n\nThe data protected by the mutex can be accessed through this guard via its\n[`Deref`] and [`DerefMut`] implementations.\n\nThis structure is created by the [`map`] and [`filter_map`] methods on\n[`MutexGuard`].\n\n[`map`]: MutexGuard::map\n[`filter_map`]: MutexGuard::filter_map\n[`Condvar`]: crate::sync::Condvar", + "id": 8367, "inner": { - "function": { + "struct": { "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "outlives": "'a" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "generic": "Self" + "impls": [ + 8404, + 8405, + 8406, + 8407, + 8408, + 8409, + 8410, + 8411, + 8412, + 8413, + 8414, + 8415, + 8416, + 8417, + 8418, + 8419, + 8422, + 8424, + 8426, + 8428, + 8430 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true } } } }, - "links": {}, - "name": "default", + "links": { + "MutexGuard::filter_map": 8369, + "MutexGuard::map": 8368, + "`DerefMut`": 1987, + "`Deref`": 1967, + "`MutexGuard`": 7944, + "crate::sync::Condvar": 495 + }, + "name": "MappedMutexGuard", "span": { "begin": [ - 384, - 5 + 320, + 1 ], "end": [ - 386, - 6 + 330, + 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "8428": { + "8368": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8428, + "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MutexGuard::map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", + "id": 8368, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ { - "type": { - "generic": "T" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + }, + "id": 15, + "path": "FnOnce" + } } } ], - "constraints": [] + "generic_params": [], + "type": { + "generic": "F" + } } }, - "id": 8402, - "path": "ReentrantLock" - } - }, - "generics": { - "params": [ { - "kind": { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], "type": { - "bounds": [ + "generic": "U" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "orig", + { + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 109, - "path": "Default" - } + "lifetime": "'a" + }, + { + "type": { + "generic": "U" } } ], - "default": null, - "is_synthetic": false + "constraints": [] } }, - "name": "T" + "id": 8367, + "path": "MappedMutexGuard" } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8427 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 109, - "path": "Default" + } } } }, - "links": {}, - "name": null, + "links": { + "`MappedMutexGuard`": 8367 + }, + "name": "map", "span": { "begin": [ - 383, - 1 + 780, + 5 ], "end": [ - 387, - 2 + 798, + 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "8429": { - "attrs": [], + "8369": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8429, + "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MutexGuard::filter_map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", + "id": 8369, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "has_body": true, "header": { @@ -715439,44 +728867,90 @@ "sig": { "inputs": [ [ - "t", + "orig", { - "generic": "T" + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + } + }, + { + "type": { + "generic": "Self" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, - "links": {}, - "name": "from", + "links": { + "`MappedMutexGuard`": 8367 + }, + "name": "filter_map", "span": { "begin": [ - 391, + 810, 5 ], "end": [ - 393, + 833, 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "default" + "visibility": "public" }, - "8430": { + "837": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8430, + "docs": "Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.", + "id": 837, "inner": { "impl": { "blanket_impl": null, @@ -715487,15 +728961,25 @@ "args": [ { "type": { - "generic": "T" + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + }, + { + "type": { + "generic": "S" } } ], "constraints": [] } }, - "id": 8402, - "path": "ReentrantLock" + "id": 738, + "path": "HashMap" } }, "generics": { @@ -715508,33 +728992,120 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 743, + "path": "BuildHasher" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "S" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8429 + 834, + 835, + 836 + ], + "provided_trait_methods": [ + "extend_one", + "extend_reserve", + "extend_one_unchecked" ], - "provided_trait_methods": [], "trait": { "args": { "angle_bracketed": { "args": [ { "type": { - "generic": "T" + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] } } ], "constraints": [] } }, - "id": 37, - "path": "From" + "id": 45, + "path": "Extend" } } }, @@ -715542,23 +729113,23 @@ "name": null, "span": { "begin": [ - 390, + 2788, 1 ], "end": [ - 394, + 2807, 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8432": { + "8370": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8432, + "id": 8370, "inner": { "impl": { "blanket_impl": null, @@ -715579,8 +729150,99 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8368, + 8369 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 770, + 1 + ], + "end": [ + 834, + 2 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8371": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8371, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -715635,7 +729297,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -715645,12 +729307,12 @@ "span": null, "visibility": "default" }, - "8433": { + "8372": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8433, + "id": 8372, "inner": { "impl": { "blanket_impl": null, @@ -715671,8 +729333,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -715737,12 +729399,12 @@ "span": null, "visibility": "default" }, - "8434": { + "8373": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8434, + "id": 8373, "inner": { "impl": { "blanket_impl": null, @@ -715763,8 +729425,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -715792,17 +729454,6 @@ { "bound_predicate": { "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, { "trait_bound": { "generic_params": [], @@ -715830,7 +729481,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -715840,12 +729491,12 @@ "span": null, "visibility": "default" }, - "8435": { + "8374": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8435, + "id": 8374, "inner": { "impl": { "blanket_impl": null, @@ -715866,8 +729517,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -715895,17 +729546,6 @@ { "bound_predicate": { "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - }, { "trait_bound": { "generic_params": [], @@ -715933,7 +729573,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -715943,12 +729583,12 @@ "span": null, "visibility": "default" }, - "8436": { + "8375": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8436, + "id": 8375, "inner": { "impl": { "blanket_impl": { @@ -715971,8 +729611,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -716016,7 +729656,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -716032,7 +729672,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -716041,23 +729681,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8437": { + "8376": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8437, + "id": 8376, "inner": { "impl": { "blanket_impl": { @@ -716080,8 +729720,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -716125,7 +729765,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -716141,7 +729781,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -716150,23 +729790,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8438": { + "8377": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8438, + "id": 8377, "inner": { "impl": { "blanket_impl": { @@ -716189,8 +729829,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -716255,7 +729895,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -716280,23 +729920,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8439": { + "8378": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8439, + "id": 8378, "inner": { "impl": { "blanket_impl": { @@ -716319,8 +729959,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -716342,7 +729982,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -716367,151 +730007,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "844": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 844, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 756, - "path": "Iter" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8440": { + "8379": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8440, + "id": 8379, "inner": { "impl": { "blanket_impl": { @@ -716534,8 +730046,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -716582,7 +730094,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -716600,8 +730112,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -716617,7 +730129,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -716626,23 +730138,146 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8441": { + "838": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 838, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + ] + } + } + }, + "name": "Item" + } + ] + } + }, + "id": 47, + "path": "IntoIterator" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "iter", + { + "generic": "T" + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "extend", + "span": { + "begin": [ + 2817, + 5 + ], + "end": [ + 2819, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8380": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8441, + "id": 8380, "inner": { "impl": { "blanket_impl": { @@ -716665,8 +730300,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -716731,8 +730366,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -716748,7 +730383,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -716757,23 +730392,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8442": { + "8381": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8442, + "id": 8381, "inner": { "impl": { "blanket_impl": { @@ -716796,8 +730431,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -716850,7 +730485,7 @@ ] } }, - "id": 1969, + "id": 1967, "path": "Deref" } } @@ -716900,12 +730535,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 1967 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1970, + "id": 1968, "path": "Receiver" } } @@ -716914,23 +730549,23 @@ "name": null, "span": { "begin": [ - 380, + 378, 1 ], "end": [ - 382, + 380, 26 ], "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "8443": { + "8382": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8443, + "id": 8382, "inner": { "impl": { "blanket_impl": { @@ -716953,8 +730588,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -717001,12 +730636,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -717026,12 +730661,12 @@ }, "visibility": "default" }, - "8444": { + "8383": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8444, + "id": 8383, "inner": { "impl": { "blanket_impl": { @@ -717054,8 +730689,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -717115,7 +730750,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -717124,27 +730759,27 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8445": { + "8384": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8445, + "docs": "A [`MutexGuard`] is not `Send` to maximize platform portability.\n\nOn platforms that use POSIX threads (commonly referred to as pthreads) there is a requirement to\nrelease mutex locks on the same thread they were acquired.\nFor this reason, [`MutexGuard`] must not implement `Send` to prevent it being dropped from\nanother thread.", + "id": 8384, "inner": { "impl": { "blanket_impl": null, @@ -717165,8 +730800,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -717208,31 +730843,229 @@ } } }, + "links": { + "`MutexGuard`": 7944 + }, + "name": null, + "span": { + "begin": [ + 289, + 1 + ], + "end": [ + 289, + 47 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8385": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"mutexguard\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "`T` must be `Sync` for a [`MutexGuard`] to be `Sync`\nbecause it is possible to get a `&T` from `&MutexGuard` (via `Deref`).", + "id": 8385, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 7944, + "path": "MutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": { + "`MutexGuard`": 7944 + }, + "name": null, + "span": { + "begin": [ + 294, + 1 + ], + "end": [ + 294, + 60 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8386": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8386, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } + } + }, + "links": {}, + "name": "Target", + "span": { + "begin": [ + 721, + 5 + ], + "end": [ + 721, + 21 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8387": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8387, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } + } + }, "links": {}, - "name": null, + "name": "deref", "span": { "begin": [ - 215, - 1 + 723, + 5 ], "end": [ - 215, - 55 + 725, + 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8446": { + "8388": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8446, + "id": 8388, "inner": { "impl": { "blanket_impl": null, @@ -717253,8 +731086,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -717273,17 +731106,6 @@ "path": "Sized" } } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } } ], "default": null, @@ -717298,12 +731120,15 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 8386, + 8387 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 1967, + "path": "Deref" } } }, @@ -717311,56 +731136,89 @@ "name": null, "span": { "begin": [ - 218, + 720, 1 ], "end": [ - 218, - 68 + 726, + 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8447": { + "8389": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8447, + "id": 8389, "inner": { - "assoc_type": { - "bounds": [], + "function": { "generics": { "params": [], "where_predicates": [] }, - "type": { - "generic": "T" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } } } }, "links": {}, - "name": "Target", + "name": "deref_mut", "span": { "begin": [ - 398, + 730, 5 ], "end": [ - 398, - 21 + 732, + 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8448": { - "attrs": [], + "839": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8448, + "id": 839, "inner": { "function": { "generics": { @@ -717380,53 +731238,70 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "(k, v)", + { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + ] + } ] ], "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "T" - } - } - } + "output": null } } }, "links": {}, - "name": "deref", + "name": "extend_one", "span": { "begin": [ - 400, + 2822, 5 ], "end": [ - 402, + 2824, 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8449": { + "8390": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8449, + "id": 8390, "inner": { "impl": { "blanket_impl": null, @@ -717447,8 +731322,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -717482,14 +731357,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8447, - 8448 + 8389 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1969, - "path": "Deref" + "id": 1987, + "path": "DerefMut" } } }, @@ -717497,23 +731371,85 @@ "name": null, "span": { "begin": [ - 397, + 729, 1 ], "end": [ - 403, + 733, 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "845": { - "attrs": [], + "8391": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 845, + "id": 8391, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } + }, + "links": {}, + "name": "drop", + "span": { + "begin": [ + 738, + 5 + ], + "end": [ + 743, + 6 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8392": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8392, "inner": { "impl": { "blanket_impl": null, @@ -717523,125 +731459,83 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } + "lifetime": "'_" }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 7944, + "path": "MutexGuard" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } }, - "name": "V" + "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 8391 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 9, + "path": "Drop" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 736, + 1 + ], + "end": [ + 744, + 2 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, "visibility": "default" }, - "8450": { + "8393": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8450, + "id": 8393, "inner": { "function": { "generics": { @@ -717687,7 +731581,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -717699,7 +731593,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -717710,27 +731604,27 @@ "name": "fmt", "span": { "begin": [ - 407, + 748, 5 ], "end": [ - 409, + 750, 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8451": { + "8394": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8451, + "id": 8394, "inner": { "impl": { "blanket_impl": null, @@ -717751,8 +731645,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -717764,22 +731658,22 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 346, - "path": "fmt::Debug" + "id": 3, + "path": "Sized" } } }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 344, + "path": "fmt::Debug" } } } @@ -717797,12 +731691,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8450 + 8393 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -717811,23 +731705,23 @@ "name": null, "span": { "begin": [ - 406, + 747, 1 ], "end": [ - 410, + 751, 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8452": { + "8395": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8452, + "id": 8395, "inner": { "function": { "generics": { @@ -717873,7 +731767,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -717885,7 +731779,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -717896,27 +731790,27 @@ "name": "fmt", "span": { "begin": [ - 414, + 755, 5 ], "end": [ - 416, + 757, 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8453": { + "8396": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"std_guard_impls\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8453, + "id": 8396, "inner": { "impl": { "blanket_impl": null, @@ -717937,8 +731831,8 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 7944, + "path": "MutexGuard" } }, "generics": { @@ -717950,22 +731844,22 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 436, - "path": "fmt::Display" + "id": 3, + "path": "Sized" } } }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 436, + "path": "fmt::Display" } } } @@ -717983,7 +731877,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8452 + 8395 ], "provided_trait_methods": [], "trait": { @@ -717997,18 +731891,54 @@ "name": null, "span": { "begin": [ - 413, + 754, 1 ], "end": [ - 417, + 758, 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8454": { + "84": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 84, + "inner": { + "use": { + "id": 85, + "is_glob": false, + "name": "line", + "source": "core::prelude::v1::line" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 51, + 58 + ], + "end": [ + 51, + 62 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "840": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -718017,7 +731947,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 8454, + "id": 840, "inner": { "function": { "generics": { @@ -718044,6 +731974,12 @@ } } } + ], + [ + "additional", + { + "primitive": "usize" + } ] ], "is_c_variadic": false, @@ -718052,30 +731988,395 @@ } }, "links": {}, - "name": "drop", + "name": "extend_reserve", "span": { "begin": [ - 422, + 2827, 5 ], "end": [ - 431, + 2829, 6 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "8455": { + "8402": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedMutexGuard::map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", + "id": 8402, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "orig", + { + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + } + } + } + }, + "links": { + "`MappedMutexGuard`": 8367 + }, + "name": "map", + "span": { + "begin": [ + 887, + 5 + ], + "end": [ + 905, + 6 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "public" + }, + "8403": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, + "docs": "Makes a [`MappedMutexGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `Mutex` is already locked, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedMutexGuard::filter_map(...)`. A method would interfere with methods of the\nsame name on the contents of the `MutexGuard` used through `Deref`.", + "id": 8403, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "orig", + { + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + } + }, + { + "type": { + "generic": "Self" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": { + "`MappedMutexGuard`": 8367 + }, + "name": "filter_map", + "span": { + "begin": [ + 917, + 5 + ], + "end": [ + 940, + 6 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "public" + }, + "8404": { + "attrs": [], + "crate_id": 0, + "deprecation": null, "docs": null, - "id": 8455, + "id": 8404, "inner": { "impl": { "blanket_impl": null, @@ -718085,7 +732386,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'_" + "lifetime": "'a" }, { "type": { @@ -718096,12 +732397,20 @@ "constraints": [] } }, - "id": 8407, - "path": "ReentrantLockGuard" + "id": 8367, + "path": "MappedMutexGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -718131,103 +732440,34 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8454 + 8402, + 8403 ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 9, - "path": "Drop" - } + "trait": null } }, "links": {}, "name": null, "span": { "begin": [ - 420, + 877, 1 ], "end": [ - 432, + 941, 2 ], - "filename": "std/src/sync/reentrant_lock.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8457": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 98407, is_soft: false}, feature: \"exclusive_wrapper\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8457, - "inner": { - "use": { - "id": 8458, - "is_glob": false, - "name": "Exclusive", - "source": "core::sync::Exclusive" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 175, - 1 - ], - "end": [ - 175, - 31 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8459": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8459, - "inner": { - "use": { - "id": 350, - "is_glob": false, - "name": "atomic", - "source": "core::sync::atomic" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 177, - 1 - ], - "end": [ - 177, - 28 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "846": { + "8405": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 846, + "id": 8405, "inner": { "impl": { "blanket_impl": null, @@ -718241,20 +732481,15 @@ }, { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8367, + "path": "MappedMutexGuard" } }, "generics": { @@ -718275,20 +732510,32 @@ "is_synthetic": false } }, - "name": "K" - }, + "name": "T" + } + ], + "where_predicates": [ { - "kind": { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "generic": "T" } - }, - "name": "V" + } } - ], - "where_predicates": [] + ] }, "is_negative": false, "is_synthetic": true, @@ -718297,7 +732544,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -718307,276 +732554,390 @@ "span": null, "visibility": "default" }, - "8460": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 112566, is_soft: false}, feature: \"unique_rc_arc\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8460, - "inner": { - "use": { - "id": 8461, - "is_glob": false, - "name": "UniqueArc", - "source": "alloc_crate::sync::UniqueArc" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 180, - 1 - ], - "end": [ - 180, - 38 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8462": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8462, - "inner": { - "use": { - "id": 606, - "is_glob": false, - "name": "Arc", - "source": "alloc_crate::sync::Arc" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 182, - 29 - ], - "end": [ - 182, - 32 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8463": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8463, - "inner": { - "use": { - "id": 8464, - "is_glob": false, - "name": "Weak", - "source": "alloc_crate::sync::Weak" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 182, - 34 - ], - "end": [ - 182, - 38 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8465": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8406": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8465, + "id": 8406, "inner": { - "use": { - "id": 8275, - "is_glob": false, - "name": "Barrier", - "source": "self::barrier::Barrier" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 188, - 25 - ], - "end": [ - 188, - 32 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" + "span": null, + "visibility": "default" }, - "8466": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8407": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8466, + "id": 8407, "inner": { - "use": { - "id": 8278, - "is_glob": false, - "name": "BarrierWaitResult", - "source": "self::barrier::BarrierWaitResult" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 188, - 34 - ], - "end": [ - 188, - 51 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" + "span": null, + "visibility": "default" }, - "8467": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" - } - ], + "8408": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8467, + "id": 8408, "inner": { - "use": { - "id": 737, - "is_glob": false, - "name": "LazyLock", - "source": "self::lazy_lock::LazyLock" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 190, - 1 - ], - "end": [ - 190, - 35 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" + "span": null, + "visibility": "default" }, - "8468": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" - } - ], + "8409": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8468, + "id": 8409, "inner": { - "use": { - "id": 7996, - "is_glob": false, - "name": "OnceLock", - "source": "self::once_lock::OnceLock" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } } }, "links": {}, "name": null, "span": { "begin": [ - 192, + 212, 1 ], "end": [ - 192, - 35 + 212, + 38 ], - "filename": "std/src/sync/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "8469": { + "841": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"hash_extend_copy\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8469, - "inner": { - "use": { - "id": 8402, - "is_glob": false, - "name": "ReentrantLock", - "source": "self::reentrant_lock::ReentrantLock" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 194, - 32 - ], - "end": [ - 194, - 45 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "847": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 847, + "id": 841, "inner": { "impl": { "blanket_impl": null, @@ -718585,9 +732946,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "K" @@ -718597,13 +732955,18 @@ "type": { "generic": "V" } + }, + { + "type": { + "generic": "S" + } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 738, + "path": "HashMap" } }, "generics": { @@ -718635,393 +732998,770 @@ } }, "name": "V" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "S" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 101, + "path": "Copy" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 101, + "path": "Copy" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 743, + "path": "BuildHasher" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "S" + } + } + } + ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], - "provided_trait_methods": [], + "items": [ + 838, + 839, + 840 + ], + "provided_trait_methods": [ + "extend_one", + "extend_reserve", + "extend_one_unchecked" + ], "trait": { - "args": null, - "id": 7, - "path": "Unpin" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + ] + } + } + ], + "constraints": [] + } + }, + "id": 45, + "path": "Extend" } } }, "links": {}, "name": null, - "span": null, - "visibility": "default" - }, - "8470": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8470, - "inner": { - "use": { - "id": 8407, - "is_glob": false, - "name": "ReentrantLockGuard", - "source": "self::reentrant_lock::ReentrantLockGuard" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 194, - 47 - ], - "end": [ - 194, - 65 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8471": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8471, - "inner": { - "use": { - "id": 7862, - "is_glob": false, - "name": "LockResult", - "source": "self::poison::LockResult" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 199, - 24 - ], - "end": [ - 199, - 34 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8472": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8472, - "inner": { - "use": { - "id": 7891, - "is_glob": false, - "name": "PoisonError", - "source": "self::poison::PoisonError" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 199, - 36 - ], - "end": [ - 199, - 47 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8473": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8473, - "inner": { - "use": { - "id": 495, - "is_glob": false, - "name": "Mutex", - "source": "self::poison::Mutex" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 211, - 5 - ], - "end": [ - 211, - 10 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8474": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8474, - "inner": { - "use": { - "id": 7861, - "is_glob": false, - "name": "MutexGuard", - "source": "self::poison::MutexGuard" - } - }, - "links": {}, - "name": null, "span": { "begin": [ - 211, - 12 + 2810, + 1 ], "end": [ - 211, - 22 + 2830, + 2 ], - "filename": "std/src/sync/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "8475": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8410": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8475, + "id": 8410, "inner": { - "use": { - "id": 8248, - "is_glob": false, - "name": "TryLockError", - "source": "self::poison::TryLockError" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } } }, "links": {}, "name": null, "span": { "begin": [ - 211, - 24 + 221, + 1 ], "end": [ - 211, - 36 + 221, + 41 ], - "filename": "std/src/sync/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "8476": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8411": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8476, + "id": 8411, "inner": { - "use": { - "id": 7900, - "is_glob": false, - "name": "TryLockResult", - "source": "self::poison::TryLockResult" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } } }, "links": {}, "name": null, "span": { "begin": [ - 211, - 38 + 767, + 1 ], "end": [ - 211, - 51 + 769, + 24 ], - "filename": "std/src/sync/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "8477": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8412": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8477, + "id": 8412, "inner": { - "use": { - "id": 494, - "is_glob": false, - "name": "Condvar", - "source": "self::poison::Condvar" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } } }, "links": {}, "name": null, "span": { "begin": [ - 212, - 5 + 785, + 1 ], "end": [ - 212, - 12 + 785, + 28 ], - "filename": "std/src/sync/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "8478": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8413": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8478, + "id": 8413, "inner": { - "use": { - "id": 7829, - "is_glob": false, - "name": "WaitTimeoutResult", - "source": "self::poison::WaitTimeoutResult" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } } }, "links": {}, "name": null, "span": { "begin": [ - 212, - 14 + 811, + 1 ], "end": [ - 212, - 31 + 813, + 27 ], - "filename": "std/src/sync/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "8479": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8414": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8479, + "id": 8414, "inner": { - "use": { - "id": 7998, - "is_glob": false, - "name": "Once", - "source": "self::poison::Once" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } } }, "links": {}, "name": null, "span": { "begin": [ - 213, - 5 + 827, + 1 ], "end": [ - 213, - 9 + 829, + 24 ], - "filename": "std/src/sync/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "848": { + "8415": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 848, + "id": 8415, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "P" + }, "for": { "resolved_path": { "args": { @@ -719032,32 +733772,19 @@ }, { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8367, + "path": "MappedMutexGuard" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -719066,7 +733793,7 @@ "is_synthetic": false } }, - "name": "K" + "name": "P" }, { "kind": { @@ -719076,7 +733803,7 @@ "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [ @@ -719087,17 +733814,45 @@ "trait_bound": { "generic_params": [], "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "generic": "T" + } + } + }, + "name": "Target" + } + ] + } + }, + "id": 1967, + "path": "Deref" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "K" + "generic": "P" } } }, @@ -719107,228 +733862,264 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "V" + "generic": "T" } } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 1965 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 1968, + "path": "Receiver" } } }, "links": {}, "name": null, - "span": null, - "visibility": "default" - }, - "8480": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8480, - "inner": { - "use": { - "id": 8001, - "is_glob": false, - "name": "OnceState", - "source": "self::poison::OnceState" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 213, - 11 - ], - "end": [ - 213, - 20 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8481": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8481, - "inner": { - "use": { - "id": 8044, - "is_glob": false, - "name": "RwLock", - "source": "self::poison::RwLock" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 214, - 5 - ], - "end": [ - 214, - 11 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8482": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8482, - "inner": { - "use": { - "id": 8051, - "is_glob": false, - "name": "RwLockReadGuard", - "source": "self::poison::RwLockReadGuard" - } - }, - "links": {}, - "name": null, "span": { "begin": [ - 214, - 13 + 378, + 1 ], "end": [ - 214, - 28 + 380, + 26 ], - "filename": "std/src/sync/mod.rs" + "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, - "visibility": "public" + "visibility": "default" }, - "8483": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8416": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8483, + "id": 8416, "inner": { - "use": { - "id": 8054, - "is_glob": false, - "name": "RwLockWriteGuard", - "source": "self::poison::RwLockWriteGuard" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } } }, "links": {}, "name": null, "span": { "begin": [ - 214, - 30 + 138, + 1 ], "end": [ - 214, - 46 + 138, + 36 ], - "filename": "std/src/sync/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "8484": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[expect(deprecated)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8417": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8484, + "id": 8417, "inner": { - "use": { - "id": 8039, - "is_glob": false, - "name": "ONCE_INIT", - "source": "self::poison::ONCE_INIT" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" + } } }, "links": {}, "name": null, "span": { "begin": [ - 219, + 2866, 1 ], "end": [ - 219, - 33 + 2866, + 46 ], - "filename": "std/src/sync/mod.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, - "visibility": "public" + "visibility": "default" }, - "8485": { + "8418": { "attrs": [ - { - "other": "#[doc(inline)]" - }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } @@ -719336,35 +734127,87 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 8485, + "id": 8418, "inner": { - "use": { - "id": 7930, - "is_glob": false, - "name": "MappedMutexGuard", - "source": "self::poison::MappedMutexGuard" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } }, "links": {}, "name": null, "span": { "begin": [ - 222, - 24 + 333, + 1 ], "end": [ - 222, - 40 + 333, + 53 ], - "filename": "std/src/sync/mod.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "public" + "visibility": "default" }, - "8486": { + "8419": { "attrs": [ - { - "other": "#[doc(inline)]" - }, { "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } @@ -719372,72 +734215,106 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 8486, + "id": 8419, "inner": { - "use": { - "id": 8084, - "is_glob": false, - "name": "MappedRwLockReadGuard", - "source": "self::poison::MappedRwLockReadGuard" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } } }, "links": {}, "name": null, "span": { "begin": [ - 222, - 42 + 335, + 1 ], "end": [ - 222, - 63 + 335, + 66 ], - "filename": "std/src/sync/mod.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "public" + "visibility": "default" }, - "8487": { + "842": { "attrs": [ { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"hashbrown\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8487, - "inner": { - "use": { - "id": 8114, - "is_glob": false, - "name": "MappedRwLockWriteGuard", - "source": "self::poison::MappedRwLockWriteGuard" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 222, - 65 - ], - "end": [ - 222, - 87 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "849": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 849, + "id": 842, "inner": { "impl": { "blanket_impl": null, @@ -719446,9 +734323,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "K" @@ -719458,24 +734332,31 @@ "type": { "generic": "V" } + }, + { + "type": { + "generic": "S" + } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 738, + "path": "collections::HashMap" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "K" }, { "kind": { @@ -719485,7 +734366,7 @@ "is_synthetic": false } }, - "name": "K" + "name": "V" }, { "kind": { @@ -719495,7 +734376,7 @@ "is_synthetic": false } }, - "name": "V" + "name": "S" } ], "where_predicates": [ @@ -719508,8 +734389,8 @@ "modifier": "none", "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } } @@ -719529,8 +734410,8 @@ "modifier": "none", "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } } @@ -719540,180 +734421,96 @@ "generic": "V" } } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "S" + } + } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } }, "links": {}, "name": null, - "span": null, - "visibility": "default" - }, - "8490": { - "attrs": [ - { - "other": "#[(rustfmt, rustfmt::skip)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Useful synchronization primitives.\n\n## The need for synchronization\n\nConceptually, a Rust program is a series of operations which will\nbe executed on a computer. The timeline of events happening in the\nprogram is consistent with the order of the operations in the code.\n\nConsider the following code, operating on some global static variables:\n\n```rust\n// FIXME(static_mut_refs): Do not allow `static_mut_refs` lint\n#![allow(static_mut_refs)]\n\nstatic mut A: u32 = 0;\nstatic mut B: u32 = 0;\nstatic mut C: u32 = 0;\n\nfn main() {\n unsafe {\n A = 3;\n B = 4;\n A = A + B;\n C = B;\n println!(\"{A} {B} {C}\");\n C = A;\n }\n}\n```\n\nIt appears as if some variables stored in memory are changed, an addition\nis performed, result is stored in `A` and the variable `C` is\nmodified twice.\n\nWhen only a single thread is involved, the results are as expected:\nthe line `7 4 4` gets printed.\n\nAs for what happens behind the scenes, when optimizations are enabled the\nfinal generated machine code might look very different from the code:\n\n- The first store to `C` might be moved before the store to `A` or `B`,\n _as if_ we had written `C = 4; A = 3; B = 4`.\n\n- Assignment of `A + B` to `A` might be removed, since the sum can be stored\n in a temporary location until it gets printed, with the global variable\n never getting updated.\n\n- The final result could be determined just by looking at the code\n at compile time, so [constant folding] might turn the whole\n block into a simple `println!(\"7 4 4\")`.\n\nThe compiler is allowed to perform any combination of these\noptimizations, as long as the final optimized code, when executed,\nproduces the same results as the one without optimizations.\n\nDue to the [concurrency] involved in modern computers, assumptions\nabout the program's execution order are often wrong. Access to\nglobal variables can lead to nondeterministic results, **even if**\ncompiler optimizations are disabled, and it is **still possible**\nto introduce synchronization bugs.\n\nNote that thanks to Rust's safety guarantees, accessing global (static)\nvariables requires `unsafe` code, assuming we don't use any of the\nsynchronization primitives in this module.\n\n[constant folding]: https://en.wikipedia.org/wiki/Constant_folding\n[concurrency]: https://en.wikipedia.org/wiki/Concurrency_(computer_science)\n\n## Out-of-order execution\n\nInstructions can execute in a different order from the one we define, due to\nvarious reasons:\n\n- The **compiler** reordering instructions: If the compiler can issue an\n instruction at an earlier point, it will try to do so. For example, it\n might hoist memory loads at the top of a code block, so that the CPU can\n start [prefetching] the values from memory.\n\n In single-threaded scenarios, this can cause issues when writing\n signal handlers or certain kinds of low-level code.\n Use [compiler fences] to prevent this reordering.\n\n- A **single processor** executing instructions [out-of-order]:\n Modern CPUs are capable of [superscalar] execution,\n i.e., multiple instructions might be executing at the same time,\n even though the machine code describes a sequential process.\n\n This kind of reordering is handled transparently by the CPU.\n\n- A **multiprocessor** system executing multiple hardware threads\n at the same time: In multi-threaded scenarios, you can use two\n kinds of primitives to deal with synchronization:\n - [memory fences] to ensure memory accesses are made visible to\n other CPUs in the right order.\n - [atomic operations] to ensure simultaneous access to the same\n memory location doesn't lead to undefined behavior.\n\n[prefetching]: https://en.wikipedia.org/wiki/Cache_prefetching\n[compiler fences]: crate::sync::atomic::compiler_fence\n[out-of-order]: https://en.wikipedia.org/wiki/Out-of-order_execution\n[superscalar]: https://en.wikipedia.org/wiki/Superscalar_processor\n[memory fences]: crate::sync::atomic::fence\n[atomic operations]: crate::sync::atomic\n\n## Higher-level synchronization objects\n\nMost of the low-level synchronization primitives are quite error-prone and\ninconvenient to use, which is why the standard library also exposes some\nhigher-level synchronization objects.\n\nThese abstractions can be built out of lower-level primitives.\nFor efficiency, the sync objects in the standard library are usually\nimplemented with help from the operating system's kernel, which is\nable to reschedule the threads while they are blocked on acquiring\na lock.\n\nThe following is an overview of the available synchronization\nobjects:\n\n- [`Arc`]: Atomically Reference-Counted pointer, which can be used\n in multithreaded environments to prolong the lifetime of some\n data until all the threads have finished using it.\n\n- [`Barrier`]: Ensures multiple threads will wait for each other\n to reach a point in the program, before continuing execution all\n together.\n\n- [`Condvar`]: Condition Variable, providing the ability to block\n a thread while waiting for an event to occur.\n\n- [`mpsc`]: Multi-producer, single-consumer queues, used for\n message-based communication. Can provide a lightweight\n inter-thread synchronisation mechanism, at the cost of some\n extra memory.\n\n- [`mpmc`]: Multi-producer, multi-consumer queues, used for\n message-based communication. Can provide a lightweight\n inter-thread synchronisation mechanism, at the cost of some\n extra memory.\n\n- [`Mutex`]: Mutual Exclusion mechanism, which ensures that at\n most one thread at a time is able to access some data.\n\n- [`Once`]: Used for a thread-safe, one-time global initialization routine.\n Mostly useful for implementing other types like `OnceLock`.\n\n- [`OnceLock`]: Used for thread-safe, one-time initialization of a\n variable, with potentially different initializers based on the caller.\n\n- [`LazyLock`]: Used for thread-safe, one-time initialization of a\n variable, using one nullary initializer function provided at creation.\n\n- [`RwLock`]: Provides a mutual exclusion mechanism which allows\n multiple readers at the same time, while allowing only one\n writer at a time. In some cases, this can be more efficient than\n a mutex.\n\n[`Arc`]: crate::sync::Arc\n[`Barrier`]: crate::sync::Barrier\n[`Condvar`]: crate::sync::Condvar\n[`mpmc`]: crate::sync::mpmc\n[`mpsc`]: crate::sync::mpsc\n[`Mutex`]: crate::sync::Mutex\n[`Once`]: crate::sync::Once\n[`OnceLock`]: crate::sync::OnceLock\n[`RwLock`]: crate::sync::RwLock", - "id": 8490, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 7249, - 493, - 7826, - 7825, - 8457, - 8459, - 8460, - 8462, - 8463, - 8465, - 8466, - 8467, - 8468, - 8469, - 8470, - 8471, - 8472, - 8473, - 8474, - 8475, - 8476, - 8477, - 8478, - 8479, - 8480, - 8481, - 8482, - 8483, - 8484, - 8485, - 8486, - 8487 - ] - } - }, - "links": { - "`LazyLock`": 737, - "crate::sync::Arc": 606, - "crate::sync::Barrier": 8275, - "crate::sync::Condvar": 494, - "crate::sync::Mutex": 495, - "crate::sync::Once": 7998, - "crate::sync::OnceLock": 7996, - "crate::sync::RwLock": 8044, - "crate::sync::atomic": 350, - "crate::sync::atomic::compiler_fence": 8488, - "crate::sync::atomic::fence": 8489, - "crate::sync::mpmc": 7249, - "crate::sync::mpsc": 493 - }, - "name": "sync", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 236, - 20 - ], - "filename": "std/src/sync/mod.rs" - }, - "visibility": "public" - }, - "8491": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 3, patch: 0})}, feature: \"time\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8491, - "inner": { - "use": { - "id": 500, - "is_glob": false, - "name": "Duration", - "source": "core::time::Duration" - } - }, - "links": {}, - "name": null, "span": { "begin": [ - 35, + 279, 1 ], "end": [ - 35, - 30 + 285, + 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/panic.rs" }, - "visibility": "public" + "visibility": "default" }, - "8492": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"duration_checked_float\"}}]" - } - ], + "8420": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8492, + "id": 8420, "inner": { - "use": { - "id": 8493, - "is_glob": false, - "name": "TryFromFloatSecsError", - "source": "core::time::TryFromFloatSecsError" + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } } }, "links": {}, - "name": null, + "name": "Target", "span": { "begin": [ - 37, - 1 + 838, + 5 ], "end": [ - 37, - 43 + 838, + 21 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "public" + "visibility": "default" }, - "8495": { + "8421": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "# Panics\n\nThis function may panic if the resulting point in time cannot be represented by the\nunderlying data structure. See [`Instant::checked_add`] for a version without panic.", - "id": 8495, + "docs": null, + "id": 8421, "inner": { "function": { "generics": { @@ -719732,63 +734529,141 @@ [ "self", { - "generic": "Self" - } - ], - [ - "other", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, - "links": { - "`Instant::checked_add`": 8502 - }, - "name": "add", + "links": {}, + "name": "deref", "span": { "begin": [ - 429, + 840, 5 ], "end": [ - 431, + 842, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8496": { + "8422": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the amount of time elapsed from another instant to this one,\nor zero duration if that instant is later than this one.\n\n# Panics\n\nPrevious Rust versions panicked when `earlier` was later than `self`. Currently this\nmethod saturates. Future versions may reintroduce the panic in some circumstances.\nSee [Monotonicity].\n\n[Monotonicity]: Instant#monotonicity\n\n# Examples\n\n```no_run\nuse std::time::{Duration, Instant};\nuse std::thread::sleep;\n\nlet now = Instant::now();\nsleep(Duration::new(1, 0));\nlet new_now = Instant::now();\nprintln!(\"{:?}\", new_now.duration_since(now));\nprintln!(\"{:?}\", now.duration_since(new_now)); // 0ns\n```", - "id": 8496, + "docs": null, + "id": 8422, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8420, + 8421 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1967, + "path": "Deref" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 837, + 1 + ], + "end": [ + 843, + 2 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8423": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8423, "inner": { "function": { "generics": { @@ -719808,68 +734683,143 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" } } } - ], - [ - "earlier", - { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, - "links": { - "Instant#monotonicity": 503 - }, - "name": "duration_since", + "links": {}, + "name": "deref_mut", "span": { "begin": [ - 317, + 847, 5 ], "end": [ - 319, + 849, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "public" + "visibility": "default" }, - "8497": { + "8424": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - { - "must_use": { - "reason": null + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8424, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8423 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1987, + "path": "DerefMut" } } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 846, + 1 + ], + "end": [ + 850, + 2 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8425": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the amount of time elapsed since this instant.\n\n# Panics\n\nPrevious Rust versions panicked when the current time was earlier than self. Currently this\nmethod returns a Duration of zero in that case. Future versions may reintroduce the panic.\nSee [Monotonicity].\n\n[Monotonicity]: Instant#monotonicity\n\n# Examples\n\n```no_run\nuse std::thread::sleep;\nuse std::time::{Duration, Instant};\n\nlet instant = Instant::now();\nlet three_secs = Duration::from_secs(3);\nsleep(three_secs);\nassert!(instant.elapsed() >= three_secs);\n```", - "id": 8497, + "docs": null, + "id": 8425, "inner": { "function": { "generics": { @@ -719889,7 +734839,7 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" @@ -719899,39 +734849,121 @@ ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } + "output": null } } }, - "links": { - "Instant#monotonicity": 503 - }, - "name": "elapsed", + "links": {}, + "name": "drop", "span": { "begin": [ - 391, + 855, 5 ], "end": [ - 393, + 860, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "public" + "visibility": "default" }, - "8498": { + "8426": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8426, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8425 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 9, + "path": "Drop" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 853, + 1 + ], + "end": [ + 861, + 2 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8427": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8498, + "id": 8427, "inner": { "function": { "generics": { @@ -719950,16 +734982,37 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "other", + "f", { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } } } ] @@ -719968,43 +735021,135 @@ "output": { "resolved_path": { "args": null, - "id": 503, - "path": "Instant" + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "sub", + "name": "fmt", "span": { "begin": [ - 445, + 865, 5 ], "end": [ - 447, + 867, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8499": { + "8428": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 39, patch: 0})}, feature: \"checked_duration_since\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the amount of time elapsed from another instant to this one,\nor None if that instant is later than this one.\n\nDue to [monotonicity bugs], even under correct logical ordering of the passed `Instant`s,\nthis method can return `None`.\n\n[monotonicity bugs]: Instant#monotonicity\n\n# Examples\n\n```no_run\nuse std::time::{Duration, Instant};\nuse std::thread::sleep;\n\nlet now = Instant::now();\nsleep(Duration::new(1, 0));\nlet new_now = Instant::now();\nprintln!(\"{:?}\", new_now.checked_duration_since(now));\nprintln!(\"{:?}\", now.checked_duration_since(new_now)); // None\n```", - "id": 8499, + "docs": null, + "id": 8428, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8367, + "path": "MappedMutexGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8427 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 864, + 1 + ], + "end": [ + 868, + 2 + ], + "filename": "std/src/sync/poison/mutex.rs" + }, + "visibility": "default" + }, + "8429": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8429, "inner": { "function": { "generics": { @@ -720033,12 +735178,27 @@ } ], [ - "earlier", + "f", { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } } } ] @@ -720046,81 +735206,61 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, - "links": { - "Instant#monotonicity": 503 - }, - "name": "checked_duration_since", + "links": {}, + "name": "fmt", "span": { "begin": [ - 343, + 872, 5 ], "end": [ - 345, + 874, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/mutex.rs" }, - "visibility": "public" + "visibility": "default" }, - "850": { - "attrs": [], + "8430": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 850, + "id": 8430, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } + "lifetime": "'_" }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8367, + "path": "MappedMutexGuard" } }, "generics": { @@ -720128,7 +735268,30 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "fmt::Display" + } + } + } + ], "default": null, "is_synthetic": false } @@ -720136,52 +735299,19 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 8429 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 436, + "path": "Display" } } }, @@ -720189,38 +735319,33 @@ "name": null, "span": { "begin": [ - 209, + 871, 1 ], "end": [ - 209, - 32 + 875, + 2 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sync/poison/mutex.rs" }, "visibility": "default" }, - "8500": { + "8435": { "attrs": [ { - "other": "#[(not(test), rustc_diagnostic_item = \"instant_now\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"instant_now\"]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 63, patch: 0})}, feature: \"const_locks\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns an instant corresponding to \"now\".\n\n# Examples\n\n```\nuse std::time::Instant;\n\nlet now = Instant::now();\n```", - "id": 8500, + "docs": "Creates a new instance of an `RwLock` which is unlocked.\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(5);\n```", + "id": 8435, "inner": { "function": { "generics": { @@ -720231,57 +735356,92 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "t", + { + "generic": "T" + } + ] + ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } } } } }, "links": {}, - "name": "now", + "name": "new", "span": { "begin": [ - 288, + 246, 5 ], "end": [ - 290, + 248, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "public" }, - "8501": { + "8436": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 39, patch: 0})}, feature: \"checked_duration_since\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the amount of time elapsed from another instant to this one,\nor zero duration if that instant is later than this one.\n\n# Examples\n\n```no_run\nuse std::time::{Duration, Instant};\nuse std::thread::sleep;\n\nlet now = Instant::now();\nsleep(Duration::new(1, 0));\nlet new_now = Instant::now();\nprintln!(\"{:?}\", new_now.saturating_duration_since(now));\nprintln!(\"{:?}\", now.saturating_duration_since(new_now)); // 0ns\n```", - "id": 8501, + "docs": "Returns the contained value by cloning it.\n\n# Errors\n\nThis function will return an error if the `RwLock` is poisoned. An\n`RwLock` is poisoned whenever a writer panics while holding an exclusive\nlock.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::RwLock;\n\nlet mut lock = RwLock::new(7);\n\nassert_eq!(lock.get_cloned().unwrap(), 7);\n```", + "id": 8436, "inner": { "function": { "generics": { "params": [], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "has_body": true, "header": { @@ -720303,54 +735463,75 @@ } } } - ], - [ - "earlier", - { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + }, + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + } + ], + "constraints": [] + } + }, + "id": 8330, + "path": "PoisonError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" } } } } }, "links": {}, - "name": "saturating_duration_since", + "name": "get_cloned", "span": { "begin": [ - 364, + 270, 5 ], "end": [ - 366, + 278, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "public" }, - "8502": { + "8437": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"time_checked_add\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `Some(t)` where `t` is the time `self + duration` if `t` can be represented as\n`Instant` (which means it's inside the bounds of the underlying data structure), `None`\notherwise.", - "id": 8502, + "docs": "Sets the contained value.\n\n# Errors\n\nThis function will return an error containing the provided `value` if\nthe `RwLock` is poisoned. An `RwLock` is poisoned whenever a writer\npanics while holding an exclusive lock.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::RwLock;\n\nlet mut lock = RwLock::new(7);\n\nassert_eq!(lock.get_cloned().unwrap(), 7);\nlock.set(11).unwrap();\nassert_eq!(lock.get_cloned().unwrap(), 11);\n```", + "id": 8437, "inner": { "function": { "generics": { @@ -720379,13 +735560,9 @@ } ], [ - "duration", + "value", { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "generic": "T" } ] ], @@ -720395,12 +735572,28 @@ "args": { "angle_bracketed": { "args": [ + { + "type": { + "tuple": [] + } + }, { "type": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8330, + "path": "PoisonError" } } } @@ -720408,38 +735601,38 @@ "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 57, + "path": "Result" } } } } }, "links": {}, - "name": "checked_add", + "name": "set", "span": { "begin": [ - 399, + 302, 5 ], "end": [ - 401, + 317, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "public" }, - "8503": { + "8438": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"time_checked_add\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 133407, is_soft: false}, feature: \"lock_value_accessors\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `Some(t)` where `t` is the time `self - duration` if `t` can be represented as\n`Instant` (which means it's inside the bounds of the underlying data structure), `None`\notherwise.", - "id": 8503, + "docs": "Replaces the contained value with `value`, and returns the old contained value.\n\n# Errors\n\nThis function will return an error containing the provided `value` if\nthe `RwLock` is poisoned. An `RwLock` is poisoned whenever a writer\npanics while holding an exclusive lock.\n\n# Examples\n\n```\n#![feature(lock_value_accessors)]\n\nuse std::sync::RwLock;\n\nlet mut lock = RwLock::new(7);\n\nassert_eq!(lock.replace(11).unwrap(), 7);\nassert_eq!(lock.get_cloned().unwrap(), 11);\n```", + "id": 8438, "inner": { "function": { "generics": { @@ -720468,13 +735661,9 @@ } ], [ - "duration", + "value", { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "generic": "T" } ] ], @@ -720486,70 +735675,85 @@ "args": [ { "type": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } + "generic": "T" } } ], "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 8300, + "path": "LockResult" } } } } }, "links": {}, - "name": "checked_sub", + "name": "replace", "span": { "begin": [ - 407, + 340, 5 ], "end": [ - 409, + 345, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "public" }, - "8504": { + "8439": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8504, + "id": 8439, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8500, - 8496, - 8499, - 8501, - 8497, - 8502, - 8503 + 8435, + 8436, + 8437, + 8438 ], "provided_trait_methods": [], "trait": null @@ -720559,213 +735763,26 @@ "name": null, "span": { "begin": [ - 275, + 233, 1 ], "end": [ - 419, + 346, 2 ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8505": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8505, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8506": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8506, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8507": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8507, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8508": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8508, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } + "filename": "std/src/sync/poison/rwlock.rs" }, - "links": {}, - "name": null, - "span": null, "visibility": "default" }, - "8509": { + "844": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8509, + "id": 844, "inner": { "impl": { "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "851": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 851, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, "for": { "resolved_path": { "args": { @@ -720794,6 +735811,14 @@ }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -720802,7 +735827,17 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" } ], "where_predicates": [ @@ -720812,82 +735847,43 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 5, + "path": "Sync" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "K" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } } + ], + "generic_params": [], + "type": { + "generic": "V" } - ], - "constraints": [] + } } - }, - "id": 326, - "path": "BorrowMut" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, - "visibility": "default" - }, - "8510": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8510, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, - "generics": { - "params": [], - "where_predicates": [] + ] }, "is_negative": false, "is_synthetic": true, @@ -720896,8 +735892,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 1, + "path": "Send" } } }, @@ -720906,125 +735902,160 @@ "span": null, "visibility": "default" }, - "8511": { - "attrs": [], + "8440": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8511, + "docs": "Locks this `RwLock` with shared read access, blocking the current thread\nuntil it can be acquired.\n\nThe calling thread will be blocked until there are no more writers which\nhold the lock. There may be other readers currently inside the lock when\nthis method returns. This method does not provide any guarantees with\nrespect to the ordering of whether contentious readers or writers will\nacquire the lock first.\n\nReturns an RAII guard which will release this thread's shared access\nonce it is dropped.\n\n# Errors\n\nThis function will return an error if the `RwLock` is poisoned. An\n`RwLock` is poisoned whenever a writer panics while holding an exclusive\nlock. The failure will occur immediately after the lock has been\nacquired. The acquired lock guard will be contained in the returned\nerror.\n\n# Panics\n\nThis function might panic when called if the lock is already held by the current thread.\n\n# Examples\n\n```\nuse std::sync::{Arc, RwLock};\nuse std::thread;\n\nlet lock = Arc::new(RwLock::new(1));\nlet c_lock = Arc::clone(&lock);\n\nlet n = lock.read().unwrap();\nassert_eq!(*n, 1);\n\nthread::spawn(move || {\n let r = c_lock.read();\n assert!(r.is_ok());\n}).join().unwrap();\n```", + "id": 8440, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "T" - } + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 8300, + "path": "LockResult" } - }, - "id": 323, - "path": "Borrow" + } } } }, "links": {}, - "name": null, + "name": "read", "span": { "begin": [ - 209, - 1 + 392, + 5 ], "end": [ - 209, - 32 + 397, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8512": { - "attrs": [], + "8441": { + "attrs": [ + { + "other": "#[must_not_suspend =\n\"holding a RwLockReadGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" + }, + { + "other": "#[clippy::has_significant_drop]" + }, + { + "other": "#[(not(test), rustc_diagnostic_item = \"RwLockReadGuard\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"RwLockReadGuard\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "if unused the RwLock will immediately unlock" + } + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8512, + "docs": "RAII structure used to release the shared read access of a lock when\ndropped.\n\nThis structure is created by the [`read`] and [`try_read`] methods on\n[`RwLock`].\n\n[`read`]: RwLock::read\n[`try_read`]: RwLock::try_read", + "id": 8441, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, + "struct": { "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "outlives": "'rwlock" + } + ], "default": null, "is_synthetic": false } @@ -721032,294 +736063,310 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 + "impls": [ + 8477, + 8478, + 8479, + 8480, + 8481, + 8482, + 8483, + 8484, + 8485, + 8486, + 8487, + 8488, + 8489, + 8490, + 8491, + 8492, + 8494, + 8497, + 8499, + 8501 ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, + "links": { + "RwLock::read": 8440, + "RwLock::try_read": 8442, + "`RwLock`": 8103 + }, + "name": "RwLockReadGuard", "span": { "begin": [ - 217, + 116, 1 ], "end": [ - 217, - 35 + 125, + 2 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8513": { - "attrs": [], + "8442": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8513, + "docs": "Attempts to acquire this `RwLock` with shared read access.\n\nIf the access could not be granted at this time, then `Err` is returned.\nOtherwise, an RAII guard is returned which will release the shared access\nwhen it is dropped.\n\nThis function does not block.\n\nThis function does not provide any guarantees with respect to the ordering\nof whether contentious readers or writers will acquire the lock first.\n\n# Errors\n\nThis function will return the [`Poisoned`] error if the `RwLock` is\npoisoned. An `RwLock` is poisoned whenever a writer panics while holding\nan exclusive lock. `Poisoned` will only be returned if the lock would\nhave otherwise been acquired. An acquired lock guard will be contained\nin the returned error.\n\nThis function will return the [`WouldBlock`] error if the `RwLock` could\nnot be acquired because it was already locked exclusively.\n\n[`Poisoned`]: TryLockError::Poisoned\n[`WouldBlock`]: TryLockError::WouldBlock\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(1);\n\nmatch lock.try_read() {\n Ok(n) => assert_eq!(*n, 1),\n Err(_) => unreachable!(),\n};\n```", + "id": 8442, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "T" - } + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "T" + ], + "constraints": [] } - } + }, + "id": 8338, + "path": "TryLockResult" } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 422 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" + } } } }, - "links": {}, - "name": null, + "links": { + "TryLockError::Poisoned": 8336, + "TryLockError::WouldBlock": 8337 + }, + "name": "try_read", "span": { "begin": [ - 516, - 1 + 438, + 5 ], "end": [ - 516, - 42 + 446, + 6 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8514": { - "attrs": [], + "8443": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8514, + "docs": "Locks this `RwLock` with exclusive write access, blocking the current\nthread until it can be acquired.\n\nThis function will not return while other writers or other readers\ncurrently have access to the lock.\n\nReturns an RAII guard which will drop the write access of this `RwLock`\nwhen dropped.\n\n# Errors\n\nThis function will return an error if the `RwLock` is poisoned. An\n`RwLock` is poisoned whenever a writer panics while holding an exclusive\nlock. An error will be returned when the lock is acquired. The acquired\nlock guard will be contained in the returned error.\n\n# Panics\n\nThis function might panic when called if the lock is already held by the current thread.\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(1);\n\nlet mut n = lock.write().unwrap();\n*n = 2;\n\nassert!(lock.try_read().is_err());\n```", + "id": 8443, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "U" - } + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 8300, + "path": "LockResult" } - }, - "id": 39, - "path": "Into" + } } } }, "links": {}, - "name": null, + "name": "write", "span": { "begin": [ - 773, - 1 + 482, + 5 ], "end": [ - 775, - 24 + 487, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8515": { - "attrs": [], + "8444": { + "attrs": [ + { + "other": "#[must_not_suspend =\n\"holding a RwLockWriteGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Future's to not implement `Send`\"]" + }, + { + "other": "#[clippy::has_significant_drop]" + }, + { + "other": "#[(not(test), rustc_diagnostic_item = \"RwLockWriteGuard\")]" + }, + { + "other": "#[rustc_diagnostic_item = \"RwLockWriteGuard\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "if unused the RwLock will immediately unlock" + } + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8515, + "docs": "RAII structure used to release the exclusive write access of a lock when\ndropped.\n\nThis structure is created by the [`write`] and [`try_write`] methods\non [`RwLock`].\n\n[`write`]: RwLock::write\n[`try_write`]: RwLock::try_write", + "id": 8444, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, + "struct": { "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "outlives": "'rwlock" + } + ], "default": null, "is_synthetic": false } @@ -721329,322 +736376,301 @@ ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 + "impls": [ + 8508, + 8509, + 8510, + 8511, + 8512, + 8513, + 8514, + 8515, + 8516, + 8517, + 8518, + 8519, + 8520, + 8521, + 8522, + 8523, + 8525, + 8528, + 8530, + 8532, + 8534 ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } } } }, - "links": {}, - "name": null, + "links": { + "RwLock::try_write": 8445, + "RwLock::write": 8443, + "`RwLock`": 8103 + }, + "name": "RwLockWriteGuard", "span": { "begin": [ - 791, + 148, 1 ], "end": [ - 791, - 28 + 153, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8516": { - "attrs": [], + "8445": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8516, + "docs": "Attempts to lock this `RwLock` with exclusive write access.\n\nIf the lock could not be acquired at this time, then `Err` is returned.\nOtherwise, an RAII guard is returned which will release the lock when\nit is dropped.\n\nThis function does not block.\n\nThis function does not provide any guarantees with respect to the ordering\nof whether contentious readers or writers will acquire the lock first.\n\n# Errors\n\nThis function will return the [`Poisoned`] error if the `RwLock` is\npoisoned. An `RwLock` is poisoned whenever a writer panics while holding\nan exclusive lock. `Poisoned` will only be returned if the lock would\nhave otherwise been acquired. An acquired lock guard will be contained\nin the returned error.\n\nThis function will return the [`WouldBlock`] error if the `RwLock` could\nnot be acquired because it was already locked.\n\n[`Poisoned`]: TryLockError::Poisoned\n[`WouldBlock`]: TryLockError::WouldBlock\n\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(1);\n\nlet n = lock.read().unwrap();\nassert_eq!(*n, 1);\n\nassert!(lock.try_write().is_err());\n```", + "id": 8445, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "U" - } + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "U" + ], + "constraints": [] } - } + }, + "id": 8338, + "path": "TryLockResult" } - ] + } + } + } + }, + "links": { + "TryLockError::Poisoned": 8336, + "TryLockError::WouldBlock": 8337 + }, + "name": "try_write", + "span": { + "begin": [ + 529, + 5 + ], + "end": [ + 537, + 6 + ], + "filename": "std/src/sync/poison/rwlock.rs" + }, + "visibility": "public" + }, + "8446": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Determines whether the lock is poisoned.\n\nIf another thread is active, the lock can still become poisoned at any\ntime. You should not trust a `false` value for program correctness\nwithout additional synchronization.\n\n# Examples\n\n```\nuse std::sync::{Arc, RwLock};\nuse std::thread;\n\nlet lock = Arc::new(RwLock::new(0));\nlet c_lock = Arc::clone(&lock);\n\nlet _ = thread::spawn(move || {\n let _lock = c_lock.write().unwrap();\n panic!(); // the lock gets poisoned\n}).join();\nassert_eq!(lock.is_poisoned(), true);\n```", + "id": 8446, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "U" + "generic": "Self" } } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } } } }, "links": {}, - "name": null, + "name": "is_poisoned", "span": { "begin": [ - 817, - 1 + 562, + 5 ], "end": [ - 819, - 27 + 564, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8517": { - "attrs": [], + "8447": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 77, patch: 0})}, feature: \"mutex_unpoison\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8517, + "docs": "Clear the poisoned state from a lock.\n\nIf the lock is poisoned, it will remain poisoned until this function is called. This allows\nrecovering from a poisoned state and marking that it has recovered. For example, if the\nvalue is overwritten by a known-good value, then the lock can be marked as un-poisoned. Or\npossibly, the value could be inspected to determine if it is in a consistent state, and if\nso the poison is removed.\n\n# Examples\n\n```\nuse std::sync::{Arc, RwLock};\nuse std::thread;\n\nlet lock = Arc::new(RwLock::new(0));\nlet c_lock = Arc::clone(&lock);\n\nlet _ = thread::spawn(move || {\n let _lock = c_lock.write().unwrap();\n panic!(); // the lock gets poisoned\n}).join();\n\nassert_eq!(lock.is_poisoned(), true);\nlet guard = lock.write().unwrap_or_else(|mut e| {\n **e.get_mut() = 1;\n lock.clear_poison();\n e.into_inner()\n});\nassert_eq!(lock.is_poisoned(), false);\nassert_eq!(*guard, 1);\n```", + "id": 8447, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "params": [], + "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "U" + "generic": "Self" } } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + } + ] + ], + "is_c_variadic": false, + "output": null } } }, "links": {}, - "name": null, + "name": "clear_poison", "span": { "begin": [ - 833, - 1 + 599, + 5 ], "end": [ - 835, - 24 + 601, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8518": { - "attrs": [], + "8448": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"rwlock_into_inner\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8518, + "docs": "Consumes this `RwLock`, returning the underlying data.\n\n# Errors\n\nThis function will return an error containing the underlying data if\nthe `RwLock` is poisoned. An `RwLock` is poisoned whenever a writer\npanics while holding an exclusive lock. An error will only be returned\nif the lock would have otherwise been acquired.\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet lock = RwLock::new(String::new());\n{\n let mut s = lock.write().unwrap();\n *s = \"modified\".to_owned();\n}\nassert_eq!(lock.into_inner().unwrap(), \"modified\");\n```", + "id": 8448, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [ { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, "id": 3, @@ -721661,134 +736687,153 @@ } ] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8300, + "path": "LockResult" + } + } } } }, "links": {}, - "name": null, + "name": "into_inner", "span": { "begin": [ - 138, - 1 + 625, + 5 ], "end": [ - 138, - 36 + 631, + 6 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8519": { - "attrs": [], + "8449": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 6, patch: 0})}, feature: \"rwlock_get_mut\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8519, + "docs": "Returns a mutable reference to the underlying data.\n\nSince this call borrows the `RwLock` mutably, no actual locking needs to\ntake place -- the mutable borrow statically guarantees no new locks can be acquired\nwhile this reference exists. Note that this method does not clear any previously abandoned\nlocks (e.g., via [`forget()`] on a [`RwLockReadGuard`] or [`RwLockWriteGuard`]).\n\n# Errors\n\nThis function will return an error containing a mutable reference to\nthe underlying data if the `RwLock` is poisoned. An `RwLock` is\npoisoned whenever a writer panics while holding an exclusive lock.\nAn error will only be returned if the lock would have otherwise been\nacquired.\n\n# Examples\n\n```\nuse std::sync::RwLock;\n\nlet mut lock = RwLock::new(0);\n*lock.get_mut().unwrap() = 10;\nassert_eq!(*lock.read().unwrap(), 10);\n```", + "id": 8449, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } } - }, - "name": "T" - } + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } } } - } - ], - "generic_params": [], - "type": { - "generic": "T" + ], + "constraints": [] } - } + }, + "id": 8300, + "path": "LockResult" } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" + } } } }, - "links": {}, - "name": null, + "links": { + "`RwLockReadGuard`": 8441, + "`RwLockWriteGuard`": 8444, + "`forget()`": 8117 + }, + "name": "get_mut", "span": { "begin": [ - 82, - 1 + 658, + 5 ], "end": [ - 84, - 14 + 661, + 6 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "852": { + "845": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 852, + "id": 845, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -721817,6 +736862,14 @@ }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -721825,7 +736878,17 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" } ], "where_predicates": [ @@ -721838,111 +736901,68 @@ "modifier": "none", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 5, + "path": "Sync" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" } } } ] }, "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 422 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 516, - 1 - ], - "end": [ - 516, - 42 - ], - "filename": "checkouts/rust/library/core/src/clone.rs" - }, - "visibility": "default" - }, - "8520": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8520, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 103, - "path": "Copy" + "id": 5, + "path": "Sync" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 155, - 10 - ], - "end": [ - 155, - 14 - ], - "filename": "std/src/time.rs" - }, + "span": null, "visibility": "default" }, - "8521": { + "8450": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 140368, is_soft: false}, feature: \"rwlock_data_ptr\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8521, + "docs": "Returns a raw pointer to the underlying data.\n\nThe returned pointer is always non-null and properly aligned, but it is\nthe user's responsibility to ensure that any reads and writes through it\nare properly synchronized to avoid data races, and that it is not read\nor written through after the lock is dropped.", + "id": 8450, "inner": { "function": { "generics": { @@ -721953,7 +736973,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -721973,464 +736993,357 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "raw_pointer": { + "is_mutable": true, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "clone", - "span": { - "begin": [ - 155, - 16 - ], - "end": [ - 155, - 21 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8522": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8522, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8521 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, + "name": "data_ptr", "span": { "begin": [ - 155, - 16 + 670, + 5 ], "end": [ - 155, - 21 + 672, + 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8523": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], + "8451": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8523, + "id": 8451, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 442, - "path": "StructuralPartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 155, - 23 - ], - "end": [ - 155, - 32 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8524": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8524, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" } } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq", - "span": { - "begin": [ - 155, - 23 - ], - "end": [ - 155, - 32 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8525": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8525, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + }, + "id": 8103, + "path": "RwLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8524 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" - } + 8440, + 8442, + 8443, + 8445, + 8446, + 8447, + 8448, + 8449, + 8450 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, "name": null, "span": { "begin": [ - 155, - 23 + 348, + 1 ], "end": [ - 155, - 32 + 673, + 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8526": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], + "8452": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8526, + "id": 8452, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, + "is_negative": true, + "is_synthetic": true, "is_unsafe": false, "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 113, - "path": "Eq" + "id": 313, + "path": "Freeze" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 155, - 34 - ], - "end": [ - 155, - 36 - ], - "filename": "std/src/time.rs" - }, + "span": null, "visibility": "default" }, - "8527": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8453": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8527, + "id": 8453, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" } } - } + ], + "constraints": [] } - ] + }, + "id": 8103, + "path": "RwLock" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "$crate::cmp::Ordering" - } + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" } } - ], - "constraints": [] + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "id": 51, - "path": "$crate::option::Option" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" } } }, "links": {}, - "name": "partial_cmp", - "span": { - "begin": [ - 155, - 38 - ], - "end": [ - 155, - 48 - ], - "filename": "std/src/time.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "8528": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], + "8454": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8528, + "id": 8454, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8527 - ], - "provided_trait_methods": [ - "lt", - "le", - "gt", - "ge", - "__chaining_lt", - "__chaining_le", - "__chaining_gt", - "__chaining_ge" + 319 ], + "provided_trait_methods": [], "trait": { - "args": null, - "id": 127, - "path": "PartialOrd" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, @@ -722438,103 +737351,129 @@ "name": null, "span": { "begin": [ - 155, - 38 + 212, + 1 ], "end": [ - 155, - 48 + 212, + 38 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8529": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8455": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8529, + "id": 8455, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } + "generic": "T" } } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "$crate::cmp::Ordering" + ], + "constraints": [] } - } + }, + "id": 324, + "path": "BorrowMut" } } }, "links": {}, - "name": "cmp", + "name": null, "span": { "begin": [ - 155, - 50 + 221, + 1 ], "end": [ - 155, - 53 + 221, + 41 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "853": { + "8456": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 853, + "id": 8456, "inner": { "impl": { "blanket_impl": { @@ -722545,25 +737484,17 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8103, + "path": "RwLock" } }, "generics": { @@ -722628,7 +737559,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -722653,206 +737584,167 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8530": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], + "8457": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8530, + "id": 8457, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8529 - ], - "provided_trait_methods": [ - "max", - "min", - "clamp" - ], - "trait": { - "args": null, - "id": 119, - "path": "Ord" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 155, - 50 - ], - "end": [ - 155, - 53 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8531": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8531, - "inner": { - "function": { "generics": { "params": [ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 537, - "path": "$crate::hash::Hasher" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "__H" + "name": "T" } ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "state", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "__H" + "generic": "T" } } - } - ] - ], - "is_c_variadic": false, - "output": null + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "hash", + "name": null, "span": { "begin": [ - 155, - 55 + 785, + 1 ], "end": [ - 155, - 59 + 785, + 28 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8532": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], + "8458": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8532, + "id": 8458, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8531 - ], - "provided_trait_methods": [ - "hash_slice" + 1896 ], + "provided_trait_methods": [], "trait": { - "args": null, - "id": 539, - "path": "Hash" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "never" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, @@ -722860,84 +737752,110 @@ "name": null, "span": { "begin": [ - 155, - 55 + 802, + 1 ], "end": [ - 155, - 59 + 802, + 28 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8533": { + "8459": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8533, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - } - } - }, - "links": {}, - "name": "Output", - "span": { - "begin": [ - 423, - 5 - ], - "end": [ - 423, - 27 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8534": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8534, + "id": 8459, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8533, - 8495 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -722946,19 +737864,15 @@ "args": [ { "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "generic": "U" } } ], "constraints": [] } }, - "id": 8535, - "path": "Add" + "id": 198, + "path": "TryInto" } } }, @@ -722966,110 +737880,195 @@ "name": null, "span": { "begin": [ - 422, + 811, 1 ], "end": [ - 432, - 2 + 813, + 27 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8536": { + "846": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8536, + "id": 846, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } } - } + ], + "constraints": [] } - ], - [ - "other", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" + }, + "id": 756, + "path": "Iter" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] } - } - ] + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } ], - "is_c_variadic": false, - "output": null + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" } } }, "links": {}, - "name": "add_assign", - "span": { - "begin": [ - 436, - 5 - ], - "end": [ - 438, - 6 - ], - "filename": "std/src/time.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "8537": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"time_augmented_assignment\"}}]" - } - ], + "8460": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8537, + "id": 8460, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8536 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -723078,19 +738077,15 @@ "args": [ { "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "generic": "U" } } ], "constraints": [] } }, - "id": 8538, - "path": "AddAssign" + "id": 197, + "path": "TryFrom" } } }, @@ -723098,60 +738093,23 @@ "name": null, "span": { "begin": [ - 435, + 827, 1 ], "end": [ - 439, - 2 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8539": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8539, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" - } - } - } - }, - "links": {}, - "name": "Output", - "span": { - "begin": [ - 443, - 5 - ], - "end": [ - 443, - 27 + 829, + 24 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "854": { + "8461": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 854, + "id": 8461, "inner": { "impl": { "blanket_impl": { @@ -723162,25 +738120,17 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8103, + "path": "RwLock" } }, "generics": { @@ -723196,30 +738146,44 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 336 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 339, + "path": "Any" } } }, @@ -723227,68 +738191,84 @@ "name": null, "span": { "begin": [ - 791, + 138, 1 ], "end": [ - 791, - 28 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "8540": { + "8462": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"catch_unwind\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8540, + "id": 8462, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "crate::sync::RwLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 8539, - 8498 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } - } - ], - "constraints": [] - } - }, - "id": 1327, - "path": "Sub" + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, @@ -723296,131 +738276,180 @@ "name": null, "span": { "begin": [ - 442, + 266, 1 ], "end": [ - 448, - 2 + 266, + 44 ], - "filename": "std/src/time.rs" + "filename": "std/src/panic.rs" }, "visibility": "default" }, - "8541": { - "attrs": [], + "8463": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 12, patch: 0})}, feature: \"unwind_safe_lock_refs\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8541, + "id": 8463, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ], - [ - "other", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" + }, + "id": 8103, + "path": "crate::sync::RwLock" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false } - } - ] + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": null + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, - "name": "sub_assign", + "name": null, "span": { "begin": [ - 452, - 5 + 273, + 1 ], "end": [ - 454, - 6 + 273, + 47 ], - "filename": "std/src/time.rs" + "filename": "std/src/panic.rs" }, "visibility": "default" }, - "8542": { + "8464": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"time_augmented_assignment\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8542, + "id": 8464, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 8541 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } - } - ], - "constraints": [] - } - }, - "id": 8543, - "path": "SubAssign" + "args": null, + "id": 1, + "path": "Send" } } }, @@ -723428,60 +738457,130 @@ "name": null, "span": { "begin": [ - 451, + 92, 1 ], "end": [ - 455, - 2 + 92, + 52 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8544": { - "attrs": [], + "8465": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8544, + "id": 8465, "inner": { - "assoc_type": { - "bounds": [], + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, "links": {}, - "name": "Output", + "name": null, "span": { "begin": [ - 459, - 5 + 95, + 1 ], "end": [ - 459, - 28 + 95, + 59 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8545": { + "8466": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns the amount of time elapsed from another instant to this one,\nor zero duration if that instant is later than this one.\n\n# Panics\n\nPrevious Rust versions panicked when `other` was later than `self`. Currently this\nmethod saturates. Future versions may reintroduce the panic in some circumstances.\nSee [Monotonicity].\n\n[Monotonicity]: Instant#monotonicity", - "id": 8545, + "docs": null, + "id": 8466, "inner": { "function": { "generics": { @@ -723500,16 +738599,37 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "other", + "f", { - "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } } } ] @@ -723518,66 +738638,108 @@ "output": { "resolved_path": { "args": null, - "id": 500, - "path": "Duration" + "id": 342, + "path": "fmt::Result" } } } } }, - "links": { - "Instant#monotonicity": 503 - }, - "name": "sub", + "links": {}, + "name": "fmt", "span": { "begin": [ - 471, + 677, 5 ], "end": [ - 473, + 692, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8546": { + "8467": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8546, + "id": 8467, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8544, - 8545 + 8466 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 1327, - "path": "Sub" + "id": 344, + "path": "Debug" } } }, @@ -723585,23 +738747,23 @@ "name": null, "span": { "begin": [ - 458, + 676, 1 ], "end": [ - 474, + 693, 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8547": { + "8468": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8547, + "docs": "Creates a new `RwLock`, with the `Default` value for T.", + "id": 8468, "inner": { "function": { "generics": { @@ -723616,106 +738778,113 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } } } } }, "links": {}, - "name": "fmt", + "name": "default", "span": { "begin": [ - 478, + 698, 5 ], "end": [ - 480, + 700, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8548": { + "8469": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 10, patch: 0})}, feature: \"rw_lock_default\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8548, + "id": 8469, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 503, - "path": "Instant" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 107, + "path": "Default" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8547 + 8468 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 107, + "path": "Default" } } }, @@ -723723,28 +738892,26 @@ "name": null, "span": { "begin": [ - 477, + 696, 1 ], "end": [ - 481, + 701, 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "855": { + "847": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 855, + "id": 847, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -723773,6 +738940,14 @@ }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -723781,7 +738956,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" }, { "kind": { @@ -723791,257 +738966,34 @@ "is_synthetic": false } }, - "name": "U" + "name": "V" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 331, - 332 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + "args": null, + "id": 7, + "path": "Unpin" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 817, - 1 - ], - "end": [ - 819, - 27 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, + "span": null, "visibility": "default" }, - "8550": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"assoc_unix_epoch\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An anchor in time which can be used to create new `SystemTime` instances or\nlearn about where in time a `SystemTime` lies.\n\nThis constant is defined to be \"1970-01-01 00:00:00 UTC\" on all systems with\nrespect to the system clock. Using `duration_since` on an existing\n`SystemTime` instance can tell how far away from this point in time a\nmeasurement lies, and using `UNIX_EPOCH + duration` can be used to create a\n`SystemTime` instance to represent another fixed point in time.\n\n`duration_since(UNIX_EPOCH).unwrap().as_secs()` returns\nthe number of non-leap seconds since the start of 1970 UTC.\nThis is a POSIX `time_t` (as a `u64`),\nand is the same time representation as used in many Internet protocols.\n\n# Examples\n\n```no_run\nuse std::time::SystemTime;\n\nmatch SystemTime::now().duration_since(SystemTime::UNIX_EPOCH) {\n Ok(n) => println!(\"1970-01-01 00:00:00 UTC was {} seconds ago!\", n.as_secs()),\n Err(_) => panic!(\"SystemTime before UNIX EPOCH!\"),\n}\n```", - "id": 8550, - "inner": { - "assoc_const": { - "type": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "value": "UNIX_EPOCH" - } - }, - "links": {}, - "name": "UNIX_EPOCH", - "span": { - "begin": [ - 512, - 5 - ], - "end": [ - 512, - 51 - ], - "filename": "std/src/time.rs" - }, - "visibility": "public" - }, - "8551": { + "8470": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "# Panics\n\nThis function may panic if the resulting point in time cannot be represented by the\nunderlying data structure. See [`SystemTime::checked_add`] for a version without panic.", - "id": 8551, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "dur", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - } - } - } - }, - "links": { - "`SystemTime::checked_add`": 8556 - }, - "name": "add", - "span": { - "begin": [ - 621, - 5 - ], - "end": [ - 623, - 6 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8552": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the system time corresponding to \"now\".\n\n# Examples\n\n```\nuse std::time::SystemTime;\n\nlet sys_time = SystemTime::now();\n```", - "id": 8552, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - } - } - } - }, - "links": {}, - "name": "now", - "span": { - "begin": [ - 525, - 5 - ], - "end": [ - 527, - 6 - ], - "filename": "std/src/time.rs" - }, - "visibility": "public" - }, - "8553": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 144517, is_soft: false}, feature: \"const_system_time\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the amount of time elapsed from an earlier point in time.\n\nThis function may fail because measurements taken earlier are not\nguaranteed to always be before later measurements (due to anomalies such\nas the system clock being adjusted either forwards or backwards).\n[`Instant`] can be used to measure elapsed time without this risk of failure.\n\nIf successful, [Ok]\\([Duration]) is returned where the duration represents\nthe amount of time elapsed from the specified measurement to this one.\n\nReturns an [`Err`] if `earlier` is later than `self`, and the error\ncontains how far from `self` the time is.\n\n# Examples\n\n```no_run\nuse std::time::SystemTime;\n\nlet sys_time = SystemTime::now();\nlet new_sys_time = SystemTime::now();\nlet difference = new_sys_time.duration_since(sys_time)\n .expect(\"Clock may have gone backwards\");\nprintln!(\"{difference:?}\");\n```", - "id": 8553, + "docs": "Creates a new instance of an `RwLock` which is unlocked.\nThis is equivalent to [`RwLock::new`].", + "id": 8470, "inner": { "function": { "generics": { @@ -724051,292 +739003,361 @@ "has_body": true, "header": { "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ [ - "earlier", + "t", { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } + "generic": "T" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "generic": "Self" } } } }, "links": { - "Duration": 500, - "Ok": 61, - "`Err`": 59, - "`Instant`": 503 + "`RwLock::new`": 8435 }, - "name": "duration_since", + "name": "from", "span": { "begin": [ - 555, + 707, 5 ], "end": [ - 561, + 709, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8554": { + "8471": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"rw_lock_from\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "An error returned from the `duration_since` and `elapsed` methods on\n`SystemTime`, used to learn how far in the opposite direction a system time\nlies.\n\n# Examples\n\n```no_run\nuse std::thread::sleep;\nuse std::time::{Duration, SystemTime};\n\nlet sys_time = SystemTime::now();\nsleep(Duration::from_secs(1));\nlet new_sys_time = SystemTime::now();\nmatch sys_time.duration_since(new_sys_time) {\n Ok(_) => {}\n Err(e) => println!(\"SystemTimeError difference: {:?}\", e.duration()),\n}\n```", - "id": 8554, + "docs": null, + "id": 8471, "inner": { - "struct": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8103, + "path": "RwLock" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "impls": [ - 8600, - 8601, - 8602, - 8603, - 8604, - 8605, - 8606, - 8607, - 8608, - 8609, - 8610, - 8611, - 8612, - 8613, - 8614, - 8615, - 8616, - 8618, - 8620, - 8622, - 8624 + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8470 ], - "kind": { - "tuple": [ - null - ] + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "SystemTimeError", + "name": null, "span": { "begin": [ - 273, + 704, 1 ], "end": [ - 273, - 38 + 710, + 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8555": { + "8474": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[must_not_suspend =\n\"holding a MappedRwLockReadGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Futures to not implement `Send`\"]" + }, + { + "other": "#[clippy::has_significant_drop]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + }, + { + "must_use": { + "reason": "if unused the RwLock will immediately unlock" + } } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the difference from this system time to the\ncurrent clock time.\n\nThis function may fail as the underlying system clock is susceptible to\ndrift and updates (e.g., the system clock could go backwards), so this\nfunction might not always succeed. If successful, [Ok]\\([Duration]) is\nreturned where the duration represents the amount of time elapsed from\nthis time measurement to the current time.\n\nTo measure elapsed time reliably, use [`Instant`] instead.\n\nReturns an [`Err`] if `self` is later than the current system time, and\nthe error contains how far from the current system time `self` is.\n\n# Examples\n\n```no_run\nuse std::thread::sleep;\nuse std::time::{Duration, SystemTime};\n\nlet sys_time = SystemTime::now();\nlet one_sec = Duration::from_secs(1);\nsleep(one_sec);\nassert!(sys_time.elapsed().unwrap() >= one_sec);\n```", - "id": 8555, + "docs": "RAII structure used to release the shared read access of a lock when\ndropped, which can point to a subfield of the protected data.\n\nThis structure is created by the [`map`] and [`filter_map`] methods\non [`RwLockReadGuard`].\n\n[`map`]: RwLockReadGuard::map\n[`filter_map`]: RwLockReadGuard::filter_map", + "id": 8474, "inner": { - "function": { + "struct": { "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [ { - "type": { - "resolved_path": { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { "args": null, - "id": 500, - "path": "Duration" + "id": 3, + "path": "Sized" } } }, { - "type": { - "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" - } - } + "outlives": "'rwlock" } ], - "constraints": [] + "default": null, + "is_synthetic": false } }, - "id": 57, - "path": "Result" + "name": "T" } + ], + "where_predicates": [] + }, + "impls": [ + 8539, + 8540, + 8541, + 8542, + 8543, + 8544, + 8545, + 8546, + 8547, + 8548, + 8549, + 8550, + 8551, + 8552, + 8553, + 8554, + 8556, + 8559, + 8561, + 8563 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true } } } }, "links": { - "Duration": 500, - "Ok": 61, - "`Err`": 59, - "`Instant`": 503 + "RwLockReadGuard::filter_map": 8476, + "RwLockReadGuard::map": 8475, + "`RwLockReadGuard`": 8441 }, - "name": "elapsed", + "name": "MappedRwLockReadGuard", "span": { "begin": [ - 589, - 5 + 175, + 1 ], "end": [ - 591, - 6 + 184, + 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "public" }, - "8556": { + "8475": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 144517, is_soft: false}, feature: \"const_system_time\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"time_checked_add\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `Some(t)` where `t` is the time `self + duration` if `t` can be represented as\n`SystemTime` (which means it's inside the bounds of the underlying data structure), `None`\notherwise.", - "id": 8556, + "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockReadGuard::map(...)`. A method would interfere with methods of\nthe same name on the contents of the `RwLockReadGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will not be\npoisoned.", + "id": 8475, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", + "orig", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ - "duration", + "f", { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "generic": "F" } ] ], @@ -724346,89 +739367,179 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'rwlock" + }, { "type": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } + "generic": "U" } } ], "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 8474, + "path": "MappedRwLockReadGuard" } } } } }, - "links": {}, - "name": "checked_add", + "links": { + "`MappedRwLockReadGuard`": 8474 + }, + "name": "map", "span": { "begin": [ - 598, + 742, 5 ], "end": [ - 600, + 754, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "public" }, - "8557": { + "8476": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 144517, is_soft: false}, feature: \"const_system_time\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"time_checked_add\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `Some(t)` where `t` is the time `self - duration` if `t` can be represented as\n`SystemTime` (which means it's inside the bounds of the underlying data structure), `None`\notherwise.", - "id": 8557, + "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockReadGuard::filter_map(...)`. A method would interfere with methods\nof the same name on the contents of the `RwLockReadGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will not be\npoisoned.", + "id": 8476, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", + "orig", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ - "duration", + "f", { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "generic": "F" } ] ], @@ -724441,68 +739552,130 @@ { "type": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } } + }, + { + "type": { + "generic": "Self" + } } ], "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 57, + "path": "Result" } } } } }, - "links": {}, - "name": "checked_sub", + "links": { + "`MappedRwLockReadGuard`": 8474 + }, + "name": "filter_map", "span": { "begin": [ - 607, + 772, 5 ], "end": [ - 609, + 789, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "public" }, - "8558": { + "8477": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8558, + "id": 8477, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8550, - 8552, - 8553, - 8555, - 8556, - 8557 + 8475, + 8476 ], "provided_trait_methods": [], "trait": null @@ -724512,102 +739685,56 @@ "name": null, "span": { "begin": [ - 483, + 712, 1 ], "end": [ - 610, + 790, 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8559": { + "8478": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8559, + "id": 8478, "inner": { "impl": { "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "856": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 856, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } + "lifetime": "'rwlock" }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "lifetime": { + "outlives": [] } }, - "name": "T" + "name": "'rwlock" }, { "kind": { @@ -724617,7 +739744,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "T" } ], "where_predicates": [ @@ -724627,140 +739754,31 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } ] }, "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 334, - 336 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 833, - 1 - ], - "end": [ - 835, - 24 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" - }, - "visibility": "default" - }, - "8560": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8560, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8561": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8561, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -724770,25 +739788,80 @@ "span": null, "visibility": "default" }, - "8562": { + "8479": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8562, + "id": 8479, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -724807,25 +739880,116 @@ "span": null, "visibility": "default" }, - "8563": { + "848": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8563, + "id": 848, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -724834,7 +739998,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -724844,25 +740008,91 @@ "span": null, "visibility": "default" }, - "8564": { + "8480": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8564, + "id": 8480, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -724871,8 +740101,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } }, @@ -724881,26 +740111,46 @@ "span": null, "visibility": "default" }, - "8565": { + "8481": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8565, + "id": 8481, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -724916,6 +740166,17 @@ { "bound_predicate": { "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, { "trait_bound": { "generic_params": [], @@ -724937,51 +740198,28 @@ ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, - "8566": { + "8482": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8566, + "id": 8482, "inner": { "impl": { "blanket_impl": { @@ -724989,9 +740227,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { @@ -725035,7 +740287,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 319 ], "provided_trait_methods": [], "trait": { @@ -725051,8 +740303,8 @@ "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 321, + "path": "Borrow" } } }, @@ -725060,23 +740312,23 @@ "name": null, "span": { "begin": [ - 217, + 212, 1 ], "end": [ - 217, - 35 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8567": { + "8483": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8567, + "id": 8483, "inner": { "impl": { "blanket_impl": { @@ -725084,9 +740336,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { @@ -725109,11 +740375,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -725130,13 +740396,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 422 + 322 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, @@ -725144,23 +740421,23 @@ "name": null, "span": { "begin": [ - 516, + 221, 1 ], "end": [ - 516, - 42 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8568": { + "8484": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8568, + "id": 8484, "inner": { "impl": { "blanket_impl": { @@ -725168,9 +740445,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { @@ -725235,7 +740526,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -725260,23 +740551,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8569": { + "8485": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8569, + "id": 8485, "inner": { "impl": { "blanket_impl": { @@ -725284,9 +740575,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { @@ -725308,7 +740613,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -725333,23 +740638,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "857": { + "8486": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 857, + "id": 8486, "inner": { "impl": { "blanket_impl": { @@ -725361,111 +740666,19 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } + "lifetime": "'rwlock" }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "8570": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8570, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { @@ -725512,7 +740725,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -725530,8 +740743,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -725547,7 +740760,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -725556,23 +740769,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8571": { + "8487": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8571, + "id": 8487, "inner": { "impl": { "blanket_impl": { @@ -725580,9 +740793,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { @@ -725647,8 +740874,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -725664,7 +740891,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -725673,33 +740900,47 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8572": { + "8488": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8572, + "id": 8488, "inner": { "impl": { "blanket_impl": { - "generic": "T" + "generic": "P" }, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { @@ -725712,85 +740953,8 @@ "is_synthetic": false } }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 138, - 1 - ], - "end": [ - 138, - 36 - ], - "filename": "checkouts/rust/library/core/src/any.rs" - }, - "visibility": "default" - }, - "8573": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8573, - "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "generics": { - "params": [ + "name": "P" + }, { "kind": { "type": { @@ -725811,648 +740975,182 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 99, - "path": "Clone" + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "generic": "T" + } + } + }, + "name": "Target" + } + ] + } + }, + "id": 1967, + "path": "Deref" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 82, - 1 - ], - "end": [ - 84, - 14 - ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" - }, - "visibility": "default" - }, - "8574": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8574, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 103, - "path": "Copy" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 249, - 10 - ], - "end": [ - 249, - 14 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8575": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8575, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 249, - 16 - ], - "end": [ - 249, - 21 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8576": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8576, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8575 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 249, - 16 - ], - "end": [ - 249, - 21 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8577": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8577, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 442, - "path": "StructuralPartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 249, - 23 - ], - "end": [ - 249, - 32 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8578": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8578, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "eq", - "span": { - "begin": [ - 249, - 23 - ], - "end": [ - 249, - 32 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8579": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8579, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8578 - ], - "provided_trait_methods": [ - "ne" - ], - "trait": { - "args": null, - "id": 123, - "path": "PartialEq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 249, - 23 - ], - "end": [ - 249, - 32 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "858": { - "attrs": [], - "crate_id": 1, - "deprecation": null, - "docs": null, - "id": 858, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "qualified_path": { - "args": null, - "name": "Item", - "self_type": { - "generic": "I" - }, - "trait": { - "args": null, - "id": 49, - "path": "Iterator" - } - } - } - } - }, - "links": {}, - "name": "Item", - "span": { - "begin": [ - 315, - 5 - ], - "end": [ - 315, - 14 - ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" - }, - "visibility": "default" - }, - "8580": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8580, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [ - "assert_receiver_is_total_eq" - ], - "trait": { - "args": null, - "id": 113, - "path": "Eq" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 249, - 34 - ], - "end": [ - 249, - 36 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8581": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8581, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - } + ], + "generic_params": [], + "type": { + "generic": "P" } } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "$crate::cmp::Ordering" - } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "T" } - }, - "id": 51, - "path": "$crate::option::Option" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 1965 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1968, + "path": "Receiver" } } }, "links": {}, - "name": "partial_cmp", + "name": null, "span": { "begin": [ - 249, - 38 + 378, + 1 ], "end": [ - 249, - 48 + 380, + 26 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "8582": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], + "8489": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8582, + "id": 8489, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8581 - ], - "provided_trait_methods": [ - "lt", - "le", - "gt", - "ge", - "__chaining_lt", - "__chaining_le", - "__chaining_gt", - "__chaining_ge" + 336 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 127, - "path": "PartialOrd" + "id": 339, + "path": "Any" } } }, @@ -726460,137 +741158,236 @@ "name": null, "span": { "begin": [ - 249, - 38 + 138, + 1 ], "end": [ - 249, - 48 + 138, + 36 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "8583": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "849": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8583, + "id": 849, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } } + ], + "generic_params": [], + "type": { + "generic": "K" } } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } } } + ], + "generic_params": [], + "type": { + "generic": "V" } } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "$crate::cmp::Ordering" } - } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, - "name": "cmp", - "span": { - "begin": [ - 249, - 50 - ], - "end": [ - 249, - 53 - ], - "filename": "std/src/time.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "8584": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], + "8490": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8584, + "id": 8490, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8583 - ], - "provided_trait_methods": [ - "max", - "min", - "clamp" + 434 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 119, - "path": "Ord" + "id": 161, + "path": "ToString" } } }, @@ -726598,29 +741395,51 @@ "name": null, "span": { "begin": [ - 249, - 50 + 2866, + 1 ], "end": [ - 249, - 53 + 2866, + 46 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8585": { + "8491": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8585, + "id": 8491, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" + } + }, "generics": { "params": [ { @@ -726630,11 +741449,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 537, - "path": "$crate::hash::Hasher" + "id": 3, + "path": "Sized" } } } @@ -726643,103 +741462,20 @@ "is_synthetic": false } }, - "name": "__H" + "name": "T" } ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "state", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "__H" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "hash", - "span": { - "begin": [ - 249, - 55 - ], - "end": [ - 249, - 59 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8586": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8586, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, + "is_negative": true, "is_synthetic": false, "is_unsafe": false, - "items": [ - 8585 - ], - "provided_trait_methods": [ - "hash_slice" - ], + "items": [], + "provided_trait_methods": [], "trait": { "args": null, - "id": 539, - "path": "Hash" + "id": 1, + "path": "Send" } } }, @@ -726747,108 +741483,98 @@ "name": null, "span": { "begin": [ - 249, - 55 - ], - "end": [ - 249, - 59 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8587": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8587, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - } - } - }, - "links": {}, - "name": "Output", - "span": { - "begin": [ - 615, - 5 + 128, + 1 ], "end": [ - 615, - 30 + 128, + 52 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8588": { + "8492": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143802, is_soft: false}, feature: \"const_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"rwlock_guard_sync\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8588, + "id": 8492, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 8587, - 8551 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } - } - ], - "constraints": [] - } - }, - "id": 8535, - "path": "Add" + "args": null, + "id": 5, + "path": "Sync" } } }, @@ -726856,23 +741582,23 @@ "name": null, "span": { "begin": [ - 614, + 131, 1 ], "end": [ - 624, - 2 + 131, + 65 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8589": { + "8493": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8589, + "id": 8493, "inner": { "function": { "generics": { @@ -726899,16 +741625,6 @@ } } } - ], - [ - "other", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } ] ], "is_c_variadic": false, @@ -726917,106 +741633,92 @@ } }, "links": {}, - "name": "add_assign", + "name": "drop", "span": { "begin": [ - 629, + 1099, 5 ], "end": [ - 631, + 1104, 6 ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "859": { - "attrs": [], - "crate_id": 1, - "deprecation": null, - "docs": null, - "id": 859, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "generic": "I" - } - } - }, - "links": {}, - "name": "IntoIter", - "span": { - "begin": [ - 316, - 5 - ], - "end": [ - 316, - 18 - ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8590": { + "8494": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143802, is_soft: false}, feature: \"const_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"time_augmented_assignment\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8590, + "id": 8494, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8589 + 8493 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } - } - ], - "constraints": [] - } - }, - "id": 8538, - "path": "AddAssign" + "args": null, + "id": 9, + "path": "Drop" } } }, @@ -727024,23 +741726,23 @@ "name": null, "span": { "begin": [ - 628, + 1098, 1 ], "end": [ - 632, + 1105, 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8591": { + "8495": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8591, + "id": 8495, "inner": { "assoc_type": { "bounds": [], @@ -727049,35 +741751,31 @@ "where_predicates": [] }, "type": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } + "generic": "T" } } }, "links": {}, - "name": "Output", + "name": "Target", "span": { "begin": [ - 637, + 1143, 5 ], "end": [ - 637, - 30 + 1143, + 21 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8592": { + "8496": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8592, + "id": 8496, "inner": { "function": { "generics": { @@ -727096,100 +741794,117 @@ [ "self", { - "generic": "Self" - } - ], - [ - "dur", - { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } } } } } }, "links": {}, - "name": "sub", + "name": "deref", "span": { "begin": [ - 639, + 1145, 5 ], "end": [ - 641, + 1148, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8593": { + "8497": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143802, is_soft: false}, feature: \"const_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8593, + "id": 8497, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8591, - 8592 + 8495, + 8496 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } - } - } - ], - "constraints": [] - } - }, - "id": 1327, - "path": "Sub" + "args": null, + "id": 1967, + "path": "Deref" } } }, @@ -727197,23 +741912,23 @@ "name": null, "span": { "begin": [ - 636, + 1142, 1 ], "end": [ - 642, + 1149, 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8594": { + "8498": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8594, + "id": 8498, "inner": { "function": { "generics": { @@ -727233,7 +741948,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -727242,68 +741957,237 @@ } ], [ - "other", + "f", { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } } } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } } } }, "links": {}, - "name": "sub_assign", + "name": "fmt", "span": { "begin": [ - 647, + 1202, 5 ], "end": [ - 649, + 1204, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8595": { + "8499": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143802, is_soft: false}, feature: \"const_ops\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"time_augmented_assignment\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8595, + "id": 8499, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8594 + 8498 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1201, + 1 + ], + "end": [ + 1205, + 2 + ], + "filename": "std/src/sync/poison/rwlock.rs" + }, + "visibility": "default" + }, + "850": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 850, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 ], "provided_trait_methods": [], "trait": { @@ -727312,19 +742196,15 @@ "args": [ { "type": { - "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" - } + "generic": "T" } } ], "constraints": [] } }, - "id": 8543, - "path": "SubAssign" + "id": 321, + "path": "Borrow" } } }, @@ -727332,23 +742212,23 @@ "name": null, "span": { "begin": [ - 646, + 212, 1 ], "end": [ - 650, - 2 + 212, + 38 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8596": { + "8500": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8596, + "id": 8500, "inner": { "function": { "generics": { @@ -727394,7 +742274,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -727406,7 +742286,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -727417,52 +742297,100 @@ "name": "fmt", "span": { "begin": [ - 654, + 1209, 5 ], "end": [ - 656, + 1211, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8597": { + "8501": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"std_guard_impls\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8597, + "id": 8501, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "fmt::Display" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8596 + 8500 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 436, + "path": "Display" } } }, @@ -727470,35 +742398,27 @@ "name": null, "span": { "begin": [ - 653, + 1208, 1 ], "end": [ - 657, + 1212, 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8599": { + "8504": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 144517, is_soft: false}, feature: \"const_system_time\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Current},\nfeature: \"rwlock_downgrade\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the positive duration which represents how far forward the\nsecond system time was from the first.\n\nA `SystemTimeError` is returned from the [`SystemTime::duration_since`]\nand [`SystemTime::elapsed`] methods whenever the second system time\nrepresents a point later in time than the `self` of the method call.\n\n# Examples\n\n```no_run\nuse std::thread::sleep;\nuse std::time::{Duration, SystemTime};\n\nlet sys_time = SystemTime::now();\nsleep(Duration::from_secs(1));\nlet new_sys_time = SystemTime::now();\nmatch sys_time.duration_since(new_sys_time) {\n Ok(_) => {}\n Err(e) => println!(\"SystemTimeError difference: {:?}\", e.duration()),\n}\n```", - "id": 8599, + "docs": "Downgrades a write-locked `RwLockWriteGuard` into a read-locked [`RwLockReadGuard`].\n\nSince we have the `RwLockWriteGuard`, the [`RwLock`] must already be locked for writing, so\nthis method cannot fail.\n\nAfter downgrading, other readers will be allowed to read the protected data.\n\n# Examples\n\n`downgrade` takes ownership of the `RwLockWriteGuard` and returns a [`RwLockReadGuard`].\n\n```\nuse std::sync::{RwLock, RwLockWriteGuard};\n\nlet rw = RwLock::new(0);\n\nlet mut write_guard = rw.write().unwrap();\n*write_guard = 42;\n\nlet read_guard = RwLockWriteGuard::downgrade(write_guard);\nassert_eq!(42, *read_guard);\n```\n\n`downgrade` will _atomically_ change the state of the [`RwLock`] from exclusive mode into\nshared mode. This means that it is impossible for another writing thread to get in between a\nthread calling `downgrade` and any reads it performs after downgrading.\n\n```\nuse std::sync::{Arc, RwLock, RwLockWriteGuard};\n\nlet rw = Arc::new(RwLock::new(1));\n\n// Put the lock in write mode.\nlet mut main_write_guard = rw.write().unwrap();\n\nlet rw_clone = rw.clone();\nlet evil_handle = std::thread::spawn(move || {\n // This will not return until the main thread drops the `main_read_guard`.\n let mut evil_guard = rw_clone.write().unwrap();\n\n assert_eq!(*evil_guard, 2);\n *evil_guard = 3;\n});\n\n*main_write_guard = 2;\n\n// Atomically downgrade the write guard into a read guard.\nlet main_read_guard = RwLockWriteGuard::downgrade(main_write_guard);\n\n// Since `downgrade` is atomic, the writer thread cannot have changed the protected data.\nassert_eq!(*main_read_guard, 2, \"`downgrade` was not atomic\");\n#\n# drop(main_read_guard);\n# evil_handle.join().unwrap();\n#\n# let final_check = rw.read().unwrap();\n# assert_eq!(*final_check, 3);\n```", + "id": 8504, "inner": { "function": { "generics": { @@ -727509,100 +742429,274 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", + "s", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 500, - "path": "Duration" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8441, + "path": "RwLockReadGuard" } } } } }, "links": { - "`SystemTime::duration_since`": 8553, - "`SystemTime::elapsed`": 8555 + "`RwLockReadGuard`": 8441, + "`RwLock`": 8103 }, - "name": "duration", + "name": "downgrade", "span": { "begin": [ - 714, + 863, 5 ], "end": [ - 716, + 875, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "public" }, - "86": { + "8505": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[must_not_suspend =\n\"holding a MappedRwLockWriteGuard across suspend \\\n points can cause deadlocks, delays, \\\n and cause Future's to not implement `Send`\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[clippy::has_significant_drop]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + }, + { + "must_use": { + "reason": "if unused the RwLock will immediately unlock" + } } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 86, + "docs": "RAII structure used to release the exclusive write access of a lock when\ndropped, which can point to a subfield of the protected data.\n\nThis structure is created by the [`map`] and [`filter_map`] methods\non [`RwLockWriteGuard`].\n\n[`map`]: RwLockWriteGuard::map\n[`filter_map`]: RwLockWriteGuard::filter_map", + "id": 8505, "inner": { - "use": { - "id": 87, - "is_glob": false, - "name": "line", - "source": "core::prelude::v1::line" + "struct": { + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "outlives": "'rwlock" + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "impls": [ + 8571, + 8572, + 8573, + 8574, + 8575, + 8576, + 8577, + 8578, + 8579, + 8580, + 8581, + 8582, + 8583, + 8584, + 8585, + 8586, + 8588, + 8591, + 8593, + 8595, + 8597 + ], + "kind": { + "plain": { + "fields": [], + "has_stripped_fields": true + } + } } }, - "links": {}, - "name": null, + "links": { + "RwLockWriteGuard::filter_map": 8507, + "RwLockWriteGuard::map": 8506, + "`RwLockWriteGuard`": 8444 + }, + "name": "MappedRwLockWriteGuard", "span": { "begin": [ - 51, - 58 + 206, + 1 ], "end": [ - 51, - 62 + 221, + 2 ], - "filename": "std/src/prelude/v1.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "public" }, - "860": { - "attrs": [], - "crate_id": 1, + "8506": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, "deprecation": null, - "docs": null, - "id": 860, + "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data, e.g.\nan enum variant.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockWriteGuard::map(...)`. A method would interfere with methods of\nthe same name on the contents of the `RwLockWriteGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will be poisoned.", + "id": 8506, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "has_body": true, "header": { @@ -727614,172 +742708,428 @@ "sig": { "inputs": [ [ - "self", + "orig", { "generic": "Self" } + ], + [ + "f", + { + "generic": "F" + } ] ], "is_c_variadic": false, "output": { - "generic": "I" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } } } } }, - "links": {}, - "name": "into_iter", + "links": { + "`MappedRwLockWriteGuard`": 8505 + }, + "name": "map", "span": { "begin": [ - 319, + 891, 5 ], "end": [ - 319, - 28 + 909, + 6 ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8600": { - "attrs": [], + "8507": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8600, + "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data. The\noriginal guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`RwLockWriteGuard::filter_map(...)`. A method would interfere with methods\nof the same name on the contents of the `RwLockWriteGuard` used through\n`Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will be poisoned.", + "id": 8507, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" - } - }, + "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8599 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "orig", + { + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + } + }, + { + "type": { + "generic": "Self" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } } }, - "links": {}, - "name": null, + "links": { + "`MappedRwLockWriteGuard`": 8505 + }, + "name": "filter_map", "span": { "begin": [ - 689, - 1 + 926, + 5 ], "end": [ - 717, - 2 + 949, + 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8601": { + "8508": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8601, + "id": 8508, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 8504, + 8506, + 8507 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } + "trait": null } }, "links": {}, "name": null, - "span": null, - "visibility": "default" - }, - "8602": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8602, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } + "span": { + "begin": [ + 792, + 1 + ], + "end": [ + 950, + 2 + ], + "filename": "std/src/sync/poison/rwlock.rs" }, - "links": {}, - "name": null, - "span": null, "visibility": "default" }, - "8603": { + "8509": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8603, + "id": 8509, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -727788,7 +743138,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -727798,99 +743148,194 @@ "span": null, "visibility": "default" }, - "8604": { + "851": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8604, + "id": 851, "inner": { "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" - } - }, - "generics": { - "params": [], - "where_predicates": [] + "blanket_impl": { + "generic": "T" }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8605": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8605, - "inner": { - "impl": { - "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 322 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "8606": { + "8510": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8606, + "id": 8510, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -727899,8 +743344,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 7, + "path": "Unpin" } } }, @@ -727909,26 +743354,46 @@ "span": null, "visibility": "default" }, - "8607": { + "8511": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8607, + "id": 8511, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -727965,65 +743430,62 @@ ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, - "8608": { + "8512": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8608, + "id": 8512, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, { "kind": { "type": { @@ -728060,51 +743522,28 @@ ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 324 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, - "8609": { + "8513": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8609, + "id": 8513, "inner": { "impl": { "blanket_impl": { @@ -728112,9 +743551,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { @@ -728137,11 +743590,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -728158,13 +743611,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 422 + 319 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, @@ -728172,27 +743636,27 @@ "name": null, "span": { "begin": [ - 516, + 212, 1 ], "end": [ - 516, - 42 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "861": { + "8514": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 861, + "id": 8514, "inner": { "impl": { "blanket_impl": { - "generic": "I" + "generic": "T" }, "for": { "resolved_path": { @@ -728200,24 +743664,19 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } + "lifetime": "'rwlock" }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { @@ -728230,7 +743689,7 @@ "is_synthetic": false } }, - "name": "I" + "name": "T" } ], "where_predicates": [ @@ -728240,18 +743699,18 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 49, - "path": "Iterator" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "I" + "generic": "T" } } } @@ -728261,15 +743720,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 858, - 859, - 860 + 322 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 47, - "path": "IntoIterator" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, @@ -728277,23 +743745,23 @@ "name": null, "span": { "begin": [ - 314, + 221, 1 ], "end": [ - 314, - 37 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8610": { + "8515": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8610, + "id": 8515, "inner": { "impl": { "blanket_impl": { @@ -728301,9 +743769,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { @@ -728368,7 +743850,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -728393,23 +743875,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8611": { + "8516": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8611, + "id": 8516, "inner": { "impl": { "blanket_impl": { @@ -728417,9 +743899,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { @@ -728441,7 +743937,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -728466,23 +743962,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8612": { + "8517": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8612, + "id": 8517, "inner": { "impl": { "blanket_impl": { @@ -728490,9 +743986,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { @@ -728539,7 +744049,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -728557,8 +744067,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -728574,7 +744084,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -728583,23 +744093,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8613": { + "8518": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8613, + "id": 8518, "inner": { "impl": { "blanket_impl": { @@ -728607,9 +744117,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { @@ -728674,8 +744198,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -728691,7 +744215,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -728700,37 +744224,61 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8614": { + "8519": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8614, + "id": 8519, "inner": { "impl": { "blanket_impl": { - "generic": "T" + "generic": "P" }, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + }, { "kind": { "type": { @@ -728747,7 +744295,32 @@ "bound_predicate": { "bounds": [ { - "outlives": "'static" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "generic": "T" + } + } + }, + "name": "Target" + } + ] + } + }, + "id": 1967, + "path": "Deref" + } + } }, { "trait_bound": { @@ -728762,6 +744335,27 @@ } ], "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], "type": { "generic": "T" } @@ -728773,13 +744367,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 1965 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 1968, + "path": "Receiver" } } }, @@ -728787,23 +744381,23 @@ "name": null, "span": { "begin": [ - 138, + 378, 1 ], "end": [ - 138, - 36 + 380, + 26 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "8615": { + "852": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8615, + "id": 852, "inner": { "impl": { "blanket_impl": { @@ -728811,9 +744405,28 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" } }, "generics": { @@ -728839,7 +744452,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -728857,17 +744470,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" + 422 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 157, - "path": "ToOwned" + "id": 424, + "path": "CloneToUninit" } } }, @@ -728875,23 +744484,23 @@ "name": null, "span": { "begin": [ - 82, + 515, 1 ], "end": [ - 84, - 14 + 515, + 42 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "8616": { + "8520": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8616, + "id": 8520, "inner": { "impl": { "blanket_impl": { @@ -728899,9 +744508,23 @@ }, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { @@ -728922,15 +744545,7 @@ "bound_predicate": { "bounds": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } + "outlives": "'static" }, { "trait_bound": { @@ -728956,13 +744571,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 434 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 163, - "path": "ToString" + "id": 339, + "path": "Any" } } }, @@ -728970,232 +744585,23 @@ "name": null, "span": { "begin": [ - 2806, + 138, 1 ], "end": [ - 2806, - 46 - ], - "filename": "checkouts/rust/library/alloc/src/string.rs" - }, - "visibility": "default" - }, - "8617": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8617, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" - } - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 271, - 10 - ], - "end": [ - 271, - 15 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8618": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8618, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 8617 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 271, - 10 - ], - "end": [ - 271, - 15 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8619": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8619, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "$crate::fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "$crate::fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 271, - 17 - ], - "end": [ - 271, - 22 + 138, + 36 ], - "filename": "std/src/time.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "862": { + "8521": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 862, + "id": 8521, "inner": { "impl": { "blanket_impl": { @@ -729207,24 +744613,19 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } + "lifetime": "'rwlock" }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { @@ -729250,8 +744651,19 @@ "modifier": "none", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } } @@ -729268,17 +744680,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" + 434 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 157, - "path": "ToOwned" + "id": 161, + "path": "ToString" } } }, @@ -729286,53 +744694,87 @@ "name": null, "span": { "begin": [ - 82, + 2866, 1 ], "end": [ - 84, - 14 + 2866, + 46 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8620": { + "8522": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - }, - "automatically_derived" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8620, + "id": 8522, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": false, "is_unsafe": false, - "items": [ - 8619 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 1, + "path": "Send" } } }, @@ -729340,124 +744782,98 @@ "name": null, "span": { "begin": [ - 271, - 17 - ], - "end": [ - 271, - 22 - ], - "filename": "std/src/time.rs" - }, - "visibility": "default" - }, - "8621": { - "attrs": [ - { - "other": "#[allow(deprecated)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8621, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "description", - "span": { - "begin": [ - 722, - 5 + 156, + 1 ], "end": [ - 724, - 6 + 156, + 53 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8622": { + "8523": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"rwlock_guard_sync\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8622, + "id": 8523, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 8621 - ], - "provided_trait_methods": [ - "source", - "type_id", - "description", - "cause", - "provide" - ], + "items": [], + "provided_trait_methods": [], "trait": { "args": null, - "id": 450, - "path": "Error" + "id": 5, + "path": "Sync" } } }, @@ -729465,23 +744881,23 @@ "name": null, "span": { "begin": [ - 720, + 159, 1 ], "end": [ - 725, - 2 + 159, + 66 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8623": { + "8524": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8623, + "id": 8524, "inner": { "function": { "generics": { @@ -729499,103 +744915,109 @@ "inputs": [ [ "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", { "borrowed_ref": { "is_mutable": true, "lifetime": null, "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } + "generic": "Self" } } } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } + "output": null } } }, "links": {}, - "name": "fmt", + "name": "drop", "span": { "begin": [ - 729, + 1109, 5 ], "end": [ - 731, + 1115, 6 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8624": { + "8525": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8624, + "id": 8525, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": null, - "id": 8554, - "path": "SystemTimeError" + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 8623 + 8524 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 436, - "path": "Display" + "id": 9, + "path": "Drop" } } }, @@ -729603,188 +745025,56 @@ "name": null, "span": { "begin": [ - 728, + 1108, 1 ], "end": [ - 732, + 1116, 2 ], - "filename": "std/src/time.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8625": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "An anchor in time which can be used to create new `SystemTime` instances or\nlearn about where in time a `SystemTime` lies.\n\nThis constant is defined to be \"1970-01-01 00:00:00 UTC\" on all systems with\nrespect to the system clock. Using `duration_since` on an existing\n[`SystemTime`] instance can tell how far away from this point in time a\nmeasurement lies, and using `UNIX_EPOCH + duration` can be used to create a\n[`SystemTime`] instance to represent another fixed point in time.\n\n`duration_since(UNIX_EPOCH).unwrap().as_secs()` returns\nthe number of non-leap seconds since the start of 1970 UTC.\nThis is a POSIX `time_t` (as a `u64`),\nand is the same time representation as used in many Internet protocols.\n\n# Examples\n\n```no_run\nuse std::time::{SystemTime, UNIX_EPOCH};\n\nmatch SystemTime::now().duration_since(UNIX_EPOCH) {\n Ok(n) => println!(\"1970-01-01 00:00:00 UTC was {} seconds ago!\", n.as_secs()),\n Err(_) => panic!(\"SystemTime before UNIX EPOCH!\"),\n}\n```", - "id": 8625, - "inner": { - "constant": { - "const": { - "expr": "_", - "is_literal": false, - "value": null - }, - "type": { - "resolved_path": { - "args": null, - "id": 2448, - "path": "SystemTime" - } - } - } - }, - "links": { - "`SystemTime`": 2448 - }, - "name": "UNIX_EPOCH", - "span": { - "begin": [ - 687, - 1 - ], - "end": [ - 687, - 65 - ], - "filename": "std/src/time.rs" - }, - "visibility": "public" - }, - "8626": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 3, patch: 0})}, feature: \"time\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Temporal quantification.\n\n# Examples\n\nThere are multiple ways to create a new [`Duration`]:\n\n```\n# use std::time::Duration;\nlet five_seconds = Duration::from_secs(5);\nassert_eq!(five_seconds, Duration::from_millis(5_000));\nassert_eq!(five_seconds, Duration::from_micros(5_000_000));\nassert_eq!(five_seconds, Duration::from_nanos(5_000_000_000));\n\nlet ten_seconds = Duration::from_secs(10);\nlet seven_nanos = Duration::from_nanos(7);\nlet total = ten_seconds + seven_nanos;\nassert_eq!(total, Duration::new(10, 7));\n```\n\nUsing [`Instant`] to calculate how long a function took to run:\n\n```ignore (incomplete)\nlet now = Instant::now();\n\n// Calling a slow function, it may take a while\nslow_function();\n\nlet elapsed_time = now.elapsed();\nprintln!(\"Running slow_function() took {} seconds.\", elapsed_time.as_secs());\n```", - "id": 8626, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 8491, - 8492, - 503, - 2448, - 8554, - 8625 - ] - } - }, - "links": { - "`Duration`": 500, - "`Instant`": 503 - }, - "name": "time", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 744, - 2 - ], - "filename": "std/src/time.rs" - }, - "visibility": "public" - }, - "8627": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } - } - ], + "8526": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Elementwise fused multiply-add. Computes `(self * a) + b` with only one rounding error,\nyielding a more accurate result than an unfused multiply-add.\n\nUsing `mul_add` *may* be more performant than an unfused multiply-add if the target\narchitecture has a dedicated `fma` CPU instruction. However, this is not always\ntrue, and will be heavily dependent on designing algorithms with specific target\nhardware in mind.", - "id": 8627, + "docs": null, + "id": 8526, "inner": { - "function": { + "assoc_type": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "a", - { - "generic": "Self" - } - ], - [ - "b", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "type": { + "generic": "T" } } }, "links": {}, - "name": "mul_add", + "name": "Target", "span": { "begin": [ - 55, + 1153, 5 ], "end": [ - 57, - 6 + 1153, + 21 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8628": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } - } - ], + "8527": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Produces a vector where every element has the square root value\nof the equivalently-indexed element in `self`", - "id": 8628, + "docs": null, + "id": 8527, "inner": { "function": { "generics": { @@ -729803,98 +745093,141 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } } } } }, "links": {}, - "name": "sqrt", + "name": "deref", "span": { "begin": [ - 63, + 1155, 5 ], "end": [ - 65, + 1158, 6 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8629": { + "8528": { "attrs": [ { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Produces a vector where every element has the sine of the value\nin the equivalently-indexed element in `self`.", - "id": 8629, + "docs": null, + "id": 8528, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8526, + 8527 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1967, + "path": "Deref" } } }, "links": {}, - "name": "sin", + "name": null, "span": { "begin": [ - 70, - 5 + 1152, + 1 ], "end": [ - 70, - 26 + 1159, + 2 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "863": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8529": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 863, + "id": 8529, "inner": { "function": { "generics": { @@ -729914,7 +745247,7 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" @@ -729925,442 +745258,263 @@ ], "is_c_variadic": false, "output": { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } } } } }, "links": {}, - "name": "clone", + "name": "deref_mut", "span": { "begin": [ - 1449, + 1163, 5 ], "end": [ - 1451, + 1166, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8630": { - "attrs": [ - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } - } - ], + "853": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Produces a vector where every element has the cosine of the value\nin the equivalently-indexed element in `self`.", - "id": 8630, + "docs": null, + "id": 853, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 756, + "path": "Iter" } - } - } - }, - "links": {}, - "name": "cos", - "span": { - "begin": [ - 75, - 5 - ], - "end": [ - 75, - 26 - ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" - }, - "visibility": "default" - }, - "8631": { - "attrs": [ - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Produces a vector where every element has the exponential (base e) of the value\nin the equivalently-indexed element in `self`.", - "id": 8631, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } - } - } - }, - "links": {}, - "name": "exp", - "span": { - "begin": [ - 80, - 5 - ], - "end": [ - 80, - 26 - ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" - }, - "visibility": "default" - }, - "8632": { - "attrs": [ - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Produces a vector where every element has the exponential (base 2) of the value\nin the equivalently-indexed element in `self`.", - "id": 8632, - "inner": { - "function": { "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } - } - } - }, - "links": {}, - "name": "exp2", - "span": { - "begin": [ - 85, - 5 - ], - "end": [ - 85, - 27 - ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" - }, - "visibility": "default" - }, - "8633": { - "attrs": [ - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Produces a vector where every element has the natural logarithm of the value\nin the equivalently-indexed element in `self`.", - "id": 8633, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } - } - } - }, - "links": {}, - "name": "ln", - "span": { - "begin": [ - 90, - 5 - ], - "end": [ - 90, - 25 - ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" - }, - "visibility": "default" - }, - "8634": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Produces a vector where every element has the logarithm with respect to an arbitrary\nin the equivalently-indexed elements in `self` and `base`.", - "id": 8634, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + } + ] }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "base", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, "links": {}, - "name": "log", + "name": null, "span": { "begin": [ - 96, - 5 + 767, + 1 ], "end": [ - 98, - 6 + 769, + 24 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8635": { + "8530": { "attrs": [ { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Produces a vector where every element has the base-2 logarithm of the value\nin the equivalently-indexed element in `self`.", - "id": 8635, + "docs": null, + "id": 8530, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 8444, + "path": "RwLockWriteGuard" } - } - } - }, - "links": {}, - "name": "log2", - "span": { - "begin": [ - 103, - 5 - ], - "end": [ - 103, - 27 - ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" - }, - "visibility": "default" - }, - "8636": { - "attrs": [ - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Produces a vector where every element has the base-10 logarithm of the value\nin the equivalently-indexed element in `self`.", - "id": 8636, - "inner": { - "function": { + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "has_body": false, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8529 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1987, + "path": "DerefMut" } } }, "links": {}, - "name": "log10", + "name": null, "span": { "begin": [ - 108, - 5 + 1162, + 1 ], "end": [ - 108, - 28 + 1167, + 2 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8637": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } - } - ], + "8531": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns the smallest integer greater than or equal to each element.", - "id": 8637, + "docs": null, + "id": 8531, "inner": { "function": { "generics": { @@ -730379,106 +745533,174 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, "links": {}, - "name": "ceil", + "name": "fmt", "span": { "begin": [ - 113, + 1216, 5 ], "end": [ - 115, + 1218, 6 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8638": { + "8532": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the largest integer value less than or equal to each element.", - "id": 8638, + "docs": null, + "id": 8532, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8444, + "path": "RwLockWriteGuard" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8531 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" } } }, "links": {}, - "name": "floor", + "name": null, "span": { "begin": [ - 120, - 5 + 1215, + 1 ], "end": [ - 122, - 6 + 1219, + 2 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8639": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } - } - ], + "8533": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Rounds to the nearest integer value. Ties round toward zero.", - "id": 8639, + "docs": null, + "id": 8533, "inner": { "function": { "generics": { @@ -730497,42 +745719,77 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, "links": {}, - "name": "round", + "name": "fmt", "span": { "begin": [ - 127, + 1223, 5 ], "end": [ - 129, + 1225, 6 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "864": { + "8534": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"std_guard_impls\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 864, + "id": 8534, "inner": { "impl": { "blanket_impl": null, @@ -730546,20 +745803,15 @@ }, { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8444, + "path": "RwLockWriteGuard" } }, "generics": { @@ -730567,22 +745819,35 @@ { "kind": { "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "fmt::Display" + } + } + } + ], "default": null, "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [] @@ -730591,15 +745856,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 863 - ], - "provided_trait_methods": [ - "clone_from" + 8533 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 436, + "path": "Display" } } }, @@ -730607,37 +745870,119 @@ "name": null, "span": { "begin": [ - 1447, + 1222, 1 ], "end": [ - 1452, + 1226, 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8640": { + "8537": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the floating point's integer value, with its fractional part removed.", - "id": 8640, + "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data,\ne.g. an enum variant.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockReadGuard::map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockReadGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will not be\npoisoned.", + "id": 8537, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "has_body": true, "header": { @@ -730649,53 +745994,179 @@ "sig": { "inputs": [ [ - "self", + "orig", { "generic": "Self" } + ], + [ + "f", + { + "generic": "F" + } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" + } } } } }, - "links": {}, - "name": "trunc", + "links": { + "`MappedRwLockReadGuard`": 8474 + }, + "name": "map", "span": { "begin": [ - 134, + 968, 5 ], "end": [ - 136, + 980, 6 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8641": { + "8538": { "attrs": [ { - "must_use": { - "reason": "method returns a new vector and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the floating point's fractional value, with its integer part removed.", - "id": 8641, + "docs": "Makes a [`MappedRwLockReadGuard`] for a component of the borrowed data.\nThe original guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for reading, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockReadGuard::filter_map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockReadGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will not be\npoisoned.", + "id": 8538, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, - "has_body": false, + "has_body": true, "header": { "abi": "Rust", "is_async": false, @@ -730705,640 +746176,1539 @@ "sig": { "inputs": [ [ - "self", + "orig", { "generic": "Self" } + ], + [ + "f", + { + "generic": "F" + } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" + } + } + }, + { + "type": { + "generic": "Self" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, - "links": {}, - "name": "fract", + "links": { + "`MappedRwLockReadGuard`": 8474 + }, + "name": "filter_map", "span": { "begin": [ - 140, + 998, 5 ], "end": [ - 140, - 28 + 1015, + 6 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8643": { + "8539": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "This trait provides a possibly-temporary implementation of float functions\nthat may, in the absence of hardware support, canonicalize to calling an\noperating system's `math.h` dynamically-loaded library (also known as a\nshared object). As these conditionally require runtime support, they\nshould only appear in binaries built assuming OS support: `std`.\n\nHowever, there is no reason SIMD types, in general, need OS support,\nas for many architectures an embedded binary may simply configure that\nsupport itself. This means these types must be visible in `core`\nbut have these functions available in `std`.\n\n[`f32`] and [`f64`] achieve a similar trick by using \"lang items\", but\ndue to compiler limitations, it is harder to implement this approach for\nabstract data types like [`Simd`]. From that need, this trait is born.\n\nIt is possible this trait will be replaced in some manner in the future,\nwhen either the compiler or its supporting runtime functions are improved.\nFor now this trait is available to permit experimentation with SIMD float\noperations that may lack hardware support, such as `mul_add`.", - "id": 8643, + "docs": null, + "id": 8539, "inner": { - "trait": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 3814, - "path": "Sealed" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } - ], + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "implementations": [ - 8652, - 8663 - ], - "is_auto": false, - "is_dyn_compatible": false, + "is_negative": false, + "is_synthetic": false, "is_unsafe": false, "items": [ - 8627, - 8628, - 8629, - 8630, - 8631, - 8632, - 8633, - 8634, - 8635, - 8636, - 8637, - 8638, - 8639, - 8640, - 8641 - ] + 8537, + 8538 + ], + "provided_trait_methods": [], + "trait": null } }, - "links": { - "`Simd`": 8642, - "`f32`": 267, - "`f64`": 299 - }, - "name": "StdFloat", + "links": {}, + "name": null, "span": { "begin": [ - 45, + 952, 1 ], "end": [ - 141, + 1016, 2 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8644": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "854": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8644, + "id": 854, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 756, + "path": "Iter" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "fract", + "name": null, "span": { "begin": [ - 199, + 785, 1 ], "end": [ - 207, - 2 + 785, + 28 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8645": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8540": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8645, + "id": 8540, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" + } }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8541": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8541, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" } } }, "links": {}, - "name": "sin", - "span": { - "begin": [ - 199, - 1 - ], - "end": [ - 207, - 2 - ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "8646": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" + "8542": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8542, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } } - ], + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8543": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8646, + "id": 8543, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" + } + }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8544": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8544, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, - "name": "cos", + "name": null, "span": { "begin": [ - 199, + 212, 1 ], "end": [ - 207, - 2 + 212, + 38 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8647": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8545": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8647, + "id": 8545, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, "links": {}, - "name": "exp", + "name": null, "span": { "begin": [ - 199, + 221, 1 ], "end": [ - 207, - 2 + 221, + 41 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8648": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8546": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8648, + "id": 8546, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, "links": {}, - "name": "exp2", + "name": null, "span": { "begin": [ - 199, + 767, 1 ], "end": [ - 207, - 2 + 769, + 24 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8649": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8547": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8649, + "id": 8547, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "ln", + "name": null, "span": { "begin": [ - 199, + 785, 1 ], "end": [ - 207, - 2 + 785, + 28 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "865": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8548": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 865, + "id": 8548, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, "links": {}, - "name": "default", + "name": null, "span": { "begin": [ - 1457, - 5 + 811, + 1 ], "end": [ - 1459, - 6 + 813, + 27 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8650": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8549": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8650, + "id": 8549, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, "links": {}, - "name": "log2", + "name": null, "span": { "begin": [ - 199, + 827, 1 ], "end": [ - 207, - 2 + 829, + 24 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8651": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "855": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8651, + "id": 855, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, "links": {}, - "name": "log10", + "name": null, "span": { "begin": [ - 199, + 811, 1 ], "end": [ - 207, - 2 + 813, + 27 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8652": { + "8550": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8652, + "id": 8550, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "P" + }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "type": { - "primitive": "f32" - } + "lifetime": "'rwlock" }, { - "const": { - "expr": "N", - "is_literal": false, - "value": null + "type": { + "generic": "T" } } ], "constraints": [] } }, - "id": 8642, - "path": "Simd" + "id": 8474, + "path": "MappedRwLockReadGuard" } }, "generics": { "params": [ { "kind": { - "const": { + "type": { + "bounds": [], "default": null, - "type": { - "primitive": "usize" - } + "is_synthetic": false } }, - "name": "N" + "name": "P" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" } ], "where_predicates": [ @@ -731349,34 +747719,66 @@ "trait_bound": { "generic_params": [], "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "generic": "T" + } + } + }, + "name": "Target" + } + ] + } + }, + "id": 1967, + "path": "Deref" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", "trait": { "args": null, - "id": 8654, - "path": "SupportedLaneCount" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "const": { - "expr": "N", - "is_literal": false, - "value": null - } - } - ], - "constraints": [] + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } - }, - "id": 8653, - "path": "LaneCount" + } } + ], + "generic_params": [], + "type": { + "generic": "T" } } } @@ -731386,28 +747788,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8644, - 8645, - 8646, - 8647, - 8648, - 8649, - 8650, - 8651 - ], - "provided_trait_methods": [ - "mul_add", - "sqrt", - "log", - "ceil", - "floor", - "round", - "trunc" + 1965 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 8643, - "path": "StdFloat" + "id": 1968, + "path": "Receiver" } } }, @@ -731415,243 +747802,420 @@ "name": null, "span": { "begin": [ - 199, + 378, 1 ], "end": [ - 207, - 2 + 380, + 26 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "8655": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8551": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8655, + "id": 8551, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, "links": {}, - "name": "fract", + "name": null, "span": { "begin": [ - 199, + 138, 1 ], "end": [ - 207, - 2 + 138, + 36 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "8656": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8552": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8656, + "id": 8552, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" + }, + "id": 8474, + "path": "MappedRwLockReadGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" } } }, "links": {}, - "name": "sin", + "name": null, "span": { "begin": [ - 199, + 2866, 1 ], "end": [ - 207, - 2 + 2866, + 46 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "8657": { + "8553": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8657, + "id": 8553, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "is_negative": true, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, "links": {}, - "name": "cos", + "name": null, "span": { "begin": [ - 199, + 187, 1 ], "end": [ - 207, - 2 + 187, + 58 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8658": { + "8554": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8658, + "id": 8554, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, "links": {}, - "name": "exp", + "name": null, "span": { "begin": [ - 199, + 190, 1 ], "end": [ - 207, - 2 + 190, + 71 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8659": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8555": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8659, + "id": 8555, "inner": { "function": { "generics": { @@ -731670,42 +748234,46 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, - "output": { - "generic": "Self" - } + "output": null } } }, "links": {}, - "name": "exp2", + "name": "drop", "span": { "begin": [ - 199, - 1 + 1120, + 5 ], "end": [ - 207, - 2 + 1126, + 6 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "866": { + "8556": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"default_iters_hash\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 866, + "id": 8556, "inner": { "impl": { "blanket_impl": null, @@ -731719,20 +748287,15 @@ }, { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8474, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -731740,22 +748303,24 @@ { "kind": { "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [] @@ -731764,13 +748329,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 865 + 8555 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 9, + "path": "Drop" } } }, @@ -731778,81 +748343,56 @@ "name": null, "span": { "begin": [ - 1455, + 1119, 1 ], "end": [ - 1460, + 1127, 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8660": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8557": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8660, + "id": 8557, "inner": { - "function": { + "assoc_type": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "type": { + "generic": "T" } } }, "links": {}, - "name": "ln", + "name": "Target", "span": { "begin": [ - 199, - 1 + 1171, + 5 ], "end": [ - 207, - 2 + 1171, + 21 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8661": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8558": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8661, + "id": 8558, "inner": { "function": { "generics": { @@ -731871,132 +748411,193 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } } } } }, "links": {}, - "name": "log2", + "name": "deref", "span": { "begin": [ - 199, - 1 + 1173, + 5 ], "end": [ - 207, - 2 + 1177, + 6 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8662": { + "8559": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8662, + "id": 8559, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8557, + 8558 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1967, + "path": "Deref" } } }, "links": {}, - "name": "log10", + "name": null, "span": { "begin": [ - 199, + 1170, 1 ], "end": [ - 207, + 1178, 2 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8663": { + "856": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8663, + "id": 856, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { - "primitive": "f64" + "generic": "K" } }, { - "const": { - "expr": "N", - "is_literal": false, - "value": null + "type": { + "generic": "V" } } ], "constraints": [] } }, - "id": 8642, - "path": "Simd" + "id": 756, + "path": "Iter" } }, "generics": { "params": [ { "kind": { - "const": { + "type": { + "bounds": [], "default": null, - "type": { - "primitive": "usize" - } + "is_synthetic": false } }, - "name": "N" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -732008,33 +748609,27 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 8654, - "path": "SupportedLaneCount" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "const": { - "expr": "N", - "is_literal": false, - "value": null - } - } - ], - "constraints": [] - } - }, - "id": 8653, - "path": "LaneCount" - } + "generic": "U" } } } @@ -732044,28 +748639,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 8655, - 8656, - 8657, - 8658, - 8659, - 8660, - 8661, - 8662 - ], - "provided_trait_methods": [ - "mul_add", - "sqrt", - "log", - "ceil", - "floor", - "round", - "trunc" + 332, + 334 ], + "provided_trait_methods": [], "trait": { - "args": null, - "id": 8643, - "path": "StdFloat" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, @@ -732073,151 +748665,23 @@ "name": null, "span": { "begin": [ - 199, + 827, 1 ], "end": [ - 207, - 2 + 829, + 24 ], - "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8665": { - "attrs": [ - { - "other": "#[doc(inline)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8665, - "inner": { - "use": { - "id": 8643, - "is_glob": false, - "name": "StdFloat", - "source": "crate::std_float::StdFloat" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 642, - 5 - ], - "end": [ - 642, - 40 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8666": { - "attrs": [ - { - "other": "#[doc(inline)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8666, - "inner": { - "use": { - "id": 8667, - "is_glob": true, - "name": "simd", - "source": "core::simd" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 639, - 5 - ], - "end": [ - 639, - 27 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8668": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"is_subnormal\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns `true` if the number is [subnormal].\n\n```\nlet min = f32::MIN_POSITIVE; // 1.17549435e-38f32\nlet max = f32::MAX;\nlet lower_than_min = 1.0e-40_f32;\nlet zero = 0.0_f32;\n\nassert!(!min.is_subnormal());\nassert!(!max.is_subnormal());\n\nassert!(!zero.is_subnormal());\nassert!(!f32::NAN.is_subnormal());\nassert!(!f32::INFINITY.is_subnormal());\n// Values between `0` and `min` are Subnormal.\nassert!(lower_than_min.is_subnormal());\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", - "id": 8668, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_subnormal", - "span": { - "begin": [ - 608, - 5 - ], - "end": [ - 608, - 44 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "867": { + "8560": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 867, + "id": 8560, "inner": { "function": { "generics": { @@ -732263,7 +748727,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -732275,7 +748739,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -732286,35 +748750,124 @@ "name": "fmt", "span": { "begin": [ - 1464, + 1230, 5 ], "end": [ - 1466, + 1232, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8670": { + "8561": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the minimum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for minNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids minNum's problems with associativity.\nThis also matches the behavior of libm’s fmin. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\nlet x = 1.0f32;\nlet y = 2.0f32;\n\nassert_eq!(x.min(y), x);\n```", - "id": 8670, + "docs": null, + "id": 8561, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8474, + "path": "MappedRwLockReadGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8560 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1229, + 1 + ], + "end": [ + 1233, + 2 + ], + "filename": "std/src/sync/poison/rwlock.rs" + }, + "visibility": "default" + }, + "8562": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8562, "inner": { "function": { "generics": { @@ -732325,7 +748878,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -732333,253 +748886,77 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "other", + "f", { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, "links": {}, - "name": "min", - "span": { - "begin": [ - 919, - 5 - ], - "end": [ - 919, - 46 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "8671": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 86656, is_soft: false}, feature: \"portable_simd\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Portable SIMD module.\n\nThis module offers a portable abstraction for SIMD operations\nthat is not bound to any particular hardware architecture.\n\n# What is \"portable\"?\n\nThis module provides a SIMD implementation that is fast and predictable on any target.\n\n### Portable SIMD works on every target\n\nUnlike target-specific SIMD in `std::arch`, portable SIMD compiles for every target.\nIn this regard, it is just like \"regular\" Rust.\n\n### Portable SIMD is consistent between targets\n\nA program using portable SIMD can expect identical behavior on any target.\nIn most regards, [`Simd`] can be thought of as a parallelized `[T; N]` and operates like a sequence of `T`.\n\nThis has one notable exception: a handful of older architectures (e.g. `armv7` and `powerpc`) flush [subnormal](`f32::is_subnormal`) `f32` values to zero.\nOn these architectures, subnormal `f32` input values are replaced with zeros, and any operation producing subnormal `f32` values produces zeros instead.\nThis doesn't affect most architectures or programs.\n\n### Operations use the best instructions available\n\nOperations provided by this module compile to the best available SIMD instructions.\n\nPortable SIMD is not a low-level vendor library, and operations in portable SIMD _do not_ necessarily map to a single instruction.\nInstead, they map to a reasonable implementation of the operation for the target.\n\nConsistency between targets is not compromised to use faster or fewer instructions.\nIn some cases, `std::arch` will provide a faster function that has slightly different behavior than the `std::simd` equivalent.\nFor example, `_mm_min_ps`[^1] can be slightly faster than [`SimdFloat::simd_min`](`num::SimdFloat::simd_min`), but does not conform to the IEEE standard also used by [`f32::min`].\nWhen necessary, [`Simd`] can be converted to the types provided by `std::arch` to make use of target-specific functions.\n\nMany targets simply don't have SIMD, or don't support SIMD for a particular element type.\nIn those cases, regular scalar operations are generated instead.\n\n[^1]: `_mm_min_ps(x, y)` is equivalent to `x.simd_lt(y).select(x, y)`", - "id": 8671, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 8665, - 8666 - ] - } - }, - "links": { - "`Simd`": 8642, - "`f32::is_subnormal`": 8668, - "`f32::min`": 8670, - "`num::SimdFloat::simd_min`": 8669 - }, - "name": "simd", - "span": { - "begin": [ - 635, - 1 - ], - "end": [ - 635, - 13 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8672": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": "This macro handles automatic differentiation.", - "id": 8672, - "inner": { - "use": { - "id": 8673, - "is_glob": false, - "name": "autodiff_forward", - "source": "core::autodiff::autodiff_forward" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 649, - 30 - ], - "end": [ - 649, - 46 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8674": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": "This macro handles automatic differentiation.", - "id": 8674, - "inner": { - "use": { - "id": 8675, - "is_glob": false, - "name": "autodiff_reverse", - "source": "core::autodiff::autodiff_reverse" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 649, - 48 - ], - "end": [ - 649, - 64 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8676": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 124509, is_soft: false}, feature: \"autodiff\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "This module provides support for automatic differentiation.", - "id": 8676, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 8672, - 8674 - ] - } - }, - "links": {}, - "name": "autodiff", - "span": { - "begin": [ - 647, - 1 - ], - "end": [ - 647, - 17 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8677": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"wake_trait\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8677, - "inner": { - "use": { - "id": 8678, - "is_glob": true, - "name": "task", - "source": "alloc::task" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 658, - 5 - ], - "end": [ - 658, - 28 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8679": { - "attrs": [ - { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"futures_api\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8679, - "inner": { - "use": { - "id": 8680, - "is_glob": true, - "name": "task", - "source": "core::task" - } - }, - "links": {}, - "name": null, + "name": "fmt", "span": { "begin": [ - 661, + 1237, 5 ], "end": [ - 661, - 27 + 1239, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "868": { + "8563": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 868, + "id": 8563, "inner": { "impl": { "blanket_impl": null, @@ -732593,20 +748970,15 @@ }, { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8474, + "path": "MappedRwLockReadGuard" } }, "generics": { @@ -732618,33 +748990,22 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 3, + "path": "Sized" } } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [ + }, { "trait_bound": { "generic_params": [], "modifier": "none", "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 436, + "path": "fmt::Display" } } } @@ -732653,7 +749014,7 @@ "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [] @@ -732662,13 +749023,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 867 + 8562 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 436, + "path": "Display" } } }, @@ -732676,416 +749037,407 @@ "name": null, "span": { "begin": [ - 1463, + 1236, 1 ], "end": [ - 1467, + 1240, 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8681": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"futures_api\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Types and Traits for working with asynchronous tasks.", - "id": 8681, - "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 8677, - 8679 - ] - } - }, - "links": {}, - "name": "task", - "span": { - "begin": [ - 653, - 1 - ], - "end": [ - 653, - 13 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8682": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"simd_aarch64\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8682, - "inner": { - "use": { - "id": 8683, - "is_glob": false, - "name": "is_aarch64_feature_detected", - "source": "std_detect::is_aarch64_feature_detected" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 676, - 5 - ], - "end": [ - 676, - 53 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8684": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111190, is_soft: false}, feature: \"stdarch_arm_feature_detection\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8684, - "inner": { - "use": { - "id": 8685, - "is_glob": false, - "name": "is_arm_feature_detected", - "source": "std_detect::is_arm_feature_detected" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 678, - 5 - ], - "end": [ - 678, - 49 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8686": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117425, is_soft: false}, feature: \"is_loongarch_feature_detected\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8686, - "inner": { - "use": { - "id": 8687, - "is_glob": false, - "name": "is_loongarch_feature_detected", - "source": "std_detect::is_loongarch_feature_detected" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 680, - 5 - ], - "end": [ - 680, - 55 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8688": { + "8569": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111192, is_soft: false}, feature: \"is_riscv_feature_detected\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8688, - "inner": { - "use": { - "id": 8689, - "is_glob": false, - "name": "is_riscv_feature_detected", - "source": "std_detect::is_riscv_feature_detected" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 682, - 5 - ], - "end": [ - 682, - 51 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "869": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 869, + "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data,\ne.g. an enum variant.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockWriteGuard::map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockWriteGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will be poisoned.", + "id": 8569, "inner": { - "assoc_type": { - "bounds": [], + "function": { "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "tuple": [ + "params": [ { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", + "kind": { "type": { - "generic": "K" + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" } } }, { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], "type": { - "generic": "V" + "generic": "U" } } } ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "orig", + { + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + } } } }, - "links": {}, - "name": "Item", - "span": { - "begin": [ - 1941, - 5 - ], - "end": [ - 1941, - 32 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "8690": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135413, is_soft: false}, feature: \"stdarch_s390x_feature_detection\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8690, - "inner": { - "use": { - "id": 8691, - "is_glob": false, - "name": "is_s390x_feature_detected", - "source": "std_detect::is_s390x_feature_detected" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 684, - 5 - ], - "end": [ - 684, - 51 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8692": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"simd_x86\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8692, - "inner": { - "use": { - "id": 8693, - "is_glob": false, - "name": "is_x86_feature_detected", - "source": "std_detect::is_x86_feature_detected" - } + "links": { + "`MappedRwLockWriteGuard`": 8505 }, - "links": {}, - "name": null, + "name": "map", "span": { "begin": [ - 686, + 1033, 5 ], "end": [ - 686, - 49 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8694": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111188, is_soft: false}, feature: \"stdarch_mips_feature_detection\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8694, - "inner": { - "use": { - "id": 8695, - "is_glob": false, - "name": "is_mips_feature_detected", - "source": "std_detect::is_mips_feature_detected" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 688, - 26 - ], - "end": [ - 688, - 50 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "8696": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111188, is_soft: false}, feature: \"stdarch_mips_feature_detection\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8696, - "inner": { - "use": { - "id": 8697, - "is_glob": false, - "name": "is_mips64_feature_detected", - "source": "std_detect::is_mips64_feature_detected" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 688, - 52 - ], - "end": [ - 688, - 78 + 1051, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "public" }, - "8698": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111191, is_soft: false},\nfeature: \"stdarch_powerpc_feature_detection\"}}]" - } - ], + "857": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8698, + "id": 857, "inner": { - "use": { - "id": 8699, - "is_glob": false, - "name": "is_powerpc_feature_detected", - "source": "std_detect::is_powerpc_feature_detected" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } } }, "links": {}, "name": null, "span": { "begin": [ - 690, - 26 + 138, + 1 ], "end": [ - 690, - 53 + 138, + 36 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "870": { + "8570": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 870, + "docs": "Makes a [`MappedRwLockWriteGuard`] for a component of the borrowed data.\nThe original guard is returned as an `Err(...)` if the closure returns\n`None`.\n\nThe `RwLock` is already locked for writing, so this cannot fail.\n\nThis is an associated function that needs to be used as\n`MappedRwLockWriteGuard::filter_map(...)`. A method would interfere with\nmethods of the same name on the contents of the `MappedRwLockWriteGuard`\nused through `Deref`.\n\n# Panics\n\nIf the closure panics, the guard will be dropped (unlocked) and the RwLock will be poisoned.", + "id": 8570, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + ], + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "U" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "has_body": true, "header": { @@ -733097,15 +749449,15 @@ "sig": { "inputs": [ [ - "self", + "orig", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "f", + { + "generic": "F" } ] ], @@ -733117,513 +749469,1281 @@ "args": [ { "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "K" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] } }, - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "V" - } - } - } - ] + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + } + }, + { + "type": { + "generic": "Self" } } ], "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 57, + "path": "Result" } } } } }, - "links": {}, - "name": "next", + "links": { + "`MappedRwLockWriteGuard`": 8505 + }, + "name": "filter_map", "span": { "begin": [ - 1944, + 1068, 5 ], "end": [ - 1946, + 1094, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "default" + "visibility": "public" }, - "8700": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111191, is_soft: false},\nfeature: \"stdarch_powerpc_feature_detection\"}}]" - } - ], + "8571": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8700, + "id": 8571, "inner": { - "use": { - "id": 8701, - "is_glob": false, - "name": "is_powerpc64_feature_detected", - "source": "std_detect::is_powerpc64_feature_detected" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8569, + 8570 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, "name": null, "span": { "begin": [ - 690, - 55 + 1018, + 1 ], "end": [ - 690, - 84 + 1095, + 2 ], - "filename": "std/src/lib.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8702": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"simd_arch\"}}]" - } - ], + "8572": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8702, + "id": 8572, "inner": { - "use": { - "id": 8703, - "is_glob": true, - "name": "arch", - "source": "core::arch" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 673, - 5 - ], - "end": [ - 673, - 27 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" + "span": null, + "visibility": "default" }, - "8704": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"simd_arch\"}}]" - } - ], + "8573": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "SIMD and vendor intrinsics module.\n\nThis module is intended to be the gateway to architecture-specific\nintrinsic functions, typically related to SIMD (but not always!). Each\narchitecture that Rust compiles to may contain a submodule here, which\nmeans that this is not a portable module! If you're writing a portable\nlibrary take care when using these APIs!\n\nUnder this module you'll find an architecture-named module, such as\n`x86_64`. Each `#[cfg(target_arch)]` that Rust can compile to may have a\nmodule entry here, only present on that particular target. For example the\n`i686-pc-windows-msvc` target will have an `x86` module here, whereas\n`x86_64-pc-windows-msvc` has `x86_64`.\n\n[rfc]: https://github.com/rust-lang/rfcs/pull/2325\n[tracked]: https://github.com/rust-lang/rust/issues/48556\n\n# Overview\n\nThis module exposes vendor-specific intrinsics that typically correspond to\na single machine instruction. These intrinsics are not portable: their\navailability is architecture-dependent, and not all machines of that\narchitecture might provide the intrinsic.\n\nThe `arch` module is intended to be a low-level implementation detail for\nhigher-level APIs. Using it correctly can be quite tricky as you need to\nensure at least a few guarantees are upheld:\n\n* The correct architecture's module is used. For example the `arm` module\n isn't available on the `x86_64-unknown-linux-gnu` target. This is\n typically done by ensuring that `#[cfg]` is used appropriately when using\n this module.\n* The CPU the program is currently running on supports the function being\n called. For example it is unsafe to call an AVX2 function on a CPU that\n doesn't actually support AVX2.\n\nAs a result of the latter of these guarantees all intrinsics in this module\nare `unsafe` and extra care needs to be taken when calling them!\n\n# CPU Feature Detection\n\nIn order to call these APIs in a safe fashion there's a number of\nmechanisms available to ensure that the correct CPU feature is available\nto call an intrinsic. Let's consider, for example, the `_mm256_add_epi64`\nintrinsics on the `x86` and `x86_64` architectures. This function requires\nthe AVX2 feature as [documented by Intel][intel-dox] so to correctly call\nthis function we need to (a) guarantee we only call it on `x86`/`x86_64`\nand (b) ensure that the CPU feature is available\n\n[intel-dox]: https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm256_add_epi64&expand=100\n\n## Static CPU Feature Detection\n\nThe first option available to us is to conditionally compile code via the\n`#[cfg]` attribute. CPU features correspond to the `target_feature` cfg\navailable, and can be used like so:\n\n```ignore\n#[cfg(\n all(\n any(target_arch = \"x86\", target_arch = \"x86_64\"),\n target_feature = \"avx2\"\n )\n)]\nfn foo() {\n #[cfg(target_arch = \"x86\")]\n use std::arch::x86::_mm256_add_epi64;\n #[cfg(target_arch = \"x86_64\")]\n use std::arch::x86_64::_mm256_add_epi64;\n\n unsafe {\n _mm256_add_epi64(...);\n }\n}\n```\n\nHere we're using `#[cfg(target_feature = \"avx2\")]` to conditionally compile\nthis function into our module. This means that if the `avx2` feature is\n*enabled statically* then we'll use the `_mm256_add_epi64` function at\nruntime. The `unsafe` block here can be justified through the usage of\n`#[cfg]` to only compile the code in situations where the safety guarantees\nare upheld.\n\nStatically enabling a feature is typically done with the `-C\ntarget-feature` or `-C target-cpu` flags to the compiler. For example if\nyour local CPU supports AVX2 then you can compile the above function with:\n\n```sh\n$ RUSTFLAGS='-C target-cpu=native' cargo build\n```\n\nOr otherwise you can specifically enable just the AVX2 feature:\n\n```sh\n$ RUSTFLAGS='-C target-feature=+avx2' cargo build\n```\n\nNote that when you compile a binary with a particular feature enabled it's\nimportant to ensure that you only run the binary on systems which satisfy\nthe required feature set.\n\n## Dynamic CPU Feature Detection\n\nSometimes statically dispatching isn't quite what you want. Instead you\nmight want to build a portable binary that runs across a variety of CPUs,\nbut at runtime it selects the most optimized implementation available. This\nallows you to build a \"least common denominator\" binary which has certain\nsections more optimized for different CPUs.\n\nTaking our previous example from before, we're going to compile our binary\n*without* AVX2 support, but we'd like to enable it for just one function.\nWe can do that in a manner like:\n\n```ignore\nfn foo() {\n #[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\n {\n if is_x86_feature_detected!(\"avx2\") {\n return unsafe { foo_avx2() };\n }\n }\n\n // fallback implementation without using AVX2\n}\n\n#[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\n#[target_feature(enable = \"avx2\")]\nunsafe fn foo_avx2() {\n #[cfg(target_arch = \"x86\")]\n use std::arch::x86::_mm256_add_epi64;\n #[cfg(target_arch = \"x86_64\")]\n use std::arch::x86_64::_mm256_add_epi64;\n\n unsafe { _mm256_add_epi64(...); }\n}\n```\n\nThere's a couple of components in play here, so let's go through them in\ndetail!\n\n* First up we notice the `is_x86_feature_detected!` macro. Provided by\n the standard library, this macro will perform necessary runtime detection\n to determine whether the CPU the program is running on supports the\n specified feature. In this case the macro will expand to a boolean\n expression evaluating to whether the local CPU has the AVX2 feature or\n not.\n\n Note that this macro, like the `arch` module, is platform-specific. For\n example calling `is_x86_feature_detected!(\"avx2\")` on ARM will be a\n compile time error. To ensure we don't hit this error a statement level\n `#[cfg]` is used to only compile usage of the macro on `x86`/`x86_64`.\n\n* Next up we see our AVX2-enabled function, `foo_avx2`. This function is\n decorated with the `#[target_feature]` attribute which enables a CPU\n feature for just this one function. Using a compiler flag like `-C\n target-feature=+avx2` will enable AVX2 for the entire program, but using\n an attribute will only enable it for the one function. Usage of the\n `#[target_feature]` attribute currently requires the function to also be\n `unsafe`, as we see here. This is because the function can only be\n correctly called on systems which have the AVX2 (like the intrinsics\n themselves).\n\nAnd with all that we should have a working program! This program will run\nacross all machines and it'll use the optimized AVX2 implementation on\nmachines where support is detected.\n\n# Ergonomics\n\nIt's important to note that using the `arch` module is not the easiest\nthing in the world, so if you're curious to try it out you may want to\nbrace yourself for some wordiness!\n\nThe primary purpose of this module is to enable stable crates on crates.io\nto build up much more ergonomic abstractions which end up using SIMD under\nthe hood. Over time these abstractions may also move into the standard\nlibrary itself, but for now this module is tasked with providing the bare\nminimum necessary to use vendor intrinsics on stable Rust.\n\n# Other architectures\n\nThis documentation is only for one particular architecture, you can find\nothers at:\n\n* [`x86`]\n* [`x86_64`]\n* [`arm`]\n* [`aarch64`]\n* [`riscv32`]\n* [`riscv64`]\n* [`mips`]\n* [`mips64`]\n* [`powerpc`]\n* [`powerpc64`]\n* [`nvptx`]\n* [`wasm32`]\n* [`loongarch32`]\n* [`loongarch64`]\n* [`s390x`]\n\n[`x86`]: ../../core/arch/x86/index.html\n[`x86_64`]: ../../core/arch/x86_64/index.html\n[`arm`]: ../../core/arch/arm/index.html\n[`aarch64`]: ../../core/arch/aarch64/index.html\n[`riscv32`]: ../../core/arch/riscv32/index.html\n[`riscv64`]: ../../core/arch/riscv64/index.html\n[`mips`]: ../../core/arch/mips/index.html\n[`mips64`]: ../../core/arch/mips64/index.html\n[`powerpc`]: ../../core/arch/powerpc/index.html\n[`powerpc64`]: ../../core/arch/powerpc64/index.html\n[`nvptx`]: ../../core/arch/nvptx/index.html\n[`wasm32`]: ../../core/arch/wasm32/index.html\n[`loongarch32`]: ../../core/arch/loongarch32/index.html\n[`loongarch64`]: ../../core/arch/loongarch64/index.html\n[`s390x`]: ../../core/arch/s390x/index.html\n\n# Examples\n\nFirst let's take a look at not actually using any intrinsics but instead\nusing LLVM's auto-vectorization to produce optimized vectorized code for\nAVX2 and also for the default platform.\n\n```rust\nfn main() {\n let mut dst = [0];\n add_quickly(&[1], &[2], &mut dst);\n assert_eq!(dst[0], 3);\n}\n\nfn add_quickly(a: &[u8], b: &[u8], c: &mut [u8]) {\n #[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\n {\n // Note that this `unsafe` block is safe because we're testing\n // that the `avx2` feature is indeed available on our CPU.\n if is_x86_feature_detected!(\"avx2\") {\n return unsafe { add_quickly_avx2(a, b, c) };\n }\n }\n\n add_quickly_fallback(a, b, c)\n}\n\n#[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\n#[target_feature(enable = \"avx2\")]\nunsafe fn add_quickly_avx2(a: &[u8], b: &[u8], c: &mut [u8]) {\n add_quickly_fallback(a, b, c) // the function below is inlined here\n}\n\nfn add_quickly_fallback(a: &[u8], b: &[u8], c: &mut [u8]) {\n for ((a, b), c) in a.iter().zip(b).zip(c) {\n *c = *a + *b;\n }\n}\n```\n\nNext up let's take a look at an example of manually using intrinsics. Here\nwe'll be using SSE4.1 features to implement hex encoding.\n\n```\nfn main() {\n let mut dst = [0; 32];\n hex_encode(b\"\\x01\\x02\\x03\", &mut dst);\n assert_eq!(&dst[..6], b\"010203\");\n\n let mut src = [0; 16];\n for i in 0..16 {\n src[i] = (i + 1) as u8;\n }\n hex_encode(&src, &mut dst);\n assert_eq!(&dst, b\"0102030405060708090a0b0c0d0e0f10\");\n}\n\npub fn hex_encode(src: &[u8], dst: &mut [u8]) {\n let len = src.len().checked_mul(2).unwrap();\n assert!(dst.len() >= len);\n\n #[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\n {\n if is_x86_feature_detected!(\"sse4.1\") {\n return unsafe { hex_encode_sse41(src, dst) };\n }\n }\n\n hex_encode_fallback(src, dst)\n}\n\n// translated from\n// \n#[target_feature(enable = \"sse4.1\")]\n#[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\nunsafe fn hex_encode_sse41(mut src: &[u8], dst: &mut [u8]) {\n #[cfg(target_arch = \"x86\")]\n use std::arch::x86::*;\n #[cfg(target_arch = \"x86_64\")]\n use std::arch::x86_64::*;\n\n unsafe {\n let ascii_zero = _mm_set1_epi8(b'0' as i8);\n let nines = _mm_set1_epi8(9);\n let ascii_a = _mm_set1_epi8((b'a' - 9 - 1) as i8);\n let and4bits = _mm_set1_epi8(0xf);\n\n let mut i = 0_isize;\n while src.len() >= 16 {\n let invec = _mm_loadu_si128(src.as_ptr() as *const _);\n\n let masked1 = _mm_and_si128(invec, and4bits);\n let masked2 = _mm_and_si128(_mm_srli_epi64(invec, 4), and4bits);\n\n // return 0xff corresponding to the elements > 9, or 0x00 otherwise\n let cmpmask1 = _mm_cmpgt_epi8(masked1, nines);\n let cmpmask2 = _mm_cmpgt_epi8(masked2, nines);\n\n // add '0' or the offset depending on the masks\n let masked1 = _mm_add_epi8(\n masked1,\n _mm_blendv_epi8(ascii_zero, ascii_a, cmpmask1),\n );\n let masked2 = _mm_add_epi8(\n masked2,\n _mm_blendv_epi8(ascii_zero, ascii_a, cmpmask2),\n );\n\n // interleave masked1 and masked2 bytes\n let res1 = _mm_unpacklo_epi8(masked2, masked1);\n let res2 = _mm_unpackhi_epi8(masked2, masked1);\n\n _mm_storeu_si128(dst.as_mut_ptr().offset(i * 2) as *mut _, res1);\n _mm_storeu_si128(\n dst.as_mut_ptr().offset(i * 2 + 16) as *mut _,\n res2,\n );\n src = &src[16..];\n i += 16;\n }\n\n let i = i as usize;\n hex_encode_fallback(src, &mut dst[i * 2..]);\n }\n}\n\nfn hex_encode_fallback(src: &[u8], dst: &mut [u8]) {\n fn hex(byte: u8) -> u8 {\n static TABLE: &[u8] = b\"0123456789abcdef\";\n TABLE[byte as usize]\n }\n\n for (byte, slots) in src.iter().zip(dst.chunks_mut(2)) {\n slots[0] = hex((*byte >> 4) & 0xf);\n slots[1] = hex(*byte & 0xf);\n }\n}\n```", - "id": 8704, + "docs": null, + "id": 8573, "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 8682, - 8684, - 8686, - 8688, - 8690, - 8692, - 8694, - 8696, - 8698, - 8700, - 8702 - ] + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } }, "links": {}, - "name": "arch", - "span": { - "begin": [ - 666, - 1 - ], - "end": [ - 666, - 13 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, - "871": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8574": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 871, + "id": 8574, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8575": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8575, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "usize" + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] + "name": "'rwlock" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } } }, - "id": 51, - "path": "Option" + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" } } - ] - } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, - "name": "size_hint", - "span": { - "begin": [ - 1948, - 5 - ], - "end": [ - 1950, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "8717": { + "8576": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8717, + "id": 8576, "inner": { - "use": { - "id": 8718, - "is_glob": false, - "name": "cleanup", - "source": "self::imp::cleanup" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } } }, "links": {}, "name": null, "span": { "begin": [ - 3, - 21 + 212, + 1 ], "end": [ - 3, - 28 + 212, + 38 ], - "filename": "std/src/sys/pal/unix/stack_overflow.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "8719": { + "8577": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8719, + "id": 8577, "inner": { - "use": { - "id": 8720, - "is_glob": false, - "name": "init", - "source": "self::imp::init" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } } }, "links": {}, "name": null, "span": { "begin": [ - 3, - 30 + 221, + 1 ], "end": [ - 3, - 34 + 221, + 41 ], - "filename": "std/src/sys/pal/unix/stack_overflow.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "872": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8578": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 872, + "id": 8578, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "usize" + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, "links": {}, - "name": "count", + "name": null, "span": { "begin": [ - 1952, - 5 + 767, + 1 ], "end": [ - 1954, - 6 + 769, + 24 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8725": { - "attrs": [ - { - "other": "#[allow(unused_imports)]" - } - ], + "8579": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8725, + "id": 8579, "inner": { - "use": { - "id": 8726, - "is_glob": false, - "name": "signal", - "source": "libc::signal" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } } }, "links": {}, "name": null, "span": { "begin": [ - 230, + 785, 1 ], "end": [ - 230, - 22 + 785, + 28 ], - "filename": "std/src/sys/pal/unix/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "8727": { - "attrs": [ - { - "other": "#[allow(missing_docs, nonstandard_style)]" - } - ], - "crate_id": 0, + "858": { + "attrs": [], + "crate_id": 1, "deprecation": null, "docs": null, - "id": 8727, + "id": 858, "inner": { - "module": { - "is_crate": false, - "is_stripped": true, - "items": [ - 8725 - ] + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "qualified_path": { + "args": null, + "name": "Item", + "self_type": { + "generic": "I" + }, + "trait": { + "args": null, + "id": 49, + "path": "Iterator" + } + } + } } }, "links": {}, - "name": "unix", + "name": "Item", "span": { "begin": [ - 1, - 1 + 315, + 5 ], "end": [ - 443, - 2 + 315, + 14 ], - "filename": "std/src/sys/pal/unix/mod.rs" + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" }, - "visibility": { - "restricted": { - "parent": 8728, - "path": "::sys::pal" - } - } + "visibility": "default" }, - "8728": { - "attrs": [ - { - "other": "#[allow(missing_debug_implementations)]" - } - ], + "8580": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "The PAL (platform abstraction layer) contains platform-specific abstractions\nfor implementing the features in the other submodules, e.g. UNIX file\ndescriptors.\nPlatform-dependent platform abstraction.\n\nThe `std::sys` module is the abstracted interface through which\n`std` talks to the underlying operating system. It has different\nimplementations for different operating system families, today\njust Unix and Windows, and initial support for Redox.\n\nThe centralization of platform-specific code in this module is\nenforced by the \"platform abstraction layer\" tidy script in\n`tools/tidy/src/pal.rs`.\n\nThis module is closely related to the platform-independent system\nintegration code in `std::sys_common`. See that module's\ndocumentation for details.\n\nIn the future it would be desirable for the independent\nimplementations of this module to be extracted to their own crates\nthat `std` can link to, thus enabling their implementation\nout-of-tree via crate replacement. Though due to the complex\ninter-dependencies within `std` that will be a challenging goal to\nachieve.", - "id": 8728, + "docs": null, + "id": 8580, "inner": { - "module": { - "is_crate": false, - "is_stripped": true, + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, "items": [ - 8729 - ] + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } } }, "links": {}, - "name": "pal", + "name": null, "span": { "begin": [ - 1, + 811, 1 ], "end": [ - 93, + 813, 27 ], - "filename": "std/src/sys/pal/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": { - "restricted": { - "parent": 8730, - "path": "::sys" - } - } + "visibility": "default" }, - "8729": { + "8581": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8729, + "id": 8581, "inner": { - "use": { - "id": 8727, - "is_glob": true, - "name": "unix", - "source": "self::unix" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } } }, "links": {}, "name": null, "span": { "begin": [ - 30, - 9 + 827, + 1 ], "end": [ - 30, - 31 + 829, + 24 ], - "filename": "std/src/sys/pal/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "873": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8582": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 873, + "id": 8582, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "P" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, "generics": { "params": [ { @@ -733634,7 +750754,7 @@ "is_synthetic": false } }, - "name": "B" + "name": "P" }, { "kind": { @@ -733644,7 +750764,7 @@ "is_synthetic": false } }, - "name": "F" + "name": "T" } ], "where_predicates": [ @@ -733655,6 +750775,34 @@ "trait_bound": { "generic_params": [], "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "generic": "T" + } + } + }, + "name": "Target" + } + ] + } + }, + "id": 1967, + "path": "Deref" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", "trait": { "args": null, "id": 3, @@ -733665,7 +750813,7 @@ ], "generic_params": [], "type": { - "generic": "Self" + "generic": "P" } } }, @@ -733675,176 +750823,187 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "generic": "B" - }, - { - "qualified_path": { - "args": null, - "name": "Item", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 49, - "path": "" - } - } - } - ], - "output": { - "generic": "B" - } - } - }, - "id": 13, - "path": "FnMut" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "F" + "generic": "T" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "init", - { - "generic": "B" - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "B" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 1965 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1968, + "path": "Receiver" } } }, "links": {}, - "name": "fold", + "name": null, "span": { "begin": [ - 1956, - 5 + 378, + 1 ], "end": [ - 1962, - 6 + 380, + 26 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/ops/deref.rs" }, "visibility": "default" }, - "8738": { + "8583": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8738, + "id": 8583, "inner": { - "use": { - "id": 8739, - "is_glob": false, - "name": "AnonPipe", - "source": "unix::AnonPipe" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'rwlock" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } } }, "links": {}, "name": null, "span": { "begin": [ - 6, - 24 + 138, + 1 ], "end": [ - 6, - 32 + 138, + 36 ], - "filename": "std/src/sys/anonymous_pipe/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "874": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8584": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 874, + "id": 8584, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } + "lifetime": "'rwlock" }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8505, + "path": "MappedRwLockWriteGuard" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -733853,113 +751012,143 @@ "is_synthetic": false } }, - "name": "K" + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2866, + 1 + ], + "end": [ + 2866, + 46 + ], + "filename": "checkouts/rust/library/alloc/src/string.rs" + }, + "visibility": "default" + }, + "8585": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8585, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [] }, - "is_negative": false, + "is_negative": true, "is_synthetic": false, "is_unsafe": false, - "items": [ - 869, - 870, - 871, - 872, - 873 - ], - "provided_trait_methods": [ - "next_chunk", - "size_hint", - "count", - "last", - "advance_by", - "nth", - "step_by", - "chain", - "zip", - "intersperse", - "intersperse_with", - "map", - "for_each", - "filter", - "filter_map", - "enumerate", - "peekable", - "skip_while", - "take_while", - "map_while", - "skip", - "take", - "scan", - "flat_map", - "flatten", - "map_windows", - "fuse", - "inspect", - "by_ref", - "collect", - "try_collect", - "collect_into", - "partition", - "partition_in_place", - "is_partitioned", - "try_fold", - "try_for_each", - "fold", - "reduce", - "try_reduce", - "all", - "any", - "find", - "find_map", - "try_find", - "position", - "rposition", - "max", - "min", - "max_by_key", - "max_by", - "min_by_key", - "min_by", - "rev", - "unzip", - "copied", - "cloned", - "cycle", - "array_chunks", - "sum", - "product", - "cmp", - "cmp_by", - "partial_cmp", - "partial_cmp_by", - "eq", - "eq_by", - "ne", - "lt", - "le", - "gt", - "ge", - "is_sorted", - "is_sorted_by", - "is_sorted_by_key", - "__iterator_get_unchecked" - ], + "items": [], + "provided_trait_methods": [], "trait": { "args": null, - "id": 49, - "path": "Iterator" + "id": 1, + "path": "Send" } } }, @@ -733967,153 +751156,332 @@ "name": null, "span": { "begin": [ - 1940, + 224, 1 ], "end": [ - 1963, - 2 + 224, + 59 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8740": { - "attrs": [], + "8586": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8740, + "id": 8586, "inner": { - "use": { - "id": 8741, - "is_glob": false, - "name": "pipe", - "source": "unix::pipe" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } } }, "links": {}, "name": null, "span": { "begin": [ - 6, - 34 + 227, + 1 ], "end": [ - 6, - 38 + 227, + 72 ], - "filename": "std/src/sys/anonymous_pipe/mod.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8745": { + "8587": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8745, + "id": 8587, "inner": { - "use": { - "id": 8746, - "is_glob": false, - "name": "Args", - "source": "super::common::Args" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } } }, "links": {}, - "name": null, + "name": "drop", "span": { "begin": [ - 8, - 1 + 1131, + 5 ], "end": [ - 8, - 29 + 1138, + 6 ], - "filename": "std/src/sys/args/unix.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8747": { + "8588": { "attrs": [ { - "other": "#[allow(dead_code)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Global initialization and retrieval of command line arguments.\n\nOn some platforms these are stored during runtime startup,\nand on some they are retrieved from the system on demand.", - "id": 8747, + "docs": null, + "id": 8588, "inner": { - "module": { - "is_crate": false, - "is_stripped": true, + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, "items": [ - 8745 - ] + 8587 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 9, + "path": "Drop" + } } }, "links": {}, - "name": "unix", + "name": null, "span": { "begin": [ - 1, + 1130, 1 ], "end": [ - 197, + 1139, 2 ], - "filename": "std/src/sys/args/unix.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": { - "restricted": { - "parent": 8748, - "path": "::sys::args" - } - } + "visibility": "default" }, - "8749": { + "8589": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8749, + "id": 8589, "inner": { - "use": { - "id": 8747, - "is_glob": true, - "name": "unix", - "source": "unix" + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "T" + } } }, "links": {}, - "name": null, + "name": "Target", "span": { "begin": [ - 21, - 9 + 1182, + 5 ], "end": [ - 21, - 25 + 1182, + 21 ], - "filename": "std/src/sys/args/mod.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "875": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" + "859": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 859, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "generic": "I" + } } - ], + }, + "links": {}, + "name": "IntoIter", + "span": { + "begin": [ + 316, + 5 + ], + "end": [ + 316, + 18 + ], + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + }, + "visibility": "default" + }, + "8590": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 875, + "id": 8590, "inner": { "function": { "generics": { @@ -734144,129 +751512,195 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } } } } }, "links": {}, - "name": "len", + "name": "deref", "span": { "begin": [ - 1967, + 1184, 5 ], "end": [ - 1969, + 1188, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8753": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8753, - "inner": { - "use": { - "id": 8754, - "is_glob": false, - "name": "Env", - "source": "super::common::Env" + "8591": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 5, - 1 - ], - "end": [ - 5, - 28 - ], - "filename": "std/src/sys/env/unix.rs" - }, - "visibility": "public" - }, - "8755": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8755, + "id": 8591, "inner": { - "module": { - "is_crate": false, - "is_stripped": true, + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, "items": [ - 8753 - ] + 8589, + 8590 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1967, + "path": "Deref" + } } }, "links": {}, - "name": "unix", + "name": null, "span": { "begin": [ - 1, + 1181, 1 ], "end": [ - 126, + 1189, 2 ], - "filename": "std/src/sys/env/unix.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": { - "restricted": { - "parent": 8756, - "path": "::sys::env" - } - } + "visibility": "default" }, - "8757": { + "8592": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8757, + "id": 8592, "inner": { - "use": { - "id": 8755, - "is_glob": true, - "name": "unix", - "source": "unix" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } } }, "links": {}, - "name": null, + "name": "deref_mut", "span": { "begin": [ - 19, - 9 + 1193, + 5 ], "end": [ - 19, - 25 + 1197, + 6 ], - "filename": "std/src/sys/env/mod.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "876": { + "8593": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 876, + "id": 8593, "inner": { "impl": { "blanket_impl": null, @@ -734280,20 +751714,15 @@ }, { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8505, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -734301,22 +751730,24 @@ { "kind": { "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], "default": null, "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [] @@ -734325,16 +751756,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 875 - ], - "provided_trait_methods": [ - "len", - "is_empty" + 8592 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 43, - "path": "ExactSizeIterator" + "id": 1987, + "path": "DerefMut" } } }, @@ -734342,159 +751770,298 @@ "name": null, "span": { "begin": [ - 1965, + 1192, 1 ], "end": [ - 1970, + 1198, 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8762": { + "8594": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8762, + "id": 8594, "inner": { - "struct": { + "function": { "generics": { "params": [], "where_predicates": [] }, - "impls": [], - "kind": { - "tuple": [ - null - ] + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } } } }, "links": {}, - "name": "FileDesc", + "name": "fmt", "span": { "begin": [ - 32, - 1 + 1244, + 5 ], "end": [ - 32, - 30 + 1246, + 6 ], - "filename": "std/src/sys/fd/unix.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8763": { + "8595": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"not public\"),\nis_soft: false}, feature: \"fd\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8763, + "id": 8595, "inner": { - "module": { - "is_crate": false, - "is_stripped": true, + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8505, + "path": "MappedRwLockWriteGuard" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, "items": [ - 8762 - ] + 8594 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } } }, "links": {}, - "name": "unix", + "name": null, "span": { "begin": [ - 1, + 1243, 1 ], "end": [ - 677, + 1247, 2 ], - "filename": "std/src/sys/fd/unix.rs" - }, - "visibility": { - "restricted": { - "parent": 8764, - "path": "::sys::fd" - } - } - }, - "8765": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8765, - "inner": { - "use": { - "id": 8763, - "is_glob": true, - "name": "unix", - "source": "unix" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 8, - 9 - ], - "end": [ - 8, - 25 - ], - "filename": "std/src/sys/fd/mod.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "8769": { + "8596": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8769, + "id": 8596, "inner": { - "use": { - "id": 8770, - "is_glob": false, - "name": "exists", - "source": "crate::sys::fs::common::exists" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } } }, "links": {}, - "name": null, + "name": "fmt", "span": { "begin": [ - 86, - 1 + 1251, + 5 ], "end": [ - 86, - 40 + 1253, + 6 ], - "filename": "std/src/sys/fs/unix.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, - "visibility": "public" + "visibility": "default" }, - "877": { + "8597": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 877, + "id": 8597, "inner": { "impl": { "blanket_impl": null, @@ -734508,20 +752075,15 @@ }, { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 756, - "path": "Iter" + "id": 8505, + "path": "MappedRwLockWriteGuard" } }, "generics": { @@ -734529,22 +752091,35 @@ { "kind": { "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "fmt::Display" + } + } + } + ], "default": null, "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [] @@ -734552,12 +752127,14 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 8596 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 878, - "path": "FusedIterator" + "id": 436, + "path": "Display" } } }, @@ -734565,782 +752142,486 @@ "name": null, "span": { "begin": [ - 1973, + 1250, 1 ], "end": [ - 1973, - 47 + 1254, + 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison/rwlock.rs" }, "visibility": "default" }, - "8771": { - "attrs": [], + "8599": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8771, + "id": 8599, "inner": { "use": { - "id": 8772, + "id": 495, "is_glob": false, - "name": "remove_dir_all", - "source": "remove_dir_impl::remove_dir_all" + "name": "Condvar", + "source": "self::condvar::Condvar" } }, "links": {}, "name": null, "span": { "begin": [ - 2180, + 64, 1 ], "end": [ - 2180, - 41 + 64, + 32 ], - "filename": "std/src/sys/fs/unix.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "8774": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8774, - "inner": { - "use": { - "id": 8775, - "is_glob": false, - "name": "chown", - "source": "unix::chown" + "86": { + "attrs": [ + { + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 12, - 24 - ], - "end": [ - 12, - 29 - ], - "filename": "std/src/sys/fs/mod.rs" - }, - "visibility": "public" - }, - "8776": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8776, + "id": 86, "inner": { "use": { - "id": 8777, + "id": 87, "is_glob": false, - "name": "fchown", - "source": "unix::fchown" + "name": "log_syntax", + "source": "core::prelude::v1::log_syntax" } }, "links": {}, "name": null, "span": { "begin": [ - 12, - 31 + 51, + 64 ], "end": [ - 12, - 37 + 51, + 74 ], - "filename": "std/src/sys/fs/mod.rs" + "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "8778": { + "860": { "attrs": [], - "crate_id": 0, + "crate_id": 1, "deprecation": null, "docs": null, - "id": 8778, + "id": 860, "inner": { - "use": { - "id": 8779, - "is_glob": false, - "name": "lchown", - "source": "unix::lchown" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "I" + } + } } }, "links": {}, - "name": null, + "name": "into_iter", "span": { "begin": [ - 12, - 39 + 319, + 5 ], "end": [ - 12, - 45 + 319, + 28 ], - "filename": "std/src/sys/fs/mod.rs" + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" }, - "visibility": "public" + "visibility": "default" }, - "8780": { - "attrs": [], + "8600": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8780, + "id": 8600, "inner": { "use": { - "id": 8781, + "id": 8367, "is_glob": false, - "name": "mkfifo", - "source": "unix::mkfifo" + "name": "MappedMutexGuard", + "source": "self::mutex::MappedMutexGuard" } }, "links": {}, "name": null, "span": { "begin": [ - 12, - 47 + 66, + 1 ], "end": [ - 12, - 53 + 66, + 39 ], - "filename": "std/src/sys/fs/mod.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "8782": { + "8601": { "attrs": [ { - "other": "#[(not(target_os = \"fuchsia\"))]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8782, + "id": 8601, "inner": { "use": { - "id": 8783, + "id": 496, "is_glob": false, - "name": "chroot", - "source": "unix::chroot" + "name": "Mutex", + "source": "self::mutex::Mutex" } }, "links": {}, "name": null, "span": { "begin": [ - 14, - 9 + 68, + 23 ], "end": [ - 14, - 30 + 68, + 28 ], - "filename": "std/src/sys/fs/mod.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "8784": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8784, - "inner": { - "use": { - "id": 8785, - "is_glob": false, - "name": "DirBuilder", - "source": "imp::DirBuilder" + "8602": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 56, - 5 - ], - "end": [ - 56, - 15 - ], - "filename": "std/src/sys/fs/mod.rs" - }, - "visibility": "public" - }, - "8786": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8786, + "id": 8602, "inner": { "use": { - "id": 8787, + "id": 7944, "is_glob": false, - "name": "DirEntry", - "source": "imp::DirEntry" + "name": "MutexGuard", + "source": "self::mutex::MutexGuard" } }, "links": {}, "name": null, "span": { "begin": [ - 56, - 17 + 68, + 30 ], "end": [ - 56, - 25 + 68, + 40 ], - "filename": "std/src/sys/fs/mod.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "8788": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8788, - "inner": { - "use": { - "id": 8789, - "is_glob": false, - "name": "File", - "source": "imp::File" + "8603": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 56, - 27 - ], - "end": [ - 56, - 31 - ], - "filename": "std/src/sys/fs/mod.rs" - }, - "visibility": "public" - }, - "8790": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8790, + "id": 8603, "inner": { "use": { - "id": 8791, + "id": 8474, "is_glob": false, - "name": "FileAttr", - "source": "imp::FileAttr" + "name": "MappedRwLockReadGuard", + "source": "self::rwlock::MappedRwLockReadGuard" } }, "links": {}, "name": null, "span": { "begin": [ - 56, - 33 + 70, + 24 ], "end": [ - 56, - 41 + 70, + 45 ], - "filename": "std/src/sys/fs/mod.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "8792": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8792, - "inner": { - "use": { - "id": 8793, - "is_glob": false, - "name": "FilePermissions", - "source": "imp::FilePermissions" + "8604": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 56, - 43 - ], - "end": [ - 56, - 58 - ], - "filename": "std/src/sys/fs/mod.rs" - }, - "visibility": "public" - }, - "8794": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8794, + "id": 8604, "inner": { "use": { - "id": 8795, + "id": 8505, "is_glob": false, - "name": "FileTimes", - "source": "imp::FileTimes" + "name": "MappedRwLockWriteGuard", + "source": "self::rwlock::MappedRwLockWriteGuard" } }, "links": {}, "name": null, "span": { "begin": [ - 56, - 60 + 70, + 47 ], "end": [ - 56, + 70, 69 ], - "filename": "std/src/sys/fs/mod.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "8796": { - "attrs": [], + "8605": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8796, + "id": 8605, "inner": { "use": { - "id": 8797, + "id": 8103, "is_glob": false, - "name": "FileType", - "source": "imp::FileType" + "name": "RwLock", + "source": "self::rwlock::RwLock" } }, "links": {}, "name": null, "span": { "begin": [ - 56, - 71 + 72, + 24 ], "end": [ - 56, - 79 + 72, + 30 ], - "filename": "std/src/sys/fs/mod.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "8798": { - "attrs": [], + "8606": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8798, + "id": 8606, "inner": { "use": { - "id": 8799, + "id": 8441, "is_glob": false, - "name": "OpenOptions", - "source": "imp::OpenOptions" + "name": "RwLockReadGuard", + "source": "self::rwlock::RwLockReadGuard" } }, "links": {}, "name": null, "span": { "begin": [ - 56, - 81 + 72, + 32 ], "end": [ - 56, - 92 + 72, + 47 ], - "filename": "std/src/sys/fs/mod.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "88": { + "8607": { "attrs": [ { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 88, + "id": 8607, "inner": { "use": { - "id": 89, + "id": 8444, "is_glob": false, - "name": "log_syntax", - "source": "core::prelude::v1::log_syntax" + "name": "RwLockWriteGuard", + "source": "self::rwlock::RwLockWriteGuard" } }, "links": {}, "name": null, "span": { "begin": [ - 51, - 64 + 72, + 49 ], "end": [ - 51, - 74 + 72, + 65 ], - "filename": "std/src/prelude/v1.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "880": { - "attrs": [], + "8609": { + "attrs": [ + { + "other": "#[(panic = \"unwind\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 880, + "docs": "Creates a `PoisonError`.\n\nThis is generally created by methods like [`Mutex::lock`](crate::sync::Mutex::lock)\nor [`RwLock::read`](crate::sync::RwLock::read).\n\nThis method may panic if std was built with `panic=\"abort\"`.", + "id": 8609, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 758, - "path": "IterMut" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "data", + { + "generic": "T" } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" } } - } - ], - "generic_params": [], - "type": { - "generic": "V" + ], + "constraints": [] } - } + }, + "id": 8330, + "path": "PoisonError" } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" + } } } }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "8800": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8800, - "inner": { - "use": { - "id": 8801, - "is_glob": false, - "name": "ReadDir", - "source": "imp::ReadDir" - } + "links": { + "crate::sync::Mutex::lock": 8328, + "crate::sync::RwLock::read": 8440 }, - "links": {}, - "name": null, + "name": "new", "span": { "begin": [ - 57, + 271, 5 ], "end": [ - 57, - 12 - ], - "filename": "std/src/sys/fs/mod.rs" - }, - "visibility": "public" - }, - "8803": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8803, - "inner": { - "module": { - "is_crate": false, - "is_stripped": true, - "items": [] - } - }, - "links": {}, - "name": "iovec", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 87, - 2 - ], - "filename": "std/src/sys/io/io_slice/iovec.rs" - }, - "visibility": { - "restricted": { - "parent": 8804, - "path": "::sys::io::io_slice" - } - } - }, - "8805": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8805, - "inner": { - "use": { - "id": 8803, - "is_glob": true, - "name": "iovec", - "source": "iovec" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 7, - 13 - ], - "end": [ - 7, - 30 - ], - "filename": "std/src/sys/io/mod.rs" - }, - "visibility": "public" - }, - "8806": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8806, - "inner": { - "module": { - "is_crate": false, - "is_stripped": true, - "items": [] - } - }, - "links": {}, - "name": "isatty", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 6, - 2 - ], - "filename": "std/src/sys/io/is_terminal/isatty.rs" - }, - "visibility": { - "restricted": { - "parent": 8807, - "path": "::sys::io::is_terminal" - } - } - }, - "8808": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8808, - "inner": { - "use": { - "id": 8806, - "is_glob": true, - "name": "isatty", - "source": "isatty" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 32, - 13 - ], - "end": [ - 32, - 31 - ], - "filename": "std/src/sys/io/mod.rs" - }, - "visibility": "public" - }, - "8809": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8809, - "inner": { - "use": { - "id": 8810, - "is_glob": false, - "name": "IoSlice", - "source": "io_slice::IoSlice" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 49, - 20 - ], - "end": [ - 49, - 27 + 273, + 6 ], - "filename": "std/src/sys/io/mod.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "881": { + "861": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 881, + "id": 861, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "I" + }, "for": { "resolved_path": { "args": { @@ -735363,30 +752644,12 @@ "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 756, + "path": "Iter" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, { "kind": { "type": { @@ -735395,7 +752658,7 @@ "is_synthetic": false } }, - "name": "V" + "name": "I" } ], "where_predicates": [ @@ -735408,180 +752671,189 @@ "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" + "id": 49, + "path": "Iterator" } } } ], "generic_params": [], "type": { - "generic": "V" + "generic": "I" } } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 858, + 859, + 860 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 47, + "path": "IntoIterator" } } }, "links": {}, "name": null, - "span": null, - "visibility": "default" - }, - "8811": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8811, - "inner": { - "use": { - "id": 8812, - "is_glob": false, - "name": "IoSliceMut", - "source": "io_slice::IoSliceMut" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 49, - 29 - ], - "end": [ - 49, - 39 - ], - "filename": "std/src/sys/io/mod.rs" - }, - "visibility": "public" - }, - "8813": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8813, - "inner": { - "use": { - "id": 8814, - "is_glob": false, - "name": "is_terminal", - "source": "is_terminal::is_terminal" - } - }, - "links": {}, - "name": null, "span": { "begin": [ - 50, + 314, 1 ], "end": [ - 50, - 34 + 314, + 37 ], - "filename": "std/src/sys/io/mod.rs" + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" }, - "visibility": "public" + "visibility": "default" }, - "8816": { - "attrs": [], + "8610": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8816, + "docs": "Reaches into this error indicating that a lock is poisoned, returning a\nreference to the associated data.", + "id": 8610, "inner": { - "use": { - "id": 8817, - "is_glob": false, - "name": "cvt", - "source": "crate::sys::cvt" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } } }, "links": {}, - "name": null, + "name": "get_ref", "span": { "begin": [ - 27, - 22 + 320, + 5 ], "end": [ - 27, - 25 + 322, + 6 ], - "filename": "std/src/sys/net/connection/socket/unix.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "8818": { - "attrs": [], + "8611": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"sync_poison\"}}]" + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 8818, + "docs": "Reaches into this error indicating that a lock is poisoned, returning a\nmutable reference to the associated data.", + "id": 8611, "inner": { - "use": { - "id": 8819, - "is_glob": false, - "name": "cvt_r", - "source": "crate::sys::cvt_r" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "T" + } + } + } + } } }, "links": {}, - "name": null, + "name": "get_mut", "span": { "begin": [ - 27, - 27 + 327, + 5 ], "end": [ - 27, - 32 + 329, + 6 ], - "filename": "std/src/sys/net/connection/socket/unix.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "882": { + "8612": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 882, + "id": 8612, "inner": { "impl": { "blanket_impl": null, @@ -735590,47 +752862,21 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, { "kind": { "type": { @@ -735639,256 +752885,45 @@ "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 8609, + 7830, + 8610, + 8611 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } + "trait": null } }, "links": {}, "name": null, - "span": null, - "visibility": "default" - }, - "8820": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8820, - "inner": { - "module": { - "is_crate": false, - "is_stripped": true, - "items": [ - 8816, - 8818 - ] - } - }, - "links": {}, - "name": "unix", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 697, - 28 - ], - "filename": "std/src/sys/net/connection/socket/unix.rs" - }, - "visibility": { - "restricted": { - "parent": 8821, - "path": "::sys::net::connection::socket" - } - } - }, - "8821": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8821, - "inner": { - "module": { - "is_crate": false, - "is_stripped": true, - "items": [ - 8822 - ] - } - }, - "links": {}, - "name": "socket", "span": { "begin": [ - 1, + 262, 1 ], "end": [ - 848, + 330, 2 ], - "filename": "std/src/sys/net/connection/socket.rs" - }, - "visibility": { - "restricted": { - "parent": 8823, - "path": "::sys::net::connection" - } - } - }, - "8822": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8822, - "inner": { - "use": { - "id": 8820, - "is_glob": true, - "name": "unix", - "source": "unix" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 23, - 9 - ], - "end": [ - 23, - 25 - ], - "filename": "std/src/sys/net/connection/socket.rs" - }, - "visibility": "public" - }, - "8823": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8823, - "inner": { - "module": { - "is_crate": false, - "is_stripped": true, - "items": [ - 8824 - ] - } - }, - "links": {}, - "name": "connection", - "span": { - "begin": [ - 9, - 9 - ], - "end": [ - 9, - 23 - ], - "filename": "std/src/sys/net/mod.rs" - }, - "visibility": { - "restricted": { - "parent": 8825, - "path": "::sys::net" - } - } - }, - "8824": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8824, - "inner": { - "use": { - "id": 8821, - "is_glob": true, - "name": "socket", - "source": "socket" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 11, - 13 - ], - "end": [ - 11, - 31 - ], - "filename": "std/src/sys/net/mod.rs" - }, - "visibility": "public" - }, - "8826": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8826, - "inner": { - "use": { - "id": 8823, - "is_glob": true, - "name": "connection", - "source": "connection" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 46, - 1 - ], - "end": [ - 46, - 23 - ], - "filename": "std/src/sys/net/mod.rs" - }, - "visibility": "public" - }, - "8828": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8828, - "inner": { - "use": { - "id": 8829, - "is_glob": false, - "name": "Buf", - "source": "bytes::Buf" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 10, - 25 - ], - "end": [ - 10, - 28 - ], - "filename": "std/src/sys/os_str/mod.rs" + "filename": "std/src/sync/poison.rs" }, - "visibility": "public" + "visibility": "default" }, - "883": { + "8613": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 883, + "id": 8613, "inner": { "impl": { "blanket_impl": null, @@ -735897,37 +752932,21 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -735936,20 +752955,32 @@ "is_synthetic": false } }, - "name": "K" - }, + "name": "T" + } + ], + "where_predicates": [ { - "kind": { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "generic": "T" } - }, - "name": "V" + } } - ], - "where_predicates": [] + ] }, "is_negative": false, "is_synthetic": true, @@ -735958,8 +752989,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 1, + "path": "Send" } } }, @@ -735968,165 +752999,12 @@ "span": null, "visibility": "default" }, - "8830": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8830, - "inner": { - "use": { - "id": 8831, - "is_glob": false, - "name": "Slice", - "source": "bytes::Slice" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 10, - 30 - ], - "end": [ - 10, - 35 - ], - "filename": "std/src/sys/os_str/mod.rs" - }, - "visibility": "public" - }, - "8833": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8833, - "inner": { - "module": { - "is_crate": false, - "is_stripped": true, - "items": [] - } - }, - "links": {}, - "name": "unix", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 70, - 2 - ], - "filename": "std/src/sys/path/unix.rs" - }, - "visibility": { - "restricted": { - "parent": 8834, - "path": "::sys::path" - } - } - }, - "8835": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8835, - "inner": { - "use": { - "id": 8833, - "is_glob": true, - "name": "unix", - "source": "unix" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 26, - 9 - ], - "end": [ - 26, - 25 - ], - "filename": "std/src/sys/path/mod.rs" - }, - "visibility": "public" - }, - "8837": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8837, - "inner": { - "use": { - "id": 8838, - "is_glob": false, - "name": "CStringArray", - "source": "self::cstring_array::CStringArray" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 6, - 1 - ], - "end": [ - 6, - 43 - ], - "filename": "std/src/sys/process/unix/common.rs" - }, - "visibility": "public" - }, - "8839": { - "attrs": [ - { - "other": "#[allow(unused_imports)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8839, - "inner": { - "use": { - "id": 8840, - "is_glob": false, - "name": "sigemptyset", - "source": "libc::sigemptyset" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 77, - 24 - ], - "end": [ - 77, - 35 - ], - "filename": "std/src/sys/process/unix/common.rs" - }, - "visibility": "public" - }, - "884": { + "8614": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 884, + "id": 8614, "inner": { "impl": { "blanket_impl": null, @@ -736135,37 +753013,21 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -736174,30 +753036,42 @@ "is_synthetic": false } }, - "name": "K" - }, + "name": "T" + } + ], + "where_predicates": [ { - "kind": { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "generic": "T" } - }, - "name": "V" + } } - ], - "where_predicates": [] + ] }, - "is_negative": true, + "is_negative": false, "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 5, + "path": "Sync" } } }, @@ -736206,103 +753080,174 @@ "span": null, "visibility": "default" }, - "8841": { - "attrs": [ - { - "other": "#[allow(unused_imports)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8841, - "inner": { - "use": { - "id": 8842, - "is_glob": false, - "name": "sigaddset", - "source": "libc::sigaddset" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 77, - 37 - ], - "end": [ - 77, - 46 - ], - "filename": "std/src/sys/process/unix/common.rs" - }, - "visibility": "public" - }, - "8846": { + "8615": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8846, + "id": 8615, "inner": { - "use": { - "id": 8847, - "is_glob": false, - "name": "ExitStatus", - "source": "imp::ExitStatus" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8330, + "path": "PoisonError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 24, - 15 - ], - "end": [ - 24, - 25 - ], - "filename": "std/src/sys/process/unix/mod.rs" - }, - "visibility": "public" + "span": null, + "visibility": "default" }, - "8848": { + "8616": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8848, + "id": 8616, "inner": { - "use": { - "id": 8849, - "is_glob": false, - "name": "ExitStatusError", - "source": "imp::ExitStatusError" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8330, + "path": "PoisonError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 24, - 27 - ], - "end": [ - 24, - 42 - ], - "filename": "std/src/sys/process/unix/mod.rs" - }, - "visibility": "public" + "span": null, + "visibility": "default" }, - "885": { + "8617": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 885, + "id": 8617, "inner": { "impl": { "blanket_impl": null, @@ -736311,47 +753256,21 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, { "kind": { "type": { @@ -736360,7 +753279,7 @@ "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [ @@ -736373,18 +753292,78 @@ "modifier": "none", "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } } ], "generic_params": [], "type": { - "generic": "K" + "generic": "T" } } + } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8618": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8618, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } }, + "id": 8330, + "path": "PoisonError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ { "bound_predicate": { "bounds": [ @@ -736394,7 +753373,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -736402,7 +753381,7 @@ ], "generic_params": [], "type": { - "generic": "V" + "generic": "T" } } } @@ -736415,7 +753394,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -736425,157 +753404,12 @@ "span": null, "visibility": "default" }, - "8850": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8850, - "inner": { - "use": { - "id": 8851, - "is_glob": false, - "name": "Process", - "source": "imp::Process" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 24, - 44 - ], - "end": [ - 24, - 51 - ], - "filename": "std/src/sys/process/unix/mod.rs" - }, - "visibility": "public" - }, - "8852": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8852, - "inner": { - "use": { - "id": 8853, - "is_glob": false, - "name": "Command", - "source": "self::common::Command" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 26, - 24 - ], - "end": [ - 26, - 31 - ], - "filename": "std/src/sys/process/unix/mod.rs" - }, - "visibility": "public" - }, - "8854": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8854, - "inner": { - "use": { - "id": 8855, - "is_glob": false, - "name": "CommandArgs", - "source": "self::common::CommandArgs" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 26, - 33 - ], - "end": [ - 26, - 44 - ], - "filename": "std/src/sys/process/unix/mod.rs" - }, - "visibility": "public" - }, - "8856": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8856, - "inner": { - "use": { - "id": 8857, - "is_glob": false, - "name": "ExitCode", - "source": "self::common::ExitCode" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 26, - 46 - ], - "end": [ - 26, - 54 - ], - "filename": "std/src/sys/process/unix/mod.rs" - }, - "visibility": "public" - }, - "8858": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8858, - "inner": { - "use": { - "id": 8859, - "is_glob": false, - "name": "Stdio", - "source": "self::common::Stdio" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 26, - 56 - ], - "end": [ - 26, - 61 - ], - "filename": "std/src/sys/process/unix/mod.rs" - }, - "visibility": "public" - }, - "886": { + "8619": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 886, + "id": 8619, "inner": { "impl": { "blanket_impl": { @@ -736586,25 +753420,17 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { @@ -736648,7 +753474,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -736664,7 +753490,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -736673,197 +753499,130 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8860": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8860, - "inner": { - "use": { - "id": 8861, - "is_glob": false, - "name": "StdioPipes", - "source": "self::common::StdioPipes" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 26, - 63 - ], - "end": [ - 26, - 73 - ], - "filename": "std/src/sys/process/unix/mod.rs" - }, - "visibility": "public" - }, - "8862": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8862, - "inner": { - "use": { - "id": 1709, - "is_glob": false, - "name": "EnvKey", - "source": "crate::ffi::OsString" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 1 - ], - "end": [ - 27, - 40 - ], - "filename": "std/src/sys/process/unix/mod.rs" - }, - "visibility": "public" - }, - "8865": { + "862": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 8865, + "id": 862, "inner": { - "use": { - "id": 8866, - "is_glob": false, - "name": "CommandEnvs", - "source": "env::CommandEnvs" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } } }, "links": {}, "name": null, "span": { "begin": [ - 25, + 85, 1 ], "end": [ - 25, - 26 - ], - "filename": "std/src/sys/process/mod.rs" - }, - "visibility": "public" - }, - "8867": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8867, - "inner": { - "use": { - "id": 8853, - "is_glob": false, - "name": "Command", - "source": "imp::Command" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 5 - ], - "end": [ - 27, - 12 - ], - "filename": "std/src/sys/process/mod.rs" - }, - "visibility": "public" - }, - "8868": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8868, - "inner": { - "use": { - "id": 8855, - "is_glob": false, - "name": "CommandArgs", - "source": "imp::CommandArgs" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, + 87, 14 ], - "end": [ - 27, - 25 - ], - "filename": "std/src/sys/process/mod.rs" - }, - "visibility": "public" - }, - "8869": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8869, - "inner": { - "use": { - "id": 1709, - "is_glob": false, - "name": "EnvKey", - "source": "imp::EnvKey" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 27 - ], - "end": [ - 27, - 33 - ], - "filename": "std/src/sys/process/mod.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "887": { + "8620": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 887, + "id": 8620, "inner": { "impl": { "blanket_impl": { @@ -736874,25 +753633,17 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { @@ -736936,7 +753687,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -736952,7 +753703,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -736961,226 +753712,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "8870": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8870, - "inner": { - "use": { - "id": 8857, - "is_glob": false, - "name": "ExitCode", - "source": "imp::ExitCode" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 35 - ], - "end": [ - 27, - 43 - ], - "filename": "std/src/sys/process/mod.rs" - }, - "visibility": "public" - }, - "8871": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8871, - "inner": { - "use": { - "id": 8847, - "is_glob": false, - "name": "ExitStatus", - "source": "imp::ExitStatus" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 45 - ], - "end": [ - 27, - 55 - ], - "filename": "std/src/sys/process/mod.rs" - }, - "visibility": "public" - }, - "8872": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8872, - "inner": { - "use": { - "id": 8849, - "is_glob": false, - "name": "ExitStatusError", - "source": "imp::ExitStatusError" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 57 - ], - "end": [ - 27, - 72 - ], - "filename": "std/src/sys/process/mod.rs" - }, - "visibility": "public" - }, - "8873": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8873, - "inner": { - "use": { - "id": 8851, - "is_glob": false, - "name": "Process", - "source": "imp::Process" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 74 - ], - "end": [ - 27, - 81 - ], - "filename": "std/src/sys/process/mod.rs" - }, - "visibility": "public" - }, - "8874": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8874, - "inner": { - "use": { - "id": 8859, - "is_glob": false, - "name": "Stdio", - "source": "imp::Stdio" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 83 - ], - "end": [ - 27, - 88 - ], - "filename": "std/src/sys/process/mod.rs" - }, - "visibility": "public" - }, - "8875": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8875, - "inner": { - "use": { - "id": 8861, - "is_glob": false, - "name": "StdioPipes", - "source": "imp::StdioPipes" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 27, - 90 - ], - "end": [ - 27, - 100 - ], - "filename": "std/src/sys/process/mod.rs" - }, - "visibility": "public" - }, - "8878": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8878, - "inner": { - "use": { - "id": 8879, - "is_glob": false, - "name": "fill_bytes", - "source": "linux::fill_bytes" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 5, - 25 - ], - "end": [ - 5, - 35 - ], - "filename": "std/src/sys/random/mod.rs" - }, - "visibility": "public" - }, - "888": { + "8621": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 888, + "id": 8621, "inner": { "impl": { "blanket_impl": { @@ -737191,25 +753739,17 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { @@ -737274,7 +753814,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -737299,143 +753839,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8880": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8880, - "inner": { - "use": { - "id": 8881, - "is_glob": false, - "name": "hashmap_random_keys", - "source": "linux::hashmap_random_keys" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 5, - 37 - ], - "end": [ - 5, - 56 - ], - "filename": "std/src/sys/random/mod.rs" - }, - "visibility": "public" - }, - "8883": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8883, - "inner": { - "module": { - "is_crate": false, - "is_stripped": true, - "items": [] - } - }, - "links": {}, - "name": "unix", - "span": { - "begin": [ - 1, - 1 - ], - "end": [ - 103, - 2 - ], - "filename": "std/src/sys/stdio/unix.rs" - }, - "visibility": { - "restricted": { - "parent": 8884, - "path": "::sys::stdio" - } - } - }, - "8885": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8885, - "inner": { - "use": { - "id": 8883, - "is_glob": true, - "name": "unix", - "source": "unix" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 6, - 9 - ], - "end": [ - 6, - 25 - ], - "filename": "std/src/sys/stdio/mod.rs" - }, - "visibility": "public" - }, - "8887": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8887, - "inner": { - "use": { - "id": 8888, - "is_glob": false, - "name": "Condvar", - "source": "futex::Condvar" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 14, - 9 - ], - "end": [ - 14, - 32 - ], - "filename": "std/src/sys/sync/condvar/mod.rs" - }, - "visibility": "public" - }, - "889": { + "8622": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 889, + "id": 8622, "inner": { "impl": { "blanket_impl": { @@ -737446,25 +753866,17 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { @@ -737486,7 +753898,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -737511,110 +753923,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8891": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8891, - "inner": { - "use": { - "id": 8892, - "is_glob": false, - "name": "Mutex", - "source": "futex::Mutex" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 13, - 9 - ], - "end": [ - 13, - 30 - ], - "filename": "std/src/sys/sync/mutex/mod.rs" - }, - "visibility": "public" - }, - "8895": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8895, - "inner": { - "use": { - "id": 8896, - "is_glob": false, - "name": "Once", - "source": "futex::Once" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 23, - 25 - ], - "end": [ - 23, - 29 - ], - "filename": "std/src/sys/sync/once/mod.rs" - }, - "visibility": "public" - }, - "8897": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8897, - "inner": { - "use": { - "id": 8898, - "is_glob": false, - "name": "OnceState", - "source": "futex::OnceState" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 23, - 31 - ], - "end": [ - 23, - 40 - ], - "filename": "std/src/sys/sync/once/mod.rs" - }, - "visibility": "public" - }, - "890": { + "8623": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 890, + "id": 8623, "inner": { "impl": { "blanket_impl": { @@ -737625,25 +753950,17 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { @@ -737690,7 +754007,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -737708,8 +754025,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -737725,7 +754042,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -737734,110 +754051,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8902": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8902, - "inner": { - "use": { - "id": 8903, - "is_glob": false, - "name": "RwLock", - "source": "futex::RwLock" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 14, - 9 - ], - "end": [ - 14, - 31 - ], - "filename": "std/src/sys/sync/rwlock/mod.rs" - }, - "visibility": "public" - }, - "8906": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8906, - "inner": { - "use": { - "id": 8907, - "is_glob": false, - "name": "Parker", - "source": "futex::Parker" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 14, - 9 - ], - "end": [ - 14, - 31 - ], - "filename": "std/src/sys/sync/thread_parking/mod.rs" - }, - "visibility": "public" - }, - "8909": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8909, - "inner": { - "use": { - "id": 8888, - "is_glob": false, - "name": "Condvar", - "source": "condvar::Condvar" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 8, - 1 - ], - "end": [ - 8, - 26 - ], - "filename": "std/src/sys/sync/mod.rs" - }, - "visibility": "public" - }, - "891": { + "8624": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 891, + "id": 8624, "inner": { "impl": { "blanket_impl": { @@ -737848,25 +754078,17 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { @@ -737931,8 +754153,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -737948,7 +754170,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -737957,168 +754179,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "8910": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8910, - "inner": { - "use": { - "id": 8892, - "is_glob": false, - "name": "Mutex", - "source": "mutex::Mutex" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 9, - 1 - ], - "end": [ - 9, - 22 - ], - "filename": "std/src/sys/sync/mod.rs" - }, - "visibility": "public" - }, - "8911": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8911, - "inner": { - "use": { - "id": 8896, - "is_glob": false, - "name": "Once", - "source": "once::Once" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 10, - 16 - ], - "end": [ - 10, - 20 - ], - "filename": "std/src/sys/sync/mod.rs" - }, - "visibility": "public" - }, - "8912": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8912, - "inner": { - "use": { - "id": 8898, - "is_glob": false, - "name": "OnceState", - "source": "once::OnceState" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 10, - 22 - ], - "end": [ - 10, - 31 - ], - "filename": "std/src/sys/sync/mod.rs" - }, - "visibility": "public" - }, - "8913": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8913, - "inner": { - "use": { - "id": 8903, - "is_glob": false, - "name": "RwLock", - "source": "rwlock::RwLock" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 13, - 1 - ], - "end": [ - 13, - 24 - ], - "filename": "std/src/sys/sync/mod.rs" - }, - "visibility": "public" - }, - "8914": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 8914, - "inner": { - "use": { - "id": 8907, - "is_glob": false, - "name": "Parker", - "source": "thread_parking::Parker" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 14, - 1 - ], - "end": [ - 14, - 32 - ], - "filename": "std/src/sys/sync/mod.rs" - }, - "visibility": "public" - }, - "892": { + "8625": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 892, + "id": 8625, "inner": { "impl": { "blanket_impl": { @@ -738129,25 +754206,17 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { @@ -738194,12 +754263,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -738219,41 +754288,33 @@ }, "visibility": "default" }, - "893": { + "8626": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 893, + "id": 8626, "inner": { "impl": { "blanket_impl": { - "generic": "I" + "generic": "T" }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { @@ -738266,7 +754327,7 @@ "is_synthetic": false } }, - "name": "I" + "name": "T" } ], "where_predicates": [ @@ -738279,15 +754340,26 @@ "modifier": "none", "trait": { "args": null, - "id": 49, - "path": "Iterator" + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "I" + "generic": "T" } } } @@ -738297,15 +754369,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 858, - 859, - 860 + 434 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 47, - "path": "IntoIterator" + "id": 161, + "path": "ToString" } } }, @@ -738313,27 +754383,23 @@ "name": null, "span": { "begin": [ - 314, + 2866, 1 ], "end": [ - 314, - 37 + 2866, + 46 ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "894": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8627": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 894, + "id": 8627, "inner": { "function": { "generics": { @@ -738348,39 +754414,81 @@ "is_unsafe": false }, "sig": { - "inputs": [], + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], "is_c_variadic": false, "output": { - "generic": "Self" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, "links": {}, - "name": "default", + "name": "fmt", "span": { "begin": [ - 1503, + 247, 5 ], "end": [ - 1505, + 249, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "default" }, - "895": { + "8628": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"default_iters_hash\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 895, + "id": 8628, "inner": { "impl": { "blanket_impl": null, @@ -738389,25 +754497,17 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, { "type": { - "generic": "V" + "generic": "T" } } ], "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 8330, + "path": "PoisonError" } }, "generics": { @@ -738420,17 +754520,7 @@ "is_synthetic": false } }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" + "name": "T" } ], "where_predicates": [] @@ -738439,13 +754529,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 894 + 8627 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 344, + "path": "Debug" } } }, @@ -738453,70 +754543,103 @@ "name": null, "span": { "begin": [ - 1501, + 246, 1 ], "end": [ - 1506, + 250, 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "default" }, - "896": { + "8629": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 896, + "id": 8629, "inner": { - "assoc_type": { - "bounds": [], + "function": { "generics": { "params": [], "where_predicates": [] }, - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "K" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } } } - }, - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": "'a", - "type": { - "generic": "V" + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } } } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" } - ] + } } } }, "links": {}, - "name": "Item", + "name": "fmt", "span": { "begin": [ - 1977, + 254, 5 ], "end": [ - 1977, - 36 + 256, + 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "default" }, - "897": { + "863": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -738525,7 +754648,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 897, + "id": 863, "inner": { "function": { "generics": { @@ -738545,7 +754668,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -738556,152 +754679,186 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "K" - } - } - }, - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": "'a", - "type": { - "generic": "V" - } - } - } - ] - } + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "clone", + "span": { + "begin": [ + 1449, + 5 + ], + "end": [ + 1451, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8630": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8630, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" } - ], - "constraints": [] + } + ], + "constraints": [] + } + }, + "id": 8330, + "path": "PoisonError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } - }, - "id": 51, - "path": "Option" + }, + "name": "T" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8629 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 436, + "path": "Display" } } }, "links": {}, - "name": "next", + "name": null, "span": { "begin": [ - 1980, - 5 + 253, + 1 ], "end": [ - 1982, - 6 + 257, + 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "default" }, - "898": { + "8631": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 898, + "id": 8631, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "usize" - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" } - }, - "id": 51, - "path": "Option" - } + } + ], + "constraints": [] } - ] + }, + "id": 8330, + "path": "PoisonError" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "source", + "type_id", + "description", + "cause", + "provide" + ], + "trait": { + "args": null, + "id": 450, + "path": "Error" } } }, "links": {}, - "name": "size_hint", + "name": null, "span": { "begin": [ - 1984, - 5 + 260, + 1 ], "end": [ - 1986, - 6 + 260, + 36 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "default" }, - "899": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "8632": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 899, + "id": 8632, "inner": { "function": { "generics": { @@ -738718,82 +754875,171 @@ "sig": { "inputs": [ [ - "self", + "err", { - "generic": "Self" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8330, + "path": "PoisonError" + } } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8633, + "path": "TryLockError" + } } } } }, "links": {}, - "name": "count", + "name": "from", "span": { "begin": [ - 1988, + 334, 5 ], "end": [ - 1990, + 336, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "default" }, - "90": { + "8633": { "attrs": [ { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 90, + "docs": "An enumeration of possible errors associated with a [`TryLockResult`] which\ncan occur while trying to acquire a lock, from the [`try_lock`] method on a\n[`Mutex`] or the [`try_read`] and [`try_write`] methods on an [`RwLock`].\n\n[`try_lock`]: crate::sync::Mutex::try_lock\n[`try_read`]: crate::sync::RwLock::try_read\n[`try_write`]: crate::sync::RwLock::try_write\n[`Mutex`]: crate::sync::Mutex\n[`RwLock`]: crate::sync::RwLock", + "id": 8633, "inner": { - "use": { - "id": 91, - "is_glob": false, - "name": "module_path", - "source": "core::prelude::v1::module_path" + "enum": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "has_stripped_variants": false, + "impls": [ + 8636, + 8637, + 8638, + 8639, + 8640, + 8641, + 8642, + 8643, + 8644, + 8645, + 8646, + 8647, + 8648, + 8649, + 8634, + 8651, + 8653, + 8655 + ], + "variants": [ + 8336, + 8337 + ] } }, - "links": {}, - "name": null, + "links": { + "`TryLockResult`": 8338, + "crate::sync::Mutex": 496, + "crate::sync::Mutex::try_lock": 8329, + "crate::sync::RwLock": 8103, + "crate::sync::RwLock::try_read": 8442, + "crate::sync::RwLock::try_write": 8445 + }, + "name": "TryLockError", "span": { "begin": [ - 51, - 76 + 213, + 1 ], "end": [ - 51, - 87 + 222, + 2 ], - "filename": "std/src/prelude/v1.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "public" }, - "900": { + "8634": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 900, + "id": 8634, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8633, + "path": "TryLockError" + } + }, "generics": { "params": [ { @@ -738804,174 +755050,117 @@ "is_synthetic": false } }, - "name": "B" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" + "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "Self" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "generic": "B" - }, - { - "qualified_path": { - "args": null, - "name": "Item", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 49, - "path": "" - } - } + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8632 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" } - ], - "output": { - "generic": "B" } - } - }, - "id": 13, - "path": "FnMut" - } + ], + "constraints": [] + } + }, + "id": 8330, + "path": "PoisonError" } } - ], - "generic_params": [], - "type": { - "generic": "F" } - } + ], + "constraints": [] } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "init", - { - "generic": "B" - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "B" - } + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "fold", + "name": null, "span": { "begin": [ - 1992, - 5 + 333, + 1 ], "end": [ - 1998, - 6 + 337, + 2 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/poison.rs" }, "visibility": "default" }, - "9002": { - "attrs": [], + "8635": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9002, + "id": 8635, "inner": { - "use": { - "id": 8728, - "is_glob": true, - "name": "pal", - "source": "pal" + "struct_field": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8330, + "path": "PoisonError" + } } }, "links": {}, - "name": null, + "name": "0", "span": { "begin": [ - 37, - 1 + 217, + 60 ], "end": [ - 37, - 16 + 217, + 74 ], - "filename": "std/src/sys/mod.rs" + "filename": "std/src/sync/poison.rs" }, - "visibility": "public" + "visibility": "default" }, - "9006": { + "8636": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9006, + "id": 8636, "inner": { "impl": { "blanket_impl": null, @@ -738981,28 +755170,54 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -739021,12 +755236,12 @@ "span": null, "visibility": "default" }, - "9007": { + "8637": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9007, + "id": 8637, "inner": { "impl": { "blanket_impl": null, @@ -739036,28 +755251,54 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -739076,12 +755317,12 @@ "span": null, "visibility": "default" }, - "9008": { + "8638": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9008, + "id": 8638, "inner": { "impl": { "blanket_impl": null, @@ -739091,28 +755332,54 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -739121,7 +755388,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -739131,12 +755398,12 @@ "span": null, "visibility": "default" }, - "9009": { + "8639": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9009, + "id": 8639, "inner": { "impl": { "blanket_impl": null, @@ -739146,28 +755413,54 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -739186,7 +755479,7 @@ "span": null, "visibility": "default" }, - "901": { + "864": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -739195,7 +755488,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 901, + "id": 864, "inner": { "impl": { "blanket_impl": null, @@ -739205,7 +755498,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'_" }, { "type": { @@ -739221,20 +755514,12 @@ "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 756, + "path": "Iter" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -739262,94 +755547,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 896, - 897, - 898, - 899, - 900 + 863 ], "provided_trait_methods": [ - "next_chunk", - "size_hint", - "count", - "last", - "advance_by", - "nth", - "step_by", - "chain", - "zip", - "intersperse", - "intersperse_with", - "map", - "for_each", - "filter", - "filter_map", - "enumerate", - "peekable", - "skip_while", - "take_while", - "map_while", - "skip", - "take", - "scan", - "flat_map", - "flatten", - "map_windows", - "fuse", - "inspect", - "by_ref", - "collect", - "try_collect", - "collect_into", - "partition", - "partition_in_place", - "is_partitioned", - "try_fold", - "try_for_each", - "fold", - "reduce", - "try_reduce", - "all", - "any", - "find", - "find_map", - "try_find", - "position", - "rposition", - "max", - "min", - "max_by_key", - "max_by", - "min_by_key", - "min_by", - "rev", - "unzip", - "copied", - "cloned", - "cycle", - "array_chunks", - "sum", - "product", - "cmp", - "cmp_by", - "partial_cmp", - "partial_cmp_by", - "eq", - "eq_by", - "ne", - "lt", - "le", - "gt", - "ge", - "is_sorted", - "is_sorted_by", - "is_sorted_by_key", - "__iterator_get_unchecked" + "clone_from" ], "trait": { "args": null, - "id": 49, - "path": "Iterator" + "id": 97, + "path": "Clone" } } }, @@ -739357,23 +755563,23 @@ "name": null, "span": { "begin": [ - 1976, + 1447, 1 ], "end": [ - 1999, + 1452, 2 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9010": { + "8640": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9010, + "id": 8640, "inner": { "impl": { "blanket_impl": null, @@ -739383,83 +755589,54 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" } ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "9011": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9011, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ { - "lifetime": "'a" + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } } ], - "constraints": [] - } - }, - "id": 2253, - "path": "EncodeWide" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] + "generic_params": [], + "type": { + "generic": "T" } - }, - "name": "'a" + } } - ], - "where_predicates": [] + ] }, "is_negative": false, "is_synthetic": true, @@ -739468,8 +755645,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 316, + "path": "UnwindSafe" } } }, @@ -739478,31 +755655,31 @@ "span": null, "visibility": "default" }, - "9012": { + "8641": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9012, + "id": 8641, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { @@ -739525,11 +755702,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 318, + "path": "RefUnwindSafe" } } } @@ -739543,51 +755720,28 @@ ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, - "9013": { + "8642": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9013, + "id": 8642, "inner": { "impl": { "blanket_impl": { @@ -739599,14 +755753,16 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { @@ -739650,7 +755806,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 319 ], "provided_trait_methods": [], "trait": { @@ -739666,8 +755822,8 @@ "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 321, + "path": "Borrow" } } }, @@ -739675,23 +755831,23 @@ "name": null, "span": { "begin": [ - 217, + 212, 1 ], "end": [ - 217, - 35 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9014": { + "8643": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9014, + "id": 8643, "inner": { "impl": { "blanket_impl": { @@ -739703,14 +755859,16 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { @@ -739733,11 +755891,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -739754,13 +755912,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 422 + 322 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, @@ -739768,23 +755937,23 @@ "name": null, "span": { "begin": [ - 516, + 221, 1 ], "end": [ - 516, - 42 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9015": { + "8644": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9015, + "id": 8644, "inner": { "impl": { "blanket_impl": { @@ -739796,14 +755965,16 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { @@ -739868,7 +756039,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -739893,23 +756064,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9016": { + "8645": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9016, + "id": 8645, "inner": { "impl": { "blanket_impl": { @@ -739921,14 +756092,16 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { @@ -739950,7 +756123,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -739975,23 +756148,23 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9017": { + "8646": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9017, + "id": 8646, "inner": { "impl": { "blanket_impl": { @@ -740003,14 +756176,16 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { @@ -740057,7 +756232,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -740075,8 +756250,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -740092,7 +756267,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -740101,23 +756276,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9018": { + "8647": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9018, + "id": 8647, "inner": { "impl": { "blanket_impl": { @@ -740129,14 +756304,16 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { @@ -740201,8 +756378,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -740218,7 +756395,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -740227,23 +756404,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9019": { + "8648": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9019, + "id": 8648, "inner": { "impl": { "blanket_impl": { @@ -740255,14 +756432,16 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 2253, - "path": "EncodeWide" + "id": 8633, + "path": "TryLockError" } }, "generics": { @@ -740309,12 +756488,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -740323,27 +756502,1132 @@ "name": null, "span": { "begin": [ - 138, - 1 + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, + "visibility": "default" + }, + "8649": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8649, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8633, + "path": "TryLockError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2866, + 1 + ], + "end": [ + 2866, + 46 + ], + "filename": "checkouts/rust/library/alloc/src/string.rs" + }, + "visibility": "default" + }, + "865": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 865, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "default", + "span": { + "begin": [ + 1457, + 5 + ], + "end": [ + 1459, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8650": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8650, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 341, + 5 + ], + "end": [ + 349, + 6 + ], + "filename": "std/src/sync/poison.rs" + }, + "visibility": "default" + }, + "8651": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8651, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8633, + "path": "TryLockError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8650 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 340, + 1 + ], + "end": [ + 350, + 2 + ], + "filename": "std/src/sync/poison.rs" + }, + "visibility": "default" + }, + "8652": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8652, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 354, + 5 + ], + "end": [ + 363, + 6 + ], + "filename": "std/src/sync/poison.rs" + }, + "visibility": "default" + }, + "8653": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8653, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8633, + "path": "TryLockError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8652 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 353, + 1 + ], + "end": [ + 364, + 2 + ], + "filename": "std/src/sync/poison.rs" + }, + "visibility": "default" + }, + "8654": { + "attrs": [ + { + "other": "#[allow(deprecated)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8654, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "dyn_trait": { + "lifetime": null, + "traits": [ + { + "generic_params": [], + "trait": { + "args": null, + "id": 450, + "path": "Error" + } + } + ] + } + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "cause", + "span": { + "begin": [ + 369, + 5 + ], + "end": [ + 377, + 6 + ], + "filename": "std/src/sync/poison.rs" + }, + "visibility": "default" + }, + "8655": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8655, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 8633, + "path": "TryLockError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8654 + ], + "provided_trait_methods": [ + "source", + "type_id", + "description", + "cause", + "provide" + ], + "trait": { + "args": null, + "id": 450, + "path": "Error" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 367, + 1 + ], + "end": [ + 378, + 2 + ], + "filename": "std/src/sync/poison.rs" + }, + "visibility": "default" + }, + "8656": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 98407, is_soft: false}, feature: \"exclusive_wrapper\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8656, + "inner": { + "use": { + "id": 8657, + "is_glob": false, + "name": "Exclusive", + "source": "core::sync::Exclusive" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 175, + 1 + ], + "end": [ + 175, + 31 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8658": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8658, + "inner": { + "use": { + "id": 348, + "is_glob": false, + "name": "atomic", + "source": "core::sync::atomic" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 177, + 1 + ], + "end": [ + 177, + 28 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8659": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 112566, is_soft: false}, feature: \"unique_rc_arc\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8659, + "inner": { + "use": { + "id": 8660, + "is_glob": false, + "name": "UniqueArc", + "source": "alloc_crate::sync::UniqueArc" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 180, + 1 + ], + "end": [ + 180, + 38 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "866": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"default_iters_hash\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 866, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 865 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 107, + "path": "Default" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1455, + 1 + ], + "end": [ + 1460, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8661": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8661, + "inner": { + "use": { + "id": 606, + "is_glob": false, + "name": "Arc", + "source": "alloc_crate::sync::Arc" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 182, + 29 + ], + "end": [ + 182, + 32 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8662": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8662, + "inner": { + "use": { + "id": 8663, + "is_glob": false, + "name": "Weak", + "source": "alloc_crate::sync::Weak" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 182, + 34 + ], + "end": [ + 182, + 38 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8664": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8664, + "inner": { + "use": { + "id": 7739, + "is_glob": false, + "name": "Once", + "source": "self::once::Once" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 191, + 22 + ], + "end": [ + 191, + 26 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8665": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8665, + "inner": { + "use": { + "id": 7742, + "is_glob": false, + "name": "OnceState", + "source": "self::once::OnceState" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 191, + 28 + ], + "end": [ + 191, + 37 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8666": { + "attrs": [ + { + "other": "#[doc(inline)]" + }, + { + "other": "#[expect(deprecated)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8666, + "inner": { + "use": { + "id": 7780, + "is_glob": false, + "name": "ONCE_INIT", + "source": "self::once::ONCE_INIT" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 196, + 1 + ], + "end": [ + 196, + 31 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8667": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8667, + "inner": { + "use": { + "id": 7785, + "is_glob": false, + "name": "Barrier", + "source": "self::barrier::Barrier" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 205, + 25 + ], + "end": [ + 205, + 32 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8668": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8668, + "inner": { + "use": { + "id": 7788, + "is_glob": false, + "name": "BarrierWaitResult", + "source": "self::barrier::BarrierWaitResult" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 205, + 34 ], "end": [ - 138, - 36 + 205, + 51 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "902": { + "8669": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"lazy_cell\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 902, + "id": 8669, + "inner": { + "use": { + "id": 737, + "is_glob": false, + "name": "LazyLock", + "source": "self::lazy_lock::LazyLock" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 207, + 1 + ], + "end": [ + 207, + 35 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "867": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 867, "inner": { "function": { "generics": { @@ -740370,561 +757654,343 @@ } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, "links": {}, - "name": "len", + "name": "fmt", "span": { "begin": [ - 2003, + 1464, 5 ], "end": [ - 2005, + 1466, 6 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9020": { - "attrs": [], + "8670": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 70, patch: 0})}, feature: \"once_cell\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9020, + "id": 8670, "inner": { - "impl": { - "blanket_impl": { - "generic": "I" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2253, - "path": "EncodeWide" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "I" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 49, - "path": "Iterator" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "I" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 858, - 859, - 860 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 47, - "path": "IntoIterator" - } + "use": { + "id": 7737, + "is_glob": false, + "name": "OnceLock", + "source": "self::once_lock::OnceLock" } }, "links": {}, "name": null, "span": { "begin": [ - 314, + 209, 1 ], "end": [ - 314, - 37 + 209, + 35 ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9021": { - "attrs": [], + "8671": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9021, + "id": 8671, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2253, - "path": "EncodeWide" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" - } + "use": { + "id": 7914, + "is_glob": false, + "name": "ReentrantLock", + "source": "self::reentrant_lock::ReentrantLock" } }, "links": {}, "name": null, "span": { "begin": [ - 82, - 1 + 211, + 32 ], "end": [ - 84, - 14 + 211, + 45 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9022": { + "8672": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121440, is_soft: false}, feature: \"reentrant_lock\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9022, + "id": 8672, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2253, - "path": "EncodeWide" - } - } - } + "use": { + "id": 7919, + "is_glob": false, + "name": "ReentrantLockGuard", + "source": "self::reentrant_lock::ReentrantLockGuard" } }, "links": {}, - "name": "clone", + "name": null, "span": { "begin": [ - 1009, - 10 + 211, + 47 ], "end": [ - 1009, - 15 + 211, + 65 ], - "filename": "std/src/sys_common/wtf8.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9023": { + "8673": { "attrs": [ + { + "other": "#[doc(inline)]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8673, + "inner": { + "use": { + "id": 8300, + "is_glob": false, + "name": "LockResult", + "source": "self::poison::LockResult" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 227, + 24 + ], + "end": [ + 227, + 34 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8674": { + "attrs": [ + { + "other": "#[doc(inline)]" }, - "automatically_derived" + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9023, + "id": 8674, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 2253, - "path": "EncodeWide" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9022 - ], - "provided_trait_methods": [ - "clone_from" - ], - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } + "use": { + "id": 8330, + "is_glob": false, + "name": "PoisonError", + "source": "self::poison::PoisonError" } }, "links": {}, "name": null, "span": { "begin": [ - 1009, - 10 + 227, + 36 ], "end": [ - 1009, - 15 + 227, + 47 ], - "filename": "std/src/sys_common/wtf8.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9024": { - "attrs": [], + "8675": { + "attrs": [ + { + "other": "#[doc(inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9024, + "id": 8675, "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "primitive": "u16" - } + "use": { + "id": 8633, + "is_glob": false, + "name": "TryLockError", + "source": "self::poison::TryLockError" } }, "links": {}, - "name": "Item", + "name": null, "span": { "begin": [ - 1018, + 234, 5 ], "end": [ - 1018, - 21 + 234, + 17 ], - "filename": "std/src/sys_common/wtf8.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9025": { + "8676": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[doc(inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9025, + "id": 8676, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u16" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "use": { + "id": 8338, + "is_glob": false, + "name": "TryLockResult", + "source": "self::poison::TryLockResult" } }, "links": {}, - "name": "next", + "name": null, "span": { "begin": [ - 1021, - 5 + 234, + 19 ], "end": [ - 1036, - 6 + 234, + 32 ], - "filename": "std/src/sys_common/wtf8.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9026": { + "8677": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[doc(inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9026, + "id": 8677, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "usize" - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - ] - } - } + "use": { + "id": 496, + "is_glob": false, + "name": "Mutex", + "source": "self::poison::Mutex" } }, "links": {}, - "name": "size_hint", + "name": null, "span": { "begin": [ - 1039, + 235, 5 ], "end": [ - 1046, - 6 + 235, + 10 ], - "filename": "std/src/sys_common/wtf8.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9027": { + "8678": { "attrs": [ + { + "other": "#[doc(inline)]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } @@ -740932,208 +757998,76 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 9027, + "id": 8678, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2253, - "path": "EncodeWide" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9024, - 9025, - 9026 - ], - "provided_trait_methods": [ - "next_chunk", - "size_hint", - "count", - "last", - "advance_by", - "nth", - "step_by", - "chain", - "zip", - "intersperse", - "intersperse_with", - "map", - "for_each", - "filter", - "filter_map", - "enumerate", - "peekable", - "skip_while", - "take_while", - "map_while", - "skip", - "take", - "scan", - "flat_map", - "flatten", - "map_windows", - "fuse", - "inspect", - "by_ref", - "collect", - "try_collect", - "collect_into", - "partition", - "partition_in_place", - "is_partitioned", - "try_fold", - "try_for_each", - "fold", - "reduce", - "try_reduce", - "all", - "any", - "find", - "find_map", - "try_find", - "position", - "rposition", - "max", - "min", - "max_by_key", - "max_by", - "min_by_key", - "min_by", - "rev", - "unzip", - "copied", - "cloned", - "cycle", - "array_chunks", - "sum", - "product", - "cmp", - "cmp_by", - "partial_cmp", - "partial_cmp_by", - "eq", - "eq_by", - "ne", - "lt", - "le", - "gt", - "ge", - "is_sorted", - "is_sorted_by", - "is_sorted_by_key", - "__iterator_get_unchecked" - ], - "trait": { - "args": null, - "id": 49, - "path": "Iterator" - } + "use": { + "id": 7944, + "is_glob": false, + "name": "MutexGuard", + "source": "self::poison::MutexGuard" } }, "links": {}, "name": null, "span": { "begin": [ - 1017, - 1 + 235, + 12 ], "end": [ - 1047, - 2 + 235, + 22 ], - "filename": "std/src/sys_common/wtf8.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9028": { + "8679": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 62, patch: 0})}, feature: \"encode_wide_fused_iterator\"}}]" + "other": "#[doc(inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9028, + "id": 8679, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 2253, - "path": "EncodeWide" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 878, - "path": "FusedIterator" - } + "use": { + "id": 8103, + "is_glob": false, + "name": "RwLock", + "source": "self::poison::RwLock" } }, "links": {}, "name": null, "span": { "begin": [ - 1050, - 1 + 236, + 5 ], "end": [ - 1050, - 41 + 236, + 11 ], - "filename": "std/src/sys_common/wtf8.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "903": { + "868": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 903, + "id": 868, "inner": { "impl": { "blanket_impl": null, @@ -741159,8 +758093,8 @@ "constraints": [] } }, - "id": 758, - "path": "IterMut" + "id": 756, + "path": "Iter" } }, "generics": { @@ -741168,7 +758102,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], "default": null, "is_synthetic": false } @@ -741178,7 +758124,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], "default": null, "is_synthetic": false } @@ -741192,16 +758150,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 902 - ], - "provided_trait_methods": [ - "len", - "is_empty" + 867 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 43, - "path": "ExactSizeIterator" + "id": 344, + "path": "Debug" } } }, @@ -741209,182 +758164,357 @@ "name": null, "span": { "begin": [ - 2001, + 1463, 1 ], "end": [ - 2006, + 1467, 2 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "904": { + "8680": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" + "other": "#[doc(inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 904, + "id": 8680, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 758, - "path": "IterMut" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 878, - "path": "FusedIterator" - } + "use": { + "id": 8441, + "is_glob": false, + "name": "RwLockReadGuard", + "source": "self::poison::RwLockReadGuard" } }, "links": {}, "name": null, "span": { "begin": [ - 2008, - 1 + 236, + 13 ], "end": [ - 2008, - 50 + 236, + 28 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9040": { + "8681": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" + "other": "#[doc(inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "The default memory allocator provided by the operating system.\n\nThis is based on `malloc` on Unix platforms and `HeapAlloc` on Windows,\nplus related functions. However, it is not valid to mix use of the backing\nsystem allocator with `System`, as this implementation may include extra\nwork, such as to serve alignment requests greater than the alignment\nprovided directly by the backing system allocator.\n\nThis type implements the [`GlobalAlloc`] trait. Currently the default\nglobal allocator is unspecified. Libraries, however, like `cdylib`s and\n`staticlib`s are guaranteed to use the [`System`] by default and as such\nwork as if they had this definition:\n\n```rust\nuse std::alloc::System;\n\n#[global_allocator]\nstatic A: System = System;\n\nfn main() {\n let a = Box::new(4); // Allocates from the system allocator.\n println!(\"{a}\");\n}\n```\n\nYou can also define your own wrapper around `System` if you'd like, such as\nkeeping track of the number of all bytes allocated:\n\n```rust\nuse std::alloc::{System, GlobalAlloc, Layout};\nuse std::sync::atomic::{AtomicUsize, Ordering::Relaxed};\n\nstruct Counter;\n\nstatic ALLOCATED: AtomicUsize = AtomicUsize::new(0);\n\nunsafe impl GlobalAlloc for Counter {\n unsafe fn alloc(&self, layout: Layout) -> *mut u8 {\n let ret = unsafe { System.alloc(layout) };\n if !ret.is_null() {\n ALLOCATED.fetch_add(layout.size(), Relaxed);\n }\n ret\n }\n\n unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) {\n unsafe { System.dealloc(ptr, layout); }\n ALLOCATED.fetch_sub(layout.size(), Relaxed);\n }\n}\n\n#[global_allocator]\nstatic A: Counter = Counter;\n\nfn main() {\n println!(\"allocated bytes before main: {}\", ALLOCATED.load(Relaxed));\n}\n```\n\nIt can also be used directly to allocate memory independently of whatever\nglobal allocator has been selected for a Rust program. For example if a Rust\nprogram opts in to using jemalloc as the global allocator, `System` will\nstill allocate memory using `malloc` and `HeapAlloc`.", - "id": 9040, + "docs": null, + "id": 8681, "inner": { - "struct": { + "use": { + "id": 8444, + "is_glob": false, + "name": "RwLockWriteGuard", + "source": "self::poison::RwLockWriteGuard" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 236, + 30 + ], + "end": [ + 236, + 46 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8682": { + "attrs": [ + { + "other": "#[doc(inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8682, + "inner": { + "use": { + "id": 495, + "is_glob": false, + "name": "Condvar", + "source": "self::poison::Condvar" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 237, + 5 + ], + "end": [ + 237, + 12 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8683": { + "attrs": [ + { + "other": "#[doc(inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8683, + "inner": { + "use": { + "id": 8367, + "is_glob": false, + "name": "MappedMutexGuard", + "source": "self::poison::MappedMutexGuard" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 242, + 24 + ], + "end": [ + 242, + 40 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8684": { + "attrs": [ + { + "other": "#[doc(inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8684, + "inner": { + "use": { + "id": 8474, + "is_glob": false, + "name": "MappedRwLockReadGuard", + "source": "self::poison::MappedRwLockReadGuard" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 242, + 42 + ], + "end": [ + 242, + 63 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8685": { + "attrs": [ + { + "other": "#[doc(inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117108, is_soft: false}, feature: \"mapped_lock_guards\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8685, + "inner": { + "use": { + "id": 8505, + "is_glob": false, + "name": "MappedRwLockWriteGuard", + "source": "self::poison::MappedRwLockWriteGuard" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 242, + 65 + ], + "end": [ + 242, + 87 + ], + "filename": "std/src/sync/mod.rs" + }, + "visibility": "public" + }, + "8687": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns `true` if the wait was known to have timed out.\n\n# Examples\n\nThis example spawns a thread which will sleep 20 milliseconds before\nupdating a boolean value and then notifying the condvar.\n\nThe main thread will wait with a 10 millisecond timeout on the condvar\nand will leave the loop upon timeout.\n\n```\nuse std::sync::{Arc, Condvar, Mutex};\nuse std::thread;\nuse std::time::Duration;\n\nlet pair = Arc::new((Mutex::new(false), Condvar::new()));\nlet pair2 = Arc::clone(&pair);\n\n# let handle =\nthread::spawn(move || {\n let (lock, cvar) = &*pair2;\n\n // Let's wait 20 milliseconds before notifying the condvar.\n thread::sleep(Duration::from_millis(20));\n\n let mut started = lock.lock().unwrap();\n // We update the boolean value.\n *started = true;\n cvar.notify_one();\n});\n\n// Wait for the thread to start up.\nlet (lock, cvar) = &*pair;\nloop {\n // Let's put a timeout on the condvar's wait.\n let result = cvar.wait_timeout(lock.lock().unwrap(), Duration::from_millis(10)).unwrap();\n // 10 milliseconds have passed.\n if result.1.timed_out() {\n // timed out now and we can leave.\n break\n }\n}\n# // Prevent leaks for Miri.\n# let _ = handle.join();\n```", + "id": 8687, + "inner": { + "function": { "generics": { "params": [], "where_predicates": [] }, - "impls": [ - 9041, - 9042, - 9043, - 9044, - 9045, - 9046, - 9047, - 9048, - 9049, - 9050, - 9051, - 9052, - 9053, - 9054, - 9055, - 9061, - 9063, - 9065, - 9066, - 9068, - 9077 - ], - "kind": "unit" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } } }, - "links": { - "`GlobalAlloc`": 9039, - "`System`": 9040 + "links": {}, + "name": "timed_out", + "span": { + "begin": [ + 302, + 5 + ], + "end": [ + 304, + 6 + ], + "filename": "std/src/sync/mod.rs" }, - "name": "System", + "visibility": "public" + }, + "8688": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8688, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7979, + "path": "WaitTimeoutResult" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8687 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, "span": { "begin": [ - 132, + 254, 1 ], "end": [ - 132, - 19 + 305, + 2 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9041": { + "8689": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9041, + "id": 8689, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -741408,20 +758538,72 @@ "span": null, "visibility": "default" }, - "9042": { + "869": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 869, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + ] + } + } + }, + "links": {}, + "name": "Item", + "span": { + "begin": [ + 1936, + 5 + ], + "end": [ + 1936, + 32 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8690": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9042, + "id": 8690, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -741445,20 +758627,20 @@ "span": null, "visibility": "default" }, - "9043": { + "8691": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9043, + "id": 8691, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -741472,7 +758654,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -741482,20 +758664,20 @@ "span": null, "visibility": "default" }, - "9044": { + "8692": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9044, + "id": 8692, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -741519,20 +758701,20 @@ "span": null, "visibility": "default" }, - "9045": { + "8693": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9045, + "id": 8693, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -741546,7 +758728,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -741556,20 +758738,20 @@ "span": null, "visibility": "default" }, - "9046": { + "8694": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9046, + "id": 8694, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -741583,7 +758765,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -741593,12 +758775,12 @@ "span": null, "visibility": "default" }, - "9047": { + "8695": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9047, + "id": 8695, "inner": { "impl": { "blanket_impl": { @@ -741607,8 +758789,8 @@ "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -741652,7 +758834,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -741668,7 +758850,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -741677,23 +758859,23 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9048": { + "8696": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9048, + "id": 8696, "inner": { "impl": { "blanket_impl": { @@ -741702,8 +758884,8 @@ "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -741747,7 +758929,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -741763,7 +758945,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -741772,23 +758954,23 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9049": { + "8697": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9049, + "id": 8697, "inner": { "impl": { "blanket_impl": { @@ -741797,8 +758979,8 @@ "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -741824,7 +759006,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -741856,108 +759038,23 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "905": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 905, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } - } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 2016, - 5 - ], - "end": [ - 2018, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "9050": { + "8698": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9050, + "id": 8698, "inner": { "impl": { "blanket_impl": { @@ -741966,8 +759063,8 @@ "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -742032,7 +759129,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -742057,23 +759154,23 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9051": { + "8699": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9051, + "id": 8699, "inner": { "impl": { "blanket_impl": { @@ -742082,8 +759179,8 @@ "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -742105,7 +759202,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -742130,23 +759227,117 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9052": { + "870": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 870, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + ] + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "next", + "span": { + "begin": [ + 1939, + 5 + ], + "end": [ + 1941, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8700": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9052, + "id": 8700, "inner": { "impl": { "blanket_impl": { @@ -742155,8 +759346,8 @@ "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -742203,7 +759394,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -742221,8 +759412,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -742238,7 +759429,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -742247,23 +759438,23 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9053": { + "8701": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9053, + "id": 8701, "inner": { "impl": { "blanket_impl": { @@ -742272,8 +759463,8 @@ "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -742338,8 +759529,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -742355,7 +759546,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -742364,23 +759555,23 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9054": { + "8702": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9054, + "id": 8702, "inner": { "impl": { "blanket_impl": { @@ -742389,8 +759580,8 @@ "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -742437,12 +759628,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -742462,12 +759653,12 @@ }, "visibility": "default" }, - "9055": { + "8703": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9055, + "id": 8703, "inner": { "impl": { "blanket_impl": { @@ -742476,8 +759667,8 @@ "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -742503,7 +759694,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -742530,7 +759721,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -742539,534 +759730,18 @@ "name": null, "span": { "begin": [ - 82, - 1 - ], - "end": [ - 84, - 14 - ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" - }, - "visibility": "default" - }, - "9056": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9056, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "raw_pointer": { - "is_mutable": true, - "type": { - "primitive": "u8" - } - } - } - } - } - }, - "links": {}, - "name": "alloc", - "span": { - "begin": [ - 8, - 5 - ], - "end": [ - 30, - 6 - ], - "filename": "std/src/sys/alloc/unix.rs" - }, - "visibility": "default" - }, - "9058": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9058, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "raw_pointer": { - "is_mutable": true, - "type": { - "primitive": "u8" - } - } - } - } - } - }, - "links": {}, - "name": "alloc_zeroed", - "span": { - "begin": [ - 33, - 5 - ], - "end": [ - 44, - 6 - ], - "filename": "std/src/sys/alloc/unix.rs" - }, - "visibility": "default" - }, - "9059": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9059, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "ptr", - { - "raw_pointer": { - "is_mutable": true, - "type": { - "primitive": "u8" - } - } - } - ], - [ - "_layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "dealloc", - "span": { - "begin": [ - 47, - 5 - ], - "end": [ - 49, - 6 - ], - "filename": "std/src/sys/alloc/unix.rs" - }, - "visibility": "default" - }, - "906": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 906, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 758, - "path": "IterMut" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "fmt::Debug" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 905 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2011, - 1 - ], - "end": [ - 2019, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "9060": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9060, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "ptr", - { - "raw_pointer": { - "is_mutable": true, - "type": { - "primitive": "u8" - } - } - } - ], - [ - "layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ], - [ - "new_size", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "raw_pointer": { - "is_mutable": true, - "type": { - "primitive": "u8" - } - } - } - } - } - }, - "links": {}, - "name": "realloc", - "span": { - "begin": [ - 52, - 5 - ], - "end": [ - 58, - 6 - ], - "filename": "std/src/sys/alloc/unix.rs" - }, - "visibility": "default" - }, - "9061": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9061, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 9040, - "path": "crate::alloc::System" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9056, - 9058, - 9059, - 9060 - ], - "provided_trait_methods": [ - "alloc_zeroed", - "realloc" - ], - "trait": { - "args": null, - "id": 9039, - "path": "GlobalAlloc" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 6, + 85, 1 ], "end": [ - 59, - 2 + 87, + 14 ], - "filename": "std/src/sys/alloc/unix.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "9062": { + "8704": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -743075,7 +759750,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 9062, + "id": 8704, "inner": { "function": { "generics": { @@ -743121,7 +759796,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "$crate::fmt::Formatter" } } @@ -743133,7 +759808,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "$crate::fmt::Result" } } @@ -743144,36 +759819,36 @@ "name": "fmt", "span": { "begin": [ - 131, + 250, 10 ], "end": [ - 131, + 250, 15 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, "visibility": "default" }, - "9063": { + "8705": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9063, + "id": 8705, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -743184,12 +759859,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 9062 + 8704 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -743198,87 +759873,36 @@ "name": null, "span": { "begin": [ - 131, + 250, 10 ], "end": [ - 131, + 250, 15 ], - "filename": "std/src/alloc.rs" - }, - "visibility": "default" - }, - "9064": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9064, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 9040, - "path": "System" - } - } - } - } - }, - "links": {}, - "name": "default", - "span": { - "begin": [ - 131, - 17 - ], - "end": [ - 131, - 24 - ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, "visibility": "default" }, - "9065": { + "8706": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9065, + "id": 8706, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -743288,14 +759912,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 9064 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 442, + "path": "StructuralPartialEq" } } }, @@ -743303,70 +759925,18 @@ "name": null, "span": { "begin": [ - 131, + 250, 17 ], "end": [ - 131, - 24 - ], - "filename": "std/src/alloc.rs" - }, - "visibility": "default" - }, - "9066": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" - }, - "automatically_derived" - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9066, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": null, - "id": 9040, - "path": "System" - } - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 103, - "path": "Copy" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 131, + 250, 26 ], - "end": [ - 131, - 30 - ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, "visibility": "default" }, - "9067": { + "8707": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -743375,7 +759945,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 9067, + "id": 8707, "inner": { "function": { "generics": { @@ -743402,53 +759972,65 @@ } } } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 7979, + "path": "WaitTimeoutResult" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 9040, - "path": "System" - } + "primitive": "bool" } } } }, "links": {}, - "name": "clone", + "name": "eq", "span": { "begin": [ - 131, - 32 + 250, + 17 ], "end": [ - 131, - 37 + 250, + 26 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, "visibility": "default" }, - "9068": { + "8708": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" }, "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9068, + "id": 8708, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -743459,15 +760041,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 9067 + 8707 ], "provided_trait_methods": [ - "clone_from" + "ne" ], "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 121, + "path": "PartialEq" } } }, @@ -743475,129 +760057,72 @@ "name": null, "span": { "begin": [ - 131, - 32 + 250, + 17 ], "end": [ - 131, - 37 + 250, + 26 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, "visibility": "default" }, - "9069": { + "8709": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9069, + "id": 8709, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7979, + "path": "WaitTimeoutResult" + } + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "slice": { - "primitive": "u8" - } - } - } - ], - "constraints": [] - } - }, - "id": 9070, - "path": "NonNull" - } - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 9071, - "path": "AllocError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" + ], + "trait": { + "args": null, + "id": 111, + "path": "Eq" } } }, "links": {}, - "name": "allocate", + "name": null, "span": { "begin": [ - 206, - 5 + 250, + 28 ], "end": [ - 208, - 6 + 250, + 30 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, "visibility": "default" }, - "9072": { + "871": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -743606,7 +760131,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 9072, + "id": 871, "inner": { "function": { "generics": { @@ -743633,209 +760158,14 @@ } } } - ], - [ - "layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "slice": { - "primitive": "u8" - } - } - } - ], - "constraints": [] - } - }, - "id": 9070, - "path": "NonNull" - } - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 9071, - "path": "AllocError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } - } - }, - "links": {}, - "name": "allocate_zeroed", - "span": { - "begin": [ - 211, - 5 - ], - "end": [ - 213, - 6 - ], - "filename": "std/src/alloc.rs" - }, - "visibility": "default" - }, - "9073": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9073, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "ptr", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 9070, - "path": "NonNull" - } - } - ], - [ - "layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - }, - "links": {}, - "name": "deallocate", - "span": { - "begin": [ - 216, - 5 - ], - "end": [ - 222, - 6 - ], - "filename": "std/src/alloc.rs" - }, - "visibility": "default" - }, - "9074": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9074, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", + "tuple": [ { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "ptr", + "primitive": "usize" + }, { "resolved_path": { "args": { @@ -743843,245 +760173,90 @@ "args": [ { "type": { - "primitive": "u8" + "primitive": "usize" } } ], "constraints": [] } }, - "id": 9070, - "path": "NonNull" - } - } - ], - [ - "old_layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ], - [ - "new_layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" + "id": 51, + "path": "Option" } } ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "slice": { - "primitive": "u8" - } - } - } - ], - "constraints": [] - } - }, - "id": 9070, - "path": "NonNull" - } - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 9071, - "path": "AllocError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } } } } }, "links": {}, - "name": "grow", + "name": "size_hint", "span": { "begin": [ - 225, + 1943, 5 ], "end": [ - 233, + 1945, 6 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9075": { + "8710": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9075, + "id": 8710, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 7979, + "path": "WaitTimeoutResult" + } + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "ptr", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 9070, - "path": "NonNull" - } - } - ], - [ - "old_layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ], - [ - "new_layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "slice": { - "primitive": "u8" - } - } - } - ], - "constraints": [] - } - }, - "id": 9070, - "path": "NonNull" - } - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 9071, - "path": "AllocError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 101, + "path": "Copy" } } }, "links": {}, - "name": "grow_zeroed", + "name": null, "span": { "begin": [ - 236, - 5 + 250, + 32 ], "end": [ - 244, - 6 + 250, + 36 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, "visibility": "default" }, - "9076": { + "8711": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -744090,7 +760265,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 9076, + "id": 8711, "inner": { "function": { "generics": { @@ -744102,7 +760277,7 @@ "abi": "Rust", "is_async": false, "is_const": false, - "is_unsafe": true + "is_unsafe": false }, "sig": { "inputs": [ @@ -744117,130 +760292,53 @@ } } } - ], - [ - "ptr", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u8" - } - } - ], - "constraints": [] - } - }, - "id": 9070, - "path": "NonNull" - } - } - ], - [ - "old_layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ], - [ - "new_layout", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "slice": { - "primitive": "u8" - } - } - } - ], - "constraints": [] - } - }, - "id": 9070, - "path": "NonNull" - } - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 9071, - "path": "AllocError" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" + "args": null, + "id": 7979, + "path": "WaitTimeoutResult" } } } } }, "links": {}, - "name": "shrink", + "name": "clone", "span": { "begin": [ - 247, - 5 + 250, + 38 ], "end": [ - 287, - 6 + 250, + 43 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, "visibility": "default" }, - "9077": { + "8712": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 32838, is_soft: false}, feature: \"allocator_api\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"wait_timeout\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9077, + "id": 8712, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { "args": null, - "id": 9040, - "path": "System" + "id": 7979, + "path": "WaitTimeoutResult" } }, "generics": { @@ -744251,24 +760349,15 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 9069, - 9072, - 9073, - 9074, - 9075, - 9076 + 8711 ], "provided_trait_methods": [ - "allocate_zeroed", - "grow", - "grow_zeroed", - "shrink", - "by_ref" + "clone_from" ], "trait": { "args": null, - "id": 3300, - "path": "Allocator" + "id": 97, + "path": "Clone" } } }, @@ -744276,1821 +760365,748 @@ "name": null, "span": { "begin": [ - 204, - 1 + 250, + 38 ], "end": [ - 288, - 2 + 250, + 43 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, "visibility": "default" }, - "9079": { + "8715": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 51245, is_soft: false}, feature: \"alloc_error_hook\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Unregisters the current allocation error hook, returning it.\n\n*See also the function [`set_alloc_error_hook`].*\n\nIf no custom hook is registered, the default hook will be returned.", - "id": 9079, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - } - } - } - }, - "links": { - "`set_alloc_error_hook`": 9080 - }, - "name": "take_alloc_error_hook", - "span": { - "begin": [ - 342, - 1 - ], - "end": [ - 345, - 2 - ], - "filename": "std/src/alloc.rs" - }, - "visibility": "public" - }, - "9080": { - "attrs": [ + "other": "#[(rustfmt, rustfmt::skip)]" + }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 51245, is_soft: false}, feature: \"alloc_error_hook\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Registers a custom allocation error hook, replacing any that was previously registered.\n\nThe allocation error hook is invoked when an infallible memory allocation fails — that is,\nas a consequence of calling [`handle_alloc_error`] — before the runtime aborts.\n\nThe allocation error hook is a global resource. [`take_alloc_error_hook`] may be used to\nretrieve a previously registered hook and wrap or discard it.\n\n# What the provided `hook` function should expect\n\nThe hook function is provided with a [`Layout`] struct which contains information\nabout the allocation that failed.\n\nThe hook function may choose to panic or abort; in the event that it returns normally, this\nwill cause an immediate abort.\n\nSince [`take_alloc_error_hook`] is a safe function that allows retrieving the hook, the hook\nfunction must be _sound_ to call even if no memory allocations were attempted.\n\n# The default hook\n\nThe default hook, used if [`set_alloc_error_hook`] is never called, prints a message to\nstandard error (and then returns, causing the runtime to abort the process).\nCompiler options may cause it to panic instead, and the default behavior may be changed\nto panicking in future versions of Rust.\n\n# Examples\n\n```\n#![feature(alloc_error_hook)]\n\nuse std::alloc::{Layout, set_alloc_error_hook};\n\nfn custom_alloc_error_hook(layout: Layout) {\n panic!(\"memory allocation of {} bytes failed\", layout.size());\n}\n\nset_alloc_error_hook(custom_alloc_error_hook);\n```", - "id": 9080, + "docs": "Useful synchronization primitives.\n\n## The need for synchronization\n\nConceptually, a Rust program is a series of operations which will\nbe executed on a computer. The timeline of events happening in the\nprogram is consistent with the order of the operations in the code.\n\nConsider the following code, operating on some global static variables:\n\n```rust\n// FIXME(static_mut_refs): Do not allow `static_mut_refs` lint\n#![allow(static_mut_refs)]\n\nstatic mut A: u32 = 0;\nstatic mut B: u32 = 0;\nstatic mut C: u32 = 0;\n\nfn main() {\n unsafe {\n A = 3;\n B = 4;\n A = A + B;\n C = B;\n println!(\"{A} {B} {C}\");\n C = A;\n }\n}\n```\n\nIt appears as if some variables stored in memory are changed, an addition\nis performed, result is stored in `A` and the variable `C` is\nmodified twice.\n\nWhen only a single thread is involved, the results are as expected:\nthe line `7 4 4` gets printed.\n\nAs for what happens behind the scenes, when optimizations are enabled the\nfinal generated machine code might look very different from the code:\n\n- The first store to `C` might be moved before the store to `A` or `B`,\n _as if_ we had written `C = 4; A = 3; B = 4`.\n\n- Assignment of `A + B` to `A` might be removed, since the sum can be stored\n in a temporary location until it gets printed, with the global variable\n never getting updated.\n\n- The final result could be determined just by looking at the code\n at compile time, so [constant folding] might turn the whole\n block into a simple `println!(\"7 4 4\")`.\n\nThe compiler is allowed to perform any combination of these\noptimizations, as long as the final optimized code, when executed,\nproduces the same results as the one without optimizations.\n\nDue to the [concurrency] involved in modern computers, assumptions\nabout the program's execution order are often wrong. Access to\nglobal variables can lead to nondeterministic results, **even if**\ncompiler optimizations are disabled, and it is **still possible**\nto introduce synchronization bugs.\n\nNote that thanks to Rust's safety guarantees, accessing global (static)\nvariables requires `unsafe` code, assuming we don't use any of the\nsynchronization primitives in this module.\n\n[constant folding]: https://en.wikipedia.org/wiki/Constant_folding\n[concurrency]: https://en.wikipedia.org/wiki/Concurrency_(computer_science)\n\n## Out-of-order execution\n\nInstructions can execute in a different order from the one we define, due to\nvarious reasons:\n\n- The **compiler** reordering instructions: If the compiler can issue an\n instruction at an earlier point, it will try to do so. For example, it\n might hoist memory loads at the top of a code block, so that the CPU can\n start [prefetching] the values from memory.\n\n In single-threaded scenarios, this can cause issues when writing\n signal handlers or certain kinds of low-level code.\n Use [compiler fences] to prevent this reordering.\n\n- A **single processor** executing instructions [out-of-order]:\n Modern CPUs are capable of [superscalar] execution,\n i.e., multiple instructions might be executing at the same time,\n even though the machine code describes a sequential process.\n\n This kind of reordering is handled transparently by the CPU.\n\n- A **multiprocessor** system executing multiple hardware threads\n at the same time: In multi-threaded scenarios, you can use two\n kinds of primitives to deal with synchronization:\n - [memory fences] to ensure memory accesses are made visible to\n other CPUs in the right order.\n - [atomic operations] to ensure simultaneous access to the same\n memory location doesn't lead to undefined behavior.\n\n[prefetching]: https://en.wikipedia.org/wiki/Cache_prefetching\n[compiler fences]: crate::sync::atomic::compiler_fence\n[out-of-order]: https://en.wikipedia.org/wiki/Out-of-order_execution\n[superscalar]: https://en.wikipedia.org/wiki/Superscalar_processor\n[memory fences]: crate::sync::atomic::fence\n[atomic operations]: crate::sync::atomic\n\n## Higher-level synchronization objects\n\nMost of the low-level synchronization primitives are quite error-prone and\ninconvenient to use, which is why the standard library also exposes some\nhigher-level synchronization objects.\n\nThese abstractions can be built out of lower-level primitives.\nFor efficiency, the sync objects in the standard library are usually\nimplemented with help from the operating system's kernel, which is\nable to reschedule the threads while they are blocked on acquiring\na lock.\n\nThe following is an overview of the available synchronization\nobjects:\n\n- [`Arc`]: Atomically Reference-Counted pointer, which can be used\n in multithreaded environments to prolong the lifetime of some\n data until all the threads have finished using it.\n\n- [`Barrier`]: Ensures multiple threads will wait for each other\n to reach a point in the program, before continuing execution all\n together.\n\n- [`Condvar`]: Condition Variable, providing the ability to block\n a thread while waiting for an event to occur.\n\n- [`mpsc`]: Multi-producer, single-consumer queues, used for\n message-based communication. Can provide a lightweight\n inter-thread synchronisation mechanism, at the cost of some\n extra memory.\n\n- [`mpmc`]: Multi-producer, multi-consumer queues, used for\n message-based communication. Can provide a lightweight\n inter-thread synchronisation mechanism, at the cost of some\n extra memory.\n\n- [`Mutex`]: Mutual Exclusion mechanism, which ensures that at\n most one thread at a time is able to access some data.\n\n- [`Once`]: Used for a thread-safe, one-time global initialization routine.\n Mostly useful for implementing other types like [`OnceLock`].\n\n- [`OnceLock`]: Used for thread-safe, one-time initialization of a\n variable, with potentially different initializers based on the caller.\n\n- [`LazyLock`]: Used for thread-safe, one-time initialization of a\n variable, using one nullary initializer function provided at creation.\n\n- [`RwLock`]: Provides a mutual exclusion mechanism which allows\n multiple readers at the same time, while allowing only one\n writer at a time. In some cases, this can be more efficient than\n a mutex.\n\n[`Arc`]: crate::sync::Arc\n[`Barrier`]: crate::sync::Barrier\n[`Condvar`]: crate::sync::Condvar\n[`mpmc`]: crate::sync::mpmc\n[`mpsc`]: crate::sync::mpsc\n[`Mutex`]: crate::sync::Mutex\n[`Once`]: crate::sync::Once\n[`OnceLock`]: crate::sync::OnceLock\n[`RwLock`]: crate::sync::RwLock", + "id": 8715, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "hook", - { - "function_pointer": { - "generic_params": [], - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "_", - { - "resolved_path": { - "args": null, - "id": 9057, - "path": "Layout" - } - } - ] - ], - "is_c_variadic": false, - "output": null - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 7287, + 494, + 8294, + 7829, + 8656, + 8658, + 8659, + 8661, + 8662, + 8664, + 8665, + 8666, + 8667, + 8668, + 8669, + 8670, + 8671, + 8672, + 8673, + 8674, + 8675, + 8676, + 8677, + 8678, + 8679, + 8680, + 8681, + 8682, + 8683, + 8684, + 8685, + 7979 + ] } }, "links": { - "`Layout`": 9057, - "`handle_alloc_error`": 9078, - "`set_alloc_error_hook`": 9080, - "`take_alloc_error_hook`": 9079 + "`LazyLock`": 737, + "crate::sync::Arc": 606, + "crate::sync::Barrier": 7785, + "crate::sync::Condvar": 495, + "crate::sync::Mutex": 496, + "crate::sync::Once": 7739, + "crate::sync::OnceLock": 7737, + "crate::sync::RwLock": 8103, + "crate::sync::atomic": 348, + "crate::sync::atomic::compiler_fence": 8713, + "crate::sync::atomic::fence": 8714, + "crate::sync::mpmc": 7287, + "crate::sync::mpsc": 494 }, - "name": "set_alloc_error_hook", + "name": "sync", "span": { "begin": [ - 332, + 1, 1 ], "end": [ - 334, + 305, 2 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/sync/mod.rs" }, "visibility": "public" }, - "9081": { + "8716": { "attrs": [ { - "other": "#[doc(inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_module\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 3, patch: 0})}, feature: \"time\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9081, + "id": 8716, "inner": { "use": { - "id": 9082, - "is_glob": true, - "name": "alloc", - "source": "alloc_crate::alloc" + "id": 501, + "is_glob": false, + "name": "Duration", + "source": "core::time::Duration" } }, "links": {}, "name": null, "span": { "begin": [ - 65, + 35, 1 ], "end": [ - 65, - 31 + 35, + 30 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "9083": { + "8717": { "attrs": [ { - "other": "#[deny(unsafe_op_in_unsafe_fn)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_module\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 66, patch: 0})}, feature: \"duration_checked_float\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Memory allocation APIs.\n\nIn a given program, the standard library has one “global” memory allocator\nthat is used for example by `Box` and `Vec`.\n\nCurrently the default global allocator is unspecified. Libraries, however,\nlike `cdylib`s and `staticlib`s are guaranteed to use the [`System`] by\ndefault.\n\n# The `#[global_allocator]` attribute\n\nThis attribute allows configuring the choice of global allocator.\nYou can use this to implement a completely custom global allocator\nto route all default allocation requests to a custom object.\n\n```rust\nuse std::alloc::{GlobalAlloc, System, Layout};\n\nstruct MyAllocator;\n\nunsafe impl GlobalAlloc for MyAllocator {\n unsafe fn alloc(&self, layout: Layout) -> *mut u8 {\n unsafe { System.alloc(layout) }\n }\n\n unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) {\n unsafe { System.dealloc(ptr, layout) }\n }\n}\n\n#[global_allocator]\nstatic GLOBAL: MyAllocator = MyAllocator;\n\nfn main() {\n // This `Vec` will allocate memory through `GLOBAL` above\n let mut v = Vec::new();\n v.push(1);\n}\n```\n\nThe attribute is used on a `static` item whose type implements the\n[`GlobalAlloc`] trait. This type can be provided by an external library:\n\n```rust,ignore (demonstrates crates.io usage)\nuse jemallocator::Jemalloc;\n\n#[global_allocator]\nstatic GLOBAL: Jemalloc = Jemalloc;\n\nfn main() {}\n```\n\nThe `#[global_allocator]` can only be used once in a crate\nor its recursive dependencies.", - "id": 9083, + "docs": null, + "id": 8717, "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 9040, - 9080, - 9079, - 9081 - ] + "use": { + "id": 8718, + "is_glob": false, + "name": "TryFromFloatSecsError", + "source": "core::time::TryFromFloatSecsError" } }, - "links": { - "`GlobalAlloc`": 9039, - "`System`": 9040 - }, - "name": "alloc", + "links": {}, + "name": null, "span": { "begin": [ - 1, + 37, 1 ], "end": [ - 437, - 2 + 37, + 43 ], - "filename": "std/src/alloc.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "909": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 909, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "910": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 910, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "9102": { + "872": { "attrs": [ { - "other": "#[(not(any(test, doctest)), lang = \"begin_panic\")]" - }, - { - "other": "#[lang = \"begin_panic\"]" - }, - { - "other": "#[(not(feature = \"panic_immediate_abort\"), inline(never), cold,\noptimize(size))]" - }, - { - "other": "#[(feature = \"panic_immediate_abort\", inline)]" - }, - { - "other": "#[rustc_do_not_const_check]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"used by the panic! macro\"),\nis_soft: false}, feature: \"libstd_sys_internals\"}}]" - }, - { - "other": "#[attr = Inline(Never)]" - }, - { - "other": "#[attr = Optimize(Size)]" - }, - { - "other": "#[attr = Cold]" - }, - { - "other": "#[attr = TrackCaller]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, - "docs": "This is the entry point of panicking for the non-format-string variants of\npanic!() and assert!(). In particular, this is the only entry point that supports\narbitrary payloads, not just format strings.", - "id": 9102, + "docs": null, + "id": 872, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 341, - "path": "Any" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - } - ], - "default": null, - "is_synthetic": false - } - }, - "name": "M" - } - ], + "params": [], "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "msg", + "self", { - "generic": "M" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "never" + "primitive": "usize" } } } }, "links": {}, - "name": "begin_panic", - "span": { - "begin": [ - 729, - 1 - ], - "end": [ - 778, - 2 - ], - "filename": "std/src/panicking.rs" - }, - "visibility": "public" - }, - "9104": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9104, - "inner": { - "use": { - "id": 9105, - "is_glob": true, - "name": "_Unwind_Reason_Code", - "source": "self::_Unwind_Reason_Code" - } - }, - "links": {}, - "name": null, + "name": "count", "span": { "begin": [ - 150, + 1947, 5 ], "end": [ - 150, - 42 + 1949, + 6 ], - "filename": "std/src/../../backtrace/src/backtrace/libunwind.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "911": { + "8720": { "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 911, + "docs": "# Panics\n\nThis function may panic if the resulting point in time cannot be represented by the\nunderlying data structure. See [`Instant::checked_add`] for a version without panic.", + "id": 8720, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "9113": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9113, - "inner": { - "use": { - "id": 9114, - "is_glob": false, - "name": "trace_unsynchronized", - "source": "self::backtrace::trace_unsynchronized" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 108, - 27 - ], - "end": [ - 108, - 47 - ], - "filename": "std/src/../../backtrace/src/lib.rs" - }, - "visibility": "public" - }, - "9115": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9115, - "inner": { - "use": { - "id": 9116, - "is_glob": false, - "name": "Frame", - "source": "self::backtrace::Frame" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 108, - 49 - ], - "end": [ - 108, - 54 - ], - "filename": "std/src/../../backtrace/src/lib.rs" - }, - "visibility": "public" - }, - "9117": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9117, - "inner": { - "use": { - "id": 9118, - "is_glob": false, - "name": "resolve_frame_unsynchronized", - "source": "self::symbolize::resolve_frame_unsynchronized" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 111, - 1 - ], - "end": [ - 111, - 55 - ], - "filename": "std/src/../../backtrace/src/lib.rs" - }, - "visibility": "public" - }, - "9119": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9119, - "inner": { - "use": { - "id": 9120, - "is_glob": false, - "name": "resolve_unsynchronized", - "source": "self::symbolize::resolve_unsynchronized" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 112, - 27 - ], - "end": [ - 112, - 49 - ], - "filename": "std/src/../../backtrace/src/lib.rs" - }, - "visibility": "public" - }, - "912": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 912, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" + ], + [ + "other", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" } } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" + } } } }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "9121": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9121, - "inner": { - "use": { - "id": 9122, - "is_glob": false, - "name": "Symbol", - "source": "self::symbolize::Symbol" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 112, - 51 - ], - "end": [ - 112, - 57 - ], - "filename": "std/src/../../backtrace/src/lib.rs" - }, - "visibility": "public" - }, - "9123": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9123, - "inner": { - "use": { - "id": 9124, - "is_glob": false, - "name": "SymbolName", - "source": "self::symbolize::SymbolName" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 112, - 59 - ], - "end": [ - 112, - 69 - ], - "filename": "std/src/../../backtrace/src/lib.rs" - }, - "visibility": "public" - }, - "9125": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9125, - "inner": { - "use": { - "id": 9126, - "is_glob": false, - "name": "BytesOrWideString", - "source": "self::types::BytesOrWideString" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 115, - 1 - ], - "end": [ - 115, - 40 - ], - "filename": "std/src/../../backtrace/src/lib.rs" - }, - "visibility": "public" - }, - "9127": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9127, - "inner": { - "use": { - "id": 9128, - "is_glob": false, - "name": "BacktraceFmt", - "source": "print::BacktraceFmt" - } + "links": { + "`Instant::checked_add`": 8727 }, - "links": {}, - "name": null, + "name": "add", "span": { "begin": [ - 122, - 17 + 429, + 5 ], "end": [ - 122, - 29 + 431, + 6 ], - "filename": "std/src/../../backtrace/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9129": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9129, - "inner": { - "use": { - "id": 9130, - "is_glob": false, - "name": "BacktraceFrameFmt", - "source": "print::BacktraceFrameFmt" + "8721": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + { + "must_use": { + "reason": null + } } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 122, - 31 - ], - "end": [ - 122, - 48 - ], - "filename": "std/src/../../backtrace/src/lib.rs" - }, - "visibility": "public" - }, - "913": { - "attrs": [], + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 913, + "docs": "Returns the amount of time elapsed from another instant to this one,\nor zero duration if that instant is later than this one.\n\n# Panics\n\nPrevious Rust versions panicked when `earlier` was later than `self`. Currently this\nmethod saturates. Future versions may reintroduce the panic in some circumstances.\nSee [Monotonicity].\n\n[Monotonicity]: Instant#monotonicity\n\n# Examples\n\n```no_run\nuse std::time::{Duration, Instant};\nuse std::thread::sleep;\n\nlet now = Instant::now();\nsleep(Duration::new(1, 0));\nlet new_now = Instant::now();\nprintln!(\"{:?}\", new_now.duration_since(now));\nprintln!(\"{:?}\", now.duration_since(new_now)); // 0ns\n```", + "id": 8721, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "generic_params": [], - "type": { - "generic": "K" } } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" + ], + [ + "earlier", + { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" } } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" + } } } }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "9131": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9131, - "inner": { - "use": { - "id": 9132, - "is_glob": false, - "name": "PrintFmt", - "source": "print::PrintFmt" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 122, - 50 - ], - "end": [ - 122, - 58 - ], - "filename": "std/src/../../backtrace/src/lib.rs" - }, - "visibility": "public" - }, - "9134": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144889, is_soft: false}, feature: \"derive_from\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9134, - "inner": { - "use": { - "id": 9135, - "is_glob": false, - "name": "From", - "source": "core::from::From" - } + "links": { + "Instant#monotonicity": 504 }, - "links": {}, - "name": null, + "name": "duration_since", "span": { "begin": [ - 746, + 317, 5 ], "end": [ - 746, - 30 + 319, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "9136": { + "8722": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144889, is_soft: false}, feature: \"derive_from\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "Unstable module containing the unstable `From` derive macro.", - "id": 9136, + "docs": "Returns the amount of time elapsed since this instant.\n\n# Panics\n\nPrevious Rust versions panicked when the current time was earlier than self. Currently this\nmethod returns a Duration of zero in that case. Future versions may reintroduce the panic.\nSee [Monotonicity].\n\n[Monotonicity]: Instant#monotonicity\n\n# Examples\n\n```no_run\nuse std::thread::sleep;\nuse std::time::{Duration, Instant};\n\nlet instant = Instant::now();\nlet three_secs = Duration::from_secs(3);\nsleep(three_secs);\nassert!(instant.elapsed() >= three_secs);\n```", + "id": 8722, "inner": { - "module": { - "is_crate": false, - "is_stripped": false, - "items": [ - 9134 - ] + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + } } }, - "links": {}, - "name": "from", + "links": { + "Instant#monotonicity": 504 + }, + "name": "elapsed", "span": { "begin": [ - 744, - 1 + 391, + 5 ], "end": [ - 744, - 13 + 393, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "914": { + "8723": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 914, + "id": 8723, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" - } - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" + ], + [ + "other", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" } } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + } } } }, "links": {}, - "name": null, - "span": null, + "name": "sub", + "span": { + "begin": [ + 445, + 5 + ], + "end": [ + 447, + 6 + ], + "filename": "std/src/time.rs" + }, "visibility": "default" }, - "9140": { + "8724": { "attrs": [ { - "other": "#[rustc_doc_primitive = \"unit\"]" - }, - { - "other": "#[doc(alias = \"(\")]" - }, - { - "other": "#[doc(alias = \")\")]" - }, - { - "other": "#[doc(alias = \"()\")]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 39, patch: 0})}, feature: \"checked_duration_since\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "The `()` type, also called \"unit\".\n\nThe `()` type has exactly one value `()`, and is used when there\nis no other meaningful value that could be returned. `()` is most\ncommonly seen implicitly: functions without a `-> ...` implicitly\nhave return type `()`, that is, these are equivalent:\n\n```rust\nfn long() -> () {}\n\nfn short() {}\n```\n\nThe semicolon `;` can be used to discard the result of an\nexpression at the end of a block, making the expression (and thus\nthe block) evaluate to `()`. For example,\n\n```rust\nfn returns_i64() -> i64 {\n 1i64\n}\nfn returns_unit() {\n 1i64;\n}\n\nlet is_i64 = {\n returns_i64()\n};\nlet is_unit = {\n returns_i64();\n};\n```\n", - "id": 9140, - "inner": { - "primitive": { - "impls": [ - 9435, - 9436, - 9437, - 9438, - 9439, - 9440, - 9441, - 9442, - 9443, - 9444, - 9445, - 9446, - 9447, - 9448, - 9449, - 7161 - ], - "name": "unit" - } - }, - "links": {}, - "name": "unit", - "span": { - "begin": [ - 492, - 1 - ], - "end": [ - 492, - 17 - ], - "filename": "std/src/../../core/src/primitive_docs.rs" - }, - "visibility": "public" - }, - "915": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 915, + "docs": "Returns the amount of time elapsed from another instant to this one,\nor None if that instant is later than this one.\n\nDue to [monotonicity bugs], even under correct logical ordering of the passed `Instant`s,\nthis method can return `None`.\n\n[monotonicity bugs]: Instant#monotonicity\n\n# Examples\n\n```no_run\nuse std::time::{Duration, Instant};\nuse std::thread::sleep;\n\nlet now = Instant::now();\nsleep(Duration::new(1, 0));\nlet new_now = Instant::now();\nprintln!(\"{:?}\", new_now.checked_duration_since(now));\nprintln!(\"{:?}\", now.checked_duration_since(new_now)); // None\n```", + "id": 8724, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "constraints": [] + } } - }, - "id": 829, - "path": "IntoIter" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + ], + [ + "earlier", + { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" } - }, - "name": "T" - } + } + ] ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } } } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 323, - "path": "Borrow" + } } } }, - "links": {}, - "name": null, + "links": { + "Instant#monotonicity": 504 + }, + "name": "checked_duration_since", "span": { "begin": [ - 209, - 1 + 343, + 5 ], "end": [ - 209, - 32 + 345, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/time.rs" }, - "visibility": "default" + "visibility": "public" }, - "9151": { + "8725": { "attrs": [ { - "other": "#[rustc_doc_primitive = \"tuple\"]" - }, - { - "other": "#[doc(alias = \"(\")]" + "other": "#[(not(test), rustc_diagnostic_item = \"instant_now\")]" }, { - "other": "#[doc(alias = \")\")]" + "other": "#[rustc_diagnostic_item = \"instant_now\"]" }, { - "other": "#[doc(alias = \"()\")]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": "A finite heterogeneous sequence, `(T, U, ..)`.\n\nLet's cover each of those in turn:\n\nTuples are *finite*. In other words, a tuple has a length. Here's a tuple\nof length `3`:\n\n```\n(\"hello\", 5, 'c');\n```\n\n'Length' is also sometimes called 'arity' here; each tuple of a different\nlength is a different, distinct type.\n\nTuples are *heterogeneous*. This means that each element of the tuple can\nhave a different type. In that tuple above, it has the type:\n\n```\n# let _:\n(&'static str, i32, char)\n# = (\"hello\", 5, 'c');\n```\n\nTuples are a *sequence*. This means that they can be accessed by position;\nthis is called 'tuple indexing', and it looks like this:\n\n```rust\nlet tuple = (\"hello\", 5, 'c');\n\nassert_eq!(tuple.0, \"hello\");\nassert_eq!(tuple.1, 5);\nassert_eq!(tuple.2, 'c');\n```\n\nThe sequential nature of the tuple applies to its implementations of various\ntraits. For example, in [`PartialOrd`] and [`Ord`], the elements are compared\nsequentially until the first non-equal set is found.\n\nFor more about tuples, see [the book](../book/ch03-02-data-types.html#the-tuple-type).\n\n# Trait implementations\n\nIn this documentation the shorthand `(T₁, T₂, …, Tₙ)` is used to represent tuples of varying\nlength. When that is used, any trait bound expressed on `T` applies to each element of the\ntuple independently. Note that this is a convenience notation to avoid repetitive\ndocumentation, not valid Rust syntax.\n\nDue to a temporary restriction in Rust’s type system, the following traits are only\nimplemented on tuples of arity 12 or less. In the future, this may change:\n\n* [`PartialEq`]\n* [`Eq`]\n* [`PartialOrd`]\n* [`Ord`]\n* [`Debug`]\n* [`Default`]\n* [`Hash`]\n* [`From<[T; N]>`][from]\n\n[from]: convert::From\n[`Debug`]: fmt::Debug\n[`Hash`]: hash::Hash\n\nThe following traits are implemented for tuples of any length. These traits have\nimplementations that are automatically generated by the compiler, so are not limited by\nmissing language features.\n\n* [`Clone`]\n* [`Copy`]\n* [`Send`]\n* [`Sync`]\n* [`Unpin`]\n* [`UnwindSafe`]\n* [`RefUnwindSafe`]\n\n[`UnwindSafe`]: panic::UnwindSafe\n[`RefUnwindSafe`]: panic::RefUnwindSafe\n\n# Examples\n\nBasic usage:\n\n```\nlet tuple = (\"hello\", 5, 'c');\n\nassert_eq!(tuple.0, \"hello\");\n```\n\nTuples are often used as a return type when you want to return more than\none value:\n\n```\nfn calculate_point() -> (i32, i32) {\n // Don't do a calculation, that's not the point of the example\n (4, 5)\n}\n\nlet point = calculate_point();\n\nassert_eq!(point.0, 4);\nassert_eq!(point.1, 5);\n\n// Combining this with patterns can be nicer.\n\nlet (x, y) = calculate_point();\n\nassert_eq!(x, 4);\nassert_eq!(y, 5);\n```\n\nHomogeneous tuples can be created from arrays of appropriate length:\n\n```\nlet array: [u32; 3] = [1, 2, 3];\nlet tuple: (u32, u32, u32) = array.into();\n```\n", - "id": 9151, + "docs": "Returns an instant corresponding to \"now\".\n\n# Examples\n\n```\nuse std::time::Instant;\n\nlet now = Instant::now();\n```", + "id": 8725, "inner": { - "primitive": { - "impls": [ - 9568, - 9569, - 9570, - 9571, - 9572, - 9573, - 9574, - 9575, - 9576, - 9577, - 9578, - 9579, - 9580, - 9581, - 9582, - 833, - 837, - 841, - 4451, - 4454, - 4457, - 4461, - 4464 - ], - "name": "tuple" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } + } } }, - "links": { - "`Clone`": 99, - "`Copy`": 103, - "`Default`": 109, - "`Eq`": 113, - "`Ord`": 119, - "`PartialEq`": 123, - "`PartialOrd`": 127, - "`Send`": 1, - "`Sync`": 5, - "`Unpin`": 7, - "convert::From": 37, - "fmt::Debug": 346, - "hash::Hash": 539, - "panic::RefUnwindSafe": 320, - "panic::UnwindSafe": 318 - }, - "name": "tuple", + "links": {}, + "name": "now", "span": { "begin": [ - 1145, - 1 + 288, + 5 ], "end": [ - 1145, - 18 + 290, + 6 ], - "filename": "std/src/../../core/src/primitive_docs.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "916": { - "attrs": [], + "8726": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 39, patch: 0})}, feature: \"checked_duration_since\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 916, + "docs": "Returns the amount of time elapsed from another instant to this one,\nor zero duration if that instant is later than this one.\n\n# Examples\n\n```no_run\nuse std::time::{Duration, Instant};\nuse std::thread::sleep;\n\nlet now = Instant::now();\nsleep(Duration::new(1, 0));\nlet new_now = Instant::now();\nprintln!(\"{:?}\", new_now.saturating_duration_since(now));\nprintln!(\"{:?}\", now.saturating_duration_since(new_now)); // 0ns\n```", + "id": 8726, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" - } + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" } - ], - "generic_params": [], - "type": { - "generic": "T" } } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } + ], + [ + "earlier", + { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" } - ], - "constraints": [] + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" } - }, - "id": 326, - "path": "BorrowMut" + } } } }, "links": {}, - "name": null, + "name": "saturating_duration_since", "span": { "begin": [ - 217, - 1 + 364, + 5 ], "end": [ - 217, - 35 + 366, + 6 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/time.rs" }, - "visibility": "default" + "visibility": "public" }, - "9162": { + "8727": { "attrs": [ { - "other": "#[rustc_never_returns_null_ptr]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"rustc_str_as_ptr\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - }, - { - "other": "#[attr = AsPtr]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"time_checked_add\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts a string slice to a raw pointer.\n\nAs string slices are a slice of bytes, the raw pointer points to a\n[`u8`]. This pointer will be pointing to the first byte of the string\nslice.\n\nThe caller must ensure that the returned pointer is never written to.\nIf you need to mutate the contents of the string slice, use [`as_mut_ptr`].\n\n[`as_mut_ptr`]: str::as_mut_ptr\n\n# Examples\n\n```\nlet s = \"Hello\";\nlet ptr = s.as_ptr();\n```", - "id": 9162, + "docs": "Returns `Some(t)` where `t` is the time `self + duration` if `t` can be represented as\n`Instant` (which means it's inside the bounds of the underlying data structure), `None`\notherwise.", + "id": 8727, "inner": { "function": { "generics": { @@ -746101,7 +761117,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -746117,62 +761133,69 @@ } } } + ], + [ + "duration", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } ] ], "is_c_variadic": false, "output": { - "raw_pointer": { - "is_mutable": false, - "type": { - "primitive": "u8" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": { - "`u8`": 2398, - "str::as_mut_ptr": 9463 - }, - "name": "as_ptr", + "links": {}, + "name": "checked_add", "span": { "begin": [ - 562, + 399, 5 ], "end": [ - 562, - 44 + 401, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "9163": { + "8728": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"str_len\"]" - }, - { - "other": "#[rustc_no_implicit_autorefs]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 39, patch: 0})}, feature: \"const_str_len\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"time_checked_add\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the length of `self`.\n\nThis length is in bytes, not [`char`]s or graphemes. In other words,\nit might not be what a human considers the length of the string.\n\n[`char`]: prim@char\n\n# Examples\n\n```\nlet len = \"foo\".len();\nassert_eq!(3, len);\n\nassert_eq!(\"ƒoo\".len(), 4); // fancy f!\nassert_eq!(\"ƒoo\".chars().count(), 3);\n```", - "id": 9163, + "docs": "Returns `Some(t)` where `t` is the time `self - duration` if `t` can be represented as\n`Instant` (which means it's inside the bounds of the underlying data structure), `None`\notherwise.", + "id": 8728, "inner": { "function": { "generics": { @@ -746183,7 +761206,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -746199,66 +761222,122 @@ } } } + ], + [ + "duration", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": { - "prim@char": 2397 - }, - "name": "len", + "links": {}, + "name": "checked_sub", "span": { "begin": [ - 141, + 407, 5 ], "end": [ - 141, - 37 + 409, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "917": { + "8729": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 917, + "id": 8729, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" + "args": null, + "id": 504, + "path": "Instant" } }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8725, + 8721, + 8724, + 8726, + 8722, + 8727, + 8728 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 275, + 1 + ], + "end": [ + 419, + 2 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "873": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 873, + "inner": { + "function": { "generics": { "params": [ { @@ -746269,7 +761348,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "B" }, { "kind": { @@ -746279,10 +761358,31 @@ "is_synthetic": false } }, - "name": "U" + "name": "F" } ], "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "Self" + } + } + }, { "bound_predicate": { "bounds": [ @@ -746292,214 +761392,323 @@ "modifier": "none", "trait": { "args": { - "angle_bracketed": { - "args": [ + "parenthesized": { + "inputs": [ { - "type": { - "generic": "T" + "generic": "B" + }, + { + "qualified_path": { + "args": null, + "name": "Item", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 49, + "path": "" + } } } ], - "constraints": [] + "output": { + "generic": "B" + } } }, - "id": 37, - "path": "From" + "id": 13, + "path": "FnMut" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "F" } } } ] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "init", + { + "generic": "B" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "B" + } } } }, "links": {}, - "name": null, + "name": "fold", "span": { "begin": [ - 773, - 1 + 1951, + 5 ], "end": [ - 775, - 24 + 1957, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "918": { + "8730": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 918, + "id": 8730, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" + "args": null, + "id": 504, + "path": "Instant" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 329 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 1, + "path": "Send" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 791, - 1 - ], - "end": [ - 791, - 28 - ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "span": null, + "visibility": "default" + }, + "8731": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8731, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } }, + "links": {}, + "name": null, + "span": null, "visibility": "default" }, - "9182": { - "attrs": [ - { - "other": "#[rustc_doc_primitive = \"bool\"]" - }, - { - "other": "#[doc(alias = \"true\")]" - }, - { - "other": "#[doc(alias = \"false\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "8732": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8732, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } } - ], + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8733": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "The boolean type.\n\nThe `bool` represents a value, which could only be either [`true`] or [`false`]. If you cast\na `bool` into an integer, [`true`] will be 1 and [`false`] will be 0.\n\n# Basic usage\n\n`bool` implements various traits, such as [`BitAnd`], [`BitOr`], [`Not`], etc.,\nwhich allow us to perform boolean operations using `&`, `|` and `!`.\n\n[`if`] requires a `bool` value as its conditional. [`assert!`], which is an\nimportant macro in testing, checks whether an expression is [`true`] and panics\nif it isn't.\n\n```\nlet bool_val = true & false | false;\nassert!(!bool_val);\n```\n\n[`true`]: ../std/keyword.true.html\n[`false`]: ../std/keyword.false.html\n[`BitAnd`]: ops::BitAnd\n[`BitOr`]: ops::BitOr\n[`Not`]: ops::Not\n[`if`]: ../std/keyword.if.html\n\n# Examples\n\nA trivial example of the usage of `bool`:\n\n```\nlet praise_the_borrow_checker = true;\n\n// using the `if` conditional\nif praise_the_borrow_checker {\n println!(\"oh, yeah!\");\n} else {\n println!(\"what?!!\");\n}\n\n// ... or, a match pattern\nmatch praise_the_borrow_checker {\n true => println!(\"keep praising!\"),\n false => println!(\"you should praise!\"),\n}\n```\n\nAlso, since `bool` implements the [`Copy`] trait, we don't\nhave to worry about the move semantics (just like the integer and float primitives).\n\nNow an example of `bool` cast to integer type:\n\n```\nassert_eq!(true as i32, 1);\nassert_eq!(false as i32, 0);\n```", - "id": 9182, + "docs": null, + "id": 8733, "inner": { - "primitive": { - "impls": [ - 9364 - ], - "name": "bool" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } }, - "links": { - "`Copy`": 103, - "`assert!`": 63, - "ops::BitAnd": 1319, - "ops::BitOr": 1315, - "ops::Not": 9137 + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8734": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8734, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } }, - "name": "bool", - "span": { - "begin": [ - 61, - 1 - ], - "end": [ - 61, - 17 - ], - "filename": "std/src/../../core/src/primitive_docs.rs" + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8735": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8735, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "919": { + "8736": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 919, + "id": 8736, "inner": { "impl": { "blanket_impl": { @@ -746507,25 +761716,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" + "args": null, + "id": 504, + "path": "Instant" } }, "generics": { @@ -746539,16 +761732,6 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ @@ -746558,29 +761741,18 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -746590,8 +761762,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 319 ], "provided_trait_methods": [], "trait": { @@ -746600,15 +761771,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 200, - "path": "TryInto" + "id": 321, + "path": "Borrow" } } }, @@ -746616,129 +761787,23 @@ "name": null, "span": { "begin": [ - 817, + 212, 1 ], "end": [ - 819, - 27 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9197": { - "attrs": [ - { - "other": "#[rustc_doc_primitive = \"never\"]" - }, - { - "other": "#[doc(alias = \"!\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 35121, is_soft: false}, feature: \"never_type\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "The `!` type, also called \"never\".\n\n`!` represents the type of computations which never resolve to any value at all. For example,\nthe [`exit`] function `fn exit(code: i32) -> !` exits the process without ever returning, and\nso returns `!`.\n\n`break`, `continue` and `return` expressions also have type `!`. For example we are allowed to\nwrite:\n\n```\n#![feature(never_type)]\n# fn foo() -> u32 {\nlet x: ! = {\n return 123\n};\n# }\n```\n\nAlthough the `let` is pointless here, it illustrates the meaning of `!`. Since `x` is never\nassigned a value (because `return` returns from the entire function), `x` can be given type\n`!`. We could also replace `return 123` with a `panic!` or a never-ending `loop` and this code\nwould still be valid.\n\nA more realistic usage of `!` is in this code:\n\n```\n# fn get_a_number() -> Option { None }\n# loop {\nlet num: u32 = match get_a_number() {\n Some(num) => num,\n None => break,\n};\n# }\n```\n\nBoth match arms must produce values of type [`u32`], but since `break` never produces a value\nat all we know it can never produce a value which isn't a [`u32`]. This illustrates another\nbehavior of the `!` type - expressions with type `!` will coerce into any other type.\n\n[`u32`]: prim@u32\n[`exit`]: ../std/process/fn.exit.html\n\n# `!` and generics\n\n## Infallible errors\n\nThe main place you'll see `!` used explicitly is in generic code. Consider the [`FromStr`]\ntrait:\n\n```\ntrait FromStr: Sized {\n type Err;\n fn from_str(s: &str) -> Result;\n}\n```\n\nWhen implementing this trait for [`String`] we need to pick a type for [`Err`]. And since\nconverting a string into a string will never result in an error, the appropriate type is `!`.\n(Currently the type actually used is an enum with no variants, though this is only because `!`\nwas added to Rust at a later date and it may change in the future.) With an [`Err`] type of\n`!`, if we have to call [`String::from_str`] for some reason the result will be a\n[`Result`] which we can unpack like this:\n\n```\nuse std::str::FromStr;\nlet Ok(s) = String::from_str(\"hello\");\n```\n\nSince the [`Err`] variant contains a `!`, it can never occur. This means we can exhaustively\nmatch on [`Result`] by just taking the [`Ok`] variant. This illustrates another behavior\nof `!` - it can be used to \"delete\" certain enum variants from generic types like `Result`.\n\n## Infinite loops\n\nWhile [`Result`] is very useful for removing errors, `!` can also be used to remove\nsuccesses as well. If we think of [`Result`] as \"if this function returns, it has not\nerrored,\" we get a very intuitive idea of [`Result`] as well: if the function returns, it\n*has* errored.\n\nFor example, consider the case of a simple web server, which can be simplified to:\n\n```ignore (hypothetical-example)\nloop {\n let (client, request) = get_request().expect(\"disconnected\");\n let response = request.process();\n response.send(client);\n}\n```\n\nCurrently, this isn't ideal, because we simply panic whenever we fail to get a new connection.\nInstead, we'd like to keep track of this error, like this:\n\n```ignore (hypothetical-example)\nloop {\n match get_request() {\n Err(err) => break err,\n Ok((client, request)) => {\n let response = request.process();\n response.send(client);\n },\n }\n}\n```\n\nNow, when the server disconnects, we exit the loop with an error instead of panicking. While it\nmight be intuitive to simply return the error, we might want to wrap it in a [`Result`]\ninstead:\n\n```ignore (hypothetical-example)\nfn server_loop() -> Result {\n loop {\n let (client, request) = get_request()?;\n let response = request.process();\n response.send(client);\n }\n}\n```\n\nNow, we can use `?` instead of `match`, and the return type makes a lot more sense: if the loop\never stops, it means that an error occurred. We don't even have to wrap the loop in an `Ok`\nbecause `!` coerces to `Result` automatically.\n\n[`String::from_str`]: str::FromStr::from_str\n[`String`]: ../std/string/struct.String.html\n[`FromStr`]: str::FromStr\n\n# `!` and traits\n\nWhen writing your own traits, `!` should have an `impl` whenever there is an obvious `impl`\nwhich doesn't `panic!`. The reason is that functions returning an `impl Trait` where `!`\ndoes not have an `impl` of `Trait` cannot diverge as their only possible code path. In other\nwords, they can't return `!` from every code path. As an example, this code doesn't compile:\n\n```compile_fail\nuse std::ops::Add;\n\nfn foo() -> impl Add {\n unimplemented!()\n}\n```\n\nBut this code does:\n\n```\nuse std::ops::Add;\n\nfn foo() -> impl Add {\n if true {\n unimplemented!()\n } else {\n 0\n }\n}\n```\n\nThe reason is that, in the first example, there are many possible types that `!` could coerce\nto, because many types implement `Add`. However, in the second example,\nthe `else` branch returns a `0`, which the compiler infers from the return type to be of type\n`u32`. Since `u32` is a concrete type, `!` can and will be coerced to it. See issue [#36375]\nfor more information on this quirk of `!`.\n\n[#36375]: https://github.com/rust-lang/rust/issues/36375\n\nAs it turns out, though, most traits can have an `impl` for `!`. Take [`Debug`]\nfor example:\n\n```\n#![feature(never_type)]\n# use std::fmt;\n# trait Debug {\n# fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result;\n# }\nimpl Debug for ! {\n fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n *self\n }\n}\n```\n\nOnce again we're using `!`'s ability to coerce into any other type, in this case\n[`fmt::Result`]. Since this method takes a `&!` as an argument we know that it can never be\ncalled (because there is no value of type `!` for it to be called with). Writing `*self`\nessentially tells the compiler \"We know that this code can never be run, so just treat the\nentire function body as having type [`fmt::Result`]\". This pattern can be used a lot when\nimplementing traits for `!`. Generally, any trait which only has methods which take a `self`\nparameter should have such an impl.\n\nOn the other hand, one trait which would not be appropriate to implement is [`Default`]:\n\n```\ntrait Default {\n fn default() -> Self;\n}\n```\n\nSince `!` has no values, it has no default value either. It's true that we could write an\n`impl` for this which simply panics, but the same is true for any type (we could `impl\nDefault` for (eg.) [`File`] by just making [`default()`] panic.)\n\n[`File`]: ../std/fs/struct.File.html\n[`Debug`]: fmt::Debug\n[`default()`]: Default::default\n\n# Never type fallback\n\nWhen the compiler sees a value of type `!` in a [coercion site], it implicitly inserts a\ncoercion to allow the type checker to infer any type:\n\n```rust,ignore (illustrative-and-has-placeholders)\n// this\nlet x: u8 = panic!();\n\n// is (essentially) turned by the compiler into\nlet x: u8 = absurd(panic!());\n\n// where absurd is a function with the following signature\n// (it's sound, because `!` always marks unreachable code):\nfn absurd(_: !) -> T { ... }\n```\n\nThis can lead to compilation errors if the type cannot be inferred:\n\n```compile_fail\n// this\n{ panic!() };\n\n// gets turned into this\n{ absurd(panic!()) }; // error: can't infer the type of `absurd`\n```\n\nTo prevent such errors, the compiler remembers where it inserted `absurd` calls, and\nif it can't infer the type, it uses the fallback type instead:\n```rust, ignore\ntype Fallback = /* An arbitrarily selected type! */;\n{ absurd::(panic!()) }\n```\n\nThis is what is known as \"never type fallback\".\n\nHistorically, the fallback type was [`()`], causing confusing behavior where `!` spontaneously\ncoerced to `()`, even when it would not infer `()` without the fallback. The fallback was changed\nto `!` in the [2024 edition], and will be changed in all editions at a later date.\n\n[coercion site]: \n[`()`]: prim@unit\n[2024 edition]: \n", - "id": 9197, - "inner": { - "primitive": { - "impls": [ - 1899, - 9365, - 9366, - 9367, - 9368, - 9369, - 9370, - 9371, - 9372, - 9373, - 9374, - 9375, - 9376, - 9377, - 9378, - 9379, - 9380, - 7163 - ], - "name": "never" - } - }, - "links": { - "Default::default": 734, - "`Default`": 109, - "`Err`": 59, - "`Ok`": 61, - "`Result`": 57, - "`Result`": 57, - "`Result`": 57, - "`fmt::Result`": 344, - "fmt::Debug": 346, - "prim@u32": 4820, - "prim@unit": 9140, - "str::FromStr": 2072, - "str::FromStr::from_str": 9139 - }, - "name": "never", - "span": { - "begin": [ - 315, - 1 - ], - "end": [ - 315, - 18 - ], - "filename": "std/src/../../core/src/primitive_docs.rs" - }, - "visibility": "public" - }, - "92": { - "attrs": [ - { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 92, - "inner": { - "use": { - "id": 93, - "is_glob": false, - "name": "option_env", - "source": "core::prelude::v1::option_env" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 51, - 89 - ], - "end": [ - 51, - 99 - ], - "filename": "std/src/prelude/v1.rs" - }, - "visibility": "public" - }, - "920": { + "8737": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 920, + "id": 8737, "inner": { "impl": { "blanket_impl": { @@ -746746,25 +761811,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" + "args": null, + "id": 504, + "path": "Instant" } }, "generics": { @@ -746778,16 +761827,6 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ @@ -746797,29 +761836,18 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -746829,8 +761857,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 322 ], "provided_trait_methods": [], "trait": { @@ -746839,15 +761866,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 324, + "path": "BorrowMut" } } }, @@ -746855,23 +761882,23 @@ "name": null, "span": { "begin": [ - 833, + 221, 1 ], "end": [ - 835, - 24 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "921": { + "8738": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 921, + "id": 8738, "inner": { "impl": { "blanket_impl": { @@ -746879,25 +761906,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" + "args": null, + "id": 504, + "path": "Instant" } }, "generics": { @@ -746917,17 +761928,14 @@ { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 97, + "path": "Clone" } } } @@ -746944,13 +761952,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 422 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 424, + "path": "CloneToUninit" } } }, @@ -746958,49 +761966,33 @@ "name": null, "span": { "begin": [ - 138, + 515, 1 ], "end": [ - 138, - 36 + 515, + 42 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "922": { + "8739": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 922, + "id": 8739, "inner": { "impl": { "blanket_impl": { - "generic": "I" + "generic": "T" }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" + "args": null, + "id": 504, + "path": "Instant" } }, "generics": { @@ -747013,7 +762005,17 @@ "is_synthetic": false } }, - "name": "I" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -747025,16 +762027,27 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 49, - "path": "Iterator" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } } ], "generic_params": [], "type": { - "generic": "I" + "generic": "U" } } } @@ -747044,15 +762057,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 858, - 859, - 860 + 325 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 47, - "path": "IntoIterator" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, @@ -747060,65 +762082,18 @@ "name": null, "span": { "begin": [ - 314, + 767, 1 ], "end": [ - 314, - 37 - ], - "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" - }, - "visibility": "default" - }, - "923": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 923, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "generic": "Self" - } - } - } - }, - "links": {}, - "name": "default", - "span": { - "begin": [ - 1541, - 5 - ], - "end": [ - 1543, - 6 + 769, + 24 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9235": { + "874": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -747127,106 +762102,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 9235, - "inner": { - "use": { - "id": 9236, - "is_glob": false, - "name": "any", - "source": "core::any" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 492, - 1 - ], - "end": [ - 492, - 19 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9237": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 35, patch: 0})}, feature: \"core_array\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9237, - "inner": { - "use": { - "id": 9238, - "is_glob": false, - "name": "array", - "source": "core::array" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 494, - 1 - ], - "end": [ - 494, - 21 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9239": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 79024, is_soft: false}, feature: \"async_iterator\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9239, - "inner": { - "use": { - "id": 9240, - "is_glob": false, - "name": "async_iter", - "source": "core::async_iter" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 496, - 1 - ], - "end": [ - 496, - 26 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "924": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"default_iters_hash\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 924, + "id": 874, "inner": { "impl": { "blanket_impl": null, @@ -747235,6 +762111,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "K" @@ -747249,12 +762128,20 @@ "constraints": [] } }, - "id": 829, - "path": "IntoIter" + "id": 756, + "path": "Iter" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -747282,516 +762169,647 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 923 + 869, + 870, + 871, + 872, + 873 ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 109, - "path": "Default" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 1539, - 1 - ], - "end": [ - 1544, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "9241": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9241, - "inner": { - "use": { - "id": 381, - "is_glob": false, - "name": "cell", - "source": "core::cell" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 498, - 1 - ], - "end": [ - 498, - 20 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9242": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9242, - "inner": { - "use": { - "id": 9243, - "is_glob": false, - "name": "char", - "source": "core::char" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 500, - 1 - ], - "end": [ - 500, - 20 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9244": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9244, - "inner": { - "use": { - "id": 189, - "is_glob": false, - "name": "clone", - "source": "core::clone" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 502, - 1 - ], - "end": [ - 502, - 21 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9245": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9245, - "inner": { - "use": { - "id": 191, - "is_glob": false, - "name": "cmp", - "source": "core::cmp" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 504, - 1 - ], - "end": [ - 504, - 19 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9246": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9246, - "inner": { - "use": { - "id": 192, - "is_glob": false, - "name": "convert", - "source": "core::convert" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 506, - 1 - ], - "end": [ - 506, - 23 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9247": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9247, - "inner": { - "use": { - "id": 193, - "is_glob": false, - "name": "default", - "source": "core::default" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 508, - 1 - ], - "end": [ - 508, - 23 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9248": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"futures_api\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9248, - "inner": { - "use": { - "id": 202, - "is_glob": false, - "name": "future", - "source": "core::future" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 510, - 1 - ], - "end": [ - 510, - 22 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9249": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"core_hint\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9249, - "inner": { - "use": { - "id": 9250, - "is_glob": false, - "name": "hint", - "source": "core::hint" + "provided_trait_methods": [ + "next_chunk", + "size_hint", + "count", + "last", + "advance_by", + "nth", + "step_by", + "chain", + "zip", + "intersperse", + "intersperse_with", + "map", + "for_each", + "filter", + "filter_map", + "enumerate", + "peekable", + "skip_while", + "take_while", + "map_while", + "skip", + "take", + "scan", + "flat_map", + "flatten", + "map_windows", + "fuse", + "inspect", + "by_ref", + "collect", + "try_collect", + "collect_into", + "partition", + "partition_in_place", + "is_partitioned", + "try_fold", + "try_for_each", + "fold", + "reduce", + "try_reduce", + "all", + "any", + "find", + "find_map", + "try_find", + "position", + "rposition", + "max", + "min", + "max_by_key", + "max_by", + "min_by_key", + "min_by", + "rev", + "unzip", + "copied", + "cloned", + "cycle", + "array_chunks", + "sum", + "product", + "cmp", + "cmp_by", + "partial_cmp", + "partial_cmp_by", + "eq", + "eq_by", + "ne", + "lt", + "le", + "gt", + "ge", + "is_sorted", + "is_sorted_by", + "is_sorted_by_key", + "__iterator_get_unchecked" + ], + "trait": { + "args": null, + "id": 49, + "path": "Iterator" + } } }, "links": {}, "name": null, "span": { "begin": [ - 512, + 1935, 1 ], "end": [ - 512, - 20 + 1958, + 2 ], - "filename": "std/src/lib.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "925": { + "8740": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 925, + "id": 8740, "inner": { - "assoc_type": { - "bounds": [], + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, - "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] } - ] + }, + "id": 37, + "path": "From" } } }, "links": {}, - "name": "Item", + "name": null, "span": { "begin": [ - 2023, - 5 + 785, + 1 ], "end": [ - 2023, - 24 + 785, + 28 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9251": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8741": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9251, + "id": 8741, "inner": { - "use": { - "id": 9252, - "is_glob": false, - "name": "i8", - "source": "core::i8" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } } }, "links": {}, "name": null, "span": { "begin": [ - 515, + 811, 1 ], "end": [ - 515, - 18 + 813, + 27 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9253": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8742": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9253, + "id": 8742, "inner": { - "use": { - "id": 9254, - "is_glob": false, - "name": "i16", - "source": "core::i16" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } } }, "links": {}, "name": null, "span": { "begin": [ - 518, + 827, 1 ], "end": [ - 518, - 19 + 829, + 24 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9255": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8743": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9255, + "id": 8743, "inner": { - "use": { - "id": 9256, - "is_glob": false, - "name": "i32", - "source": "core::i32" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } } }, "links": {}, "name": null, "span": { "begin": [ - 521, + 138, 1 ], "end": [ - 521, - 19 + 138, + 36 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "9257": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8744": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9257, + "id": 8744, "inner": { - "use": { - "id": 9258, - "is_glob": false, - "name": "i64", - "source": "core::i64" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } } }, "links": {}, "name": null, "span": { "begin": [ - 524, + 85, 1 ], "end": [ - 524, - 19 + 87, + 14 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "9259": { + "8745": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"i128\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9259, + "id": 8745, "inner": { - "use": { - "id": 9260, - "is_glob": false, - "name": "i128", - "source": "core::i128" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 101, + "path": "Copy" + } } }, "links": {}, "name": null, "span": { "begin": [ - 527, - 1 + 155, + 10 ], "end": [ - 527, - 20 + 155, + 14 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "926": { + "8746": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -747800,7 +762818,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 926, + "id": 8746, "inner": { "function": { "generics": { @@ -747820,7 +762838,7 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" @@ -747832,282 +762850,214 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [ - { - "generic": "K" - }, - { - "generic": "V" - } - ] - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 504, + "path": "Instant" } } } } }, "links": {}, - "name": "next", + "name": "clone", "span": { "begin": [ - 2026, - 5 + 155, + 16 ], "end": [ - 2028, - 6 + 155, + 21 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/time.rs" }, "visibility": "default" }, - "9261": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9261, - "inner": { - "use": { - "id": 9262, - "is_glob": false, - "name": "intrinsics", - "source": "core::intrinsics" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 529, - 1 - ], - "end": [ - 529, - 26 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9263": { + "8747": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9263, + "id": 8747, "inner": { - "use": { - "id": 9264, - "is_glob": false, - "name": "isize", - "source": "core::isize" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8746 + ], + "provided_trait_methods": [ + "clone_from" + ], + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } } }, "links": {}, "name": null, "span": { "begin": [ - 532, - 1 + 155, + 16 ], "end": [ - 532, + 155, 21 ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9265": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9265, - "inner": { - "use": { - "id": 194, - "is_glob": false, - "name": "iter", - "source": "core::iter" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 534, - 1 - ], - "end": [ - 534, - 20 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9266": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9266, - "inner": { - "use": { - "id": 183, - "is_glob": false, - "name": "marker", - "source": "core::marker" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 536, - 1 - ], - "end": [ - 536, - 22 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9267": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9267, - "inner": { - "use": { - "id": 185, - "is_glob": false, - "name": "mem", - "source": "core::mem" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 538, - 1 - ], - "end": [ - 538, - 19 - ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9268": { + "8748": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9268, + "id": 8748, "inner": { - "use": { - "id": 184, - "is_glob": false, - "name": "ops", - "source": "core::ops" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 442, + "path": "StructuralPartialEq" + } } }, "links": {}, "name": null, "span": { "begin": [ - 540, - 1 + 155, + 23 ], "end": [ - 540, - 19 + 155, + 32 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9269": { + "8749": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9269, + "id": 8749, "inner": { - "use": { - "id": 195, - "is_glob": false, - "name": "option", - "source": "core::option" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } } }, "links": {}, - "name": null, + "name": "eq", "span": { "begin": [ - 542, - 1 + 155, + 23 ], "end": [ - 542, - 22 + 155, + 32 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "927": { + "875": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -748116,7 +763066,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 927, + "id": 875, "inner": { "function": { "generics": { @@ -748147,253 +763097,295 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "usize" - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - ] + "primitive": "usize" } } } }, "links": {}, - "name": "size_hint", + "name": "len", "span": { "begin": [ - 2030, + 1962, 5 ], "end": [ - 2032, + 1964, 6 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9270": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 33, patch: 0})}, feature: \"pin\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9270, - "inner": { - "use": { - "id": 9271, - "is_glob": false, - "name": "pin", - "source": "core::pin" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 544, - 1 - ], - "end": [ - 544, - 19 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9272": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9272, - "inner": { - "use": { - "id": 9144, - "is_glob": false, - "name": "ptr", - "source": "core::ptr" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 546, - 1 - ], - "end": [ - 546, - 19 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9273": { + "8750": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 125687, is_soft: false}, feature: \"new_range_api\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9273, + "id": 8750, "inner": { - "use": { - "id": 9274, - "is_glob": false, - "name": "range", - "source": "core::range" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8749 + ], + "provided_trait_methods": [ + "ne" + ], + "trait": { + "args": null, + "id": 121, + "path": "PartialEq" + } } }, "links": {}, "name": null, "span": { "begin": [ - 548, - 1 + 155, + 23 ], "end": [ - 548, - 21 + 155, + 32 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9275": { + "8751": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9275, + "id": 8751, "inner": { - "use": { - "id": 196, - "is_glob": false, - "name": "result", - "source": "core::result" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" + ], + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } } }, "links": {}, "name": null, "span": { "begin": [ - 550, - 1 + 155, + 34 ], "end": [ - 550, - 22 + 155, + 36 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9276": { + "8752": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9276, + "id": 8752, "inner": { - "use": { - "id": 9277, - "is_glob": false, - "name": "u8", - "source": "core::u8" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 2007, + "path": "$crate::cmp::Ordering" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "$crate::option::Option" + } + } + } } }, "links": {}, - "name": null, + "name": "partial_cmp", "span": { "begin": [ - 553, - 1 + 155, + 38 ], "end": [ - 553, - 18 + 155, + 48 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9278": { + "8753": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9278, + "id": 8753, "inner": { - "use": { - "id": 9279, - "is_glob": false, - "name": "u16", - "source": "core::u16" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8752 + ], + "provided_trait_methods": [ + "lt", + "le", + "gt", + "ge", + "__chaining_lt", + "__chaining_le", + "__chaining_gt", + "__chaining_ge" + ], + "trait": { + "args": null, + "id": 125, + "path": "PartialOrd" + } } }, "links": {}, "name": null, "span": { "begin": [ - 556, - 1 + 155, + 38 ], "end": [ - 556, - 19 + 155, + 48 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "928": { + "8754": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -748402,7 +763394,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 928, + "id": 8754, "inner": { "function": { "generics": { @@ -748421,221 +763413,410 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "resolved_path": { + "args": null, + "id": 2007, + "path": "$crate::cmp::Ordering" + } } } } }, "links": {}, - "name": "count", + "name": "cmp", "span": { "begin": [ - 2034, - 5 + 155, + 50 ], "end": [ - 2036, - 6 + 155, + 53 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/time.rs" }, "visibility": "default" }, - "9280": { + "8755": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9280, + "id": 8755, "inner": { - "use": { - "id": 9281, - "is_glob": false, - "name": "u32", - "source": "core::u32" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8754 + ], + "provided_trait_methods": [ + "max", + "min", + "clamp" + ], + "trait": { + "args": null, + "id": 117, + "path": "Ord" + } } }, "links": {}, "name": null, "span": { "begin": [ - 559, - 1 + 155, + 50 ], "end": [ - 559, - 19 + 155, + 53 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9282": { + "8756": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9282, + "id": 8756, "inner": { - "use": { - "id": 9283, - "is_glob": false, - "name": "u64", - "source": "core::u64" + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 537, + "path": "$crate::hash::Hasher" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "__H" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "state", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "__H" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } } }, "links": {}, - "name": null, + "name": "hash", "span": { "begin": [ - 562, - 1 + 155, + 55 ], "end": [ - 562, - 19 + 155, + 59 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9284": { + "8757": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"i128\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9284, + "id": 8757, "inner": { - "use": { - "id": 9285, - "is_glob": false, - "name": "u128", - "source": "core::u128" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8756 + ], + "provided_trait_methods": [ + "hash_slice" + ], + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } } }, "links": {}, "name": null, "span": { "begin": [ - 565, - 1 + 155, + 55 ], "end": [ - 565, - 20 + 155, + 59 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9286": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130516, is_soft: false}, feature: \"unsafe_binders\"}}]" - } - ], + "8758": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9286, + "id": 8758, "inner": { - "use": { - "id": 9287, - "is_glob": false, - "name": "unsafe_binder", - "source": "core::unsafe_binder" + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } } }, "links": {}, - "name": null, + "name": "Output", "span": { "begin": [ - 567, - 1 + 423, + 5 ], "end": [ - 567, - 29 + 423, + 27 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9288": { + "8759": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9288, + "id": 8759, "inner": { - "use": { - "id": 9289, - "is_glob": false, - "name": "usize", - "source": "core::usize" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8758, + 8720 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + } + ], + "constraints": [] + } + }, + "id": 8760, + "path": "Add" + } } }, "links": {}, "name": null, "span": { "begin": [ - 570, + 422, 1 ], "end": [ - 570, - 21 + 432, + 2 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "929": { + "876": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 929, + "id": 876, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 756, + "path": "Iter" + } + }, "generics": { "params": [ { @@ -748646,7 +763827,7 @@ "is_synthetic": false } }, - "name": "B" + "name": "K" }, { "kind": { @@ -748656,78 +763837,54 @@ "is_synthetic": false } }, - "name": "F" + "name": "V" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "Self" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "generic": "B" - }, - { - "qualified_path": { - "args": null, - "name": "Item", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 49, - "path": "" - } - } - } - ], - "output": { - "generic": "B" - } - } - }, - "id": 13, - "path": "FnMut" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 875 + ], + "provided_trait_methods": [ + "len", + "is_empty" + ], + "trait": { + "args": null, + "id": 43, + "path": "ExactSizeIterator" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1960, + 1 + ], + "end": [ + 1965, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8761": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8761, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -748741,351 +763898,399 @@ [ "self", { - "generic": "Self" - } - ], - [ - "init", - { - "generic": "B" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "f", + "other", { - "generic": "F" + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } } ] ], "is_c_variadic": false, - "output": { - "generic": "B" - } + "output": null } } }, "links": {}, - "name": "fold", + "name": "add_assign", "span": { "begin": [ - 2038, + 436, 5 ], "end": [ - 2044, + 438, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/time.rs" }, "visibility": "default" }, - "9290": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9290, - "inner": { - "use": { - "id": 187, - "is_glob": false, - "name": "borrow", - "source": "alloc_crate::borrow" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 573, - 1 - ], - "end": [ - 573, - 29 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9291": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9291, - "inner": { - "use": { - "id": 186, - "is_glob": false, - "name": "boxed", - "source": "alloc_crate::boxed" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 575, - 1 - ], - "end": [ - 575, - 28 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9292": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9292, - "inner": { - "use": { - "id": 6957, - "is_glob": false, - "name": "fmt", - "source": "alloc_crate::fmt" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 577, - 1 - ], - "end": [ - 577, - 26 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9293": { + "8762": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"time_augmented_assignment\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9293, + "id": 8762, "inner": { - "use": { - "id": 2328, - "is_glob": false, - "name": "format", - "source": "alloc_crate::format" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8761 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + } + ], + "constraints": [] + } + }, + "id": 8763, + "path": "AddAssign" + } } }, "links": {}, "name": null, "span": { "begin": [ - 579, + 435, 1 ], "end": [ - 579, - 29 + 439, + 2 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9294": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8764": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9294, + "id": 8764, "inner": { - "use": { - "id": 9295, - "is_glob": false, - "name": "rc", - "source": "alloc_crate::rc" + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } } }, "links": {}, - "name": null, + "name": "Output", "span": { "begin": [ - 581, - 1 + 443, + 5 ], "end": [ - 581, - 25 + 443, + 27 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9296": { + "8765": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9296, + "id": 8765, "inner": { - "use": { - "id": 205, - "is_glob": false, - "name": "slice", - "source": "alloc_crate::slice" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8764, + 8723 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + } + ], + "constraints": [] + } + }, + "id": 1326, + "path": "Sub" + } } }, "links": {}, "name": null, "span": { "begin": [ - 583, + 442, 1 ], "end": [ - 583, - 28 + 448, + 2 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9297": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8766": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9297, + "id": 8766, "inner": { - "use": { - "id": 9161, - "is_glob": false, - "name": "str", - "source": "alloc_crate::str" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + ] + ], + "is_c_variadic": false, + "output": null + } } }, "links": {}, - "name": null, + "name": "sub_assign", "span": { "begin": [ - 585, - 1 + 452, + 5 ], "end": [ - 585, - 26 + 454, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9298": { + "8767": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"time_augmented_assignment\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9298, + "id": 8767, "inner": { - "use": { - "id": 197, - "is_glob": false, - "name": "string", - "source": "alloc_crate::string" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8766 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + } + ], + "constraints": [] + } + }, + "id": 8768, + "path": "SubAssign" + } } }, "links": {}, "name": null, "span": { "begin": [ - 587, + 451, 1 ], "end": [ - 587, - 29 + 455, + 2 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9299": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8769": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9299, + "id": 8769, "inner": { - "use": { - "id": 198, - "is_glob": false, - "name": "vec", - "source": "alloc_crate::vec" + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } } }, "links": {}, - "name": null, + "name": "Output", "span": { "begin": [ - 589, - 1 + 459, + 5 ], "end": [ - 589, - 26 + 459, + 28 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "930": { + "877": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 930, + "id": 877, "inner": { "impl": { "blanket_impl": null, @@ -749094,6 +764299,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'_" + }, { "type": { "generic": "K" @@ -749108,8 +764316,8 @@ "constraints": [] } }, - "id": 829, - "path": "IntoIter" + "id": 756, + "path": "Iter" } }, "generics": { @@ -749140,95 +764348,12 @@ "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 925, - 926, - 927, - 928, - 929 - ], - "provided_trait_methods": [ - "next_chunk", - "size_hint", - "count", - "last", - "advance_by", - "nth", - "step_by", - "chain", - "zip", - "intersperse", - "intersperse_with", - "map", - "for_each", - "filter", - "filter_map", - "enumerate", - "peekable", - "skip_while", - "take_while", - "map_while", - "skip", - "take", - "scan", - "flat_map", - "flatten", - "map_windows", - "fuse", - "inspect", - "by_ref", - "collect", - "try_collect", - "collect_into", - "partition", - "partition_in_place", - "is_partitioned", - "try_fold", - "try_for_each", - "fold", - "reduce", - "try_reduce", - "all", - "any", - "find", - "find_map", - "try_find", - "position", - "rposition", - "max", - "min", - "max_by_key", - "max_by", - "min_by_key", - "min_by", - "rev", - "unzip", - "copied", - "cloned", - "cycle", - "array_chunks", - "sum", - "product", - "cmp", - "cmp_by", - "partial_cmp", - "partial_cmp_by", - "eq", - "eq_by", - "ne", - "lt", - "le", - "gt", - "ge", - "is_sorted", - "is_sorted_by", - "is_sorted_by_key", - "__iterator_get_unchecked" - ], + "items": [], + "provided_trait_methods": [], "trait": { "args": null, - "id": 49, - "path": "Iterator" + "id": 878, + "path": "FusedIterator" } } }, @@ -749236,228 +764361,444 @@ "name": null, "span": { "begin": [ - 2022, + 1968, 1 ], "end": [ - 2045, - 2 + 1968, + 47 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9300": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8770": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 9300, + "docs": "Returns the amount of time elapsed from another instant to this one,\nor zero duration if that instant is later than this one.\n\n# Panics\n\nPrevious Rust versions panicked when `other` was later than `self`. Currently this\nmethod saturates. Future versions may reintroduce the panic in some circumstances.\nSee [Monotonicity].\n\n[Monotonicity]: Instant#monotonicity", + "id": 8770, "inner": { - "use": { - "id": 9301, - "is_glob": false, - "name": "vec", - "source": "alloc_crate::vec" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "other", + { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + } } }, - "links": {}, - "name": null, + "links": { + "Instant#monotonicity": 504 + }, + "name": "sub", "span": { "begin": [ - 589, - 1 + 471, + 5 ], "end": [ - 589, - 26 + 473, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9302": { + "8771": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"simd_x86\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9302, + "id": 8771, "inner": { - "use": { - "id": 8693, - "is_glob": false, - "name": "is_x86_feature_detected", - "source": "std_detect::is_x86_feature_detected" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8769, + 8770 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1326, + "path": "Sub" + } } }, "links": {}, "name": null, "span": { "begin": [ - 695, + 458, 1 ], "end": [ - 695, - 45 + 474, + 2 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9303": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 115585, is_soft: false}, feature: \"cfg_select\"}}]" - } - ], + "8772": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9303, + "id": 8772, "inner": { - "use": { - "id": 9304, - "is_glob": false, - "name": "cfg_select", - "source": "core::cfg_select" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } } }, "links": {}, - "name": null, + "name": "fmt", "span": { "begin": [ - 711, - 1 + 478, + 5 ], "end": [ - 711, - 26 + 480, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9305": { + "8773": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"`concat_bytes` is not stable enough for use and is subject to change\"),\nissue: 87555, is_soft: false}, feature: \"concat_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9305, + "id": 8773, "inner": { - "use": { - "id": 131, - "is_glob": false, - "name": "concat_bytes", - "source": "core::concat_bytes" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 504, + "path": "Instant" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8772 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } } }, "links": {}, "name": null, "span": { "begin": [ - 717, + 477, 1 ], "end": [ - 717, - 28 + 481, + 2 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9306": { + "8775": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 42, patch: 0})}, feature: \"matches_macro\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"assoc_unix_epoch\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 9306, + "docs": "An anchor in time which can be used to create new `SystemTime` instances or\nlearn about where in time a `SystemTime` lies.\n\nThis constant is defined to be \"1970-01-01 00:00:00 UTC\" on all systems with\nrespect to the system clock. Using `duration_since` on an existing\n`SystemTime` instance can tell how far away from this point in time a\nmeasurement lies, and using `UNIX_EPOCH + duration` can be used to create a\n`SystemTime` instance to represent another fixed point in time.\n\n`duration_since(UNIX_EPOCH).unwrap().as_secs()` returns\nthe number of non-leap seconds since the start of 1970 UTC.\nThis is a POSIX `time_t` (as a `u64`),\nand is the same time representation as used in many Internet protocols.\n\n# Examples\n\n```no_run\nuse std::time::SystemTime;\n\nmatch SystemTime::now().duration_since(SystemTime::UNIX_EPOCH) {\n Ok(n) => println!(\"1970-01-01 00:00:00 UTC was {} seconds ago!\", n.as_secs()),\n Err(_) => panic!(\"SystemTime before UNIX EPOCH!\"),\n}\n```", + "id": 8775, "inner": { - "use": { - "id": 9307, - "is_glob": false, - "name": "matches", - "source": "core::matches" + "assoc_const": { + "type": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "value": "UNIX_EPOCH" } }, "links": {}, - "name": null, + "name": "UNIX_EPOCH", "span": { "begin": [ - 720, - 1 + 512, + 5 ], "end": [ - 720, - 23 + 512, + 51 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "9308": { + "8776": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "# Panics\n\nThis function may panic if the resulting point in time cannot be represented by the\nunderlying data structure. See [`SystemTime::checked_add`] for a version without panic.", + "id": 8776, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "dur", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } + } + } + }, + "links": { + "`SystemTime::checked_add`": 8781 + }, + "name": "add", + "span": { + "begin": [ + 613, + 5 + ], + "end": [ + 615, + 6 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8777": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"core_primitive\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 9308, + "docs": "Returns the system time corresponding to \"now\".\n\n# Examples\n\n```\nuse std::time::SystemTime;\n\nlet sys_time = SystemTime::now();\n```", + "id": 8777, "inner": { - "use": { - "id": 9309, - "is_glob": false, - "name": "primitive", - "source": "core::primitive" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } + } } }, "links": {}, - "name": null, + "name": "now", "span": { "begin": [ - 722, - 1 + 525, + 5 ], "end": [ - 722, - 25 + 527, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "931": { + "8778": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 931, + "docs": "Returns the amount of time elapsed from an earlier point in time.\n\nThis function may fail because measurements taken earlier are not\nguaranteed to always be before later measurements (due to anomalies such\nas the system clock being adjusted either forwards or backwards).\n[`Instant`] can be used to measure elapsed time without this risk of failure.\n\nIf successful, [Ok]\\([Duration]) is returned where the duration represents\nthe amount of time elapsed from the specified measurement to this one.\n\nReturns an [`Err`] if `earlier` is later than `self`, and the error\ncontains how far from `self` the time is.\n\n# Examples\n\n```no_run\nuse std::time::SystemTime;\n\nlet sys_time = SystemTime::now();\nlet new_sys_time = SystemTime::now();\nlet difference = new_sys_time.duration_since(sys_time)\n .expect(\"Clock may have gone backwards\");\nprintln!(\"{difference:?}\");\n```", + "id": 8778, "inner": { "function": { "generics": { @@ -749484,331 +764825,788 @@ } } } + ], + [ + "earlier", + { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, - "links": {}, - "name": "len", + "links": { + "Duration": 501, + "Ok": 61, + "`Err`": 59, + "`Instant`": 504 + }, + "name": "duration_since", "span": { "begin": [ - 2049, + 554, 5 ], "end": [ - 2051, + 556, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/time.rs" }, - "visibility": "default" + "visibility": "public" }, - "9310": { + "8779": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"todo_macro\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 9310, + "docs": "An error returned from the `duration_since` and `elapsed` methods on\n`SystemTime`, used to learn how far in the opposite direction a system time\nlies.\n\n# Examples\n\n```no_run\nuse std::thread::sleep;\nuse std::time::{Duration, SystemTime};\n\nlet sys_time = SystemTime::now();\nsleep(Duration::from_secs(1));\nlet new_sys_time = SystemTime::now();\nmatch sys_time.duration_since(new_sys_time) {\n Ok(_) => {}\n Err(e) => println!(\"SystemTimeError difference: {:?}\", e.duration()),\n}\n```", + "id": 8779, "inner": { - "use": { - "id": 9311, - "is_glob": false, - "name": "todo", - "source": "core::todo" + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 8825, + 8826, + 8827, + 8828, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8843, + 8845, + 8846, + 8848 + ], + "kind": { + "tuple": [ + null + ] + } } }, "links": {}, - "name": null, + "name": "SystemTimeError", "span": { "begin": [ - 725, + 273, 1 ], "end": [ - 725, - 20 + 273, + 38 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "9312": { + "8780": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 9312, + "docs": "Returns the difference from this system time to the\ncurrent clock time.\n\nThis function may fail as the underlying system clock is susceptible to\ndrift and updates (e.g., the system clock could go backwards), so this\nfunction might not always succeed. If successful, [Ok]\\([Duration]) is\nreturned where the duration represents the amount of time elapsed from\nthis time measurement to the current time.\n\nTo measure elapsed time reliably, use [`Instant`] instead.\n\nReturns an [`Err`] if `self` is later than the current system time, and\nthe error contains how far from the current system time `self` is.\n\n# Examples\n\n```no_run\nuse std::thread::sleep;\nuse std::time::{Duration, SystemTime};\n\nlet sys_time = SystemTime::now();\nlet one_sec = Duration::from_secs(1);\nsleep(one_sec);\nassert!(sys_time.elapsed().unwrap() >= one_sec);\n```", + "id": 8780, "inner": { - "use": { - "id": 63, - "is_glob": false, - "name": "assert", - "source": "core::assert" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } } }, - "links": {}, - "name": null, + "links": { + "Duration": 501, + "Ok": 61, + "`Err`": 59, + "`Instant`": 504 + }, + "name": "elapsed", "span": { "begin": [ - 729, + 584, 5 ], "end": [ - 729, - 11 + 586, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "9313": { + "8781": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"time_checked_add\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 9313, + "docs": "Returns `Some(t)` where `t` is the time `self + duration` if `t` can be represented as\n`SystemTime` (which means it's inside the bounds of the underlying data structure), `None`\notherwise.", + "id": 8781, "inner": { - "use": { - "id": 9314, - "is_glob": false, - "name": "assert_matches", - "source": "core::assert_matches" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "duration", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": null, + "name": "checked_add", "span": { "begin": [ - 729, - 13 + 592, + 5 ], "end": [ - 729, - 27 + 594, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "9315": { + "8782": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"time_checked_add\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 9315, + "docs": "Returns `Some(t)` where `t` is the time `self - duration` if `t` can be represented as\n`SystemTime` (which means it's inside the bounds of the underlying data structure), `None`\notherwise.", + "id": 8782, "inner": { - "use": { - "id": 65, - "is_glob": false, - "name": "cfg", - "source": "core::cfg" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "duration", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } } }, "links": {}, - "name": null, + "name": "checked_sub", "span": { "begin": [ - 729, - 29 + 600, + 5 ], "end": [ - 729, - 32 + 602, + 6 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "9316": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], + "8783": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9316, + "id": 8783, "inner": { - "use": { - "id": 67, - "is_glob": false, - "name": "column", - "source": "core::column" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8775, + 8777, + 8778, + 8780, + 8781, + 8782 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, "name": null, "span": { "begin": [ - 729, - 34 + 483, + 1 ], "end": [ - 729, - 40 + 603, + 2 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9317": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], + "8784": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9317, + "id": 8784, "inner": { - "use": { - "id": 69, - "is_glob": false, - "name": "compile_error", - "source": "core::compile_error" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 729, - 42 - ], - "end": [ - 729, - 55 - ], - "filename": "std/src/lib.rs" + "span": null, + "visibility": "default" + }, + "8785": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8785, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "9318": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "8786": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8786, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } } - ], + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8787": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9318, + "id": 8787, "inner": { - "use": { - "id": 71, - "is_glob": false, - "name": "concat", - "source": "core::concat" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } }, "links": {}, "name": null, - "span": { - "begin": [ - 729, - 57 - ], - "end": [ - 729, - 63 - ], - "filename": "std/src/lib.rs" + "span": null, + "visibility": "default" + }, + "8788": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8788, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "9319": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "8789": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8789, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } } - ], + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8790": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9319, + "id": 8790, "inner": { - "use": { - "id": 9320, - "is_glob": false, - "name": "const_format_args", - "source": "core::const_format_args" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } } }, "links": {}, "name": null, "span": { "begin": [ - 729, - 65 + 212, + 1 ], "end": [ - 729, - 82 + 212, + 38 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "932": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "8791": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 932, + "id": 8791, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 829, - "path": "IntoIter" + "args": null, + "id": 2446, + "path": "SystemTime" } }, "generics": { @@ -749821,35 +765619,55 @@ "is_synthetic": false } }, - "name": "K" - }, + "name": "T" + } + ], + "where_predicates": [ { - "kind": { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "generic": "T" } - }, - "name": "V" + } } - ], - "where_predicates": [] + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 931 - ], - "provided_trait_methods": [ - "len", - "is_empty" + 322 ], + "provided_trait_methods": [], "trait": { - "args": null, - "id": 43, - "path": "ExactSizeIterator" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, @@ -749857,283 +765675,756 @@ "name": null, "span": { "begin": [ - 2047, + 221, 1 ], "end": [ - 2052, - 2 + 221, + 41 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9321": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], + "8792": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9321, + "id": 8792, "inner": { - "use": { - "id": 73, - "is_glob": false, - "name": "env", - "source": "core::env" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 422 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 424, + "path": "CloneToUninit" + } } }, "links": {}, "name": null, "span": { "begin": [ - 729, - 84 + 515, + 1 ], "end": [ - 729, - 87 + 515, + 42 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, - "visibility": "public" + "visibility": "default" }, - "9322": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], + "8793": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9322, + "id": 8793, "inner": { - "use": { - "id": 75, - "is_glob": false, - "name": "file", - "source": "core::file" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } } }, "links": {}, "name": null, "span": { "begin": [ - 729, - 89 + 767, + 1 ], "end": [ - 729, - 93 + 769, + 24 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9323": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], + "8794": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9323, + "id": 8794, "inner": { - "use": { - "id": 77, - "is_glob": false, - "name": "format_args", - "source": "core::format_args" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } } }, "links": {}, "name": null, "span": { "begin": [ - 730, - 5 + 785, + 1 ], "end": [ - 730, - 16 + 785, + 28 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9324": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], + "8795": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9324, + "id": 8795, "inner": { - "use": { - "id": 79, - "is_glob": false, - "name": "format_args_nl", - "source": "core::format_args_nl" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } } }, "links": {}, "name": null, "span": { "begin": [ - 730, - 18 + 811, + 1 ], "end": [ - 730, - 32 + 813, + 27 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9325": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], + "8796": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9325, + "id": 8796, "inner": { - "use": { - "id": 81, - "is_glob": false, - "name": "include", - "source": "core::include" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } } }, "links": {}, "name": null, "span": { "begin": [ - 730, - 34 + 827, + 1 ], "end": [ - 730, - 41 + 829, + 24 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9326": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], + "8797": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9326, + "id": 8797, "inner": { - "use": { - "id": 83, - "is_glob": false, - "name": "include_bytes", - "source": "core::include_bytes" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" + } } }, "links": {}, "name": null, "span": { "begin": [ - 730, - 43 + 138, + 1 ], "end": [ - 730, - 56 + 138, + 36 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "9327": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } - ], + "8798": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9327, + "id": 8798, "inner": { - "use": { - "id": 85, - "is_glob": false, - "name": "include_str", - "source": "core::include_str" + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } } }, "links": {}, "name": null, "span": { "begin": [ - 730, - 58 + 85, + 1 ], "end": [ - 730, - 69 + 87, + 14 ], - "filename": "std/src/lib.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "9328": { + "8799": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9328, + "id": 8799, "inner": { - "use": { - "id": 87, - "is_glob": false, - "name": "line", - "source": "core::line" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 101, + "path": "Copy" + } } }, "links": {}, "name": null, "span": { "begin": [ - 730, - 71 + 249, + 10 ], "end": [ - 730, - 75 + 249, + 14 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9329": { + "88": { "attrs": [ + { + "other": "#[doc(no_inline)]" + }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } @@ -750141,40 +766432,36 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 9329, + "id": 88, "inner": { "use": { "id": 89, "is_glob": false, - "name": "log_syntax", - "source": "core::log_syntax" + "name": "module_path", + "source": "core::prelude::v1::module_path" } }, "links": {}, "name": null, "span": { "begin": [ - 730, - 77 + 51, + 76 ], "end": [ - 730, + 51, 87 ], - "filename": "std/src/lib.rs" + "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "933": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" - } - ], + "880": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 933, + "id": 880, "inner": { "impl": { "blanket_impl": null, @@ -750183,6 +766470,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "K" @@ -750197,12 +766487,20 @@ "constraints": [] } }, - "id": 829, - "path": "IntoIter" + "id": 758, + "path": "IterMut" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -750224,281 +766522,436 @@ "name": "V" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + } + ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 878, - "path": "FusedIterator" + "id": 1, + "path": "Send" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 2054, - 1 - ], - "end": [ - 2054, - 47 - ], - "filename": "std/src/collections/hash/map.rs" - }, + "span": null, "visibility": "default" }, - "9330": { + "8800": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9330, + "id": 8800, "inner": { - "use": { - "id": 91, - "is_glob": false, - "name": "module_path", - "source": "core::module_path" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } + } } }, "links": {}, - "name": null, + "name": "clone", "span": { "begin": [ - 731, - 5 + 249, + 16 ], "end": [ - 731, - 16 + 249, + 21 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9331": { + "8801": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9331, + "id": 8801, "inner": { - "use": { - "id": 93, - "is_glob": false, - "name": "option_env", - "source": "core::option_env" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8800 + ], + "provided_trait_methods": [ + "clone_from" + ], + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } } }, "links": {}, "name": null, "span": { "begin": [ - 731, - 18 + 249, + 16 ], "end": [ - 731, - 28 + 249, + 21 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9332": { + "8802": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9332, + "id": 8802, "inner": { - "use": { - "id": 95, - "is_glob": false, - "name": "stringify", - "source": "core::stringify" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 442, + "path": "StructuralPartialEq" + } } }, "links": {}, "name": null, "span": { "begin": [ - 731, - 30 + 249, + 23 ], "end": [ - 731, - 39 + 249, + 32 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9333": { + "8803": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9333, + "id": 8803, "inner": { - "use": { - "id": 97, - "is_glob": false, - "name": "trace_macros", - "source": "core::trace_macros" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } } }, "links": {}, - "name": null, + "name": "eq", "span": { "begin": [ - 731, - 41 + 249, + 23 ], "end": [ - 731, - 53 + 249, + 32 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9334": { + "8804": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9334, + "id": 8804, "inner": { - "use": { - "id": 9335, - "is_glob": false, - "name": "assert_eq", - "source": "core::assert_eq" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8803 + ], + "provided_trait_methods": [ + "ne" + ], + "trait": { + "args": null, + "id": 121, + "path": "PartialEq" + } } }, "links": {}, "name": null, "span": { "begin": [ - 737, - 5 + 249, + 23 ], "end": [ - 737, - 14 + 249, + 32 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9336": { + "8805": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9336, + "id": 8805, "inner": { - "use": { - "id": 9337, - "is_glob": false, - "name": "assert_ne", - "source": "core::assert_ne" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "assert_receiver_is_total_eq" + ], + "trait": { + "args": null, + "id": 111, + "path": "Eq" + } } }, "links": {}, "name": null, "span": { "begin": [ - 737, - 16 + 249, + 34 ], "end": [ - 737, - 25 + 249, + 36 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9338": { + "8806": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9338, - "inner": { - "use": { - "id": 9339, - "is_glob": false, - "name": "debug_assert", - "source": "core::debug_assert" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 737, - 27 - ], - "end": [ - 737, - 39 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "934": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 934, + "id": 8806, "inner": { "function": { "generics": { @@ -750527,25 +766980,16 @@ } ], [ - "f", + "other", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" + "args": null, + "id": 2446, + "path": "SystemTime" } } } @@ -750555,219 +766999,251 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 2007, + "path": "$crate::cmp::Ordering" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "$crate::option::Option" } } } } }, "links": {}, - "name": "fmt", + "name": "partial_cmp", "span": { "begin": [ - 2058, - 5 + 249, + 38 ], "end": [ - 2060, - 6 + 249, + 48 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/time.rs" }, "visibility": "default" }, - "9340": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9340, - "inner": { - "use": { - "id": 9341, - "is_glob": false, - "name": "debug_assert_eq", - "source": "core::debug_assert_eq" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 737, - 41 - ], - "end": [ - 737, - 56 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9342": { - "attrs": [ - { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9342, - "inner": { - "use": { - "id": 9343, - "is_glob": false, - "name": "debug_assert_ne", - "source": "core::debug_assert_ne" - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 737, - 58 - ], - "end": [ - 737, - 73 - ], - "filename": "std/src/lib.rs" - }, - "visibility": "public" - }, - "9344": { + "8807": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9344, + "id": 8807, "inner": { - "use": { - "id": 9345, - "is_glob": false, - "name": "try", - "source": "core::try" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8806 + ], + "provided_trait_methods": [ + "lt", + "le", + "gt", + "ge", + "__chaining_lt", + "__chaining_le", + "__chaining_gt", + "__chaining_ge" + ], + "trait": { + "args": null, + "id": 125, + "path": "PartialOrd" + } } }, "links": {}, "name": null, "span": { "begin": [ - 737, - 75 + 249, + 38 ], "end": [ - 737, - 80 + 249, + 48 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9346": { + "8808": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9346, + "id": 8808, "inner": { - "use": { - "id": 9347, - "is_glob": false, - "name": "unimplemented", - "source": "core::unimplemented" + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 2007, + "path": "$crate::cmp::Ordering" + } + } + } } }, "links": {}, - "name": null, + "name": "cmp", "span": { "begin": [ - 737, - 82 + 249, + 50 ], "end": [ - 737, - 95 + 249, + 53 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9348": { + "8809": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9348, + "id": 8809, "inner": { - "use": { - "id": 9349, - "is_glob": false, - "name": "unreachable", - "source": "core::unreachable" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8808 + ], + "provided_trait_methods": [ + "max", + "min", + "clamp" + ], + "trait": { + "args": null, + "id": 117, + "path": "Ord" + } } }, "links": {}, "name": null, "span": { "begin": [ - 738, - 5 + 249, + 50 ], "end": [ - 738, - 16 + 249, + 53 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "935": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" - } - ], + "881": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 935, + "id": 881, "inner": { "impl": { "blanket_impl": null, @@ -750776,6 +767252,9 @@ "args": { "angle_bracketed": { "args": [ + { + "lifetime": "'a" + }, { "type": { "generic": "K" @@ -750790,28 +767269,24 @@ "constraints": [] } }, - "id": 829, - "path": "IntoIter" + "id": 758, + "path": "IterMut" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -750821,19 +767296,7 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } @@ -750841,381 +767304,503 @@ "name": "V" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + } + ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 934 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 5, + "path": "Sync" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 2057, - 1 - ], - "end": [ - 2061, - 2 - ], - "filename": "std/src/collections/hash/map.rs" - }, + "span": null, "visibility": "default" }, - "9350": { + "8810": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9350, + "id": 8810, "inner": { - "use": { - "id": 4145, - "is_glob": false, - "name": "write", - "source": "core::write" + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 537, + "path": "$crate::hash::Hasher" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "__H" + } + ], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "state", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "__H" + } + } + } + ] + ], + "is_c_variadic": false, + "output": null + } } }, "links": {}, - "name": null, + "name": "hash", "span": { "begin": [ - 738, - 18 + 249, + 55 ], "end": [ - 738, - 23 + 249, + 59 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9351": { + "8811": { "attrs": [ { - "other": "#[allow(deprecated, deprecated_in_future)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9351, + "id": 8811, "inner": { - "use": { - "id": 9352, - "is_glob": false, - "name": "writeln", - "source": "core::writeln" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8810 + ], + "provided_trait_methods": [ + "hash_slice" + ], + "trait": { + "args": null, + "id": 539, + "path": "Hash" + } } }, "links": {}, "name": null, "span": { "begin": [ - 738, - 25 + 249, + 55 ], "end": [ - 738, - 32 + 249, + 59 ], - "filename": "std/src/lib.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9354": { - "attrs": [ - "macro_export", - { - "other": "#[(not(test), rustc_diagnostic_item = \"eprint_macro\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"eprint_macro\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"eprint\"}}]" - }, - { - "other": "#[attr = AllowInternalUnstable([\"print_internals\"])]" - } - ], + "8812": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Prints to the standard error.\n\nEquivalent to the [`print!`] macro, except that output goes to\n[`io::stderr`] instead of [`io::stdout`]. See [`print!`] for\nexample usage.\n\nUse `eprint!` only for error and progress messages. Use `print!`\ninstead for the primary output of your program.\n\n[`io::stderr`]: crate::io::stderr\n[`io::stdout`]: crate::io::stdout\n\nSee the formatting documentation in [`std::fmt`](crate::fmt)\nfor details of the macro argument syntax.\n\n# Panics\n\nPanics if writing to `io::stderr` fails.\n\nWriting to non-blocking stderr can cause an error, which will lead\nthis macro to panic.\n\n# Examples\n\n```\neprint!(\"Error: Could not complete task\");\n```", - "id": 9354, + "docs": null, + "id": 8812, "inner": { - "macro": "macro_rules! eprint {\n ($($arg:tt)*) => { ... };\n}" - }, - "links": { - "`print!`": 9355, - "crate::fmt": 6957, - "crate::io::stderr": 3732, - "crate::io::stdout": 3651 + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } + } }, - "name": "eprint", + "links": {}, + "name": "Output", "span": { "begin": [ - 178, - 1 + 607, + 5 ], "end": [ - 182, - 2 + 607, + 30 ], - "filename": "std/src/macros.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9355": { + "8813": { "attrs": [ - "macro_export", - { - "other": "#[(not(test), rustc_diagnostic_item = \"print_macro\")]" - }, { - "other": "#[rustc_diagnostic_item = \"print_macro\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = AllowInternalUnstable([\"print_internals\"])]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Prints to the standard output.\n\nEquivalent to the [`println!`] macro except that a newline is not printed at\nthe end of the message.\n\nNote that stdout is frequently line-buffered by default so it may be\nnecessary to use [`io::stdout().flush()`][flush] to ensure the output is emitted\nimmediately.\n\nThe `print!` macro will lock the standard output on each call. If you call\n`print!` within a hot loop, this behavior may be the bottleneck of the loop.\nTo avoid this, lock stdout with [`io::stdout().lock()`][lock]:\n```\nuse std::io::{stdout, Write};\n\nlet mut lock = stdout().lock();\nwrite!(lock, \"hello world\").unwrap();\n```\n\nUse `print!` only for the primary output of your program. Use\n[`eprint!`] instead to print error and progress messages.\n\nSee the formatting documentation in [`std::fmt`](crate::fmt)\nfor details of the macro argument syntax.\n\n[flush]: crate::io::Write::flush\n[`println!`]: crate::println\n[`eprint!`]: crate::eprint\n[lock]: crate::io::Stdout\n\n# Panics\n\nPanics if writing to `io::stdout()` fails.\n\nWriting to non-blocking stdout can cause an error, which will lead\nthis macro to panic.\n\n# Examples\n\n```\nuse std::io::{self, Write};\n\nprint!(\"this \");\nprint!(\"will \");\nprint!(\"be \");\nprint!(\"on \");\nprint!(\"the \");\nprint!(\"same \");\nprint!(\"line \");\n\nio::stdout().flush().unwrap();\n\nprint!(\"this string has a newline, why not choose println! instead?\\n\");\n\nio::stdout().flush().unwrap();\n```", - "id": 9355, + "docs": null, + "id": 8813, "inner": { - "macro": "macro_rules! print {\n ($($arg:tt)*) => { ... };\n}" - }, - "links": { - "crate::eprint": 9354, - "crate::fmt": 6957, - "crate::io::Stdout": 3652, - "crate::io::Write::flush": 2483, - "crate::println": 4419 + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8812, + 8776 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + } + ], + "constraints": [] + } + }, + "id": 8760, + "path": "Add" + } + } }, - "name": "print", + "links": {}, + "name": null, "span": { "begin": [ - 82, + 606, 1 ], "end": [ - 86, + 616, 2 ], - "filename": "std/src/macros.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9356": { - "attrs": [ - "macro_export", - { - "other": "#[(not(test), rustc_diagnostic_item = \"eprintln_macro\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"eprintln_macro\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"eprint\"}}]" - }, - { - "other": "#[attr = AllowInternalUnstable([\"print_internals\", \"format_args_nl\"])]" - } - ], + "8814": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Prints to the standard error, with a newline.\n\nEquivalent to the [`println!`] macro, except that output goes to\n[`io::stderr`] instead of [`io::stdout`]. See [`println!`] for\nexample usage.\n\nUse `eprintln!` only for error and progress messages. Use `println!`\ninstead for the primary output of your program.\n\nSee the formatting documentation in [`std::fmt`](crate::fmt)\nfor details of the macro argument syntax.\n\n[`io::stderr`]: crate::io::stderr\n[`io::stdout`]: crate::io::stdout\n[`println!`]: crate::println\n\n# Panics\n\nPanics if writing to `io::stderr` fails.\n\nWriting to non-blocking stderr can cause an error, which will lead\nthis macro to panic.\n\n# Examples\n\n```\neprintln!(\"Error: Could not complete task\");\n```", - "id": 9356, + "docs": null, + "id": 8814, "inner": { - "macro": "macro_rules! eprintln {\n () => { ... };\n ($($arg:tt)*) => { ... };\n}" - }, - "links": { - "crate::fmt": 6957, - "crate::io::stderr": 3732, - "crate::io::stdout": 3651, - "crate::println": 4419 + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + ] + ], + "is_c_variadic": false, + "output": null + } + } }, - "name": "eprintln", + "links": {}, + "name": "add_assign", "span": { "begin": [ - 216, - 1 + 620, + 5 ], "end": [ - 223, - 2 + 622, + 6 ], - "filename": "std/src/macros.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9357": { + "8815": { "attrs": [ - "macro_export", - { - "other": "#[(not(test), rustc_diagnostic_item = \"dbg_macro\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"dbg_macro\"]" - }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"dbg_macro\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"time_augmented_assignment\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Prints and returns the value of a given expression for quick and dirty\ndebugging.\n\nAn example:\n\n```rust\nlet a = 2;\nlet b = dbg!(a * 2) + 1;\n// ^-- prints: [src/main.rs:2:9] a * 2 = 4\nassert_eq!(b, 5);\n```\n\nThe macro works by using the `Debug` implementation of the type of\nthe given expression to print the value to [stderr] along with the\nsource location of the macro invocation as well as the source code\nof the expression.\n\nInvoking the macro on an expression moves and takes ownership of it\nbefore returning the evaluated expression unchanged. If the type\nof the expression does not implement `Copy` and you don't want\nto give up ownership, you can instead borrow with `dbg!(&expr)`\nfor some expression `expr`.\n\nThe `dbg!` macro works exactly the same in release builds.\nThis is useful when debugging issues that only occur in release\nbuilds or when debugging in release mode is significantly faster.\n\nNote that the macro is intended as a debugging tool and therefore you\nshould avoid having uses of it in version control for long periods\n(other than in tests and similar).\nDebug output from production code is better done with other facilities\nsuch as the [`debug!`] macro from the [`log`] crate.\n\n# Stability\n\nThe exact output printed by this macro should not be relied upon\nand is subject to future changes.\n\n# Panics\n\nPanics if writing to `io::stderr` fails.\n\n# Further examples\n\nWith a method call:\n\n```rust\nfn foo(n: usize) {\n if let Some(_) = dbg!(n.checked_sub(4)) {\n // ...\n }\n}\n\nfoo(3)\n```\n\nThis prints to [stderr]:\n\n```text,ignore\n[src/main.rs:2:22] n.checked_sub(4) = None\n```\n\nNaive factorial implementation:\n\n```rust\nfn factorial(n: u32) -> u32 {\n if dbg!(n <= 1) {\n dbg!(1)\n } else {\n dbg!(n * factorial(n - 1))\n }\n}\n\ndbg!(factorial(4));\n```\n\nThis prints to [stderr]:\n\n```text,ignore\n[src/main.rs:2:8] n <= 1 = false\n[src/main.rs:2:8] n <= 1 = false\n[src/main.rs:2:8] n <= 1 = false\n[src/main.rs:2:8] n <= 1 = true\n[src/main.rs:3:9] 1 = 1\n[src/main.rs:7:9] n * factorial(n - 1) = 2\n[src/main.rs:7:9] n * factorial(n - 1) = 6\n[src/main.rs:7:9] n * factorial(n - 1) = 24\n[src/main.rs:9:1] factorial(4) = 24\n```\n\nThe `dbg!(..)` macro moves the input:\n\n```compile_fail\n/// A wrapper around `usize` which importantly is not Copyable.\n#[derive(Debug)]\nstruct NoCopy(usize);\n\nlet a = NoCopy(42);\nlet _ = dbg!(a); // <-- `a` is moved here.\nlet _ = dbg!(a); // <-- `a` is moved again; error!\n```\n\nYou can also use `dbg!()` without a value to just print the\nfile and line whenever it's reached.\n\nFinally, if you want to `dbg!(..)` multiple values, it will treat them as\na tuple (and return it, too):\n\n```\nassert_eq!(dbg!(1usize, 2u32), (1, 2));\n```\n\nHowever, a single argument with a trailing comma will still not be treated\nas a tuple, following the convention of ignoring trailing commas in macro\ninvocations. You can use a 1-tuple directly if you need one:\n\n```\nassert_eq!(1, dbg!(1u32,)); // trailing comma ignored\nassert_eq!((1,), dbg!((1u32,))); // 1-tuple\n```\n\n[stderr]: https://en.wikipedia.org/wiki/Standard_streams#Standard_error_(stderr)\n[`debug!`]: https://docs.rs/log/*/log/macro.debug.html\n[`log`]: https://crates.io/crates/log", - "id": 9357, + "docs": null, + "id": 8815, "inner": { - "macro": "macro_rules! dbg {\n () => { ... };\n ($val:expr $(,)?) => { ... };\n ($($val:expr),+ $(,)?) => { ... };\n}" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8814 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } + } + ], + "constraints": [] + } + }, + "id": 8763, + "path": "AddAssign" + } + } }, "links": {}, - "name": "dbg", + "name": null, "span": { "begin": [ - 352, + 619, 1 ], "end": [ - 381, + 623, 2 ], - "filename": "std/src/macros.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9358": { - "attrs": [ - "macro_export", - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144032, is_soft: false}, feature: \"hash_map_macro\"}}]" - }, - { - "other": "#[attr = AllowInternalUnstable([\"hash_map_internals\"])]" - } - ], + "8816": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": " Creates a [`HashMap`] containing the arguments.\n\n `hash_map!` allows specifying the entries that make\n up the [`HashMap`] where the key and value are separated by a `=>`.\n\n The entries are separated by commas with a trailing comma being allowed.\n\n It is semantically equivalent to using repeated [`HashMap::insert`]\n on a newly created hashmap.\n\n `hash_map!` will attempt to avoid repeated reallocations by\n using [`HashMap::with_capacity`].\n\n # Examples\n\n ```rust\n #![feature(hash_map_macro)]\n\n let map = hash_map! {\n \"key\" => \"value\",\n \"key1\" => \"value1\"\n };\n\n assert_eq!(map.get(\"key\"), Some(&\"value\"));\n assert_eq!(map.get(\"key1\"), Some(&\"value1\"));\n assert!(map.get(\"brrrrrrooooommm\").is_none());\n ```\n\n And with a trailing comma\n\n```rust\n #![feature(hash_map_macro)]\n\n let map = hash_map! {\n \"key\" => \"value\", // notice the ,\n };\n\n assert_eq!(map.get(\"key\"), Some(&\"value\"));\n ```\n\n The key and value are moved into the HashMap.\n\n [`HashMap`]: crate::collections::HashMap\n [`HashMap::insert`]: crate::collections::HashMap::insert\n [`HashMap::with_capacity`]: crate::collections::HashMap::with_capacity", - "id": 9358, + "docs": null, + "id": 8816, "inner": { - "macro": "macro_rules! hash_map {\n () => { ... };\n ( $( $key:expr => $value:expr ),* $(,)? ) => { ... };\n}" - }, - "links": { - "crate::collections::HashMap": 738, - "crate::collections::HashMap::insert": 783, - "crate::collections::HashMap::with_capacity": 741 + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } + } }, - "name": "hash_map", + "links": {}, + "name": "Output", "span": { "begin": [ - 443, - 1 + 627, + 5 ], "end": [ - 455, - 2 + 627, + 30 ], - "filename": "std/src/macros.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9360": { - "attrs": [ - { - "other": "#[doc(alias = \"then_with\")]" - }, - { - "other": "#[rustc_diagnostic_item = \"bool_then\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"lazy_bool_to_option\"}}]" - } - ], - "crate_id": 1, + "8817": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns `Some(f())` if the `bool` is [`true`](../std/keyword.true.html),\nor `None` otherwise.\n\n# Examples\n\n```\nassert_eq!(false.then(|| 0), None);\nassert_eq!(true.then(|| 0), Some(0));\n```\n\n```\nlet mut a = 0;\n\ntrue.then(|| { a += 1; });\nfalse.then(|| { a += 1; });\n\n// `a` is incremented once because the closure is evaluated lazily by\n// `then`.\nassert_eq!(a, 1);\n```", - "id": 9360, + "docs": null, + "id": 8817, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "T" - } - } - }, - "id": 15, - "path": "FnOnce" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "F" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -751233,74 +767818,121 @@ } ], [ - "f", + "dur", { - "generic": "F" + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 2446, + "path": "SystemTime" } } } } }, "links": {}, - "name": "then", + "name": "sub", "span": { "begin": [ - 61, + 629, 5 ], "end": [ - 61, - 62 + 631, + 6 ], - "filename": "checkouts/rust/library/core/src/bool.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9361": { + "8818": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 62, patch: 0})}, feature: \"bool_to_option\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `Some(t)` if the `bool` is [`true`](../std/keyword.true.html),\nor `None` otherwise.\n\nArguments passed to `then_some` are eagerly evaluated; if you are\npassing the result of a function call, it is recommended to use\n[`then`], which is lazily evaluated.\n\n[`then`]: bool::then\n\n# Examples\n\n```\nassert_eq!(false.then_some(0), None);\nassert_eq!(true.then_some(0), Some(0));\n```\n\n```\nlet mut a = 0;\nlet mut function_with_side_effects = || { a += 1; };\n\ntrue.then_some(function_with_side_effects());\nfalse.then_some(function_with_side_effects());\n\n// `a` is incremented twice because the value passed to `then_some` is\n// evaluated eagerly.\nassert_eq!(a, 2);\n```", - "id": 9361, + "docs": null, + "id": 8818, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8816, + 8817 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } + } } - }, - "name": "T" + ], + "constraints": [] } - ], + }, + "id": 1326, + "path": "Sub" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 626, + 1 + ], + "end": [ + 632, + 2 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8819": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8819, + "inner": { + "function": { + "generics": { + "params": [], "where_predicates": [] }, "has_body": true, @@ -751315,69 +767947,91 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "t", + "other", { - "generic": "T" + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" + } } ] ], "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } + "output": null } } }, - "links": { - "bool::then": 9360 - }, - "name": "then_some", + "links": {}, + "name": "sub_assign", "span": { "begin": [ - 33, + 636, 5 ], "end": [ - 33, - 49 + 638, + 6 ], - "filename": "checkouts/rust/library/core/src/bool.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9362": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142748, is_soft: false}, feature: \"bool_to_result\"}}]" - } - ], - "crate_id": 1, + "882": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns `Ok(())` if the `bool` is [`true`](../std/keyword.true.html),\nor `Err(f())` otherwise.\n\n# Examples\n\n```\n#![feature(bool_to_result)]\n\nassert_eq!(false.ok_or_else(|| 0), Err(0));\nassert_eq!(true.ok_or_else(|| 0), Ok(()));\n```\n\n```\n#![feature(bool_to_result)]\n\nlet mut a = 0;\n\nassert!(true.ok_or_else(|| { a += 1; }).is_ok());\nassert!(false.ok_or_else(|| { a += 1; }).is_err());\n\n// `a` is incremented once because the closure is evaluated lazily by\n// `ok_or_else`.\nassert_eq!(a, 1);\n```", - "id": 9362, + "docs": null, + "id": 882, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 758, + "path": "IterMut" + } + }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -751386,7 +768040,7 @@ "is_synthetic": false } }, - "name": "E" + "name": "K" }, { "kind": { @@ -751396,39 +768050,107 @@ "is_synthetic": false } }, - "name": "F" + "name": "V" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "parenthesized": { - "inputs": [], - "output": { - "generic": "E" - } - } - }, - "id": 15, - "path": "FnOnce" - } + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8820": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"time_augmented_assignment\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8820, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8819 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 501, + "path": "Duration" } } - ], - "generic_params": [], - "type": { - "generic": "F" } - } + ], + "constraints": [] } - ] + }, + "id": 8768, + "path": "SubAssign" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 635, + 1 + ], + "end": [ + 639, + 2 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8821": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8821, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -751442,83 +768164,139 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ "f", { - "generic": "F" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "generic": "E" - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "ok_or_else", + "name": "fmt", "span": { "begin": [ - 128, + 643, 5 ], "end": [ - 128, - 72 + 645, + 6 ], - "filename": "checkouts/rust/library/core/src/bool.rs" + "filename": "std/src/time.rs" }, - "visibility": "public" + "visibility": "default" }, - "9363": { + "8822": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142748, is_soft: false}, feature: \"bool_to_result\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `Ok(())` if the `bool` is [`true`](../std/keyword.true.html),\nor `Err(err)` otherwise.\n\nArguments passed to `ok_or` are eagerly evaluated; if you are\npassing the result of a function call, it is recommended to use\n[`ok_or_else`], which is lazily evaluated.\n\n[`ok_or_else`]: bool::ok_or_else\n\n# Examples\n\n```\n#![feature(bool_to_result)]\n\nassert_eq!(false.ok_or(0), Err(0));\nassert_eq!(true.ok_or(0), Ok(()));\n```\n\n```\n#![feature(bool_to_result)]\n\nlet mut a = 0;\nlet mut function_with_side_effects = || { a += 1; };\n\nassert!(true.ok_or(function_with_side_effects()).is_ok());\nassert!(false.ok_or(function_with_side_effects()).is_err());\n\n// `a` is incremented twice because the value passed to `ok_or` is\n// evaluated eagerly.\nassert_eq!(a, 2);\n```", - "id": 9363, + "docs": null, + "id": 8822, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8821 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 642, + 1 + ], + "end": [ + 646, + 2 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8824": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the positive duration which represents how far forward the\nsecond system time was from the first.\n\nA `SystemTimeError` is returned from the [`SystemTime::duration_since`]\nand [`SystemTime::elapsed`] methods whenever the second system time\nrepresents a point later in time than the `self` of the method call.\n\n# Examples\n\n```no_run\nuse std::thread::sleep;\nuse std::time::{Duration, SystemTime};\n\nlet sys_time = SystemTime::now();\nsleep(Duration::from_secs(1));\nlet new_sys_time = SystemTime::now();\nmatch sys_time.duration_since(new_sys_time) {\n Ok(_) => {}\n Err(e) => println!(\"SystemTimeError difference: {:?}\", e.duration()),\n}\n```", + "id": 8824, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "E" - } - ], + "params": [], "where_predicates": [] }, "has_body": true, @@ -751533,71 +768311,60 @@ [ "self", { - "generic": "Self" - } - ], - [ - "err", - { - "generic": "E" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [] - } - }, - { - "type": { - "generic": "E" - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" + "args": null, + "id": 501, + "path": "Duration" } } } } }, "links": { - "bool::ok_or_else": 9362 + "`SystemTime::duration_since`": 8778, + "`SystemTime::elapsed`": 8780 }, - "name": "ok_or", + "name": "duration", "span": { "begin": [ - 98, + 702, 5 ], "end": [ - 98, - 51 + 704, + 6 ], - "filename": "checkouts/rust/library/core/src/bool.rs" + "filename": "std/src/time.rs" }, "visibility": "public" }, - "9364": { + "8825": { "attrs": [], - "crate_id": 1, + "crate_id": 0, "deprecation": null, "docs": null, - "id": 9364, + "id": 8825, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "bool" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [], @@ -751607,10 +768374,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 9361, - 9360, - 9363, - 9362 + 8824 ], "provided_trait_methods": [], "trait": null @@ -751620,28 +768384,32 @@ "name": null, "span": { "begin": [ - 3, + 678, 1 ], "end": [ - 3, - 10 + 705, + 2 ], - "filename": "checkouts/rust/library/core/src/bool.rs" + "filename": "std/src/time.rs" }, "visibility": "default" }, - "9365": { + "8826": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9365, + "id": 8826, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [], @@ -751664,17 +768432,21 @@ "span": null, "visibility": "default" }, - "9366": { + "8827": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9366, + "id": 8827, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [], @@ -751697,17 +768469,21 @@ "span": null, "visibility": "default" }, - "9367": { + "8828": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9367, + "id": 8828, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [], @@ -751720,7 +768496,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -751730,17 +768506,21 @@ "span": null, "visibility": "default" }, - "9368": { + "8829": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9368, + "id": 8829, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [], @@ -751763,45 +768543,12 @@ "span": null, "visibility": "default" }, - "9369": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9369, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "never" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "937": { + "883": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 937, + "id": 883, "inner": { "impl": { "blanket_impl": null, @@ -751827,8 +768574,8 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 758, + "path": "IterMut" } }, "generics": { @@ -751848,64 +768595,21 @@ "default": null, "is_synthetic": false } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], + }, + "name": "K" + }, + { + "kind": { "type": { - "generic": "V" + "bounds": [], + "default": null, + "is_synthetic": false } - } + }, + "name": "V" } - ] + ], + "where_predicates": [] }, "is_negative": false, "is_synthetic": true, @@ -751914,8 +768618,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 7, + "path": "Unpin" } } }, @@ -751924,17 +768628,58 @@ "span": null, "visibility": "default" }, - "9370": { + "8830": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9370, + "id": 8830, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8831": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8831, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [], @@ -751947,7 +768692,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -751957,19 +768702,23 @@ "span": null, "visibility": "default" }, - "9371": { + "8832": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9371, + "id": 8832, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [ @@ -752012,7 +768761,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -752028,7 +768777,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -752037,30 +768786,34 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9372": { + "8833": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9372, + "id": 8833, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [ @@ -752103,7 +768856,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -752119,7 +768872,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -752128,30 +768881,34 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9373": { + "8834": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9373, + "id": 8834, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [ @@ -752176,7 +768933,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -752208,30 +768965,34 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "9374": { + "8835": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9374, + "id": 8835, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [ @@ -752295,7 +769056,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -752320,30 +769081,34 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9375": { + "8836": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9375, + "id": 8836, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [ @@ -752364,7 +769129,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -752389,30 +769154,34 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9376": { + "8837": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9376, + "id": 8837, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [ @@ -752458,7 +769227,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -752476,8 +769245,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -752493,7 +769262,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -752502,30 +769271,34 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9377": { + "8838": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9377, + "id": 8838, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [ @@ -752589,8 +769362,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -752606,7 +769379,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -752615,30 +769388,34 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9378": { + "8839": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9378, + "id": 8839, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [ @@ -752684,12 +769461,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -752709,19 +769486,108 @@ }, "visibility": "default" }, - "9379": { + "884": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 884, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 758, + "path": "IterMut" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": true, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "8840": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9379, + "id": 8840, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "never" + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } }, "generics": { "params": [ @@ -752746,7 +769612,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -752773,7 +769639,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -752782,23 +769648,619 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "938": { + "8841": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 938, + "id": 8841, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2866, + 1 + ], + "end": [ + 2866, + 46 + ], + "filename": "checkouts/rust/library/alloc/src/string.rs" + }, + "visibility": "default" + }, + "8842": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8842, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } + } + } + } + }, + "links": {}, + "name": "clone", + "span": { + "begin": [ + 271, + 10 + ], + "end": [ + 271, + 15 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8843": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8843, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8842 + ], + "provided_trait_methods": [ + "clone_from" + ], + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 271, + 10 + ], + "end": [ + 271, + 15 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8844": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8844, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "$crate::fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "$crate::fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 271, + 17 + ], + "end": [ + 271, + 22 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8845": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + }, + "automatically_derived" + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8845, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8844 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 271, + 17 + ], + "end": [ + 271, + 22 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8846": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8846, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [ + "source", + "type_id", + "description", + "cause", + "provide" + ], + "trait": { + "args": null, + "id": 450, + "path": "Error" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 708, + 1 + ], + "end": [ + 708, + 34 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8847": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8847, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } + } + } + } + }, + "links": {}, + "name": "fmt", + "span": { + "begin": [ + 712, + 5 + ], + "end": [ + 714, + 6 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8848": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8848, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 8779, + "path": "SystemTimeError" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8847 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 436, + "path": "Display" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 711, + 1 + ], + "end": [ + 715, + 2 + ], + "filename": "std/src/time.rs" + }, + "visibility": "default" + }, + "8849": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"time2\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "An anchor in time which can be used to create new `SystemTime` instances or\nlearn about where in time a `SystemTime` lies.\n\nThis constant is defined to be \"1970-01-01 00:00:00 UTC\" on all systems with\nrespect to the system clock. Using `duration_since` on an existing\n[`SystemTime`] instance can tell how far away from this point in time a\nmeasurement lies, and using `UNIX_EPOCH + duration` can be used to create a\n[`SystemTime`] instance to represent another fixed point in time.\n\n`duration_since(UNIX_EPOCH).unwrap().as_secs()` returns\nthe number of non-leap seconds since the start of 1970 UTC.\nThis is a POSIX `time_t` (as a `u64`),\nand is the same time representation as used in many Internet protocols.\n\n# Examples\n\n```no_run\nuse std::time::{SystemTime, UNIX_EPOCH};\n\nmatch SystemTime::now().duration_since(UNIX_EPOCH) {\n Ok(n) => println!(\"1970-01-01 00:00:00 UTC was {} seconds ago!\", n.as_secs()),\n Err(_) => panic!(\"SystemTime before UNIX EPOCH!\"),\n}\n```", + "id": 8849, + "inner": { + "constant": { + "const": { + "expr": "_", + "is_literal": false, + "value": null + }, + "type": { + "resolved_path": { + "args": null, + "id": 2446, + "path": "SystemTime" + } + } + } + }, + "links": { + "`SystemTime`": 2446 + }, + "name": "UNIX_EPOCH", + "span": { + "begin": [ + 676, + 1 + ], + "end": [ + 676, + 65 + ], + "filename": "std/src/time.rs" + }, + "visibility": "public" + }, + "885": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 885, "inner": { "impl": { "blanket_impl": null, @@ -752824,8 +770286,8 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 758, + "path": "IterMut" } }, "generics": { @@ -752869,8 +770331,8 @@ "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 318, + "path": "RefUnwindSafe" } } } @@ -752890,8 +770352,8 @@ "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 318, + "path": "RefUnwindSafe" } } } @@ -752911,8 +770373,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -752921,19 +770383,615 @@ "span": null, "visibility": "default" }, - "9380": { + "8850": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 3, patch: 0})}, feature: \"time\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Temporal quantification.\n\n# Examples\n\nThere are multiple ways to create a new [`Duration`]:\n\n```\n# use std::time::Duration;\nlet five_seconds = Duration::from_secs(5);\nassert_eq!(five_seconds, Duration::from_millis(5_000));\nassert_eq!(five_seconds, Duration::from_micros(5_000_000));\nassert_eq!(five_seconds, Duration::from_nanos(5_000_000_000));\n\nlet ten_seconds = Duration::from_secs(10);\nlet seven_nanos = Duration::from_nanos(7);\nlet total = ten_seconds + seven_nanos;\nassert_eq!(total, Duration::new(10, 7));\n```\n\nUsing [`Instant`] to calculate how long a function took to run:\n\n```ignore (incomplete)\nlet now = Instant::now();\n\n// Calling a slow function, it may take a while\nslow_function();\n\nlet elapsed_time = now.elapsed();\nprintln!(\"Running slow_function() took {} seconds.\", elapsed_time.as_secs());\n```", + "id": 8850, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 8716, + 8717, + 504, + 2446, + 8779, + 8849 + ] + } + }, + "links": { + "`Duration`": 501, + "`Instant`": 504 + }, + "name": "time", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 727, + 2 + ], + "filename": "std/src/time.rs" + }, + "visibility": "public" + }, + "8851": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Elementwise fused multiply-add. Computes `(self * a) + b` with only one rounding error,\nyielding a more accurate result than an unfused multiply-add.\n\nUsing `mul_add` *may* be more performant than an unfused multiply-add if the target\narchitecture has a dedicated `fma` CPU instruction. However, this is not always\ntrue, and will be heavily dependent on designing algorithms with specific target\nhardware in mind.", + "id": 8851, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "a", + { + "generic": "Self" + } + ], + [ + "b", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "mul_add", + "span": { + "begin": [ + 55, + 5 + ], + "end": [ + 57, + 6 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8852": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Produces a vector where every element has the square root value\nof the equivalently-indexed element in `self`", + "id": 8852, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "sqrt", + "span": { + "begin": [ + 63, + 5 + ], + "end": [ + 65, + 6 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8853": { + "attrs": [ + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Produces a vector where every element has the sine of the value\nin the equivalently-indexed element in `self`.", + "id": 8853, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "sin", + "span": { + "begin": [ + 70, + 5 + ], + "end": [ + 70, + 26 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8854": { + "attrs": [ + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Produces a vector where every element has the cosine of the value\nin the equivalently-indexed element in `self`.", + "id": 8854, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "cos", + "span": { + "begin": [ + 75, + 5 + ], + "end": [ + 75, + 26 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8855": { + "attrs": [ + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Produces a vector where every element has the exponential (base e) of the value\nin the equivalently-indexed element in `self`.", + "id": 8855, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "exp", + "span": { + "begin": [ + 80, + 5 + ], + "end": [ + 80, + 26 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8856": { + "attrs": [ + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Produces a vector where every element has the exponential (base 2) of the value\nin the equivalently-indexed element in `self`.", + "id": 8856, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "exp2", + "span": { + "begin": [ + 85, + 5 + ], + "end": [ + 85, + 27 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8857": { + "attrs": [ + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Produces a vector where every element has the natural logarithm of the value\nin the equivalently-indexed element in `self`.", + "id": 8857, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "ln", + "span": { + "begin": [ + 90, + 5 + ], + "end": [ + 90, + 25 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8858": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Produces a vector where every element has the logarithm with respect to an arbitrary\nin the equivalently-indexed elements in `self` and `base`.", + "id": 8858, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "base", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "log", + "span": { + "begin": [ + 96, + 5 + ], + "end": [ + 98, + 6 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8859": { + "attrs": [ + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Produces a vector where every element has the base-2 logarithm of the value\nin the equivalently-indexed element in `self`.", + "id": 8859, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "log2", + "span": { + "begin": [ + 103, + 5 + ], + "end": [ + 103, + 27 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "886": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9380, + "id": 886, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "never" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 758, + "path": "IterMut" + } }, "generics": { "params": [ @@ -752952,17 +771010,6 @@ { "bound_predicate": { "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, { "trait_bound": { "generic_params": [], @@ -752987,13 +771034,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 434 + 319 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 163, - "path": "ToString" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, @@ -753001,100 +771059,678 @@ "name": null, "span": { "begin": [ - 2806, + 212, 1 ], "end": [ - 2806, - 46 + 212, + 38 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9381": { + "8860": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_consts\"}}]" + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "The highest valid code point a `char` can have, `'\\u{10FFFF}'`.\n\nUnlike integer types, `char` actually has a gap in the middle,\nmeaning that the range of possible `char`s is smaller than you\nmight expect. Ranges of `char` will automatically hop this gap\nfor you:\n\n```\nlet dist = u32::from(char::MAX) - u32::from(char::MIN);\nlet size = (char::MIN..=char::MAX).count() as u32;\nassert!(size < dist);\n```\n\nDespite this gap, the [`MIN`] and `MAX` values can be used as bounds for\nall `char` values.\n\n[`MIN`]: char::MIN\n\n# Examples\n\n```\n# fn something_which_returns_char() -> char { 'a' }\nlet c: char = something_which_returns_char();\nassert!(c <= char::MAX);\n\nlet value_at_max = u32::from(char::MAX);\nassert_eq!(char::from_u32(value_at_max), Some('\\u{10FFFF}'));\nassert_eq!(char::from_u32(value_at_max + 1), None);\n```", - "id": 9381, + "docs": "Produces a vector where every element has the base-10 logarithm of the value\nin the equivalently-indexed element in `self`.", + "id": 8860, "inner": { - "assoc_const": { - "type": { - "primitive": "char" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "'\\u{10FFFF}'" + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } } }, - "links": { - "char::MIN": 9382 + "links": {}, + "name": "log10", + "span": { + "begin": [ + 108, + 5 + ], + "end": [ + 108, + 28 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "name": "MAX", + "visibility": "default" + }, + "8861": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the smallest integer greater than or equal to each element.", + "id": 8861, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "ceil", "span": { "begin": [ - 73, + 113, 5 ], "end": [ - 73, - 24 + 115, + 6 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8862": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the largest integer value less than or equal to each element.", + "id": 8862, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "floor", + "span": { + "begin": [ + 120, + 5 + ], + "end": [ + 122, + 6 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8863": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Rounds to the nearest integer value. Ties round toward zero.", + "id": 8863, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "round", + "span": { + "begin": [ + 127, + 5 + ], + "end": [ + 129, + 6 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8864": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the floating point's integer value, with its fractional part removed.", + "id": 8864, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "trunc", + "span": { + "begin": [ + 134, + 5 + ], + "end": [ + 136, + 6 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8865": { + "attrs": [ + { + "must_use": { + "reason": "method returns a new vector and does not mutate the original value" + } + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the floating point's fractional value, with its integer part removed.", + "id": 8865, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": false, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "fract", + "span": { + "begin": [ + 140, + 5 + ], + "end": [ + 140, + 28 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8867": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "This trait provides a possibly-temporary implementation of float functions\nthat may, in the absence of hardware support, canonicalize to calling an\noperating system's `math.h` dynamically-loaded library (also known as a\nshared object). As these conditionally require runtime support, they\nshould only appear in binaries built assuming OS support: `std`.\n\nHowever, there is no reason SIMD types, in general, need OS support,\nas for many architectures an embedded binary may simply configure that\nsupport itself. This means these types must be visible in `core`\nbut have these functions available in `std`.\n\n[`f32`] and [`f64`] achieve a similar trick by using \"lang items\", but\ndue to compiler limitations, it is harder to implement this approach for\nabstract data types like [`Simd`]. From that need, this trait is born.\n\nIt is possible this trait will be replaced in some manner in the future,\nwhen either the compiler or its supporting runtime functions are improved.\nFor now this trait is available to permit experimentation with SIMD float\noperations that may lack hardware support, such as `mul_add`.", + "id": 8867, + "inner": { + "trait": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 3813, + "path": "Sealed" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generics": { + "params": [], + "where_predicates": [] + }, + "implementations": [ + 8876, + 8887 + ], + "is_auto": false, + "is_dyn_compatible": false, + "is_unsafe": false, + "items": [ + 8851, + 8852, + 8853, + 8854, + 8855, + 8856, + 8857, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865 + ] + } + }, + "links": { + "`Simd`": 8866, + "`f32`": 265, + "`f64`": 297 + }, + "name": "StdFloat", + "span": { + "begin": [ + 45, + 1 + ], + "end": [ + 141, + 2 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, "visibility": "public" }, - "9382": { + "8868": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"char_min\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "The lowest valid code point a `char` can have, `'\\0'`.\n\nUnlike integer types, `char` actually has a gap in the middle,\nmeaning that the range of possible `char`s is smaller than you\nmight expect. Ranges of `char` will automatically hop this gap\nfor you:\n\n```\nlet dist = u32::from(char::MAX) - u32::from(char::MIN);\nlet size = (char::MIN..=char::MAX).count() as u32;\nassert!(size < dist);\n```\n\nDespite this gap, the `MIN` and [`MAX`] values can be used as bounds for\nall `char` values.\n\n[`MAX`]: char::MAX\n\n# Examples\n\n```\n# fn something_which_returns_char() -> char { 'a' }\nlet c: char = something_which_returns_char();\nassert!(char::MIN <= c);\n\nlet value_at_min = u32::from(char::MIN);\nassert_eq!(char::from_u32(value_at_min), Some('\\0'));\n```", - "id": 9382, + "docs": null, + "id": 8868, "inner": { - "assoc_const": { - "type": { - "primitive": "char" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "'\\0'" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "fract", + "span": { + "begin": [ + 199, + 1 + ], + "end": [ + 207, + 2 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8869": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8869, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "sin", + "span": { + "begin": [ + 199, + 1 + ], + "end": [ + 207, + 2 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "887": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 887, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 758, + "path": "IterMut" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } } }, - "links": { - "char::MAX": 9381 - }, - "name": "MIN", + "links": {}, + "name": null, "span": { "begin": [ - 41, - 5 + 221, + 1 ], "end": [ - 41, - 24 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "9383": { + "8870": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_char_encode_utf8\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"unicode_encode_char\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Encodes this character as UTF-8 into the provided byte buffer,\nand then returns the subslice of the buffer that contains the encoded character.\n\n# Panics\n\nPanics if the buffer is not large enough.\nA buffer of length four is large enough to encode any `char`.\n\n# Examples\n\nIn both of these examples, 'ß' takes two bytes to encode.\n\n```\nlet mut b = [0; 2];\n\nlet result = 'ß'.encode_utf8(&mut b);\n\nassert_eq!(result, \"ß\");\n\nassert_eq!(result.len(), 2);\n```\n\nA buffer that's too small:\n\n```should_panic\nlet mut b = [0; 1];\n\n// this panics\n'ß'.encode_utf8(&mut b);\n```", - "id": 9383, + "docs": null, + "id": 8870, "inner": { "function": { "generics": { @@ -753105,7 +771741,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -753115,98 +771751,94 @@ { "generic": "Self" } - ], - [ - "dst", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "generic": "Self" } } } }, "links": {}, - "name": "encode_utf8", + "name": "cos", "span": { "begin": [ - 714, - 5 + 199, + 1 ], "end": [ - 714, - 63 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9384": { + "8871": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121714, is_soft: false}, feature: \"char_max_len\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "The maximum number of bytes required to [encode](char::encode_utf8) a `char` to\nUTF-8 encoding.", - "id": 9384, + "docs": null, + "id": 8871, "inner": { - "assoc_const": { - "type": { - "primitive": "usize" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "4" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } } }, - "links": { - "char::encode_utf8": 9383 - }, - "name": "MAX_LEN_UTF8", + "links": {}, + "name": "exp", "span": { "begin": [ - 78, - 5 + 199, + 1 ], "end": [ - 78, - 34 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9385": { + "8872": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_char_encode_utf16\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"unicode_encode_char\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Encodes this character as native endian UTF-16 into the provided `u16` buffer,\nand then returns the subslice of the buffer that contains the encoded character.\n\n# Panics\n\nPanics if the buffer is not large enough.\nA buffer of length 2 is large enough to encode any `char`.\n\n# Examples\n\nIn both of these examples, '𝕊' takes two `u16`s to encode.\n\n```\nlet mut b = [0; 2];\n\nlet result = '𝕊'.encode_utf16(&mut b);\n\nassert_eq!(result.len(), 2);\n```\n\nA buffer that's too small:\n\n```should_panic\nlet mut b = [0; 1];\n\n// this panics\n'𝕊'.encode_utf16(&mut b);\n```", - "id": 9385, + "docs": null, + "id": 8872, "inner": { "function": { "generics": { @@ -753217,7 +771849,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -753227,186 +771859,238 @@ { "generic": "Self" } - ], - [ - "dst", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u16" - } - } - } - } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u16" - } - } - } + "generic": "Self" } } } }, "links": {}, - "name": "encode_utf16", + "name": "exp2", "span": { "begin": [ - 750, - 5 + 199, + 1 ], "end": [ - 750, - 67 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9386": { + "8873": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121714, is_soft: false}, feature: \"char_max_len\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "The maximum number of two-byte units required to [encode](char::encode_utf16) a `char`\nto UTF-16 encoding.", - "id": 9386, + "docs": null, + "id": 8873, "inner": { - "assoc_const": { - "type": { - "primitive": "usize" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "2" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } } }, - "links": { - "char::encode_utf16": 9385 - }, - "name": "MAX_LEN_UTF16", + "links": {}, + "name": "ln", "span": { "begin": [ - 83, - 5 + 199, + 1 ], "end": [ - 83, - 35 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9387": { + "8874": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_consts\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "`U+FFFD REPLACEMENT CHARACTER` (�) is used in Unicode to represent a\ndecoding error.\n\nIt can occur, for example, when giving ill-formed UTF-8 bytes to\n[`String::from_utf8_lossy`](../std/string/struct.String.html#method.from_utf8_lossy).", - "id": 9387, + "docs": null, + "id": 8874, "inner": { - "assoc_const": { - "type": { - "primitive": "char" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "'\\u{FFFD}'" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } } }, "links": {}, - "name": "REPLACEMENT_CHARACTER", + "name": "log2", "span": { "begin": [ - 91, - 5 + 199, + 1 ], "end": [ - 91, - 42 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9388": { + "8875": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_consts\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "The version of [Unicode](https://www.unicode.org/) that the Unicode parts of\n`char` and `str` methods are based on.\n\nNew versions of Unicode are released regularly and subsequently all methods\nin the standard library depending on Unicode are updated. Therefore the\nbehavior of some `char` and `str` methods and the value of this constant\nchanges over time. This is *not* considered to be a breaking change.\n\nThe version numbering scheme is explained in\n[Unicode 11.0 or later, Section 3.1 Versions of the Unicode Standard](https://www.unicode.org/versions/Unicode11.0.0/ch03.pdf#page=4).", - "id": 9388, + "docs": null, + "id": 8875, "inner": { - "assoc_const": { - "type": { - "tuple": [ - { - "primitive": "u8" - }, - { - "primitive": "u8" - }, - { - "primitive": "u8" - } - ] + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "crate::unicode::UNICODE_VERSION" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } } }, "links": {}, - "name": "UNICODE_VERSION", + "name": "log10", "span": { "begin": [ - 104, - 5 + 199, + 1 ], "end": [ - 104, - 44 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9389": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_funcs\"}}]" - } - ], - "crate_id": 1, + "8876": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Creates an iterator over the native endian UTF-16 encoded code points in `iter`,\nreturning unpaired surrogates as `Err`s.\n\n# Examples\n\nBasic usage:\n\n```\n// 𝄞music\nlet v = [\n 0xD834, 0xDD1E, 0x006d, 0x0075, 0x0073, 0xDD1E, 0x0069, 0x0063, 0xD834,\n];\n\nassert_eq!(\n char::decode_utf16(v)\n .map(|r| r.map_err(|e| e.unpaired_surrogate()))\n .collect::>(),\n vec![\n Ok('𝄞'),\n Ok('m'), Ok('u'), Ok('s'),\n Err(0xDD1E),\n Ok('i'), Ok('c'),\n Err(0xD834)\n ]\n);\n```\n\nA lossy decoder can be obtained by replacing `Err` results with the replacement character:\n\n```\n// 𝄞music\nlet v = [\n 0xD834, 0xDD1E, 0x006d, 0x0075, 0x0073, 0xDD1E, 0x0069, 0x0063, 0xD834,\n];\n\nassert_eq!(\n char::decode_utf16(v)\n .map(|r| r.unwrap_or(char::REPLACEMENT_CHARACTER))\n .collect::(),\n \"𝄞mus�ic�\"\n);\n```", - "id": 9389, + "docs": null, + "id": 8876, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "f32" + } + }, + { + "const": { + "expr": "N", + "is_literal": false, + "value": null + } + } + ], + "constraints": [] + } + }, + "id": 8866, + "path": "Simd" + } + }, "generics": { "params": [ { "kind": { - "type": { - "bounds": [], + "const": { "default": null, - "is_synthetic": false + "type": { + "primitive": "usize" + } } }, - "name": "I" + "name": "N" } ], "where_predicates": [ @@ -753418,38 +772102,98 @@ "generic_params": [], "modifier": "none", "trait": { - "args": { - "angle_bracketed": { - "args": [], - "constraints": [ - { - "args": null, - "binding": { - "equality": { - "type": { - "primitive": "u16" - } - } - }, - "name": "Item" - } - ] - } - }, - "id": 47, - "path": "IntoIterator" + "args": null, + "id": 8878, + "path": "SupportedLaneCount" } } } ], "generic_params": [], "type": { - "generic": "I" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "const": { + "expr": "N", + "is_literal": false, + "value": null + } + } + ], + "constraints": [] + } + }, + "id": 8877, + "path": "LaneCount" + } } } } ] }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875 + ], + "provided_trait_methods": [ + "mul_add", + "sqrt", + "log", + "ceil", + "floor", + "round", + "trunc" + ], + "trait": { + "args": null, + "id": 8867, + "path": "StdFloat" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 199, + 1 + ], + "end": [ + 207, + 2 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" + }, + "visibility": "default" + }, + "8879": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8879, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, "has_body": true, "header": { "abi": "Rust", @@ -753460,69 +772204,45 @@ "sig": { "inputs": [ [ - "iter", + "self", { - "generic": "I" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "qualified_path": { - "args": null, - "name": "IntoIter", - "self_type": { - "generic": "I" - }, - "trait": { - "args": null, - "id": 47, - "path": "IntoIterator" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 9390, - "path": "DecodeUtf16" - } + "generic": "Self" } } } }, "links": {}, - "name": "decode_utf16", + "name": "fract", "span": { "begin": [ - 150, - 5 + 199, + 1 ], "end": [ - 150, - 90 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "939": { + "888": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 939, + "id": 888, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -753545,20 +772265,12 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 758, + "path": "IterMut" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -753567,7 +772279,7 @@ "is_synthetic": false } }, - "name": "K" + "name": "T" }, { "kind": { @@ -753577,46 +772289,94 @@ "is_synthetic": false } }, - "name": "V" + "name": "U" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 325 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 315, - "path": "Freeze" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, "visibility": "default" }, - "9391": { + "8880": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"const_char_convert\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_funcs\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts a `u32` to a `char`.\n\nNote that all `char`s are valid [`u32`]s, and can be cast to one with\n[`as`](../std/keyword.as.html):\n\n```\nlet c = '💯';\nlet i = c as u32;\n\nassert_eq!(128175, i);\n```\n\nHowever, the reverse is not true: not all valid [`u32`]s are valid\n`char`s. `from_u32()` will return `None` if the input is not a valid value\nfor a `char`.\n\nFor an unsafe version of this function which ignores these checks, see\n[`from_u32_unchecked`].\n\n[`from_u32_unchecked`]: #method.from_u32_unchecked\n\n# Examples\n\nBasic usage:\n\n```\nlet c = char::from_u32(0x2764);\n\nassert_eq!(Some('❤'), c);\n```\n\nReturning `None` when the input is not a valid `char`:\n\n```\nlet c = char::from_u32(0x110000);\n\nassert_eq!(None, c);\n```", - "id": 9391, + "docs": null, + "id": 8880, "inner": { "function": { "generics": { @@ -753627,75 +772387,50 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "i", + "self", { - "primitive": "u32" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "char" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "generic": "Self" } } } }, - "links": { - "`u32`": 4820 - }, - "name": "from_u32", + "links": {}, + "name": "sin", "span": { "begin": [ - 196, - 5 + 199, + 1 ], "end": [ - 196, - 50 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9392": { + "8881": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 81, patch: 0})}, feature: \"const_char_from_u32_unchecked\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_funcs\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts a `u32` to a `char`, ignoring validity.\n\nNote that all `char`s are valid [`u32`]s, and can be cast to one with\n`as`:\n\n```\nlet c = '💯';\nlet i = c as u32;\n\nassert_eq!(128175, i);\n```\n\nHowever, the reverse is not true: not all valid [`u32`]s are valid\n`char`s. `from_u32_unchecked()` will ignore this, and blindly cast to\n`char`, possibly creating an invalid one.\n\n# Safety\n\nThis function is unsafe, as it may construct invalid `char` values.\n\nFor a safe version of this function, see the [`from_u32`] function.\n\n[`from_u32`]: #method.from_u32\n\n# Examples\n\nBasic usage:\n\n```\nlet c = unsafe { char::from_u32_unchecked(0x2764) };\n\nassert_eq!('❤', c);\n```", - "id": 9392, + "docs": null, + "id": 8881, "inner": { "function": { "generics": { @@ -753706,60 +772441,50 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": true + "is_const": false, + "is_unsafe": false }, "sig": { "inputs": [ [ - "i", + "self", { - "primitive": "u32" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "char" + "generic": "Self" } } } }, - "links": { - "`u32`": 4820 - }, - "name": "from_u32_unchecked", + "links": {}, + "name": "cos", "span": { "begin": [ - 237, - 5 + 199, + 1 ], "end": [ - 237, - 59 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9393": { + "8882": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"const_char_convert\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_funcs\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts a digit in the given radix to a `char`.\n\nA 'radix' here is sometimes also called a 'base'. A radix of two\nindicates a binary number, a radix of ten, decimal, and a radix of\nsixteen, hexadecimal, to give some common values. Arbitrary\nradices are supported.\n\n`from_digit()` will return `None` if the input is not a digit in\nthe given radix.\n\n# Panics\n\nPanics if given a radix larger than 36.\n\n# Examples\n\nBasic usage:\n\n```\nlet c = char::from_digit(4, 10);\n\nassert_eq!(Some('4'), c);\n\n// Decimal 11 is a single digit in base 16\nlet c = char::from_digit(11, 16);\n\nassert_eq!(Some('b'), c);\n```\n\nReturning `None` when the input is not a digit:\n\n```\nlet c = char::from_digit(20, 10);\n\nassert_eq!(None, c);\n```\n\nPassing a large radix, causing a panic:\n\n```should_panic\n// this panics\nlet _c = char::from_digit(1, 37);\n```", - "id": 9393, + "docs": null, + "id": 8882, "inner": { "function": { "generics": { @@ -753770,74 +772495,50 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "num", - { - "primitive": "u32" - } - ], - [ - "radix", + "self", { - "primitive": "u32" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "char" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "generic": "Self" } } } }, "links": {}, - "name": "from_digit", + "name": "exp", "span": { "begin": [ - 289, - 5 + 199, + 1 ], "end": [ - 289, - 66 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9394": { + "8883": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"const_char_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if a `char` is a digit in the given radix.\n\nA 'radix' here is sometimes also called a 'base'. A radix of two\nindicates a binary number, a radix of ten, decimal, and a radix of\nsixteen, hexadecimal, to give some common values. Arbitrary\nradices are supported.\n\nCompared to [`is_numeric()`], this function only recognizes the characters\n`0-9`, `a-z` and `A-Z`.\n\n'Digit' is defined to be only the following characters:\n\n* `0-9`\n* `a-z`\n* `A-Z`\n\nFor a more comprehensive understanding of 'digit', see [`is_numeric()`].\n\n[`is_numeric()`]: #method.is_numeric\n\n# Panics\n\nPanics if given a radix smaller than 2 or larger than 36.\n\n# Examples\n\nBasic usage:\n\n```\nassert!('1'.is_digit(10));\nassert!('f'.is_digit(16));\nassert!(!'f'.is_digit(10));\n```\n\nPassing a large radix, causing a panic:\n\n```should_panic\n// this panics\n'1'.is_digit(37);\n```\n\nPassing a small radix, causing a panic:\n\n```should_panic\n// this panics\n'1'.is_digit(1);\n```", - "id": 9394, + "docs": null, + "id": 8883, "inner": { "function": { "generics": { @@ -753848,7 +772549,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -753858,57 +772559,40 @@ { "generic": "Self" } - ], - [ - "radix", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "generic": "Self" } } } }, "links": {}, - "name": "is_digit", + "name": "exp2", "span": { "begin": [ - 343, - 5 + 199, + 1 ], "end": [ - 343, - 52 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9395": { + "8884": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"char_to_digit\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"const_char_convert\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts a `char` to a digit in the given radix.\n\nA 'radix' here is sometimes also called a 'base'. A radix of two\nindicates a binary number, a radix of ten, decimal, and a radix of\nsixteen, hexadecimal, to give some common values. Arbitrary\nradices are supported.\n\n'Digit' is defined to be only the following characters:\n\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Errors\n\nReturns `None` if the `char` does not refer to a digit in the given radix.\n\n# Panics\n\nPanics if given a radix smaller than 2 or larger than 36.\n\n# Examples\n\nBasic usage:\n\n```\nassert_eq!('1'.to_digit(10), Some(1));\nassert_eq!('f'.to_digit(16), Some(15));\n```\n\nPassing a non-digit results in failure:\n\n```\nassert_eq!('f'.to_digit(10), None);\nassert_eq!('z'.to_digit(16), None);\n```\n\nPassing a large radix, causing a panic:\n\n```should_panic\n// this panics\nlet _ = '1'.to_digit(37);\n```\nPassing a small radix, causing a panic:\n\n```should_panic\n// this panics\nlet _ = '1'.to_digit(1);\n```", - "id": 9395, + "docs": null, + "id": 8884, "inner": { "function": { "generics": { @@ -753919,7 +772603,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -753929,66 +772613,40 @@ { "generic": "Self" } - ], - [ - "radix", - { - "primitive": "u32" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "u32" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "generic": "Self" } } } }, "links": {}, - "name": "to_digit", + "name": "ln", "span": { "begin": [ - 402, - 5 + 199, + 1 ], "end": [ - 402, - 59 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9396": { + "8885": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the escaped char as an iterator, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that yields the hexadecimal Unicode escape of a\ncharacter as `char`s.\n\nThis will escape characters with the Rust syntax of the form\n`\\u{NNNNNN}` where `NNNNNN` is a hexadecimal representation.\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in '❤'.escape_unicode() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", '❤'.escape_unicode());\n```\n\nBoth are equivalent to:\n\n```\nprintln!(\"\\\\u{{2764}}\");\n```\n\nUsing [`to_string`](../std/string/trait.ToString.html#tymethod.to_string):\n\n```\nassert_eq!('❤'.escape_unicode().to_string(), \"\\\\u{2764}\");\n```", - "id": 9396, + "docs": null, + "id": 8885, "inner": { "function": { "generics": { @@ -754013,45 +772671,36 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 9397, - "path": "EscapeUnicode" - } + "generic": "Self" } } } }, "links": {}, - "name": "escape_unicode", + "name": "log2", "span": { "begin": [ - 464, - 5 + 199, + 1 ], "end": [ - 464, - 49 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "9398": { + "8886": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"char_escape_debug\"}}]" - }, - { - "must_use": { - "reason": "this returns the escaped char as an iterator, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that yields the literal escape code of a character\nas `char`s.\n\nThis will escape the characters similar to the [`Debug`](core::fmt::Debug) implementations\nof `str` or `char`.\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in '\\n'.escape_debug() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", '\\n'.escape_debug());\n```\n\nBoth are equivalent to:\n\n```\nprintln!(\"\\\\n\");\n```\n\nUsing [`to_string`](../std/string/trait.ToString.html#tymethod.to_string):\n\n```\nassert_eq!('\\n'.escape_debug().to_string(), \"\\\\n\");\n```", - "id": 9398, + "docs": null, + "id": 8886, "inner": { "function": { "generics": { @@ -754076,77 +772725,203 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 9399, - "path": "EscapeDebug" - } + "generic": "Self" } } } }, - "links": { - "core::fmt::Debug": 346 + "links": {}, + "name": "log10", + "span": { + "begin": [ + 199, + 1 + ], + "end": [ + 207, + 2 + ], + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "name": "escape_debug", + "visibility": "default" + }, + "8887": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8887, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "f64" + } + }, + { + "const": { + "expr": "N", + "is_literal": false, + "value": null + } + } + ], + "constraints": [] + } + }, + "id": 8866, + "path": "Simd" + } + }, + "generics": { + "params": [ + { + "kind": { + "const": { + "default": null, + "type": { + "primitive": "usize" + } + } + }, + "name": "N" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 8878, + "path": "SupportedLaneCount" + } + } + } + ], + "generic_params": [], + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "const": { + "expr": "N", + "is_literal": false, + "value": null + } + } + ], + "constraints": [] + } + }, + "id": 8877, + "path": "LaneCount" + } + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 8879, + 8880, + 8881, + 8882, + 8883, + 8884, + 8885, + 8886 + ], + "provided_trait_methods": [ + "mul_add", + "sqrt", + "log", + "ceil", + "floor", + "round", + "trunc" + ], + "trait": { + "args": null, + "id": 8867, + "path": "StdFloat" + } + } + }, + "links": {}, + "name": null, "span": { "begin": [ - 529, - 5 + 199, + 1 ], "end": [ - 529, - 45 + 207, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/../../portable-simd/crates/std_float/src/lib.rs" }, - "visibility": "public" + "visibility": "default" }, - "94": { + "8889": { "attrs": [ { - "other": "#[doc(no_inline)]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[doc(inline)]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 94, + "id": 8889, "inner": { "use": { - "id": 95, + "id": 8867, "is_glob": false, - "name": "stringify", - "source": "core::prelude::v1::stringify" + "name": "StdFloat", + "source": "crate::std_float::StdFloat" } }, "links": {}, "name": null, "span": { "begin": [ - 52, + 634, 5 ], "end": [ - 52, - 14 + 634, + 40 ], - "filename": "std/src/prelude/v1.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "940": { + "889": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 940, + "id": 889, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -754169,30 +772944,12 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 758, + "path": "IterMut" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, { "kind": { "type": { @@ -754201,98 +772958,91 @@ "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 327 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 7, - "path": "Unpin" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 785, + 1 + ], + "end": [ + 785, + 28 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, "visibility": "default" }, - "9400": { + "8890": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the escaped char as an iterator, without modifying the original" - } + "other": "#[doc(inline)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that yields the literal escape code of a character\nas `char`s.\n\nThe default is chosen with a bias toward producing literals that are\nlegal in a variety of languages, including C++11 and similar C-family\nlanguages. The exact rules are:\n\n* Tab is escaped as `\\t`.\n* Carriage return is escaped as `\\r`.\n* Line feed is escaped as `\\n`.\n* Single quote is escaped as `\\'`.\n* Double quote is escaped as `\\\"`.\n* Backslash is escaped as `\\\\`.\n* Any character in the 'printable ASCII' range `0x20` .. `0x7e`\n inclusive is not escaped.\n* All other characters are given hexadecimal Unicode escapes; see\n [`escape_unicode`].\n\n[`escape_unicode`]: #method.escape_unicode\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in '\"'.escape_default() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", '\"'.escape_default());\n```\n\nBoth are equivalent to:\n\n```\nprintln!(\"\\\\\\\"\");\n```\n\nUsing [`to_string`](../std/string/trait.ToString.html#tymethod.to_string):\n\n```\nassert_eq!('\"'.escape_default().to_string(), \"\\\\\\\"\");\n```", - "id": 9400, + "docs": null, + "id": 8890, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 9401, - "path": "EscapeDefault" - } - } - } + "use": { + "id": 8891, + "is_glob": true, + "name": "simd", + "source": "core::simd" } }, "links": {}, - "name": "escape_default", + "name": null, "span": { "begin": [ - 585, + 631, 5 ], "end": [ - 585, - 49 + 631, + 27 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9402": { + "8892": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_char_len_utf\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"is_subnormal\"}}]" }, { "must_use": { @@ -754302,8 +773052,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of bytes this `char` would need if encoded in UTF-8.\n\nThat number of bytes is always between 1 and 4, inclusive.\n\n# Examples\n\nBasic usage:\n\n```\nlet len = 'A'.len_utf8();\nassert_eq!(len, 1);\n\nlet len = 'ß'.len_utf8();\nassert_eq!(len, 2);\n\nlet len = 'ℝ'.len_utf8();\nassert_eq!(len, 3);\n\nlet len = '💣'.len_utf8();\nassert_eq!(len, 4);\n```\n\nThe `&str` type guarantees that its contents are UTF-8, and so we can compare the length it\nwould take if each code point was represented as a `char` vs in the `&str` itself:\n\n```\n// as chars\nlet eastern = '東';\nlet capital = '京';\n\n// both can be represented as three bytes\nassert_eq!(3, eastern.len_utf8());\nassert_eq!(3, capital.len_utf8());\n\n// as a &str, these two are encoded in UTF-8\nlet tokyo = \"東京\";\n\nlet len = eastern.len_utf8() + capital.len_utf8();\n\n// we can see that they take six bytes total...\nassert_eq!(6, tokyo.len());\n\n// ... just like the &str\nassert_eq!(len, tokyo.len());\n```", - "id": 9402, + "docs": "Returns `true` if the number is [subnormal].\n\n```\nlet min = f32::MIN_POSITIVE; // 1.17549435e-38f32\nlet max = f32::MAX;\nlet lower_than_min = 1.0e-40_f32;\nlet zero = 0.0_f32;\n\nassert!(!min.is_subnormal());\nassert!(!max.is_subnormal());\n\nassert!(!zero.is_subnormal());\nassert!(!f32::NAN.is_subnormal());\nassert!(!f32::INFINITY.is_subnormal());\n// Values between `0` and `min` are Subnormal.\nassert!(lower_than_min.is_subnormal());\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", + "id": 8892, "inner": { "function": { "generics": { @@ -754328,44 +773078,44 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "bool" } } } }, "links": {}, - "name": "len_utf8", + "name": "is_subnormal", "span": { "begin": [ - 645, + 609, 5 ], "end": [ - 645, - 41 + 609, + 44 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, - "9403": { + "8894": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_char_len_utf\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the number of 16-bit code units this `char` would need if\nencoded in UTF-16.\n\nThat number of code units is always either 1 or 2, for unicode scalar values in\nthe [basic multilingual plane] or [supplementary planes] respectively.\n\nSee the documentation for [`len_utf8()`] for more explanation of this\nconcept. This function is a mirror, but for UTF-16 instead of UTF-8.\n\n[basic multilingual plane]: http://www.unicode.org/glossary/#basic_multilingual_plane\n[supplementary planes]: http://www.unicode.org/glossary/#supplementary_planes\n[`len_utf8()`]: #method.len_utf8\n\n# Examples\n\nBasic usage:\n\n```\nlet n = 'ß'.len_utf16();\nassert_eq!(n, 1);\n\nlet len = '💣'.len_utf16();\nassert_eq!(len, 2);\n```", - "id": 9403, + "docs": "Returns the minimum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for minNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids minNum's problems with associativity.\nThis also matches the behavior of libm’s fmin. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\nlet x = 1.0f32;\nlet y = 2.0f32;\n\nassert_eq!(x.min(y), x);\n```", + "id": 8894, "inner": { "function": { "generics": { @@ -754386,402 +773136,489 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "f32" } } } }, "links": {}, - "name": "len_utf16", + "name": "min", "span": { "begin": [ - 677, + 938, 5 ], "end": [ - 677, - 42 + 938, + 46 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, - "9404": { + "8895": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 86656, is_soft: false}, feature: \"portable_simd\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this `char` has the `Alphabetic` property.\n\n`Alphabetic` is described in Chapter 4 (Character Properties) of the [Unicode Standard] and\nspecified in the [Unicode Character Database][ucd] [`DerivedCoreProperties.txt`].\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n[ucd]: https://www.unicode.org/reports/tr44/\n[`DerivedCoreProperties.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/DerivedCoreProperties.txt\n\n# Examples\n\nBasic usage:\n\n```\nassert!('a'.is_alphabetic());\nassert!('京'.is_alphabetic());\n\nlet c = '💝';\n// love is many things, but it is not alphabetic\nassert!(!c.is_alphabetic());\n```", - "id": 9404, + "docs": "Portable SIMD module.\n\nThis module offers a portable abstraction for SIMD operations\nthat is not bound to any particular hardware architecture.\n\n# What is \"portable\"?\n\nThis module provides a SIMD implementation that is fast and predictable on any target.\n\n### Portable SIMD works on every target\n\nUnlike target-specific SIMD in `std::arch`, portable SIMD compiles for every target.\nIn this regard, it is just like \"regular\" Rust.\n\n### Portable SIMD is consistent between targets\n\nA program using portable SIMD can expect identical behavior on any target.\nIn most regards, [`Simd`] can be thought of as a parallelized `[T; N]` and operates like a sequence of `T`.\n\nThis has one notable exception: a handful of older architectures (e.g. `armv7` and `powerpc`) flush [subnormal](`f32::is_subnormal`) `f32` values to zero.\nOn these architectures, subnormal `f32` input values are replaced with zeros, and any operation producing subnormal `f32` values produces zeros instead.\nThis doesn't affect most architectures or programs.\n\n### Operations use the best instructions available\n\nOperations provided by this module compile to the best available SIMD instructions.\n\nPortable SIMD is not a low-level vendor library, and operations in portable SIMD _do not_ necessarily map to a single instruction.\nInstead, they map to a reasonable implementation of the operation for the target.\n\nConsistency between targets is not compromised to use faster or fewer instructions.\nIn some cases, `std::arch` will provide a faster function that has slightly different behavior than the `std::simd` equivalent.\nFor example, `_mm_min_ps`[^1] can be slightly faster than [`SimdFloat::simd_min`](`num::SimdFloat::simd_min`), but does not conform to the IEEE standard also used by [`f32::min`].\nWhen necessary, [`Simd`] can be converted to the types provided by `std::arch` to make use of target-specific functions.\n\nMany targets simply don't have SIMD, or don't support SIMD for a particular element type.\nIn those cases, regular scalar operations are generated instead.\n\n[^1]: `_mm_min_ps(x, y)` is equivalent to `x.simd_lt(y).select(x, y)`", + "id": 8895, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 8889, + 8890 + ] + } + }, + "links": { + "`Simd`": 8866, + "`f32::is_subnormal`": 8892, + "`f32::min`": 8894, + "`num::SimdFloat::simd_min`": 8893 + }, + "name": "simd", + "span": { + "begin": [ + 627, + 1 + ], + "end": [ + 627, + 13 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "8896": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "This macro handles automatic differentiation.", + "id": 8896, + "inner": { + "use": { + "id": 8897, + "is_glob": false, + "name": "autodiff_forward", + "source": "core::autodiff::autodiff_forward" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 641, + 30 + ], + "end": [ + 641, + 46 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "8898": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": "This macro handles automatic differentiation.", + "id": 8898, + "inner": { + "use": { + "id": 8899, + "is_glob": false, + "name": "autodiff_reverse", + "source": "core::autodiff::autodiff_reverse" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 641, + 48 + ], + "end": [ + 641, + 64 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "890": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 890, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" + }, + "id": 758, + "path": "IterMut" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, "links": {}, - "name": "is_alphabetic", + "name": null, "span": { "begin": [ - 778, - 5 + 811, + 1 ], "end": [ - 778, - 39 + 813, + 27 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9405": { + "8900": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_unicode_case_lookup\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 124509, is_soft: false}, feature: \"autodiff\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this `char` has the `Lowercase` property.\n\n`Lowercase` is described in Chapter 4 (Character Properties) of the [Unicode Standard] and\nspecified in the [Unicode Character Database][ucd] [`DerivedCoreProperties.txt`].\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n[ucd]: https://www.unicode.org/reports/tr44/\n[`DerivedCoreProperties.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/DerivedCoreProperties.txt\n\n# Examples\n\nBasic usage:\n\n```\nassert!('a'.is_lowercase());\nassert!('δ'.is_lowercase());\nassert!(!'A'.is_lowercase());\nassert!(!'Δ'.is_lowercase());\n\n// The various Chinese scripts and punctuation do not have case, and so:\nassert!(!'中'.is_lowercase());\nassert!(!' '.is_lowercase());\n```\n\nIn a const context:\n\n```\nconst CAPITAL_DELTA_IS_LOWERCASE: bool = 'Δ'.is_lowercase();\nassert!(!CAPITAL_DELTA_IS_LOWERCASE);\n```", - "id": 9405, + "docs": "This module provides support for automatic differentiation.", + "id": 8900, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 8896, + 8898 + ] } }, "links": {}, - "name": "is_lowercase", + "name": "autodiff", "span": { "begin": [ - 819, - 5 + 639, + 1 ], "end": [ - 819, - 44 + 639, + 17 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9406": { + "8901": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_unicode_case_lookup\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(inline)]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"wake_trait\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this `char` has the `Uppercase` property.\n\n`Uppercase` is described in Chapter 4 (Character Properties) of the [Unicode Standard] and\nspecified in the [Unicode Character Database][ucd] [`DerivedCoreProperties.txt`].\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n[ucd]: https://www.unicode.org/reports/tr44/\n[`DerivedCoreProperties.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/DerivedCoreProperties.txt\n\n# Examples\n\nBasic usage:\n\n```\nassert!(!'a'.is_uppercase());\nassert!(!'δ'.is_uppercase());\nassert!('A'.is_uppercase());\nassert!('Δ'.is_uppercase());\n\n// The various Chinese scripts and punctuation do not have case, and so:\nassert!(!'中'.is_uppercase());\nassert!(!' '.is_uppercase());\n```\n\nIn a const context:\n\n```\nconst CAPITAL_DELTA_IS_UPPERCASE: bool = 'Δ'.is_uppercase();\nassert!(CAPITAL_DELTA_IS_UPPERCASE);\n```", - "id": 9406, + "docs": null, + "id": 8901, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 8902, + "is_glob": true, + "name": "task", + "source": "alloc::task" } }, "links": {}, - "name": "is_uppercase", + "name": null, "span": { "begin": [ - 860, + 650, 5 ], "end": [ - 860, - 44 + 650, + 28 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9407": { + "8903": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"const_char_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(inline)]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"futures_api\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this `char` has the `White_Space` property.\n\n`White_Space` is specified in the [Unicode Character Database][ucd] [`PropList.txt`].\n\n[ucd]: https://www.unicode.org/reports/tr44/\n[`PropList.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n\n# Examples\n\nBasic usage:\n\n```\nassert!(' '.is_whitespace());\n\n// line break\nassert!('\\n'.is_whitespace());\n\n// a non-breaking space\nassert!('\\u{A0}'.is_whitespace());\n\nassert!(!'越'.is_whitespace());\n```", - "id": 9407, + "docs": null, + "id": 8903, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 8904, + "is_glob": true, + "name": "task", + "source": "core::task" } }, "links": {}, - "name": "is_whitespace", + "name": null, "span": { "begin": [ - 893, + 653, 5 ], "end": [ - 893, - 45 + 653, + 27 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9408": { + "8905": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"futures_api\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Types and Traits for working with asynchronous tasks.", + "id": 8905, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 8901, + 8903 + ] + } + }, + "links": {}, + "name": "task", + "span": { + "begin": [ + 645, + 1 + ], + "end": [ + 645, + 13 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "8906": { + "attrs": [ { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 60, patch: 0})}, feature: \"simd_aarch64\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this `char` satisfies either [`is_alphabetic()`] or [`is_numeric()`].\n\n[`is_alphabetic()`]: #method.is_alphabetic\n[`is_numeric()`]: #method.is_numeric\n\n# Examples\n\nBasic usage:\n\n```\nassert!('٣'.is_alphanumeric());\nassert!('7'.is_alphanumeric());\nassert!('৬'.is_alphanumeric());\nassert!('¾'.is_alphanumeric());\nassert!('①'.is_alphanumeric());\nassert!('K'.is_alphanumeric());\nassert!('و'.is_alphanumeric());\nassert!('藏'.is_alphanumeric());\n```", - "id": 9408, + "docs": null, + "id": 8906, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 8907, + "is_glob": false, + "name": "is_aarch64_feature_detected", + "source": "std_detect::is_aarch64_feature_detected" } }, "links": {}, - "name": "is_alphanumeric", + "name": null, "span": { "begin": [ - 922, + 668, 5 ], "end": [ - 922, - 41 + 668, + 53 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9409": { + "8908": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111190, is_soft: false}, feature: \"stdarch_arm_feature_detection\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this `char` has the general category for control codes.\n\nControl codes (code points with the general category of `Cc`) are described in Chapter 4\n(Character Properties) of the [Unicode Standard] and specified in the [Unicode Character\nDatabase][ucd] [`UnicodeData.txt`].\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n[ucd]: https://www.unicode.org/reports/tr44/\n[`UnicodeData.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt\n\n# Examples\n\nBasic usage:\n\n```\n// U+009C, STRING TERMINATOR\nassert!('œ'.is_control());\nassert!(!'q'.is_control());\n```", - "id": 9409, + "docs": null, + "id": 8908, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 8909, + "is_glob": false, + "name": "is_arm_feature_detected", + "source": "std_detect::is_arm_feature_detected" } }, "links": {}, - "name": "is_control", + "name": null, "span": { "begin": [ - 952, + 670, 5 ], "end": [ - 952, - 36 + 670, + 49 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "941": { + "891": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 941, + "id": 891, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { "resolved_path": { "args": { @@ -754804,19 +773641,21 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 758, + "path": "IterMut" } }, "generics": { "params": [ { "kind": { - "lifetime": { - "outlives": [] + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "name": "'a" + "name": "T" }, { "kind": { @@ -754826,8 +773665,289 @@ "is_synthetic": false } }, - "name": "K" + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 827, + 1 + ], + "end": [ + 829, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "8910": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 117425, is_soft: false}, feature: \"is_loongarch_feature_detected\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8910, + "inner": { + "use": { + "id": 8911, + "is_glob": false, + "name": "is_loongarch_feature_detected", + "source": "std_detect::is_loongarch_feature_detected" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 672, + 5 + ], + "end": [ + 672, + 55 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "8912": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111192, is_soft: false}, feature: \"is_riscv_feature_detected\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8912, + "inner": { + "use": { + "id": 8913, + "is_glob": false, + "name": "is_riscv_feature_detected", + "source": "std_detect::is_riscv_feature_detected" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 674, + 5 + ], + "end": [ + 674, + 51 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "8914": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 135413, is_soft: false}, feature: \"stdarch_s390x_feature_detection\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8914, + "inner": { + "use": { + "id": 8915, + "is_glob": false, + "name": "is_s390x_feature_detected", + "source": "std_detect::is_s390x_feature_detected" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 676, + 5 + ], + "end": [ + 676, + 51 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "8916": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"simd_x86\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8916, + "inner": { + "use": { + "id": 8917, + "is_glob": false, + "name": "is_x86_feature_detected", + "source": "std_detect::is_x86_feature_detected" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 678, + 5 + ], + "end": [ + 678, + 49 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "8918": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111188, is_soft: false}, feature: \"stdarch_mips_feature_detection\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8918, + "inner": { + "use": { + "id": 8919, + "is_glob": false, + "name": "is_mips_feature_detected", + "source": "std_detect::is_mips_feature_detected" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 680, + 26 + ], + "end": [ + 680, + 50 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "892": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 892, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } }, + "id": 758, + "path": "IterMut" + } + }, + "generics": { + "params": [ { "kind": { "type": { @@ -754836,7 +773956,7 @@ "is_synthetic": false } }, - "name": "V" + "name": "T" } ], "where_predicates": [ @@ -754844,495 +773964,351 @@ "bound_predicate": { "bounds": [ { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "V" + "generic": "T" } } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 336 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 339, + "path": "Any" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 138, + 1 + ], + "end": [ + 138, + 36 + ], + "filename": "checkouts/rust/library/core/src/any.rs" + }, "visibility": "default" }, - "9410": { + "8920": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111188, is_soft: false}, feature: \"stdarch_mips_feature_detection\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this `char` has one of the general categories for numbers.\n\nThe general categories for numbers (`Nd` for decimal digits, `Nl` for letter-like numeric\ncharacters, and `No` for other numeric characters) are specified in the [Unicode Character\nDatabase][ucd] [`UnicodeData.txt`].\n\nThis method doesn't cover everything that could be considered a number, e.g. ideographic numbers like '三'.\nIf you want everything including characters with overlapping purposes then you might want to use\na unicode or language-processing library that exposes the appropriate character properties instead\nof looking at the unicode categories.\n\nIf you want to parse ASCII decimal digits (0-9) or ASCII base-N, use\n`is_ascii_digit` or `is_digit` instead.\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n[ucd]: https://www.unicode.org/reports/tr44/\n[`UnicodeData.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt\n\n# Examples\n\nBasic usage:\n\n```\nassert!('٣'.is_numeric());\nassert!('7'.is_numeric());\nassert!('৬'.is_numeric());\nassert!('¾'.is_numeric());\nassert!('①'.is_numeric());\nassert!(!'K'.is_numeric());\nassert!(!'و'.is_numeric());\nassert!(!'藏'.is_numeric());\nassert!(!'三'.is_numeric());\n```", - "id": 9410, + "docs": null, + "id": 8920, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 8921, + "is_glob": false, + "name": "is_mips64_feature_detected", + "source": "std_detect::is_mips64_feature_detected" } }, "links": {}, - "name": "is_numeric", + "name": null, "span": { "begin": [ - 1007, - 5 + 680, + 52 ], "end": [ - 1007, - 36 + 680, + 78 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9411": { + "8922": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the lowercase character as a new iterator, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111191, is_soft: false},\nfeature: \"stdarch_powerpc_feature_detection\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that yields the lowercase mapping of this `char` as one or more\n`char`s.\n\nIf this `char` does not have a lowercase mapping, the iterator yields the same `char`.\n\nIf this `char` has a one-to-one lowercase mapping given by the [Unicode Character\nDatabase][ucd] [`UnicodeData.txt`], the iterator yields that `char`.\n\n[ucd]: https://www.unicode.org/reports/tr44/\n[`UnicodeData.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt\n\nIf this `char` requires special considerations (e.g. multiple `char`s) the iterator yields\nthe `char`(s) given by [`SpecialCasing.txt`].\n\n[`SpecialCasing.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n\nThis operation performs an unconditional mapping without tailoring. That is, the conversion\nis independent of context and language.\n\nIn the [Unicode Standard], Chapter 4 (Character Properties) discusses case mapping in\ngeneral and Chapter 3 (Conformance) discusses the default algorithm for case conversion.\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in 'İ'.to_lowercase() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", 'İ'.to_lowercase());\n```\n\nBoth are equivalent to:\n\n```\nprintln!(\"i\\u{307}\");\n```\n\nUsing [`to_string`](../std/string/trait.ToString.html#tymethod.to_string):\n\n```\nassert_eq!('C'.to_lowercase().to_string(), \"c\");\n\n// Sometimes the result is more than one character:\nassert_eq!('İ'.to_lowercase().to_string(), \"i\\u{307}\");\n\n// Characters that do not have both uppercase and lowercase\n// convert into themselves.\nassert_eq!('山'.to_lowercase().to_string(), \"山\");\n```", - "id": 9411, + "docs": null, + "id": 8922, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 9412, - "path": "ToLowercase" - } - } - } + "use": { + "id": 8923, + "is_glob": false, + "name": "is_powerpc_feature_detected", + "source": "std_detect::is_powerpc_feature_detected" } }, "links": {}, - "name": "to_lowercase", + "name": null, "span": { "begin": [ - 1077, - 5 + 682, + 26 ], "end": [ - 1077, - 45 + 682, + 53 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9413": { + "8924": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the uppercase character as a new iterator, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 111191, is_soft: false},\nfeature: \"stdarch_powerpc_feature_detection\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that yields the uppercase mapping of this `char` as one or more\n`char`s.\n\nIf this `char` does not have an uppercase mapping, the iterator yields the same `char`.\n\nIf this `char` has a one-to-one uppercase mapping given by the [Unicode Character\nDatabase][ucd] [`UnicodeData.txt`], the iterator yields that `char`.\n\n[ucd]: https://www.unicode.org/reports/tr44/\n[`UnicodeData.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt\n\nIf this `char` requires special considerations (e.g. multiple `char`s) the iterator yields\nthe `char`(s) given by [`SpecialCasing.txt`].\n\n[`SpecialCasing.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n\nThis operation performs an unconditional mapping without tailoring. That is, the conversion\nis independent of context and language.\n\nIn the [Unicode Standard], Chapter 4 (Character Properties) discusses case mapping in\ngeneral and Chapter 3 (Conformance) discusses the default algorithm for case conversion.\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in 'ß'.to_uppercase() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", 'ß'.to_uppercase());\n```\n\nBoth are equivalent to:\n\n```\nprintln!(\"SS\");\n```\n\nUsing [`to_string`](../std/string/trait.ToString.html#tymethod.to_string):\n\n```\nassert_eq!('c'.to_uppercase().to_string(), \"C\");\n\n// Sometimes the result is more than one character:\nassert_eq!('ß'.to_uppercase().to_string(), \"SS\");\n\n// Characters that do not have both uppercase and lowercase\n// convert into themselves.\nassert_eq!('山'.to_uppercase().to_string(), \"山\");\n```\n\n# Note on locale\n\nIn Turkish, the equivalent of 'i' in Latin has five forms instead of two:\n\n* 'Dotless': I / ı, sometimes written ï\n* 'Dotted': İ / i\n\nNote that the lowercase dotted 'i' is the same as the Latin. Therefore:\n\n```\nlet upper_i = 'i'.to_uppercase().to_string();\n```\n\nThe value of `upper_i` here relies on the language of the text: if we're\nin `en-US`, it should be `\"I\"`, but if we're in `tr_TR`, it should\nbe `\"İ\"`. `to_uppercase()` does not take this into account, and so:\n\n```\nlet upper_i = 'i'.to_uppercase().to_string();\n\nassert_eq!(upper_i, \"I\");\n```\n\nholds across languages.", - "id": 9413, + "docs": null, + "id": 8924, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 9414, - "path": "ToUppercase" - } - } - } + "use": { + "id": 8925, + "is_glob": false, + "name": "is_powerpc64_feature_detected", + "source": "std_detect::is_powerpc64_feature_detected" } }, "links": {}, - "name": "to_uppercase", + "name": null, "span": { "begin": [ - 1169, - 5 + 682, + 55 ], "end": [ - 1169, - 45 + 682, + 84 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9415": { + "8926": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"char_is_ascii\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_char_is_ascii\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[doc(no_inline)]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"simd_arch\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is within the ASCII range.\n\n# Examples\n\n```\nlet ascii = 'a';\nlet non_ascii = '❤';\n\nassert!(ascii.is_ascii());\nassert!(!non_ascii.is_ascii());\n```", - "id": 9415, + "docs": null, + "id": 8926, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 8927, + "is_glob": true, + "name": "arch", + "source": "core::arch" } }, "links": {}, - "name": "is_ascii", + "name": null, "span": { "begin": [ - 1189, + 665, 5 ], "end": [ - 1189, - 41 + 665, + 27 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9416": { + "8928": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"simd_arch\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `Some` if the value is within the ASCII range,\nor `None` if it's not.\n\nThis is preferred to [`Self::is_ascii`] when you're passing the value\nalong to something else that can take [`ascii::Char`] rather than\nneeding to check again for itself whether the value is in ASCII.", - "id": 9416, + "docs": "SIMD and vendor intrinsics module.\n\nThis module is intended to be the gateway to architecture-specific\nintrinsic functions, typically related to SIMD (but not always!). Each\narchitecture that Rust compiles to may contain a submodule here, which\nmeans that this is not a portable module! If you're writing a portable\nlibrary take care when using these APIs!\n\nUnder this module you'll find an architecture-named module, such as\n`x86_64`. Each `#[cfg(target_arch)]` that Rust can compile to may have a\nmodule entry here, only present on that particular target. For example the\n`i686-pc-windows-msvc` target will have an `x86` module here, whereas\n`x86_64-pc-windows-msvc` has `x86_64`.\n\n[rfc]: https://github.com/rust-lang/rfcs/pull/2325\n[tracked]: https://github.com/rust-lang/rust/issues/48556\n\n# Overview\n\nThis module exposes vendor-specific intrinsics that typically correspond to\na single machine instruction. These intrinsics are not portable: their\navailability is architecture-dependent, and not all machines of that\narchitecture might provide the intrinsic.\n\nThe `arch` module is intended to be a low-level implementation detail for\nhigher-level APIs. Using it correctly can be quite tricky as you need to\nensure at least a few guarantees are upheld:\n\n* The correct architecture's module is used. For example the `arm` module\n isn't available on the `x86_64-unknown-linux-gnu` target. This is\n typically done by ensuring that `#[cfg]` is used appropriately when using\n this module.\n* The CPU the program is currently running on supports the function being\n called. For example it is unsafe to call an AVX2 function on a CPU that\n doesn't actually support AVX2.\n\nAs a result of the latter of these guarantees all intrinsics in this module\nare `unsafe` and extra care needs to be taken when calling them!\n\n# CPU Feature Detection\n\nIn order to call these APIs in a safe fashion there's a number of\nmechanisms available to ensure that the correct CPU feature is available\nto call an intrinsic. Let's consider, for example, the `_mm256_add_epi64`\nintrinsics on the `x86` and `x86_64` architectures. This function requires\nthe AVX2 feature as [documented by Intel][intel-dox] so to correctly call\nthis function we need to (a) guarantee we only call it on `x86`/`x86_64`\nand (b) ensure that the CPU feature is available\n\n[intel-dox]: https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm256_add_epi64&expand=100\n\n## Static CPU Feature Detection\n\nThe first option available to us is to conditionally compile code via the\n`#[cfg]` attribute. CPU features correspond to the `target_feature` cfg\navailable, and can be used like so:\n\n```ignore\n#[cfg(\n all(\n any(target_arch = \"x86\", target_arch = \"x86_64\"),\n target_feature = \"avx2\"\n )\n)]\nfn foo() {\n #[cfg(target_arch = \"x86\")]\n use std::arch::x86::_mm256_add_epi64;\n #[cfg(target_arch = \"x86_64\")]\n use std::arch::x86_64::_mm256_add_epi64;\n\n unsafe {\n _mm256_add_epi64(...);\n }\n}\n```\n\nHere we're using `#[cfg(target_feature = \"avx2\")]` to conditionally compile\nthis function into our module. This means that if the `avx2` feature is\n*enabled statically* then we'll use the `_mm256_add_epi64` function at\nruntime. The `unsafe` block here can be justified through the usage of\n`#[cfg]` to only compile the code in situations where the safety guarantees\nare upheld.\n\nStatically enabling a feature is typically done with the `-C\ntarget-feature` or `-C target-cpu` flags to the compiler. For example if\nyour local CPU supports AVX2 then you can compile the above function with:\n\n```sh\n$ RUSTFLAGS='-C target-cpu=native' cargo build\n```\n\nOr otherwise you can specifically enable just the AVX2 feature:\n\n```sh\n$ RUSTFLAGS='-C target-feature=+avx2' cargo build\n```\n\nNote that when you compile a binary with a particular feature enabled it's\nimportant to ensure that you only run the binary on systems which satisfy\nthe required feature set.\n\n## Dynamic CPU Feature Detection\n\nSometimes statically dispatching isn't quite what you want. Instead you\nmight want to build a portable binary that runs across a variety of CPUs,\nbut at runtime it selects the most optimized implementation available. This\nallows you to build a \"least common denominator\" binary which has certain\nsections more optimized for different CPUs.\n\nTaking our previous example from before, we're going to compile our binary\n*without* AVX2 support, but we'd like to enable it for just one function.\nWe can do that in a manner like:\n\n```ignore\nfn foo() {\n #[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\n {\n if is_x86_feature_detected!(\"avx2\") {\n return unsafe { foo_avx2() };\n }\n }\n\n // fallback implementation without using AVX2\n}\n\n#[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\n#[target_feature(enable = \"avx2\")]\nunsafe fn foo_avx2() {\n #[cfg(target_arch = \"x86\")]\n use std::arch::x86::_mm256_add_epi64;\n #[cfg(target_arch = \"x86_64\")]\n use std::arch::x86_64::_mm256_add_epi64;\n\n unsafe { _mm256_add_epi64(...); }\n}\n```\n\nThere's a couple of components in play here, so let's go through them in\ndetail!\n\n* First up we notice the `is_x86_feature_detected!` macro. Provided by\n the standard library, this macro will perform necessary runtime detection\n to determine whether the CPU the program is running on supports the\n specified feature. In this case the macro will expand to a boolean\n expression evaluating to whether the local CPU has the AVX2 feature or\n not.\n\n Note that this macro, like the `arch` module, is platform-specific. For\n example calling `is_x86_feature_detected!(\"avx2\")` on ARM will be a\n compile time error. To ensure we don't hit this error a statement level\n `#[cfg]` is used to only compile usage of the macro on `x86`/`x86_64`.\n\n* Next up we see our AVX2-enabled function, `foo_avx2`. This function is\n decorated with the `#[target_feature]` attribute which enables a CPU\n feature for just this one function. Using a compiler flag like `-C\n target-feature=+avx2` will enable AVX2 for the entire program, but using\n an attribute will only enable it for the one function. Usage of the\n `#[target_feature]` attribute currently requires the function to also be\n `unsafe`, as we see here. This is because the function can only be\n correctly called on systems which have the AVX2 (like the intrinsics\n themselves).\n\nAnd with all that we should have a working program! This program will run\nacross all machines and it'll use the optimized AVX2 implementation on\nmachines where support is detected.\n\n# Ergonomics\n\nIt's important to note that using the `arch` module is not the easiest\nthing in the world, so if you're curious to try it out you may want to\nbrace yourself for some wordiness!\n\nThe primary purpose of this module is to enable stable crates on crates.io\nto build up much more ergonomic abstractions which end up using SIMD under\nthe hood. Over time these abstractions may also move into the standard\nlibrary itself, but for now this module is tasked with providing the bare\nminimum necessary to use vendor intrinsics on stable Rust.\n\n# Other architectures\n\nThis documentation is only for one particular architecture, you can find\nothers at:\n\n* [`x86`]\n* [`x86_64`]\n* [`arm`]\n* [`aarch64`]\n* [`riscv32`]\n* [`riscv64`]\n* [`mips`]\n* [`mips64`]\n* [`powerpc`]\n* [`powerpc64`]\n* [`nvptx`]\n* [`wasm32`]\n* [`loongarch32`]\n* [`loongarch64`]\n* [`s390x`]\n\n[`x86`]: ../../core/arch/x86/index.html\n[`x86_64`]: ../../core/arch/x86_64/index.html\n[`arm`]: ../../core/arch/arm/index.html\n[`aarch64`]: ../../core/arch/aarch64/index.html\n[`riscv32`]: ../../core/arch/riscv32/index.html\n[`riscv64`]: ../../core/arch/riscv64/index.html\n[`mips`]: ../../core/arch/mips/index.html\n[`mips64`]: ../../core/arch/mips64/index.html\n[`powerpc`]: ../../core/arch/powerpc/index.html\n[`powerpc64`]: ../../core/arch/powerpc64/index.html\n[`nvptx`]: ../../core/arch/nvptx/index.html\n[`wasm32`]: ../../core/arch/wasm32/index.html\n[`loongarch32`]: ../../core/arch/loongarch32/index.html\n[`loongarch64`]: ../../core/arch/loongarch64/index.html\n[`s390x`]: ../../core/arch/s390x/index.html\n\n# Examples\n\nFirst let's take a look at not actually using any intrinsics but instead\nusing LLVM's auto-vectorization to produce optimized vectorized code for\nAVX2 and also for the default platform.\n\n```rust\nfn main() {\n let mut dst = [0];\n add_quickly(&[1], &[2], &mut dst);\n assert_eq!(dst[0], 3);\n}\n\nfn add_quickly(a: &[u8], b: &[u8], c: &mut [u8]) {\n #[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\n {\n // Note that this `unsafe` block is safe because we're testing\n // that the `avx2` feature is indeed available on our CPU.\n if is_x86_feature_detected!(\"avx2\") {\n return unsafe { add_quickly_avx2(a, b, c) };\n }\n }\n\n add_quickly_fallback(a, b, c)\n}\n\n#[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\n#[target_feature(enable = \"avx2\")]\nunsafe fn add_quickly_avx2(a: &[u8], b: &[u8], c: &mut [u8]) {\n add_quickly_fallback(a, b, c) // the function below is inlined here\n}\n\nfn add_quickly_fallback(a: &[u8], b: &[u8], c: &mut [u8]) {\n for ((a, b), c) in a.iter().zip(b).zip(c) {\n *c = *a + *b;\n }\n}\n```\n\nNext up let's take a look at an example of manually using intrinsics. Here\nwe'll be using SSE4.1 features to implement hex encoding.\n\n```\nfn main() {\n let mut dst = [0; 32];\n hex_encode(b\"\\x01\\x02\\x03\", &mut dst);\n assert_eq!(&dst[..6], b\"010203\");\n\n let mut src = [0; 16];\n for i in 0..16 {\n src[i] = (i + 1) as u8;\n }\n hex_encode(&src, &mut dst);\n assert_eq!(&dst, b\"0102030405060708090a0b0c0d0e0f10\");\n}\n\npub fn hex_encode(src: &[u8], dst: &mut [u8]) {\n let len = src.len().checked_mul(2).unwrap();\n assert!(dst.len() >= len);\n\n #[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\n {\n if is_x86_feature_detected!(\"sse4.1\") {\n return unsafe { hex_encode_sse41(src, dst) };\n }\n }\n\n hex_encode_fallback(src, dst)\n}\n\n// translated from\n// \n#[target_feature(enable = \"sse4.1\")]\n#[cfg(any(target_arch = \"x86\", target_arch = \"x86_64\"))]\nunsafe fn hex_encode_sse41(mut src: &[u8], dst: &mut [u8]) {\n #[cfg(target_arch = \"x86\")]\n use std::arch::x86::*;\n #[cfg(target_arch = \"x86_64\")]\n use std::arch::x86_64::*;\n\n unsafe {\n let ascii_zero = _mm_set1_epi8(b'0' as i8);\n let nines = _mm_set1_epi8(9);\n let ascii_a = _mm_set1_epi8((b'a' - 9 - 1) as i8);\n let and4bits = _mm_set1_epi8(0xf);\n\n let mut i = 0_isize;\n while src.len() >= 16 {\n let invec = _mm_loadu_si128(src.as_ptr() as *const _);\n\n let masked1 = _mm_and_si128(invec, and4bits);\n let masked2 = _mm_and_si128(_mm_srli_epi64(invec, 4), and4bits);\n\n // return 0xff corresponding to the elements > 9, or 0x00 otherwise\n let cmpmask1 = _mm_cmpgt_epi8(masked1, nines);\n let cmpmask2 = _mm_cmpgt_epi8(masked2, nines);\n\n // add '0' or the offset depending on the masks\n let masked1 = _mm_add_epi8(\n masked1,\n _mm_blendv_epi8(ascii_zero, ascii_a, cmpmask1),\n );\n let masked2 = _mm_add_epi8(\n masked2,\n _mm_blendv_epi8(ascii_zero, ascii_a, cmpmask2),\n );\n\n // interleave masked1 and masked2 bytes\n let res1 = _mm_unpacklo_epi8(masked2, masked1);\n let res2 = _mm_unpackhi_epi8(masked2, masked1);\n\n _mm_storeu_si128(dst.as_mut_ptr().offset(i * 2) as *mut _, res1);\n _mm_storeu_si128(\n dst.as_mut_ptr().offset(i * 2 + 16) as *mut _,\n res2,\n );\n src = &src[16..];\n i += 16;\n }\n\n let i = i as usize;\n hex_encode_fallback(src, &mut dst[i * 2..]);\n }\n}\n\nfn hex_encode_fallback(src: &[u8], dst: &mut [u8]) {\n fn hex(byte: u8) -> u8 {\n static TABLE: &[u8] = b\"0123456789abcdef\";\n TABLE[byte as usize]\n }\n\n for (byte, slots) in src.iter().zip(dst.chunks_mut(2)) {\n slots[0] = hex((*byte >> 4) & 0xf);\n slots[1] = hex(*byte & 0xf);\n }\n}\n```", + "id": 8928, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": null, - "id": 609, - "path": "AsciiChar" - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 8906, + 8908, + 8910, + 8912, + 8914, + 8916, + 8918, + 8920, + 8922, + 8924, + 8926 + ] } }, - "links": { - "`Self::is_ascii`": 9415, - "`ascii::Char`": 609 - }, - "name": "as_ascii", + "links": {}, + "name": "arch", "span": { "begin": [ - 1202, - 5 + 658, + 1 ], "end": [ - 1202, - 56 + 658, + 13 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9417": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "893": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Converts this char into an [ASCII character](`ascii::Char`), without\nchecking whether it is valid.\n\n# Safety\n\nThis char must be within the ASCII range, or else this is UB.", - "id": 9417, + "docs": null, + "id": 893, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "I" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": true + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 758, + "path": "IterMut" + } }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "I" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 49, + "path": "Iterator" + } + } } + ], + "generic_params": [], + "type": { + "generic": "I" } } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 609, - "path": "AsciiChar" } - } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 858, + 859, + 860 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 47, + "path": "IntoIterator" } } }, - "links": { - "`ascii::Char`": 609 - }, - "name": "as_ascii_unchecked", + "links": {}, + "name": null, "span": { "begin": [ - 1220, - 5 + 314, + 1 ], "end": [ - 1220, - 65 + 314, + 37 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" }, - "visibility": "public" + "visibility": "default" }, - "9418": { + "894": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": "to uppercase the value in-place, use `make_ascii_uppercase()`" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Makes a copy of the value in its ASCII upper case equivalent.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo uppercase the value in-place, use [`make_ascii_uppercase()`].\n\nTo uppercase ASCII characters in addition to non-ASCII characters, use\n[`to_uppercase()`].\n\n# Examples\n\n```\nlet ascii = 'a';\nlet non_ascii = '❤';\n\nassert_eq!('A', ascii.to_ascii_uppercase());\nassert_eq!('❤', non_ascii.to_ascii_uppercase());\n```\n\n[`make_ascii_uppercase()`]: #method.make_ascii_uppercase\n[`to_uppercase()`]: #method.to_uppercase", - "id": 9418, + "docs": null, + "id": 894, "inner": { "function": { "generics": { @@ -755343,120 +774319,101 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "char" + "generic": "Self" } } } }, "links": {}, - "name": "to_ascii_uppercase", + "name": "default", "span": { "begin": [ - 1257, + 1503, 5 ], "end": [ - 1257, - 51 + 1505, + 6 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9419": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": "to lowercase the value in-place, use `make_ascii_lowercase()`" - } - } - ], - "crate_id": 1, + "8940": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Makes a copy of the value in its ASCII lower case equivalent.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo lowercase the value in-place, use [`make_ascii_lowercase()`].\n\nTo lowercase ASCII characters in addition to non-ASCII characters, use\n[`to_lowercase()`].\n\n# Examples\n\n```\nlet ascii = 'A';\nlet non_ascii = '❤';\n\nassert_eq!('a', ascii.to_ascii_lowercase());\nassert_eq!('❤', non_ascii.to_ascii_lowercase());\n```\n\n[`make_ascii_lowercase()`]: #method.make_ascii_lowercase\n[`to_lowercase()`]: #method.to_lowercase", - "id": 9419, + "docs": null, + "id": 8940, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "char" - } - } + "use": { + "id": 8941, + "is_glob": false, + "name": "cleanup", + "source": "self::imp::cleanup" } }, "links": {}, - "name": "to_ascii_lowercase", + "name": null, "span": { "begin": [ - 1291, - 5 + 3, + 21 ], "end": [ - 1291, - 51 + 3, + 28 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/sys/pal/unix/stack_overflow.rs" }, "visibility": "public" }, - "942": { + "8942": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 942, + "id": 8942, + "inner": { + "use": { + "id": 8943, + "is_glob": false, + "name": "init", + "source": "self::imp::init" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 3, + 30 + ], + "end": [ + 3, + 34 + ], + "filename": "std/src/sys/pal/unix/stack_overflow.rs" + }, + "visibility": "public" + }, + "895": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"default_iters_hash\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 895, "inner": { "impl": { "blanket_impl": null, @@ -755466,7 +774423,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'_" }, { "type": { @@ -755482,20 +774439,12 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 758, + "path": "IterMut" } }, "generics": { "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, { "kind": { "type": { @@ -755517,351 +774466,297 @@ "name": "V" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 894 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 107, + "path": "Default" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 1501, + 1 + ], + "end": [ + 1506, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, "visibility": "default" }, - "9420": { + "8950": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[allow(unused_imports)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks that two values are an ASCII case-insensitive match.\n\nEquivalent to [to_ascii_lowercase]\\(a) == [to_ascii_lowercase]\\(b).\n\n# Examples\n\n```\nlet upper_a = 'A';\nlet lower_a = 'a';\nlet lower_z = 'z';\n\nassert!(upper_a.eq_ignore_ascii_case(&lower_a));\nassert!(upper_a.eq_ignore_ascii_case(&upper_a));\nassert!(!upper_a.eq_ignore_ascii_case(&lower_z));\n```\n\n[to_ascii_lowercase]: #method.to_ascii_lowercase", - "id": 9420, + "docs": null, + "id": 8950, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "char" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 8951, + "is_glob": false, + "name": "signal", + "source": "libc::signal" } }, "links": {}, - "name": "eq_ignore_ascii_case", + "name": null, "span": { "begin": [ - 1319, - 5 + 228, + 1 ], "end": [ - 1319, - 67 + 228, + 22 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/sys/pal/unix/mod.rs" }, "visibility": "public" }, - "9421": { + "8952": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[allow(missing_docs, nonstandard_style)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts this type to its ASCII upper case equivalent in-place.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo return a new uppercased value without modifying the existing one, use\n[`to_ascii_uppercase()`].\n\n# Examples\n\n```\nlet mut ascii = 'a';\n\nascii.make_ascii_uppercase();\n\nassert_eq!('A', ascii);\n```\n\n[`to_ascii_uppercase()`]: #method.to_ascii_uppercase", - "id": 9421, + "docs": null, + "id": 8952, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } + "module": { + "is_crate": false, + "is_stripped": true, + "items": [ + 8950 + ] } }, "links": {}, - "name": "make_ascii_uppercase", + "name": "unix", "span": { "begin": [ - 1345, - 5 + 1, + 1 ], "end": [ - 1345, - 49 + 443, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/sys/pal/unix/mod.rs" }, - "visibility": "public" + "visibility": { + "restricted": { + "parent": 8953, + "path": "::sys::pal" + } + } }, - "9422": { + "8953": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[allow(missing_debug_implementations)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts this type to its ASCII lower case equivalent in-place.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo return a new lowercased value without modifying the existing one, use\n[`to_ascii_lowercase()`].\n\n# Examples\n\n```\nlet mut ascii = 'A';\n\nascii.make_ascii_lowercase();\n\nassert_eq!('a', ascii);\n```\n\n[`to_ascii_lowercase()`]: #method.to_ascii_lowercase", - "id": 9422, + "docs": "The PAL (platform abstraction layer) contains platform-specific abstractions\nfor implementing the features in the other submodules, e.g. UNIX file\ndescriptors.\nPlatform-dependent platform abstraction.\n\nThe `std::sys` module is the abstracted interface through which\n`std` talks to the underlying operating system. It has different\nimplementations for different operating system families, today\njust Unix and Windows, and initial support for Redox.\n\nThe centralization of platform-specific code in this module is\nenforced by the \"platform abstraction layer\" tidy script in\n`tools/tidy/src/pal.rs`.\n\nThis module is closely related to the platform-independent system\nintegration code in `std::sys_common`. See that module's\ndocumentation for details.\n\nIn the future it would be desirable for the independent\nimplementations of this module to be extracted to their own crates\nthat `std` can link to, thus enabling their implementation\nout-of-tree via crate replacement. Though due to the complex\ninter-dependencies within `std` that will be a challenging goal to\nachieve.", + "id": 8953, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": null - } + "module": { + "is_crate": false, + "is_stripped": true, + "items": [ + 8954 + ] } }, "links": {}, - "name": "make_ascii_lowercase", + "name": "pal", "span": { "begin": [ - 1371, - 5 + 1, + 1 ], "end": [ - 1371, - 49 + 101, + 27 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/sys/pal/mod.rs" }, - "visibility": "public" + "visibility": { + "restricted": { + "parent": 8955, + "path": "::sys" + } + } }, - "9423": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } + "8954": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8954, + "inner": { + "use": { + "id": 8952, + "is_glob": true, + "name": "unix", + "source": "self::unix" } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 30, + 9 + ], + "end": [ + 30, + 31 + ], + "filename": "std/src/sys/pal/mod.rs" + }, + "visibility": "public" + }, + "896": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII alphabetic character:\n\n- U+0041 'A' ..= U+005A 'Z', or\n- U+0061 'a' ..= U+007A 'z'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(uppercase_a.is_ascii_alphabetic());\nassert!(uppercase_g.is_ascii_alphabetic());\nassert!(a.is_ascii_alphabetic());\nassert!(g.is_ascii_alphabetic());\nassert!(!zero.is_ascii_alphabetic());\nassert!(!percent.is_ascii_alphabetic());\nassert!(!space.is_ascii_alphabetic());\nassert!(!lf.is_ascii_alphabetic());\nassert!(!esc.is_ascii_alphabetic());\n```", - "id": 9423, + "docs": null, + "id": 896, "inner": { - "function": { + "assoc_type": { + "bounds": [], "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } + }, + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + ] } } }, "links": {}, - "name": "is_ascii_alphabetic", + "name": "Item", "span": { "begin": [ - 1407, + 1972, 5 ], "end": [ - 1407, - 52 + 1972, + 36 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8963": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8963, + "inner": { + "use": { + "id": 8964, + "is_glob": false, + "name": "AnonPipe", + "source": "unix::AnonPipe" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 6, + 24 + ], + "end": [ + 6, + 32 + ], + "filename": "std/src/sys/anonymous_pipe/mod.rs" + }, + "visibility": "public" + }, + "8965": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8965, + "inner": { + "use": { + "id": 8966, + "is_glob": false, + "name": "pipe", + "source": "unix::pipe" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 6, + 34 + ], + "end": [ + 6, + 38 + ], + "filename": "std/src/sys/anonymous_pipe/mod.rs" }, "visibility": "public" }, - "9424": { + "897": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII uppercase character:\nU+0041 'A' ..= U+005A 'Z'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(uppercase_a.is_ascii_uppercase());\nassert!(uppercase_g.is_ascii_uppercase());\nassert!(!a.is_ascii_uppercase());\nassert!(!g.is_ascii_uppercase());\nassert!(!zero.is_ascii_uppercase());\nassert!(!percent.is_ascii_uppercase());\nassert!(!space.is_ascii_uppercase());\nassert!(!lf.is_ascii_uppercase());\nassert!(!esc.is_ascii_uppercase());\n```", - "id": 9424, + "docs": null, + "id": 897, "inner": { "function": { "generics": { @@ -755872,7 +774767,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -755881,7 +774776,7 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" @@ -755892,112 +774787,196 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" + } + } + }, + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + ] + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "is_ascii_uppercase", + "name": "next", "span": { "begin": [ - 1441, + 1975, 5 ], "end": [ - 1441, - 51 + 1977, + 6 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8970": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8970, + "inner": { + "use": { + "id": 8971, + "is_glob": false, + "name": "Args", + "source": "super::common::Args" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 8, + 1 + ], + "end": [ + 8, + 29 + ], + "filename": "std/src/sys/args/unix.rs" }, "visibility": "public" }, - "9425": { + "8972": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[allow(dead_code)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII lowercase character:\nU+0061 'a' ..= U+007A 'z'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(!uppercase_a.is_ascii_lowercase());\nassert!(!uppercase_g.is_ascii_lowercase());\nassert!(a.is_ascii_lowercase());\nassert!(g.is_ascii_lowercase());\nassert!(!zero.is_ascii_lowercase());\nassert!(!percent.is_ascii_lowercase());\nassert!(!space.is_ascii_lowercase());\nassert!(!lf.is_ascii_lowercase());\nassert!(!esc.is_ascii_lowercase());\n```", - "id": 9425, + "docs": "Global initialization and retrieval of command line arguments.\n\nOn some platforms these are stored during runtime startup,\nand on some they are retrieved from the system on demand.", + "id": 8972, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "module": { + "is_crate": false, + "is_stripped": true, + "items": [ + 8970 + ] } }, "links": {}, - "name": "is_ascii_lowercase", + "name": "unix", "span": { "begin": [ - 1475, - 5 + 1, + 1 ], "end": [ - 1475, - 51 + 197, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/sys/args/unix.rs" + }, + "visibility": { + "restricted": { + "parent": 8973, + "path": "::sys::args" + } + } + }, + "8974": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8974, + "inner": { + "use": { + "id": 8972, + "is_glob": true, + "name": "unix", + "source": "unix" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 22, + 9 + ], + "end": [ + 22, + 25 + ], + "filename": "std/src/sys/args/mod.rs" + }, + "visibility": "public" + }, + "8978": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8978, + "inner": { + "use": { + "id": 8979, + "is_glob": false, + "name": "Env", + "source": "super::common::Env" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 5, + 1 + ], + "end": [ + 5, + 28 + ], + "filename": "std/src/sys/env/unix.rs" }, "visibility": "public" }, - "9426": { + "898": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII alphanumeric character:\n\n- U+0041 'A' ..= U+005A 'Z', or\n- U+0061 'a' ..= U+007A 'z', or\n- U+0030 '0' ..= U+0039 '9'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(uppercase_a.is_ascii_alphanumeric());\nassert!(uppercase_g.is_ascii_alphanumeric());\nassert!(a.is_ascii_alphanumeric());\nassert!(g.is_ascii_alphanumeric());\nassert!(zero.is_ascii_alphanumeric());\nassert!(!percent.is_ascii_alphanumeric());\nassert!(!space.is_ascii_alphanumeric());\nassert!(!lf.is_ascii_alphanumeric());\nassert!(!esc.is_ascii_alphanumeric());\n```", - "id": 9426, + "docs": null, + "id": 898, "inner": { "function": { "generics": { @@ -756008,7 +774987,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -756028,177 +775007,196 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "tuple": [ + { + "primitive": "usize" + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + ] } } } }, "links": {}, - "name": "is_ascii_alphanumeric", + "name": "size_hint", "span": { "begin": [ - 1512, + 1979, 5 ], "end": [ - 1512, - 54 + 1981, + 6 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9427": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } + "8980": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8980, + "inner": { + "module": { + "is_crate": false, + "is_stripped": true, + "items": [ + 8978 + ] } - ], - "crate_id": 1, + }, + "links": {}, + "name": "unix", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 126, + 2 + ], + "filename": "std/src/sys/env/unix.rs" + }, + "visibility": { + "restricted": { + "parent": 8981, + "path": "::sys::env" + } + } + }, + "8982": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII decimal digit:\nU+0030 '0' ..= U+0039 '9'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(!uppercase_a.is_ascii_digit());\nassert!(!uppercase_g.is_ascii_digit());\nassert!(!a.is_ascii_digit());\nassert!(!g.is_ascii_digit());\nassert!(zero.is_ascii_digit());\nassert!(!percent.is_ascii_digit());\nassert!(!space.is_ascii_digit());\nassert!(!lf.is_ascii_digit());\nassert!(!esc.is_ascii_digit());\n```", - "id": 9427, + "docs": null, + "id": 8982, "inner": { - "function": { + "use": { + "id": 8980, + "is_glob": true, + "name": "unix", + "source": "unix" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 20, + 9 + ], + "end": [ + 20, + 25 + ], + "filename": "std/src/sys/env/mod.rs" + }, + "visibility": "public" + }, + "8987": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8987, + "inner": { + "struct": { "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } + "impls": [], + "kind": { + "tuple": [ + null + ] } } }, "links": {}, - "name": "is_ascii_digit", + "name": "FileDesc", "span": { "begin": [ - 1546, - 5 + 47, + 1 ], "end": [ - 1546, - 47 + 47, + 30 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/sys/fd/unix.rs" }, "visibility": "public" }, - "9428": { + "8988": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 101288, is_soft: false}, feature: \"is_ascii_octdigit\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"not public\"),\nis_soft: false}, feature: \"fd\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII octal digit:\nU+0030 '0' ..= U+0037 '7'.\n\n# Examples\n\n```\n#![feature(is_ascii_octdigit)]\n\nlet uppercase_a = 'A';\nlet a = 'a';\nlet zero = '0';\nlet seven = '7';\nlet nine = '9';\nlet percent = '%';\nlet lf = '\\n';\n\nassert!(!uppercase_a.is_ascii_octdigit());\nassert!(!a.is_ascii_octdigit());\nassert!(zero.is_ascii_octdigit());\nassert!(seven.is_ascii_octdigit());\nassert!(!nine.is_ascii_octdigit());\nassert!(!percent.is_ascii_octdigit());\nassert!(!lf.is_ascii_octdigit());\n```", - "id": 9428, + "docs": null, + "id": 8988, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "module": { + "is_crate": false, + "is_stripped": true, + "items": [ + 8987 + ] } }, "links": {}, - "name": "is_ascii_octdigit", + "name": "unix", "span": { "begin": [ - 1577, - 5 + 1, + 1 ], "end": [ - 1577, - 50 + 696, + 2 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/sys/fd/unix.rs" }, - "visibility": "public" + "visibility": { + "restricted": { + "parent": 8989, + "path": "::sys::fd" + } + } }, - "9429": { + "899": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII hexadecimal digit:\n\n- U+0030 '0' ..= U+0039 '9', or\n- U+0041 'A' ..= U+0046 'F', or\n- U+0061 'a' ..= U+0066 'f'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(uppercase_a.is_ascii_hexdigit());\nassert!(!uppercase_g.is_ascii_hexdigit());\nassert!(a.is_ascii_hexdigit());\nassert!(!g.is_ascii_hexdigit());\nassert!(zero.is_ascii_hexdigit());\nassert!(!percent.is_ascii_hexdigit());\nassert!(!space.is_ascii_hexdigit());\nassert!(!lf.is_ascii_hexdigit());\nassert!(!esc.is_ascii_hexdigit());\n```", - "id": 9429, + "docs": null, + "id": 899, "inner": { "function": { "generics": { @@ -756209,7 +775207,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -756217,385 +775215,294 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "usize" } } } }, "links": {}, - "name": "is_ascii_hexdigit", + "name": "count", "span": { "begin": [ - 1614, + 1983, 5 ], "end": [ - 1614, - 50 + 1985, + 6 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "8990": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 8990, + "inner": { + "use": { + "id": 8988, + "is_glob": true, + "name": "unix", + "source": "unix" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 8, + 9 + ], + "end": [ + 8, + 25 + ], + "filename": "std/src/sys/fd/mod.rs" }, "visibility": "public" }, - "943": { + "8994": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 943, + "id": 8994, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 746, - "path": "Keys" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } + "use": { + "id": 8995, + "is_glob": false, + "name": "exists", + "source": "crate::sys::fs::common::exists" } }, "links": {}, "name": null, "span": { "begin": [ - 209, + 88, 1 ], "end": [ - 209, - 32 + 88, + 40 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sys/fs/unix.rs" }, - "visibility": "default" + "visibility": "public" }, - "9430": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "8996": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII punctuation character:\n\n- U+0021 ..= U+002F `! \" # $ % & ' ( ) * + , - . /`, or\n- U+003A ..= U+0040 `: ; < = > ? @`, or\n- U+005B ..= U+0060 ``[ \\ ] ^ _ ` ``, or\n- U+007B ..= U+007E `{ | } ~`\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(!uppercase_a.is_ascii_punctuation());\nassert!(!uppercase_g.is_ascii_punctuation());\nassert!(!a.is_ascii_punctuation());\nassert!(!g.is_ascii_punctuation());\nassert!(!zero.is_ascii_punctuation());\nassert!(percent.is_ascii_punctuation());\nassert!(!space.is_ascii_punctuation());\nassert!(!lf.is_ascii_punctuation());\nassert!(!esc.is_ascii_punctuation());\n```", - "id": 9430, + "docs": null, + "id": 8996, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 8997, + "is_glob": false, + "name": "remove_dir_all", + "source": "remove_dir_impl::remove_dir_all" } }, "links": {}, - "name": "is_ascii_punctuation", + "name": null, "span": { "begin": [ - 1652, - 5 + 2399, + 1 ], "end": [ - 1652, - 53 + 2399, + 41 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/sys/fs/unix.rs" }, "visibility": "public" }, - "9431": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "8999": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII graphic character:\nU+0021 '!' ..= U+007E '~'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(uppercase_a.is_ascii_graphic());\nassert!(uppercase_g.is_ascii_graphic());\nassert!(a.is_ascii_graphic());\nassert!(g.is_ascii_graphic());\nassert!(zero.is_ascii_graphic());\nassert!(percent.is_ascii_graphic());\nassert!(!space.is_ascii_graphic());\nassert!(!lf.is_ascii_graphic());\nassert!(!esc.is_ascii_graphic());\n```", - "id": 9431, + "docs": null, + "id": 8999, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 9000, + "is_glob": false, + "name": "chown", + "source": "unix::chown" } }, "links": {}, - "name": "is_ascii_graphic", + "name": null, "span": { "begin": [ - 1689, - 5 + 12, + 24 ], "end": [ - 1689, - 49 + 12, + 29 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/sys/fs/mod.rs" }, "visibility": "public" }, - "9432": { + "90": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" + "other": "#[doc(no_inline)]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII whitespace character:\nU+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED,\nU+000C FORM FEED, or U+000D CARRIAGE RETURN.\n\nRust uses the WhatWG Infra Standard's [definition of ASCII\nwhitespace][infra-aw]. There are several other definitions in\nwide use. For instance, [the POSIX locale][pct] includes\nU+000B VERTICAL TAB as well as all the above characters,\nbut—from the very same specification—[the default rule for\n\"field splitting\" in the Bourne shell][bfs] considers *only*\nSPACE, HORIZONTAL TAB, and LINE FEED as whitespace.\n\nIf you are writing a program that will process an existing\nfile format, check what that format's definition of whitespace is\nbefore using this function.\n\n[infra-aw]: https://infra.spec.whatwg.org/#ascii-whitespace\n[pct]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_01\n[bfs]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_05\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(!uppercase_a.is_ascii_whitespace());\nassert!(!uppercase_g.is_ascii_whitespace());\nassert!(!a.is_ascii_whitespace());\nassert!(!g.is_ascii_whitespace());\nassert!(!zero.is_ascii_whitespace());\nassert!(!percent.is_ascii_whitespace());\nassert!(space.is_ascii_whitespace());\nassert!(lf.is_ascii_whitespace());\nassert!(!esc.is_ascii_whitespace());\n```", - "id": 9432, + "docs": null, + "id": 90, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 91, + "is_glob": false, + "name": "option_env", + "source": "core::prelude::v1::option_env" } }, "links": {}, - "name": "is_ascii_whitespace", + "name": null, "span": { "begin": [ - 1740, - 5 + 51, + 89 ], "end": [ - 1740, - 52 + 51, + 99 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "9433": { + "900": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII control character:\nU+0000 NUL ..= U+001F UNIT SEPARATOR, or U+007F DELETE.\nNote that most ASCII whitespace characters are control\ncharacters, but SPACE is not.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(!uppercase_a.is_ascii_control());\nassert!(!uppercase_g.is_ascii_control());\nassert!(!a.is_ascii_control());\nassert!(!g.is_ascii_control());\nassert!(!zero.is_ascii_control());\nassert!(!percent.is_ascii_control());\nassert!(!space.is_ascii_control());\nassert!(lf.is_ascii_control());\nassert!(esc.is_ascii_control());\n```", - "id": 9433, + "docs": null, + "id": 900, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "B" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "Self" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "generic": "B" + }, + { + "qualified_path": { + "args": null, + "name": "Item", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 49, + "path": "" + } + } + } + ], + "output": { + "generic": "B" + } + } + }, + "id": 13, + "path": "FnMut" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -756603,301 +775510,206 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_ascii_control", - "span": { - "begin": [ - 1776, - 5 - ], - "end": [ - 1776, - 49 - ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" - }, - "visibility": "public" - }, - "9434": { - "attrs": [], - "crate_id": 1, - "deprecation": null, - "docs": null, - "id": 9434, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "char" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9382, - 9381, - 9384, - 9386, - 9387, - 9388, - 9389, - 9391, - 9392, - 9393, - 9394, - 9395, - 9396, - 9398, - 9400, - 9402, - 9403, - 9383, - 9385, - 9404, - 9405, - 9406, - 9407, - 9408, - 9409, - 9410, - 9411, - 9413, - 9415, - 9416, - 9417, - 9418, - 9419, - 9420, - 9421, - 9422, - 9423, - 9424, - 9425, - 9426, - 9427, - 9428, - 9429, - 9430, - 9431, - 9432, - 9433 - ], - "provided_trait_methods": [], - "trait": null + ], + [ + "init", + { + "generic": "B" + } + ], + [ + "f", + { + "generic": "F" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "B" + } + } } }, "links": {}, - "name": null, + "name": "fold", "span": { "begin": [ - 11, - 1 + 1987, + 5 ], "end": [ - 11, - 10 + 1993, + 6 ], - "filename": "checkouts/rust/library/core/src/char/methods.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9435": { + "9001": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9435, + "id": 9001, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "tuple": [] - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } + "use": { + "id": 9002, + "is_glob": false, + "name": "fchown", + "source": "unix::fchown" } }, "links": {}, "name": null, - "span": null, - "visibility": "default" + "span": { + "begin": [ + 12, + 31 + ], + "end": [ + 12, + 37 + ], + "filename": "std/src/sys/fs/mod.rs" + }, + "visibility": "public" }, - "9436": { + "9003": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9436, + "id": 9003, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "tuple": [] - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } + "use": { + "id": 9004, + "is_glob": false, + "name": "lchown", + "source": "unix::lchown" } }, "links": {}, "name": null, - "span": null, - "visibility": "default" + "span": { + "begin": [ + 12, + 39 + ], + "end": [ + 12, + 45 + ], + "filename": "std/src/sys/fs/mod.rs" + }, + "visibility": "public" }, - "9437": { + "9005": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9437, + "id": 9005, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "tuple": [] - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } + "use": { + "id": 9006, + "is_glob": false, + "name": "mkfifo", + "source": "unix::mkfifo" } }, "links": {}, "name": null, - "span": null, - "visibility": "default" + "span": { + "begin": [ + 12, + 47 + ], + "end": [ + 12, + 53 + ], + "filename": "std/src/sys/fs/mod.rs" + }, + "visibility": "public" }, - "9438": { - "attrs": [], + "9007": { + "attrs": [ + { + "other": "#[(not(target_os = \"fuchsia\"))]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9438, + "id": 9007, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "tuple": [] - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 7, - "path": "Unpin" - } + "use": { + "id": 9008, + "is_glob": false, + "name": "chroot", + "source": "unix::chroot" } }, "links": {}, "name": null, - "span": null, - "visibility": "default" + "span": { + "begin": [ + 14, + 9 + ], + "end": [ + 14, + 30 + ], + "filename": "std/src/sys/fs/mod.rs" + }, + "visibility": "public" }, - "9439": { + "9009": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9439, + "id": 9009, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "tuple": [] - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 318, - "path": "UnwindSafe" - } + "use": { + "id": 9010, + "is_glob": false, + "name": "DirBuilder", + "source": "imp::DirBuilder" } }, "links": {}, "name": null, - "span": null, - "visibility": "default" + "span": { + "begin": [ + 64, + 5 + ], + "end": [ + 64, + 15 + ], + "filename": "std/src/sys/fs/mod.rs" + }, + "visibility": "public" }, - "944": { - "attrs": [], + "901": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 944, + "id": 901, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { @@ -756920,12 +775732,20 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 758, + "path": "IterMut" } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -756934,55 +775754,113 @@ "is_synthetic": false } }, - "name": "T" - } - ], - "where_predicates": [ + "name": "K" + }, { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], + "kind": { "type": { - "generic": "T" + "bounds": [], + "default": null, + "is_synthetic": false } - } + }, + "name": "V" } - ] + ], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 896, + 897, + 898, + 899, + 900 + ], + "provided_trait_methods": [ + "next_chunk", + "size_hint", + "count", + "last", + "advance_by", + "nth", + "step_by", + "chain", + "zip", + "intersperse", + "intersperse_with", + "map", + "for_each", + "filter", + "filter_map", + "enumerate", + "peekable", + "skip_while", + "take_while", + "map_while", + "skip", + "take", + "scan", + "flat_map", + "flatten", + "map_windows", + "fuse", + "inspect", + "by_ref", + "collect", + "try_collect", + "collect_into", + "partition", + "partition_in_place", + "is_partitioned", + "try_fold", + "try_for_each", + "fold", + "reduce", + "try_reduce", + "all", + "any", + "find", + "find_map", + "try_find", + "position", + "rposition", + "max", + "min", + "max_by_key", + "max_by", + "min_by_key", + "min_by", + "rev", + "unzip", + "copied", + "cloned", + "cycle", + "array_chunks", + "sum", + "product", + "cmp", + "cmp_by", + "partial_cmp", + "partial_cmp_by", + "eq", + "eq_by", + "ne", + "lt", + "le", + "gt", + "ge", + "is_sorted", + "is_sorted_by", + "is_sorted_by_key", + "__iterator_get_unchecked" ], - "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 49, + "path": "Iterator" } } }, @@ -756990,619 +775868,380 @@ "name": null, "span": { "begin": [ - 217, + 1971, 1 ], "end": [ - 217, - 35 + 1994, + 2 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9440": { + "9011": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9440, + "id": 9011, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "tuple": [] - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" - } + "use": { + "id": 9012, + "is_glob": false, + "name": "DirEntry", + "source": "imp::DirEntry" } }, "links": {}, "name": null, - "span": null, - "visibility": "default" + "span": { + "begin": [ + 64, + 17 + ], + "end": [ + 64, + 25 + ], + "filename": "std/src/sys/fs/mod.rs" + }, + "visibility": "public" }, - "9441": { + "9013": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9441, + "id": 9013, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [] - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 321 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" - } + "use": { + "id": 9014, + "is_glob": false, + "name": "File", + "source": "imp::File" } }, "links": {}, "name": null, "span": { "begin": [ - 209, - 1 + 64, + 27 ], "end": [ - 209, - 32 + 64, + 31 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sys/fs/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9442": { + "9015": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9442, + "id": 9015, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [] - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 324 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" - } + "use": { + "id": 9016, + "is_glob": false, + "name": "FileAttr", + "source": "imp::FileAttr" } }, "links": {}, "name": null, "span": { "begin": [ - 217, - 1 + 64, + 33 ], "end": [ - 217, - 35 + 64, + 41 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "std/src/sys/fs/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9443": { + "9017": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9443, + "id": 9017, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [] - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 422 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" - } + "use": { + "id": 9018, + "is_glob": false, + "name": "FilePermissions", + "source": "imp::FilePermissions" } }, "links": {}, "name": null, "span": { "begin": [ - 516, - 1 + 64, + 43 ], "end": [ - 516, - 42 + 64, + 58 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "std/src/sys/fs/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9444": { + "9019": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9444, + "id": 9019, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [] - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 327 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } + "use": { + "id": 9020, + "is_glob": false, + "name": "FileTimes", + "source": "imp::FileTimes" } }, "links": {}, "name": null, "span": { "begin": [ - 773, - 1 + 64, + 60 ], "end": [ - 775, - 24 + 64, + 69 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sys/fs/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9445": { - "attrs": [], + "902": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9445, + "id": 902, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [] - }, + "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], + "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "T" + "generic": "Self" } } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } } } }, "links": {}, - "name": null, + "name": "len", "span": { "begin": [ - 791, - 1 + 1998, + 5 ], "end": [ - 791, - 28 + 2000, + 6 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9446": { + "9021": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9446, + "id": 9021, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [] - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 331, - 332 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" - } + "use": { + "id": 9022, + "is_glob": false, + "name": "FileType", + "source": "imp::FileType" } }, "links": {}, "name": null, "span": { "begin": [ - 817, - 1 + 64, + 71 ], "end": [ - 819, - 27 + 64, + 79 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sys/fs/mod.rs" }, - "visibility": "default" + "visibility": "public" + }, + "9023": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9023, + "inner": { + "use": { + "id": 9024, + "is_glob": false, + "name": "OpenOptions", + "source": "imp::OpenOptions" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 64, + 81 + ], + "end": [ + 64, + 92 + ], + "filename": "std/src/sys/fs/mod.rs" + }, + "visibility": "public" + }, + "9025": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9025, + "inner": { + "use": { + "id": 9026, + "is_glob": false, + "name": "ReadDir", + "source": "imp::ReadDir" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 65, + 5 + ], + "end": [ + 65, + 12 + ], + "filename": "std/src/sys/fs/mod.rs" + }, + "visibility": "public" }, - "9447": { + "9028": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9447, + "id": 9028, + "inner": { + "module": { + "is_crate": false, + "is_stripped": true, + "items": [] + } + }, + "links": {}, + "name": "iovec", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 87, + 2 + ], + "filename": "std/src/sys/io/io_slice/iovec.rs" + }, + "visibility": { + "restricted": { + "parent": 9029, + "path": "::sys::io::io_slice" + } + } + }, + "903": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 903, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { - "tuple": [] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 758, + "path": "IterMut" + } }, "generics": { "params": [ @@ -757614,7 +776253,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" }, { "kind": { @@ -757624,67 +776263,25 @@ "is_synthetic": false } }, - "name": "U" + "name": "V" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 902 + ], + "provided_trait_methods": [ + "len", + "is_empty" ], - "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 43, + "path": "ExactSizeIterator" } } }, @@ -757692,202 +776289,215 @@ "name": null, "span": { "begin": [ - 833, + 1996, 1 ], "end": [ - 835, - 24 + 2001, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9448": { + "9030": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9448, + "id": 9030, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [] - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 338 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 341, - "path": "Any" - } + "use": { + "id": 9028, + "is_glob": true, + "name": "iovec", + "source": "iovec" } }, "links": {}, "name": null, "span": { "begin": [ - 138, + 7, + 13 + ], + "end": [ + 7, + 30 + ], + "filename": "std/src/sys/io/mod.rs" + }, + "visibility": "public" + }, + "9031": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9031, + "inner": { + "module": { + "is_crate": false, + "is_stripped": true, + "items": [] + } + }, + "links": {}, + "name": "isatty", + "span": { + "begin": [ + 1, 1 ], "end": [ - 138, - 36 + 6, + 2 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/sys/io/is_terminal/isatty.rs" }, - "visibility": "default" + "visibility": { + "restricted": { + "parent": 9032, + "path": "::sys::io::is_terminal" + } + } }, - "9449": { + "9033": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9449, + "id": 9033, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [] - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" - } + "use": { + "id": 9031, + "is_glob": true, + "name": "isatty", + "source": "isatty" } }, "links": {}, "name": null, "span": { "begin": [ - 82, - 1 + 32, + 13 ], "end": [ - 84, - 14 + 32, + 31 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "std/src/sys/io/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "945": { + "9034": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 945, + "id": 9034, + "inner": { + "use": { + "id": 9035, + "is_glob": false, + "name": "IoSlice", + "source": "io_slice::IoSlice" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 53, + 20 + ], + "end": [ + 53, + 27 + ], + "filename": "std/src/sys/io/mod.rs" + }, + "visibility": "public" + }, + "9036": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9036, + "inner": { + "use": { + "id": 9037, + "is_glob": false, + "name": "IoSliceMut", + "source": "io_slice::IoSliceMut" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 53, + 29 + ], + "end": [ + 53, + 39 + ], + "filename": "std/src/sys/io/mod.rs" + }, + "visibility": "public" + }, + "9038": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9038, + "inner": { + "use": { + "id": 9039, + "is_glob": false, + "name": "is_terminal", + "source": "is_terminal::is_terminal" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 54, + 1 + ], + "end": [ + 54, + 34 + ], + "filename": "std/src/sys/io/mod.rs" + }, + "visibility": "public" + }, + "904": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 904, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'_" }, { "type": { @@ -757903,8 +776513,8 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 758, + "path": "IterMut" } }, "generics": { @@ -757917,44 +776527,30 @@ "is_synthetic": false } }, - "name": "T" - } - ], - "where_predicates": [ + "name": "K" + }, { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], + "kind": { "type": { - "generic": "T" + "bounds": [], + "default": null, + "is_synthetic": false } - } + }, + "name": "V" } - ] + ], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 422 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 424, - "path": "CloneToUninit" + "id": 878, + "path": "FusedIterator" } } }, @@ -757962,606 +776558,245 @@ "name": null, "span": { "begin": [ - 516, + 2003, 1 ], "end": [ - 516, - 42 + 2003, + 50 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9450": { - "attrs": [ - { - "other": "#[rustc_doc_primitive = \"array\"]" - }, - { - "other": "#[doc(alias = \"[]\")]" - }, - { - "other": "#[doc(alias = \"[T;N]\")]" - }, - { - "other": "#[doc(alias = \"[T; N]\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], + "9041": { + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "A fixed-size array, denoted `[T; N]`, for the element type, `T`, and the\nnon-negative compile-time constant size, `N`.\n\nThere are two syntactic forms for creating an array:\n\n* A list with each element, i.e., `[x, y, z]`.\n* A repeat expression `[expr; N]` where `N` is how many times to repeat `expr` in the array. `expr` must either be:\n\n * A value of a type implementing the [`Copy`] trait\n * A `const` value\n\nNote that `[expr; 0]` is allowed, and produces an empty array.\nThis will still evaluate `expr`, however, and immediately drop the resulting value, so\nbe mindful of side effects.\n\nArrays of *any* size implement the following traits if the element type allows it:\n\n- [`Copy`]\n- [`Clone`]\n- [`Debug`]\n- [`IntoIterator`] (implemented for `[T; N]`, `&[T; N]` and `&mut [T; N]`)\n- [`PartialEq`], [`PartialOrd`], [`Eq`], [`Ord`]\n- [`Hash`]\n- [`AsRef`], [`AsMut`]\n- [`Borrow`], [`BorrowMut`]\n\nArrays of sizes from 0 to 32 (inclusive) implement the [`Default`] trait\nif the element type allows it. As a stopgap, trait implementations are\nstatically generated up to size 32.\n\nArrays of sizes from 1 to 12 (inclusive) implement [`From`], where `Tuple`\nis a homogeneous [prim@tuple] of appropriate length.\n\nArrays coerce to [slices (`[T]`)][slice], so a slice method may be called on\nan array. Indeed, this provides most of the API for working with arrays.\n\nSlices have a dynamic size and do not coerce to arrays. Instead, use\n`slice.try_into().unwrap()` or `::try_from(slice).unwrap()`.\n\nArray's `try_from(slice)` implementations (and the corresponding `slice.try_into()`\narray implementations) succeed if the input slice length is the same as the result\narray length. They optimize especially well when the optimizer can easily determine\nthe slice length, e.g. `<[u8; 4]>::try_from(&slice[4..8]).unwrap()`. Array implements\n[TryFrom](crate::convert::TryFrom) returning:\n\n- `[T; N]` copies from the slice's elements\n- `&[T; N]` references the original slice's elements\n- `&mut [T; N]` references the original slice's elements\n\nYou can move elements out of an array with a [slice pattern]. If you want\none element, see [`mem::replace`].\n\n# Examples\n\n```\nlet mut array: [i32; 3] = [0; 3];\n\narray[1] = 1;\narray[2] = 2;\n\nassert_eq!([1, 2], &array[1..]);\n\n// This loop prints: 0 1 2\nfor x in array {\n print!(\"{x} \");\n}\n```\n\nYou can also iterate over reference to the array's elements:\n\n```\nlet array: [i32; 3] = [0; 3];\n\nfor x in &array { }\n```\n\nYou can use `::try_from(slice)` or `slice.try_into()` to get an array from\na slice:\n\n```\nlet bytes: [u8; 3] = [1, 0, 2];\nassert_eq!(1, u16::from_le_bytes(<[u8; 2]>::try_from(&bytes[0..2]).unwrap()));\nassert_eq!(512, u16::from_le_bytes(bytes[1..3].try_into().unwrap()));\n```\n\nYou can use a [slice pattern] to move elements out of an array:\n\n```\nfn move_away(_: String) { /* Do interesting things. */ }\n\nlet [john, roa] = [\"John\".to_string(), \"Roa\".to_string()];\nmove_away(john);\nmove_away(roa);\n```\n\nArrays can be created from homogeneous tuples of appropriate length:\n\n```\nlet tuple: (u32, u32, u32) = (1, 2, 3);\nlet array: [u32; 3] = tuple.into();\n```\n\n# Editions\n\nPrior to Rust 1.53, arrays did not implement [`IntoIterator`] by value, so the method call\n`array.into_iter()` auto-referenced into a [slice iterator](slice::iter). Right now, the old\nbehavior is preserved in the 2015 and 2018 editions of Rust for compatibility, ignoring\n[`IntoIterator`] by value. In the future, the behavior on the 2015 and 2018 edition\nmight be made consistent to the behavior of later editions.\n\n```rust,edition2018\n// Rust 2015 and 2018:\n\n# #![allow(array_into_iter)] // override our `deny(warnings)`\nlet array: [i32; 3] = [0; 3];\n\n// This creates a slice iterator, producing references to each value.\nfor item in array.into_iter().enumerate() {\n let (i, x): (usize, &i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n\n// The `array_into_iter` lint suggests this change for future compatibility:\nfor item in array.iter().enumerate() {\n let (i, x): (usize, &i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n\n// You can explicitly iterate an array by value using `IntoIterator::into_iter`\nfor item in IntoIterator::into_iter(array).enumerate() {\n let (i, x): (usize, i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n```\n\nStarting in the 2021 edition, `array.into_iter()` uses `IntoIterator` normally to iterate\nby value, and `iter()` should be used to iterate by reference like previous editions.\n\n```rust,edition2021\n// Rust 2021:\n\nlet array: [i32; 3] = [0; 3];\n\n// This iterates by reference:\nfor item in array.iter().enumerate() {\n let (i, x): (usize, &i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n\n// This iterates by value:\nfor item in array.into_iter().enumerate() {\n let (i, x): (usize, i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n```\n\nFuture language versions might start treating the `array.into_iter()`\nsyntax on editions 2015 and 2018 the same as on edition 2021. So code using\nthose older editions should still be written with this change in mind, to\nprevent breakage in the future. The safest way to accomplish this is to\navoid the `into_iter` syntax on those editions. If an edition update is not\nviable/desired, there are multiple alternatives:\n* use `iter`, equivalent to the old behavior, creating references\n* use [`IntoIterator::into_iter`], equivalent to the post-2021 behavior (Rust 1.53+)\n* replace `for ... in array.into_iter() {` with `for ... in array {`,\n equivalent to the post-2021 behavior (Rust 1.53+)\n\n```rust,edition2018\n// Rust 2015 and 2018:\n\nlet array: [i32; 3] = [0; 3];\n\n// This iterates by reference:\nfor item in array.iter() {\n let x: &i32 = item;\n println!(\"{x}\");\n}\n\n// This iterates by value:\nfor item in IntoIterator::into_iter(array) {\n let x: i32 = item;\n println!(\"{x}\");\n}\n\n// This iterates by value:\nfor item in array {\n let x: i32 = item;\n println!(\"{x}\");\n}\n\n// IntoIter can also start a chain.\n// This iterates by value:\nfor item in IntoIterator::into_iter(array).enumerate() {\n let (i, x): (usize, i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n```\n\n[slice]: prim@slice\n[`Debug`]: fmt::Debug\n[`Hash`]: hash::Hash\n[`Borrow`]: borrow::Borrow\n[`BorrowMut`]: borrow::BorrowMut\n[slice pattern]: ../reference/patterns.html#slice-patterns\n[`From`]: convert::From", - "id": 9450, + "docs": null, + "id": 9041, "inner": { - "primitive": { - "impls": [ - 818, - 1301 - ], - "name": "array" + "use": { + "id": 9042, + "is_glob": false, + "name": "cvt", + "source": "crate::sys::cvt" } }, - "links": { - "`AsMut`": 33, - "`AsRef`": 35, - "`Clone`": 99, - "`Copy`": 103, - "`Default`": 109, - "`Eq`": 113, - "`IntoIterator::into_iter`": 908, - "`IntoIterator`": 47, - "`Ord`": 119, - "`PartialEq`": 123, - "`PartialOrd`": 127, - "`mem::replace`": 9152, - "borrow::Borrow": 323, - "borrow::BorrowMut": 326, - "convert::From": 37, - "crate::convert::TryFrom": 199, - "fmt::Debug": 346, - "hash::Hash": 539, - "prim@slice": 3999, - "prim@tuple": 9151, - "slice::iter": 9153 - }, - "name": "array", + "links": {}, + "name": null, "span": { "begin": [ - 831, - 1 + 27, + 22 ], "end": [ - 831, - 18 + 27, + 25 ], - "filename": "std/src/../../core/src/primitive_docs.rs" + "filename": "std/src/sys/net/connection/socket/unix.rs" }, "visibility": "public" }, - "9451": { - "attrs": [ - { - "other": "#[rustc_no_implicit_autorefs]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 39, patch: 0})}, feature: \"const_str_is_empty\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "9043": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if `self` has a length of zero bytes.\n\n# Examples\n\n```\nlet s = \"\";\nassert!(s.is_empty());\n\nlet s = \"not empty\";\nassert!(!s.is_empty());\n```", - "id": 9451, + "docs": null, + "id": 9043, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 9044, + "is_glob": false, + "name": "cvt_r", + "source": "crate::sys::cvt_r" } }, "links": {}, - "name": "is_empty", + "name": null, "span": { "begin": [ - 161, - 5 + 27, + 27 ], "end": [ - 161, - 41 + 27, + 32 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/net/connection/socket/unix.rs" }, "visibility": "public" }, - "9453": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"str_inherent_from_utf8\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\"}}]" - } - ], - "crate_id": 1, + "9045": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Converts a slice of bytes to a string slice.\n\nA string slice ([`&str`]) is made of bytes ([`u8`]), and a byte slice\n([`&[u8]`][byteslice]) is made of bytes, so this function converts between\nthe two. Not all byte slices are valid string slices, however: [`&str`] requires\nthat it is valid UTF-8. `from_utf8()` checks to ensure that the bytes are valid\nUTF-8, and then does the conversion.\n\n[`&str`]: str\n[byteslice]: prim@slice\n\nIf you are sure that the byte slice is valid UTF-8, and you don't want to\nincur the overhead of the validity check, there is an unsafe version of\nthis function, [`from_utf8_unchecked`], which has the same\nbehavior but skips the check.\n\nIf you need a `String` instead of a `&str`, consider\n[`String::from_utf8`][string].\n\n[string]: ../std/string/struct.String.html#method.from_utf8\n\nBecause you can stack-allocate a `[u8; N]`, and you can take a\n[`&[u8]`][byteslice] of it, this function is one way to have a\nstack-allocated string. There is an example of this in the\nexamples section below.\n\n[byteslice]: slice\n\n# Errors\n\nReturns `Err` if the slice is not UTF-8 with a description as to why the\nprovided slice is not UTF-8.\n\n# Examples\n\nBasic usage:\n\n```\n// some bytes, in a vector\nlet sparkle_heart = vec![240, 159, 146, 150];\n\n// We can use the ? (try) operator to check if the bytes are valid\nlet sparkle_heart = str::from_utf8(&sparkle_heart)?;\n\nassert_eq!(\"💖\", sparkle_heart);\n# Ok::<_, std::str::Utf8Error>(())\n```\n\nIncorrect bytes:\n\n```\n// some invalid bytes, in a vector\nlet sparkle_heart = vec![0, 159, 146, 150];\n\nassert!(str::from_utf8(&sparkle_heart).is_err());\n```\n\nSee the docs for [`Utf8Error`] for more details on the kinds of\nerrors that can be returned.\n\nA \"stack allocated string\":\n\n```\n// some bytes, in a stack-allocated array\nlet sparkle_heart = [240, 159, 146, 150];\n\n// We know these bytes are valid, so just use `unwrap()`.\nlet sparkle_heart: &str = str::from_utf8(&sparkle_heart).unwrap();\n\nassert_eq!(\"💖\", sparkle_heart);\n```", - "id": 9453, + "docs": null, + "id": 9045, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "v", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 2186, - "path": "Utf8Error" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } + "module": { + "is_crate": false, + "is_stripped": true, + "items": [ + 9041, + 9043 + ] } }, - "links": { - "`Utf8Error`": 2186, - "`from_utf8_unchecked`": 9452, - "`u8`": 2398, - "prim@slice": 3999, - "str": 1928 - }, - "name": "from_utf8", + "links": {}, + "name": "unix", "span": { "begin": [ - 239, - 5 + 1, + 1 ], "end": [ - 239, - 64 + 694, + 28 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/net/connection/socket/unix.rs" }, - "visibility": "public" - }, - "9454": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"str_inherent_from_utf8_mut\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"const_str_from_utf8\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\"}}]" + "visibility": { + "restricted": { + "parent": 9046, + "path": "::sys::net::connection::socket" } - ], - "crate_id": 1, + } + }, + "9046": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Converts a mutable slice of bytes to a mutable string slice.\n\n# Examples\n\nBasic usage:\n\n```\n// \"Hello, Rust!\" as a mutable vector\nlet mut hellorust = vec![72, 101, 108, 108, 111, 44, 32, 82, 117, 115, 116, 33];\n\n// As we know these bytes are valid, we can use `unwrap()`\nlet outstr = str::from_utf8_mut(&mut hellorust).unwrap();\n\nassert_eq!(\"Hello, Rust!\", outstr);\n```\n\nIncorrect bytes:\n\n```\n// Some invalid bytes in a mutable vector\nlet mut invalid = vec![128, 223];\n\nassert!(str::from_utf8_mut(&mut invalid).is_err());\n```\nSee the docs for [`Utf8Error`] for more details on the kinds of\nerrors that can be returned.", - "id": 9454, + "docs": null, + "id": 9046, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "v", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - }, - { - "type": { - "resolved_path": { - "args": null, - "id": 2186, - "path": "Utf8Error" - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } - } - } + "module": { + "is_crate": false, + "is_stripped": true, + "items": [ + 9047 + ] } }, - "links": { - "`Utf8Error`": 2186 - }, - "name": "from_utf8_mut", + "links": {}, + "name": "socket", "span": { "begin": [ - 272, - 5 + 1, + 1 ], "end": [ - 272, - 76 + 891, + 2 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/net/connection/socket/mod.rs" }, - "visibility": "public" - }, - "9456": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"str_inherent_from_utf8_unchecked\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\"}}]" - }, - { - "must_use": { - "reason": null - } + "visibility": { + "restricted": { + "parent": 9048, + "path": "::sys::net::connection" } - ], - "crate_id": 1, + } + }, + "9047": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Converts a slice of bytes to a string slice without checking\nthat the string contains valid UTF-8.\n\nSee the safe version, [`from_utf8`], for more information.\n\n# Safety\n\nThe bytes passed in must be valid UTF-8.\n\n# Examples\n\nBasic usage:\n\n```\n// some bytes, in a vector\nlet sparkle_heart = vec![240, 159, 146, 150];\n\nlet sparkle_heart = unsafe {\n str::from_utf8_unchecked(&sparkle_heart)\n};\n\nassert_eq!(\"💖\", sparkle_heart);\n```", - "id": 9456, + "docs": null, + "id": 9047, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "v", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } + "use": { + "id": 9045, + "is_glob": true, + "name": "unix", + "source": "unix" } }, - "links": { - "`from_utf8`": 9455 - }, - "name": "from_utf8_unchecked", + "links": {}, + "name": null, "span": { "begin": [ - 304, - 5 + 27, + 9 ], "end": [ - 304, - 62 + 27, + 25 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/net/connection/socket/mod.rs" }, "visibility": "public" }, - "9457": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"str_inherent_from_utf8_unchecked_mut\"]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "9048": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Converts a slice of bytes to a string slice without checking\nthat the string contains valid UTF-8; mutable version.\n\nSee the immutable version, [`from_utf8_unchecked()`] for documentation and safety requirements.\n\n# Examples\n\nBasic usage:\n\n```\nlet mut heart = vec![240, 159, 146, 150];\nlet heart = unsafe { str::from_utf8_unchecked_mut(&mut heart) };\n\nassert_eq!(\"💖\", heart);\n```", - "id": 9457, + "docs": "This module contains the implementations of `TcpStream`, `TcpListener` and\n`UdpSocket` as well as related functionality like DNS resolving.", + "id": 9048, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "v", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } + "module": { + "is_crate": false, + "is_stripped": true, + "items": [ + 9049 + ] } }, - "links": { - "`from_utf8_unchecked()`": 9452 - }, - "name": "from_utf8_unchecked_mut", + "links": {}, + "name": "connection", "span": { "begin": [ - 329, - 5 + 1, + 1 ], "end": [ - 329, - 74 + 61, + 2 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/net/connection/mod.rs" }, - "visibility": "public" - }, - "9458": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"const_is_char_boundary\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"is_char_boundary\"}}]" - }, - { - "must_use": { - "reason": null - } + "visibility": { + "restricted": { + "parent": 9050, + "path": "::sys::net" } - ], - "crate_id": 1, + } + }, + "9049": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Checks that `index`-th byte is the first byte in a UTF-8 code point\nsequence or the end of the string.\n\nThe start and end of the string (when `index == self.len()`) are\nconsidered to be boundaries.\n\nReturns `false` if `index` is greater than `self.len()`.\n\n# Examples\n\n```\nlet s = \"Löwe 老虎 Léopard\";\nassert!(s.is_char_boundary(0));\n// start of `老`\nassert!(s.is_char_boundary(6));\nassert!(s.is_char_boundary(s.len()));\n\n// second byte of `ö`\nassert!(!s.is_char_boundary(2));\n\n// third byte of `老`\nassert!(!s.is_char_boundary(8));\n```", - "id": 9458, + "docs": null, + "id": 9049, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "index", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 9046, + "is_glob": true, + "name": "socket", + "source": "socket" } }, "links": {}, - "name": "is_char_boundary", + "name": null, "span": { "begin": [ - 361, - 5 + 10, + 9 ], "end": [ - 361, - 63 + 10, + 27 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/net/connection/mod.rs" }, "visibility": "public" }, - "9459": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93743, is_soft: false}, feature: \"round_char_boundary\"}}]" - } - ], - "crate_id": 1, + "905": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Finds the closest `x` not exceeding `index` where [`is_char_boundary(x)`] is `true`.\n\nThis method can help you truncate a string so that it's still valid UTF-8, but doesn't\nexceed a given number of bytes. Note that this is done purely at the character level\nand can still visually split graphemes, even though the underlying characters aren't\nsplit. For example, the emoji 🧑‍🔬 (scientist) could be split so that the string only\nincludes 🧑 (person) instead.\n\n[`is_char_boundary(x)`]: Self::is_char_boundary\n\n# Examples\n\n```\n#![feature(round_char_boundary)]\nlet s = \"❤️🧡💛💚💙💜\";\nassert_eq!(s.len(), 26);\nassert!(!s.is_char_boundary(13));\n\nlet closest = s.floor_char_boundary(13);\nassert_eq!(closest, 10);\nassert_eq!(&s[..closest], \"❤️🧡\");\n```", - "id": 9459, + "docs": null, + "id": 905, "inner": { "function": { "generics": { @@ -758572,7 +776807,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -758590,54 +776825,193 @@ } ], [ - "index", + "f", { - "primitive": "usize" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "resolved_path": { + "args": null, + "id": 342, + "path": "fmt::Result" + } } } } }, - "links": { - "Self::is_char_boundary": 9458 - }, - "name": "floor_char_boundary", + "links": {}, + "name": "fmt", "span": { "begin": [ - 410, + 2011, 5 ], "end": [ - 410, - 67 + 2013, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "9052": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9052, + "inner": { + "use": { + "id": 9053, + "is_glob": false, + "name": "hostname", + "source": "unix::hostname" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 4, + 9 + ], + "end": [ + 4, + 32 + ], + "filename": "std/src/sys/net/hostname/mod.rs" }, "visibility": "public" }, - "946": { + "9055": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 946, + "id": 9055, + "inner": { + "use": { + "id": 9053, + "is_glob": false, + "name": "hostname", + "source": "hostname::hostname" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 7, + 1 + ], + "end": [ + 7, + 28 + ], + "filename": "std/src/sys/net/mod.rs" + }, + "visibility": "public" + }, + "9056": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9056, + "inner": { + "use": { + "id": 9048, + "is_glob": true, + "name": "connection", + "source": "connection" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 4, + 1 + ], + "end": [ + 4, + 23 + ], + "filename": "std/src/sys/net/mod.rs" + }, + "visibility": "public" + }, + "9058": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9058, + "inner": { + "use": { + "id": 9059, + "is_glob": false, + "name": "Buf", + "source": "bytes::Buf" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 14, + 25 + ], + "end": [ + 14, + 28 + ], + "filename": "std/src/sys/os_str/mod.rs" + }, + "visibility": "public" + }, + "906": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 906, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" + "lifetime": "'_" }, { "type": { @@ -758653,8 +777027,8 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 758, + "path": "IterMut" } }, "generics": { @@ -758667,7 +777041,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" }, { "kind": { @@ -758677,7 +777051,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "V" } ], "where_predicates": [ @@ -758689,27 +777063,37 @@ "generic_params": [], "modifier": "none", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 344, + "path": "fmt::Debug" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "fmt::Debug" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" } } } @@ -758719,24 +777103,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 905 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 344, + "path": "Debug" } } }, @@ -758744,1837 +777117,711 @@ "name": null, "span": { "begin": [ - 773, + 2006, 1 ], "end": [ - 775, - 24 + 2014, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9460": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 93743, is_soft: false}, feature: \"round_char_boundary\"}}]" - } - ], - "crate_id": 1, + "9060": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Finds the closest `x` not below `index` where [`is_char_boundary(x)`] is `true`.\n\nIf `index` is greater than the length of the string, this returns the length of the string.\n\nThis method is the natural complement to [`floor_char_boundary`]. See that method\nfor more details.\n\n[`floor_char_boundary`]: str::floor_char_boundary\n[`is_char_boundary(x)`]: Self::is_char_boundary\n\n# Examples\n\n```\n#![feature(round_char_boundary)]\nlet s = \"❤️🧡💛💚💙💜\";\nassert_eq!(s.len(), 26);\nassert!(!s.is_char_boundary(13));\n\nlet closest = s.ceil_char_boundary(13);\nassert_eq!(closest, 14);\nassert_eq!(&s[..closest], \"❤️🧡💛\");\n```", - "id": 9460, + "docs": null, + "id": 9060, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "index", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "usize" - } - } + "use": { + "id": 9061, + "is_glob": false, + "name": "Slice", + "source": "bytes::Slice" } }, - "links": { - "Self::is_char_boundary": 9458, - "str::floor_char_boundary": 9459 - }, - "name": "ceil_char_boundary", + "links": {}, + "name": null, "span": { "begin": [ - 453, - 5 + 14, + 30 ], "end": [ - 453, - 66 + 14, + 35 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/os_str/mod.rs" }, "visibility": "public" }, - "9461": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 39, patch: 0})}, feature: \"str_as_bytes\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "9063": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Converts a string slice to a byte slice. To convert the byte slice back\ninto a string slice, use the [`from_utf8`] function.\n\n# Examples\n\n```\nlet bytes = \"bors\".as_bytes();\nassert_eq!(b\"bors\", bytes);\n```", - "id": 9461, + "docs": null, + "id": 9063, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - } + "module": { + "is_crate": false, + "is_stripped": true, + "items": [] } }, - "links": { - "`from_utf8`": 9455 - }, - "name": "as_bytes", + "links": {}, + "name": "unix", "span": { "begin": [ - 486, - 5 + 1, + 1 ], "end": [ - 486, - 42 + 70, + 2 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/path/unix.rs" }, - "visibility": "public" - }, - "9462": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_str_as_mut\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_mut_extras\"}}]" - }, - { - "must_use": { - "reason": null - } + "visibility": { + "restricted": { + "parent": 9064, + "path": "::sys::path" } - ], - "crate_id": 1, + } + }, + "9065": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Converts a mutable string slice to a mutable byte slice.\n\n# Safety\n\nThe caller must ensure that the content of the slice is valid UTF-8\nbefore the borrow ends and the underlying `str` is used.\n\nUse of a `str` whose contents are not valid UTF-8 is undefined behavior.\n\n# Examples\n\nBasic usage:\n\n```\nlet mut s = String::from(\"Hello\");\nlet bytes = unsafe { s.as_bytes_mut() };\n\nassert_eq!(b\"Hello\", bytes);\n```\n\nMutability:\n\n```\nlet mut s = String::from(\"🗻∈🌏\");\n\nunsafe {\n let bytes = s.as_bytes_mut();\n\n bytes[0] = 0xF0;\n bytes[1] = 0x9F;\n bytes[2] = 0x8D;\n bytes[3] = 0x94;\n}\n\nassert_eq!(\"🍔∈🌏\", s);\n```", - "id": 9462, + "docs": null, + "id": 9065, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "slice": { - "primitive": "u8" - } - } - } - } - } + "use": { + "id": 9063, + "is_glob": true, + "name": "unix", + "source": "unix" } }, "links": {}, - "name": "as_bytes_mut", + "name": null, "span": { "begin": [ - 531, - 5 + 26, + 9 ], "end": [ - 531, - 61 + 26, + 25 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/path/mod.rs" }, "visibility": "public" }, - "9463": { - "attrs": [ - { - "other": "#[rustc_never_returns_null_ptr]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_str_as_mut\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"str_as_mut_ptr\"}}]" - }, - { - "must_use": { - "reason": null - } - }, - { - "other": "#[attr = AsPtr]" - } - ], - "crate_id": 1, + "9068": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Converts a mutable string slice to a raw pointer.\n\nAs string slices are a slice of bytes, the raw pointer points to a\n[`u8`]. This pointer will be pointing to the first byte of the string\nslice.\n\nIt is your responsibility to make sure that the string slice only gets\nmodified in a way that it remains valid UTF-8.", - "id": 9463, + "docs": null, + "id": 9068, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "raw_pointer": { - "is_mutable": true, - "type": { - "primitive": "u8" - } - } - } - } + "use": { + "id": 9069, + "is_glob": false, + "name": "CStringArray", + "source": "self::cstring_array::CStringArray" } }, - "links": { - "`u8`": 2398 - }, - "name": "as_mut_ptr", + "links": {}, + "name": null, "span": { "begin": [ - 580, - 5 + 6, + 1 ], "end": [ - 580, - 50 + 6, + 43 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/unix/common.rs" }, "visibility": "public" }, - "9464": { + "9070": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143775, is_soft: false}, feature: \"const_index\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_checked_slicing\"}}]" + "other": "#[allow(unused_imports)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a subslice of `str`.\n\nThis is the non-panicking alternative to indexing the `str`. Returns\n[`None`] whenever equivalent indexing operation would panic.\n\n# Examples\n\n```\nlet v = String::from(\"🗻∈🌏\");\n\nassert_eq!(Some(\"🗻\"), v.get(0..4));\n\n// indices not on UTF-8 sequence boundaries\nassert!(v.get(1..).is_none());\nassert!(v.get(..8).is_none());\n\n// out of bounds\nassert!(v.get(..42).is_none());\n```", - "id": 9464, + "docs": null, + "id": 9070, "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "I" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "str" - } - } - ], - "constraints": [] - } - }, - "id": 9465, - "path": "SliceIndex" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "I" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "i", - { - "generic": "I" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "qualified_path": { - "args": null, - "name": "Output", - "self_type": { - "generic": "I" - }, - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "str" - } - } - ], - "constraints": [] - } - }, - "id": 9465, - "path": "SliceIndex" - } - } - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "use": { + "id": 9071, + "is_glob": false, + "name": "sigemptyset", + "source": "libc::sigemptyset" } }, - "links": { - "`None`": 53 - }, - "name": "get", + "links": {}, + "name": null, "span": { "begin": [ - 606, - 5 + 78, + 24 ], "end": [ - 606, - 84 + 78, + 35 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/unix/common.rs" }, "visibility": "public" }, - "9466": { + "9072": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143775, is_soft: false}, feature: \"const_index\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_checked_slicing\"}}]" + "other": "#[allow(unused_imports)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a mutable subslice of `str`.\n\nThis is the non-panicking alternative to indexing the `str`. Returns\n[`None`] whenever equivalent indexing operation would panic.\n\n# Examples\n\n```\nlet mut v = String::from(\"hello\");\n// correct length\nassert!(v.get_mut(0..5).is_some());\n// out of bounds\nassert!(v.get_mut(..42).is_none());\nassert_eq!(Some(\"he\"), v.get_mut(0..2).map(|v| &*v));\n\nassert_eq!(\"hello\", v);\n{\n let s = v.get_mut(0..2);\n let s = s.map(|s| {\n s.make_ascii_uppercase();\n &*s\n });\n assert_eq!(Some(\"HE\"), s);\n}\nassert_eq!(\"HEllo\", v);\n```", - "id": 9466, + "docs": null, + "id": 9072, "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "I" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "str" - } - } - ], - "constraints": [] - } - }, - "id": 9465, - "path": "SliceIndex" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "I" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "i", - { - "generic": "I" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "qualified_path": { - "args": null, - "name": "Output", - "self_type": { - "generic": "I" - }, - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "str" - } - } - ], - "constraints": [] - } - }, - "id": 9465, - "path": "SliceIndex" - } - } - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "use": { + "id": 9073, + "is_glob": false, + "name": "sigaddset", + "source": "libc::sigaddset" } }, - "links": { - "`None`": 53 - }, - "name": "get_mut", + "links": {}, + "name": null, "span": { "begin": [ - 639, - 5 + 78, + 37 ], "end": [ - 639, - 96 + 78, + 46 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/unix/common.rs" }, "visibility": "public" }, - "9467": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_checked_slicing\"}}]" - } - ], - "crate_id": 1, + "9077": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an unchecked subslice of `str`.\n\nThis is the unchecked alternative to indexing the `str`.\n\n# Safety\n\nCallers of this function are responsible that these preconditions are\nsatisfied:\n\n* The starting index must not exceed the ending index;\n* Indexes must be within bounds of the original slice;\n* Indexes must lie on UTF-8 sequence boundaries.\n\nFailing that, the returned string slice may reference invalid memory or\nviolate the invariants communicated by the `str` type.\n\n# Examples\n\n```\nlet v = \"🗻∈🌏\";\nunsafe {\n assert_eq!(\"🗻\", v.get_unchecked(0..4));\n assert_eq!(\"∈\", v.get_unchecked(4..7));\n assert_eq!(\"🌏\", v.get_unchecked(7..11));\n}\n```", - "id": 9467, + "docs": null, + "id": 9077, "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "I" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "str" - } - } - ], - "constraints": [] - } - }, - "id": 9465, - "path": "SliceIndex" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "I" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "i", - { - "generic": "I" - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "qualified_path": { - "args": null, - "name": "Output", - "self_type": { - "generic": "I" - }, - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "str" - } - } - ], - "constraints": [] - } - }, - "id": 9465, - "path": "SliceIndex" - } - } - } - } - } - } + "use": { + "id": 9078, + "is_glob": false, + "name": "ExitStatus", + "source": "imp::ExitStatus" } }, "links": {}, - "name": "get_unchecked", + "name": null, "span": { "begin": [ - 671, - 5 + 24, + 15 ], "end": [ - 671, - 79 + 24, + 25 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/unix/mod.rs" }, "visibility": "public" }, - "9468": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_checked_slicing\"}}]" - } - ], - "crate_id": 1, + "9079": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns a mutable, unchecked subslice of `str`.\n\nThis is the unchecked alternative to indexing the `str`.\n\n# Safety\n\nCallers of this function are responsible that these preconditions are\nsatisfied:\n\n* The starting index must not exceed the ending index;\n* Indexes must be within bounds of the original slice;\n* Indexes must lie on UTF-8 sequence boundaries.\n\nFailing that, the returned string slice may reference invalid memory or\nviolate the invariants communicated by the `str` type.\n\n# Examples\n\n```\nlet mut v = String::from(\"🗻∈🌏\");\nunsafe {\n assert_eq!(\"🗻\", v.get_unchecked_mut(0..4));\n assert_eq!(\"∈\", v.get_unchecked_mut(4..7));\n assert_eq!(\"🌏\", v.get_unchecked_mut(7..11));\n}\n```", - "id": 9468, + "docs": null, + "id": 9079, "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "I" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "str" - } - } - ], - "constraints": [] - } - }, - "id": 9465, - "path": "SliceIndex" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "I" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "i", - { - "generic": "I" - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "qualified_path": { - "args": null, - "name": "Output", - "self_type": { - "generic": "I" - }, - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "str" - } - } - ], - "constraints": [] - } - }, - "id": 9465, - "path": "SliceIndex" - } - } - } - } - } - } + "use": { + "id": 9080, + "is_glob": false, + "name": "ExitStatusError", + "source": "imp::ExitStatusError" } }, "links": {}, - "name": "get_unchecked_mut", + "name": null, "span": { "begin": [ - 706, - 5 + 24, + 27 ], "end": [ - 706, - 91 + 24, + 42 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/unix/mod.rs" }, "visibility": "public" }, - "9469": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"str_slice_mut\"}}]" - } - ], - "crate_id": 1, - "deprecation": { - "note": "use `get_unchecked_mut(begin..end)` instead", - "since": "1.29.0" - }, - "docs": "Creates a string slice from another string slice, bypassing safety\nchecks.\n\nThis is generally not recommended, use with caution! For a safe\nalternative see [`str`] and [`IndexMut`].\n\n[`IndexMut`]: crate::ops::IndexMut\n\nThis new slice goes from `begin` to `end`, including `begin` but\nexcluding `end`.\n\nTo get an immutable string slice instead, see the\n[`slice_unchecked`] method.\n\n[`slice_unchecked`]: str::slice_unchecked\n\n# Safety\n\nCallers of this function are responsible that three preconditions are\nsatisfied:\n\n* `begin` must not exceed `end`.\n* `begin` and `end` must be byte positions within the string slice.\n* `begin` and `end` must lie on UTF-8 sequence boundaries.", - "id": 9469, + "9081": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9081, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "begin", - { - "primitive": "usize" - } - ], - [ - "end", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } + "use": { + "id": 9082, + "is_glob": false, + "name": "Process", + "source": "imp::Process" } }, - "links": { - "`str`": 1928, - "crate::ops::IndexMut": 1983, - "str::slice_unchecked": 9470 - }, - "name": "slice_mut_unchecked", + "links": {}, + "name": null, "span": { "begin": [ - 791, - 5 + 24, + 44 ], "end": [ - 791, - 87 + 24, + 51 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/unix/mod.rs" }, "visibility": "public" }, - "947": { + "9083": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 947, + "id": 9083, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 746, - "path": "Keys" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } + "use": { + "id": 9084, + "is_glob": false, + "name": "Command", + "source": "self::common::Command" } }, "links": {}, "name": null, "span": { "begin": [ - 791, - 1 + 26, + 24 ], "end": [ - 791, - 28 + 26, + 31 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sys/process/unix/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9470": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": { - "note": "use `get_unchecked(begin..end)` instead", - "since": "1.29.0" - }, - "docs": "Creates a string slice from another string slice, bypassing safety\nchecks.\n\nThis is generally not recommended, use with caution! For a safe\nalternative see [`str`] and [`Index`].\n\n[`Index`]: crate::ops::Index\n\nThis new slice goes from `begin` to `end`, including `begin` but\nexcluding `end`.\n\nTo get a mutable string slice instead, see the\n[`slice_mut_unchecked`] method.\n\n[`slice_mut_unchecked`]: str::slice_mut_unchecked\n\n# Safety\n\nCallers of this function are responsible that three preconditions are\nsatisfied:\n\n* `begin` must not exceed `end`.\n* `begin` and `end` must be byte positions within the string slice.\n* `begin` and `end` must lie on UTF-8 sequence boundaries.\n\n# Examples\n\n```\nlet s = \"Löwe 老虎 Léopard\";\n\nunsafe {\n assert_eq!(\"Löwe 老虎 Léopard\", s.slice_unchecked(0, 21));\n}\n\nlet s = \"Hello, world!\";\n\nunsafe {\n assert_eq!(\"world\", s.slice_unchecked(7, 12));\n}\n```", - "id": 9470, + "9085": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9085, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": true - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "begin", - { - "primitive": "usize" - } - ], - [ - "end", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } + "use": { + "id": 9086, + "is_glob": false, + "name": "CommandArgs", + "source": "self::common::CommandArgs" } }, - "links": { - "`str`": 1928, - "crate::ops::Index": 816, - "str::slice_mut_unchecked": 9469 - }, - "name": "slice_unchecked", + "links": {}, + "name": null, "span": { "begin": [ - 757, - 5 + 26, + 33 ], "end": [ - 757, - 75 + 26, + 44 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/unix/mod.rs" }, "visibility": "public" }, - "9471": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"const_str_split_at\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"str_split_at\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "9087": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Divides one mutable string slice into two at an index.\n\nThe argument, `mid`, should be a byte offset from the start of the\nstring. It must also be on the boundary of a UTF-8 code point.\n\nThe two slices returned go from the start of the string slice to `mid`,\nand from `mid` to the end of the string slice.\n\nTo get immutable string slices instead, see the [`split_at`] method.\n\n[`split_at`]: str::split_at\n\n# Panics\n\nPanics if `mid` is not on a UTF-8 code point boundary, or if it is past\nthe end of the last code point of the string slice. For a non-panicking\nalternative see [`split_at_mut_checked`](str::split_at_mut_checked).\n\n# Examples\n\n```\nlet mut s = \"Per Martin-Löf\".to_string();\n{\n let (first, last) = s.split_at_mut(3);\n first.make_ascii_uppercase();\n assert_eq!(\"PER\", first);\n assert_eq!(\" Martin-Löf\", last);\n}\nassert_eq!(\"PER Martin-Löf\", s);\n```", - "id": 9471, + "docs": null, + "id": 9087, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "mid", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "primitive": "str" - } - } - }, - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - ] - } - } + "use": { + "id": 9088, + "is_glob": false, + "name": "ExitCode", + "source": "self::common::ExitCode" } }, - "links": { - "str::split_at": 9473, - "str::split_at_mut_checked": 9474 - }, - "name": "split_at_mut", + "links": {}, + "name": null, "span": { "begin": [ - 872, - 5 + 26, + 46 ], "end": [ - 872, - 77 + 26, + 54 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/unix/mod.rs" }, "visibility": "public" }, - "9472": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"const_str_split_at\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"split_at_checked\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "9089": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Divides one string slice into two at an index.\n\nThe argument, `mid`, should be a valid byte offset from the start of the\nstring. It must also be on the boundary of a UTF-8 code point. The\nmethod returns `None` if that’s not the case.\n\nThe two slices returned go from the start of the string slice to `mid`,\nand from `mid` to the end of the string slice.\n\nTo get mutable string slices instead, see the [`split_at_mut_checked`]\nmethod.\n\n[`split_at_mut_checked`]: str::split_at_mut_checked\n\n# Examples\n\n```\nlet s = \"Per Martin-Löf\";\n\nlet (first, last) = s.split_at_checked(3).unwrap();\nassert_eq!(\"Per\", first);\nassert_eq!(\" Martin-Löf\", last);\n\nassert_eq!(None, s.split_at_checked(13)); // Inside “ö”\nassert_eq!(None, s.split_at_checked(16)); // Beyond the string length\n```", - "id": 9472, + "docs": null, + "id": 9089, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "mid", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - }, - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - ] - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "use": { + "id": 9090, + "is_glob": false, + "name": "Stdio", + "source": "self::common::Stdio" } }, - "links": { - "str::split_at_mut_checked": 9474 - }, - "name": "split_at_checked", + "links": {}, + "name": null, "span": { "begin": [ - 912, - 5 + 26, + 56 ], "end": [ - 912, - 77 + 26, + 61 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/unix/mod.rs" }, "visibility": "public" }, - "9473": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"const_str_split_at\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"str_split_at\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "909": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Divides one string slice into two at an index.\n\nThe argument, `mid`, should be a byte offset from the start of the\nstring. It must also be on the boundary of a UTF-8 code point.\n\nThe two slices returned go from the start of the string slice to `mid`,\nand from `mid` to the end of the string slice.\n\nTo get mutable string slices instead, see the [`split_at_mut`]\nmethod.\n\n[`split_at_mut`]: str::split_at_mut\n\n# Panics\n\nPanics if `mid` is not on a UTF-8 code point boundary, or if it is past\nthe end of the last code point of the string slice. For a non-panicking\nalternative see [`split_at_checked`](str::split_at_checked).\n\n# Examples\n\n```\nlet s = \"Per Martin-Löf\";\n\nlet (first, last) = s.split_at(3);\n\nassert_eq!(\"Per\", first);\nassert_eq!(\" Martin-Löf\", last);\n```", - "id": 9473, + "docs": null, + "id": 909, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } } - } - } - ], - [ - "mid", - { - "primitive": "usize" + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } + }, + "id": 829, + "path": "IntoIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } - } - ] - } - } - } - }, - "links": { - "str::split_at_checked": 9472, - "str::split_at_mut": 9471 - }, - "name": "split_at", - "span": { - "begin": [ - 831, - 5 - ], - "end": [ - 831, - 61 - ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" - }, - "visibility": "public" - }, - "9474": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"const_str_split_at\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"split_at_checked\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Divides one mutable string slice into two at an index.\n\nThe argument, `mid`, should be a valid byte offset from the start of the\nstring. It must also be on the boundary of a UTF-8 code point. The\nmethod returns `None` if that’s not the case.\n\nThe two slices returned go from the start of the string slice to `mid`,\nand from `mid` to the end of the string slice.\n\nTo get immutable string slices instead, see the [`split_at_checked`] method.\n\n[`split_at_checked`]: str::split_at_checked\n\n# Examples\n\n```\nlet mut s = \"Per Martin-Löf\".to_string();\nif let Some((first, last)) = s.split_at_mut_checked(3) {\n first.make_ascii_uppercase();\n assert_eq!(\"PER\", first);\n assert_eq!(\" Martin-Löf\", last);\n}\nassert_eq!(\"PER Martin-Löf\", s);\n\nassert_eq!(None, s.split_at_mut_checked(13)); // Inside “ö”\nassert_eq!(None, s.split_at_mut_checked(16)); // Beyond the string length\n```", - "id": 9474, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" + }, + "name": "V" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } } + ], + "generic_params": [], + "type": { + "generic": "K" } } - ], - [ - "mid", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "primitive": "str" - } - } - }, - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - ] + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" } } - ], - "constraints": [] + } + ], + "generic_params": [], + "type": { + "generic": "V" } - }, - "id": 51, - "path": "Option" + } } - } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, - "links": { - "str::split_at_checked": 9472 + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9091": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9091, + "inner": { + "use": { + "id": 1708, + "is_glob": false, + "name": "EnvKey", + "source": "crate::ffi::OsString" + } }, - "name": "split_at_mut_checked", + "links": {}, + "name": null, "span": { "begin": [ - 953, - 5 + 27, + 1 ], "end": [ - 953, - 93 + 27, + 40 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/unix/mod.rs" }, "visibility": "public" }, - "9475": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"str_chars\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, + "9094": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over the [`char`]s of a string slice.\n\nAs a string slice consists of valid UTF-8, we can iterate through a\nstring slice by [`char`]. This method returns such an iterator.\n\nIt's important to remember that [`char`] represents a Unicode Scalar\nValue, and might not match your idea of what a 'character' is. Iteration\nover grapheme clusters may be what you actually want. This functionality\nis not provided by Rust's standard library, check crates.io instead.\n\n# Examples\n\nBasic usage:\n\n```\nlet word = \"goodbye\";\n\nlet count = word.chars().count();\nassert_eq!(7, count);\n\nlet mut chars = word.chars();\n\nassert_eq!(Some('g'), chars.next());\nassert_eq!(Some('o'), chars.next());\nassert_eq!(Some('o'), chars.next());\nassert_eq!(Some('d'), chars.next());\nassert_eq!(Some('b'), chars.next());\nassert_eq!(Some('y'), chars.next());\nassert_eq!(Some('e'), chars.next());\n\nassert_eq!(None, chars.next());\n```\n\nRemember, [`char`]s might not match your intuition about characters:\n\n[`char`]: prim@char\n\n```\nlet y = \"y̆\";\n\nlet mut chars = y.chars();\n\nassert_eq!(Some('y'), chars.next()); // not 'y̆'\nassert_eq!(Some('\\u{0306}'), chars.next());\n\nassert_eq!(None, chars.next());\n```", - "id": 9475, + "docs": null, + "id": 9094, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 9476, - "path": "Chars" - } - } - } + "use": { + "id": 9095, + "is_glob": false, + "name": "CommandEnvs", + "source": "env::CommandEnvs" } }, - "links": { - "prim@char": 2397 - }, - "name": "chars", + "links": {}, + "name": null, "span": { "begin": [ - 1050, - 5 + 29, + 1 ], "end": [ - 1050, - 37 + 29, + 26 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/mod.rs" }, "visibility": "public" - }, - "9477": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns an iterator over the [`char`]s of a string slice, and their\npositions.\n\nAs a string slice consists of valid UTF-8, we can iterate through a\nstring slice by [`char`]. This method returns an iterator of both\nthese [`char`]s, as well as their byte positions.\n\nThe iterator yields tuples. The position is first, the [`char`] is\nsecond.\n\n# Examples\n\nBasic usage:\n\n```\nlet word = \"goodbye\";\n\nlet count = word.char_indices().count();\nassert_eq!(7, count);\n\nlet mut char_indices = word.char_indices();\n\nassert_eq!(Some((0, 'g')), char_indices.next());\nassert_eq!(Some((1, 'o')), char_indices.next());\nassert_eq!(Some((2, 'o')), char_indices.next());\nassert_eq!(Some((3, 'd')), char_indices.next());\nassert_eq!(Some((4, 'b')), char_indices.next());\nassert_eq!(Some((5, 'y')), char_indices.next());\nassert_eq!(Some((6, 'e')), char_indices.next());\n\nassert_eq!(None, char_indices.next());\n```\n\nRemember, [`char`]s might not match your intuition about characters:\n\n[`char`]: prim@char\n\n```\nlet yes = \"y̆es\";\n\nlet mut char_indices = yes.char_indices();\n\nassert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')\nassert_eq!(Some((1, '\\u{0306}')), char_indices.next());\n\n// note the 3 here - the previous character took up two bytes\nassert_eq!(Some((3, 'e')), char_indices.next());\nassert_eq!(Some((4, 's')), char_indices.next());\n\nassert_eq!(None, char_indices.next());\n```", - "id": 9477, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 9478, - "path": "CharIndices" - } - } - } + }, + "9096": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9096, + "inner": { + "use": { + "id": 9084, + "is_glob": false, + "name": "Command", + "source": "imp::Command" } }, - "links": { - "prim@char": 2397 - }, - "name": "char_indices", + "links": {}, + "name": null, "span": { "begin": [ - 1107, + 31, 5 ], "end": [ - 1107, - 50 + 31, + 12 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/mod.rs" }, "visibility": "public" }, - "9479": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "9097": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9097, + "inner": { + "use": { + "id": 9086, + "is_glob": false, + "name": "CommandArgs", + "source": "imp::CommandArgs" } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 31, + 14 + ], + "end": [ + 31, + 25 + ], + "filename": "std/src/sys/process/mod.rs" + }, + "visibility": "public" + }, + "9098": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over the bytes of a string slice.\n\nAs a string slice consists of a sequence of bytes, we can iterate\nthrough a string slice by byte. This method returns such an iterator.\n\n# Examples\n\n```\nlet mut bytes = \"bors\".bytes();\n\nassert_eq!(Some(b'b'), bytes.next());\nassert_eq!(Some(b'o'), bytes.next());\nassert_eq!(Some(b'r'), bytes.next());\nassert_eq!(Some(b's'), bytes.next());\n\nassert_eq!(None, bytes.next());\n```", - "id": 9479, + "docs": null, + "id": 9098, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 9480, - "path": "Bytes" - } - } - } + "use": { + "id": 1708, + "is_glob": false, + "name": "EnvKey", + "source": "imp::EnvKey" } }, "links": {}, - "name": "bytes", + "name": null, "span": { "begin": [ - 1130, - 5 + 31, + 27 ], "end": [ - 1130, - 37 + 31, + 33 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/mod.rs" }, "visibility": "public" }, - "948": { + "9099": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 948, + "id": 9099, + "inner": { + "use": { + "id": 9088, + "is_glob": false, + "name": "ExitCode", + "source": "imp::ExitCode" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 31, + 35 + ], + "end": [ + 31, + 43 + ], + "filename": "std/src/sys/process/mod.rs" + }, + "visibility": "public" + }, + "910": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 910, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "K" @@ -760589,8 +777836,8 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 829, + "path": "IntoIter" } }, "generics": { @@ -760603,7 +777850,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" }, { "kind": { @@ -760613,7 +777860,7 @@ "is_synthetic": false } }, - "name": "U" + "name": "V" } ], "where_predicates": [ @@ -760625,483 +777872,247 @@ "generic_params": [], "modifier": "none", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 5, + "path": "Sync" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" } } } ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 331, - 332 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + "args": null, + "id": 5, + "path": "Sync" } } }, "links": {}, "name": null, + "span": null, + "visibility": "default" + }, + "9100": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9100, + "inner": { + "use": { + "id": 9078, + "is_glob": false, + "name": "ExitStatus", + "source": "imp::ExitStatus" + } + }, + "links": {}, + "name": null, "span": { "begin": [ - 817, - 1 + 31, + 45 ], "end": [ - 819, - 27 + 31, + 55 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sys/process/mod.rs" }, - "visibility": "default" + "visibility": "public" }, - "9481": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"split_ascii_whitespace\"}}]" - }, - { - "must_use": { - "reason": "this returns the split string as an iterator, without modifying the original" - } - } - ], - "crate_id": 1, + "9101": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Splits a string slice by ASCII whitespace.\n\nThe iterator returned will return string slices that are sub-slices of\nthe original string slice, separated by any amount of ASCII whitespace.\n\nThis uses the same definition as [`char::is_ascii_whitespace`].\nTo split by Unicode `Whitespace` instead, use [`split_whitespace`].\n\n[`split_whitespace`]: str::split_whitespace\n\n# Examples\n\nBasic usage:\n\n```\nlet mut iter = \"A few words\".split_ascii_whitespace();\n\nassert_eq!(Some(\"A\"), iter.next());\nassert_eq!(Some(\"few\"), iter.next());\nassert_eq!(Some(\"words\"), iter.next());\n\nassert_eq!(None, iter.next());\n```\n\nVarious kinds of ASCII whitespace are considered\n(see [`char::is_ascii_whitespace`]):\n\n```\nlet mut iter = \" Mary had\\ta little \\n\\t lamb\".split_ascii_whitespace();\nassert_eq!(Some(\"Mary\"), iter.next());\nassert_eq!(Some(\"had\"), iter.next());\nassert_eq!(Some(\"a\"), iter.next());\nassert_eq!(Some(\"little\"), iter.next());\nassert_eq!(Some(\"lamb\"), iter.next());\n\nassert_eq!(None, iter.next());\n```\n\nIf the string is empty or all ASCII whitespace, the iterator yields no string slices:\n```\nassert_eq!(\"\".split_ascii_whitespace().next(), None);\nassert_eq!(\" \".split_ascii_whitespace().next(), None);\n```", - "id": 9481, + "docs": null, + "id": 9101, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 9484, - "path": "SplitAsciiWhitespace" - } - } - } + "use": { + "id": 9080, + "is_glob": false, + "name": "ExitStatusError", + "source": "imp::ExitStatusError" } }, - "links": { - "`char::is_ascii_whitespace`": 9432, - "str::split_whitespace": 9482 - }, - "name": "split_ascii_whitespace", + "links": {}, + "name": null, "span": { "begin": [ - 1233, - 5 + 31, + 57 ], "end": [ - 1233, - 69 + 31, + 72 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/mod.rs" }, "visibility": "public" }, - "9482": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"str_split_whitespace\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"split_whitespace\"}}]" - }, - { - "must_use": { - "reason": "this returns the split string as an iterator, without modifying the original" - } - } - ], - "crate_id": 1, + "9102": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Splits a string slice by whitespace.\n\nThe iterator returned will return string slices that are sub-slices of\nthe original string slice, separated by any amount of whitespace.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`. If you only want to split on ASCII whitespace\ninstead, use [`split_ascii_whitespace`].\n\n[`split_ascii_whitespace`]: str::split_ascii_whitespace\n\n# Examples\n\nBasic usage:\n\n```\nlet mut iter = \"A few words\".split_whitespace();\n\nassert_eq!(Some(\"A\"), iter.next());\nassert_eq!(Some(\"few\"), iter.next());\nassert_eq!(Some(\"words\"), iter.next());\n\nassert_eq!(None, iter.next());\n```\n\nAll kinds of whitespace are considered:\n\n```\nlet mut iter = \" Mary had\\ta\\u{2009}little \\n\\t lamb\".split_whitespace();\nassert_eq!(Some(\"Mary\"), iter.next());\nassert_eq!(Some(\"had\"), iter.next());\nassert_eq!(Some(\"a\"), iter.next());\nassert_eq!(Some(\"little\"), iter.next());\nassert_eq!(Some(\"lamb\"), iter.next());\n\nassert_eq!(None, iter.next());\n```\n\nIf the string is empty or all whitespace, the iterator yields no string slices:\n```\nassert_eq!(\"\".split_whitespace().next(), None);\nassert_eq!(\" \".split_whitespace().next(), None);\n```", - "id": 9482, + "docs": null, + "id": 9102, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 9483, - "path": "SplitWhitespace" - } - } - } + "use": { + "id": 9082, + "is_glob": false, + "name": "Process", + "source": "imp::Process" } }, - "links": { - "str::split_ascii_whitespace": 9481 - }, - "name": "split_whitespace", + "links": {}, + "name": null, "span": { "begin": [ - 1182, - 5 + 31, + 74 ], "end": [ - 1182, - 58 + 31, + 81 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/mod.rs" }, "visibility": "public" }, - "9485": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, + "9103": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over the lines of a string, as string slices.\n\nLines are split at line endings that are either newlines (`\\n`) or\nsequences of a carriage return followed by a line feed (`\\r\\n`).\n\nLine terminators are not included in the lines returned by the iterator.\n\nNote that any carriage return (`\\r`) not immediately followed by a\nline feed (`\\n`) does not split a line. These carriage returns are\nthereby included in the produced lines.\n\nThe final line ending is optional. A string that ends with a final line\nending will return the same lines as an otherwise identical string\nwithout a final line ending.\n\n# Examples\n\nBasic usage:\n\n```\nlet text = \"foo\\r\\nbar\\n\\nbaz\\r\";\nlet mut lines = text.lines();\n\nassert_eq!(Some(\"foo\"), lines.next());\nassert_eq!(Some(\"bar\"), lines.next());\nassert_eq!(Some(\"\"), lines.next());\n// Trailing carriage return is included in the last line\nassert_eq!(Some(\"baz\\r\"), lines.next());\n\nassert_eq!(None, lines.next());\n```\n\nThe final line does not require any ending:\n\n```\nlet text = \"foo\\nbar\\n\\r\\nbaz\";\nlet mut lines = text.lines();\n\nassert_eq!(Some(\"foo\"), lines.next());\nassert_eq!(Some(\"bar\"), lines.next());\nassert_eq!(Some(\"\"), lines.next());\nassert_eq!(Some(\"baz\"), lines.next());\n\nassert_eq!(None, lines.next());\n```", - "id": 9485, + "docs": null, + "id": 9103, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 9486, - "path": "Lines" - } - } - } + "use": { + "id": 9090, + "is_glob": false, + "name": "Stdio", + "source": "imp::Stdio" } }, "links": {}, - "name": "lines", + "name": null, "span": { "begin": [ - 1286, - 5 + 31, + 83 ], "end": [ - 1286, - 37 + 31, + 88 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/process/mod.rs" }, "visibility": "public" }, - "9487": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, - "deprecation": { - "note": "use lines() instead now", - "since": "1.4.0" - }, - "docs": "Returns an iterator over the lines of a string.", - "id": 9487, + "9106": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9106, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 9488, - "path": "LinesAny" - } - } - } + "use": { + "id": 9107, + "is_glob": false, + "name": "fill_bytes", + "source": "linux::fill_bytes" } }, "links": {}, - "name": "lines_any", + "name": null, "span": { "begin": [ - 1295, - 5 + 5, + 25 ], "end": [ - 1295, - 44 + 5, + 35 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/random/mod.rs" }, "visibility": "public" }, - "9489": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"encode_utf16\"}}]" - }, - { - "must_use": { - "reason": "this returns the encoded string as an iterator, without modifying the original" - } - } - ], - "crate_id": 1, + "9108": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator of `u16` over the string encoded\nas native endian UTF-16 (without byte-order mark).\n\n# Examples\n\n```\nlet text = \"Zażółć gęślą jaźń\";\n\nlet utf8_len = text.len();\nlet utf16_len = text.encode_utf16().count();\n\nassert!(utf16_len <= utf8_len);\n```", - "id": 9489, + "docs": null, + "id": 9108, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 9490, - "path": "EncodeUtf16" - } - } - } + "use": { + "id": 9109, + "is_glob": false, + "name": "hashmap_random_keys", + "source": "linux::hashmap_random_keys" } }, "links": {}, - "name": "encode_utf16", + "name": null, "span": { "begin": [ - 1315, - 5 + 5, + 37 ], "end": [ - 1315, - 50 + 5, + 56 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/random/mod.rs" }, "visibility": "public" }, - "949": { + "911": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 949, + "id": 911, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "K" @@ -761116,8 +778127,8 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 829, + "path": "IntoIter" } }, "generics": { @@ -761130,7 +778141,7 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" }, { "kind": { @@ -761140,97 +778151,180 @@ "is_synthetic": false } }, - "name": "U" + "name": "V" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "U" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 334, - 336 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 313, + "path": "Freeze" } } }, "links": {}, "name": null, + "span": null, + "visibility": "default" + }, + "9111": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9111, + "inner": { + "module": { + "is_crate": false, + "is_stripped": true, + "items": [] + } + }, + "links": {}, + "name": "unix", "span": { "begin": [ - 833, + 1, 1 ], "end": [ - 835, - 24 + 103, + 2 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/sys/stdio/unix.rs" }, - "visibility": "default" + "visibility": { + "restricted": { + "parent": 9112, + "path": "::sys::stdio" + } + } }, - "9492": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "9113": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9113, + "inner": { + "use": { + "id": 9111, + "is_glob": true, + "name": "unix", + "source": "unix" } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 6, + 9 + ], + "end": [ + 6, + 25 + ], + "filename": "std/src/sys/stdio/mod.rs" + }, + "visibility": "public" + }, + "9115": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the given pattern matches a sub-slice of\nthis string slice.\n\nReturns `false` if it does not.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\n```\nlet bananas = \"bananas\";\n\nassert!(bananas.contains(\"nana\"));\nassert!(!bananas.contains(\"apples\"));\n```", - "id": 9492, + "docs": null, + "id": 9115, "inner": { - "function": { + "use": { + "id": 9116, + "is_glob": false, + "name": "Condvar", + "source": "futex::Condvar" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 15, + 9 + ], + "end": [ + 15, + 32 + ], + "filename": "std/src/sys/sync/condvar/mod.rs" + }, + "visibility": "public" + }, + "9119": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9119, + "inner": { + "use": { + "id": 9120, + "is_glob": false, + "name": "Mutex", + "source": "futex::Mutex" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 14, + 9 + ], + "end": [ + 14, + 30 + ], + "filename": "std/src/sys/sync/mutex/mod.rs" + }, + "visibility": "public" + }, + "912": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 912, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { "params": [ { @@ -761241,7 +778335,17 @@ "is_synthetic": false } }, - "name": "P" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" } ], "where_predicates": [ @@ -761254,102 +778358,18 @@ "modifier": "none", "trait": { "args": null, - "id": 9493, - "path": "Pattern" + "id": 7, + "path": "Unpin" } } } ], "generic_params": [], "type": { - "generic": "P" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "generic": "K" } } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": { - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "contains", - "span": { - "begin": [ - 1340, - 5 - ], - "end": [ - 1340, - 55 - ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" - }, - "visibility": "public" - }, - "9494": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"str_starts_with\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns `true` if the given pattern matches a prefix of this\nstring slice.\n\nReturns `false` if it does not.\n\nThe [pattern] can be a `&str`, in which case this function will return true if\nthe `&str` is a prefix of this string slice.\n\nThe [pattern] can also be a [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\nThese will only be checked against the first character of this string slice.\nLook at the second example below regarding behavior for slices of [`char`]s.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\n```\nlet bananas = \"bananas\";\n\nassert!(bananas.starts_with(\"bana\"));\nassert!(!bananas.starts_with(\"nana\"));\n```\n\n```\nlet bananas = \"bananas\";\n\n// Note that both of these assert successfully.\nassert!(bananas.starts_with(&['b', 'a', 'n', 'a']));\nassert!(bananas.starts_with(&['a', 'b', 'c', 'd']));\n```", - "id": 9494, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ + }, { "bound_predicate": { "bounds": [ @@ -761359,88 +778379,127 @@ "modifier": "none", "trait": { "args": null, - "id": 9493, - "path": "Pattern" + "id": 7, + "path": "Unpin" } } } ], "generic_params": [], "type": { - "generic": "P" + "generic": "V" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" } } }, - "links": { - "prim@char": 2397, - "self::pattern": 9491 + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9123": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9123, + "inner": { + "use": { + "id": 9124, + "is_glob": false, + "name": "Once", + "source": "futex::Once" + } }, - "name": "starts_with", + "links": {}, + "name": null, "span": { "begin": [ - 1378, - 5 + 24, + 25 ], "end": [ - 1378, - 58 + 24, + 29 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/sync/once/mod.rs" }, "visibility": "public" }, - "9495": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"str_ends_with\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "9125": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9125, + "inner": { + "use": { + "id": 9126, + "is_glob": false, + "name": "OnceState", + "source": "futex::OnceState" } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 24, + 31 + ], + "end": [ + 24, + 40 + ], + "filename": "std/src/sys/sync/once/mod.rs" + }, + "visibility": "public" + }, + "913": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the given pattern matches a suffix of this\nstring slice.\n\nReturns `false` if it does not.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\n```\nlet bananas = \"bananas\";\n\nassert!(bananas.ends_with(\"anas\"));\nassert!(!bananas.ends_with(\"nana\"));\n```", - "id": 9495, + "docs": null, + "id": 913, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { "params": [ { @@ -761451,7 +778510,17 @@ "is_synthetic": false } }, - "name": "P" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" } ], "where_predicates": [ @@ -761464,15 +778533,26 @@ "modifier": "none", "trait": { "args": null, - "id": 9493, - "path": "Pattern" + "id": 316, + "path": "UnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } } ], "generic_params": [], "type": { - "generic": "P" + "generic": "K" } } }, @@ -761481,245 +778561,229 @@ "bounds": [ { "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "generic_params": [], "modifier": "none", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } } ], "generic_params": [], "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } + "generic": "V" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, - "links": { - "prim@char": 2397, - "self::pattern": 9491 + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9130": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9130, + "inner": { + "use": { + "id": 9131, + "is_glob": false, + "name": "RwLock", + "source": "futex::RwLock" + } }, - "name": "ends_with", + "links": {}, + "name": null, "span": { "begin": [ - 1403, - 5 + 15, + 9 ], "end": [ - 1405, - 54 + 15, + 31 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/sync/rwlock/mod.rs" }, "visibility": "public" }, - "9497": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "9134": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9134, + "inner": { + "use": { + "id": 9135, + "is_glob": false, + "name": "Parker", + "source": "futex::Parker" } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 15, + 9 + ], + "end": [ + 15, + 31 + ], + "filename": "std/src/sys/sync/thread_parking/mod.rs" + }, + "visibility": "public" + }, + "9137": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns the byte index of the first character of this string slice that\nmatches the pattern.\n\nReturns [`None`] if the pattern doesn't match.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\nSimple patterns:\n\n```\nlet s = \"Löwe 老虎 Léopard Gepardi\";\n\nassert_eq!(s.find('L'), Some(0));\nassert_eq!(s.find('é'), Some(14));\nassert_eq!(s.find(\"pard\"), Some(17));\n```\n\nMore complex patterns using point-free style and closures:\n\n```\nlet s = \"Löwe 老虎 Léopard\";\n\nassert_eq!(s.find(char::is_whitespace), Some(5));\nassert_eq!(s.find(char::is_lowercase), Some(1));\nassert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));\nassert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));\n```\n\nNot finding the pattern:\n\n```\nlet s = \"Löwe 老虎 Léopard\";\nlet x: &[_] = &['1', '2'];\n\nassert_eq!(s.find(x), None);\n```", - "id": 9497, + "docs": null, + "id": 9137, "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - } + "use": { + "id": 9116, + "is_glob": false, + "name": "Condvar", + "source": "condvar::Condvar" } }, - "links": { - "`None`": 53, - "prim@char": 2397, - "self::pattern": 9491 + "links": {}, + "name": null, + "span": { + "begin": [ + 8, + 1 + ], + "end": [ + 8, + 26 + ], + "filename": "std/src/sys/sync/mod.rs" }, - "name": "find", + "visibility": "public" + }, + "9138": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9138, + "inner": { + "use": { + "id": 9120, + "is_glob": false, + "name": "Mutex", + "source": "mutex::Mutex" + } + }, + "links": {}, + "name": null, "span": { "begin": [ - 1454, - 5 + 9, + 1 ], "end": [ - 1454, - 60 + 9, + 22 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/sync/mod.rs" }, "visibility": "public" }, - "9498": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "9139": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9139, + "inner": { + "use": { + "id": 9124, + "is_glob": false, + "name": "Once", + "source": "once::Once" } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 10, + 16 + ], + "end": [ + 10, + 20 + ], + "filename": "std/src/sys/sync/mod.rs" + }, + "visibility": "public" + }, + "914": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns the byte index for the first character of the last match of the pattern in\nthis string slice.\n\nReturns [`None`] if the pattern doesn't match.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\nSimple patterns:\n\n```\nlet s = \"Löwe 老虎 Léopard Gepardi\";\n\nassert_eq!(s.rfind('L'), Some(13));\nassert_eq!(s.rfind('é'), Some(14));\nassert_eq!(s.rfind(\"pard\"), Some(24));\n```\n\nMore complex patterns with closures:\n\n```\nlet s = \"Löwe 老虎 Léopard\";\n\nassert_eq!(s.rfind(char::is_whitespace), Some(12));\nassert_eq!(s.rfind(char::is_lowercase), Some(20));\n```\n\nNot finding the pattern:\n\n```\nlet s = \"Löwe 老虎 Léopard\";\nlet x: &[_] = &['1', '2'];\n\nassert_eq!(s.rfind(x), None);\n```", - "id": 9498, + "docs": null, + "id": 914, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { "params": [ { @@ -761730,7 +778794,17 @@ "is_synthetic": false } }, - "name": "P" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" } ], "where_predicates": [ @@ -761743,15 +778817,15 @@ "modifier": "none", "trait": { "args": null, - "id": 9493, - "path": "Pattern" + "id": 318, + "path": "RefUnwindSafe" } } } ], "generic_params": [], "type": { - "generic": "P" + "generic": "K" } } }, @@ -761760,143 +778834,220 @@ "bounds": [ { "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "generic_params": [], "modifier": "none", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } } ], "generic_params": [], "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } + "generic": "V" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, - "links": { - "`None`": 53, - "prim@char": 2397, - "self::pattern": 9491 + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9140": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9140, + "inner": { + "use": { + "id": 9126, + "is_glob": false, + "name": "OnceState", + "source": "once::OnceState" + } }, - "name": "rfind", + "links": {}, + "name": null, "span": { "begin": [ - 1500, - 5 + 10, + 22 ], "end": [ - 1502, - 54 + 10, + 31 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/sync/mod.rs" }, "visibility": "public" }, - "9499": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "9141": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9141, + "inner": { + "use": { + "id": 9131, + "is_glob": false, + "name": "RwLock", + "source": "rwlock::RwLock" } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 13, + 1 + ], + "end": [ + 13, + 24 + ], + "filename": "std/src/sys/sync/mod.rs" + }, + "visibility": "public" + }, + "9142": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over substrings of the given string slice, separated\nby characters matched by a pattern and yielded in reverse order.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator requires that the pattern supports a reverse\nsearch, and it will be a [`DoubleEndedIterator`] if a forward/reverse\nsearch yields the same elements.\n\nFor iterating from the front, the [`split`] method can be used.\n\n[`split`]: str::split\n\n# Examples\n\nSimple patterns:\n\n```\nlet v: Vec<&str> = \"Mary had a little lamb\".rsplit(' ').collect();\nassert_eq!(v, [\"lamb\", \"little\", \"a\", \"had\", \"Mary\"]);\n\nlet v: Vec<&str> = \"\".rsplit('X').collect();\nassert_eq!(v, [\"\"]);\n\nlet v: Vec<&str> = \"lionXXtigerXleopard\".rsplit('X').collect();\nassert_eq!(v, [\"leopard\", \"tiger\", \"\", \"lion\"]);\n\nlet v: Vec<&str> = \"lion::tiger::leopard\".rsplit(\"::\").collect();\nassert_eq!(v, [\"leopard\", \"tiger\", \"lion\"]);\n```\n\nA more complex pattern, using a closure:\n\n```\nlet v: Vec<&str> = \"abc1defXghi\".rsplit(|c| c == '1' || c == 'X').collect();\nassert_eq!(v, [\"ghi\", \"def\", \"abc\"]);\n```", - "id": 9499, + "docs": null, + "id": 9142, "inner": { - "function": { + "use": { + "id": 9135, + "is_glob": false, + "name": "Parker", + "source": "thread_parking::Parker" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 14, + 1 + ], + "end": [ + 14, + 32 + ], + "filename": "std/src/sys/sync/mod.rs" + }, + "visibility": "public" + }, + "9147": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9147, + "inner": { + "use": { + "id": 9148, + "is_glob": false, + "name": "Thread", + "source": "unix::Thread" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 53, + 24 + ], + "end": [ + 53, + 30 + ], + "filename": "std/src/sys/thread/mod.rs" + }, + "visibility": "public" + }, + "9149": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9149, + "inner": { + "use": { + "id": 9150, + "is_glob": false, + "name": "available_parallelism", + "source": "unix::available_parallelism" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 53, + 32 + ], + "end": [ + 53, + 53 + ], + "filename": "std/src/sys/thread/mod.rs" + }, + "visibility": "public" + }, + "915": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 915, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { "params": [ { @@ -761907,7 +779058,7 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" } ], "where_predicates": [ @@ -761917,161 +779068,218 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } + "generic": "T" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "T" } } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "P" - } - } - ], - "constraints": [] - } - }, - "id": 9504, - "path": "RSplit" + ], + "constraints": [] } - } + }, + "id": 321, + "path": "Borrow" } } }, - "links": { - "`DoubleEndedIterator`": 41, - "prim@char": 2397, - "self::pattern": 9491, - "str::split": 9500 + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "name": "rsplit", + "visibility": "default" + }, + "9151": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9151, + "inner": { + "use": { + "id": 9152, + "is_glob": false, + "name": "current_os_id", + "source": "unix::current_os_id" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 53, + 55 + ], + "end": [ + 53, + 68 + ], + "filename": "std/src/sys/thread/mod.rs" + }, + "visibility": "public" + }, + "9153": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9153, + "inner": { + "use": { + "id": 9154, + "is_glob": false, + "name": "sleep", + "source": "unix::sleep" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 53, + 70 + ], + "end": [ + 53, + 75 + ], + "filename": "std/src/sys/thread/mod.rs" + }, + "visibility": "public" + }, + "9155": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9155, + "inner": { + "use": { + "id": 9156, + "is_glob": false, + "name": "yield_now", + "source": "unix::yield_now" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 53, + 77 + ], + "end": [ + 53, + 86 + ], + "filename": "std/src/sys/thread/mod.rs" + }, + "visibility": "public" + }, + "9157": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9157, + "inner": { + "use": { + "id": 9158, + "is_glob": false, + "name": "DEFAULT_MIN_STACK_SIZE", + "source": "unix::DEFAULT_MIN_STACK_SIZE" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 53, + 88 + ], + "end": [ + 53, + 110 + ], + "filename": "std/src/sys/thread/mod.rs" + }, + "visibility": "public" + }, + "9159": { + "attrs": [ + { + "other": "#[(not(any(target_env = \"newlib\", target_os = \"l4re\", target_os =\n\"emscripten\", target_os = \"redox\", target_os = \"hurd\", target_os = \"aix\",)))]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9159, + "inner": { + "use": { + "id": 9160, + "is_glob": false, + "name": "set_name", + "source": "unix::set_name" + } + }, + "links": {}, + "name": null, "span": { "begin": [ - 1724, - 5 + 62, + 9 ], "end": [ - 1726, - 54 + 62, + 32 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/thread/mod.rs" }, "visibility": "public" }, - "950": { + "916": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 950, + "id": 916, "inner": { "impl": { "blanket_impl": { @@ -762082,9 +779290,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "K" @@ -762099,8 +779304,8 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 829, + "path": "IntoIter" } }, "generics": { @@ -762120,9 +779325,6 @@ { "bound_predicate": { "bounds": [ - { - "outlives": "'static" - }, { "trait_bound": { "generic_params": [], @@ -762147,13 +779349,24 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 322 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 341, - "path": "Any" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, @@ -762161,29 +779374,84 @@ "name": null, "span": { "begin": [ - 138, + 221, 1 ], "end": [ - 138, - 36 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9500": { + "9161": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[(any(target_os = \"freebsd\", target_os = \"netbsd\", target_os = \"linux\",\ntarget_os = \"android\", target_os = \"solaris\", target_os = \"illumos\", target_os\n= \"dragonfly\", target_os = \"hurd\", target_os = \"fuchsia\", target_os =\n\"vxworks\",))]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over substrings of this string slice, separated by\ncharacters matched by a pattern.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\nIf there are no matches the full string slice is returned as the only\nitem in the iterator.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator will be a [`DoubleEndedIterator`] if the pattern\nallows a reverse search and forward/reverse search yields the same\nelements. This is true for, e.g., [`char`], but not for `&str`.\n\nIf the pattern allows a reverse search but its results might differ\nfrom a forward search, the [`rsplit`] method can be used.\n\n[`rsplit`]: str::rsplit\n\n# Examples\n\nSimple patterns:\n\n```\nlet v: Vec<&str> = \"Mary had a little lamb\".split(' ').collect();\nassert_eq!(v, [\"Mary\", \"had\", \"a\", \"little\", \"lamb\"]);\n\nlet v: Vec<&str> = \"\".split('X').collect();\nassert_eq!(v, [\"\"]);\n\nlet v: Vec<&str> = \"lionXXtigerXleopard\".split('X').collect();\nassert_eq!(v, [\"lion\", \"\", \"tiger\", \"leopard\"]);\n\nlet v: Vec<&str> = \"lion::tiger::leopard\".split(\"::\").collect();\nassert_eq!(v, [\"lion\", \"tiger\", \"leopard\"]);\n\nlet v: Vec<&str> = \"AABBCC\".split(\"DD\").collect();\nassert_eq!(v, [\"AABBCC\"]);\n\nlet v: Vec<&str> = \"abc1def2ghi\".split(char::is_numeric).collect();\nassert_eq!(v, [\"abc\", \"def\", \"ghi\"]);\n\nlet v: Vec<&str> = \"lionXtigerXleopard\".split(char::is_uppercase).collect();\nassert_eq!(v, [\"lion\", \"tiger\", \"leopard\"]);\n```\n\nIf the pattern is a slice of chars, split on each occurrence of any of the characters:\n\n```\nlet v: Vec<&str> = \"2020-11-03 23:59\".split(&['-', ' ', ':', '@'][..]).collect();\nassert_eq!(v, [\"2020\", \"11\", \"03\", \"23\", \"59\"]);\n```\n\nA more complex pattern, using a closure:\n\n```\nlet v: Vec<&str> = \"abc1defXghi\".split(|c| c == '1' || c == 'X').collect();\nassert_eq!(v, [\"abc\", \"def\", \"ghi\"]);\n```\n\nIf a string contains multiple contiguous separators, you will end up\nwith empty strings in the output:\n\n```\nlet x = \"||||a||b|c\".to_string();\nlet d: Vec<_> = x.split('|').collect();\n\nassert_eq!(d, &[\"\", \"\", \"\", \"\", \"a\", \"\", \"b\", \"c\"]);\n```\n\nContiguous separators are separated by the empty string.\n\n```\nlet x = \"(///)\".to_string();\nlet d: Vec<_> = x.split('/').collect();\n\nassert_eq!(d, &[\"(\", \"\", \"\", \")\"]);\n```\n\nSeparators at the start or end of a string are neighbored\nby empty strings.\n\n```\nlet d: Vec<_> = \"010\".split(\"0\").collect();\nassert_eq!(d, &[\"\", \"1\", \"\"]);\n```\n\nWhen the empty string is used as a separator, it separates\nevery character in the string, along with the beginning\nand end of the string.\n\n```\nlet f: Vec<_> = \"rust\".split(\"\").collect();\nassert_eq!(f, &[\"\", \"r\", \"u\", \"s\", \"t\", \"\"]);\n```\n\nContiguous separators can lead to possibly surprising behavior\nwhen whitespace is used as the separator. This code is correct:\n\n```\nlet x = \" a b c\".to_string();\nlet d: Vec<_> = x.split(' ').collect();\n\nassert_eq!(d, &[\"\", \"\", \"\", \"\", \"a\", \"\", \"b\", \"c\"]);\n```\n\nIt does _not_ give you:\n\n```,ignore\nassert_eq!(d, &[\"a\", \"b\", \"c\"]);\n```\n\nUse [`split_whitespace`] for this behavior.\n\n[`split_whitespace`]: str::split_whitespace", - "id": 9500, + "docs": null, + "id": 9161, "inner": { - "function": { + "use": { + "id": 9162, + "is_glob": false, + "name": "sleep_until", + "source": "unix::sleep_until" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 75, + 9 + ], + "end": [ + 75, + 35 + ], + "filename": "std/src/sys/thread/mod.rs" + }, + "visibility": "public" + }, + "917": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 917, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { "params": [ { @@ -762194,7 +779462,17 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -762206,107 +779484,106 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 9493, - "path": "Pattern" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } } ], "generic_params": [], "type": { - "generic": "P" + "generic": "U" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "U" } } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "P" - } - } - ], - "constraints": [] - } - }, - "id": 9501, - "path": "Split" + ], + "constraints": [] } - } + }, + "id": 39, + "path": "Into" } } }, - "links": { - "`DoubleEndedIterator`": 41, - "prim@char": 2397, - "self::pattern": 9491, - "str::rsplit": 9499, - "str::split_whitespace": 9482 - }, - "name": "split", + "links": {}, + "name": null, "span": { "begin": [ - 1628, - 5 + 767, + 1 ], "end": [ - 1628, - 60 + 769, + 24 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9502": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"split_inclusive\"}}]" - } - ], - "crate_id": 1, + "918": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over substrings of this string slice, separated by\ncharacters matched by a pattern.\n\nDiffers from the iterator produced by `split` in that `split_inclusive`\nleaves the matched part as the terminator of the substring.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\n```\nlet v: Vec<&str> = \"Mary had a little lamb\\nlittle lamb\\nlittle lamb.\"\n .split_inclusive('\\n').collect();\nassert_eq!(v, [\"Mary had a little lamb\\n\", \"little lamb\\n\", \"little lamb.\"]);\n```\n\nIf the last element of the string is matched,\nthat element will be considered the terminator of the preceding substring.\nThat substring will be the last item returned by the iterator.\n\n```\nlet v: Vec<&str> = \"Mary had a little lamb\\nlittle lamb\\nlittle lamb.\\n\"\n .split_inclusive('\\n').collect();\nassert_eq!(v, [\"Mary had a little lamb\\n\", \"little lamb\\n\", \"little lamb.\\n\"]);\n```", - "id": 9502, + "docs": null, + "id": 918, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { "params": [ { @@ -762317,116 +779594,85 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "where_predicates": [] }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "T" } } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "P" - } - } - ], - "constraints": [] - } - }, - "id": 9503, - "path": "SplitInclusive" + ], + "constraints": [] } - } + }, + "id": 37, + "path": "From" } } }, - "links": { - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "split_inclusive", + "links": {}, + "name": null, "span": { "begin": [ - 1669, - 5 + 785, + 1 ], "end": [ - 1669, - 79 + 785, + 28 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9505": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, + "919": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over substrings of `self`, separated by characters\nmatched by a pattern and yielded in reverse order.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\nEquivalent to [`split`], except that the trailing substring is\nskipped if empty.\n\n[`split`]: str::split\n\nThis method can be used for string data that is _terminated_,\nrather than _separated_ by a pattern.\n\n# Iterator behavior\n\nThe returned iterator requires that the pattern supports a\nreverse search, and it will be double ended if a forward/reverse\nsearch yields the same elements.\n\nFor iterating from the front, the [`split_terminator`] method can be\nused.\n\n[`split_terminator`]: str::split_terminator\n\n# Examples\n\n```\nlet v: Vec<&str> = \"A.B.\".rsplit_terminator('.').collect();\nassert_eq!(v, [\"B\", \"A\"]);\n\nlet v: Vec<&str> = \"A..B..\".rsplit_terminator(\".\").collect();\nassert_eq!(v, [\"\", \"B\", \"\", \"A\"]);\n\nlet v: Vec<&str> = \"A.B:C.D\".rsplit_terminator(&['.', ':'][..]).collect();\nassert_eq!(v, [\"D\", \"C\", \"B\", \"A\"]);\n```", - "id": 9505, + "docs": null, + "id": 919, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { "params": [ { @@ -762437,7 +779683,17 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -762448,166 +779704,144 @@ "trait_bound": { "generic_params": [], "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "modifier": "none", "trait": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 9496, - "path": "ReverseSearcher" + "id": 197, + "path": "TryFrom" } } } ], "generic_params": [], "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } + "generic": "U" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "U" } } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "P" - } - } - ], - "constraints": [] - } - }, - "id": 9508, - "path": "RSplitTerminator" + ], + "constraints": [] } - } + }, + "id": 198, + "path": "TryInto" } } }, - "links": { - "prim@char": 2397, - "self::pattern": 9491, - "str::split": 9500, - "str::split_terminator": 9506 - }, - "name": "rsplit_terminator", + "links": {}, + "name": null, "span": { "begin": [ - 1819, - 5 + 811, + 1 ], "end": [ - 1821, - 54 + 813, + 27 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9506": { + "92": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(no_inline)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over substrings of the given string slice, separated\nby characters matched by a pattern.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\nEquivalent to [`split`], except that the trailing substring\nis skipped if empty.\n\n[`split`]: str::split\n\nThis method can be used for string data that is _terminated_,\nrather than _separated_ by a pattern.\n\n# Iterator behavior\n\nThe returned iterator will be a [`DoubleEndedIterator`] if the pattern\nallows a reverse search and forward/reverse search yields the same\nelements. This is true for, e.g., [`char`], but not for `&str`.\n\nIf the pattern allows a reverse search but its results might differ\nfrom a forward search, the [`rsplit_terminator`] method can be used.\n\n[`rsplit_terminator`]: str::rsplit_terminator\n\n# Examples\n\n```\nlet v: Vec<&str> = \"A.B.\".split_terminator('.').collect();\nassert_eq!(v, [\"A\", \"B\"]);\n\nlet v: Vec<&str> = \"A..B..\".split_terminator(\".\").collect();\nassert_eq!(v, [\"A\", \"\", \"B\", \"\"]);\n\nlet v: Vec<&str> = \"A.B:C.D\".split_terminator(&['.', ':'][..]).collect();\nassert_eq!(v, [\"A\", \"B\", \"C\", \"D\"]);\n```", - "id": 9506, + "docs": null, + "id": 92, "inner": { - "function": { + "use": { + "id": 93, + "is_glob": false, + "name": "stringify", + "source": "core::prelude::v1::stringify" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 52, + 5 + ], + "end": [ + 52, + 14 + ], + "filename": "std/src/prelude/v1.rs" + }, + "visibility": "public" + }, + "920": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 920, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { "params": [ { @@ -762618,7 +779852,17 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -762630,107 +779874,107 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 9493, - "path": "Pattern" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "P" + "generic": "U" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "U" } } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "P" - } - } - ], - "constraints": [] - } - }, - "id": 9507, - "path": "SplitTerminator" + ], + "constraints": [] } - } + }, + "id": 197, + "path": "TryFrom" } } }, - "links": { - "`DoubleEndedIterator`": 41, - "prim@char": 2397, - "self::pattern": 9491, - "str::rsplit_terminator": 9505, - "str::split": 9500 - }, - "name": "split_terminator", + "links": {}, + "name": null, "span": { "begin": [ - 1773, - 5 + 827, + 1 ], "end": [ - 1773, - 81 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9509": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 1, + "921": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over substrings of this string slice, separated by a\npattern, starting from the end of the string, restricted to returning at\nmost `n` items.\n\nIf `n` substrings are returned, the last substring (the `n`th substring)\nwill contain the remainder of the string.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator will not be double ended, because it is not\nefficient to support.\n\nFor splitting from the front, the [`splitn`] method can be used.\n\n[`splitn`]: str::splitn\n\n# Examples\n\nSimple patterns:\n\n```\nlet v: Vec<&str> = \"Mary had a little lamb\".rsplitn(3, ' ').collect();\nassert_eq!(v, [\"lamb\", \"little\", \"Mary had a\"]);\n\nlet v: Vec<&str> = \"lionXXtigerXleopard\".rsplitn(3, 'X').collect();\nassert_eq!(v, [\"leopard\", \"tiger\", \"lionX\"]);\n\nlet v: Vec<&str> = \"lion::tiger::leopard\".rsplitn(2, \"::\").collect();\nassert_eq!(v, [\"leopard\", \"lion::tiger\"]);\n```\n\nA more complex pattern, using a closure:\n\n```\nlet v: Vec<&str> = \"abc1defXghi\".rsplitn(2, |c| c == '1' || c == 'X').collect();\nassert_eq!(v, [\"ghi\", \"abc1def\"]);\n```", - "id": 9509, + "docs": null, + "id": 921, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { "params": [ { @@ -762741,176 +779985,71 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ + { + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } + "generic": "T" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "n", - { - "primitive": "usize" - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "P" - } - } - ], - "constraints": [] - } - }, - "id": 9512, - "path": "RSplitN" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, - "links": { - "prim@char": 2397, - "self::pattern": 9491, - "str::splitn": 9510 - }, - "name": "rsplitn", + "links": {}, + "name": null, "span": { "begin": [ - 1923, - 5 + 138, + 1 ], "end": [ - 1925, - 54 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "951": { + "922": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 951, + "id": 922, "inner": { "impl": { "blanket_impl": { @@ -762921,9 +780060,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'a" - }, { "type": { "generic": "K" @@ -762938,8 +780074,8 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 829, + "path": "IntoIter" } }, "generics": { @@ -763010,18 +780146,89 @@ }, "visibility": "default" }, - "9510": { + "923": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over substrings of the given string slice, separated\nby a pattern, restricted to returning at most `n` items.\n\nIf `n` substrings are returned, the last substring (the `n`th substring)\nwill contain the remainder of the string.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator will not be double ended, because it is\nnot efficient to support.\n\nIf the pattern allows a reverse search, the [`rsplitn`] method can be\nused.\n\n[`rsplitn`]: str::rsplitn\n\n# Examples\n\nSimple patterns:\n\n```\nlet v: Vec<&str> = \"Mary had a little lambda\".splitn(3, ' ').collect();\nassert_eq!(v, [\"Mary\", \"had\", \"a little lambda\"]);\n\nlet v: Vec<&str> = \"lionXXtigerXleopard\".splitn(3, \"X\").collect();\nassert_eq!(v, [\"lion\", \"\", \"tigerXleopard\"]);\n\nlet v: Vec<&str> = \"abcXdef\".splitn(1, 'X').collect();\nassert_eq!(v, [\"abcXdef\"]);\n\nlet v: Vec<&str> = \"\".splitn(1, 'X').collect();\nassert_eq!(v, [\"\"]);\n```\n\nA more complex pattern, using a closure:\n\n```\nlet v: Vec<&str> = \"abc1defXghi\".splitn(2, |c| c == '1' || c == 'X').collect();\nassert_eq!(v, [\"abc\", \"defXghi\"]);\n```", - "id": 9510, + "docs": null, + "id": 923, "inner": { "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [], + "is_c_variadic": false, + "output": { + "generic": "Self" + } + } + } + }, + "links": {}, + "name": "default", + "span": { + "begin": [ + 1541, + 5 + ], + "end": [ + 1543, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "924": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"default_iters_hash\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 924, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { "params": [ { @@ -763032,32 +780239,134 @@ "is_synthetic": false } }, - "name": "P" - } - ], - "where_predicates": [ + "name": "K" + }, { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], + "kind": { "type": { - "generic": "P" + "bounds": [], + "default": null, + "is_synthetic": false } - } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 923 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 107, + "path": "Default" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 1539, + 1 + ], + "end": [ + 1544, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "925": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 925, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" } ] + } + } + }, + "links": {}, + "name": "Item", + "span": { + "begin": [ + 2018, + 5 + ], + "end": [ + 2018, + 24 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "9250": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9250, + "inner": { + "use": { + "id": 8953, + "is_glob": true, + "name": "pal", + "source": "pal" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 39, + 1 + ], + "end": [ + 39, + 16 + ], + "filename": "std/src/sys/mod.rs" + }, + "visibility": "public" + }, + "926": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 926, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -763072,25 +780381,13 @@ "self", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { "generic": "Self" } } } - ], - [ - "n", - { - "primitive": "usize" - } - ], - [ - "pat", - { - "generic": "P" - } ] ], "is_c_variadic": false, @@ -763099,56 +780396,344 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { - "generic": "P" + "tuple": [ + { + "generic": "K" + }, + { + "generic": "V" + } + ] } } ], "constraints": [] } }, - "id": 9511, - "path": "SplitN" + "id": 51, + "path": "Option" } } } } }, - "links": { - "prim@char": 2397, - "self::pattern": 9491, - "str::rsplitn": 9509 - }, - "name": "splitn", + "links": {}, + "name": "next", "span": { "begin": [ - 1874, + 2021, 5 ], "end": [ - 1874, - 72 + 2023, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9513": { + "9262": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"str_split_once\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Splits the string on the first occurrence of the specified delimiter and\nreturns prefix before delimiter and suffix after delimiter.\n\n# Examples\n\n```\nassert_eq!(\"cfg\".split_once('='), None);\nassert_eq!(\"cfg=\".split_once('='), Some((\"cfg\", \"\")));\nassert_eq!(\"cfg=foo\".split_once('='), Some((\"cfg\", \"foo\")));\nassert_eq!(\"cfg=foo=bar\".split_once('='), Some((\"cfg\", \"foo=bar\")));\n```", - "id": 9513, + "docs": "The default memory allocator provided by the operating system.\n\nThis is based on `malloc` on Unix platforms and `HeapAlloc` on Windows,\nplus related functions. However, it is not valid to mix use of the backing\nsystem allocator with `System`, as this implementation may include extra\nwork, such as to serve alignment requests greater than the alignment\nprovided directly by the backing system allocator.\n\nThis type implements the [`GlobalAlloc`] trait. Currently the default\nglobal allocator is unspecified. Libraries, however, like `cdylib`s and\n`staticlib`s are guaranteed to use the [`System`] by default and as such\nwork as if they had this definition:\n\n```rust\nuse std::alloc::System;\n\n#[global_allocator]\nstatic A: System = System;\n\nfn main() {\n let a = Box::new(4); // Allocates from the system allocator.\n println!(\"{a}\");\n}\n```\n\nYou can also define your own wrapper around `System` if you'd like, such as\nkeeping track of the number of all bytes allocated:\n\n```rust\nuse std::alloc::{System, GlobalAlloc, Layout};\nuse std::sync::atomic::{AtomicUsize, Ordering::Relaxed};\n\nstruct Counter;\n\nstatic ALLOCATED: AtomicUsize = AtomicUsize::new(0);\n\nunsafe impl GlobalAlloc for Counter {\n unsafe fn alloc(&self, layout: Layout) -> *mut u8 {\n let ret = unsafe { System.alloc(layout) };\n if !ret.is_null() {\n ALLOCATED.fetch_add(layout.size(), Relaxed);\n }\n ret\n }\n\n unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) {\n unsafe { System.dealloc(ptr, layout); }\n ALLOCATED.fetch_sub(layout.size(), Relaxed);\n }\n}\n\n#[global_allocator]\nstatic A: Counter = Counter;\n\nfn main() {\n println!(\"allocated bytes before main: {}\", ALLOCATED.load(Relaxed));\n}\n```\n\nIt can also be used directly to allocate memory independently of whatever\nglobal allocator has been selected for a Rust program. For example if a Rust\nprogram opts in to using jemalloc as the global allocator, `System` will\nstill allocate memory using `malloc` and `HeapAlloc`.", + "id": 9262, "inner": { - "function": { + "struct": { + "generics": { + "params": [], + "where_predicates": [] + }, + "impls": [ + 9263, + 9264, + 9265, + 9266, + 9267, + 9268, + 9269, + 9270, + 9271, + 9272, + 9273, + 9274, + 9275, + 9276, + 9277, + 9283, + 9285, + 9287, + 9288, + 9290, + 9299 + ], + "kind": "unit" + } + }, + "links": { + "`GlobalAlloc`": 9261, + "`System`": 9262 + }, + "name": "System", + "span": { + "begin": [ + 132, + 1 + ], + "end": [ + 132, + 19 + ], + "filename": "std/src/alloc.rs" + }, + "visibility": "public" + }, + "9263": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9263, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9264": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9264, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9265": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9265, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9266": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9266, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9267": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9267, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9268": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9268, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9269": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9269, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, "generics": { "params": [ { @@ -763159,7 +780744,7 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" } ], "where_predicates": [ @@ -763169,23 +780754,79 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 9493, - "path": "Pattern" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "P" + "generic": "T" } } } ] }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, + "visibility": "default" + }, + "927": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 927, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, "has_body": true, "header": { "abi": "Rust", @@ -763206,82 +780847,70 @@ } } } - ], - [ - "delimiter", - { - "generic": "P" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - }, - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "tuple": [ + { + "primitive": "usize" + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" } - ] - } + } + ], + "constraints": [] } - ], - "constraints": [] + }, + "id": 51, + "path": "Option" } - }, - "id": 51, - "path": "Option" - } + } + ] } } } }, "links": {}, - "name": "split_once", + "name": "size_hint", "span": { "begin": [ - 1943, + 2025, 5 ], "end": [ - 1943, - 85 + 2027, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9514": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"str_split_once\"}}]" - } - ], - "crate_id": 1, + "9270": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Splits the string on the last occurrence of the specified delimiter and\nreturns prefix before delimiter and suffix after delimiter.\n\n# Examples\n\n```\nassert_eq!(\"cfg\".rsplit_once('='), None);\nassert_eq!(\"cfg=foo\".rsplit_once('='), Some((\"cfg\", \"foo\")));\nassert_eq!(\"cfg=foo=bar\".rsplit_once('='), Some((\"cfg=foo\", \"bar\")));\n```", - "id": 9514, + "docs": null, + "id": 9270, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, "generics": { "params": [ { @@ -763292,7 +780921,7 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" } ], "where_predicates": [ @@ -763302,178 +780931,81 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } + "generic": "T" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "T" } } - } - ], - [ - "delimiter", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "tuple": [ - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - }, - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - ] - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + ], + "constraints": [] } - } + }, + "id": 324, + "path": "BorrowMut" } } }, "links": {}, - "name": "rsplit_once", + "name": null, "span": { "begin": [ - 1961, - 5 + 221, + 1 ], "end": [ - 1963, - 54 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "9515": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"str_matches\"}}]" - } - ], - "crate_id": 1, + "9271": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over the disjoint matches of a pattern within this\nstring slice, yielded in reverse order.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator requires that the pattern supports a reverse\nsearch, and it will be a [`DoubleEndedIterator`] if a forward/reverse\nsearch yields the same elements.\n\nFor iterating from the front, the [`matches`] method can be used.\n\n[`matches`]: str::matches\n\n# Examples\n\n```\nlet v: Vec<&str> = \"abcXXXabcYYYabc\".rmatches(\"abc\").collect();\nassert_eq!(v, [\"abc\", \"abc\", \"abc\"]);\n\nlet v: Vec<&str> = \"1abc2abc3\".rmatches(char::is_numeric).collect();\nassert_eq!(v, [\"3\", \"2\", \"1\"]);\n```", - "id": 9515, + "docs": null, + "id": 9271, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, "generics": { "params": [ { @@ -763484,7 +781016,7 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" } ], "where_predicates": [ @@ -763497,164 +781029,256 @@ "modifier": "none", "trait": { "args": null, - "id": 9493, - "path": "Pattern" + "id": 97, + "path": "Clone" } } } ], "generic_params": [], "type": { - "generic": "P" + "generic": "T" } } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 422 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 424, + "path": "CloneToUninit" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 515, + 1 + ], + "end": [ + 515, + 42 + ], + "filename": "checkouts/rust/library/core/src/clone.rs" + }, + "visibility": "default" + }, + "9272": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9272, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ { "bound_predicate": { "bounds": [ { "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], + "generic_params": [], "modifier": "none", "trait": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 9496, - "path": "ReverseSearcher" + "id": 37, + "path": "From" } } } ], "generic_params": [], "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } + "generic": "U" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "U" } } - } - ], - [ - "pat", - { - "generic": "P" - } - ] + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, + "visibility": "default" + }, + "9273": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9273, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "P" - } - } - ], - "constraints": [] + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } } - }, - "id": 9518, - "path": "RMatches" + ], + "constraints": [] } - } + }, + "id": 37, + "path": "From" } } }, - "links": { - "`DoubleEndedIterator`": 41, - "prim@char": 2397, - "self::pattern": 9491, - "str::matches": 9516 - }, - "name": "rmatches", + "links": {}, + "name": null, "span": { "begin": [ - 2035, - 5 + 785, + 1 ], "end": [ - 2037, - 54 + 785, + 28 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9516": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"str_matches\"}}]" - } - ], - "crate_id": 1, + "9274": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over the disjoint matches of a pattern within the\ngiven string slice.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator will be a [`DoubleEndedIterator`] if the pattern\nallows a reverse search and forward/reverse search yields the same\nelements. This is true for, e.g., [`char`], but not for `&str`.\n\nIf the pattern allows a reverse search but its results might differ\nfrom a forward search, the [`rmatches`] method can be used.\n\n[`rmatches`]: str::rmatches\n\n# Examples\n\n```\nlet v: Vec<&str> = \"abcXXXabcYYYabc\".matches(\"abc\").collect();\nassert_eq!(v, [\"abc\", \"abc\", \"abc\"]);\n\nlet v: Vec<&str> = \"1abc2abc3\".matches(char::is_numeric).collect();\nassert_eq!(v, [\"1\", \"2\", \"3\"]);\n```", - "id": 9516, + "docs": null, + "id": 9274, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, "generics": { "params": [ { @@ -763665,7 +781289,17 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -763677,106 +781311,91 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 9493, - "path": "Pattern" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } } ], "generic_params": [], "type": { - "generic": "P" + "generic": "U" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "U" } } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "P" - } - } - ], - "constraints": [] - } - }, - "id": 9517, - "path": "Matches" + ], + "constraints": [] } - } + }, + "id": 198, + "path": "TryInto" } } }, - "links": { - "`DoubleEndedIterator`": 41, - "prim@char": 2397, - "self::pattern": 9491, - "str::rmatches": 9515 - }, - "name": "matches", + "links": {}, + "name": null, "span": { "begin": [ - 2001, - 5 + 811, + 1 ], "end": [ - 2001, - 64 + 813, + 27 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9519": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"str_match_indices\"}}]" - } - ], - "crate_id": 1, + "9275": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over the disjoint matches of a pattern within `self`,\nyielded in reverse order along with the index of the match.\n\nFor matches of `pat` within `self` that overlap, only the indices\ncorresponding to the last match are returned.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator requires that the pattern supports a reverse\nsearch, and it will be a [`DoubleEndedIterator`] if a forward/reverse\nsearch yields the same elements.\n\nFor iterating from the front, the [`match_indices`] method can be used.\n\n[`match_indices`]: str::match_indices\n\n# Examples\n\n```\nlet v: Vec<_> = \"abcXXXabcYYYabc\".rmatch_indices(\"abc\").collect();\nassert_eq!(v, [(12, \"abc\"), (6, \"abc\"), (0, \"abc\")]);\n\nlet v: Vec<_> = \"1abcabc2\".rmatch_indices(\"abc\").collect();\nassert_eq!(v, [(4, \"abc\"), (1, \"abc\")]);\n\nlet v: Vec<_> = \"ababa\".rmatch_indices(\"aba\").collect();\nassert_eq!(v, [(2, \"aba\")]); // only the last `aba`\n```", - "id": 9519, + "docs": null, + "id": 9275, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, "generics": { "params": [ { @@ -763787,7 +781406,17 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -763798,160 +781427,80 @@ "trait_bound": { "generic_params": [], "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "modifier": "none", "trait": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'a" + "type": { + "generic": "T" + } } ], "constraints": [] } }, - "id": 9496, - "path": "ReverseSearcher" + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } + "generic": "U" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { "type": { - "generic": "Self" + "generic": "U" } } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "P" - } - } - ], - "constraints": [] - } - }, - "id": 9522, - "path": "RMatchIndices" + ], + "constraints": [] } - } + }, + "id": 197, + "path": "TryFrom" } } }, - "links": { - "`DoubleEndedIterator`": 41, - "prim@char": 2397, - "self::pattern": 9491, - "str::match_indices": 9520 - }, - "name": "rmatch_indices", + "links": {}, + "name": null, "span": { "begin": [ - 2119, - 5 + 827, + 1 ], "end": [ - 2121, - 54 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "952": { + "9276": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 952, + "id": 9276, "inner": { "impl": { "blanket_impl": { @@ -763959,28 +781508,9 @@ }, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 746, - "path": "Keys" + "args": null, + "id": 9262, + "path": "System" } }, "generics": { @@ -764000,14 +781530,17 @@ { "bound_predicate": { "bounds": [ + { + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 3, + "path": "Sized" } } } @@ -764024,17 +781557,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" + 336 ], + "provided_trait_methods": [], "trait": { "args": null, - "id": 157, - "path": "ToOwned" + "id": 339, + "path": "Any" } } }, @@ -764042,29 +781571,35 @@ "name": null, "span": { "begin": [ - 82, + 138, 1 ], "end": [ - 84, - 14 + 138, + 36 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "9520": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"str_match_indices\"}}]" - } - ], - "crate_id": 1, + "9277": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator over the disjoint matches of a pattern within this string\nslice as well as the index that the match starts at.\n\nFor matches of `pat` within `self` that overlap, only the indices\ncorresponding to the first match are returned.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator will be a [`DoubleEndedIterator`] if the pattern\nallows a reverse search and forward/reverse search yields the same\nelements. This is true for, e.g., [`char`], but not for `&str`.\n\nIf the pattern allows a reverse search but its results might differ\nfrom a forward search, the [`rmatch_indices`] method can be used.\n\n[`rmatch_indices`]: str::rmatch_indices\n\n# Examples\n\n```\nlet v: Vec<_> = \"abcXXXabcYYYabc\".match_indices(\"abc\").collect();\nassert_eq!(v, [(0, \"abc\"), (6, \"abc\"), (12, \"abc\")]);\n\nlet v: Vec<_> = \"1abcabc2\".match_indices(\"abc\").collect();\nassert_eq!(v, [(1, \"abc\"), (4, \"abc\")]);\n\nlet v: Vec<_> = \"ababa\".match_indices(\"aba\").collect();\nassert_eq!(v, [(0, \"aba\")]); // only the first `aba`\n```", - "id": 9520, + "docs": null, + "id": 9277, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, "generics": { "params": [ { @@ -764075,7 +781610,7 @@ "is_synthetic": false } }, - "name": "P" + "name": "T" } ], "where_predicates": [ @@ -764088,111 +781623,63 @@ "modifier": "none", "trait": { "args": null, - "id": 9493, - "path": "Pattern" + "id": 97, + "path": "Clone" } } } ], "generic_params": [], "type": { - "generic": "P" + "generic": "T" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "P" - } - } - ], - "constraints": [] - } - }, - "id": 9521, - "path": "MatchIndices" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" } } }, - "links": { - "`DoubleEndedIterator`": 41, - "prim@char": 2397, - "self::pattern": 9491, - "str::rmatch_indices": 9519 - }, - "name": "match_indices", + "links": {}, + "name": null, "span": { "begin": [ - 2079, - 5 + 85, + 1 ], "end": [ - 2079, - 75 + 87, + 14 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "9523": { + "9278": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"str_trim\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the trimmed string as a slice, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a string slice with leading and trailing whitespace removed.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`, which includes newlines.\n\n# Examples\n\n```\nlet s = \"\\n Hello\\tworld\\t\\n\";\n\nassert_eq!(\"Hello\\tworld\", s.trim());\n```", - "id": 9523, + "docs": null, + "id": 9278, "inner": { "function": { "generics": { @@ -764204,7 +781691,7 @@ "abi": "Rust", "is_async": false, "is_const": false, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -764219,15 +781706,24 @@ } } } + ], + [ + "layout", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "raw_pointer": { + "is_mutable": true, "type": { - "primitive": "str" + "primitive": "u8" } } } @@ -764235,38 +781731,30 @@ } }, "links": {}, - "name": "trim", + "name": "alloc", "span": { "begin": [ - 2143, + 8, 5 ], "end": [ - 2143, - 31 + 30, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/alloc/unix.rs" }, - "visibility": "public" + "visibility": "default" }, - "9524": { + "928": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"str_trim_start\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 30, patch: 0})}, feature: \"trim_direction\"}}]" - }, - { - "must_use": { - "reason": "this returns the trimmed string as a new slice, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a string slice with leading whitespace removed.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`, which includes newlines.\n\n# Text directionality\n\nA string is a sequence of bytes. `start` in this context means the first\nposition of that byte string; for a left-to-right language like English or\nRussian, this will be left side, and for right-to-left languages like\nArabic or Hebrew, this will be the right side.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \"\\n Hello\\tworld\\t\\n\";\nassert_eq!(\"Hello\\tworld\\t\\n\", s.trim_start());\n```\n\nDirectionality:\n\n```\nlet s = \" English \";\nassert!(Some('E') == s.trim_start().chars().next());\n\nlet s = \" עברית \";\nassert!(Some('ע') == s.trim_start().chars().next());\n```", - "id": 9524, + "docs": null, + "id": 928, "inner": { "function": { "generics": { @@ -764285,62 +781773,42 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "primitive": "usize" } } } }, "links": {}, - "name": "trim_start", + "name": "count", "span": { "begin": [ - 2182, + 2029, 5 ], "end": [ - 2182, - 37 + 2031, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9525": { + "9280": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"str_trim_end\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 30, patch: 0})}, feature: \"trim_direction\"}}]" - }, - { - "must_use": { - "reason": "this returns the trimmed string as a new slice, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a string slice with trailing whitespace removed.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`, which includes newlines.\n\n# Text directionality\n\nA string is a sequence of bytes. `end` in this context means the last\nposition of that byte string; for a left-to-right language like English or\nRussian, this will be right side, and for right-to-left languages like\nArabic or Hebrew, this will be the left side.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \"\\n Hello\\tworld\\t\\n\";\nassert_eq!(\"\\n Hello\\tworld\", s.trim_end());\n```\n\nDirectionality:\n\n```\nlet s = \" English \";\nassert!(Some('h') == s.trim_end().chars().rev().next());\n\nlet s = \" עברית \";\nassert!(Some('ת') == s.trim_end().chars().rev().next());\n```", - "id": 9525, + "docs": null, + "id": 9280, "inner": { "function": { "generics": { @@ -764352,7 +781820,7 @@ "abi": "Rust", "is_async": false, "is_const": false, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -764367,89 +781835,24 @@ } } } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "trim_end", - "span": { - "begin": [ - 2221, - 5 - ], - "end": [ - 2221, - 35 - ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" - }, - "visibility": "public" - }, - "9526": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the trimmed string as a new slice, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": { - "note": "superseded by `trim_start`", - "since": "1.33.0" - }, - "docs": "Returns a string slice with leading whitespace removed.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`.\n\n# Text directionality\n\nA string is a sequence of bytes. 'Left' in this context means the first\nposition of that byte string; for a language like Arabic or Hebrew\nwhich are 'right to left' rather than 'left to right', this will be\nthe _right_ side, not the left.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \" Hello\\tworld\\t\";\n\nassert_eq!(\"Hello\\tworld\\t\", s.trim_left());\n```\n\nDirectionality:\n\n```\nlet s = \" English\";\nassert!(Some('E') == s.trim_left().chars().next());\n\nlet s = \" עברית\";\nassert!(Some('ע') == s.trim_left().chars().next());\n```", - "id": 9526, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "layout", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" } } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "raw_pointer": { + "is_mutable": true, "type": { - "primitive": "str" + "primitive": "u8" } } } @@ -764457,38 +781860,30 @@ } }, "links": {}, - "name": "trim_left", + "name": "alloc_zeroed", "span": { "begin": [ - 2261, + 33, 5 ], "end": [ - 2261, - 36 + 44, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/alloc/unix.rs" }, - "visibility": "public" + "visibility": "default" }, - "9527": { + "9281": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the trimmed string as a new slice, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, - "deprecation": { - "note": "superseded by `trim_end`", - "since": "1.33.0" - }, - "docs": "Returns a string slice with trailing whitespace removed.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`.\n\n# Text directionality\n\nA string is a sequence of bytes. 'Right' in this context means the last\nposition of that byte string; for a language like Arabic or Hebrew\nwhich are 'right to left' rather than 'left to right', this will be\nthe _left_ side, not the right.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \" Hello\\tworld\\t\";\n\nassert_eq!(\" Hello\\tworld\", s.trim_right());\n```\n\nDirectionality:\n\n```\nlet s = \"English \";\nassert!(Some('h') == s.trim_right().chars().rev().next());\n\nlet s = \"עברית \";\nassert!(Some('ת') == s.trim_right().chars().rev().next());\n```", - "id": 9527, + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9281, "inner": { "function": { "generics": { @@ -764500,7 +781895,7 @@ "abi": "Rust", "is_async": false, "is_const": false, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -764515,209 +781910,50 @@ } } } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": {}, - "name": "trim_right", - "span": { - "begin": [ - 2301, - 5 - ], - "end": [ - 2301, - 37 - ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" - }, - "visibility": "public" - }, - "9528": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the trimmed string as a new slice, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns a string slice with all prefixes and suffixes that match a\npattern repeatedly removed.\n\nThe [pattern] can be a [`char`], a slice of [`char`]s, or a function\nor closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\nSimple patterns:\n\n```\nassert_eq!(\"11foo1bar11\".trim_matches('1'), \"foo1bar\");\nassert_eq!(\"123foo1bar123\".trim_matches(char::is_numeric), \"foo1bar\");\n\nlet x: &[_] = &['1', '2'];\nassert_eq!(\"12foo1bar12\".trim_matches(x), \"foo1bar\");\n```\n\nA more complex pattern, using a closure:\n\n```\nassert_eq!(\"1foo1barXX\".trim_matches(|c| c == '1' || c == 'X'), \"foo1bar\");\n```", - "id": 9528, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9529, - "path": "DoubleEndedSearcher" - } - } - } - ], - "generic_params": [], - "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "ptr", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "raw_pointer": { + "is_mutable": true, "type": { - "generic": "Self" + "primitive": "u8" } } } ], [ - "pat", + "_layout", { - "generic": "P" + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } } ] ], "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } + "output": null } } }, - "links": { - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "trim_matches", + "links": {}, + "name": "dealloc", "span": { "begin": [ - 2334, + 47, 5 ], "end": [ - 2336, - 58 + 49, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/alloc/unix.rs" }, - "visibility": "public" + "visibility": "default" }, - "953": { + "9282": { "attrs": [ { "other": "#[attr = Inline(Hint)]" @@ -764726,7 +781962,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 953, + "id": 9282, "inner": { "function": { "generics": { @@ -764738,7 +781974,7 @@ "abi": "Rust", "is_async": false, "is_const": false, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ @@ -764753,384 +781989,136 @@ } } } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "Self" - } - } - } - }, - "links": {}, - "name": "clone", - "span": { - "begin": [ - 1573, - 5 - ], - "end": [ - 1575, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "9530": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 30, patch: 0})}, feature: \"trim_direction\"}}]" - }, - { - "must_use": { - "reason": "this returns the trimmed string as a new slice, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns a string slice with all prefixes that match a pattern\nrepeatedly removed.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Text directionality\n\nA string is a sequence of bytes. `start` in this context means the first\nposition of that byte string; for a left-to-right language like English or\nRussian, this will be left side, and for right-to-left languages like\nArabic or Hebrew, this will be the right side.\n\n# Examples\n\n```\nassert_eq!(\"11foo1bar11\".trim_start_matches('1'), \"foo1bar11\");\nassert_eq!(\"123foo1bar123\".trim_start_matches(char::is_numeric), \"foo1bar123\");\n\nlet x: &[_] = &['1', '2'];\nassert_eq!(\"12foo1bar12\".trim_start_matches(x), \"foo1bar12\");\n```", - "id": 9530, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } + ], + [ + "ptr", + { + "raw_pointer": { + "is_mutable": true, + "type": { + "primitive": "u8" } - ], - "generic_params": [], - "type": { - "generic": "P" } } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "layout", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" } } ], [ - "pat", + "new_size", { - "generic": "P" + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, + "raw_pointer": { + "is_mutable": true, "type": { - "primitive": "str" + "primitive": "u8" } } } } } }, - "links": { - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "trim_start_matches", + "links": {}, + "name": "realloc", "span": { "begin": [ - 2381, + 52, 5 ], "end": [ - 2381, - 65 + 58, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/alloc/unix.rs" }, - "visibility": "public" + "visibility": "default" }, - "9531": { + "9283": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"str_strip\"}}]" - }, - { - "must_use": { - "reason": "this returns the remaining substring as a new slice, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a string slice with the prefix removed.\n\nIf the string starts with the pattern `prefix`, returns the substring after the prefix,\nwrapped in `Some`. Unlike [`trim_start_matches`], this method removes the prefix exactly once.\n\nIf the string does not start with `prefix`, returns `None`.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n[`trim_start_matches`]: Self::trim_start_matches\n\n# Examples\n\n```\nassert_eq!(\"foo:bar\".strip_prefix(\"foo:\"), Some(\"bar\"));\nassert_eq!(\"foo:bar\".strip_prefix(\"bar\"), None);\nassert_eq!(\"foofoo\".strip_prefix(\"foo\"), Some(\"foo\"));\n```", - "id": 9531, + "docs": null, + "id": 9283, "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - } - ] + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "crate::alloc::System" + } }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "generics": { + "params": [], + "where_predicates": [] }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "prefix", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 9278, + 9280, + 9281, + 9282 + ], + "provided_trait_methods": [ + "alloc_zeroed", + "realloc" + ], + "trait": { + "args": null, + "id": 9261, + "path": "GlobalAlloc" } } }, - "links": { - "Self::trim_start_matches": 9530, - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "strip_prefix", + "links": {}, + "name": null, "span": { "begin": [ - 2415, - 5 + 6, + 1 ], "end": [ - 2415, - 70 + 59, + 2 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/sys/alloc/unix.rs" }, - "visibility": "public" + "visibility": "default" }, - "9532": { + "9284": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 30, patch: 0})}, feature: \"trim_direction\"}}]" - }, - { - "must_use": { - "reason": "this returns the trimmed string as a new slice, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a string slice with all suffixes that match a pattern\nrepeatedly removed.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Text directionality\n\nA string is a sequence of bytes. `end` in this context means the last\nposition of that byte string; for a left-to-right language like English or\nRussian, this will be right side, and for right-to-left languages like\nArabic or Hebrew, this will be the left side.\n\n# Examples\n\nSimple patterns:\n\n```\nassert_eq!(\"11foo1bar11\".trim_end_matches('1'), \"11foo1bar\");\nassert_eq!(\"123foo1bar123\".trim_end_matches(char::is_numeric), \"123foo1bar\");\n\nlet x: &[_] = &['1', '2'];\nassert_eq!(\"12foo1bar12\".trim_end_matches(x), \"12foo1bar\");\n```\n\nA more complex pattern, using a closure:\n\n```\nassert_eq!(\"1fooX\".trim_end_matches(|c| c == '1' || c == 'X'), \"1foo\");\n```", - "id": 9532, + "docs": null, + "id": 9284, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" - } - } - } - ], - "generic_params": [], - "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -765154,458 +782142,126 @@ } ], [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - } - }, - "links": { - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "trim_end_matches", - "span": { - "begin": [ - 2563, - 5 - ], - "end": [ - 2565, - 54 - ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" - }, - "visibility": "public" - }, - "9533": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"str_strip\"}}]" - }, - { - "must_use": { - "reason": "this returns the remaining substring as a new slice, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns a string slice with the suffix removed.\n\nIf the string ends with the pattern `suffix`, returns the substring before the suffix,\nwrapped in `Some`. Unlike [`trim_end_matches`], this method removes the suffix exactly once.\n\nIf the string does not end with `suffix`, returns `None`.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n[`trim_end_matches`]: Self::trim_end_matches\n\n# Examples\n\n```\nassert_eq!(\"bar:foo\".strip_suffix(\":foo\"), Some(\"bar\"));\nassert_eq!(\"bar:foo\".strip_suffix(\"bar\"), None);\nassert_eq!(\"foofoo\".strip_suffix(\"foo\"), Some(\"foo\"));\n```", - "id": 9533, - "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" - } - } - } - ], - "generic_params": [], - "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", + "f", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { - "generic": "Self" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "$crate::fmt::Formatter" + } } } } - ], - [ - "suffix", - { - "generic": "P" - } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 342, + "path": "$crate::fmt::Result" } } } } }, - "links": { - "Self::trim_end_matches": 9532, - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "strip_suffix", + "links": {}, + "name": "fmt", "span": { "begin": [ - 2443, - 5 + 131, + 10 ], "end": [ - 2445, - 54 + 131, + 15 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9534": { + "9285": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142312, is_soft: false}, feature: \"trim_prefix_suffix\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" }, - { - "must_use": { - "reason": "this returns the remaining substring as a new slice, without modifying the original" - } - } + "automatically_derived" ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a string slice with the optional prefix removed.\n\nIf the string starts with the pattern `prefix`, returns the substring after the prefix.\nUnlike [`strip_prefix`], this method always returns `&str` for easy method chaining,\ninstead of returning [`Option<&str>`].\n\nIf the string does not start with `prefix`, returns the original string unchanged.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n[`strip_prefix`]: Self::strip_prefix\n\n# Examples\n\n```\n#![feature(trim_prefix_suffix)]\n\n// Prefix present - removes it\nassert_eq!(\"foo:bar\".trim_prefix(\"foo:\"), \"bar\");\nassert_eq!(\"foofoo\".trim_prefix(\"foo\"), \"foo\");\n\n// Prefix absent - returns original string\nassert_eq!(\"foo:bar\".trim_prefix(\"bar\"), \"foo:bar\");\n\n// Method chaining example\nassert_eq!(\"\".trim_prefix('<').trim_suffix('>'), \"https://example.com/\");\n```", - "id": 9534, + "docs": null, + "id": 9285, "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - } - ] + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "generics": { + "params": [], + "where_predicates": [] }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "prefix", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 9284 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" } } }, - "links": { - "Self::strip_prefix": 9531, - "`Option<&str>`": 51, - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "trim_prefix", + "links": {}, + "name": null, "span": { "begin": [ - 2483, - 5 + 131, + 10 ], "end": [ - 2483, - 61 + 131, + 15 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9535": { + "9286": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142312, is_soft: false}, feature: \"trim_prefix_suffix\"}}]" - }, - { - "must_use": { - "reason": "this returns the remaining substring as a new slice, without modifying the original" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a string slice with the optional suffix removed.\n\nIf the string ends with the pattern `suffix`, returns the substring before the suffix.\nUnlike [`strip_suffix`], this method always returns `&str` for easy method chaining,\ninstead of returning [`Option<&str>`].\n\nIf the string does not end with `suffix`, returns the original string unchanged.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n[`strip_suffix`]: Self::strip_suffix\n\n# Examples\n\n```\n#![feature(trim_prefix_suffix)]\n\n// Suffix present - removes it\nassert_eq!(\"bar:foo\".trim_suffix(\":foo\"), \"bar\");\nassert_eq!(\"foofoo\".trim_suffix(\"foo\"), \"foo\");\n\n// Suffix absent - returns original string\nassert_eq!(\"bar:foo\".trim_suffix(\"bar\"), \"bar:foo\");\n\n// Method chaining example\nassert_eq!(\"\".trim_prefix('<').trim_suffix('>'), \"https://example.com/\");\n```", - "id": 9535, + "docs": null, + "id": 9286, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" - } - } - } - ], - "generic_params": [], - "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -765615,280 +782271,154 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "suffix", - { - "generic": "P" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" } } } } }, - "links": { - "Self::strip_suffix": 9533, - "`Option<&str>`": 51, - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "trim_suffix", + "links": {}, + "name": "default", "span": { "begin": [ - 2520, - 5 + 131, + 17 ], "end": [ - 2522, - 54 + 131, + 24 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9536": { + "9287": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" + }, + "automatically_derived" ], - "crate_id": 1, - "deprecation": { - "note": "superseded by `trim_start_matches`", - "since": "1.33.0" - }, - "docs": "Returns a string slice with all prefixes that match a pattern\nrepeatedly removed.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Text directionality\n\nA string is a sequence of bytes. 'Left' in this context means the first\nposition of that byte string; for a language like Arabic or Hebrew\nwhich are 'right to left' rather than 'left to right', this will be\nthe _right_ side, not the left.\n\n# Examples\n\n```\nassert_eq!(\"11foo1bar11\".trim_left_matches('1'), \"foo1bar11\");\nassert_eq!(\"123foo1bar123\".trim_left_matches(char::is_numeric), \"foo1bar123\");\n\nlet x: &[_] = &['1', '2'];\nassert_eq!(\"12foo1bar12\".trim_left_matches(x), \"foo1bar12\");\n```", - "id": 9536, + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9287, "inner": { - "function": { - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - } - ] + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "generics": { + "params": [], + "where_predicates": [] }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "pat", - { - "generic": "P" - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 9286 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 107, + "path": "Default" } } }, - "links": { - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "trim_left_matches", + "links": {}, + "name": null, "span": { "begin": [ - 2607, - 5 + 131, + 17 ], "end": [ - 2607, - 64 + 131, + 24 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9537": { + "9288": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" + }, + "automatically_derived" ], - "crate_id": 1, - "deprecation": { - "note": "superseded by `trim_end_matches`", - "since": "1.33.0" - }, - "docs": "Returns a string slice with all suffixes that match a pattern\nrepeatedly removed.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Text directionality\n\nA string is a sequence of bytes. 'Right' in this context means the last\nposition of that byte string; for a language like Arabic or Hebrew\nwhich are 'right to left' rather than 'left to right', this will be\nthe _left_ side, not the right.\n\n# Examples\n\nSimple patterns:\n\n```\nassert_eq!(\"11foo1bar11\".trim_right_matches('1'), \"11foo1bar\");\nassert_eq!(\"123foo1bar123\".trim_right_matches(char::is_numeric), \"123foo1bar\");\n\nlet x: &[_] = &['1', '2'];\nassert_eq!(\"12foo1bar12\".trim_right_matches(x), \"12foo1bar\");\n```\n\nA more complex pattern, using a closure:\n\n```\nassert_eq!(\"1fooX\".trim_right_matches(|c| c == '1' || c == 'X'), \"1foo\");\n```", - "id": 9537, + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9288, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "P" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "P" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - } - ], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "id": 9496, - "path": "ReverseSearcher" - } - } - } - ], - "generic_params": [], - "type": { - "qualified_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - } - ], - "constraints": [] - } - }, - "name": "Searcher", - "self_type": { - "generic": "P" - }, - "trait": { - "args": null, - "id": 9493, - "path": "Pattern" - } - } - } - } - } - ] + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 101, + "path": "Copy" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 131, + 26 + ], + "end": [ + 131, + 30 + ], + "filename": "std/src/alloc.rs" + }, + "visibility": "default" + }, + "9289": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9289, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] }, "has_body": true, "header": { @@ -765910,59 +782440,58 @@ } } } - ], - [ - "pat", - { - "generic": "P" - } ] ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" } } } } }, - "links": { - "prim@char": 2397, - "self::pattern": 9491 - }, - "name": "trim_right_matches", + "links": {}, + "name": "clone", "span": { "begin": [ - 2650, - 5 + 131, + 32 ], "end": [ - 2652, - 54 + 131, + 37 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9539": { + "929": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Parses this string slice into another type.\n\nBecause `parse` is so general, it can cause problems with type\ninference. As such, `parse` is one of the few times you'll see\nthe syntax affectionately known as the 'turbofish': `::<>`. This\nhelps the inference algorithm understand specifically which type\nyou're trying to parse into.\n\n`parse` can parse into any type that implements the [`FromStr`] trait.\n\n# Errors\n\nWill return [`Err`] if it's not possible to parse this string slice into\nthe desired type.\n\n[`Err`]: FromStr::Err\n\n# Examples\n\nBasic usage:\n\n```\nlet four: u32 = \"4\".parse().unwrap();\n\nassert_eq!(4, four);\n```\n\nUsing the 'turbofish' instead of annotating `four`:\n\n```\nlet four = \"4\".parse::();\n\nassert_eq!(Ok(4), four);\n```\n\nFailing to parse:\n\n```\nlet nope = \"j\".parse::();\n\nassert!(nope.is_err());\n```", - "id": 9539, + "docs": null, + "id": 929, "inner": { "function": { "generics": { "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "B" + }, { "kind": { "type": { @@ -765984,8 +782513,54 @@ "modifier": "none", "trait": { "args": null, - "id": 2072, - "path": "FromStr" + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "Self" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "generic": "B" + }, + { + "qualified_path": { + "args": null, + "name": "Item", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 49, + "path": "" + } + } + } + ], + "output": { + "generic": "B" + } + } + }, + "id": 13, + "path": "FnMut" } } } @@ -766010,148 +782585,81 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "init", + { + "generic": "B" + } + ], + [ + "f", + { + "generic": "F" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "F" - } - }, - { - "type": { - "qualified_path": { - "args": null, - "name": "Err", - "self_type": { - "generic": "F" - }, - "trait": { - "args": null, - "id": 2072, - "path": "FromStr" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 57, - "path": "Result" - } + "generic": "B" } } } }, - "links": { - "FromStr::Err": 9538, - "`FromStr`": 2072 - }, - "name": "parse", + "links": {}, + "name": "fold", "span": { "begin": [ - 2701, + 2033, 5 ], "end": [ - 2701, - 57 + 2039, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "954": { + "9290": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_system_type\"}}]" + }, + "automatically_derived" ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 954, + "id": 9290, "inner": { "impl": { "blanket_impl": null, "for": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 746, - "path": "Keys" + "args": null, + "id": 9262, + "path": "System" } }, "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], + "params": [], "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 953 + 9289 ], "provided_trait_methods": [ "clone_from" ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -766160,35 +782668,27 @@ "name": null, "span": { "begin": [ - 1571, - 1 + 131, + 32 ], "end": [ - 1576, - 2 + 131, + 37 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/alloc.rs" }, "visibility": "default" }, - "9540": { + "9291": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 74, patch: 0})}, feature: \"const_slice_is_ascii\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if all characters in this string are within the ASCII range.\n\n# Examples\n\n```\nlet ascii = \"hello!\\n\";\nlet non_ascii = \"Grüße, Jürgen ❤\";\n\nassert!(ascii.is_ascii());\nassert!(!non_ascii.is_ascii());\n```", - "id": 9540, + "docs": null, + "id": 9291, "inner": { "function": { "generics": { @@ -766199,7 +782699,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -766215,45 +782715,91 @@ } } } + ], + [ + "layout", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "slice": { + "primitive": "u8" + } + } + } + ], + "constraints": [] + } + }, + "id": 9292, + "path": "NonNull" + } + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 9293, + "path": "AllocError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "is_ascii", + "name": "allocate", "span": { "begin": [ - 2720, + 206, 5 ], "end": [ - 2720, - 41 + 208, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9541": { + "9294": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "If this string slice [`is_ascii`](Self::is_ascii), returns it as a slice\nof [ASCII characters](`ascii::Char`), otherwise returns `None`.", - "id": 9541, + "docs": null, + "id": 9294, "inner": { "function": { "generics": { @@ -766264,7 +782810,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -766280,6 +782826,16 @@ } } } + ], + [ + "layout", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } ] ], "is_c_variadic": false, @@ -766290,18 +782846,32 @@ "args": [ { "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "resolved_path": { - "args": null, - "id": 609, - "path": "AsciiChar" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "slice": { + "primitive": "u8" + } + } + } + ], + "constraints": [] } - } + }, + "id": 9292, + "path": "NonNull" + } + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 9293, + "path": "AllocError" } } } @@ -766309,46 +782879,38 @@ "constraints": [] } }, - "id": 51, - "path": "Option" + "id": 57, + "path": "Result" } } } } }, - "links": { - "Self::is_ascii": 9540, - "`ascii::Char`": 609 - }, - "name": "as_ascii", + "links": {}, + "name": "allocate_zeroed", "span": { "begin": [ - 2732, + 211, 5 ], "end": [ - 2732, - 59 + 213, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9542": { + "9295": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts this string slice into a slice of [ASCII characters](ascii::Char),\nwithout checking whether they are valid.\n\n# Safety\n\nEvery character in this string must be ASCII, or else this is UB.", - "id": 9542, + "docs": null, + "id": 9295, "inner": { "function": { "generics": { @@ -766359,7 +782921,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": true }, "sig": { @@ -766375,62 +782937,69 @@ } } } + ], + [ + "ptr", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 9292, + "path": "NonNull" + } + } + ], + [ + "layout", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } ] ], "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "slice": { - "resolved_path": { - "args": null, - "id": 609, - "path": "AsciiChar" - } - } - } - } - } + "output": null } } }, - "links": { - "ascii::Char": 609 - }, - "name": "as_ascii_unchecked", + "links": {}, + "name": "deallocate", "span": { "begin": [ - 2746, + 216, 5 ], "end": [ - 2746, - 68 + 222, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9543": { + "9296": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"const_eq_ignore_ascii_case\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks that two strings are an ASCII case-insensitive match.\n\nSame as `to_ascii_lowercase(a) == to_ascii_lowercase(b)`,\nbut without allocating and copying temporaries.\n\n# Examples\n\n```\nassert!(\"Ferris\".eq_ignore_ascii_case(\"FERRIS\"));\nassert!(\"Ferrös\".eq_ignore_ascii_case(\"FERRöS\"));\nassert!(!\"Ferrös\".eq_ignore_ascii_case(\"FERRÖS\"));\n```", - "id": 9543, + "docs": null, + "id": 9296, "inner": { "function": { "generics": { @@ -766441,8 +783010,8 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": false + "is_const": false, + "is_unsafe": true }, "sig": { "inputs": [ @@ -766459,53 +783028,120 @@ } ], [ - "other", + "ptr", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 9292, + "path": "NonNull" + } + } + ], + [ + "old_layout", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } + ], + [ + "new_layout", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" } } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "slice": { + "primitive": "u8" + } + } + } + ], + "constraints": [] + } + }, + "id": 9292, + "path": "NonNull" + } + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 9293, + "path": "AllocError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "eq_ignore_ascii_case", + "name": "grow", "span": { "begin": [ - 2774, + 225, 5 ], "end": [ - 2774, - 66 + 233, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9544": { + "9297": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts this string to its ASCII upper case equivalent in-place.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo return a new uppercased value without modifying the existing one, use\n[`to_ascii_uppercase()`].\n\n[`to_ascii_uppercase()`]: #method.to_ascii_uppercase\n\n# Examples\n\n```\nlet mut s = String::from(\"Grüße, Jürgen ❤\");\n\ns.make_ascii_uppercase();\n\nassert_eq!(\"GRüßE, JüRGEN ❤\", s);\n```", - "id": 9544, + "docs": null, + "id": 9297, "inner": { "function": { "generics": { @@ -766516,8 +783152,8 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": false + "is_const": false, + "is_unsafe": true }, "sig": { "inputs": [ @@ -766525,48 +783161,129 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "ptr", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 9292, + "path": "NonNull" + } + } + ], + [ + "old_layout", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } + ], + [ + "new_layout", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "slice": { + "primitive": "u8" + } + } + } + ], + "constraints": [] + } + }, + "id": 9292, + "path": "NonNull" + } + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 9293, + "path": "AllocError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } } } }, "links": {}, - "name": "make_ascii_uppercase", + "name": "grow_zeroed", "span": { "begin": [ - 2800, + 236, 5 ], "end": [ - 2800, - 49 + 244, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9545": { + "9298": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Converts this string to its ASCII lower case equivalent in-place.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo return a new lowercased value without modifying the existing one, use\n[`to_ascii_lowercase()`].\n\n[`to_ascii_lowercase()`]: #method.to_ascii_lowercase\n\n# Examples\n\n```\nlet mut s = String::from(\"GRÜßE, JÜRGEN ❤\");\n\ns.make_ascii_lowercase();\n\nassert_eq!(\"grÜße, jÜrgen ❤\", s);\n```", - "id": 9545, + "docs": null, + "id": 9298, "inner": { "function": { "generics": { @@ -766577,8 +783294,8 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": false + "is_const": false, + "is_unsafe": true }, "sig": { "inputs": [ @@ -766586,121 +783303,364 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "ptr", + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u8" + } + } + ], + "constraints": [] + } + }, + "id": 9292, + "path": "NonNull" + } + } + ], + [ + "old_layout", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } + ], + [ + "new_layout", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } ] ], "is_c_variadic": false, - "output": null + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "slice": { + "primitive": "u8" + } + } + } + ], + "constraints": [] + } + }, + "id": 9292, + "path": "NonNull" + } + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 9293, + "path": "AllocError" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } } } }, "links": {}, - "name": "make_ascii_lowercase", + "name": "shrink", "span": { "begin": [ - 2828, + 247, 5 ], "end": [ - 2828, - 49 + 287, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, - "visibility": "public" + "visibility": "default" }, - "9546": { + "9299": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 32838, is_soft: false}, feature: \"allocator_api\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Checks if the value is an ASCII whitespace character:\nU+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED,\nU+000C FORM FEED, or U+000D CARRIAGE RETURN.\n\nRust uses the WhatWG Infra Standard's [definition of ASCII\nwhitespace][infra-aw]. There are several other definitions in\nwide use. For instance, [the POSIX locale][pct] includes\nU+000B VERTICAL TAB as well as all the above characters,\nbut—from the very same specification—[the default rule for\n\"field splitting\" in the Bourne shell][bfs] considers *only*\nSPACE, HORIZONTAL TAB, and LINE FEED as whitespace.\n\nIf you are writing a program that will process an existing\nfile format, check what that format's definition of whitespace is\nbefore using this function.\n\n[infra-aw]: https://infra.spec.whatwg.org/#ascii-whitespace\n[pct]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_01\n[bfs]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_05\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(!uppercase_a.is_ascii_whitespace());\nassert!(!uppercase_g.is_ascii_whitespace());\nassert!(!a.is_ascii_whitespace());\nassert!(!g.is_ascii_whitespace());\nassert!(!zero.is_ascii_whitespace());\nassert!(!percent.is_ascii_whitespace());\nassert!(space.is_ascii_whitespace());\nassert!(lf.is_ascii_whitespace());\nassert!(!esc.is_ascii_whitespace());\n```", - "id": 9546, + "docs": null, + "id": 9299, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": null, + "id": 9262, + "path": "System" + } + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 9291, + 9294, + 9295, + 9296, + 9297, + 9298 + ], + "provided_trait_methods": [ + "allocate_zeroed", + "grow", + "grow_zeroed", + "shrink", + "by_ref" + ], + "trait": { + "args": null, + "id": 3300, + "path": "Allocator" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 204, + 1 + ], + "end": [ + 288, + 2 + ], + "filename": "std/src/alloc.rs" + }, + "visibility": "default" + }, + "930": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 930, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" + }, + "id": 829, + "path": "IntoIter" } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 925, + 926, + 927, + 928, + 929 + ], + "provided_trait_methods": [ + "next_chunk", + "size_hint", + "count", + "last", + "advance_by", + "nth", + "step_by", + "chain", + "zip", + "intersperse", + "intersperse_with", + "map", + "for_each", + "filter", + "filter_map", + "enumerate", + "peekable", + "skip_while", + "take_while", + "map_while", + "skip", + "take", + "scan", + "flat_map", + "flatten", + "map_windows", + "fuse", + "inspect", + "by_ref", + "collect", + "try_collect", + "collect_into", + "partition", + "partition_in_place", + "is_partitioned", + "try_fold", + "try_for_each", + "fold", + "reduce", + "try_reduce", + "all", + "any", + "find", + "find_map", + "try_find", + "position", + "rposition", + "max", + "min", + "max_by_key", + "max_by", + "min_by_key", + "min_by", + "rev", + "unzip", + "copied", + "cloned", + "cycle", + "array_chunks", + "sum", + "product", + "cmp", + "cmp_by", + "partial_cmp", + "partial_cmp_by", + "eq", + "eq_by", + "ne", + "lt", + "le", + "gt", + "ge", + "is_sorted", + "is_sorted_by", + "is_sorted_by_key", + "__iterator_get_unchecked" + ], + "trait": { + "args": null, + "id": 49, + "path": "Iterator" } } }, "links": {}, - "name": "is_ascii_whitespace", + "name": null, "span": { "begin": [ - 1008, - 5 + 2017, + 1 ], "end": [ - 1008, - 52 + 2040, + 2 ], - "filename": "checkouts/rust/library/core/src/num/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9547": { + "9301": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\"}}]" - }, - { - "must_use": { - "reason": "this returns the trimmed string as a new slice, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 51245, is_soft: false}, feature: \"alloc_error_hook\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a string slice with leading ASCII whitespace removed.\n\n'Whitespace' refers to the definition used by\n[`u8::is_ascii_whitespace`].\n\n[`u8::is_ascii_whitespace`]: u8::is_ascii_whitespace\n\n# Examples\n\n```\nassert_eq!(\" \\t \\u{3000}hello world\\n\".trim_ascii_start(), \"\\u{3000}hello world\\n\");\nassert_eq!(\" \".trim_ascii_start(), \"\");\nassert_eq!(\"\".trim_ascii_start(), \"\");\n```", - "id": 9547, + "docs": "Unregisters the current allocation error hook, returning it.\n\n*See also the function [`set_alloc_error_hook`].*\n\nIf no custom hook is registered, the default hook will be returned.", + "id": 9301, "inner": { "function": { "generics": { @@ -766711,31 +783671,36 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } + ] + ], + "is_c_variadic": false, + "output": null } } } @@ -766743,40 +783708,32 @@ } }, "links": { - "u8::is_ascii_whitespace": 9546 + "`set_alloc_error_hook`": 9302 }, - "name": "trim_ascii_start", + "name": "take_alloc_error_hook", "span": { "begin": [ - 2853, - 5 + 342, + 1 ], "end": [ - 2853, - 49 + 345, + 2 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, "visibility": "public" }, - "9548": { + "9302": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\"}}]" - }, - { - "must_use": { - "reason": "this returns the trimmed string as a new slice, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 51245, is_soft: false}, feature: \"alloc_error_hook\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a string slice with trailing ASCII whitespace removed.\n\n'Whitespace' refers to the definition used by\n[`u8::is_ascii_whitespace`].\n\n[`u8::is_ascii_whitespace`]: u8::is_ascii_whitespace\n\n# Examples\n\n```\nassert_eq!(\"\\r hello world\\u{3000}\\n \".trim_ascii_end(), \"\\r hello world\\u{3000}\");\nassert_eq!(\" \".trim_ascii_end(), \"\");\nassert_eq!(\"\".trim_ascii_end(), \"\");\n```", - "id": 9548, + "docs": "Registers a custom allocation error hook, replacing any that was previously registered.\n\nThe allocation error hook is invoked when an infallible memory allocation fails — that is,\nas a consequence of calling [`handle_alloc_error`] — before the runtime aborts.\n\nThe allocation error hook is a global resource. [`take_alloc_error_hook`] may be used to\nretrieve a previously registered hook and wrap or discard it.\n\n# What the provided `hook` function should expect\n\nThe hook function is provided with a [`Layout`] struct which contains information\nabout the allocation that failed.\n\nThe hook function may choose to panic or abort; in the event that it returns normally, this\nwill cause an immediate abort.\n\nSince [`take_alloc_error_hook`] is a safe function that allows retrieving the hook, the hook\nfunction must be _sound_ to call even if no memory allocations were attempted.\n\n# The default hook\n\nThe default hook, used if [`set_alloc_error_hook`] is never called, prints a message to\nstandard error (and then returns, causing the runtime to abort the process).\nCompiler options may cause it to panic instead, and the default behavior may be changed\nto panicking in future versions of Rust.\n\n# Examples\n\n```\n#![feature(alloc_error_hook)]\n\nuse std::alloc::{Layout, set_alloc_error_hook};\n\nfn custom_alloc_error_hook(layout: Layout) {\n panic!(\"memory allocation of {} bytes failed\", layout.size());\n}\n\nset_alloc_error_hook(custom_alloc_error_hook);\n```", + "id": 9302, "inner": { "function": { "generics": { @@ -766787,72 +783744,156 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", + "hook", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "function_pointer": { + "generic_params": [], + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "_", + { + "resolved_path": { + "args": null, + "id": 9279, + "path": "Layout" + } + } + ] + ], + "is_c_variadic": false, + "output": null } } } ] ], "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } + "output": null } } }, "links": { - "u8::is_ascii_whitespace": 9546 + "`Layout`": 9279, + "`handle_alloc_error`": 9300, + "`set_alloc_error_hook`": 9302, + "`take_alloc_error_hook`": 9301 }, - "name": "trim_ascii_end", + "name": "set_alloc_error_hook", "span": { "begin": [ - 2878, - 5 + 332, + 1 ], "end": [ - 2878, - 47 + 334, + 2 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/alloc.rs" }, "visibility": "public" }, - "9549": { + "9303": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\", promotable: false}}]" + "other": "#[doc(inline)]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_module\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9303, + "inner": { + "use": { + "id": 9304, + "is_glob": true, + "name": "alloc", + "source": "alloc_crate::alloc" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 65, + 1 + ], + "end": [ + 65, + 31 + ], + "filename": "std/src/alloc.rs" + }, + "visibility": "public" + }, + "9305": { + "attrs": [ + { + "other": "#[deny(unsafe_op_in_unsafe_fn)]" }, { - "must_use": { - "reason": "this returns the trimmed string as a new slice, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 28, patch: 0})}, feature: \"alloc_module\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns a string slice with leading and trailing ASCII whitespace\nremoved.\n\n'Whitespace' refers to the definition used by\n[`u8::is_ascii_whitespace`].\n\n[`u8::is_ascii_whitespace`]: u8::is_ascii_whitespace\n\n# Examples\n\n```\nassert_eq!(\"\\r hello world\\n \".trim_ascii(), \"hello world\");\nassert_eq!(\" \".trim_ascii(), \"\");\nassert_eq!(\"\".trim_ascii(), \"\");\n```", - "id": 9549, + "docs": "Memory allocation APIs.\n\nIn a given program, the standard library has one “global” memory allocator\nthat is used for example by `Box` and `Vec`.\n\nCurrently the default global allocator is unspecified. Libraries, however,\nlike `cdylib`s and `staticlib`s are guaranteed to use the [`System`] by\ndefault.\n\n# The `#[global_allocator]` attribute\n\nThis attribute allows configuring the choice of global allocator.\nYou can use this to implement a completely custom global allocator\nto route all default allocation requests to a custom object.\n\n```rust\nuse std::alloc::{GlobalAlloc, System, Layout};\n\nstruct MyAllocator;\n\nunsafe impl GlobalAlloc for MyAllocator {\n unsafe fn alloc(&self, layout: Layout) -> *mut u8 {\n unsafe { System.alloc(layout) }\n }\n\n unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) {\n unsafe { System.dealloc(ptr, layout) }\n }\n}\n\n#[global_allocator]\nstatic GLOBAL: MyAllocator = MyAllocator;\n\nfn main() {\n // This `Vec` will allocate memory through `GLOBAL` above\n let mut v = Vec::new();\n v.push(1);\n}\n```\n\nThe attribute is used on a `static` item whose type implements the\n[`GlobalAlloc`] trait. This type can be provided by an external library:\n\n```rust,ignore (demonstrates crates.io usage)\nuse jemallocator::Jemalloc;\n\n#[global_allocator]\nstatic GLOBAL: Jemalloc = Jemalloc;\n\nfn main() {}\n```\n\nThe `#[global_allocator]` can only be used once in a crate\nor its recursive dependencies.", + "id": 9305, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 9262, + 9302, + 9301, + 9303 + ] + } + }, + "links": { + "`GlobalAlloc`": 9261, + "`System`": 9262 + }, + "name": "alloc", + "span": { + "begin": [ + 1, + 1 + ], + "end": [ + 438, + 2 + ], + "filename": "std/src/alloc.rs" + }, + "visibility": "public" + }, + "931": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 931, "inner": { "function": { "generics": { @@ -766863,7 +783904,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -766883,336 +783924,444 @@ ], "is_c_variadic": false, "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } + "primitive": "usize" } } } }, - "links": { - "u8::is_ascii_whitespace": 9546 - }, - "name": "trim_ascii", + "links": {}, + "name": "len", "span": { "begin": [ - 2904, + 2044, 5 ], "end": [ - 2904, - 43 + 2046, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "955": { + "932": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 955, + "id": 932, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 829, + "path": "IntoIter" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [], - "is_c_variadic": false, - "output": { - "generic": "Self" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 931 + ], + "provided_trait_methods": [ + "len", + "is_empty" + ], + "trait": { + "args": null, + "id": 43, + "path": "ExactSizeIterator" } } }, "links": {}, - "name": "default", + "name": null, "span": { "begin": [ - 1581, - 5 + 2042, + 1 ], "end": [ - 1583, - 6 + 2047, + 2 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9550": { + "9324": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"str_escape\"}}]" + "other": "#[(not(any(test, doctest)), lang = \"begin_panic\")]" }, { - "must_use": { - "reason": "this returns the escaped string as an iterator, without modifying the original" - } + "other": "#[lang = \"begin_panic\"]" + }, + { + "other": "#[(not(panic = \"immediate-abort\"), inline(never), cold,\noptimize(size))]" + }, + { + "other": "#[(panic = \"immediate-abort\", inline)]" + }, + { + "other": "#[rustc_do_not_const_check]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"used by the panic! macro\"),\nis_soft: false}, feature: \"libstd_sys_internals\"}}]" + }, + { + "other": "#[attr = Inline(Never)]" + }, + { + "other": "#[attr = Optimize(Size)]" + }, + { + "other": "#[attr = Cold]" + }, + { + "other": "#[attr = TrackCaller]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that escapes each char in `self` with [`char::escape_debug`].\n\nNote: only extended grapheme codepoints that begin the string will be\nescaped.\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in \"❤\\n!\".escape_debug() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", \"❤\\n!\".escape_debug());\n```\n\n\nBoth are equivalent to:\n\n```\nprintln!(\"❤\\\\n!\");\n```\n\nUsing `to_string`:\n\n```\nassert_eq!(\"❤\\n!\".escape_debug().to_string(), \"❤\\\\n!\");\n```", - "id": 9550, + "docs": "This is the entry point of panicking for the non-format-string variants of\npanic!() and assert!(). In particular, this is the only entry point that supports\narbitrary payloads, not just format strings.", + "id": 9324, "inner": { "function": { "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 339, + "path": "Any" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "M" + } + ], "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", + "msg", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "M" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 9551, - "path": "EscapeDebug" - } + "primitive": "never" } } } }, - "links": { - "`char::escape_debug`": 9398 + "links": {}, + "name": "begin_panic", + "span": { + "begin": [ + 729, + 1 + ], + "end": [ + 778, + 2 + ], + "filename": "std/src/panicking.rs" }, - "name": "escape_debug", + "visibility": "public" + }, + "9326": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9326, + "inner": { + "use": { + "id": 9327, + "is_glob": true, + "name": "_Unwind_Reason_Code", + "source": "self::_Unwind_Reason_Code" + } + }, + "links": {}, + "name": null, "span": { "begin": [ - 2947, + 150, 5 ], "end": [ - 2947, - 50 + 150, + 42 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/../../backtrace/src/backtrace/libunwind.rs" }, "visibility": "public" }, - "9552": { + "933": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"str_escape\"}}]" - }, - { - "must_use": { - "reason": "this returns the escaped string as an iterator, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that escapes each char in `self` with [`char::escape_default`].\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in \"❤\\n!\".escape_default() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", \"❤\\n!\".escape_default());\n```\n\n\nBoth are equivalent to:\n\n```\nprintln!(\"\\\\u{{2764}}\\\\n!\");\n```\n\nUsing `to_string`:\n\n```\nassert_eq!(\"❤\\n!\".escape_default().to_string(), \"\\\\u{2764}\\\\n!\");\n```", - "id": 9552, + "docs": null, + "id": 933, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] + }, + "id": 829, + "path": "IntoIter" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false } }, - "id": 9553, - "path": "EscapeDefault" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" } - } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 878, + "path": "FusedIterator" } } }, - "links": { - "`char::escape_default`": 9400 + "links": {}, + "name": null, + "span": { + "begin": [ + 2049, + 1 + ], + "end": [ + 2049, + 47 + ], + "filename": "std/src/collections/hash/map.rs" }, - "name": "escape_default", + "visibility": "default" + }, + "9335": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9335, + "inner": { + "use": { + "id": 9336, + "is_glob": false, + "name": "trace_unsynchronized", + "source": "self::backtrace::trace_unsynchronized" + } + }, + "links": {}, + "name": null, "span": { "begin": [ - 2993, - 5 + 108, + 27 ], "end": [ - 2993, - 54 + 108, + 47 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/../../backtrace/src/lib.rs" }, "visibility": "public" }, - "9554": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"str_escape\"}}]" - }, - { - "must_use": { - "reason": "this returns the escaped string as an iterator, without modifying the original" - } - } - ], - "crate_id": 1, + "9337": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns an iterator that escapes each char in `self` with [`char::escape_unicode`].\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in \"❤\\n!\".escape_unicode() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", \"❤\\n!\".escape_unicode());\n```\n\n\nBoth are equivalent to:\n\n```\nprintln!(\"\\\\u{{2764}}\\\\u{{a}}\\\\u{{21}}\");\n```\n\nUsing `to_string`:\n\n```\nassert_eq!(\"❤\\n!\".escape_unicode().to_string(), \"\\\\u{2764}\\\\u{a}\\\\u{21}\");\n```", - "id": 9554, + "docs": null, + "id": 9337, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 9555, - "path": "EscapeUnicode" - } - } - } + "use": { + "id": 9338, + "is_glob": false, + "name": "Frame", + "source": "self::backtrace::Frame" } }, - "links": { - "`char::escape_unicode`": 9396 - }, - "name": "escape_unicode", + "links": {}, + "name": null, "span": { "begin": [ - 3031, - 5 + 108, + 49 ], "end": [ - 3031, + 108, 54 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/../../backtrace/src/lib.rs" }, "visibility": "public" }, - "9556": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126769, is_soft: false}, feature: \"substr_range\"}}]" - }, - { - "must_use": { - "reason": null - } + "9339": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9339, + "inner": { + "use": { + "id": 9340, + "is_glob": false, + "name": "resolve_frame_unsynchronized", + "source": "self::symbolize::resolve_frame_unsynchronized" } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 111, + 1 + ], + "end": [ + 111, + 55 + ], + "filename": "std/src/../../backtrace/src/lib.rs" + }, + "visibility": "public" + }, + "934": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns the range that a substring points to.\n\nReturns `None` if `substr` does not point within `self`.\n\nUnlike [`str::find`], **this does not search through the string**.\nInstead, it uses pointer arithmetic to find where in the string\n`substr` is derived from.\n\nThis is useful for extending [`str::split`] and similar methods.\n\nNote that this method may return false positives (typically either\n`Some(0..0)` or `Some(self.len()..self.len())`) if `substr` is a\nzero-length `str` that points at the beginning or end of another,\nindependent, `str`.\n\n# Examples\n```\n#![feature(substr_range)]\n\nlet data = \"a, b, b, a\";\nlet mut iter = data.split(\", \").map(|s| data.substr_range(s).unwrap());\n\nassert_eq!(iter.next(), Some(0..1));\nassert_eq!(iter.next(), Some(3..4));\nassert_eq!(iter.next(), Some(6..7));\nassert_eq!(iter.next(), Some(9..10));\n```", - "id": 9556, + "docs": null, + "id": 934, "inner": { "function": { "generics": { @@ -767241,13 +784390,26 @@ } ], [ - "substr", + "f", { "borrowed_ref": { - "is_mutable": false, + "is_mutable": true, "lifetime": null, "type": { - "primitive": "str" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } } } } @@ -767256,252 +784418,184 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 9557, - "path": "Range" - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, - "links": { - "`str::find`": 9497, - "`str::split`": 9500 - }, - "name": "substr_range", + "links": {}, + "name": "fmt", "span": { "begin": [ - 3064, + 2053, 5 ], "end": [ - 3064, - 69 + 2055, + 6 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9558": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130366, is_soft: false}, feature: \"str_as_str\"}}]" + "9341": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9341, + "inner": { + "use": { + "id": 9342, + "is_glob": false, + "name": "resolve_unsynchronized", + "source": "self::symbolize::resolve_unsynchronized" } - ], - "crate_id": 1, + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 112, + 27 + ], + "end": [ + 112, + 49 + ], + "filename": "std/src/../../backtrace/src/lib.rs" + }, + "visibility": "public" + }, + "9343": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns the same string as a string slice `&str`.\n\nThis method is redundant when used directly on `&str`, but\nit helps dereferencing other string-like types to string slices,\nfor example references to `Box` or `Arc`.", - "id": 9558, + "docs": null, + "id": 9343, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" - } - } - } - } + "use": { + "id": 9344, + "is_glob": false, + "name": "Symbol", + "source": "self::symbolize::Symbol" } }, "links": {}, - "name": "as_str", + "name": null, "span": { "begin": [ - 3075, - 5 + 112, + 51 ], "end": [ - 3075, - 33 + 112, + 57 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/../../backtrace/src/lib.rs" }, "visibility": "public" }, - "9559": { + "9345": { "attrs": [], - "crate_id": 1, + "crate_id": 0, "deprecation": null, "docs": null, - "id": 9559, + "id": 9345, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "str" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9163, - 9451, - 9453, - 9454, - 9456, - 9457, - 9458, - 9459, - 9460, - 9461, - 9462, - 9162, - 9463, - 9464, - 9466, - 9467, - 9468, - 9470, - 9469, - 9473, - 9471, - 9472, - 9474, - 9475, - 9477, - 9479, - 9482, - 9481, - 9485, - 9487, - 9489, - 9492, - 9494, - 9495, - 9497, - 9498, - 9500, - 9502, - 9499, - 9506, - 9505, - 9510, - 9509, - 9513, - 9514, - 9516, - 9515, - 9520, - 9519, - 9523, - 9524, - 9525, - 9526, - 9527, - 9528, - 9530, - 9531, - 9533, - 9534, - 9535, - 9532, - 9536, - 9537, - 9539, - 9540, - 9541, - 9542, - 9543, - 9544, - 9545, - 9547, - 9548, - 9549, - 9550, - 9552, - 9554, - 9556, - 9558 - ], - "provided_trait_methods": [], - "trait": null + "use": { + "id": 9346, + "is_glob": false, + "name": "SymbolName", + "source": "self::symbolize::SymbolName" } }, "links": {}, "name": null, "span": { "begin": [ - 118, + 112, + 59 + ], + "end": [ + 112, + 69 + ], + "filename": "std/src/../../backtrace/src/lib.rs" + }, + "visibility": "public" + }, + "9347": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9347, + "inner": { + "use": { + "id": 9348, + "is_glob": false, + "name": "BytesOrWideString", + "source": "self::types::BytesOrWideString" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 115, 1 ], "end": [ - 118, - 9 + 115, + 40 ], - "filename": "checkouts/rust/library/core/src/str/mod.rs" + "filename": "std/src/../../backtrace/src/lib.rs" }, - "visibility": "default" + "visibility": "public" }, - "956": { + "9349": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9349, + "inner": { + "use": { + "id": 9350, + "is_glob": false, + "name": "BacktraceFmt", + "source": "print::BacktraceFmt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 122, + 17 + ], + "end": [ + 122, + 29 + ], + "filename": "std/src/../../backtrace/src/lib.rs" + }, + "visibility": "public" + }, + "935": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"default_iters_hash\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 956, + "id": 935, "inner": { "impl": { "blanket_impl": null, @@ -767510,9 +784604,6 @@ "args": { "angle_bracketed": { "args": [ - { - "lifetime": "'_" - }, { "type": { "generic": "K" @@ -767527,8 +784618,8 @@ "constraints": [] } }, - "id": 746, - "path": "Keys" + "id": 829, + "path": "IntoIter" } }, "generics": { @@ -767536,7 +784627,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], "default": null, "is_synthetic": false } @@ -767546,7 +784649,19 @@ { "kind": { "type": { - "bounds": [], + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], "default": null, "is_synthetic": false } @@ -767560,13 +784675,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 955 + 934 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 109, - "path": "Default" + "id": 344, + "path": "Debug" } } }, @@ -767574,127 +784689,247 @@ "name": null, "span": { "begin": [ - 1579, + 2052, 1 ], "end": [ - 1584, + 2056, 2 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9560": { + "9351": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9351, + "inner": { + "use": { + "id": 9352, + "is_glob": false, + "name": "BacktraceFrameFmt", + "source": "print::BacktraceFrameFmt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 122, + 31 + ], + "end": [ + 122, + 48 + ], + "filename": "std/src/../../backtrace/src/lib.rs" + }, + "visibility": "public" + }, + "9353": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9353, + "inner": { + "use": { + "id": 9354, + "is_glob": false, + "name": "PrintFmt", + "source": "print::PrintFmt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 122, + 50 + ], + "end": [ + 122, + 58 + ], + "filename": "std/src/../../backtrace/src/lib.rs" + }, + "visibility": "public" + }, + "9356": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_box_extras\"}}]" - }, - { - "must_use": { - "reason": "`self` will be dropped if the result is not used" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144889, is_soft: false}, feature: \"derive_from\"}}]" } ], - "crate_id": 2, + "crate_id": 0, "deprecation": null, - "docs": "Converts a `Box` into a `Box<[u8]>` without copying or allocating.\n\n# Examples\n\n```\nlet s = \"this is a string\";\nlet boxed_str = s.to_owned().into_boxed_str();\nlet boxed_bytes = boxed_str.into_boxed_bytes();\nassert_eq!(*boxed_bytes, *s.as_bytes());\n```", - "id": 9560, + "docs": null, + "id": 9356, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "str" - } - } - ], - "constraints": [] - } - }, - "id": 159, - "path": "Box" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "slice": { - "primitive": "u8" - } - } - } - ], - "constraints": [] - } - }, - "id": 159, - "path": "Box" - } - } - } + "use": { + "id": 9357, + "is_glob": false, + "name": "From", + "source": "core::from::From" } }, "links": {}, - "name": "into_boxed_bytes", + "name": null, "span": { "begin": [ - 237, + 738, 5 ], "end": [ - 237, - 58 + 738, + 30 ], - "filename": "checkouts/rust/library/alloc/src/str.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9561": { + "9358": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 144889, is_soft: false}, feature: \"derive_from\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Unstable module containing the unstable `From` derive macro.", + "id": 9358, + "inner": { + "module": { + "is_crate": false, + "is_stripped": false, + "items": [ + 9356 + ] + } + }, + "links": {}, + "name": "from", + "span": { + "begin": [ + 736, + 1 + ], + "end": [ + 736, + 13 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9362": { + "attrs": [ + { + "other": "#[rustc_doc_primitive = \"unit\"]" }, { - "must_use": { - "reason": "this returns the replaced string as a new allocation, without modifying the original" - } + "other": "#[doc(alias = \"(\")]" + }, + { + "other": "#[doc(alias = \")\")]" + }, + { + "other": "#[doc(alias = \"()\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], - "crate_id": 2, + "crate_id": 0, "deprecation": null, - "docs": "Replaces all matches of a pattern with another string.\n\n`replace` creates a new [`String`], and copies the data from this string slice into it.\nWhile doing so, it attempts to find matches of a pattern. If it finds any, it\nreplaces them with the replacement string slice.\n\n# Examples\n\n```\nlet s = \"this is old\";\n\nassert_eq!(\"this is new\", s.replace(\"old\", \"new\"));\nassert_eq!(\"than an old\", s.replace(\"is\", \"an\"));\n```\n\nWhen the pattern doesn't match, it returns this string slice as [`String`]:\n\n```\nlet s = \"this is old\";\nassert_eq!(s, s.replace(\"cookie monster\", \"little lamb\"));\n```", - "id": 9561, + "docs": "The `()` type, also called \"unit\".\n\nThe `()` type has exactly one value `()`, and is used when there\nis no other meaningful value that could be returned. `()` is most\ncommonly seen implicitly: functions without a `-> ...` implicitly\nhave return type `()`, that is, these are equivalent:\n\n```rust\nfn long() -> () {}\n\nfn short() {}\n```\n\nThe semicolon `;` can be used to discard the result of an\nexpression at the end of a block, making the expression (and thus\nthe block) evaluate to `()`. For example,\n\n```rust\nfn returns_i64() -> i64 {\n 1i64\n}\nfn returns_unit() {\n 1i64;\n}\n\nlet is_i64 = {\n returns_i64()\n};\nlet is_unit = {\n returns_i64();\n};\n```\n", + "id": 9362, "inner": { - "function": { + "primitive": { + "impls": [ + 9656, + 9657, + 9658, + 9659, + 9660, + 9661, + 9662, + 9663, + 9664, + 9665, + 9666, + 9667, + 9668, + 9669, + 9670, + 7199 + ], + "name": "unit" + } + }, + "links": {}, + "name": "unit", + "span": { + "begin": [ + 492, + 1 + ], + "end": [ + 492, + 17 + ], + "filename": "std/src/../../core/src/primitive_docs.rs" + }, + "visibility": "public" + }, + "937": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 937, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } + }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -767703,7 +784938,17 @@ "is_synthetic": false } }, - "name": "P" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" } ], "where_predicates": [ @@ -767716,110 +784961,186 @@ "modifier": "none", "trait": { "args": null, - "id": 9493, - "path": "Pattern" + "id": 5, + "path": "Sync" } } } ], "generic_params": [], "type": { - "generic": "P" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "generic": "K" } } - ], - [ - "from", - { - "generic": "P" - } - ], - [ - "to", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } } + ], + "generic_params": [], + "type": { + "generic": "V" } } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" } - } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" } } }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9373": { + "attrs": [ + { + "other": "#[rustc_doc_primitive = \"tuple\"]" + }, + { + "other": "#[doc(alias = \"(\")]" + }, + { + "other": "#[doc(alias = \")\")]" + }, + { + "other": "#[doc(alias = \"()\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A finite heterogeneous sequence, `(T, U, ..)`.\n\nLet's cover each of those in turn:\n\nTuples are *finite*. In other words, a tuple has a length. Here's a tuple\nof length `3`:\n\n```\n(\"hello\", 5, 'c');\n```\n\n'Length' is also sometimes called 'arity' here; each tuple of a different\nlength is a different, distinct type.\n\nTuples are *heterogeneous*. This means that each element of the tuple can\nhave a different type. In that tuple above, it has the type:\n\n```\n# let _:\n(&'static str, i32, char)\n# = (\"hello\", 5, 'c');\n```\n\nTuples are a *sequence*. This means that they can be accessed by position;\nthis is called 'tuple indexing', and it looks like this:\n\n```rust\nlet tuple = (\"hello\", 5, 'c');\n\nassert_eq!(tuple.0, \"hello\");\nassert_eq!(tuple.1, 5);\nassert_eq!(tuple.2, 'c');\n```\n\nThe sequential nature of the tuple applies to its implementations of various\ntraits. For example, in [`PartialOrd`] and [`Ord`], the elements are compared\nsequentially until the first non-equal set is found.\n\nFor more about tuples, see [the book](../book/ch03-02-data-types.html#the-tuple-type).\n\n# Trait implementations\n\nIn this documentation the shorthand `(T₁, T₂, …, Tₙ)` is used to represent tuples of varying\nlength. When that is used, any trait bound expressed on `T` applies to each element of the\ntuple independently. Note that this is a convenience notation to avoid repetitive\ndocumentation, not valid Rust syntax.\n\nDue to a temporary restriction in Rust’s type system, the following traits are only\nimplemented on tuples of arity 12 or less. In the future, this may change:\n\n* [`PartialEq`]\n* [`Eq`]\n* [`PartialOrd`]\n* [`Ord`]\n* [`Debug`]\n* [`Default`]\n* [`Hash`]\n* [`From<[T; N]>`][from]\n\n[from]: convert::From\n[`Debug`]: fmt::Debug\n[`Hash`]: hash::Hash\n\nThe following traits are implemented for tuples of any length. These traits have\nimplementations that are automatically generated by the compiler, so are not limited by\nmissing language features.\n\n* [`Clone`]\n* [`Copy`]\n* [`Send`]\n* [`Sync`]\n* [`Unpin`]\n* [`UnwindSafe`]\n* [`RefUnwindSafe`]\n\n[`UnwindSafe`]: panic::UnwindSafe\n[`RefUnwindSafe`]: panic::RefUnwindSafe\n\n# Examples\n\nBasic usage:\n\n```\nlet tuple = (\"hello\", 5, 'c');\n\nassert_eq!(tuple.0, \"hello\");\n```\n\nTuples are often used as a return type when you want to return more than\none value:\n\n```\nfn calculate_point() -> (i32, i32) {\n // Don't do a calculation, that's not the point of the example\n (4, 5)\n}\n\nlet point = calculate_point();\n\nassert_eq!(point.0, 4);\nassert_eq!(point.1, 5);\n\n// Combining this with patterns can be nicer.\n\nlet (x, y) = calculate_point();\n\nassert_eq!(x, 4);\nassert_eq!(y, 5);\n```\n\nHomogeneous tuples can be created from arrays of appropriate length:\n\n```\nlet array: [u32; 3] = [1, 2, 3];\nlet tuple: (u32, u32, u32) = array.into();\n```\n", + "id": 9373, + "inner": { + "primitive": { + "impls": [ + 9789, + 9790, + 9791, + 9792, + 9793, + 9794, + 9795, + 9796, + 9797, + 9798, + 9799, + 9800, + 9801, + 9802, + 9803, + 833, + 837, + 841, + 4452, + 4455, + 4458, + 4462, + 4465 + ], + "name": "tuple" + } + }, "links": { - "`String`": 161 + "`Clone`": 97, + "`Copy`": 101, + "`Default`": 107, + "`Eq`": 111, + "`Ord`": 117, + "`PartialEq`": 121, + "`PartialOrd`": 125, + "`Send`": 1, + "`Sync`": 5, + "`Unpin`": 7, + "convert::From": 37, + "fmt::Debug": 344, + "hash::Hash": 539, + "panic::RefUnwindSafe": 318, + "panic::UnwindSafe": 316 }, - "name": "replace", + "name": "tuple", "span": { "begin": [ - 268, - 5 + 1145, + 1 ], "end": [ - 268, - 67 + 1145, + 18 ], - "filename": "checkouts/rust/library/alloc/src/str.rs" + "filename": "std/src/../../core/src/primitive_docs.rs" }, "visibility": "public" }, - "9562": { - "attrs": [ - { - "other": "#[doc(alias = \"replace_first\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"str_replacen\"}}]" - }, - { - "must_use": { - "reason": "this returns the replaced string as a new allocation, without modifying the original" - } - } - ], - "crate_id": 2, + "938": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Replaces first N matches of a pattern with another string.\n\n`replacen` creates a new [`String`], and copies the data from this string slice into it.\nWhile doing so, it attempts to find matches of a pattern. If it finds any, it\nreplaces them with the replacement string slice at most `count` times.\n\n# Examples\n\n```\nlet s = \"foo foo 123 foo\";\nassert_eq!(\"new new 123 foo\", s.replacen(\"foo\", \"new\", 2));\nassert_eq!(\"faa fao 123 foo\", s.replacen('o', \"a\", 3));\nassert_eq!(\"foo foo new23 foo\", s.replacen(char::is_numeric, \"new\", 1));\n```\n\nWhen the pattern doesn't match, it returns this string slice as [`String`]:\n\n```\nlet s = \"this is old\";\nassert_eq!(s, s.replacen(\"cookie monster\", \"little lamb\", 10));\n```", - "id": 9562, + "docs": null, + "id": 938, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } + }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -767828,7 +785149,17 @@ "is_synthetic": false } }, - "name": "P" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" } ], "where_predicates": [ @@ -767841,190 +785172,82 @@ "modifier": "none", "trait": { "args": null, - "id": 9493, - "path": "Pattern" + "id": 5, + "path": "Sync" } } } ], "generic_params": [], "type": { - "generic": "P" - } - } - } - ] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } + "generic": "K" } } - ], - [ - "pat", - { - "generic": "P" - } - ], - [ - "to", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "str" + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } } + ], + "generic_params": [], + "type": { + "generic": "V" } } - ], - [ - "count", - { - "primitive": "usize" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" } - } + ] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" } } }, - "links": { - "`String`": 161 - }, - "name": "replacen", - "span": { - "begin": [ - 323, - 5 - ], - "end": [ - 323, - 81 - ], - "filename": "checkouts/rust/library/alloc/src/str.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "9563": { + "9384": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"box_str\"}}]" + "other": "#[rustc_never_returns_null_ptr]" }, { - "must_use": { - "reason": "`self` will be dropped if the result is not used" - } - } - ], - "crate_id": 2, - "deprecation": null, - "docs": "Converts a [`Box`] into a [`String`] without copying or allocating.\n\n# Examples\n\n```\nlet string = String::from(\"birthday gift\");\nlet boxed_str = string.clone().into_boxed_str();\n\nassert_eq!(boxed_str.into_string(), string);\n```", - "id": 9563, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "str" - } - } - ], - "constraints": [] - } - }, - "id": 159, - "path": "Box" - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" - } - } - } - } - }, - "links": { - "`Box`": 159, - "`String`": 161 - }, - "name": "into_string", - "span": { - "begin": [ - 501, - 5 - ], - "end": [ - 501, - 50 - ], - "filename": "checkouts/rust/library/alloc/src/str.rs" - }, - "visibility": "public" - }, - "9564": { - "attrs": [ + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"rustc_str_as_ptr\", promotable: false}}]" + }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"repeat_str\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { "reason": null } + }, + { + "other": "#[attr = AsPtr]" } ], - "crate_id": 2, + "crate_id": 1, "deprecation": null, - "docs": "Creates a new [`String`] by repeating a string `n` times.\n\n# Panics\n\nThis function will panic if the capacity would overflow.\n\n# Examples\n\nBasic usage:\n\n```\nassert_eq!(\"abc\".repeat(4), String::from(\"abcabcabcabc\"));\n```\n\nA panic upon overflow:\n\n```should_panic\n// this will panic at runtime\nlet huge = \"0123456789abcdef\".repeat(usize::MAX);\n```", - "id": 9564, + "docs": "Converts a string slice to a raw pointer.\n\nAs string slices are a slice of bytes, the raw pointer points to a\n[`u8`]. This pointer will be pointing to the first byte of the string\nslice.\n\nThe caller must ensure that the returned pointer is never written to.\nIf you need to mutate the contents of the string slice, use [`as_mut_ptr`].\n\n[`as_mut_ptr`]: str::as_mut_ptr\n\n# Examples\n\n```\nlet s = \"Hello\";\nlet ptr = s.as_ptr();\n```", + "id": 9384, "inner": { "function": { "generics": { @@ -768035,7 +785258,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -768051,57 +785274,62 @@ } } } - ], - [ - "n", - { - "primitive": "usize" - } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" + "raw_pointer": { + "is_mutable": false, + "type": { + "primitive": "u8" + } } } } } }, "links": { - "`String`": 161 + "`u8`": 2396, + "str::as_mut_ptr": 9684 }, - "name": "repeat", + "name": "as_ptr", "span": { "begin": [ - 531, + 562, 5 ], "end": [ - 531, - 45 + 562, + 44 ], - "filename": "checkouts/rust/library/alloc/src/str.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9565": { + "9385": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[rustc_diagnostic_item = \"str_len\"]" + }, + { + "other": "#[rustc_no_implicit_autorefs]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 39, patch: 0})}, feature: \"const_str_len\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "to uppercase the value in-place, use `make_ascii_uppercase()`" + "reason": null } } ], - "crate_id": 2, + "crate_id": 1, "deprecation": null, - "docs": "Returns a copy of this string where each character is mapped to its\nASCII upper case equivalent.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo uppercase the value in-place, use [`make_ascii_uppercase`].\n\nTo uppercase ASCII characters in addition to non-ASCII characters, use\n[`to_uppercase`].\n\n# Examples\n\n```\nlet s = \"Grüße, Jürgen ❤\";\n\nassert_eq!(\"GRüßE, JüRGEN ❤\", s.to_ascii_uppercase());\n```\n\n[`make_ascii_uppercase`]: str::make_ascii_uppercase\n[`to_uppercase`]: #method.to_uppercase", - "id": 9565, + "docs": "Returns the length of `self`.\n\nThis length is in bytes, not [`char`]s or graphemes. In other words,\nit might not be what a human considers the length of the string.\n\n[`char`]: prim@char\n\n# Examples\n\n```\nlet len = \"foo\".len();\nassert_eq!(3, len);\n\nassert_eq!(\"ƒoo\".len(), 4); // fancy f!\nassert_eq!(\"ƒoo\".chars().count(), 3);\n```", + "id": 9385, "inner": { "function": { "generics": { @@ -768112,7 +785340,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -768132,170 +785360,327 @@ ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" - } + "primitive": "usize" } } } }, "links": { - "str::make_ascii_uppercase": 9544 + "prim@char": 2395 }, - "name": "to_ascii_uppercase", + "name": "len", "span": { "begin": [ - 561, + 141, 5 ], "end": [ - 561, - 47 + 141, + 37 ], - "filename": "checkouts/rust/library/alloc/src/str.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9566": { + "939": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 939, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "94": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + "other": "#[doc(no_inline)]" }, { - "must_use": { - "reason": "to lowercase the value in-place, use `make_ascii_lowercase()`" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], - "crate_id": 2, + "crate_id": 0, "deprecation": null, - "docs": "Returns a copy of this string where each character is mapped to its\nASCII lower case equivalent.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo lowercase the value in-place, use [`make_ascii_lowercase`].\n\nTo lowercase ASCII characters in addition to non-ASCII characters, use\n[`to_lowercase`].\n\n# Examples\n\n```\nlet s = \"Grüße, Jürgen ❤\";\n\nassert_eq!(\"grüße, jürgen ❤\", s.to_ascii_lowercase());\n```\n\n[`make_ascii_lowercase`]: str::make_ascii_lowercase\n[`to_lowercase`]: #method.to_lowercase", - "id": 9566, + "docs": null, + "id": 94, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 161, - "path": "String" - } - } - } + "use": { + "id": 95, + "is_glob": false, + "name": "trace_macros", + "source": "core::prelude::v1::trace_macros" } }, - "links": { - "str::make_ascii_lowercase": 9545 - }, - "name": "to_ascii_lowercase", + "links": {}, + "name": null, "span": { "begin": [ - 593, - 5 + 52, + 16 ], "end": [ - 593, - 47 + 52, + 28 ], - "filename": "checkouts/rust/library/alloc/src/str.rs" + "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "9567": { + "940": { "attrs": [], - "crate_id": 2, + "crate_id": 0, "deprecation": null, - "docs": "Methods for string slices.", - "id": 9567, + "docs": null, + "id": 940, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "str" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { - "params": [], + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], "where_predicates": [] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 9560, - 9561, - 9562, - 621, - 617, - 9563, - 9564, - 9565, - 9566 - ], + "items": [], "provided_trait_methods": [], - "trait": null + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } }, "links": {}, "name": null, + "span": null, + "visibility": "default" + }, + "9404": { + "attrs": [ + { + "other": "#[rustc_doc_primitive = \"bool\"]" + }, + { + "other": "#[doc(alias = \"true\")]" + }, + { + "other": "#[doc(alias = \"false\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The boolean type.\n\nThe `bool` represents a value, which could only be either [`true`] or [`false`]. If you cast\na `bool` into an integer, [`true`] will be 1 and [`false`] will be 0.\n\n# Basic usage\n\n`bool` implements various traits, such as [`BitAnd`], [`BitOr`], [`Not`], etc.,\nwhich allow us to perform boolean operations using `&`, `|` and `!`.\n\n[`if`] requires a `bool` value as its conditional. [`assert!`], which is an\nimportant macro in testing, checks whether an expression is [`true`] and panics\nif it isn't.\n\n```\nlet bool_val = true & false | false;\nassert!(!bool_val);\n```\n\n[`true`]: ../std/keyword.true.html\n[`false`]: ../std/keyword.false.html\n[`BitAnd`]: ops::BitAnd\n[`BitOr`]: ops::BitOr\n[`Not`]: ops::Not\n[`if`]: ../std/keyword.if.html\n\n# Examples\n\nA trivial example of the usage of `bool`:\n\n```\nlet praise_the_borrow_checker = true;\n\n// using the `if` conditional\nif praise_the_borrow_checker {\n println!(\"oh, yeah!\");\n} else {\n println!(\"what?!!\");\n}\n\n// ... or, a match pattern\nmatch praise_the_borrow_checker {\n true => println!(\"keep praising!\"),\n false => println!(\"you should praise!\"),\n}\n```\n\nAlso, since `bool` implements the [`Copy`] trait, we don't\nhave to worry about the move semantics (just like the integer and float primitives).\n\nNow an example of `bool` cast to integer type:\n\n```\nassert_eq!(true as i32, 1);\nassert_eq!(false as i32, 0);\n```", + "id": 9404, + "inner": { + "primitive": { + "impls": [ + 9585 + ], + "name": "bool" + } + }, + "links": { + "`Copy`": 101, + "`assert!`": 63, + "ops::BitAnd": 1318, + "ops::BitOr": 1314, + "ops::Not": 9359 + }, + "name": "bool", "span": { "begin": [ - 222, + 61, 1 ], "end": [ - 222, - 9 + 61, + 17 ], - "filename": "checkouts/rust/library/alloc/src/str.rs" + "filename": "std/src/../../core/src/primitive_docs.rs" }, - "visibility": "default" + "visibility": "public" }, - "9568": { + "941": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9568, + "id": 941, "inner": { "impl": { "blanket_impl": null, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -768304,7 +785689,17 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" } ], "where_predicates": [ @@ -768317,15 +785712,36 @@ "modifier": "none", "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 318, + "path": "RefUnwindSafe" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" } } } @@ -768338,8 +785754,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 1, - "path": "Send" + "id": 316, + "path": "UnwindSafe" } } }, @@ -768348,24 +785764,121 @@ "span": null, "visibility": "default" }, - "9569": { + "9419": { + "attrs": [ + { + "other": "#[rustc_doc_primitive = \"never\"]" + }, + { + "other": "#[doc(alias = \"!\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 35121, is_soft: false}, feature: \"never_type\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "The `!` type, also called \"never\".\n\n`!` represents the type of computations which never resolve to any value at all. For example,\nthe [`exit`] function `fn exit(code: i32) -> !` exits the process without ever returning, and\nso returns `!`.\n\n`break`, `continue` and `return` expressions also have type `!`. For example we are allowed to\nwrite:\n\n```\n#![feature(never_type)]\n# fn foo() -> u32 {\nlet x: ! = {\n return 123\n};\n# }\n```\n\nAlthough the `let` is pointless here, it illustrates the meaning of `!`. Since `x` is never\nassigned a value (because `return` returns from the entire function), `x` can be given type\n`!`. We could also replace `return 123` with a `panic!` or a never-ending `loop` and this code\nwould still be valid.\n\nA more realistic usage of `!` is in this code:\n\n```\n# fn get_a_number() -> Option { None }\n# loop {\nlet num: u32 = match get_a_number() {\n Some(num) => num,\n None => break,\n};\n# }\n```\n\nBoth match arms must produce values of type [`u32`], but since `break` never produces a value\nat all we know it can never produce a value which isn't a [`u32`]. This illustrates another\nbehavior of the `!` type - expressions with type `!` will coerce into any other type.\n\n[`u32`]: prim@u32\n[`exit`]: ../std/process/fn.exit.html\n\n# `!` and generics\n\n## Infallible errors\n\nThe main place you'll see `!` used explicitly is in generic code. Consider the [`FromStr`]\ntrait:\n\n```\ntrait FromStr: Sized {\n type Err;\n fn from_str(s: &str) -> Result;\n}\n```\n\nWhen implementing this trait for [`String`] we need to pick a type for [`Err`]. And since\nconverting a string into a string will never result in an error, the appropriate type is `!`.\n(Currently the type actually used is an enum with no variants, though this is only because `!`\nwas added to Rust at a later date and it may change in the future.) With an [`Err`] type of\n`!`, if we have to call [`String::from_str`] for some reason the result will be a\n[`Result`] which we can unpack like this:\n\n```\nuse std::str::FromStr;\nlet Ok(s) = String::from_str(\"hello\");\n```\n\nSince the [`Err`] variant contains a `!`, it can never occur. This means we can exhaustively\nmatch on [`Result`] by just taking the [`Ok`] variant. This illustrates another behavior\nof `!` - it can be used to \"delete\" certain enum variants from generic types like `Result`.\n\n## Infinite loops\n\nWhile [`Result`] is very useful for removing errors, `!` can also be used to remove\nsuccesses as well. If we think of [`Result`] as \"if this function returns, it has not\nerrored,\" we get a very intuitive idea of [`Result`] as well: if the function returns, it\n*has* errored.\n\nFor example, consider the case of a simple web server, which can be simplified to:\n\n```ignore (hypothetical-example)\nloop {\n let (client, request) = get_request().expect(\"disconnected\");\n let response = request.process();\n response.send(client);\n}\n```\n\nCurrently, this isn't ideal, because we simply panic whenever we fail to get a new connection.\nInstead, we'd like to keep track of this error, like this:\n\n```ignore (hypothetical-example)\nloop {\n match get_request() {\n Err(err) => break err,\n Ok((client, request)) => {\n let response = request.process();\n response.send(client);\n },\n }\n}\n```\n\nNow, when the server disconnects, we exit the loop with an error instead of panicking. While it\nmight be intuitive to simply return the error, we might want to wrap it in a [`Result`]\ninstead:\n\n```ignore (hypothetical-example)\nfn server_loop() -> Result {\n loop {\n let (client, request) = get_request()?;\n let response = request.process();\n response.send(client);\n }\n}\n```\n\nNow, we can use `?` instead of `match`, and the return type makes a lot more sense: if the loop\never stops, it means that an error occurred. We don't even have to wrap the loop in an `Ok`\nbecause `!` coerces to `Result` automatically.\n\n[`String::from_str`]: str::FromStr::from_str\n[`String`]: ../std/string/struct.String.html\n[`FromStr`]: str::FromStr\n\n# `!` and traits\n\nWhen writing your own traits, `!` should have an `impl` whenever there is an obvious `impl`\nwhich doesn't `panic!`. The reason is that functions returning an `impl Trait` where `!`\ndoes not have an `impl` of `Trait` cannot diverge as their only possible code path. In other\nwords, they can't return `!` from every code path. As an example, this code doesn't compile:\n\n```compile_fail\nuse std::ops::Add;\n\nfn foo() -> impl Add {\n unimplemented!()\n}\n```\n\nBut this code does:\n\n```\nuse std::ops::Add;\n\nfn foo() -> impl Add {\n if true {\n unimplemented!()\n } else {\n 0\n }\n}\n```\n\nThe reason is that, in the first example, there are many possible types that `!` could coerce\nto, because many types implement `Add`. However, in the second example,\nthe `else` branch returns a `0`, which the compiler infers from the return type to be of type\n`u32`. Since `u32` is a concrete type, `!` can and will be coerced to it. See issue [#36375]\nfor more information on this quirk of `!`.\n\n[#36375]: https://github.com/rust-lang/rust/issues/36375\n\nAs it turns out, though, most traits can have an `impl` for `!`. Take [`Debug`]\nfor example:\n\n```\n#![feature(never_type)]\n# use std::fmt;\n# trait Debug {\n# fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result;\n# }\nimpl Debug for ! {\n fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n *self\n }\n}\n```\n\nOnce again we're using `!`'s ability to coerce into any other type, in this case\n[`fmt::Result`]. Since this method takes a `&!` as an argument we know that it can never be\ncalled (because there is no value of type `!` for it to be called with). Writing `*self`\nessentially tells the compiler \"We know that this code can never be run, so just treat the\nentire function body as having type [`fmt::Result`]\". This pattern can be used a lot when\nimplementing traits for `!`. Generally, any trait which only has methods which take a `self`\nparameter should have such an impl.\n\nOn the other hand, one trait which would not be appropriate to implement is [`Default`]:\n\n```\ntrait Default {\n fn default() -> Self;\n}\n```\n\nSince `!` has no values, it has no default value either. It's true that we could write an\n`impl` for this which simply panics, but the same is true for any type (we could `impl\nDefault` for (eg.) [`File`] by just making [`default()`] panic.)\n\n[`File`]: ../std/fs/struct.File.html\n[`Debug`]: fmt::Debug\n[`default()`]: Default::default\n\n# Never type fallback\n\nWhen the compiler sees a value of type `!` in a [coercion site], it implicitly inserts a\ncoercion to allow the type checker to infer any type:\n\n```rust,ignore (illustrative-and-has-placeholders)\n// this\nlet x: u8 = panic!();\n\n// is (essentially) turned by the compiler into\nlet x: u8 = absurd(panic!());\n\n// where absurd is a function with the following signature\n// (it's sound, because `!` always marks unreachable code):\nfn absurd(_: !) -> T { ... }\n```\n\nThis can lead to compilation errors if the type cannot be inferred:\n\n```compile_fail\n// this\n{ panic!() };\n\n// gets turned into this\n{ absurd(panic!()) }; // error: can't infer the type of `absurd`\n```\n\nTo prevent such errors, the compiler remembers where it inserted `absurd` calls, and\nif it can't infer the type, it uses the fallback type instead:\n```rust, ignore\ntype Fallback = /* An arbitrarily selected type! */;\n{ absurd::(panic!()) }\n```\n\nThis is what is known as \"never type fallback\".\n\nHistorically, the fallback type was [`()`], causing confusing behavior where `!` spontaneously\ncoerced to `()`, even when it would not infer `()` without the fallback. The fallback was changed\nto `!` in the [2024 edition], and will be changed in all editions at a later date.\n\n[coercion site]: \n[`()`]: prim@unit\n[2024 edition]: \n", + "id": 9419, + "inner": { + "primitive": { + "impls": [ + 1897, + 9586, + 9587, + 9588, + 9589, + 9590, + 9591, + 9592, + 9593, + 9594, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 7201 + ], + "name": "never" + } + }, + "links": { + "Default::default": 734, + "`Default`": 107, + "`Err`": 59, + "`Ok`": 61, + "`Result`": 57, + "`Result`": 57, + "`Result`": 57, + "`fmt::Result`": 342, + "fmt::Debug": 344, + "prim@u32": 4822, + "prim@unit": 9362, + "str::FromStr": 2070, + "str::FromStr::from_str": 9361 + }, + "name": "never", + "span": { + "begin": [ + 315, + 1 + ], + "end": [ + 315, + 18 + ], + "filename": "std/src/../../core/src/primitive_docs.rs" + }, + "visibility": "public" + }, + "942": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9569, + "id": 942, "inner": { "impl": { "blanket_impl": null, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -768374,7 +785887,17 @@ "is_synthetic": false } }, - "name": "T" + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" } ], "where_predicates": [ @@ -768387,15 +785910,36 @@ "modifier": "none", "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 318, + "path": "RefUnwindSafe" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" } } } @@ -768408,8 +785952,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 318, + "path": "RefUnwindSafe" } } }, @@ -768418,106 +785962,42 @@ "span": null, "visibility": "default" }, - "957": { + "943": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 957, + "id": 943, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "impl": { + "blanket_impl": { + "generic": "T" }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "f", - { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - } - ], - "constraints": [] - } - }, - "id": 343, - "path": "fmt::Formatter" + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" } } - } + ], + "constraints": [] } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 344, - "path": "fmt::Result" - } + }, + "id": 746, + "path": "Keys" } - } - } - }, - "links": {}, - "name": "fmt", - "span": { - "begin": [ - 1588, - 5 - ], - "end": [ - 1590, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "9570": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9570, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "tuple": [ - { - "generic": "T" - } - ] }, "generics": { "params": [ @@ -768539,11 +786019,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 3, + "path": "Sized" } } } @@ -768557,37 +786037,81 @@ ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 319 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 315, - "path": "Freeze" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 212, + 1 + ], + "end": [ + 212, + 38 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "9571": { + "944": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9571, + "id": 944, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ @@ -768609,11 +786133,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 3, + "path": "Sized" } } } @@ -768627,37 +786151,81 @@ ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 322 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 7, - "path": "Unpin" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 221, + 1 + ], + "end": [ + 221, + 41 + ], + "filename": "checkouts/rust/library/core/src/borrow.rs" + }, "visibility": "default" }, - "9572": { + "945": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9572, + "id": 945, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ @@ -768682,8 +786250,8 @@ "modifier": "none", "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 97, + "path": "Clone" } } } @@ -768697,37 +786265,103 @@ ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 422 + ], "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 424, + "path": "CloneToUninit" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 515, + 1 + ], + "end": [ + 515, + 42 + ], + "filename": "checkouts/rust/library/core/src/clone.rs" + }, "visibility": "default" }, - "9573": { + "9458": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9458, + "inner": { + "use": { + "id": 9459, + "is_glob": false, + "name": "any", + "source": "core::any" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 484, + 1 + ], + "end": [ + 484, + 19 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "946": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9573, + "id": 946, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "T" + }, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ @@ -768740,6 +786374,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -768751,55 +786395,339 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } ] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 325 + ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 320, - "path": "RefUnwindSafe" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 767, + 1 + ], + "end": [ + 769, + 24 + ], + "filename": "checkouts/rust/library/core/src/convert/mod.rs" + }, "visibility": "default" }, - "9574": { + "9460": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 35, patch: 0})}, feature: \"core_array\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9460, + "inner": { + "use": { + "id": 9461, + "is_glob": false, + "name": "array", + "source": "core::array" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 486, + 1 + ], + "end": [ + 486, + 21 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9462": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 79024, is_soft: false}, feature: \"async_iterator\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9462, + "inner": { + "use": { + "id": 9463, + "is_glob": false, + "name": "async_iter", + "source": "core::async_iter" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 488, + 1 + ], + "end": [ + 488, + 26 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9464": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9464, + "inner": { + "use": { + "id": 381, + "is_glob": false, + "name": "cell", + "source": "core::cell" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 490, + 1 + ], + "end": [ + 490, + 20 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9465": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9465, + "inner": { + "use": { + "id": 9466, + "is_glob": false, + "name": "char", + "source": "core::char" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 492, + 1 + ], + "end": [ + 492, + 20 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9467": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9467, + "inner": { + "use": { + "id": 187, + "is_glob": false, + "name": "clone", + "source": "core::clone" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 494, + 1 + ], + "end": [ + 494, + 21 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9468": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9468, + "inner": { + "use": { + "id": 189, + "is_glob": false, + "name": "cmp", + "source": "core::cmp" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 496, + 1 + ], + "end": [ + 496, + 19 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9469": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9469, + "inner": { + "use": { + "id": 190, + "is_glob": false, + "name": "convert", + "source": "core::convert" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 498, + 1 + ], + "end": [ + 498, + 23 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "947": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9574, + "id": 947, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ @@ -768814,35 +786742,13 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 327 ], "provided_trait_methods": [], "trait": { @@ -768858,8 +786764,8 @@ "constraints": [] } }, - "id": 323, - "path": "Borrow" + "id": 37, + "path": "From" } } }, @@ -768867,34 +786773,260 @@ "name": null, "span": { "begin": [ - 209, + 785, 1 ], "end": [ - 209, - 32 + 785, + 28 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9575": { + "9470": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9470, + "inner": { + "use": { + "id": 191, + "is_glob": false, + "name": "default", + "source": "core::default" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 500, + 1 + ], + "end": [ + 500, + 23 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9471": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"futures_api\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9471, + "inner": { + "use": { + "id": 200, + "is_glob": false, + "name": "future", + "source": "core::future" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 502, + 1 + ], + "end": [ + 502, + 22 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9472": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"core_hint\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9472, + "inner": { + "use": { + "id": 9473, + "is_glob": false, + "name": "hint", + "source": "core::hint" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 504, + 1 + ], + "end": [ + 504, + 20 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9474": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9474, + "inner": { + "use": { + "id": 9475, + "is_glob": false, + "name": "i8", + "source": "core::i8" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 507, + 1 + ], + "end": [ + 507, + 18 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9476": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9476, + "inner": { + "use": { + "id": 9477, + "is_glob": false, + "name": "i16", + "source": "core::i16" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 510, + 1 + ], + "end": [ + 510, + 19 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9478": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9478, + "inner": { + "use": { + "id": 9479, + "is_glob": false, + "name": "i32", + "source": "core::i32" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 513, + 1 + ], + "end": [ + 513, + 19 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "948": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9575, + "id": 948, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ @@ -768907,6 +787039,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -768916,18 +787058,29 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -768937,7 +787090,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -768946,15 +787100,15 @@ "args": [ { "type": { - "generic": "T" + "generic": "U" } } ], "constraints": [] } }, - "id": 326, - "path": "BorrowMut" + "id": 198, + "path": "TryInto" } } }, @@ -768962,84 +787116,36 @@ "name": null, "span": { "begin": [ - 217, + 811, 1 ], "end": [ - 217, - 35 + 813, + 27 ], - "filename": "checkouts/rust/library/core/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9576": { - "attrs": [], + "9480": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9576, + "id": 9480, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [ - { - "generic": "T" - } - ] - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 422 - ], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 424, - "path": "CloneToUninit" - } + "use": { + "id": 9481, + "is_glob": false, + "name": "i64", + "source": "core::i64" } }, "links": {}, @@ -769051,29 +787157,219 @@ ], "end": [ 516, - 42 + 19 ], - "filename": "checkouts/rust/library/core/src/clone.rs" + "filename": "std/src/lib.rs" }, - "visibility": "default" + "visibility": "public" }, - "9577": { + "9482": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"i128\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9482, + "inner": { + "use": { + "id": 9483, + "is_glob": false, + "name": "i128", + "source": "core::i128" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 519, + 1 + ], + "end": [ + 519, + 20 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9484": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9484, + "inner": { + "use": { + "id": 9485, + "is_glob": false, + "name": "intrinsics", + "source": "core::intrinsics" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 521, + 1 + ], + "end": [ + 521, + 26 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9486": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9486, + "inner": { + "use": { + "id": 9487, + "is_glob": false, + "name": "isize", + "source": "core::isize" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 524, + 1 + ], + "end": [ + 524, + 21 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9488": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9488, + "inner": { + "use": { + "id": 192, + "is_glob": false, + "name": "iter", + "source": "core::iter" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 526, + 1 + ], + "end": [ + 526, + 20 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9489": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9489, + "inner": { + "use": { + "id": 181, + "is_glob": false, + "name": "marker", + "source": "core::marker" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 528, + 1 + ], + "end": [ + 528, + 22 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "949": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9577, + "id": 949, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ @@ -769119,8 +787415,8 @@ "constraints": [] } }, - "id": 37, - "path": "From" + "id": 39, + "path": "Into" } } } @@ -769137,7 +787433,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -769153,8 +787450,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 197, + "path": "TryFrom" } } }, @@ -769162,107 +787459,320 @@ "name": null, "span": { "begin": [ - 773, + 827, 1 ], "end": [ - 775, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9578": { - "attrs": [], + "9490": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9578, + "id": 9490, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [ - { - "generic": "T" - } - ] - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 329 - ], - "provided_trait_methods": [], - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" - } + "use": { + "id": 183, + "is_glob": false, + "name": "mem", + "source": "core::mem" } }, "links": {}, "name": null, "span": { "begin": [ - 791, + 530, 1 ], "end": [ - 791, - 28 + 530, + 19 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/lib.rs" }, - "visibility": "default" + "visibility": "public" }, - "9579": { + "9491": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9491, + "inner": { + "use": { + "id": 182, + "is_glob": false, + "name": "ops", + "source": "core::ops" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 532, + 1 + ], + "end": [ + 532, + 19 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9492": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9492, + "inner": { + "use": { + "id": 193, + "is_glob": false, + "name": "option", + "source": "core::option" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 534, + 1 + ], + "end": [ + 534, + 22 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9493": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 33, patch: 0})}, feature: \"pin\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9493, + "inner": { + "use": { + "id": 9494, + "is_glob": false, + "name": "pin", + "source": "core::pin" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 536, + 1 + ], + "end": [ + 536, + 19 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9495": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9495, + "inner": { + "use": { + "id": 9366, + "is_glob": false, + "name": "ptr", + "source": "core::ptr" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 538, + 1 + ], + "end": [ + 538, + 19 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9496": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 125687, is_soft: false}, feature: \"new_range_api\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9496, + "inner": { + "use": { + "id": 9497, + "is_glob": false, + "name": "range", + "source": "core::range" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 540, + 1 + ], + "end": [ + 540, + 21 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9498": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9498, + "inner": { + "use": { + "id": 194, + "is_glob": false, + "name": "result", + "source": "core::result" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 542, + 1 + ], + "end": [ + 542, + 22 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9499": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9499, + "inner": { + "use": { + "id": 9500, + "is_glob": false, + "name": "u8", + "source": "core::u8" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 545, + 1 + ], + "end": [ + 545, + 18 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "950": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9579, + "id": 950, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ @@ -769275,48 +787785,30 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ { "bound_predicate": { "bounds": [ + { + "outlives": "'static" + }, { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -769326,25 +787818,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 336 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + "args": null, + "id": 339, + "path": "Any" } } }, @@ -769352,37 +787832,212 @@ "name": null, "span": { "begin": [ - 817, + 138, 1 ], "end": [ - 819, - 27 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, "visibility": "default" }, - "958": { + "9501": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 958, + "id": 9501, + "inner": { + "use": { + "id": 9502, + "is_glob": false, + "name": "u16", + "source": "core::u16" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 548, + 1 + ], + "end": [ + 548, + 19 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9503": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9503, + "inner": { + "use": { + "id": 9504, + "is_glob": false, + "name": "u32", + "source": "core::u32" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 551, + 1 + ], + "end": [ + 551, + 19 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9505": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9505, + "inner": { + "use": { + "id": 9506, + "is_glob": false, + "name": "u64", + "source": "core::u64" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 554, + 1 + ], + "end": [ + 554, + 19 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9507": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"i128\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9507, + "inner": { + "use": { + "id": 9508, + "is_glob": false, + "name": "u128", + "source": "core::u128" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 557, + 1 + ], + "end": [ + 557, + 20 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9509": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130516, is_soft: false}, feature: \"unsafe_binders\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9509, + "inner": { + "use": { + "id": 9510, + "is_glob": false, + "name": "unsafe_binder", + "source": "core::unsafe_binder" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 559, + 1 + ], + "end": [ + 559, + 29 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "951": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 951, "inner": { "impl": { - "blanket_impl": null, + "blanket_impl": { + "generic": "I" + }, "for": { "resolved_path": { "args": { "angle_bracketed": { "args": [ { - "lifetime": "'_" + "lifetime": "'a" }, { "type": { @@ -769407,49 +788062,51 @@ { "kind": { "type": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 346, - "path": "Debug" - } - } - } - ], + "bounds": [], "default": null, "is_synthetic": false } }, - "name": "K" - }, + "name": "I" + } + ], + "where_predicates": [ { - "kind": { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 49, + "path": "Iterator" + } + } + } + ], + "generic_params": [], "type": { - "bounds": [], - "default": null, - "is_synthetic": false + "generic": "I" } - }, - "name": "V" + } } - ], - "where_predicates": [] + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 957 + 858, + 859, + 860 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 346, - "path": "Debug" + "id": 47, + "path": "IntoIterator" } } }, @@ -769457,34 +788114,287 @@ "name": null, "span": { "begin": [ - 1587, + 314, 1 ], "end": [ - 1591, - 2 + 314, + 37 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/iter/traits/collect.rs" }, "visibility": "default" }, - "9580": { + "9511": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9511, + "inner": { + "use": { + "id": 9512, + "is_glob": false, + "name": "usize", + "source": "core::usize" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 562, + 1 + ], + "end": [ + 562, + 21 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9513": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9513, + "inner": { + "use": { + "id": 185, + "is_glob": false, + "name": "borrow", + "source": "alloc_crate::borrow" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 565, + 1 + ], + "end": [ + 565, + 29 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9514": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9514, + "inner": { + "use": { + "id": 184, + "is_glob": false, + "name": "boxed", + "source": "alloc_crate::boxed" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 567, + 1 + ], + "end": [ + 567, + 28 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9515": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9515, + "inner": { + "use": { + "id": 6995, + "is_glob": false, + "name": "fmt", + "source": "alloc_crate::fmt" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 569, + 1 + ], + "end": [ + 569, + 26 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9516": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9516, + "inner": { + "use": { + "id": 2326, + "is_glob": false, + "name": "format", + "source": "alloc_crate::format" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 571, + 1 + ], + "end": [ + 571, + 29 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9517": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9517, + "inner": { + "use": { + "id": 9518, + "is_glob": false, + "name": "rc", + "source": "alloc_crate::rc" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 573, + 1 + ], + "end": [ + 573, + 25 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9519": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9519, + "inner": { + "use": { + "id": 203, + "is_glob": false, + "name": "slice", + "source": "alloc_crate::slice" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 575, + 1 + ], + "end": [ + 575, + 28 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "952": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9580, + "id": 952, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ @@ -769497,16 +788407,6 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ @@ -769518,27 +788418,16 @@ "generic_params": [], "modifier": "none", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 39, - "path": "Into" + "args": null, + "id": 97, + "path": "Clone" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -769548,60 +788437,601 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" ], - "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { + "args": null, + "id": 155, + "path": "ToOwned" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 85, + 1 + ], + "end": [ + 87, + 14 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "9520": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9520, + "inner": { + "use": { + "id": 9383, + "is_glob": false, + "name": "str", + "source": "alloc_crate::str" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 577, + 1 + ], + "end": [ + 577, + 26 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9521": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9521, + "inner": { + "use": { + "id": 195, + "is_glob": false, + "name": "string", + "source": "alloc_crate::string" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 579, + 1 + ], + "end": [ + 579, + 29 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9522": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9522, + "inner": { + "use": { + "id": 196, + "is_glob": false, + "name": "vec", + "source": "alloc_crate::vec" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 581, + 1 + ], + "end": [ + 581, + 26 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9523": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9523, + "inner": { + "use": { + "id": 9524, + "is_glob": false, + "name": "vec", + "source": "alloc_crate::vec" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 581, + 1 + ], + "end": [ + 581, + 26 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9525": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 27, patch: 0})}, feature: \"simd_x86\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9525, + "inner": { + "use": { + "id": 8917, + "is_glob": false, + "name": "is_x86_feature_detected", + "source": "std_detect::is_x86_feature_detected" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 687, + 1 + ], + "end": [ + 687, + 45 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9526": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 115585, is_soft: false}, feature: \"cfg_select\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9526, + "inner": { + "use": { + "id": 9527, + "is_glob": false, + "name": "cfg_select", + "source": "core::cfg_select" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 703, + 1 + ], + "end": [ + 703, + 26 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9528": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: Some(\"`concat_bytes` is not stable enough for use and is subject to change\"),\nissue: 87555, is_soft: false}, feature: \"concat_bytes\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9528, + "inner": { + "use": { + "id": 129, + "is_glob": false, + "name": "concat_bytes", + "source": "core::concat_bytes" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 709, + 1 + ], + "end": [ + 709, + 28 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9529": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 42, patch: 0})}, feature: \"matches_macro\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9529, + "inner": { + "use": { + "id": 9530, + "is_glob": false, + "name": "matches", + "source": "core::matches" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 712, + 1 + ], + "end": [ + 712, + 23 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "953": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 953, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "generic": "U" + "generic": "Self" } } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + } + ] + ], + "is_c_variadic": false, + "output": { + "generic": "Self" + } } } }, "links": {}, + "name": "clone", + "span": { + "begin": [ + 1573, + 5 + ], + "end": [ + 1575, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "9531": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"core_primitive\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9531, + "inner": { + "use": { + "id": 9532, + "is_glob": false, + "name": "primitive", + "source": "core::primitive" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 714, + 1 + ], + "end": [ + 714, + 25 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9533": { + "attrs": [ + { + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"todo_macro\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9533, + "inner": { + "use": { + "id": 9534, + "is_glob": false, + "name": "todo", + "source": "core::todo" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 717, + 1 + ], + "end": [ + 717, + 20 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9535": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9535, + "inner": { + "use": { + "id": 63, + "is_glob": false, + "name": "assert", + "source": "core::assert" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 721, + 5 + ], + "end": [ + 721, + 11 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9536": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9536, + "inner": { + "use": { + "id": 9537, + "is_glob": false, + "name": "assert_matches", + "source": "core::assert_matches" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 721, + 13 + ], + "end": [ + 721, + 27 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9538": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9538, + "inner": { + "use": { + "id": 65, + "is_glob": false, + "name": "cfg", + "source": "core::cfg" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 721, + 29 + ], + "end": [ + 721, + 32 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9539": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9539, + "inner": { + "use": { + "id": 67, + "is_glob": false, + "name": "column", + "source": "core::column" + } + }, + "links": {}, "name": null, "span": { "begin": [ - 833, - 1 + 721, + 34 ], "end": [ - 835, - 24 + 721, + 40 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "std/src/lib.rs" }, - "visibility": "default" + "visibility": "public" }, - "9581": { - "attrs": [], + "954": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9581, + "id": 954, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { - "tuple": [ - { - "generic": "T" - } - ] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ @@ -769613,47 +789043,34 @@ "is_synthetic": false } }, - "name": "T" - } - ], - "where_predicates": [ + "name": "K" + }, { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], + "kind": { "type": { - "generic": "T" + "bounds": [], + "default": null, + "is_synthetic": false } - } + }, + "name": "V" } - ] + ], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 953 + ], + "provided_trait_methods": [ + "clone_from" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 341, - "path": "Any" + "id": 97, + "path": "Clone" } } }, @@ -769661,632 +789078,324 @@ "name": null, "span": { "begin": [ - 138, + 1571, 1 ], "end": [ - 138, - 36 + 1576, + 2 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9582": { - "attrs": [], + "9540": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9582, + "id": 9540, "inner": { - "impl": { - "blanket_impl": { - "generic": "T" - }, - "for": { - "tuple": [ - { - "generic": "T" - } - ] - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "T" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], - "trait": { - "args": null, - "id": 157, - "path": "ToOwned" - } + "use": { + "id": 69, + "is_glob": false, + "name": "compile_error", + "source": "core::compile_error" } }, "links": {}, "name": null, "span": { "begin": [ - 82, - 1 + 721, + 42 ], "end": [ - 84, - 14 + 721, + 55 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "std/src/lib.rs" }, - "visibility": "default" + "visibility": "public" }, - "9583": { + "9541": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Raises a number to a floating point power.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 2.0_f16;\nlet abs_difference = (x.powf(2.0) - (x * x)).abs();\nassert!(abs_difference <= f16::EPSILON);\n\nassert_eq!(f16::powf(1.0, f16::NAN), 1.0);\nassert_eq!(f16::powf(f16::NAN, 0.0), 1.0);\n# }\n```", - "id": 9583, + "docs": null, + "id": 9541, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "n", - { - "primitive": "f16" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 71, + "is_glob": false, + "name": "concat", + "source": "core::concat" } }, "links": {}, - "name": "powf", + "name": null, "span": { "begin": [ - 46, - 5 + 721, + 57 ], "end": [ - 48, - 6 + 721, + 63 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9584": { + "9542": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `e^(self)`, (the exponential function).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet one = 1.0f16;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9584, + "docs": null, + "id": 9542, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 9543, + "is_glob": false, + "name": "const_format_args", + "source": "core::const_format_args" } }, "links": {}, - "name": "exp", + "name": null, "span": { "begin": [ - 78, - 5 + 721, + 65 ], "end": [ - 80, - 6 + 721, + 82 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9585": { + "9544": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `2^(self)`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 2.0f16;\n\n// 2^2 - 4 == 0\nlet abs_difference = (f.exp2() - 4.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9585, + "docs": null, + "id": 9544, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 73, + "is_glob": false, + "name": "env", + "source": "core::env" } }, "links": {}, - "name": "exp2", + "name": null, "span": { "begin": [ - 108, - 5 + 721, + 84 ], "end": [ - 110, - 6 + 721, + 87 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9586": { + "9545": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the natural logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet one = 1.0f16;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nassert_eq!(0_f16.ln(), f16::NEG_INFINITY);\nassert!((-42_f16).ln().is_nan());\n# }\n```", - "id": 9586, + "docs": null, + "id": 9545, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 75, + "is_glob": false, + "name": "file", + "source": "core::file" } }, "links": {}, - "name": "ln", + "name": null, "span": { "begin": [ - 153, - 5 + 721, + 89 ], "end": [ - 155, - 6 + 721, + 93 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9587": { + "9546": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\nThe result might not be correctly rounded owing to implementation details;\n`self.log2()` can produce more accurate results for base 2, and\n`self.log10()` can produce more accurate results for base 10.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet five = 5.0f16;\n\n// log5(5) - 1 == 0\nlet abs_difference = (five.log(5.0) - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nassert_eq!(0_f16.log(10.0), f16::NEG_INFINITY);\nassert!((-42_f16).log(10.0).is_nan());\n# }\n```", - "id": 9587, + "docs": null, + "id": 9546, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "base", - { - "primitive": "f16" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 77, + "is_glob": false, + "name": "format_args", + "source": "core::format_args" } }, "links": {}, - "name": "log", + "name": null, "span": { "begin": [ - 200, + 722, 5 ], "end": [ - 202, - 6 + 722, + 16 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9588": { + "9547": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet two = 2.0f16;\n\n// log2(2) - 1 == 0\nlet abs_difference = (two.log2() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nassert_eq!(0_f16.log2(), f16::NEG_INFINITY);\nassert!((-42_f16).log2().is_nan());\n# }\n```", - "id": 9588, + "docs": null, + "id": 9547, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 79, + "is_glob": false, + "name": "include", + "source": "core::include" } }, "links": {}, - "name": "log2", + "name": null, "span": { "begin": [ - 243, - 5 + 722, + 34 ], "end": [ - 245, - 6 + 722, + 41 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9589": { + "9548": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet ten = 10.0f16;\n\n// log10(10) - 1 == 0\nlet abs_difference = (ten.log10() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nassert_eq!(0_f16.log10(), f16::NEG_INFINITY);\nassert!((-42_f16).log10().is_nan());\n# }\n```", - "id": 9589, + "docs": null, + "id": 9548, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 81, + "is_glob": false, + "name": "include_bytes", + "source": "core::include_bytes" } }, "links": {}, - "name": "log10", + "name": null, "span": { "begin": [ - 286, - 5 + 722, + 43 ], "end": [ - 288, - 6 + 722, + 56 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "959": { - "attrs": [], + "9549": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 959, + "id": 9549, "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "K" - } - } - } + "use": { + "id": 83, + "is_glob": false, + "name": "include_str", + "source": "core::include_str" } }, "links": {}, - "name": "Item", + "name": null, "span": { "begin": [ - 2065, - 5 + 722, + 58 ], "end": [ - 2065, - 23 + 722, + 69 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/lib.rs" }, - "visibility": "default" + "visibility": "public" }, - "9590": { + "955": { "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, { "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], "crate_id": 0, "deprecation": null, - "docs": "Compute the distance between the origin and a point (`x`, `y`) on the\nEuclidean plane. Equivalently, compute the length of the hypotenuse of a\nright-angle triangle with other sides having length `x.abs()` and\n`y.abs()`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `hypotf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 2.0f16;\nlet y = 3.0f16;\n\n// sqrt(x^2 + y^2)\nlet abs_difference = (x.hypot(y) - (x.powi(2) + y.powi(2)).sqrt()).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9590, + "docs": null, + "id": 955, "inner": { "function": { "generics": { @@ -770301,693 +789410,578 @@ "is_unsafe": false }, "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "f16" - } - ] - ], + "inputs": [], "is_c_variadic": false, "output": { - "primitive": "f16" + "generic": "Self" } } } }, "links": {}, - "name": "hypot", + "name": "default", "span": { "begin": [ - 323, + 1581, 5 ], "end": [ - 325, + 1583, 6 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9591": { + "9550": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Computes the sine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = std::f16::consts::FRAC_PI_2;\n\nlet abs_difference = (x.sin() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9591, + "docs": null, + "id": 9550, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 85, + "is_glob": false, + "name": "line", + "source": "core::line" } }, "links": {}, - "name": "sin", + "name": null, "span": { "begin": [ - 352, - 5 + 722, + 71 ], "end": [ - 354, - 6 + 722, + 75 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9592": { + "9551": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Computes the cosine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 2.0 * std::f16::consts::PI;\n\nlet abs_difference = (x.cos() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9592, + "docs": null, + "id": 9551, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 87, + "is_glob": false, + "name": "log_syntax", + "source": "core::log_syntax" } }, "links": {}, - "name": "cos", + "name": null, "span": { "begin": [ - 381, - 5 + 722, + 77 ], "end": [ - 383, - 6 + 722, + 87 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9593": { + "9552": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Computes the tangent of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tanf` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = std::f16::consts::FRAC_PI_4;\nlet abs_difference = (x.tan() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9593, + "docs": null, + "id": 9552, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 89, + "is_glob": false, + "name": "module_path", + "source": "core::module_path" } }, "links": {}, - "name": "tan", + "name": null, "span": { "begin": [ - 412, + 723, 5 ], "end": [ - 414, - 6 + 723, + 16 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9594": { + "9553": { "attrs": [ { - "other": "#[doc(alias = \"arcsin\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Computes the arcsine of a number. Return value is in radians in\nthe range [-pi/2, pi/2] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `asinf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = std::f16::consts::FRAC_PI_2;\n\n// asin(sin(pi/2))\nlet abs_difference = (f.sin().asin() - std::f16::consts::FRAC_PI_2).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9594, + "docs": null, + "id": 9553, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 91, + "is_glob": false, + "name": "option_env", + "source": "core::option_env" } }, "links": {}, - "name": "asin", + "name": null, "span": { "begin": [ - 448, - 5 + 723, + 18 ], "end": [ - 450, - 6 + 723, + 28 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9595": { + "9554": { "attrs": [ { - "other": "#[doc(alias = \"arccos\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Computes the arccosine of a number. Return value is in radians in\nthe range [0, pi] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `acosf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = std::f16::consts::FRAC_PI_4;\n\n// acos(cos(pi/4))\nlet abs_difference = (f.cos().acos() - std::f16::consts::FRAC_PI_4).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9595, + "docs": null, + "id": 9554, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 93, + "is_glob": false, + "name": "stringify", + "source": "core::stringify" } }, "links": {}, - "name": "acos", + "name": null, "span": { "begin": [ - 484, - 5 + 723, + 30 ], "end": [ - 486, - 6 + 723, + 39 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9596": { + "9555": { "attrs": [ { - "other": "#[doc(alias = \"arctan\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9555, + "inner": { + "use": { + "id": 95, + "is_glob": false, + "name": "trace_macros", + "source": "core::trace_macros" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 723, + 41 + ], + "end": [ + 723, + 53 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9556": { + "attrs": [ { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[allow(deprecated, deprecated_in_future)]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Computes the arctangent of a number. Return value is in radians in the\nrange [-pi/2, pi/2];\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `atanf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 1.0f16;\n\n// atan(tan(1))\nlet abs_difference = (f.tan().atan() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9596, + "docs": null, + "id": 9556, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 9557, + "is_glob": false, + "name": "assert_eq", + "source": "core::assert_eq" } }, "links": {}, - "name": "atan", + "name": null, "span": { "begin": [ - 519, + 729, 5 ], "end": [ - 521, - 6 + 729, + 14 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9597": { + "9558": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[allow(deprecated, deprecated_in_future)]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9558, + "inner": { + "use": { + "id": 9559, + "is_glob": false, + "name": "assert_ne", + "source": "core::assert_ne" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 729, + 16 + ], + "end": [ + 729, + 25 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "956": { + "attrs": [ { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"default_iters_hash\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Computes the four quadrant arctangent of `self` (`y`) and `other` (`x`) in radians.\n\n* `x = 0`, `y = 0`: `0`\n* `x >= 0`: `arctan(y/x)` -> `[-pi/2, pi/2]`\n* `y >= 0`: `arctan(y/x) + pi` -> `(pi/2, pi]`\n* `y < 0`: `arctan(y/x) - pi` -> `(-pi, -pi/2)`\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `atan2f` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\n// Positive angles measured counter-clockwise\n// from positive x axis\n// -pi/4 radians (45 deg clockwise)\nlet x1 = 3.0f16;\nlet y1 = -3.0f16;\n\n// 3pi/4 radians (135 deg counter-clockwise)\nlet x2 = -3.0f16;\nlet y2 = 3.0f16;\n\nlet abs_difference_1 = (y1.atan2(x1) - (-std::f16::consts::FRAC_PI_4)).abs();\nlet abs_difference_2 = (y2.atan2(x2) - (3.0 * std::f16::consts::FRAC_PI_4)).abs();\n\nassert!(abs_difference_1 <= f16::EPSILON);\nassert!(abs_difference_2 <= f16::EPSILON);\n# }\n```", - "id": 9597, + "docs": null, + "id": 956, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "f16" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 955 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 107, + "path": "Default" } } }, "links": {}, - "name": "atan2", + "name": null, "span": { "begin": [ - 566, - 5 + 1579, + 1 ], "end": [ - 568, - 6 + 1584, + 2 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9598": { + "9560": { "attrs": [ { - "other": "#[doc(alias = \"sincos\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[allow(deprecated, deprecated_in_future)]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Simultaneously computes the sine and cosine of the number, `x`. Returns\n`(sin(x), cos(x))`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `(f16::sin(x),\nf16::cos(x))`. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = std::f16::consts::FRAC_PI_4;\nlet f = x.sin_cos();\n\nlet abs_difference_0 = (f.0 - x.sin()).abs();\nlet abs_difference_1 = (f.1 - x.cos()).abs();\n\nassert!(abs_difference_0 <= f16::EPSILON);\nassert!(abs_difference_1 <= f16::EPSILON);\n# }\n```", - "id": 9598, + "docs": null, + "id": 9560, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "f16" - }, - { - "primitive": "f16" - } - ] - } - } + "use": { + "id": 9561, + "is_glob": false, + "name": "debug_assert", + "source": "core::debug_assert" } }, "links": {}, - "name": "sin_cos", + "name": null, "span": { "begin": [ - 602, - 5 + 729, + 27 ], "end": [ - 604, - 6 + 729, + 39 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9599": { + "9562": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[allow(deprecated, deprecated_in_future)]" }, { - "other": "#[attr = Inline(Hint)]" - }, + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9562, + "inner": { + "use": { + "id": 9563, + "is_glob": false, + "name": "debug_assert_eq", + "source": "core::debug_assert_eq" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 729, + 41 + ], + "end": [ + 729, + 56 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "9564": { + "attrs": [ { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[allow(deprecated, deprecated_in_future)]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `e^(self) - 1` in a way that is accurate even if the\nnumber is close to zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `expm1f` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 1e-4_f16;\n\n// for very small x, e^x is approximately 1 + x + x^2 / 2\nlet approx = x + x * x / 2.0;\nlet abs_difference = (x.exp_m1() - approx).abs();\n\nassert!(abs_difference < 1e-4);\n# }\n```", - "id": 9599, + "docs": null, + "id": 9564, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 9565, + "is_glob": false, + "name": "debug_assert_ne", + "source": "core::debug_assert_ne" } }, "links": {}, - "name": "exp_m1", + "name": null, "span": { "begin": [ - 637, - 5 + 729, + 58 ], "end": [ - 639, - 6 + 729, + 73 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "96": { + "9566": { "attrs": [ { - "other": "#[doc(no_inline)]" + "other": "#[allow(deprecated, deprecated_in_future)]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 96, + "id": 9566, "inner": { "use": { - "id": 97, + "id": 9567, "is_glob": false, - "name": "trace_macros", - "source": "core::prelude::v1::trace_macros" + "name": "try", + "source": "core::try" } }, "links": {}, "name": null, "span": { "begin": [ - 52, - 16 + 729, + 75 ], "end": [ - 52, - 28 + 729, + 80 ], - "filename": "std/src/prelude/v1.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "960": { + "9568": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[allow(deprecated, deprecated_in_future)]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 960, + "id": 9568, + "inner": { + "use": { + "id": 9569, + "is_glob": false, + "name": "unimplemented", + "source": "core::unimplemented" + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 729, + 82 + ], + "end": [ + 729, + 95 + ], + "filename": "std/src/lib.rs" + }, + "visibility": "public" + }, + "957": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 957, "inner": { "function": { "generics": { @@ -771007,551 +790001,515 @@ "self", { "borrowed_ref": { - "is_mutable": true, + "is_mutable": false, "lifetime": null, "type": { "generic": "Self" } } } + ], + [ + "f", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 341, + "path": "fmt::Formatter" + } + } + } + } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "K" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" + "args": null, + "id": 342, + "path": "fmt::Result" } } } } }, "links": {}, - "name": "next", + "name": "fmt", "span": { "begin": [ - 2068, + 1588, 5 ], "end": [ - 2070, + 1590, 6 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9600": { + "9570": { "attrs": [ { - "other": "#[doc(alias = \"log1p\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[allow(deprecated, deprecated_in_future)]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `ln(1+n)` (natural logarithm) more accurately than if\nthe operations were performed separately.\n\nThis returns NaN when `n < -1.0`, and negative infinity when `n == -1.0`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `log1pf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 1e-4_f16;\n\n// for very small x, ln(1 + x) is approximately x - x^2 / 2\nlet approx = x - x * x / 2.0;\nlet abs_difference = (x.ln_1p() - approx).abs();\n\nassert!(abs_difference < 1e-4);\n# }\n```\n\nOut-of-range values:\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nassert_eq!((-1.0_f16).ln_1p(), f16::NEG_INFINITY);\nassert!((-2.0_f16).ln_1p().is_nan());\n# }\n```", - "id": 9600, + "docs": null, + "id": 9570, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 9571, + "is_glob": false, + "name": "unreachable", + "source": "core::unreachable" } }, "links": {}, - "name": "ln_1p", + "name": null, "span": { "begin": [ - 686, + 730, 5 ], "end": [ - 688, - 6 + 730, + 16 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9601": { + "9572": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[allow(deprecated, deprecated_in_future)]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `sinhf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet e = std::f16::consts::E;\nlet x = 1.0f16;\n\nlet f = x.sinh();\n// Solving sinh() at 1 gives `(e^2-1)/(2e)`\nlet g = ((e * e) - 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9601, + "docs": null, + "id": 9572, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 4144, + "is_glob": false, + "name": "write", + "source": "core::write" } }, "links": {}, - "name": "sinh", + "name": null, "span": { "begin": [ - 722, - 5 + 730, + 18 ], "end": [ - 724, - 6 + 730, + 23 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9602": { + "9573": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[allow(deprecated, deprecated_in_future)]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `coshf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet e = std::f16::consts::E;\nlet x = 1.0f16;\nlet f = x.cosh();\n// Solving cosh() at 1 gives this result\nlet g = ((e * e) + 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\n// Same result\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9602, + "docs": null, + "id": 9573, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } + "use": { + "id": 9574, + "is_glob": false, + "name": "writeln", + "source": "core::writeln" } }, "links": {}, - "name": "cosh", + "name": null, "span": { "begin": [ - 758, - 5 + 730, + 25 ], "end": [ - 760, - 6 + 730, + 32 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/lib.rs" }, "visibility": "public" }, - "9603": { + "9576": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[(not(test), rustc_diagnostic_item = \"eprint_macro\")]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[rustc_diagnostic_item = \"eprint_macro\"]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"eprint\"}}]" }, { - "other": "#[attr = AllowIncoherentImpl]" - } + "other": "#[attr = AllowInternalUnstable([\"print_internals\"])]" + }, + "macro_export" ], "crate_id": 0, "deprecation": null, - "docs": "Hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tanhf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet e = std::f16::consts::E;\nlet x = 1.0f16;\n\nlet f = x.tanh();\n// Solving tanh() at 1 gives `(1 - e^(-2))/(1 + e^(-2))`\nlet g = (1.0 - e.powi(-2)) / (1.0 + e.powi(-2));\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9603, + "docs": "Prints to the standard error.\n\nEquivalent to the [`print!`] macro, except that output goes to\n[`io::stderr`] instead of [`io::stdout`]. See [`print!`] for\nexample usage.\n\nUse `eprint!` only for error and progress messages. Use `print!`\ninstead for the primary output of your program.\n\n[`io::stderr`]: crate::io::stderr\n[`io::stdout`]: crate::io::stdout\n\nSee the formatting documentation in [`std::fmt`](crate::fmt)\nfor details of the macro argument syntax.\n\n# Panics\n\nPanics if writing to `io::stderr` fails.\n\nWriting to non-blocking stderr can cause an error, which will lead\nthis macro to panic.\n\n# Examples\n\n```\neprint!(\"Error: Could not complete task\");\n```", + "id": 9576, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } - } + "macro": "macro_rules! eprint {\n ($($arg:tt)*) => { ... };\n}" }, - "links": {}, - "name": "tanh", + "links": { + "`print!`": 9577, + "crate::fmt": 6995, + "crate::io::stderr": 3731, + "crate::io::stdout": 3650 + }, + "name": "eprint", "span": { "begin": [ - 794, - 5 + 178, + 1 ], "end": [ - 796, - 6 + 182, + 2 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/macros.rs" }, "visibility": "public" }, - "9604": { + "9577": { "attrs": [ { - "other": "#[doc(alias = \"arcsinh\")]" + "other": "#[(not(test), rustc_diagnostic_item = \"print_macro\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[rustc_diagnostic_item = \"print_macro\"]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = AllowInternalUnstable([\"print_internals\"])]" }, - { - "other": "#[attr = AllowIncoherentImpl]" - } + "macro_export" ], "crate_id": 0, "deprecation": null, - "docs": "Inverse hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 1.0f16;\nlet f = x.sinh().asinh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9604, + "docs": "Prints to the standard output.\n\nEquivalent to the [`println!`] macro except that a newline is not printed at\nthe end of the message.\n\nNote that stdout is frequently line-buffered by default so it may be\nnecessary to use [`io::stdout().flush()`][flush] to ensure the output is emitted\nimmediately.\n\nThe `print!` macro will lock the standard output on each call. If you call\n`print!` within a hot loop, this behavior may be the bottleneck of the loop.\nTo avoid this, lock stdout with [`io::stdout().lock()`][lock]:\n```\nuse std::io::{stdout, Write};\n\nlet mut lock = stdout().lock();\nwrite!(lock, \"hello world\").unwrap();\n```\n\nUse `print!` only for the primary output of your program. Use\n[`eprint!`] instead to print error and progress messages.\n\nSee the formatting documentation in [`std::fmt`](crate::fmt)\nfor details of the macro argument syntax.\n\n[flush]: crate::io::Write::flush\n[`println!`]: crate::println\n[`eprint!`]: crate::eprint\n[lock]: crate::io::Stdout\n\n# Panics\n\nPanics if writing to `io::stdout()` fails.\n\nWriting to non-blocking stdout can cause an error, which will lead\nthis macro to panic.\n\n# Examples\n\n```\nuse std::io::{self, Write};\n\nprint!(\"this \");\nprint!(\"will \");\nprint!(\"be \");\nprint!(\"on \");\nprint!(\"the \");\nprint!(\"same \");\nprint!(\"line \");\n\nio::stdout().flush().unwrap();\n\nprint!(\"this string has a newline, why not choose println! instead?\\n\");\n\nio::stdout().flush().unwrap();\n```", + "id": 9577, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } - } + "macro": "macro_rules! print {\n ($($arg:tt)*) => { ... };\n}" }, - "links": {}, - "name": "asinh", + "links": { + "crate::eprint": 9576, + "crate::fmt": 6995, + "crate::io::Stdout": 3651, + "crate::io::Write::flush": 2481, + "crate::println": 4418 + }, + "name": "print", "span": { "begin": [ - 825, - 5 + 82, + 1 ], "end": [ - 829, - 6 + 86, + 2 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/macros.rs" }, "visibility": "public" }, - "9605": { + "9578": { "attrs": [ { - "other": "#[doc(alias = \"arccosh\")]" + "other": "#[(not(test), rustc_diagnostic_item = \"eprintln_macro\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[rustc_diagnostic_item = \"eprintln_macro\"]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 19, patch: 0})}, feature: \"eprint\"}}]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = AllowInternalUnstable([\"print_internals\", \"format_args_nl\"])]" }, - { - "other": "#[attr = AllowIncoherentImpl]" - } + "macro_export" ], "crate_id": 0, "deprecation": null, - "docs": "Inverse hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 1.0f16;\nlet f = x.cosh().acosh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9605, + "docs": "Prints to the standard error, with a newline.\n\nEquivalent to the [`println!`] macro, except that output goes to\n[`io::stderr`] instead of [`io::stdout`]. See [`println!`] for\nexample usage.\n\nUse `eprintln!` only for error and progress messages. Use `println!`\ninstead for the primary output of your program.\n\nSee the formatting documentation in [`std::fmt`](crate::fmt)\nfor details of the macro argument syntax.\n\n[`io::stderr`]: crate::io::stderr\n[`io::stdout`]: crate::io::stdout\n[`println!`]: crate::println\n\n# Panics\n\nPanics if writing to `io::stderr` fails.\n\nWriting to non-blocking stderr can cause an error, which will lead\nthis macro to panic.\n\n# Examples\n\n```\neprintln!(\"Error: Could not complete task\");\n```", + "id": 9578, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } - } + "macro": "macro_rules! eprintln {\n () => { ... };\n ($($arg:tt)*) => { ... };\n}" }, - "links": {}, - "name": "acosh", + "links": { + "crate::fmt": 6995, + "crate::io::stderr": 3731, + "crate::io::stdout": 3650, + "crate::println": 4418 + }, + "name": "eprintln", "span": { "begin": [ - 858, - 5 + 216, + 1 ], "end": [ - 864, - 6 + 223, + 2 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/macros.rs" }, "visibility": "public" }, - "9606": { + "9579": { "attrs": [ { - "other": "#[doc(alias = \"arctanh\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[(not(test), rustc_diagnostic_item = \"dbg_macro\")]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[rustc_diagnostic_item = \"dbg_macro\"]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"dbg_macro\"}}]" }, + "macro_export" + ], + "crate_id": 0, + "deprecation": null, + "docs": "Prints and returns the value of a given expression for quick and dirty\ndebugging.\n\nAn example:\n\n```rust\nlet a = 2;\nlet b = dbg!(a * 2) + 1;\n// ^-- prints: [src/main.rs:2:9] a * 2 = 4\nassert_eq!(b, 5);\n```\n\nThe macro works by using the `Debug` implementation of the type of\nthe given expression to print the value to [stderr] along with the\nsource location of the macro invocation as well as the source code\nof the expression.\n\nInvoking the macro on an expression moves and takes ownership of it\nbefore returning the evaluated expression unchanged. If the type\nof the expression does not implement `Copy` and you don't want\nto give up ownership, you can instead borrow with `dbg!(&expr)`\nfor some expression `expr`.\n\nThe `dbg!` macro works exactly the same in release builds.\nThis is useful when debugging issues that only occur in release\nbuilds or when debugging in release mode is significantly faster.\n\nNote that the macro is intended as a debugging tool and therefore you\nshould avoid having uses of it in version control for long periods\n(other than in tests and similar).\nDebug output from production code is better done with other facilities\nsuch as the [`debug!`] macro from the [`log`] crate.\n\n# Stability\n\nThe exact output printed by this macro should not be relied upon\nand is subject to future changes.\n\n# Panics\n\nPanics if writing to `io::stderr` fails.\n\n# Further examples\n\nWith a method call:\n\n```rust\nfn foo(n: usize) {\n if let Some(_) = dbg!(n.checked_sub(4)) {\n // ...\n }\n}\n\nfoo(3)\n```\n\nThis prints to [stderr]:\n\n```text,ignore\n[src/main.rs:2:22] n.checked_sub(4) = None\n```\n\nNaive factorial implementation:\n\n```rust\nfn factorial(n: u32) -> u32 {\n if dbg!(n <= 1) {\n dbg!(1)\n } else {\n dbg!(n * factorial(n - 1))\n }\n}\n\ndbg!(factorial(4));\n```\n\nThis prints to [stderr]:\n\n```text,ignore\n[src/main.rs:2:8] n <= 1 = false\n[src/main.rs:2:8] n <= 1 = false\n[src/main.rs:2:8] n <= 1 = false\n[src/main.rs:2:8] n <= 1 = true\n[src/main.rs:3:9] 1 = 1\n[src/main.rs:7:9] n * factorial(n - 1) = 2\n[src/main.rs:7:9] n * factorial(n - 1) = 6\n[src/main.rs:7:9] n * factorial(n - 1) = 24\n[src/main.rs:9:1] factorial(4) = 24\n```\n\nThe `dbg!(..)` macro moves the input:\n\n```compile_fail\n/// A wrapper around `usize` which importantly is not Copyable.\n#[derive(Debug)]\nstruct NoCopy(usize);\n\nlet a = NoCopy(42);\nlet _ = dbg!(a); // <-- `a` is moved here.\nlet _ = dbg!(a); // <-- `a` is moved again; error!\n```\n\nYou can also use `dbg!()` without a value to just print the\nfile and line whenever it's reached.\n\nFinally, if you want to `dbg!(..)` multiple values, it will treat them as\na tuple (and return it, too):\n\n```\nassert_eq!(dbg!(1usize, 2u32), (1, 2));\n```\n\nHowever, a single argument with a trailing comma will still not be treated\nas a tuple, following the convention of ignoring trailing commas in macro\ninvocations. You can use a 1-tuple directly if you need one:\n\n```\nassert_eq!(1, dbg!(1u32,)); // trailing comma ignored\nassert_eq!((1,), dbg!((1u32,))); // 1-tuple\n```\n\n[stderr]: https://en.wikipedia.org/wiki/Standard_streams#Standard_error_(stderr)\n[`debug!`]: https://docs.rs/log/*/log/macro.debug.html\n[`log`]: https://crates.io/crates/log", + "id": 9579, + "inner": { + "macro": "macro_rules! dbg {\n () => { ... };\n ($val:expr $(,)?) => { ... };\n ($($val:expr),+ $(,)?) => { ... };\n}" + }, + "links": {}, + "name": "dbg", + "span": { + "begin": [ + 352, + 1 + ], + "end": [ + 381, + 2 + ], + "filename": "std/src/macros.rs" + }, + "visibility": "public" + }, + "958": { + "attrs": [ { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"std_debug\"}}]" } ], "crate_id": 0, "deprecation": null, - "docs": "Inverse hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet e = std::f16::consts::E;\nlet f = e.tanh().atanh();\n\nlet abs_difference = (f - e).abs();\n\nassert!(abs_difference <= 0.01);\n# }\n```", - "id": 9606, + "docs": null, + "id": 958, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } + }, "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 344, + "path": "Debug" + } + } + } + ], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 957 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 344, + "path": "Debug" } } }, "links": {}, - "name": "atanh", + "name": null, "span": { "begin": [ - 893, - 5 + 1587, + 1 ], "end": [ - 895, - 6 + 1591, + 2 ], - "filename": "std/src/num/f16.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9607": { + "9581": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[doc(alias = \"then_with\")]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[rustc_diagnostic_item = \"bool_then\"]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"lazy_bool_to_option\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tgammaf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n#![feature(float_gamma)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 5.0f16;\n\nlet abs_difference = (x.gamma() - 24.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9607, + "docs": "Returns `Some(f())` if the `bool` is [`true`](../std/keyword.true.html),\nor `None` otherwise.\n\n# Examples\n\n```\nassert_eq!(false.then(|| 0), None);\nassert_eq!(true.then(|| 0), Some(0));\n```\n\n```\nlet mut a = 0;\n\ntrue.then(|| { a += 1; });\nfalse.then(|| { a += 1; });\n\n// `a` is incremented once because the closure is evaluated lazily by\n// `then`.\nassert_eq!(a, 1);\n```", + "id": 9581, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "T" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] }, "has_body": true, "header": { @@ -771567,55 +790525,76 @@ { "generic": "Self" } + ], + [ + "f", + { + "generic": "F" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "gamma", + "name": "then", "span": { "begin": [ - 927, + 61, 5 ], "end": [ - 929, - 6 + 61, + 62 ], - "filename": "std/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/bool.rs" }, "visibility": "public" }, - "9608": { + "9582": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 62, patch: 0})}, feature: \"bool_to_option\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Natural logarithm of the absolute value of the gamma function\n\nThe integer part of the tuple indicates the sign of the gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `lgamma_r` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n#![feature(float_gamma)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 2.0f16;\n\nlet abs_difference = (x.ln_gamma().0 - 0.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9608, + "docs": "Returns `Some(t)` if the `bool` is [`true`](../std/keyword.true.html),\nor `None` otherwise.\n\nArguments passed to `then_some` are eagerly evaluated; if you are\npassing the result of a function call, it is recommended to use\n[`then`], which is lazily evaluated.\n\n[`then`]: bool::then\n\n# Examples\n\n```\nassert_eq!(false.then_some(0), None);\nassert_eq!(true.then_some(0), Some(0));\n```\n\n```\nlet mut a = 0;\nlet mut function_with_side_effects = || { a += 1; };\n\ntrue.then_some(function_with_side_effects());\nfalse.then_some(function_with_side_effects());\n\n// `a` is incremented twice because the value passed to `then_some` is\n// evaluated eagerly.\nassert_eq!(a, 2);\n```", + "id": 9582, "inner": { "function": { "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], "where_predicates": [] }, "has_body": true, @@ -771632,63 +790611,118 @@ { "generic": "Self" } + ], + [ + "t", + { + "generic": "T" + } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "f16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } }, - { - "primitive": "i32" - } - ] + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "ln_gamma", + "links": { + "bool::then": 9581 + }, + "name": "then_some", "span": { "begin": [ - 963, + 33, 5 ], "end": [ - 967, - 6 + 33, + 49 ], - "filename": "std/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/bool.rs" }, "visibility": "public" }, - "9609": { + "9583": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142748, is_soft: false}, feature: \"bool_to_result\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erff` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n#![feature(float_erf)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n/// The error function relates what percent of a normal distribution lies\n/// within `x` standard deviations (scaled by `1/sqrt(2)`).\nfn within_standard_deviations(x: f16) -> f16 {\n (x * std::f16::consts::FRAC_1_SQRT_2).erf() * 100.0\n}\n\n// 68% of a normal distribution is within one standard deviation\nassert!((within_standard_deviations(1.0) - 68.269).abs() < 0.1);\n// 95% of a normal distribution is within two standard deviations\nassert!((within_standard_deviations(2.0) - 95.450).abs() < 0.1);\n// 99.7% of a normal distribution is within three standard deviations\nassert!((within_standard_deviations(3.0) - 99.730).abs() < 0.1);\n# }\n```", - "id": 9609, + "docs": "Returns `Ok(())` if the `bool` is [`true`](../std/keyword.true.html),\nor `Err(f())` otherwise.\n\n# Examples\n\n```\n#![feature(bool_to_result)]\n\nassert_eq!(false.ok_or_else(|| 0), Err(0));\nassert_eq!(true.ok_or_else(|| 0), Ok(()));\n```\n\n```\n#![feature(bool_to_result)]\n\nlet mut a = 0;\n\nassert!(true.ok_or_else(|| { a += 1; }).is_ok());\nassert!(false.ok_or_else(|| { a += 1; }).is_err());\n\n// `a` is incremented once because the closure is evaluated lazily by\n// `ok_or_else`.\nassert_eq!(a, 1);\n```", + "id": 9583, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "E" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [], + "output": { + "generic": "E" + } + } + }, + "id": 15, + "path": "FnOnce" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] }, "has_body": true, "header": { @@ -771704,137 +790738,81 @@ { "generic": "Self" } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f16" - } - } - } - }, - "links": {}, - "name": "erf", - "span": { - "begin": [ - 1005, - 5 - ], - "end": [ - 1007, - 6 - ], - "filename": "std/src/num/f16.rs" - }, - "visibility": "public" - }, - "961": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 961, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "f", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "F" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "usize" - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + }, + { + "type": { + "generic": "E" + } } - }, - "id": 51, - "path": "Option" + ], + "constraints": [] } - } - ] + }, + "id": 57, + "path": "Result" + } } } } }, "links": {}, - "name": "size_hint", + "name": "ok_or_else", "span": { "begin": [ - 2072, + 128, 5 ], "end": [ - 2074, - 6 + 128, + 72 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/bool.rs" }, - "visibility": "default" + "visibility": "public" }, - "9610": { + "9584": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142748, is_soft: false}, feature: \"bool_to_result\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Complementary error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erfcf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n#![feature(float_erf)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\nlet x: f16 = 0.123;\n\nlet one = x.erf() + x.erfc();\nlet abs_difference = (one - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9610, + "docs": "Returns `Ok(())` if the `bool` is [`true`](../std/keyword.true.html),\nor `Err(err)` otherwise.\n\nArguments passed to `ok_or` are eagerly evaluated; if you are\npassing the result of a function call, it is recommended to use\n[`ok_or_else`], which is lazily evaluated.\n\n[`ok_or_else`]: bool::ok_or_else\n\n# Examples\n\n```\n#![feature(bool_to_result)]\n\nassert_eq!(false.ok_or(0), Err(0));\nassert_eq!(true.ok_or(0), Ok(()));\n```\n\n```\n#![feature(bool_to_result)]\n\nlet mut a = 0;\nlet mut function_with_side_effects = || { a += 1; };\n\nassert!(true.ok_or(function_with_side_effects()).is_ok());\nassert!(false.ok_or(function_with_side_effects()).is_err());\n\n// `a` is incremented twice because the value passed to `ok_or` is\n// evaluated eagerly.\nassert_eq!(a, 2);\n```", + "id": 9584, "inner": { "function": { "generics": { - "params": [], + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "E" + } + ], "where_predicates": [] }, "has_body": true, @@ -771851,45 +790829,69 @@ { "generic": "Self" } + ], + [ + "err", + { + "generic": "E" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [] + } + }, + { + "type": { + "generic": "E" + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, - "links": {}, - "name": "erfc", + "links": { + "bool::ok_or_else": 9583 + }, + "name": "ok_or", "span": { "begin": [ - 1039, + 98, 5 ], "end": [ - 1041, - 6 + 98, + 51 ], - "filename": "std/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/bool.rs" }, "visibility": "public" }, - "9611": { - "attrs": [ - { - "other": "#[(not(test))]" - } - ], - "crate_id": 0, + "9585": { + "attrs": [], + "crate_id": 1, "deprecation": null, "docs": null, - "id": 9611, + "id": 9585, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "f16" + "primitive": "bool" }, "generics": { "params": [], @@ -771899,34 +790901,10 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 9583, + 9582, + 9581, 9584, - 9585, - 9586, - 9587, - 9588, - 9589, - 9590, - 9591, - 9592, - 9593, - 9594, - 9595, - 9596, - 9597, - 9598, - 9599, - 9600, - 9601, - 9602, - 9603, - 9604, - 9605, - 9606, - 9607, - 9608, - 9609, - 9610 + 9583 ], "provided_trait_methods": [], "trait": null @@ -771936,751 +790914,1052 @@ "name": null, "span": { "begin": [ - 19, + 3, 1 ], "end": [ - 1042, - 2 + 3, + 10 ], - "filename": "std/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/bool.rs" }, "visibility": "default" }, - "9612": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9586": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "The radix or base of the internal representation of `f16`.", - "id": 9612, + "docs": null, + "id": 9586, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "impl": { + "blanket_impl": null, + "for": { + "primitive": "never" }, - "value": "2" + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 1, + "path": "Send" + } } }, "links": {}, - "name": "RADIX", - "span": { - "begin": [ - 142, - 5 - ], - "end": [ - 142, - 25 - ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, - "9613": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9587": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Number of significant digits in base 2.\n\nNote that the size of the mantissa in the bitwise representation is one\nsmaller than this since the leading 1 is not stored explicitly.", - "id": 9613, + "docs": null, + "id": 9587, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "impl": { + "blanket_impl": null, + "for": { + "primitive": "never" }, - "value": "11" + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } } }, "links": {}, - "name": "MANTISSA_DIGITS", - "span": { - "begin": [ - 149, - 5 - ], - "end": [ - 149, - 35 - ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" - }, - "visibility": "public" + "name": null, + "span": null, + "visibility": "default" }, - "9614": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9588": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Approximate number of significant digits in base 10.\n\nThis is the maximum x such that any decimal number with x\nsignificant digits can be converted to `f16` and back without loss.\n\nEqual to floor(log10 2[`MANTISSA_DIGITS`] − 1).\n\n[`MANTISSA_DIGITS`]: f16::MANTISSA_DIGITS", - "id": 9614, + "docs": null, + "id": 9588, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "impl": { + "blanket_impl": null, + "for": { + "primitive": "never" }, - "value": "3" - } - }, - "links": { - "f16::MANTISSA_DIGITS": 9613 - }, - "name": "DIGITS", - "span": { - "begin": [ - 160, - 5 - ], - "end": [ - 160, - 26 - ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" - }, - "visibility": "public" - }, - "9615": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"f16_epsilon\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "[Machine epsilon] value for `f16`.\n\nThis is the difference between `1.0` and the next larger representable number.\n\nEqual to 21 − [`MANTISSA_DIGITS`].\n\n[Machine epsilon]: https://en.wikipedia.org/wiki/Machine_epsilon\n[`MANTISSA_DIGITS`]: f16::MANTISSA_DIGITS", - "id": 9615, - "inner": { - "assoc_const": { - "type": { - "primitive": "f16" + "generics": { + "params": [], + "where_predicates": [] }, - "value": "9.7656e-4_f16" + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } } }, - "links": { - "f16::MANTISSA_DIGITS": 9613 - }, - "name": "EPSILON", - "span": { - "begin": [ - 172, - 5 - ], - "end": [ - 172, - 27 - ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "9616": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9589": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Largest finite `f16` value.\n\nEqual to\n(1 − 2−[`MANTISSA_DIGITS`]) 2[`MAX_EXP`].\n\n[`MANTISSA_DIGITS`]: f16::MANTISSA_DIGITS\n[`MAX_EXP`]: f16::MAX_EXP", - "id": 9616, + "docs": null, + "id": 9589, "inner": { - "assoc_const": { - "type": { - "primitive": "f16" + "impl": { + "blanket_impl": null, + "for": { + "primitive": "never" }, - "value": "6.5504e+4_f16" - } - }, - "links": { - "f16::MANTISSA_DIGITS": 9613, - "f16::MAX_EXP": 9620 - }, - "name": "MAX", - "span": { - "begin": [ - 196, - 5 - ], - "end": [ - 196, - 23 - ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" - }, - "visibility": "public" - }, - "9617": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Smallest finite `f16` value.\n\nEqual to −[`MAX`].\n\n[`MAX`]: f16::MAX", - "id": 9617, - "inner": { - "assoc_const": { - "type": { - "primitive": "f16" + "generics": { + "params": [], + "where_predicates": [] }, - "value": "-6.5504e+4_f16" + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } } }, - "links": { - "f16::MAX": 9616 - }, - "name": "MIN", - "span": { - "begin": [ - 180, - 5 - ], - "end": [ - 180, - 23 - ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "9618": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "959": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "One greater than the minimum possible *normal* power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact minimum possible *normal* power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all normal numbers representable by this type are\ngreater than or equal to 0.5 × 2MIN_EXP.", - "id": 9618, + "docs": null, + "id": 959, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] }, - "value": "-13" + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" + } + } + } } }, "links": {}, - "name": "MIN_EXP", + "name": "Item", "span": { "begin": [ - 206, + 2060, 5 ], "end": [ - 206, - 27 + 2060, + 23 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9619": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9590": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Smallest positive normal `f16` value.\n\nEqual to 2[`MIN_EXP`] − 1.\n\n[`MIN_EXP`]: f16::MIN_EXP", - "id": 9619, + "docs": null, + "id": 9590, "inner": { - "assoc_const": { - "type": { - "primitive": "f16" + "impl": { + "blanket_impl": null, + "for": { + "primitive": "never" }, - "value": "6.1035e-5_f16" + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } } }, - "links": { - "f16::MIN_EXP": 9618 - }, - "name": "MIN_POSITIVE", - "span": { - "begin": [ - 187, - 5 - ], - "end": [ - 187, - 32 - ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" - }, - "visibility": "public" + "links": {}, + "name": null, + "span": null, + "visibility": "default" }, - "962": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "9591": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 962, + "id": 9591, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "never" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "usize" - } + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, - "name": "count", - "span": { - "begin": [ - 2076, - 5 - ], - "end": [ - 2078, - 6 - ], - "filename": "std/src/collections/hash/map.rs" - }, + "name": null, + "span": null, "visibility": "default" }, - "9620": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9592": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "One greater than the maximum possible power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact maximum possible power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all numbers representable by this type are\nstrictly less than 2MAX_EXP.", - "id": 9620, + "docs": null, + "id": 9592, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "impl": { + "blanket_impl": { + "generic": "T" }, - "value": "16" + "for": { + "primitive": "never" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 319 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 321, + "path": "Borrow" + } } }, "links": {}, - "name": "MAX_EXP", + "name": null, "span": { "begin": [ - 215, - 5 + 212, + 1 ], "end": [ - 215, - 27 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "9621": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9593": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Minimum x for which 10x is normal.\n\nEqual to ceil(log10 [`MIN_POSITIVE`]).\n\n[`MIN_POSITIVE`]: f16::MIN_POSITIVE", - "id": 9621, + "docs": null, + "id": 9593, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "impl": { + "blanket_impl": { + "generic": "T" }, - "value": "-4" + "for": { + "primitive": "never" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 322 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 324, + "path": "BorrowMut" + } } }, - "links": { - "f16::MIN_POSITIVE": 9619 - }, - "name": "MIN_10_EXP", + "links": {}, + "name": null, "span": { "begin": [ - 223, - 5 + 221, + 1 ], "end": [ - 223, - 30 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, - "9622": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9594": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Maximum x for which 10x is normal.\n\nEqual to floor(log10 [`MAX`]).\n\n[`MAX`]: f16::MAX", - "id": 9622, + "docs": null, + "id": 9594, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "impl": { + "blanket_impl": { + "generic": "T" }, - "value": "4" + "for": { + "primitive": "never" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 422 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 424, + "path": "CloneToUninit" + } } }, - "links": { - "f16::MAX": 9616 - }, - "name": "MAX_10_EXP", + "links": {}, + "name": null, "span": { "begin": [ - 230, - 5 + 515, + 1 ], "end": [ - 230, - 30 + 515, + 42 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, - "visibility": "public" + "visibility": "default" }, - "9623": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"f16_nan\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9595": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Not a Number (NaN).\n\nNote that IEEE 754 doesn't define just a single NaN value; a plethora of bit patterns are\nconsidered to be NaN. Furthermore, the standard makes a difference between a \"signaling\" and\na \"quiet\" NaN, and allows inspecting its \"payload\" (the unspecified bits in the bit pattern)\nand its sign. See the [specification of NaN bit patterns](f32#nan-bit-patterns) for more\ninfo.\n\nThis constant is guaranteed to be a quiet NaN (on targets that follow the Rust assumptions\nthat the quiet/signaling bit being set to 1 indicates a quiet NaN). Beyond that, nothing is\nguaranteed about the specific bit pattern chosen here: both payload and sign are arbitrary.\nThe concrete bit pattern may change across Rust versions and target platforms.", - "id": 9623, + "docs": null, + "id": 9595, "inner": { - "assoc_const": { - "type": { - "primitive": "f16" + "impl": { + "blanket_impl": { + "generic": "T" }, - "value": "_" + "for": { + "primitive": "never" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 325 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } } }, - "links": { - "f32#nan-bit-patterns": 267 - }, - "name": "NAN", + "links": {}, + "name": null, "span": { "begin": [ - 247, - 5 + 767, + 1 ], "end": [ - 247, - 23 + 769, + 24 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9624": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9596": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Infinity (∞).", - "id": 9624, + "docs": null, + "id": 9596, "inner": { - "assoc_const": { - "type": { - "primitive": "f16" + "impl": { + "blanket_impl": { + "generic": "T" }, - "value": "_" + "for": { + "primitive": "never" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 327 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" + } } }, "links": {}, - "name": "INFINITY", + "name": null, "span": { "begin": [ - 251, - 5 + 785, + 1 ], "end": [ - 251, + 785, 28 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9625": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - } - ], - "crate_id": 1, + "9597": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Negative infinity (−∞).", - "id": 9625, + "docs": null, + "id": 9597, "inner": { - "assoc_const": { - "type": { - "primitive": "f16" + "impl": { + "blanket_impl": { + "generic": "T" }, - "value": "_" + "for": { + "primitive": "never" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 329, + 330 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" + } } }, "links": {}, - "name": "NEG_INFINITY", + "name": null, "span": { "begin": [ - 255, - 5 + 811, + 1 ], "end": [ - 255, - 32 + 813, + 27 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9626": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "9598": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this value is NaN.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet nan = f16::NAN;\nlet f = 7.0_f16;\n\nassert!(nan.is_nan());\nassert!(!f.is_nan());\n# }\n```", - "id": 9626, + "docs": null, + "id": 9598, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "for": { + "primitive": "never" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" + } ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "U" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 332, + 334 + ], + "provided_trait_methods": [], + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, "links": {}, - "name": "is_nan", + "name": null, "span": { "begin": [ - 289, - 5 + 827, + 1 ], "end": [ - 289, - 38 + 829, + 24 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, - "visibility": "public" + "visibility": "default" }, - "9627": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, + "9599": { + "attrs": [], + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this value is positive infinity or negative infinity, and\n`false` otherwise.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0f16;\nlet inf = f16::INFINITY;\nlet neg_inf = f16::NEG_INFINITY;\nlet nan = f16::NAN;\n\nassert!(!f.is_infinite());\nassert!(!nan.is_infinite());\n\nassert!(inf.is_infinite());\nassert!(neg_inf.is_infinite());\n# }\n```", - "id": 9627, + "docs": null, + "id": 9599, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "for": { + "primitive": "never" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, "links": {}, - "name": "is_infinite", + "name": null, "span": { "begin": [ - 315, - 5 + 138, + 1 ], "end": [ - 315, - 43 + 138, + 36 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, - "9628": { + "96": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[doc(no_inline)]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"builtin_macro_prelude\"}}]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this number is neither infinite nor NaN.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0f16;\nlet inf: f16 = f16::INFINITY;\nlet neg_inf: f16 = f16::NEG_INFINITY;\nlet nan: f16 = f16::NAN;\n\nassert!(f.is_finite());\n\nassert!(!nan.is_finite());\nassert!(!inf.is_finite());\nassert!(!neg_inf.is_finite());\n# }\n```", - "id": 9628, + "docs": null, + "id": 96, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "use": { + "id": 97, + "is_glob": false, + "name": "Clone", + "source": "core::prelude::v1::Clone" } }, "links": {}, - "name": "is_finite", + "name": null, "span": { "begin": [ - 341, - 5 + 52, + 30 ], "end": [ - 341, - 41 + 52, + 35 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "std/src/prelude/v1.rs" }, "visibility": "public" }, - "9629": { + "960": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the number is [subnormal].\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet min = f16::MIN_POSITIVE; // 6.1035e-5\nlet max = f16::MAX;\nlet lower_than_min = 1.0e-7_f16;\nlet zero = 0.0_f16;\n\nassert!(!min.is_subnormal());\nassert!(!max.is_subnormal());\n\nassert!(!zero.is_subnormal());\nassert!(!f16::NAN.is_subnormal());\nassert!(!f16::INFINITY.is_subnormal());\n// Values between `0` and `min` are Subnormal.\nassert!(lower_than_min.is_subnormal());\n# }\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", - "id": 9629, + "docs": null, + "id": 960, "inner": { "function": { "generics": { @@ -772691,7 +791970,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -772699,44 +791978,73 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "K" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "is_subnormal", + "name": "next", "span": { "begin": [ - 372, + 2063, 5 ], "end": [ - 372, - 44 + 2065, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "963": { - "attrs": [ - { - "other": "#[attr = Inline(Hint)]" - } - ], + "9600": { + "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 963, + "id": 9600, "inner": { - "function": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "never" + }, "generics": { "params": [ { @@ -772747,17 +792055,7 @@ "is_synthetic": false } }, - "name": "B" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "F" + "name": "T" } ], "where_predicates": [ @@ -772770,18 +792068,81 @@ "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 97, + "path": "Clone" } } } ], "generic_params": [], "type": { - "generic": "Self" + "generic": "T" } } - }, + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 85, + 1 + ], + "end": [ + 87, + 14 + ], + "filename": "checkouts/rust/library/alloc/src/borrow.rs" + }, + "visibility": "default" + }, + "9601": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9601, + "inner": { + "impl": { + "blanket_impl": { + "generic": "T" + }, + "for": { + "primitive": "never" + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ { "bound_predicate": { "bounds": [ @@ -772790,165 +792151,144 @@ "generic_params": [], "modifier": "none", "trait": { - "args": { - "parenthesized": { - "inputs": [ - { - "generic": "B" - }, - { - "qualified_path": { - "args": null, - "name": "Item", - "self_type": { - "generic": "Self" - }, - "trait": { - "args": null, - "id": 49, - "path": "" - } - } - } - ], - "output": { - "generic": "B" - } - } - }, - "id": 13, - "path": "FnMut" + "args": null, + "id": 436, + "path": "Display" + } + } + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "F" + "generic": "T" } } } ] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "init", - { - "generic": "B" - } - ], - [ - "f", - { - "generic": "F" - } - ] - ], - "is_c_variadic": false, - "output": { - "generic": "B" - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 434 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 161, + "path": "ToString" } } }, "links": {}, - "name": "fold", + "name": null, "span": { "begin": [ - 2080, - 5 + 2866, + 1 ], "end": [ - 2086, - 6 + 2866, + 46 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "9630": { + "9602": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if the number is neither zero, infinite, [subnormal], or NaN.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet min = f16::MIN_POSITIVE; // 6.1035e-5\nlet max = f16::MAX;\nlet lower_than_min = 1.0e-7_f16;\nlet zero = 0.0_f16;\n\nassert!(min.is_normal());\nassert!(max.is_normal());\n\nassert!(!zero.is_normal());\nassert!(!f16::NAN.is_normal());\nassert!(!f16::INFINITY.is_normal());\n// Values between `0` and `min` are Subnormal.\nassert!(!lower_than_min.is_normal());\n# }\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", - "id": 9630, + "docs": "The highest valid code point a `char` can have, `'\\u{10FFFF}'`.\n\nUnlike integer types, `char` actually has a gap in the middle,\nmeaning that the range of possible `char`s is smaller than you\nmight expect. Ranges of `char` will automatically hop this gap\nfor you:\n\n```\nlet dist = u32::from(char::MAX) - u32::from(char::MIN);\nlet size = (char::MIN..=char::MAX).count() as u32;\nassert!(size < dist);\n```\n\nDespite this gap, the [`MIN`] and `MAX` values can be used as bounds for\nall `char` values.\n\n[`MIN`]: char::MIN\n\n# Examples\n\n```\n# fn something_which_returns_char() -> char { 'a' }\nlet c: char = something_which_returns_char();\nassert!(c <= char::MAX);\n\nlet value_at_max = u32::from(char::MAX);\nassert_eq!(char::from_u32(value_at_max), Some('\\u{10FFFF}'));\nassert_eq!(char::from_u32(value_at_max + 1), None);\n```", + "id": 9602, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "assoc_const": { + "type": { + "primitive": "char" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "value": "'\\u{10FFFF}'" + } + }, + "links": { + "char::MIN": 9603 + }, + "name": "MAX", + "span": { + "begin": [ + 73, + 5 + ], + "end": [ + 73, + 24 + ], + "filename": "checkouts/rust/library/core/src/char/methods.rs" + }, + "visibility": "public" + }, + "9603": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"char_min\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The lowest valid code point a `char` can have, `'\\0'`.\n\nUnlike integer types, `char` actually has a gap in the middle,\nmeaning that the range of possible `char`s is smaller than you\nmight expect. Ranges of `char` will automatically hop this gap\nfor you:\n\n```\nlet dist = u32::from(char::MAX) - u32::from(char::MIN);\nlet size = (char::MIN..=char::MAX).count() as u32;\nassert!(size < dist);\n```\n\nDespite this gap, the `MIN` and [`MAX`] values can be used as bounds for\nall `char` values.\n\n[`MAX`]: char::MAX\n\n# Examples\n\n```\n# fn something_which_returns_char() -> char { 'a' }\nlet c: char = something_which_returns_char();\nassert!(char::MIN <= c);\n\nlet value_at_min = u32::from(char::MIN);\nassert_eq!(char::from_u32(value_at_min), Some('\\0'));\n```", + "id": 9603, + "inner": { + "assoc_const": { + "type": { + "primitive": "char" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "value": "'\\0'" } }, - "links": {}, - "name": "is_normal", + "links": { + "char::MAX": 9602 + }, + "name": "MIN", "span": { "begin": [ - 401, + 41, 5 ], "end": [ - 401, - 41 + 41, + 24 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9631": { + "9604": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_char_encode_utf8\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"unicode_encode_char\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the floating point category of the number. If only one property\nis going to be tested, it is generally faster to use the specific\npredicate instead.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nuse std::num::FpCategory;\n\nlet num = 12.4_f16;\nlet inf = f16::INFINITY;\n\nassert_eq!(num.classify(), FpCategory::Normal);\nassert_eq!(inf.classify(), FpCategory::Infinite);\n# }\n```", - "id": 9631, + "docs": "Encodes this character as UTF-8 into the provided byte buffer,\nand then returns the subslice of the buffer that contains the encoded character.\n\n# Panics\n\nPanics if the buffer is not large enough.\nA buffer of length four is large enough to encode any `char`.\n\n# Examples\n\nIn both of these examples, 'ß' takes two bytes to encode.\n\n```\nlet mut b = [0; 2];\n\nlet result = 'ß'.encode_utf8(&mut b);\n\nassert_eq!(result, \"ß\");\n\nassert_eq!(result.len(), 2);\n```\n\nA buffer that's too small:\n\n```should_panic\nlet mut b = [0; 1];\n\n// this panics\n'ß'.encode_utf8(&mut b);\n```", + "id": 9604, "inner": { "function": { "generics": { @@ -772969,49 +792309,98 @@ { "generic": "Self" } + ], + [ + "dst", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 4780, - "path": "FpCategory" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "primitive": "str" + } } } } } }, "links": {}, - "name": "classify", + "name": "encode_utf8", "span": { "begin": [ - 424, + 714, 5 ], "end": [ - 424, - 46 + 714, + 63 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9632": { + "9605": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121714, is_soft: false}, feature: \"char_max_len\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The maximum number of bytes required to [encode](char::encode_utf8) a `char` to\nUTF-8 encoding.", + "id": 9605, + "inner": { + "assoc_const": { + "type": { + "primitive": "usize" + }, + "value": "4" + } + }, + "links": { + "char::encode_utf8": 9604 + }, + "name": "MAX_LEN_UTF8", + "span": { + "begin": [ + 78, + 5 + ], + "end": [ + 78, + 34 + ], + "filename": "checkouts/rust/library/core/src/char/methods.rs" + }, + "visibility": "public" + }, + "9606": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_char_encode_utf16\",\npromotable: false}}]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 15, patch: 0})}, feature: \"unicode_encode_char\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` has a positive sign, including `+0.0`, NaNs with\npositive sign bit and positive infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_positive` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == 1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0_f16;\nlet g = -7.0_f16;\n\nassert!(f.is_sign_positive());\nassert!(!g.is_sign_positive());\n# }\n```", - "id": 9632, + "docs": "Encodes this character as native endian UTF-16 into the provided `u16` buffer,\nand then returns the subslice of the buffer that contains the encoded character.\n\n# Panics\n\nPanics if the buffer is not large enough.\nA buffer of length 2 is large enough to encode any `char`.\n\n# Examples\n\nIn both of these examples, '𝕊' takes two `u16`s to encode.\n\n```\nlet mut b = [0; 2];\n\nlet result = '𝕊'.encode_utf16(&mut b);\n\nassert_eq!(result.len(), 2);\n```\n\nA buffer that's too small:\n\n```should_panic\nlet mut b = [0; 1];\n\n// this panics\n'𝕊'.encode_utf16(&mut b);\n```", + "id": 9606, "inner": { "function": { "generics": { @@ -773032,47 +792421,173 @@ { "generic": "Self" } + ], + [ + "dst", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u16" + } + } + } + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u16" + } + } + } } } } }, + "links": {}, + "name": "encode_utf16", + "span": { + "begin": [ + 750, + 5 + ], + "end": [ + 750, + 67 + ], + "filename": "checkouts/rust/library/core/src/char/methods.rs" + }, + "visibility": "public" + }, + "9607": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 121714, is_soft: false}, feature: \"char_max_len\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The maximum number of two-byte units required to [encode](char::encode_utf16) a `char`\nto UTF-16 encoding.", + "id": 9607, + "inner": { + "assoc_const": { + "type": { + "primitive": "usize" + }, + "value": "2" + } + }, "links": { - "f32#nan-bit-patterns": 267 + "char::encode_utf16": 9606 }, - "name": "is_sign_positive", + "name": "MAX_LEN_UTF16", "span": { "begin": [ - 460, + 83, 5 ], "end": [ - 460, - 48 + 83, + 35 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9633": { + "9608": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "`U+FFFD REPLACEMENT CHARACTER` (�) is used in Unicode to represent a\ndecoding error.\n\nIt can occur, for example, when giving ill-formed UTF-8 bytes to\n[`String::from_utf8_lossy`](../std/string/struct.String.html#method.from_utf8_lossy).", + "id": 9608, + "inner": { + "assoc_const": { + "type": { + "primitive": "char" + }, + "value": "'\\u{FFFD}'" + } + }, + "links": {}, + "name": "REPLACEMENT_CHARACTER", + "span": { + "begin": [ + 91, + 5 + ], + "end": [ + 91, + 42 + ], + "filename": "checkouts/rust/library/core/src/char/methods.rs" + }, + "visibility": "public" + }, + "9609": { + "attrs": [ { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` has a negative sign, including `-0.0`, NaNs with\nnegative sign bit and negative infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_negative` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == -1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0_f16;\nlet g = -7.0_f16;\n\nassert!(!f.is_sign_negative());\nassert!(g.is_sign_negative());\n# }\n```", - "id": 9633, + "docs": "The version of [Unicode](https://www.unicode.org/) that the Unicode parts of\n`char` and `str` methods are based on.\n\nNew versions of Unicode are released regularly and subsequently all methods\nin the standard library depending on Unicode are updated. Therefore the\nbehavior of some `char` and `str` methods and the value of this constant\nchanges over time. This is *not* considered to be a breaking change.\n\nThe version numbering scheme is explained in\n[Unicode 11.0 or later, Section 3.1 Versions of the Unicode Standard](https://www.unicode.org/versions/Unicode11.0.0/ch03.pdf#page=4).", + "id": 9609, + "inner": { + "assoc_const": { + "type": { + "tuple": [ + { + "primitive": "u8" + }, + { + "primitive": "u8" + }, + { + "primitive": "u8" + } + ] + }, + "value": "crate::unicode::UNICODE_VERSION" + } + }, + "links": {}, + "name": "UNICODE_VERSION", + "span": { + "begin": [ + 104, + 5 + ], + "end": [ + 104, + 44 + ], + "filename": "checkouts/rust/library/core/src/char/methods.rs" + }, + "visibility": "public" + }, + "961": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 961, "inner": { "function": { "generics": { @@ -773083,7 +792598,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -773091,109 +792606,208 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "tuple": [ + { + "primitive": "usize" + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + ] } } } }, - "links": { - "f32#nan-bit-patterns": 267 - }, - "name": "is_sign_negative", + "links": {}, + "name": "size_hint", "span": { "begin": [ - 489, + 2067, 5 ], "end": [ - 489, - 48 + 2069, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9634": { + "9610": { "attrs": [ { - "other": "#[doc(alias = \"nextUp\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_funcs\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the least number greater than `self`.\n\nLet `TINY` be the smallest representable positive `f16`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`NEG_INFINITY`], this returns [`MIN`];\n - if `self` is `-TINY`, this returns -0.0;\n - if `self` is -0.0 or +0.0, this returns `TINY`;\n - if `self` is [`MAX`] or [`INFINITY`], this returns [`INFINITY`];\n - otherwise the unique least value greater than `self` is returned.\n\nThe identity `x.next_up() == -(-x).next_down()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_up().next_down()` also holds.\n\n```rust\n#![feature(f16)]\n# // FIXME(f16_f128): ABI issues on MSVC\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\n// f16::EPSILON is the difference between 1.0 and the next number up.\nassert_eq!(1.0f16.next_up(), 1.0 + f16::EPSILON);\n// But not for most numbers.\nassert!(0.1f16.next_up() < 0.1 + f16::EPSILON);\nassert_eq!(4356f16.next_up(), 4360.0);\n# }\n```\n\nThis operation corresponds to IEEE-754 `nextUp`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", - "id": 9634, + "docs": "Creates an iterator over the native endian UTF-16 encoded code points in `iter`,\nreturning unpaired surrogates as `Err`s.\n\n# Examples\n\nBasic usage:\n\n```\n// 𝄞music\nlet v = [\n 0xD834, 0xDD1E, 0x006d, 0x0075, 0x0073, 0xDD1E, 0x0069, 0x0063, 0xD834,\n];\n\nassert_eq!(\n char::decode_utf16(v)\n .map(|r| r.map_err(|e| e.unpaired_surrogate()))\n .collect::>(),\n vec![\n Ok('𝄞'),\n Ok('m'), Ok('u'), Ok('s'),\n Err(0xDD1E),\n Ok('i'), Ok('c'),\n Err(0xD834)\n ]\n);\n```\n\nA lossy decoder can be obtained by replacing `Err` results with the replacement character:\n\n```\n// 𝄞music\nlet v = [\n 0xD834, 0xDD1E, 0x006d, 0x0075, 0x0073, 0xDD1E, 0x0069, 0x0063, 0xD834,\n];\n\nassert_eq!(\n char::decode_utf16(v)\n .map(|r| r.unwrap_or(char::REPLACEMENT_CHARACTER))\n .collect::(),\n \"𝄞mus�ic�\"\n);\n```", + "id": 9610, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "I" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [], + "constraints": [ + { + "args": null, + "binding": { + "equality": { + "type": { + "primitive": "u16" + } + } + }, + "name": "Item" + } + ] + } + }, + "id": 47, + "path": "IntoIterator" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "I" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "self", + "iter", { - "generic": "Self" + "generic": "I" } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "qualified_path": { + "args": null, + "name": "IntoIter", + "self_type": { + "generic": "I" + }, + "trait": { + "args": null, + "id": 47, + "path": "IntoIterator" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 9611, + "path": "DecodeUtf16" + } } } } }, - "links": { - "Self::INFINITY": 9624, - "Self::MAX": 9616, - "Self::MIN": 9617, - "Self::NEG_INFINITY": 9625 - }, - "name": "next_up", + "links": {}, + "name": "decode_utf16", "span": { "begin": [ - 531, + 150, 5 ], "end": [ - 531, - 39 + 150, + 90 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9635": { + "9612": { "attrs": [ { - "other": "#[doc(alias = \"nextDown\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"const_char_convert\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_funcs\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the greatest number less than `self`.\n\nLet `TINY` be the smallest representable positive `f16`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`INFINITY`], this returns [`MAX`];\n - if `self` is `TINY`, this returns 0.0;\n - if `self` is -0.0 or +0.0, this returns `-TINY`;\n - if `self` is [`MIN`] or [`NEG_INFINITY`], this returns [`NEG_INFINITY`];\n - otherwise the unique greatest value less than `self` is returned.\n\nThe identity `x.next_down() == -(-x).next_up()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_down().next_up()` also holds.\n\n```rust\n#![feature(f16)]\n# // FIXME(f16_f128): ABI issues on MSVC\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 1.0f16;\n// Clamp value into range [0, 1).\nlet clamped = x.clamp(0.0, 1.0f16.next_down());\nassert!(clamped < 1.0);\nassert_eq!(clamped.next_up(), 1.0);\n# }\n```\n\nThis operation corresponds to IEEE-754 `nextDown`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", - "id": 9635, + "docs": "Converts a `u32` to a `char`.\n\nNote that all `char`s are valid [`u32`]s, and can be cast to one with\n[`as`](../std/keyword.as.html):\n\n```\nlet c = '💯';\nlet i = c as u32;\n\nassert_eq!(128175, i);\n```\n\nHowever, the reverse is not true: not all valid [`u32`]s are valid\n`char`s. `from_u32()` will return `None` if the input is not a valid value\nfor a `char`.\n\nFor an unsafe version of this function which ignores these checks, see\n[`from_u32_unchecked`].\n\n[`from_u32_unchecked`]: #method.from_u32_unchecked\n\n# Examples\n\nBasic usage:\n\n```\nlet c = char::from_u32(0x2764);\n\nassert_eq!(Some('❤'), c);\n```\n\nReturning `None` when the input is not a valid `char`:\n\n```\nlet c = char::from_u32(0x110000);\n\nassert_eq!(None, c);\n```", + "id": 9612, "inner": { "function": { "generics": { @@ -773210,54 +792824,69 @@ "sig": { "inputs": [ [ - "self", + "i", { - "generic": "Self" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "char" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": { - "Self::INFINITY": 9624, - "Self::MAX": 9616, - "Self::MIN": 9617, - "Self::NEG_INFINITY": 9625 + "`u32`": 4822 }, - "name": "next_down", + "name": "from_u32", "span": { "begin": [ - 586, + 196, 5 ], "end": [ - 586, - 41 + 196, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9636": { + "9613": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 81, patch: 0})}, feature: \"const_char_from_u32_unchecked\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_funcs\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Takes the reciprocal (inverse) of a number, `1/x`.\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): extendhfsf2, truncsfhf2, __gnu_h2f_ieee, __gnu_f2h_ieee missing for many platforms\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 2.0_f16;\nlet abs_difference = (x.recip() - (1.0 / x)).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9636, + "docs": "Converts a `u32` to a `char`, ignoring validity.\n\nNote that all `char`s are valid [`u32`]s, and can be cast to one with\n`as`:\n\n```\nlet c = '💯';\nlet i = c as u32;\n\nassert_eq!(128175, i);\n```\n\nHowever, the reverse is not true: not all valid [`u32`]s are valid\n`char`s. `from_u32_unchecked()` will ignore this, and blindly cast to\n`char`, possibly creating an invalid one.\n\n# Safety\n\nThis function is unsafe, as it may construct invalid `char` values.\n\nFor a safe version of this function, see the [`from_u32`] function.\n\n[`from_u32`]: #method.from_u32\n\n# Examples\n\nBasic usage:\n\n```\nlet c = unsafe { char::from_u32_unchecked(0x2764) };\n\nassert_eq!('❤', c);\n```", + "id": 9613, "inner": { "function": { "generics": { @@ -773269,54 +792898,59 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ - "self", + "i", { - "generic": "Self" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "char" } } } }, - "links": {}, - "name": "recip", + "links": { + "`u32`": 4822 + }, + "name": "from_u32_unchecked", "span": { "begin": [ - 622, + 237, 5 ], "end": [ - 622, - 37 + 237, + 59 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9637": { + "9614": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"const_char_convert\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"assoc_char_funcs\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts radians to degrees.\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): extendhfsf2, truncsfhf2, __gnu_h2f_ieee, __gnu_f2h_ieee missing for many platforms\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet angle = std::f16::consts::PI;\n\nlet abs_difference = (angle.to_degrees() - 180.0).abs();\nassert!(abs_difference <= 0.5);\n# }\n```", - "id": 9637, + "docs": "Converts a digit in the given radix to a `char`.\n\nA 'radix' here is sometimes also called a 'base'. A radix of two\nindicates a binary number, a radix of ten, decimal, and a radix of\nsixteen, hexadecimal, to give some common values. Arbitrary\nradices are supported.\n\n`from_digit()` will return `None` if the input is not a digit in\nthe given radix.\n\n# Panics\n\nPanics if given a radix larger than 36.\n\n# Examples\n\nBasic usage:\n\n```\nlet c = char::from_digit(4, 10);\n\nassert_eq!(Some('4'), c);\n\n// Decimal 11 is a single digit in base 16\nlet c = char::from_digit(11, 16);\n\nassert_eq!(Some('b'), c);\n```\n\nReturning `None` when the input is not a digit:\n\n```\nlet c = char::from_digit(20, 10);\n\nassert_eq!(None, c);\n```\n\nPassing a large radix, causing a panic:\n\n```should_panic\n// this panics\nlet _c = char::from_digit(1, 37);\n```", + "id": 9614, "inner": { "function": { "generics": { @@ -773333,49 +792967,68 @@ "sig": { "inputs": [ [ - "self", + "num", { - "generic": "Self" + "primitive": "u32" + } + ], + [ + "radix", + { + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "char" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "to_degrees", + "name": "from_digit", "span": { "begin": [ - 642, + 289, 5 ], "end": [ - 642, - 42 + 289, + 66 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9638": { + "9615": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"const_char_classify\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts degrees to radians.\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): extendhfsf2, truncsfhf2, __gnu_h2f_ieee, __gnu_f2h_ieee missing for many platforms\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet angle = 180.0f16;\n\nlet abs_difference = (angle.to_radians() - std::f16::consts::PI).abs();\n\nassert!(abs_difference <= 0.01);\n# }\n```", - "id": 9638, + "docs": "Checks if a `char` is a digit in the given radix.\n\nA 'radix' here is sometimes also called a 'base'. A radix of two\nindicates a binary number, a radix of ten, decimal, and a radix of\nsixteen, hexadecimal, to give some common values. Arbitrary\nradices are supported.\n\nCompared to [`is_numeric()`], this function only recognizes the characters\n`0-9`, `a-z` and `A-Z`.\n\n'Digit' is defined to be only the following characters:\n\n* `0-9`\n* `a-z`\n* `A-Z`\n\nFor a more comprehensive understanding of 'digit', see [`is_numeric()`].\n\n[`is_numeric()`]: #method.is_numeric\n\n# Panics\n\nPanics if given a radix smaller than 2 or larger than 36.\n\n# Examples\n\nBasic usage:\n\n```\nassert!('1'.is_digit(10));\nassert!('f'.is_digit(16));\nassert!(!'f'.is_digit(10));\n```\n\nPassing a large radix, causing a panic:\n\n```should_panic\n// this panics\n'1'.is_digit(37);\n```\n\nPassing a small radix, causing a panic:\n\n```should_panic\n// this panics\n'1'.is_digit(1);\n```", + "id": 9615, "inner": { "function": { "generics": { @@ -773396,48 +793049,57 @@ { "generic": "Self" } + ], + [ + "radix", + { + "primitive": "u32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "to_radians", + "name": "is_digit", "span": { "begin": [ - 665, + 343, 5 ], "end": [ - 665, - 41 + 343, + 52 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9639": { + "9616": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"char_to_digit\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 67, patch: 0})}, feature: \"const_char_convert\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the maximum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for maxNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids maxNum's problems with associativity.\nThis also matches the behavior of libm’s fmax. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\n#![feature(f16)]\n# #[cfg(target_arch = \"aarch64\")] { // FIXME(f16_F128): rust-lang/rust#123885\n\nlet x = 1.0f16;\nlet y = 2.0f16;\n\nassert_eq!(x.max(y), y);\n# }\n```", - "id": 9639, + "docs": "Converts a `char` to a digit in the given radix.\n\nA 'radix' here is sometimes also called a 'base'. A radix of two\nindicates a binary number, a radix of ten, decimal, and a radix of\nsixteen, hexadecimal, to give some common values. Arbitrary\nradices are supported.\n\n'Digit' is defined to be only the following characters:\n\n* `0-9`\n* `a-z`\n* `A-Z`\n\n# Errors\n\nReturns `None` if the `char` does not refer to a digit in the given radix.\n\n# Panics\n\nPanics if given a radix smaller than 2 or larger than 36.\n\n# Examples\n\nBasic usage:\n\n```\nassert_eq!('1'.to_digit(10), Some(1));\nassert_eq!('f'.to_digit(16), Some(15));\n```\n\nPassing a non-digit results in failure:\n\n```\nassert_eq!('f'.to_digit(10), None);\nassert_eq!('z'.to_digit(16), None);\n```\n\nPassing a large radix, causing a panic:\n\n```should_panic\n// this panics\nlet _ = '1'.to_digit(37);\n```\nPassing a small radix, causing a panic:\n\n```should_panic\n// this panics\nlet _ = '1'.to_digit(1);\n```", + "id": 9616, "inner": { "function": { "generics": { @@ -773460,234 +793122,64 @@ } ], [ - "other", + "radix", { - "primitive": "f16" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" - } - } - } - }, - "links": {}, - "name": "max", - "span": { - "begin": [ - 693, - 5 - ], - "end": [ - 693, - 46 - ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" - }, - "visibility": "public" - }, - "964": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 964, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "u32" + } } - } - ], - "constraints": [] - } - }, - "id": 746, - "path": "Keys" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false + ], + "constraints": [] } }, - "name": "V" + "id": 51, + "path": "Option" } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 959, - 960, - 961, - 962, - 963 - ], - "provided_trait_methods": [ - "next_chunk", - "size_hint", - "count", - "last", - "advance_by", - "nth", - "step_by", - "chain", - "zip", - "intersperse", - "intersperse_with", - "map", - "for_each", - "filter", - "filter_map", - "enumerate", - "peekable", - "skip_while", - "take_while", - "map_while", - "skip", - "take", - "scan", - "flat_map", - "flatten", - "map_windows", - "fuse", - "inspect", - "by_ref", - "collect", - "try_collect", - "collect_into", - "partition", - "partition_in_place", - "is_partitioned", - "try_fold", - "try_for_each", - "fold", - "reduce", - "try_reduce", - "all", - "any", - "find", - "find_map", - "try_find", - "position", - "rposition", - "max", - "min", - "max_by_key", - "max_by", - "min_by_key", - "min_by", - "rev", - "unzip", - "copied", - "cloned", - "cycle", - "array_chunks", - "sum", - "product", - "cmp", - "cmp_by", - "partial_cmp", - "partial_cmp_by", - "eq", - "eq_by", - "ne", - "lt", - "le", - "gt", - "ge", - "is_sorted", - "is_sorted_by", - "is_sorted_by_key", - "__iterator_get_unchecked" - ], - "trait": { - "args": null, - "id": 49, - "path": "Iterator" + } } } }, "links": {}, - "name": null, + "name": "to_digit", "span": { "begin": [ - 2064, - 1 + 402, + 5 ], "end": [ - 2087, - 2 + 402, + 59 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, - "visibility": "default" + "visibility": "public" }, - "9640": { + "9617": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": "this returns the escaped char as an iterator, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for minNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids minNum's problems with associativity.\nThis also matches the behavior of libm’s fmin. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\n#![feature(f16)]\n# #[cfg(target_arch = \"aarch64\")] { // FIXME(f16_F128): rust-lang/rust#123885\n\nlet x = 1.0f16;\nlet y = 2.0f16;\n\nassert_eq!(x.min(y), x);\n# }\n```", - "id": 9640, + "docs": "Returns an iterator that yields the hexadecimal Unicode escape of a\ncharacter as `char`s.\n\nThis will escape characters with the Rust syntax of the form\n`\\u{NNNNNN}` where `NNNNNN` is a hexadecimal representation.\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in '❤'.escape_unicode() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", '❤'.escape_unicode());\n```\n\nBoth are equivalent to:\n\n```\nprintln!(\"\\\\u{{2764}}\");\n```\n\nUsing [`to_string`](../std/string/trait.ToString.html#tymethod.to_string):\n\n```\nassert_eq!('❤'.escape_unicode().to_string(), \"\\\\u{2764}\");\n```", + "id": 9617, "inner": { "function": { "generics": { @@ -773698,7 +793190,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -773708,51 +793200,49 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": null, + "id": 9618, + "path": "EscapeUnicode" + } } } } }, "links": {}, - "name": "min", + "name": "escape_unicode", "span": { "begin": [ - 719, + 464, 5 ], "end": [ - 719, - 46 + 464, + 49 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9641": { + "9619": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"char_escape_debug\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": "this returns the escaped char as an iterator, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the maximum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f16::max`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(f16)]\n#![feature(float_minimum_maximum)]\n# #[cfg(target_arch = \"aarch64\")] { // FIXME(f16_F128): rust-lang/rust#123885\n\nlet x = 1.0f16;\nlet y = 2.0f16;\n\nassert_eq!(x.maximum(y), y);\nassert!(x.maximum(f16::NAN).is_nan());\n# }\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the greater\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", - "id": 9641, + "docs": "Returns an iterator that yields the literal escape code of a character\nas `char`s.\n\nThis will escape the characters similar to the [`Debug`](core::fmt::Debug) implementations\nof `str` or `char`.\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in '\\n'.escape_debug() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", '\\n'.escape_debug());\n```\n\nBoth are equivalent to:\n\n```\nprintln!(\"\\\\n\");\n```\n\nUsing [`to_string`](../std/string/trait.ToString.html#tymethod.to_string):\n\n```\nassert_eq!('\\n'.escape_debug().to_string(), \"\\\\n\");\n```", + "id": 9619, "inner": { "function": { "generics": { @@ -773763,7 +793253,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -773773,54 +793263,46 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": null, + "id": 9620, + "path": "EscapeDebug" + } } } } }, "links": { - "`f16::max`": 9639, - "f32#nan-bit-patterns": 267 + "core::fmt::Debug": 344 }, - "name": "maximum", + "name": "escape_debug", "span": { "begin": [ - 751, + 529, 5 ], "end": [ - 751, - 50 + 529, + 45 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9642": { + "962": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns the minimum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f16::min`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(f16)]\n#![feature(float_minimum_maximum)]\n# #[cfg(target_arch = \"aarch64\")] { // FIXME(f16_F128): rust-lang/rust#123885\n\nlet x = 1.0f16;\nlet y = 2.0f16;\n\nassert_eq!(x.minimum(y), x);\nassert!(x.minimum(f16::NAN).is_nan());\n# }\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the lesser\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", - "id": 9642, + "docs": null, + "id": 962, "inner": { "function": { "generics": { @@ -773831,7 +793313,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -773841,55 +793323,45 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "usize" } } } }, - "links": { - "`f16::min`": 9640, - "f32#nan-bit-patterns": 267 - }, - "name": "minimum", + "links": {}, + "name": "count", "span": { "begin": [ - 783, + 2071, 5 ], "end": [ - 783, - 50 + 2073, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9643": { + "9621": { "attrs": [ { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "must_use": { + "reason": "this returns the escaped char as an iterator, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\nThis returns NaN when *either* argument is NaN or if a combination of\n+inf and -inf is provided as arguments.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(target_arch = \"aarch64\")] { // FIXME(f16_F128): rust-lang/rust#123885\n\nassert_eq!(1f16.midpoint(4.0), 2.5);\nassert_eq!((-5.5f16).midpoint(8.0), 1.25);\n# }\n```", - "id": 9643, + "docs": "Returns an iterator that yields the literal escape code of a character\nas `char`s.\n\nThe default is chosen with a bias toward producing literals that are\nlegal in a variety of languages, including C++11 and similar C-family\nlanguages. The exact rules are:\n\n* Tab is escaped as `\\t`.\n* Carriage return is escaped as `\\r`.\n* Line feed is escaped as `\\n`.\n* Single quote is escaped as `\\'`.\n* Double quote is escaped as `\\\"`.\n* Backslash is escaped as `\\\\`.\n* Any character in the 'printable ASCII' range `0x20` .. `0x7e`\n inclusive is not escaped.\n* All other characters are given hexadecimal Unicode escapes; see\n [`escape_unicode`].\n\n[`escape_unicode`]: #method.escape_unicode\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in '\"'.escape_default() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", '\"'.escape_default());\n```\n\nBoth are equivalent to:\n\n```\nprintln!(\"\\\\\\\"\");\n```\n\nUsing [`to_string`](../std/string/trait.ToString.html#tymethod.to_string):\n\n```\nassert_eq!('\"'.escape_default().to_string(), \"\\\\\\\"\");\n```", + "id": 9621, "inner": { "function": { "generics": { @@ -773900,7 +793372,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -773910,107 +793382,64 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": null, + "id": 9622, + "path": "EscapeDefault" + } } } } }, "links": {}, - "name": "midpoint", + "name": "escape_default", "span": { "begin": [ - 806, + 585, 5 ], "end": [ - 806, - 51 + 585, + 49 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9644": { + "9623": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_char_len_utf\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Rounds toward zero and converts to any primitive integer type,\nassuming that the value is finite and fits in that type.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = 4.6_f16;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, 4);\n\nlet value = -128.9_f16;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, i8::MIN);\n# }\n```\n\n# Safety\n\nThe value must:\n\n* Not be `NaN`\n* Not be infinite\n* Be representable in the return type `Int`, after truncating off its fractional part", - "id": 9644, + "docs": "Returns the number of bytes this `char` would need if encoded in UTF-8.\n\nThat number of bytes is always between 1 and 4, inclusive.\n\n# Examples\n\nBasic usage:\n\n```\nlet len = 'A'.len_utf8();\nassert_eq!(len, 1);\n\nlet len = 'ß'.len_utf8();\nassert_eq!(len, 2);\n\nlet len = 'ℝ'.len_utf8();\nassert_eq!(len, 3);\n\nlet len = '💣'.len_utf8();\nassert_eq!(len, 4);\n```\n\nThe `&str` type guarantees that its contents are UTF-8, and so we can compare the length it\nwould take if each code point was represented as a `char` vs in the `&str` itself:\n\n```\n// as chars\nlet eastern = '東';\nlet capital = '京';\n\n// both can be represented as three bytes\nassert_eq!(3, eastern.len_utf8());\nassert_eq!(3, capital.len_utf8());\n\n// as a &str, these two are encoded in UTF-8\nlet tokyo = \"東京\";\n\nlet len = eastern.len_utf8() + capital.len_utf8();\n\n// we can see that they take six bytes total...\nassert_eq!(6, tokyo.len());\n\n// ... just like the &str\nassert_eq!(len, tokyo.len());\n```", + "id": 9623, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Int" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Int" - } - } - ], - "constraints": [] - } - }, - "id": 9645, - "path": "FloatToInt" - } - } - } - ], - "generic_params": [], - "type": { - "primitive": "f16" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, - "is_unsafe": true + "is_const": true, + "is_unsafe": false }, "sig": { "inputs": [ @@ -774023,41 +793452,44 @@ ], "is_c_variadic": false, "output": { - "generic": "Int" + "primitive": "usize" } } } }, "links": {}, - "name": "to_int_unchecked", + "name": "len_utf8", "span": { "begin": [ - 856, + 645, 5 ], "end": [ - 858, - 31 + 645, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9646": { + "9624": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_char_len_utf\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Raw transmutation to `u16`.\n\nThis is currently identical to `transmute::(self)` on all platforms.\n\nSee [`from_bits`](#method.from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\n# // FIXME(f16_f128): enable this once const casting works\n# // assert_ne!((1f16).to_bits(), 1f16 as u128); // to_bits() is not casting!\nassert_eq!((12.5f16).to_bits(), 0x4a40);\n# }\n```", - "id": 9646, + "docs": "Returns the number of 16-bit code units this `char` would need if\nencoded in UTF-16.\n\nThat number of code units is always either 1 or 2, for unicode scalar values in\nthe [basic multilingual plane] or [supplementary planes] respectively.\n\nSee the documentation for [`len_utf8()`] for more explanation of this\nconcept. This function is a mirror, but for UTF-16 instead of UTF-8.\n\n[basic multilingual plane]: http://www.unicode.org/glossary/#basic_multilingual_plane\n[supplementary planes]: http://www.unicode.org/glossary/#supplementary_planes\n[`len_utf8()`]: #method.len_utf8\n\n# Examples\n\nBasic usage:\n\n```\nlet n = 'ß'.len_utf16();\nassert_eq!(n, 1);\n\nlet len = '💣'.len_utf16();\nassert_eq!(len, 2);\n```", + "id": 9624, "inner": { "function": { "generics": { @@ -774082,30 +793514,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "u16" + "primitive": "usize" } } } }, "links": {}, - "name": "to_bits", + "name": "len_utf16", "span": { "begin": [ - 888, + 677, 5 ], "end": [ - 888, - 38 + 677, + 42 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9647": { + "9625": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -774115,8 +793547,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raw transmutation from `u16`.\n\nThis is currently identical to `transmute::(v)` on all platforms.\nIt turns out this is incredibly portable, for two reasons:\n\n* Floats and Ints have the same endianness on all supported platforms.\n* IEEE 754 very precisely specifies the bit layout of floats.\n\nHowever there is one caveat: prior to the 2008 version of IEEE 754, how\nto interpret the NaN signaling bit wasn't actually specified. Most platforms\n(notably x86 and ARM) picked the interpretation that was ultimately\nstandardized in 2008, but some didn't (notably MIPS). As a result, all\nsignaling NaNs on MIPS are quiet NaNs on x86, and vice-versa.\n\nRather than trying to preserve signaling-ness cross-platform, this\nimplementation favors preserving the exact bits. This means that\nany payloads encoded in NaNs will be preserved even if the result of\nthis method is sent over the network from an x86 machine to a MIPS one.\n\nIf the results of this method are only manipulated by the same\narchitecture that produced them, then there is no portability concern.\n\nIf the input isn't NaN, then there is no portability concern.\n\nIf you don't care about signalingness (very likely), then there is no\nportability concern.\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet v = f16::from_bits(0x4a40);\nassert_eq!(v, 12.5);\n# }\n```", - "id": 9647, + "docs": "Returns `true` if this `char` has the `Alphabetic` property.\n\n`Alphabetic` is described in Chapter 4 (Character Properties) of the [Unicode Standard] and\nspecified in the [Unicode Character Database][ucd] [`DerivedCoreProperties.txt`].\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n[ucd]: https://www.unicode.org/reports/tr44/\n[`DerivedCoreProperties.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/DerivedCoreProperties.txt\n\n# Examples\n\nBasic usage:\n\n```\nassert!('a'.is_alphabetic());\nassert!('京'.is_alphabetic());\n\nlet c = '💝';\n// love is many things, but it is not alphabetic\nassert!(!c.is_alphabetic());\n```", + "id": 9625, "inner": { "function": { "generics": { @@ -774127,55 +793559,58 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "v", + "self", { - "primitive": "u16" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "from_bits", + "name": "is_alphabetic", "span": { "begin": [ - 935, + 778, 5 ], "end": [ - 935, - 43 + 778, + 39 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9648": { + "9626": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_unicode_case_lookup\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nbig-endian (network) byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet bytes = 12.5f16.to_be_bytes();\nassert_eq!(bytes, [0x4a, 0x40]);\n# }\n```", - "id": 9648, + "docs": "Returns `true` if this `char` has the `Lowercase` property.\n\n`Lowercase` is described in Chapter 4 (Character Properties) of the [Unicode Standard] and\nspecified in the [Unicode Character Database][ucd] [`DerivedCoreProperties.txt`].\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n[ucd]: https://www.unicode.org/reports/tr44/\n[`DerivedCoreProperties.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/DerivedCoreProperties.txt\n\n# Examples\n\nBasic usage:\n\n```\nassert!('a'.is_lowercase());\nassert!('δ'.is_lowercase());\nassert!(!'A'.is_lowercase());\nassert!(!'Δ'.is_lowercase());\n\n// The various Chinese scripts and punctuation do not have case, and so:\nassert!(!'中'.is_lowercase());\nassert!(!' '.is_lowercase());\n```\n\nIn a const context:\n\n```\nconst CAPITAL_DELTA_IS_LOWERCASE: bool = 'Δ'.is_lowercase();\nassert!(!CAPITAL_DELTA_IS_LOWERCASE);\n```", + "id": 9626, "inner": { "function": { "generics": { @@ -774200,48 +793635,44 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "primitive": "bool" } } } }, - "links": { - "Self::from_bits": 9647 - }, - "name": "to_be_bytes", + "links": {}, + "name": "is_lowercase", "span": { "begin": [ - 961, + 819, 5 ], "end": [ - 961, - 46 + 819, + 44 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9649": { + "9627": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_unicode_case_lookup\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nlittle-endian byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet bytes = 12.5f16.to_le_bytes();\nassert_eq!(bytes, [0x40, 0x4a]);\n# }\n```", - "id": 9649, + "docs": "Returns `true` if this `char` has the `Uppercase` property.\n\n`Uppercase` is described in Chapter 4 (Character Properties) of the [Unicode Standard] and\nspecified in the [Unicode Character Database][ucd] [`DerivedCoreProperties.txt`].\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n[ucd]: https://www.unicode.org/reports/tr44/\n[`DerivedCoreProperties.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/DerivedCoreProperties.txt\n\n# Examples\n\nBasic usage:\n\n```\nassert!(!'a'.is_uppercase());\nassert!(!'δ'.is_uppercase());\nassert!('A'.is_uppercase());\nassert!('Δ'.is_uppercase());\n\n// The various Chinese scripts and punctuation do not have case, and so:\nassert!(!'中'.is_uppercase());\nassert!(!' '.is_uppercase());\n```\n\nIn a const context:\n\n```\nconst CAPITAL_DELTA_IS_UPPERCASE: bool = 'Δ'.is_uppercase();\nassert!(CAPITAL_DELTA_IS_UPPERCASE);\n```", + "id": 9627, "inner": { "function": { "generics": { @@ -774266,43 +793697,44 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "primitive": "bool" } } } }, - "links": { - "Self::from_bits": 9647 - }, - "name": "to_le_bytes", + "links": {}, + "name": "is_uppercase", "span": { "begin": [ - 985, + 860, 5 ], "end": [ - 985, - 46 + 860, + 44 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "965": { + "9628": { "attrs": [ { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"const_char_classify\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": null + } } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": null, - "id": 965, + "docs": "Returns `true` if this `char` has the `White_Space` property.\n\n`White_Space` is specified in the [Unicode Character Database][ucd] [`PropList.txt`].\n\n[ucd]: https://www.unicode.org/reports/tr44/\n[`PropList.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n\n# Examples\n\nBasic usage:\n\n```\nassert!(' '.is_whitespace());\n\n// line break\nassert!('\\n'.is_whitespace());\n\n// a non-breaking space\nassert!('\\u{A0}'.is_whitespace());\n\nassert!(!'越'.is_whitespace());\n```", + "id": 9628, "inner": { "function": { "generics": { @@ -774313,7 +793745,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -774321,53 +793753,47 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "bool" } } } }, "links": {}, - "name": "len", + "name": "is_whitespace", "span": { "begin": [ - 2091, + 893, 5 ], "end": [ - 2093, - 6 + 893, + 45 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, - "visibility": "default" + "visibility": "public" }, - "9650": { + "9629": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate, instead.\n\n[`to_be_bytes`]: f16::to_be_bytes\n[`to_le_bytes`]: f16::to_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet bytes = 12.5f16.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x4a, 0x40]\n } else {\n [0x40, 0x4a]\n }\n);\n# }\n```", - "id": 9650, + "docs": "Returns `true` if this `char` satisfies either [`is_alphabetic()`] or [`is_numeric()`].\n\n[`is_alphabetic()`]: #method.is_alphabetic\n[`is_numeric()`]: #method.is_numeric\n\n# Examples\n\nBasic usage:\n\n```\nassert!('٣'.is_alphanumeric());\nassert!('7'.is_alphanumeric());\nassert!('৬'.is_alphanumeric());\nassert!('¾'.is_alphanumeric());\nassert!('①'.is_alphanumeric());\nassert!('K'.is_alphanumeric());\nassert!('و'.is_alphanumeric());\nassert!('藏'.is_alphanumeric());\n```", + "id": 9629, "inner": { "function": { "generics": { @@ -774378,7 +793804,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -774392,105 +793818,185 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "primitive": "bool" } } } }, - "links": { - "Self::from_bits": 9647, - "f16::to_be_bytes": 9648, - "f16::to_le_bytes": 9649 - }, - "name": "to_ne_bytes", + "links": {}, + "name": "is_alphanumeric", "span": { "begin": [ - 1022, + 922, 5 ], "end": [ - 1022, - 46 + 922, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9651": { + "963": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in big endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f16::from_be_bytes([0x4a, 0x40]);\nassert_eq!(value, 12.5);\n# }\n```", - "id": 9651, + "docs": null, + "id": 963, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "B" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "Self" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "parenthesized": { + "inputs": [ + { + "generic": "B" + }, + { + "qualified_path": { + "args": null, + "name": "Item", + "self_type": { + "generic": "Self" + }, + "trait": { + "args": null, + "id": 49, + "path": "" + } + } + } + ], + "output": { + "generic": "B" + } + } + }, + "id": 13, + "path": "FnMut" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "init", + { + "generic": "B" + } + ], + [ + "f", + { + "generic": "F" } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "generic": "B" } } } }, - "links": { - "Self::from_bits": 9647 - }, - "name": "from_be_bytes", + "links": {}, + "name": "fold", "span": { "begin": [ - 1044, + 2075, 5 ], "end": [ - 1044, - 55 + 2081, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9652": { + "9630": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -774500,8 +794006,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in little endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f16::from_le_bytes([0x40, 0x4a]);\nassert_eq!(value, 12.5);\n# }\n```", - "id": 9652, + "docs": "Returns `true` if this `char` has the general category for control codes.\n\nControl codes (code points with the general category of `Cc`) are described in Chapter 4\n(Character Properties) of the [Unicode Standard] and specified in the [Unicode Character\nDatabase][ucd] [`UnicodeData.txt`].\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n[ucd]: https://www.unicode.org/reports/tr44/\n[`UnicodeData.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt\n\n# Examples\n\nBasic usage:\n\n```\n// U+009C, STRING TERMINATOR\nassert!('œ'.is_control());\nassert!(!'q'.is_control());\n```", + "id": 9630, "inner": { "function": { "generics": { @@ -774512,51 +794018,44 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, - "links": { - "Self::from_bits": 9647 - }, - "name": "from_le_bytes", + "links": {}, + "name": "is_control", "span": { "begin": [ - 1066, + 952, 5 ], "end": [ - 1066, - 55 + 952, + 36 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9653": { + "9631": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -774566,8 +794065,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in native endian.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: f16::from_be_bytes\n[`from_le_bytes`]: f16::from_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f16::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x4a, 0x40]\n} else {\n [0x40, 0x4a]\n});\nassert_eq!(value, 12.5);\n# }\n```", - "id": 9653, + "docs": "Returns `true` if this `char` has one of the general categories for numbers.\n\nThe general categories for numbers (`Nd` for decimal digits, `Nl` for letter-like numeric\ncharacters, and `No` for other numeric characters) are specified in the [Unicode Character\nDatabase][ucd] [`UnicodeData.txt`].\n\nThis method doesn't cover everything that could be considered a number, e.g. ideographic numbers like '三'.\nIf you want everything including characters with overlapping purposes then you might want to use\na unicode or language-processing library that exposes the appropriate character properties instead\nof looking at the unicode categories.\n\nIf you want to parse ASCII decimal digits (0-9) or ASCII base-N, use\n`is_ascii_digit` or `is_digit` instead.\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n[ucd]: https://www.unicode.org/reports/tr44/\n[`UnicodeData.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt\n\n# Examples\n\nBasic usage:\n\n```\nassert!('٣'.is_numeric());\nassert!('7'.is_numeric());\nassert!('৬'.is_numeric());\nassert!('¾'.is_numeric());\nassert!('①'.is_numeric());\nassert!(!'K'.is_numeric());\nassert!(!'و'.is_numeric());\nassert!(!'藏'.is_numeric());\nassert!(!'三'.is_numeric());\n```", + "id": 9631, "inner": { "function": { "generics": { @@ -774578,64 +794077,55 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "2", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, - "links": { - "Self::from_bits": 9647, - "f16::from_be_bytes": 9651, - "f16::from_le_bytes": 9652 - }, - "name": "from_ne_bytes", + "links": {}, + "name": "is_numeric", "span": { "begin": [ - 1099, + 1047, 5 ], "end": [ - 1099, - 55 + 1047, + 36 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9654": { + "9632": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the lowercase character as a new iterator, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the ordering between `self` and `other`.\n\nUnlike the standard partial comparison between floating point numbers,\nthis comparison always produces an ordering in accordance to\nthe `totalOrder` predicate as defined in the IEEE 754 (2008 revision)\nfloating point standard. The values are ordered in the following sequence:\n\n- negative quiet NaN\n- negative signaling NaN\n- negative infinity\n- negative numbers\n- negative subnormal numbers\n- negative zero\n- positive zero\n- positive subnormal numbers\n- positive numbers\n- positive infinity\n- positive signaling NaN\n- positive quiet NaN.\n\nThe ordering established by this function does not always agree with the\n[`PartialOrd`] and [`PartialEq`] implementations of `f16`. For example,\nthey consider negative and positive zero equal, while `total_cmp`\ndoesn't.\n\nThe interpretation of the signaling NaN bit follows the definition in\nthe IEEE 754 standard, which may not match the interpretation by some of\nthe older, non-conformant (e.g. MIPS) hardware implementations.\n\n# Example\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): extendhfsf2, truncsfhf2, __gnu_h2f_ieee, __gnu_f2h_ieee missing for many platforms\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nstruct GoodBoy {\n name: &'static str,\n weight: f16,\n}\n\nlet mut bois = vec![\n GoodBoy { name: \"Pucci\", weight: 0.1 },\n GoodBoy { name: \"Woofer\", weight: 99.0 },\n GoodBoy { name: \"Yapper\", weight: 10.0 },\n GoodBoy { name: \"Chonk\", weight: f16::INFINITY },\n GoodBoy { name: \"Abs. Unit\", weight: f16::NAN },\n GoodBoy { name: \"Floaty\", weight: -5.0 },\n];\n\nbois.sort_by(|a, b| a.weight.total_cmp(&b.weight));\n\n// `f16::NAN` could be positive or negative, which will affect the sort order.\nif f16::NAN.is_sign_negative() {\n bois.into_iter().map(|b| b.weight)\n .zip([f16::NAN, -5.0, 0.1, 10.0, 99.0, f16::INFINITY].iter())\n .for_each(|(a, b)| assert_eq!(a.to_bits(), b.to_bits()))\n} else {\n bois.into_iter().map(|b| b.weight)\n .zip([-5.0, 0.1, 10.0, 99.0, f16::INFINITY, f16::NAN].iter())\n .for_each(|(a, b)| assert_eq!(a.to_bits(), b.to_bits()))\n}\n# }\n```", - "id": 9654, + "docs": "Returns an iterator that yields the lowercase mapping of this `char` as one or more\n`char`s.\n\nIf this `char` does not have a lowercase mapping, the iterator yields the same `char`.\n\nIf this `char` has a one-to-one lowercase mapping given by the [Unicode Character\nDatabase][ucd] [`UnicodeData.txt`], the iterator yields that `char`.\n\n[ucd]: https://www.unicode.org/reports/tr44/\n[`UnicodeData.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt\n\nIf this `char` requires special considerations (e.g. multiple `char`s) the iterator yields\nthe `char`(s) given by [`SpecialCasing.txt`].\n\n[`SpecialCasing.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n\nThis operation performs an unconditional mapping without tailoring. That is, the conversion\nis independent of context and language.\n\nIn the [Unicode Standard], Chapter 4 (Character Properties) discusses case mapping in\ngeneral and Chapter 3 (Conformance) discusses the default algorithm for case conversion.\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in 'İ'.to_lowercase() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", 'İ'.to_lowercase());\n```\n\nBoth are equivalent to:\n\n```\nprintln!(\"i\\u{307}\");\n```\n\nUsing [`to_string`](../std/string/trait.ToString.html#tymethod.to_string):\n\n```\nassert_eq!('C'.to_lowercase().to_string(), \"c\");\n\n// Sometimes the result is more than one character:\nassert_eq!('İ'.to_lowercase().to_string(), \"i\\u{307}\");\n\n// Characters that do not have both uppercase and lowercase\n// convert into themselves.\nassert_eq!('山'.to_lowercase().to_string(), \"山\");\n```", + "id": 9632, "inner": { "function": { "generics": { @@ -774654,25 +794144,7 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "f16" - } - } + "generic": "Self" } ] ], @@ -774680,46 +794152,43 @@ "output": { "resolved_path": { "args": null, - "id": 2009, - "path": "Ordering" + "id": 9633, + "path": "ToLowercase" } } } } }, - "links": { - "`PartialEq`": 123, - "`PartialOrd`": 127 - }, - "name": "total_cmp", + "links": {}, + "name": "to_lowercase", "span": { "begin": [ - 1170, + 1117, 5 ], "end": [ - 1170, - 66 + 1117, + 45 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9655": { + "9634": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the uppercase character as a new iterator, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Restrict a value to a certain interval unless it is NaN.\n\nReturns `max` if `self` is greater than `max`, and `min` if `self` is\nless than `min`. Otherwise this returns `self`.\n\nNote that this function returns NaN if the initial value was NaN as\nwell.\n\n# Panics\n\nPanics if `min > max`, `min` is NaN, or `max` is NaN.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nassert!((-3.0f16).clamp(-2.0, 1.0) == -2.0);\nassert!((0.0f16).clamp(-2.0, 1.0) == 0.0);\nassert!((2.0f16).clamp(-2.0, 1.0) == 1.0);\nassert!((f16::NAN).clamp(-2.0, 1.0).is_nan());\n# }\n```", - "id": 9655, + "docs": "Returns an iterator that yields the uppercase mapping of this `char` as one or more\n`char`s.\n\nIf this `char` does not have an uppercase mapping, the iterator yields the same `char`.\n\nIf this `char` has a one-to-one uppercase mapping given by the [Unicode Character\nDatabase][ucd] [`UnicodeData.txt`], the iterator yields that `char`.\n\n[ucd]: https://www.unicode.org/reports/tr44/\n[`UnicodeData.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt\n\nIf this `char` requires special considerations (e.g. multiple `char`s) the iterator yields\nthe `char`(s) given by [`SpecialCasing.txt`].\n\n[`SpecialCasing.txt`]: https://www.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n\nThis operation performs an unconditional mapping without tailoring. That is, the conversion\nis independent of context and language.\n\nIn the [Unicode Standard], Chapter 4 (Character Properties) discusses case mapping in\ngeneral and Chapter 3 (Conformance) discusses the default algorithm for case conversion.\n\n[Unicode Standard]: https://www.unicode.org/versions/latest/\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in 'ß'.to_uppercase() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", 'ß'.to_uppercase());\n```\n\nBoth are equivalent to:\n\n```\nprintln!(\"SS\");\n```\n\nUsing [`to_string`](../std/string/trait.ToString.html#tymethod.to_string):\n\n```\nassert_eq!('c'.to_uppercase().to_string(), \"C\");\n\n// Sometimes the result is more than one character:\nassert_eq!('ß'.to_uppercase().to_string(), \"SS\");\n\n// Characters that do not have both uppercase and lowercase\n// convert into themselves.\nassert_eq!('山'.to_uppercase().to_string(), \"山\");\n```\n\n# Note on locale\n\nIn Turkish, the equivalent of 'i' in Latin has five forms instead of two:\n\n* 'Dotless': I / ı, sometimes written ï\n* 'Dotted': İ / i\n\nNote that the lowercase dotted 'i' is the same as the Latin. Therefore:\n\n```\nlet upper_i = 'i'.to_uppercase().to_string();\n```\n\nThe value of `upper_i` here relies on the language of the text: if we're\nin `en-US`, it should be `\"I\"`, but if we're in `tr_TR`, it should\nbe `\"İ\"`. `to_uppercase()` does not take this into account, and so:\n\n```\nlet upper_i = 'i'.to_uppercase().to_string();\n\nassert_eq!(upper_i, \"I\");\n```\n\nholds across languages.", + "id": 9634, "inner": { "function": { "generics": { @@ -774730,7 +794199,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -774740,60 +794209,55 @@ { "generic": "Self" } - ], - [ - "min", - { - "primitive": "f16" - } - ], - [ - "max", - { - "primitive": "f16" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": null, + "id": 9635, + "path": "ToUppercase" + } } } } }, "links": {}, - "name": "clamp", + "name": "to_uppercase", "span": { "begin": [ - 1229, + 1209, 5 ], "end": [ - 1229, - 60 + 1209, + 45 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9656": { + "9636": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + "other": "#[rustc_diagnostic_item = \"char_is_ascii\"]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 32, patch: 0})}, feature: \"const_char_is_ascii\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 3.5_f16;\nlet y = -3.5_f16;\n\nassert_eq!(x.abs(), x);\nassert_eq!(y.abs(), -y);\n\nassert!(f16::NAN.abs().is_nan());\n# }\n```", - "id": 9656, + "docs": "Checks if the value is within the ASCII range.\n\n# Examples\n\n```\nlet ascii = 'a';\nlet non_ascii = '❤';\n\nassert!(ascii.is_ascii());\nassert!(!non_ascii.is_ascii());\n```", + "id": 9636, "inner": { "function": { "generics": { @@ -774812,50 +794276,53 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "abs", + "name": "is_ascii", "span": { "begin": [ - 1270, + 1229, 5 ], "end": [ - 1270, - 35 + 1229, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9657": { + "9637": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number that represents the sign of `self`.\n\n- `1.0` if the number is positive, `+0.0` or `INFINITY`\n- `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`\n- NaN if the number is NaN\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 3.5_f16;\n\nassert_eq!(f.signum(), 1.0);\nassert_eq!(f16::NEG_INFINITY.signum(), -1.0);\n\nassert!(f16::NAN.signum().is_nan());\n# }\n```", - "id": 9657, + "docs": "Returns `Some` if the value is within the ASCII range,\nor `None` if it's not.\n\nThis is preferred to [`Self::is_ascii`] when you're passing the value\nalong to something else that can take [`ascii::Char`] rather than\nneeding to check again for itself whether the value is in ASCII.", + "id": 9637, "inner": { "function": { "generics": { @@ -774874,50 +794341,75 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": null, + "id": 609, + "path": "AsciiChar" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "signum", + "links": { + "`Self::is_ascii`": 9636, + "`ascii::Char`": 609 + }, + "name": "as_ascii", "span": { "begin": [ - 1299, + 1242, 5 ], "end": [ - 1299, - 37 + 1242, + 56 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9658": { + "9638": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number composed of the magnitude of `self` and the sign of\n`sign`.\n\nEqual to `self` if the sign of `self` and `sign` are the same, otherwise equal to `-self`.\nIf `self` is a NaN, then a NaN with the same payload as `self` and the sign bit of `sign` is\nreturned.\n\nIf `sign` is a NaN, then this operation will still carry over its sign into the result. Note\nthat IEEE 754 doesn't assign any meaning to the sign bit in case of a NaN, and as Rust\ndoesn't guarantee that the bit pattern of NaNs are conserved over arithmetic operations, the\nresult of `copysign` with `sign` being a NaN might produce an unexpected or non-portable\nresult. See the [specification of NaN bit patterns](primitive@f32#nan-bit-patterns) for more\ninfo.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 3.5_f16;\n\nassert_eq!(f.copysign(0.42), 3.5_f16);\nassert_eq!(f.copysign(-0.42), -3.5_f16);\nassert_eq!((-f).copysign(0.42), 3.5_f16);\nassert_eq!((-f).copysign(-0.42), -3.5_f16);\n\nassert!(f16::NAN.copysign(1.0).is_nan());\n# }\n```", - "id": 9658, + "docs": "Converts this char into an [ASCII character](`ascii::Char`), without\nchecking whether it is valid.\n\n# Safety\n\nThis char must be within the ASCII range, or else this is UB.", + "id": 9638, "inner": { "function": { "generics": { @@ -774929,65 +794421,69 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ "self", { - "generic": "Self" - } - ], - [ - "sign", - { - "primitive": "f16" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "resolved_path": { + "args": null, + "id": 609, + "path": "AsciiChar" + } } } } }, "links": { - "primitive@f32#nan-bit-patterns": 267 + "`ascii::Char`": 609 }, - "name": "copysign", + "name": "as_ascii_unchecked", "span": { "begin": [ - 1337, + 1260, 5 ], "end": [ - 1337, - 50 + 1260, + 65 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9659": { + "9639": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "to uppercase the value in-place, use `make_ascii_uppercase()`" } } ], "crate_id": 1, "deprecation": null, - "docs": "Float addition that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", - "id": 9659, + "docs": "Makes a copy of the value in its ASCII upper case equivalent.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo uppercase the value in-place, use [`make_ascii_uppercase()`].\n\nTo uppercase ASCII characters in addition to non-ASCII characters, use\n[`to_uppercase()`].\n\n# Examples\n\n```\nlet ascii = 'a';\nlet non_ascii = '❤';\n\nassert_eq!('A', ascii.to_ascii_uppercase());\nassert_eq!('❤', non_ascii.to_ascii_uppercase());\n```\n\n[`make_ascii_uppercase()`]: #method.make_ascii_uppercase\n[`to_uppercase()`]: #method.to_uppercase", + "id": 9639, "inner": { "function": { "generics": { @@ -775006,41 +794502,39 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "f16" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "char" } } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_add", + "links": {}, + "name": "to_ascii_uppercase", "span": { "begin": [ - 1349, + 1297, 5 ], "end": [ - 1349, - 54 + 1297, + 51 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "966": { + "964": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" @@ -775049,7 +794543,7 @@ "crate_id": 0, "deprecation": null, "docs": null, - "id": 966, + "id": 964, "inner": { "impl": { "blanket_impl": null, @@ -775059,7 +794553,7 @@ "angle_bracketed": { "args": [ { - "lifetime": "'_" + "lifetime": "'a" }, { "type": { @@ -775081,6 +794575,14 @@ }, "generics": { "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, { "kind": { "type": { @@ -775108,16 +794610,94 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 965 + 959, + 960, + 961, + 962, + 963 ], "provided_trait_methods": [ - "len", - "is_empty" + "next_chunk", + "size_hint", + "count", + "last", + "advance_by", + "nth", + "step_by", + "chain", + "zip", + "intersperse", + "intersperse_with", + "map", + "for_each", + "filter", + "filter_map", + "enumerate", + "peekable", + "skip_while", + "take_while", + "map_while", + "skip", + "take", + "scan", + "flat_map", + "flatten", + "map_windows", + "fuse", + "inspect", + "by_ref", + "collect", + "try_collect", + "collect_into", + "partition", + "partition_in_place", + "is_partitioned", + "try_fold", + "try_for_each", + "fold", + "reduce", + "try_reduce", + "all", + "any", + "find", + "find_map", + "try_find", + "position", + "rposition", + "max", + "min", + "max_by_key", + "max_by", + "min_by_key", + "min_by", + "rev", + "unzip", + "copied", + "cloned", + "cycle", + "array_chunks", + "sum", + "product", + "cmp", + "cmp_by", + "partial_cmp", + "partial_cmp_by", + "eq", + "eq_by", + "ne", + "lt", + "le", + "gt", + "ge", + "is_sorted", + "is_sorted_by", + "is_sorted_by_key", + "__iterator_get_unchecked" ], "trait": { "args": null, - "id": 43, - "path": "ExactSizeIterator" + "id": 49, + "path": "Iterator" } } }, @@ -775125,35 +794705,35 @@ "name": null, "span": { "begin": [ - 2089, + 2059, 1 ], "end": [ - 2094, + 2082, 2 ], "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9660": { + "9640": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "to lowercase the value in-place, use `make_ascii_lowercase()`" } } ], "crate_id": 1, "deprecation": null, - "docs": "Float subtraction that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", - "id": 9660, + "docs": "Makes a copy of the value in its ASCII lower case equivalent.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo lowercase the value in-place, use [`make_ascii_lowercase()`].\n\nTo lowercase ASCII characters in addition to non-ASCII characters, use\n[`to_lowercase()`].\n\n# Examples\n\n```\nlet ascii = 'A';\nlet non_ascii = '❤';\n\nassert_eq!('a', ascii.to_ascii_lowercase());\nassert_eq!('❤', non_ascii.to_ascii_lowercase());\n```\n\n[`make_ascii_lowercase()`]: #method.make_ascii_lowercase\n[`to_lowercase()`]: #method.to_lowercase", + "id": 9640, "inner": { "function": { "generics": { @@ -775172,58 +794752,51 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "f16" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "char" } } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_sub", + "links": {}, + "name": "to_ascii_lowercase", "span": { "begin": [ - 1360, + 1331, 5 ], "end": [ - 1360, - 54 + 1331, + 51 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9661": { + "9641": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"const_ascii_methods_on_intrinsics\",\npromotable: false}}]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Float multiplication that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", - "id": 9661, + "docs": "Checks that two values are an ASCII case-insensitive match.\n\nEquivalent to [to_ascii_lowercase]\\(a) == [to_ascii_lowercase]\\(b).\n\n# Examples\n\n```\nlet upper_a = 'A';\nlet lower_a = 'a';\nlet lower_z = 'z';\n\nassert!(upper_a.eq_ignore_ascii_case(&lower_a));\nassert!(upper_a.eq_ignore_ascii_case(&upper_a));\nassert!(!upper_a.eq_ignore_ascii_case(&lower_z));\n```\n\n[to_ascii_lowercase]: #method.to_ascii_lowercase", + "id": 9641, "inner": { "function": { "generics": { @@ -775242,58 +794815,63 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "rhs", + "other", { - "primitive": "f16" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "char" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_mul", + "links": {}, + "name": "eq_ignore_ascii_case", "span": { "begin": [ - 1371, + 1359, 5 ], "end": [ - 1371, - 54 + 1359, + 67 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9662": { + "9642": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Float division that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", - "id": 9662, + "docs": "Converts this type to its ASCII upper case equivalent in-place.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo return a new uppercased value without modifying the existing one, use\n[`to_ascii_uppercase()`].\n\n# Examples\n\n```\nlet mut ascii = 'a';\n\nascii.make_ascii_uppercase();\n\nassert_eq!('A', ascii);\n```\n\n[`to_ascii_uppercase()`]: #method.to_ascii_uppercase", + "id": 9642, "inner": { "function": { "generics": { @@ -775312,58 +794890,49 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "f16" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, - "output": { - "primitive": "f16" - } + "output": null } - } - }, - "links": { - "primitive@f32#algebraic-operators": 267 + } }, - "name": "algebraic_div", + "links": {}, + "name": "make_ascii_uppercase", "span": { "begin": [ - 1382, + 1385, 5 ], "end": [ - 1382, - 54 + 1385, + 49 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9663": { + "9643": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Float remainder that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", - "id": 9663, + "docs": "Converts this type to its ASCII lower case equivalent in-place.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo return a new lowercased value without modifying the existing one, use\n[`to_ascii_lowercase()`].\n\n# Examples\n\n```\nlet mut ascii = 'A';\n\nascii.make_ascii_lowercase();\n\nassert_eq!('a', ascii);\n```\n\n[`to_ascii_lowercase()`]: #method.to_ascii_lowercase", + "id": 9643, "inner": { "function": { "generics": { @@ -775382,149 +794951,54 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "f16" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, - "output": { - "primitive": "f16" - } + "output": null } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_rem", + "links": {}, + "name": "make_ascii_lowercase", "span": { "begin": [ - 1393, + 1411, 5 ], "end": [ - 1393, - 54 + 1411, + 49 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9664": { - "attrs": [], - "crate_id": 1, - "deprecation": null, - "docs": null, - "id": 9664, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f16" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9612, - 9613, - 9614, - 9615, - 9617, - 9619, - 9616, - 9618, - 9620, - 9621, - 9622, - 9623, - 9624, - 9625, - 9626, - 9627, - 9628, - 9629, - 9630, - 9631, - 9632, - 9633, - 9634, - 9635, - 9636, - 9637, - 9638, - 9639, - 9640, - 9641, - 9642, - 9643, - 9644, - 9646, - 9647, - 9648, - 9649, - 9650, - 9651, - 9652, - 9653, - 9654, - 9655, - 9656, - 9657, - 9658, - 9659, - 9660, - 9661, - 9662, - 9663 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 136, - 1 - ], - "end": [ - 136, - 9 - ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" - }, - "visibility": "default" - }, - "9665": { + "9644": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the largest integer less than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 3.7_f16;\nlet g = 3.0_f16;\nlet h = -3.7_f16;\n\nassert_eq!(f.floor(), 3.0);\nassert_eq!(g.floor(), 3.0);\nassert_eq!(h.floor(), -4.0);\n# }\n```", - "id": 9665, + "docs": "Checks if the value is an ASCII alphabetic character:\n\n- U+0041 'A' ..= U+005A 'Z', or\n- U+0061 'a' ..= U+007A 'z'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(uppercase_a.is_ascii_alphabetic());\nassert!(uppercase_g.is_ascii_alphabetic());\nassert!(a.is_ascii_alphabetic());\nassert!(g.is_ascii_alphabetic());\nassert!(!zero.is_ascii_alphabetic());\nassert!(!percent.is_ascii_alphabetic());\nassert!(!space.is_ascii_alphabetic());\nassert!(!lf.is_ascii_alphabetic());\nassert!(!esc.is_ascii_alphabetic());\n```", + "id": 9644, "inner": { "function": { "generics": { @@ -775543,53 +795017,56 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "floor", + "name": "is_ascii_alphabetic", "span": { "begin": [ - 1428, + 1447, 5 ], "end": [ - 1428, - 36 + 1447, + 52 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9666": { + "9645": { "attrs": [ { - "other": "#[doc(alias = \"ceiling\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest integer greater than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 3.01_f16;\nlet g = 4.0_f16;\n\nassert_eq!(f.ceil(), 4.0);\nassert_eq!(g.ceil(), 4.0);\n# }\n```", - "id": 9666, + "docs": "Checks if the value is an ASCII uppercase character:\nU+0041 'A' ..= U+005A 'Z'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(uppercase_a.is_ascii_uppercase());\nassert!(uppercase_g.is_ascii_uppercase());\nassert!(!a.is_ascii_uppercase());\nassert!(!g.is_ascii_uppercase());\nassert!(!zero.is_ascii_uppercase());\nassert!(!percent.is_ascii_uppercase());\nassert!(!space.is_ascii_uppercase());\nassert!(!lf.is_ascii_uppercase());\nassert!(!esc.is_ascii_uppercase());\n```", + "id": 9645, "inner": { "function": { "generics": { @@ -775608,50 +795085,56 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "ceil", + "name": "is_ascii_uppercase", "span": { "begin": [ - 1457, + 1481, 5 ], "end": [ - 1457, - 35 + 1481, + 51 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9667": { + "9646": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the nearest integer to `self`. If a value is half-way between two\nintegers, round away from `0.0`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 3.3_f16;\nlet g = -3.3_f16;\nlet h = -3.7_f16;\nlet i = 3.5_f16;\nlet j = 4.5_f16;\n\nassert_eq!(f.round(), 3.0);\nassert_eq!(g.round(), -3.0);\nassert_eq!(h.round(), -4.0);\nassert_eq!(i.round(), 4.0);\nassert_eq!(j.round(), 5.0);\n# }\n```", - "id": 9667, + "docs": "Checks if the value is an ASCII lowercase character:\nU+0061 'a' ..= U+007A 'z'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(!uppercase_a.is_ascii_lowercase());\nassert!(!uppercase_g.is_ascii_lowercase());\nassert!(a.is_ascii_lowercase());\nassert!(g.is_ascii_lowercase());\nassert!(!zero.is_ascii_lowercase());\nassert!(!percent.is_ascii_lowercase());\nassert!(!space.is_ascii_lowercase());\nassert!(!lf.is_ascii_lowercase());\nassert!(!esc.is_ascii_lowercase());\n```", + "id": 9646, "inner": { "function": { "generics": { @@ -775670,50 +795153,56 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "round", + "name": "is_ascii_lowercase", "span": { "begin": [ - 1492, + 1515, 5 ], "end": [ - 1492, - 36 + 1515, + 51 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9668": { + "9647": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the nearest integer to a number. Rounds half-way cases to the number\nwith an even least significant digit.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 3.3_f16;\nlet g = -3.3_f16;\nlet h = 3.5_f16;\nlet i = 4.5_f16;\n\nassert_eq!(f.round_ties_even(), 3.0);\nassert_eq!(g.round_ties_even(), -3.0);\nassert_eq!(h.round_ties_even(), 4.0);\nassert_eq!(i.round_ties_even(), 4.0);\n# }\n```", - "id": 9668, + "docs": "Checks if the value is an ASCII alphanumeric character:\n\n- U+0041 'A' ..= U+005A 'Z', or\n- U+0061 'a' ..= U+007A 'z', or\n- U+0030 '0' ..= U+0039 '9'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(uppercase_a.is_ascii_alphanumeric());\nassert!(uppercase_g.is_ascii_alphanumeric());\nassert!(a.is_ascii_alphanumeric());\nassert!(g.is_ascii_alphanumeric());\nassert!(zero.is_ascii_alphanumeric());\nassert!(!percent.is_ascii_alphanumeric());\nassert!(!space.is_ascii_alphanumeric());\nassert!(!lf.is_ascii_alphanumeric());\nassert!(!esc.is_ascii_alphanumeric());\n```", + "id": 9647, "inner": { "function": { "generics": { @@ -775732,53 +795221,56 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "round_ties_even", + "name": "is_ascii_alphanumeric", "span": { "begin": [ - 1525, + 1552, 5 ], "end": [ - 1525, - 46 + 1552, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9669": { + "9648": { "attrs": [ { - "other": "#[doc(alias = \"truncate\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the integer part of `self`.\nThis means that non-integer numbers are always truncated towards zero.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 3.7_f16;\nlet g = 3.0_f16;\nlet h = -3.7_f16;\n\nassert_eq!(f.trunc(), 3.0);\nassert_eq!(g.trunc(), 3.0);\nassert_eq!(h.trunc(), -3.0);\n# }\n```", - "id": 9669, + "docs": "Checks if the value is an ASCII decimal digit:\nU+0030 '0' ..= U+0039 '9'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(!uppercase_a.is_ascii_digit());\nassert!(!uppercase_g.is_ascii_digit());\nassert!(!a.is_ascii_digit());\nassert!(!g.is_ascii_digit());\nassert!(zero.is_ascii_digit());\nassert!(!percent.is_ascii_digit());\nassert!(!space.is_ascii_digit());\nassert!(!lf.is_ascii_digit());\nassert!(!esc.is_ascii_digit());\n```", + "id": 9648, "inner": { "function": { "generics": { @@ -775797,141 +795289,53 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "trunc", + "name": "is_ascii_digit", "span": { "begin": [ - 1556, + 1586, 5 ], "end": [ - 1556, - 36 - ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" - }, - "visibility": "public" - }, - "967": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 967, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'_" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 746, - "path": "Keys" - } - }, - "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 878, - "path": "FusedIterator" - } - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 2096, - 1 - ], - "end": [ - 2096, + 1586, 47 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, - "visibility": "default" + "visibility": "public" }, - "9670": { + "9649": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 101288, is_soft: false}, feature: \"is_ascii_octdigit\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the fractional part of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 3.6_f16;\nlet y = -3.6_f16;\nlet abs_difference_x = (x.fract() - 0.6).abs();\nlet abs_difference_y = (y.fract() - (-0.6)).abs();\n\nassert!(abs_difference_x <= f16::EPSILON);\nassert!(abs_difference_y <= f16::EPSILON);\n# }\n```", - "id": 9670, + "docs": "Checks if the value is an ASCII octal digit:\nU+0030 '0' ..= U+0037 '7'.\n\n# Examples\n\n```\n#![feature(is_ascii_octdigit)]\n\nlet uppercase_a = 'A';\nlet a = 'a';\nlet zero = '0';\nlet seven = '7';\nlet nine = '9';\nlet percent = '%';\nlet lf = '\\n';\n\nassert!(!uppercase_a.is_ascii_octdigit());\nassert!(!a.is_ascii_octdigit());\nassert!(zero.is_ascii_octdigit());\nassert!(seven.is_ascii_octdigit());\nassert!(!nine.is_ascii_octdigit());\nassert!(!percent.is_ascii_octdigit());\nassert!(!lf.is_ascii_octdigit());\n```", + "id": 9649, "inner": { "function": { "generics": { @@ -775950,50 +795354,48 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "fract", + "name": "is_ascii_octdigit", "span": { "begin": [ - 1586, + 1617, 5 ], "end": [ - 1586, - 36 + 1617, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9671": { + "965": { "attrs": [ { - "other": "#[doc(alias = \"fmaf16\", alias = \"fusedMultiplyAdd\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = Inline(Hint)]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Fused multiply-add. Computes `(self * a) + b` with only one rounding\nerror, yielding a more accurate result than an unfused multiply-add.\n\nUsing `mul_add` *may* be more performant than an unfused multiply-add if\nthe target architecture has a dedicated `fma` CPU instruction. However,\nthis is not always true, and will be heavily dependant on designing\nalgorithms with specific target hardware in mind.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as\n`fusedMultiplyAdd` and guaranteed not to change.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet m = 10.0_f16;\nlet x = 4.0_f16;\nlet b = 60.0_f16;\n\nassert_eq!(m.mul_add(x, b), 100.0);\nassert_eq!(m * x + b, 100.0);\n\nlet one_plus_eps = 1.0_f16 + f16::EPSILON;\nlet one_minus_eps = 1.0_f16 - f16::EPSILON;\nlet minus_one = -1.0_f16;\n\n// The exact result (1 + eps) * (1 - eps) = 1 - eps * eps.\nassert_eq!(one_plus_eps.mul_add(one_minus_eps, minus_one), -f16::EPSILON * f16::EPSILON);\n// Different rounding with the non-fused multiply and add.\nassert_eq!(one_plus_eps * one_minus_eps + minus_one, 0.0);\n# }\n```", - "id": 9671, + "docs": null, + "id": 965, "inner": { "function": { "generics": { @@ -776012,59 +795414,56 @@ [ "self", { - "generic": "Self" - } - ], - [ - "a", - { - "primitive": "f16" - } - ], - [ - "b", - { - "primitive": "f16" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "usize" } } } }, "links": {}, - "name": "mul_add", + "name": "len", "span": { "begin": [ - 1633, + 2086, 5 ], "end": [ - 1633, - 48 + 2088, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9672": { + "9650": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates Euclidean division, the matching method for `rem_euclid`.\n\nThis computes the integer `n` such that\n`self = n * rhs + self.rem_euclid(rhs)`.\nIn other words, the result is `self / rhs` rounded to the integer `n`\nsuch that `self >= n * rhs`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet a: f16 = 7.0;\nlet b = 4.0;\nassert_eq!(a.div_euclid(b), 1.0); // 7.0 > 4.0 * 1.0\nassert_eq!((-a).div_euclid(b), -2.0); // -7.0 >= 4.0 * -2.0\nassert_eq!(a.div_euclid(-b), -1.0); // 7.0 >= -4.0 * -1.0\nassert_eq!((-a).div_euclid(-b), 2.0); // -7.0 >= -4.0 * 2.0\n# }\n```", - "id": 9672, + "docs": "Checks if the value is an ASCII hexadecimal digit:\n\n- U+0030 '0' ..= U+0039 '9', or\n- U+0041 'A' ..= U+0046 'F', or\n- U+0061 'a' ..= U+0066 'f'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(uppercase_a.is_ascii_hexdigit());\nassert!(!uppercase_g.is_ascii_hexdigit());\nassert!(a.is_ascii_hexdigit());\nassert!(!g.is_ascii_hexdigit());\nassert!(zero.is_ascii_hexdigit());\nassert!(!percent.is_ascii_hexdigit());\nassert!(!space.is_ascii_hexdigit());\nassert!(!lf.is_ascii_hexdigit());\nassert!(!esc.is_ascii_hexdigit());\n```", + "id": 9650, "inner": { "function": { "generics": { @@ -776075,7 +795474,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -776083,56 +795482,56 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "f16" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "div_euclid", + "name": "is_ascii_hexdigit", "span": { "begin": [ - 1669, + 1654, 5 ], "end": [ - 1669, - 45 + 1654, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9673": { + "9651": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nIn particular, the return value `r` satisfies `0.0 <= r < rhs.abs()` in\nmost cases. However, due to a floating point round-off error it can\nresult in `r == rhs.abs()`, violating the mathematical definition, if\n`self` is much smaller than `rhs.abs()` in magnitude and `self < 0.0`.\nThis result is not an element of the function's codomain, but it is the\nclosest floating point number in the real numbers and thus fulfills the\nproperty `self == self.div_euclid(rhs) * rhs + self.rem_euclid(rhs)`\napproximately.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet a: f16 = 7.0;\nlet b = 4.0;\nassert_eq!(a.rem_euclid(b), 3.0);\nassert_eq!((-a).rem_euclid(b), 1.0);\nassert_eq!(a.rem_euclid(-b), 3.0);\nassert_eq!((-a).rem_euclid(-b), 1.0);\n// limitation due to round-off error\nassert!((-f16::EPSILON).rem_euclid(3.0) != 0.0);\n# }\n```", - "id": 9673, + "docs": "Checks if the value is an ASCII punctuation character:\n\n- U+0021 ..= U+002F `! \" # $ % & ' ( ) * + , - . /`, or\n- U+003A ..= U+0040 `: ; < = > ? @`, or\n- U+005B ..= U+0060 ``[ \\ ] ^ _ ` ``, or\n- U+007B ..= U+007E `{ | } ~`\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(!uppercase_a.is_ascii_punctuation());\nassert!(!uppercase_g.is_ascii_punctuation());\nassert!(!a.is_ascii_punctuation());\nassert!(!g.is_ascii_punctuation());\nassert!(!zero.is_ascii_punctuation());\nassert!(percent.is_ascii_punctuation());\nassert!(!space.is_ascii_punctuation());\nassert!(!lf.is_ascii_punctuation());\nassert!(!esc.is_ascii_punctuation());\n```", + "id": 9651, "inner": { "function": { "generics": { @@ -776143,7 +795542,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -776151,53 +795550,56 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "f16" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "rem_euclid", + "name": "is_ascii_punctuation", "span": { "begin": [ - 1715, + 1692, 5 ], "end": [ - 1715, - 45 + 1692, + 53 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9674": { + "9652": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Raises a number to an integer power.\n\nUsing this function is generally faster than using `powf`.\nIt might have a different sequence of rounding operations than `powf`,\nso the results are not guaranteed to agree.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 2.0_f16;\nlet abs_difference = (x.powi(2) - (x * x)).abs();\nassert!(abs_difference <= f16::EPSILON);\n\nassert_eq!(f16::powi(f16::NAN, 0), 1.0);\n# }\n```", - "id": 9674, + "docs": "Checks if the value is an ASCII graphic character:\nU+0021 '!' ..= U+007E '~'.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(uppercase_a.is_ascii_graphic());\nassert!(uppercase_g.is_ascii_graphic());\nassert!(a.is_ascii_graphic());\nassert!(g.is_ascii_graphic());\nassert!(zero.is_ascii_graphic());\nassert!(percent.is_ascii_graphic());\nassert!(!space.is_ascii_graphic());\nassert!(!lf.is_ascii_graphic());\nassert!(!esc.is_ascii_graphic());\n```", + "id": 9652, "inner": { "function": { "generics": { @@ -776208,7 +795610,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -776216,56 +795618,56 @@ [ "self", { - "generic": "Self" - } - ], - [ - "n", - { - "primitive": "i32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "powi", + "name": "is_ascii_graphic", "span": { "begin": [ - 1749, + 1729, 5 ], "end": [ - 1749, - 37 + 1729, + 49 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9675": { + "9653": { "attrs": [ { - "other": "#[doc(alias = \"squareRoot\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the square root of a number.\n\nReturns NaN if `self` is a negative number other than `-0.0`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as `squareRoot`\nand guaranteed not to change.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet positive = 4.0_f16;\nlet negative = -4.0_f16;\nlet negative_zero = -0.0_f16;\n\nassert_eq!(positive.sqrt(), 2.0);\nassert!(negative.sqrt().is_nan());\nassert!(negative_zero.sqrt() == negative_zero);\n# }\n```", - "id": 9675, + "docs": "Checks if the value is an ASCII whitespace character:\nU+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED,\nU+000C FORM FEED, or U+000D CARRIAGE RETURN.\n\nRust uses the WhatWG Infra Standard's [definition of ASCII\nwhitespace][infra-aw]. There are several other definitions in\nwide use. For instance, [the POSIX locale][pct] includes\nU+000B VERTICAL TAB as well as all the above characters,\nbut—from the very same specification—[the default rule for\n\"field splitting\" in the Bourne shell][bfs] considers *only*\nSPACE, HORIZONTAL TAB, and LINE FEED as whitespace.\n\nIf you are writing a program that will process an existing\nfile format, check what that format's definition of whitespace is\nbefore using this function.\n\n[infra-aw]: https://infra.spec.whatwg.org/#ascii-whitespace\n[pct]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_01\n[bfs]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_05\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(!uppercase_a.is_ascii_whitespace());\nassert!(!uppercase_g.is_ascii_whitespace());\nassert!(!a.is_ascii_whitespace());\nassert!(!g.is_ascii_whitespace());\nassert!(!zero.is_ascii_whitespace());\nassert!(!percent.is_ascii_whitespace());\nassert!(space.is_ascii_whitespace());\nassert!(lf.is_ascii_whitespace());\nassert!(!esc.is_ascii_whitespace());\n```", + "id": 9653, "inner": { "function": { "generics": { @@ -776276,7 +795678,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -776284,47 +795686,56 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "sqrt", + "name": "is_ascii_whitespace", "span": { "begin": [ - 1785, + 1780, 5 ], "end": [ - 1785, - 29 + 1780, + 52 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9676": { + "9654": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the cube root of a number.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `cbrtf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 8.0f16;\n\n// x^(1/3) - 2 == 0\nlet abs_difference = (x.cbrt() - 2.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", - "id": 9676, + "docs": "Checks if the value is an ASCII control character:\nU+0000 NUL ..= U+001F UNIT SEPARATOR, or U+007F DELETE.\nNote that most ASCII whitespace characters are control\ncharacters, but SPACE is not.\n\n# Examples\n\n```\nlet uppercase_a = 'A';\nlet uppercase_g = 'G';\nlet a = 'a';\nlet g = 'g';\nlet zero = '0';\nlet percent = '%';\nlet space = ' ';\nlet lf = '\\n';\nlet esc = '\\x1b';\n\nassert!(!uppercase_a.is_ascii_control());\nassert!(!uppercase_g.is_ascii_control());\nassert!(!a.is_ascii_control());\nassert!(!g.is_ascii_control());\nassert!(!zero.is_ascii_control());\nassert!(!percent.is_ascii_control());\nassert!(!space.is_ascii_control());\nassert!(lf.is_ascii_control());\nassert!(esc.is_ascii_control());\n```", + "id": 9654, "inner": { "function": { "generics": { @@ -776335,7 +795746,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -776343,47 +795754,49 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f16" + "primitive": "bool" } } } }, "links": {}, - "name": "cbrt", + "name": "is_ascii_control", "span": { "begin": [ - 1819, + 1816, 5 ], "end": [ - 1819, - 29 + 1816, + 49 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "public" }, - "9677": { - "attrs": [ - { - "other": "#[doc(test(attr(feature(cfg_target_has_reliable_f16_f128),\nexpect(internal_features))))]" - } - ], + "9655": { + "attrs": [], "crate_id": 1, "deprecation": null, "docs": null, - "id": 9677, + "id": 9655, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "f16" + "primitive": "char" }, "generics": { "params": [], @@ -776393,18 +795806,53 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 9665, - 9666, - 9667, - 9668, - 9669, - 9670, - 9671, - 9672, - 9673, - 9674, - 9675, - 9676 + 9603, + 9602, + 9605, + 9607, + 9608, + 9609, + 9610, + 9612, + 9613, + 9614, + 9615, + 9616, + 9617, + 9619, + 9621, + 9623, + 9624, + 9604, + 9606, + 9625, + 9626, + 9627, + 9628, + 9629, + 9630, + 9631, + 9632, + 9634, + 9636, + 9637, + 9638, + 9639, + 9640, + 9641, + 9642, + 9643, + 9644, + 9645, + 9646, + 9647, + 9648, + 9649, + 9650, + 9651, + 9652, + 9653, + 9654 ], "provided_trait_methods": [], "trait": null @@ -776414,28 +795862,28 @@ "name": null, "span": { "begin": [ - 1402, + 11, 1 ], "end": [ - 1402, - 9 + 11, + 10 ], - "filename": "checkouts/rust/library/core/src/num/f16.rs" + "filename": "checkouts/rust/library/core/src/char/methods.rs" }, "visibility": "default" }, - "9678": { + "9656": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9678, + "id": 9656, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [], @@ -776458,17 +795906,17 @@ "span": null, "visibility": "default" }, - "9679": { + "9657": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9679, + "id": 9657, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [], @@ -776491,17 +795939,17 @@ "span": null, "visibility": "default" }, - "9680": { + "9658": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9680, + "id": 9658, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [], @@ -776514,7 +795962,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, + "id": 313, "path": "Freeze" } } @@ -776524,17 +795972,17 @@ "span": null, "visibility": "default" }, - "9681": { + "9659": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9681, + "id": 9659, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [], @@ -776557,17 +796005,113 @@ "span": null, "visibility": "default" }, - "9682": { + "966": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 966, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } + }, + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 965 + ], + "provided_trait_methods": [ + "len", + "is_empty" + ], + "trait": { + "args": null, + "id": 43, + "path": "ExactSizeIterator" + } + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 2084, + 1 + ], + "end": [ + 2089, + 2 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "9660": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9682, + "id": 9660, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [], @@ -776580,7 +796124,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -776590,17 +796134,17 @@ "span": null, "visibility": "default" }, - "9683": { + "9661": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9683, + "id": 9661, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [], @@ -776613,7 +796157,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -776623,19 +796167,19 @@ "span": null, "visibility": "default" }, - "9684": { + "9662": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9684, + "id": 9662, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [ @@ -776678,7 +796222,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -776694,7 +796238,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -776703,30 +796247,30 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9685": { + "9663": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9685, + "id": 9663, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [ @@ -776769,7 +796313,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -776785,7 +796329,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -776794,30 +796338,30 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9686": { + "9664": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9686, + "id": 9664, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [ @@ -776842,7 +796386,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -776874,30 +796418,30 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "9687": { + "9665": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9687, + "id": 9665, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [ @@ -776961,7 +796505,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -776986,30 +796530,30 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9688": { + "9666": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9688, + "id": 9666, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [ @@ -777030,7 +796574,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -777055,30 +796599,30 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9689": { + "9667": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9689, + "id": 9667, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [ @@ -777124,7 +796668,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -777142,8 +796686,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -777159,7 +796703,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -777168,158 +796712,30 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "969": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 969, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "lifetime": "'a" - }, - { - "type": { - "generic": "K" - } - }, - { - "type": { - "generic": "V" - } - } - ], - "constraints": [] - } - }, - "id": 750, - "path": "Values" - } - }, - "generics": { - "params": [ - { - "kind": { - "lifetime": { - "outlives": [] - } - }, - "name": "'a" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "K" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "V" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "K" - } - } - }, - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 5, - "path": "Sync" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "V" - } - } - } - ] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" - } - } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "9690": { + "9668": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9690, + "id": 9668, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [ @@ -777383,8 +796799,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -777400,7 +796816,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -777409,30 +796825,30 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9691": { + "9669": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9691, + "id": 9669, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [ @@ -777478,12 +796894,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -777503,19 +796919,44 @@ }, "visibility": "default" }, - "9692": { - "attrs": [], + "967": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 26, patch: 0})}, feature: \"fused\"}}]" + } + ], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9692, + "id": 967, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { - "primitive": "f16" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 746, + "path": "Keys" + } }, "generics": { "params": [ @@ -777527,48 +796968,30 @@ "is_synthetic": false } }, - "name": "T" - } - ], - "where_predicates": [ + "name": "K" + }, { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": null, - "id": 99, - "path": "Clone" - } - } - } - ], - "generic_params": [], + "kind": { "type": { - "generic": "T" + "bounds": [], + "default": null, + "is_synthetic": false } - } + }, + "name": "V" } - ] + ], + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, - "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" - ], + "items": [], + "provided_trait_methods": [], "trait": { "args": null, - "id": 157, - "path": "ToOwned" + "id": 878, + "path": "FusedIterator" } } }, @@ -777576,30 +796999,30 @@ "name": null, "span": { "begin": [ - 82, + 2091, 1 ], "end": [ - 84, - 14 + 2091, + 47 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "std/src/collections/hash/map.rs" }, "visibility": "default" }, - "9693": { + "9670": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9693, + "id": 9670, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f16" + "tuple": [] }, "generics": { "params": [ @@ -777624,19 +797047,8 @@ "modifier": "none", "trait": { "args": null, - "id": 436, - "path": "Display" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "id": 97, + "path": "Clone" } } } @@ -777653,13 +797065,17 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 434 + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" ], - "provided_trait_methods": [], "trait": { "args": null, - "id": 163, - "path": "ToString" + "id": 155, + "path": "ToOwned" } } }, @@ -777667,41 +797083,540 @@ "name": null, "span": { "begin": [ - 2806, + 85, 1 ], "end": [ - 2806, - 46 + 87, + 14 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "9694": { + "9671": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" + "other": "#[rustc_doc_primitive = \"array\"]" + }, + { + "other": "#[doc(alias = \"[]\")]" + }, + { + "other": "#[doc(alias = \"[T;N]\")]" + }, + { + "other": "#[doc(alias = \"[T; N]\")]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "A fixed-size array, denoted `[T; N]`, for the element type, `T`, and the\nnon-negative compile-time constant size, `N`.\n\nThere are two syntactic forms for creating an array:\n\n* A list with each element, i.e., `[x, y, z]`.\n* A repeat expression `[expr; N]` where `N` is how many times to repeat `expr` in the array. `expr` must either be:\n\n * A value of a type implementing the [`Copy`] trait\n * A `const` value\n\nNote that `[expr; 0]` is allowed, and produces an empty array.\nThis will still evaluate `expr`, however, and immediately drop the resulting value, so\nbe mindful of side effects.\n\nArrays of *any* size implement the following traits if the element type allows it:\n\n- [`Copy`]\n- [`Clone`]\n- [`Debug`]\n- [`IntoIterator`] (implemented for `[T; N]`, `&[T; N]` and `&mut [T; N]`)\n- [`PartialEq`], [`PartialOrd`], [`Eq`], [`Ord`]\n- [`Hash`]\n- [`AsRef`], [`AsMut`]\n- [`Borrow`], [`BorrowMut`]\n\nArrays of sizes from 0 to 32 (inclusive) implement the [`Default`] trait\nif the element type allows it. As a stopgap, trait implementations are\nstatically generated up to size 32.\n\nArrays of sizes from 1 to 12 (inclusive) implement [`From`], where `Tuple`\nis a homogeneous [prim@tuple] of appropriate length.\n\nArrays coerce to [slices (`[T]`)][slice], so a slice method may be called on\nan array. Indeed, this provides most of the API for working with arrays.\n\nSlices have a dynamic size and do not coerce to arrays. Instead, use\n`slice.try_into().unwrap()` or `::try_from(slice).unwrap()`.\n\nArray's `try_from(slice)` implementations (and the corresponding `slice.try_into()`\narray implementations) succeed if the input slice length is the same as the result\narray length. They optimize especially well when the optimizer can easily determine\nthe slice length, e.g. `<[u8; 4]>::try_from(&slice[4..8]).unwrap()`. Array implements\n[TryFrom](crate::convert::TryFrom) returning:\n\n- `[T; N]` copies from the slice's elements\n- `&[T; N]` references the original slice's elements\n- `&mut [T; N]` references the original slice's elements\n\nYou can move elements out of an array with a [slice pattern]. If you want\none element, see [`mem::replace`].\n\n# Examples\n\n```\nlet mut array: [i32; 3] = [0; 3];\n\narray[1] = 1;\narray[2] = 2;\n\nassert_eq!([1, 2], &array[1..]);\n\n// This loop prints: 0 1 2\nfor x in array {\n print!(\"{x} \");\n}\n```\n\nYou can also iterate over reference to the array's elements:\n\n```\nlet array: [i32; 3] = [0; 3];\n\nfor x in &array { }\n```\n\nYou can use `::try_from(slice)` or `slice.try_into()` to get an array from\na slice:\n\n```\nlet bytes: [u8; 3] = [1, 0, 2];\nassert_eq!(1, u16::from_le_bytes(<[u8; 2]>::try_from(&bytes[0..2]).unwrap()));\nassert_eq!(512, u16::from_le_bytes(bytes[1..3].try_into().unwrap()));\n```\n\nYou can use a [slice pattern] to move elements out of an array:\n\n```\nfn move_away(_: String) { /* Do interesting things. */ }\n\nlet [john, roa] = [\"John\".to_string(), \"Roa\".to_string()];\nmove_away(john);\nmove_away(roa);\n```\n\nArrays can be created from homogeneous tuples of appropriate length:\n\n```\nlet tuple: (u32, u32, u32) = (1, 2, 3);\nlet array: [u32; 3] = tuple.into();\n```\n\n# Editions\n\nPrior to Rust 1.53, arrays did not implement [`IntoIterator`] by value, so the method call\n`array.into_iter()` auto-referenced into a [slice iterator](slice::iter). Right now, the old\nbehavior is preserved in the 2015 and 2018 editions of Rust for compatibility, ignoring\n[`IntoIterator`] by value. In the future, the behavior on the 2015 and 2018 edition\nmight be made consistent to the behavior of later editions.\n\n```rust,edition2018\n// Rust 2015 and 2018:\n\n# #![allow(array_into_iter)] // override our `deny(warnings)`\nlet array: [i32; 3] = [0; 3];\n\n// This creates a slice iterator, producing references to each value.\nfor item in array.into_iter().enumerate() {\n let (i, x): (usize, &i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n\n// The `array_into_iter` lint suggests this change for future compatibility:\nfor item in array.iter().enumerate() {\n let (i, x): (usize, &i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n\n// You can explicitly iterate an array by value using `IntoIterator::into_iter`\nfor item in IntoIterator::into_iter(array).enumerate() {\n let (i, x): (usize, i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n```\n\nStarting in the 2021 edition, `array.into_iter()` uses `IntoIterator` normally to iterate\nby value, and `iter()` should be used to iterate by reference like previous editions.\n\n```rust,edition2021\n// Rust 2021:\n\nlet array: [i32; 3] = [0; 3];\n\n// This iterates by reference:\nfor item in array.iter().enumerate() {\n let (i, x): (usize, &i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n\n// This iterates by value:\nfor item in array.into_iter().enumerate() {\n let (i, x): (usize, i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n```\n\nFuture language versions might start treating the `array.into_iter()`\nsyntax on editions 2015 and 2018 the same as on edition 2021. So code using\nthose older editions should still be written with this change in mind, to\nprevent breakage in the future. The safest way to accomplish this is to\navoid the `into_iter` syntax on those editions. If an edition update is not\nviable/desired, there are multiple alternatives:\n* use `iter`, equivalent to the old behavior, creating references\n* use [`IntoIterator::into_iter`], equivalent to the post-2021 behavior (Rust 1.53+)\n* replace `for ... in array.into_iter() {` with `for ... in array {`,\n equivalent to the post-2021 behavior (Rust 1.53+)\n\n```rust,edition2018\n// Rust 2015 and 2018:\n\nlet array: [i32; 3] = [0; 3];\n\n// This iterates by reference:\nfor item in array.iter() {\n let x: &i32 = item;\n println!(\"{x}\");\n}\n\n// This iterates by value:\nfor item in IntoIterator::into_iter(array) {\n let x: i32 = item;\n println!(\"{x}\");\n}\n\n// This iterates by value:\nfor item in array {\n let x: i32 = item;\n println!(\"{x}\");\n}\n\n// IntoIter can also start a chain.\n// This iterates by value:\nfor item in IntoIterator::into_iter(array).enumerate() {\n let (i, x): (usize, i32) = item;\n println!(\"array[{i}] = {x}\");\n}\n```\n\n[slice]: prim@slice\n[`Debug`]: fmt::Debug\n[`Hash`]: hash::Hash\n[`Borrow`]: borrow::Borrow\n[`BorrowMut`]: borrow::BorrowMut\n[slice pattern]: ../reference/patterns.html#slice-patterns\n[`From`]: convert::From", + "id": 9671, + "inner": { + "primitive": { + "impls": [ + 818, + 1300 + ], + "name": "array" + } + }, + "links": { + "`AsMut`": 33, + "`AsRef`": 35, + "`Clone`": 97, + "`Copy`": 101, + "`Default`": 107, + "`Eq`": 111, + "`IntoIterator::into_iter`": 908, + "`IntoIterator`": 47, + "`Ord`": 117, + "`PartialEq`": 121, + "`PartialOrd`": 125, + "`mem::replace`": 9374, + "borrow::Borrow": 321, + "borrow::BorrowMut": 324, + "convert::From": 37, + "crate::convert::TryFrom": 197, + "fmt::Debug": 344, + "hash::Hash": 539, + "prim@slice": 3998, + "prim@tuple": 9373, + "slice::iter": 9375 + }, + "name": "array", + "span": { + "begin": [ + 831, + 1 + ], + "end": [ + 831, + 18 + ], + "filename": "std/src/../../core/src/primitive_docs.rs" + }, + "visibility": "public" + }, + "9672": { + "attrs": [ + { + "other": "#[rustc_no_implicit_autorefs]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 39, patch: 0})}, feature: \"const_str_is_empty\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns `true` if `self` has a length of zero bytes.\n\n# Examples\n\n```\nlet s = \"\";\nassert!(s.is_empty());\n\nlet s = \"not empty\";\nassert!(!s.is_empty());\n```", + "id": 9672, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } + } + }, + "links": {}, + "name": "is_empty", + "span": { + "begin": [ + 161, + 5 + ], + "end": [ + 161, + 41 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "public" + }, + "9674": { + "attrs": [ + { + "other": "#[rustc_diagnostic_item = \"str_inherent_from_utf8\"]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the largest integer less than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.7_f32;\nlet g = 3.0_f32;\nlet h = -3.7_f32;\n\nassert_eq!(f.floor(), 3.0);\nassert_eq!(g.floor(), 3.0);\nassert_eq!(h.floor(), -4.0);\n```", - "id": 9694, + "docs": "Converts a slice of bytes to a string slice.\n\nA string slice ([`&str`]) is made of bytes ([`u8`]), and a byte slice\n([`&[u8]`][byteslice]) is made of bytes, so this function converts between\nthe two. Not all byte slices are valid string slices, however: [`&str`] requires\nthat it is valid UTF-8. `from_utf8()` checks to ensure that the bytes are valid\nUTF-8, and then does the conversion.\n\n[`&str`]: str\n[byteslice]: prim@slice\n\nIf you are sure that the byte slice is valid UTF-8, and you don't want to\nincur the overhead of the validity check, there is an unsafe version of\nthis function, [`from_utf8_unchecked`], which has the same\nbehavior but skips the check.\n\nIf you need a `String` instead of a `&str`, consider\n[`String::from_utf8`][string].\n\n[string]: ../std/string/struct.String.html#method.from_utf8\n\nBecause you can stack-allocate a `[u8; N]`, and you can take a\n[`&[u8]`][byteslice] of it, this function is one way to have a\nstack-allocated string. There is an example of this in the\nexamples section below.\n\n[byteslice]: slice\n\n# Errors\n\nReturns `Err` if the slice is not UTF-8 with a description as to why the\nprovided slice is not UTF-8.\n\n# Examples\n\nBasic usage:\n\n```\n// some bytes, in a vector\nlet sparkle_heart = vec![240, 159, 146, 150];\n\n// We can use the ? (try) operator to check if the bytes are valid\nlet sparkle_heart = str::from_utf8(&sparkle_heart)?;\n\nassert_eq!(\"💖\", sparkle_heart);\n# Ok::<_, std::str::Utf8Error>(())\n```\n\nIncorrect bytes:\n\n```\n// some invalid bytes, in a vector\nlet sparkle_heart = vec![0, 159, 146, 150];\n\nassert!(str::from_utf8(&sparkle_heart).is_err());\n```\n\nSee the docs for [`Utf8Error`] for more details on the kinds of\nerrors that can be returned.\n\nA \"stack allocated string\":\n\n```\n// some bytes, in a stack-allocated array\nlet sparkle_heart = [240, 159, 146, 150];\n\n// We know these bytes are valid, so just use `unwrap()`.\nlet sparkle_heart: &str = str::from_utf8(&sparkle_heart).unwrap();\n\nassert_eq!(\"💖\", sparkle_heart);\n```", + "id": 9674, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "v", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 2184, + "path": "Utf8Error" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": { + "`Utf8Error`": 2184, + "`from_utf8_unchecked`": 9673, + "`u8`": 2396, + "prim@slice": 3998, + "str": 1926 + }, + "name": "from_utf8", + "span": { + "begin": [ + 239, + 5 + ], + "end": [ + 239, + 64 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "public" + }, + "9675": { + "attrs": [ + { + "other": "#[rustc_diagnostic_item = \"str_inherent_from_utf8_mut\"]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"const_str_from_utf8\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts a mutable slice of bytes to a mutable string slice.\n\n# Examples\n\nBasic usage:\n\n```\n// \"Hello, Rust!\" as a mutable vector\nlet mut hellorust = vec![72, 101, 108, 108, 111, 44, 32, 82, 117, 115, 116, 33];\n\n// As we know these bytes are valid, we can use `unwrap()`\nlet outstr = str::from_utf8_mut(&mut hellorust).unwrap();\n\nassert_eq!(\"Hello, Rust!\", outstr);\n```\n\nIncorrect bytes:\n\n```\n// Some invalid bytes in a mutable vector\nlet mut invalid = vec![128, 223];\n\nassert!(str::from_utf8_mut(&mut invalid).is_err());\n```\nSee the docs for [`Utf8Error`] for more details on the kinds of\nerrors that can be returned.", + "id": 9675, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "v", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + }, + { + "type": { + "resolved_path": { + "args": null, + "id": 2184, + "path": "Utf8Error" + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } + } + } + } + }, + "links": { + "`Utf8Error`": 2184 + }, + "name": "from_utf8_mut", + "span": { + "begin": [ + 272, + 5 + ], + "end": [ + 272, + 76 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "public" + }, + "9677": { + "attrs": [ + { + "other": "#[rustc_diagnostic_item = \"str_inherent_from_utf8_unchecked\"]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts a slice of bytes to a string slice without checking\nthat the string contains valid UTF-8.\n\nSee the safe version, [`from_utf8`], for more information.\n\n# Safety\n\nThe bytes passed in must be valid UTF-8.\n\n# Examples\n\nBasic usage:\n\n```\n// some bytes, in a vector\nlet sparkle_heart = vec![240, 159, 146, 150];\n\nlet sparkle_heart = unsafe {\n str::from_utf8_unchecked(&sparkle_heart)\n};\n\nassert_eq!(\"💖\", sparkle_heart);\n```", + "id": 9677, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "v", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } + } + }, + "links": { + "`from_utf8`": 9676 + }, + "name": "from_utf8_unchecked", + "span": { + "begin": [ + 304, + 5 + ], + "end": [ + 304, + 62 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "public" + }, + "9678": { + "attrs": [ + { + "other": "#[rustc_diagnostic_item = \"str_inherent_from_utf8_unchecked_mut\"]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 87, patch: 0})}, feature: \"inherent_str_constructors\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts a slice of bytes to a string slice without checking\nthat the string contains valid UTF-8; mutable version.\n\nSee the immutable version, [`from_utf8_unchecked()`] for documentation and safety requirements.\n\n# Examples\n\nBasic usage:\n\n```\nlet mut heart = vec![240, 159, 146, 150];\nlet heart = unsafe { str::from_utf8_unchecked_mut(&mut heart) };\n\nassert_eq!(\"💖\", heart);\n```", + "id": 9678, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "v", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } + } + }, + "links": { + "`from_utf8_unchecked()`": 9673 + }, + "name": "from_utf8_unchecked_mut", + "span": { + "begin": [ + 329, + 5 + ], + "end": [ + 329, + 74 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "public" + }, + "9679": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"const_is_char_boundary\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 9, patch: 0})}, feature: \"is_char_boundary\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Checks that `index`-th byte is the first byte in a UTF-8 code point\nsequence or the end of the string.\n\nThe start and end of the string (when `index == self.len()`) are\nconsidered to be boundaries.\n\nReturns `false` if `index` is greater than `self.len()`.\n\n# Examples\n\n```\nlet s = \"Löwe 老虎 Léopard\";\nassert!(s.is_char_boundary(0));\n// start of `老`\nassert!(s.is_char_boundary(6));\nassert!(s.is_char_boundary(s.len()));\n\n// second byte of `ö`\nassert!(!s.is_char_boundary(2));\n\n// third byte of `老`\nassert!(!s.is_char_boundary(8));\n```", + "id": 9679, "inner": { "function": { "generics": { @@ -777720,59 +797635,365 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "index", + { + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "primitive": "bool" } } } }, "links": {}, - "name": "floor", + "name": "is_char_boundary", "span": { "begin": [ - 49, + 361, 5 ], "end": [ - 51, - 6 + 361, + 63 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9695": { + "9680": { "attrs": [ { - "other": "#[doc(alias = \"ceiling\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"round_char_boundary\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"round_char_boundary\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Finds the closest `x` not exceeding `index` where [`is_char_boundary(x)`] is `true`.\n\nThis method can help you truncate a string so that it's still valid UTF-8, but doesn't\nexceed a given number of bytes. Note that this is done purely at the character level\nand can still visually split graphemes, even though the underlying characters aren't\nsplit. For example, the emoji 🧑‍🔬 (scientist) could be split so that the string only\nincludes 🧑 (person) instead.\n\n[`is_char_boundary(x)`]: Self::is_char_boundary\n\n# Examples\n\n```\nlet s = \"❤️🧡💛💚💙💜\";\nassert_eq!(s.len(), 26);\nassert!(!s.is_char_boundary(13));\n\nlet closest = s.floor_char_boundary(13);\nassert_eq!(closest, 10);\nassert_eq!(&s[..closest], \"❤️🧡\");\n```", + "id": 9680, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "index", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "Self::is_char_boundary": 9679 + }, + "name": "floor_char_boundary", + "span": { + "begin": [ + 410, + 5 + ], + "end": [ + 410, + 67 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "public" + }, + "9681": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"round_char_boundary\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 91, patch: 0})}, feature: \"round_char_boundary\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Finds the closest `x` not below `index` where [`is_char_boundary(x)`] is `true`.\n\nIf `index` is greater than the length of the string, this returns the length of the string.\n\nThis method is the natural complement to [`floor_char_boundary`]. See that method\nfor more details.\n\n[`floor_char_boundary`]: str::floor_char_boundary\n[`is_char_boundary(x)`]: Self::is_char_boundary\n\n# Examples\n\n```\nlet s = \"❤️🧡💛💚💙💜\";\nassert_eq!(s.len(), 26);\nassert!(!s.is_char_boundary(13));\n\nlet closest = s.ceil_char_boundary(13);\nassert_eq!(closest, 14);\nassert_eq!(&s[..closest], \"❤️🧡💛\");\n```", + "id": 9681, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "index", + { + "primitive": "usize" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "usize" + } + } + } + }, + "links": { + "Self::is_char_boundary": 9679, + "str::floor_char_boundary": 9680 + }, + "name": "ceil_char_boundary", + "span": { + "begin": [ + 453, + 5 + ], + "end": [ + 453, + 66 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "public" + }, + "9682": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 39, patch: 0})}, feature: \"str_as_bytes\", promotable: false}}]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Inline(Hint)]" + "must_use": { + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts a string slice to a byte slice. To convert the byte slice back\ninto a string slice, use the [`from_utf8`] function.\n\n# Examples\n\n```\nlet bytes = \"bors\".as_bytes();\nassert_eq!(b\"bors\", bytes);\n```", + "id": 9682, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + } + } + }, + "links": { + "`from_utf8`": 9676 + }, + "name": "as_bytes", + "span": { + "begin": [ + 486, + 5 + ], + "end": [ + 486, + 42 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "public" + }, + "9683": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_str_as_mut\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_mut_extras\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null + } + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Converts a mutable string slice to a mutable byte slice.\n\n# Safety\n\nThe caller must ensure that the content of the slice is valid UTF-8\nbefore the borrow ends and the underlying `str` is used.\n\nUse of a `str` whose contents are not valid UTF-8 is undefined behavior.\n\n# Examples\n\nBasic usage:\n\n```\nlet mut s = String::from(\"Hello\");\nlet bytes = unsafe { s.as_bytes_mut() };\n\nassert_eq!(b\"Hello\", bytes);\n```\n\nMutability:\n\n```\nlet mut s = String::from(\"🗻∈🌏\");\n\nunsafe {\n let bytes = s.as_bytes_mut();\n\n bytes[0] = 0xF0;\n bytes[1] = 0x9F;\n bytes[2] = 0x8D;\n bytes[3] = 0x94;\n}\n\nassert_eq!(\"🍔∈🌏\", s);\n```", + "id": 9683, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": true + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "slice": { + "primitive": "u8" + } + } + } + } + } + } + }, + "links": {}, + "name": "as_bytes_mut", + "span": { + "begin": [ + 531, + 5 + ], + "end": [ + 531, + 61 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "public" + }, + "9684": { + "attrs": [ + { + "other": "#[rustc_never_returns_null_ptr]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_str_as_mut\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 36, patch: 0})}, feature: \"str_as_mut_ptr\"}}]" + }, + { + "must_use": { + "reason": null } }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = AsPtr]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest integer greater than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.01_f32;\nlet g = 4.0_f32;\n\nassert_eq!(f.ceil(), 4.0);\nassert_eq!(g.ceil(), 4.0);\n```", - "id": 9695, + "docs": "Converts a mutable string slice to a raw pointer.\n\nAs string slices are a slice of bytes, the raw pointer points to a\n[`u8`]. This pointer will be pointing to the first byte of the string\nslice.\n\nIt is your responsibility to make sure that the string slice only gets\nmodified in a way that it remains valid UTF-8.", + "id": 9684, "inner": { "function": { "generics": { @@ -777791,61 +798012,107 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "raw_pointer": { + "is_mutable": true, + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "ceil", + "links": { + "`u8`": 2396 + }, + "name": "as_mut_ptr", "span": { "begin": [ - 72, + 580, 5 ], "end": [ - 74, - 6 + 580, + 50 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9696": { + "9685": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143775, is_soft: false}, feature: \"const_index\", promotable: false}}]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_checked_slicing\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the nearest integer to `self`. If a value is half-way between two\nintegers, round away from `0.0`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.3_f32;\nlet g = -3.3_f32;\nlet h = -3.7_f32;\nlet i = 3.5_f32;\nlet j = 4.5_f32;\n\nassert_eq!(f.round(), 3.0);\nassert_eq!(g.round(), -3.0);\nassert_eq!(h.round(), -4.0);\nassert_eq!(i.round(), 4.0);\nassert_eq!(j.round(), 5.0);\n```", - "id": 9696, + "docs": "Returns a subslice of `str`.\n\nThis is the non-panicking alternative to indexing the `str`. Returns\n[`None`] whenever equivalent indexing operation would panic.\n\n# Examples\n\n```\nlet v = String::from(\"🗻∈🌏\");\n\nassert_eq!(Some(\"🗻\"), v.get(0..4));\n\n// indices not on UTF-8 sequence boundaries\nassert!(v.get(1..).is_none());\nassert!(v.get(..8).is_none());\n\n// out of bounds\nassert!(v.get(..42).is_none());\n```", + "id": 9685, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "I" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 9686, + "path": "SliceIndex" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "I" + } + } + } + ] }, "has_body": true, "header": { @@ -777859,61 +798126,151 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "i", + { + "generic": "I" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "qualified_path": { + "args": null, + "name": "Output", + "self_type": { + "generic": "I" + }, + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 9686, + "path": "SliceIndex" + } + } + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "round", + "links": { + "`None`": 53 + }, + "name": "get", "span": { "begin": [ - 101, + 606, 5 ], "end": [ - 103, - 6 + 606, + 84 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9697": { + "9687": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 77, patch: 0})}, feature: \"round_ties_even\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143775, is_soft: false}, feature: \"const_index\", promotable: false}}]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_checked_slicing\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the nearest integer to a number. Rounds half-way cases to the number\nwith an even least significant digit.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.3_f32;\nlet g = -3.3_f32;\nlet h = 3.5_f32;\nlet i = 4.5_f32;\n\nassert_eq!(f.round_ties_even(), 3.0);\nassert_eq!(g.round_ties_even(), -3.0);\nassert_eq!(h.round_ties_even(), 4.0);\nassert_eq!(i.round_ties_even(), 4.0);\n```", - "id": 9697, + "docs": "Returns a mutable subslice of `str`.\n\nThis is the non-panicking alternative to indexing the `str`. Returns\n[`None`] whenever equivalent indexing operation would panic.\n\n# Examples\n\n```\nlet mut v = String::from(\"hello\");\n// correct length\nassert!(v.get_mut(0..5).is_some());\n// out of bounds\nassert!(v.get_mut(..42).is_none());\nassert_eq!(Some(\"he\"), v.get_mut(0..2).map(|v| &*v));\n\nassert_eq!(\"hello\", v);\n{\n let s = v.get_mut(0..2);\n let s = s.map(|s| {\n s.make_ascii_uppercase();\n &*s\n });\n assert_eq!(Some(\"HE\"), s);\n}\nassert_eq!(\"HEllo\", v);\n```", + "id": 9687, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "I" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 9686, + "path": "SliceIndex" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "I" + } + } + } + ] }, "has_body": true, "header": { @@ -777927,177 +798284,371 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "i", + { + "generic": "I" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "qualified_path": { + "args": null, + "name": "Output", + "self_type": { + "generic": "I" + }, + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 9686, + "path": "SliceIndex" + } + } + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "round_ties_even", + "links": { + "`None`": 53 + }, + "name": "get_mut", "span": { "begin": [ - 128, + 639, 5 ], "end": [ - 130, - 6 + 639, + 96 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9698": { + "9688": { "attrs": [ { - "other": "#[doc(alias = \"truncate\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_checked_slicing\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the integer part of `self`.\nThis means that non-integer numbers are always truncated towards zero.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.7_f32;\nlet g = 3.0_f32;\nlet h = -3.7_f32;\n\nassert_eq!(f.trunc(), 3.0);\nassert_eq!(g.trunc(), 3.0);\nassert_eq!(h.trunc(), -3.0);\n```", - "id": 9698, + "docs": "Returns an unchecked subslice of `str`.\n\nThis is the unchecked alternative to indexing the `str`.\n\n# Safety\n\nCallers of this function are responsible that these preconditions are\nsatisfied:\n\n* The starting index must not exceed the ending index;\n* Indexes must be within bounds of the original slice;\n* Indexes must lie on UTF-8 sequence boundaries.\n\nFailing that, the returned string slice may reference invalid memory or\nviolate the invariants communicated by the `str` type.\n\n# Examples\n\n```\nlet v = \"🗻∈🌏\";\nunsafe {\n assert_eq!(\"🗻\", v.get_unchecked(0..4));\n assert_eq!(\"∈\", v.get_unchecked(4..7));\n assert_eq!(\"🌏\", v.get_unchecked(7..11));\n}\n```", + "id": 9688, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "I" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 9686, + "path": "SliceIndex" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "I" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": false + "is_const": false, + "is_unsafe": true }, "sig": { "inputs": [ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "i", + { + "generic": "I" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "qualified_path": { + "args": null, + "name": "Output", + "self_type": { + "generic": "I" + }, + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 9686, + "path": "SliceIndex" + } + } + } + } } } } }, "links": {}, - "name": "trunc", + "name": "get_unchecked", "span": { "begin": [ - 154, + 671, 5 ], "end": [ - 156, - 6 + 671, + 79 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9699": { + "9689": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_checked_slicing\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the fractional part of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet x = 3.6_f32;\nlet y = -3.6_f32;\nlet abs_difference_x = (x.fract() - 0.6).abs();\nlet abs_difference_y = (y.fract() - (-0.6)).abs();\n\nassert!(abs_difference_x <= f32::EPSILON);\nassert!(abs_difference_y <= f32::EPSILON);\n```", - "id": 9699, + "docs": "Returns a mutable, unchecked subslice of `str`.\n\nThis is the unchecked alternative to indexing the `str`.\n\n# Safety\n\nCallers of this function are responsible that these preconditions are\nsatisfied:\n\n* The starting index must not exceed the ending index;\n* Indexes must be within bounds of the original slice;\n* Indexes must lie on UTF-8 sequence boundaries.\n\nFailing that, the returned string slice may reference invalid memory or\nviolate the invariants communicated by the `str` type.\n\n# Examples\n\n```\nlet mut v = String::from(\"🗻∈🌏\");\nunsafe {\n assert_eq!(\"🗻\", v.get_unchecked_mut(0..4));\n assert_eq!(\"∈\", v.get_unchecked_mut(4..7));\n assert_eq!(\"🌏\", v.get_unchecked_mut(7..11));\n}\n```", + "id": 9689, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "I" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 9686, + "path": "SliceIndex" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "I" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": false + "is_const": false, + "is_unsafe": true }, "sig": { "inputs": [ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "i", + { + "generic": "I" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "qualified_path": { + "args": null, + "name": "Output", + "self_type": { + "generic": "I" + }, + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 9686, + "path": "SliceIndex" + } + } + } + } } } } }, "links": {}, - "name": "fract", + "name": "get_unchecked_mut", "span": { "begin": [ - 178, + 706, 5 ], "end": [ - 180, - 6 + 706, + 91 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "970": { + "969": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 970, + "id": 969, "inner": { "impl": { "blanket_impl": null, @@ -778210,8 +798761,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 5, - "path": "Sync" + "id": 1, + "path": "Send" } } }, @@ -778220,30 +798771,19 @@ "span": null, "visibility": "default" }, - "9700": { + "9690": { "attrs": [ { - "other": "#[doc(alias = \"fmaf\", alias = \"fusedMultiplyAdd\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"str_slice_mut\"}}]" } ], - "crate_id": 0, - "deprecation": null, - "docs": "Fused multiply-add. Computes `(self * a) + b` with only one rounding\nerror, yielding a more accurate result than an unfused multiply-add.\n\nUsing `mul_add` *may* be more performant than an unfused multiply-add if\nthe target architecture has a dedicated `fma` CPU instruction. However,\nthis is not always true, and will be heavily dependant on designing\nalgorithms with specific target hardware in mind.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as\n`fusedMultiplyAdd` and guaranteed not to change.\n\n# Examples\n\n```\nlet m = 10.0_f32;\nlet x = 4.0_f32;\nlet b = 60.0_f32;\n\nassert_eq!(m.mul_add(x, b), 100.0);\nassert_eq!(m * x + b, 100.0);\n\nlet one_plus_eps = 1.0_f32 + f32::EPSILON;\nlet one_minus_eps = 1.0_f32 - f32::EPSILON;\nlet minus_one = -1.0_f32;\n\n// The exact result (1 + eps) * (1 - eps) = 1 - eps * eps.\nassert_eq!(one_plus_eps.mul_add(one_minus_eps, minus_one), -f32::EPSILON * f32::EPSILON);\n// Different rounding with the non-fused multiply and add.\nassert_eq!(one_plus_eps * one_minus_eps + minus_one, 0.0);\n```", - "id": 9700, + "crate_id": 1, + "deprecation": { + "note": "use `get_unchecked_mut(begin..end)` instead", + "since": "1.29.0" + }, + "docs": "Creates a string slice from another string slice, bypassing safety\nchecks.\n\nThis is generally not recommended, use with caution! For a safe\nalternative see [`str`] and [`IndexMut`].\n\n[`IndexMut`]: crate::ops::IndexMut\n\nThis new slice goes from `begin` to `end`, including `begin` but\nexcluding `end`.\n\nTo get an immutable string slice instead, see the\n[`slice_unchecked`] method.\n\n[`slice_unchecked`]: str::slice_unchecked\n\n# Safety\n\nCallers of this function are responsible that three preconditions are\nsatisfied:\n\n* `begin` must not exceed `end`.\n* `begin` and `end` must be byte positions within the string slice.\n* `begin` and `end` must lie on UTF-8 sequence boundaries.", + "id": 9690, "inner": { "function": { "generics": { @@ -778255,72 +798795,85 @@ "abi": "Rust", "is_async": false, "is_const": false, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "a", + "begin", { - "primitive": "f32" + "primitive": "usize" } ], [ - "b", + "end", { - "primitive": "f32" + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, - "links": {}, - "name": "mul_add", + "links": { + "`str`": 1926, + "crate::ops::IndexMut": 1981, + "str::slice_unchecked": 9691 + }, + "name": "slice_mut_unchecked", "span": { "begin": [ - 220, + 791, 5 ], "end": [ - 222, - 6 + 791, + 87 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9701": { + "9691": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, - "deprecation": null, - "docs": "Calculates Euclidean division, the matching method for `rem_euclid`.\n\nThis computes the integer `n` such that\n`self = n * rhs + self.rem_euclid(rhs)`.\nIn other words, the result is `self / rhs` rounded to the integer `n`\nsuch that `self >= n * rhs`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\nlet a: f32 = 7.0;\nlet b = 4.0;\nassert_eq!(a.div_euclid(b), 1.0); // 7.0 > 4.0 * 1.0\nassert_eq!((-a).div_euclid(b), -2.0); // -7.0 >= 4.0 * -2.0\nassert_eq!(a.div_euclid(-b), -1.0); // 7.0 >= -4.0 * -1.0\nassert_eq!((-a).div_euclid(-b), 2.0); // -7.0 >= -4.0 * 2.0\n```", - "id": 9701, + "crate_id": 1, + "deprecation": { + "note": "use `get_unchecked(begin..end)` instead", + "since": "1.29.0" + }, + "docs": "Creates a string slice from another string slice, bypassing safety\nchecks.\n\nThis is generally not recommended, use with caution! For a safe\nalternative see [`str`] and [`Index`].\n\n[`Index`]: crate::ops::Index\n\nThis new slice goes from `begin` to `end`, including `begin` but\nexcluding `end`.\n\nTo get a mutable string slice instead, see the\n[`slice_mut_unchecked`] method.\n\n[`slice_mut_unchecked`]: str::slice_mut_unchecked\n\n# Safety\n\nCallers of this function are responsible that three preconditions are\nsatisfied:\n\n* `begin` must not exceed `end`.\n* `begin` and `end` must be byte positions within the string slice.\n* `begin` and `end` must lie on UTF-8 sequence boundaries.\n\n# Examples\n\n```\nlet s = \"Löwe 老虎 Léopard\";\n\nunsafe {\n assert_eq!(\"Löwe 老虎 Léopard\", s.slice_unchecked(0, 21));\n}\n\nlet s = \"Hello, world!\";\n\nunsafe {\n assert_eq!(\"world\", s.slice_unchecked(7, 12));\n}\n```", + "id": 9691, "inner": { "function": { "generics": { @@ -778332,69 +798885,85 @@ "abi": "Rust", "is_async": false, "is_const": false, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "rhs", + "begin", { - "primitive": "f32" + "primitive": "usize" + } + ], + [ + "end", + { + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, - "links": {}, - "name": "div_euclid", + "links": { + "`str`": 1926, + "crate::ops::Index": 816, + "str::slice_mut_unchecked": 9690 + }, + "name": "slice_unchecked", "span": { "begin": [ - 250, + 757, 5 ], "end": [ - 252, - 6 + 757, + 75 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9702": { + "9692": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"const_str_split_at\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"str_split_at\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nIn particular, the return value `r` satisfies `0.0 <= r < rhs.abs()` in\nmost cases. However, due to a floating point round-off error it can\nresult in `r == rhs.abs()`, violating the mathematical definition, if\n`self` is much smaller than `rhs.abs()` in magnitude and `self < 0.0`.\nThis result is not an element of the function's codomain, but it is the\nclosest floating point number in the real numbers and thus fulfills the\nproperty `self == self.div_euclid(rhs) * rhs + self.rem_euclid(rhs)`\napproximately.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\nlet a: f32 = 7.0;\nlet b = 4.0;\nassert_eq!(a.rem_euclid(b), 3.0);\nassert_eq!((-a).rem_euclid(b), 1.0);\nassert_eq!(a.rem_euclid(-b), 3.0);\nassert_eq!((-a).rem_euclid(-b), 1.0);\n// limitation due to round-off error\nassert!((-f32::EPSILON).rem_euclid(3.0) != 0.0);\n```", - "id": 9702, + "docs": "Divides one mutable string slice into two at an index.\n\nThe argument, `mid`, should be a byte offset from the start of the\nstring. It must also be on the boundary of a UTF-8 code point.\n\nThe two slices returned go from the start of the string slice to `mid`,\nand from `mid` to the end of the string slice.\n\nTo get immutable string slices instead, see the [`split_at`] method.\n\n[`split_at`]: str::split_at\n\n# Panics\n\nPanics if `mid` is not on a UTF-8 code point boundary, or if it is past\nthe end of the last code point of the string slice. For a non-panicking\nalternative see [`split_at_mut_checked`](str::split_at_mut_checked).\n\n# Examples\n\n```\nlet mut s = \"Per Martin-Löf\".to_string();\n{\n let (first, last) = s.split_at_mut(3);\n first.make_ascii_uppercase();\n assert_eq!(\"PER\", first);\n assert_eq!(\" Martin-Löf\", last);\n}\nassert_eq!(\"PER Martin-Löf\", s);\n```", + "id": 9692, "inner": { "function": { "generics": { @@ -778405,7 +798974,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -778413,59 +798982,84 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "rhs", + "mid", { - "primitive": "f32" + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "tuple": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "primitive": "str" + } + } + }, + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ] } } } }, - "links": {}, - "name": "rem_euclid", + "links": { + "str::split_at": 9694, + "str::split_at_mut_checked": 9695 + }, + "name": "split_at_mut", "span": { "begin": [ - 287, + 872, 5 ], "end": [ - 289, - 6 + 872, + 77 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9703": { + "9693": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"const_str_split_at\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"split_at_checked\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Raises a number to an integer power.\n\nUsing this function is generally faster than using `powf`.\nIt might have a different sequence of rounding operations than `powf`,\nso the results are not guaranteed to agree.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0_f32;\nlet abs_difference = (x.powi(2) - (x * x)).abs();\nassert!(abs_difference <= 1e-5);\n\nassert_eq!(f32::powi(f32::NAN, 0), 1.0);\n```", - "id": 9703, + "docs": "Divides one string slice into two at an index.\n\nThe argument, `mid`, should be a valid byte offset from the start of the\nstring. It must also be on the boundary of a UTF-8 code point. The\nmethod returns `None` if that’s not the case.\n\nThe two slices returned go from the start of the string slice to `mid`,\nand from `mid` to the end of the string slice.\n\nTo get mutable string slices instead, see the [`split_at_mut_checked`]\nmethod.\n\n[`split_at_mut_checked`]: str::split_at_mut_checked\n\n# Examples\n\n```\nlet s = \"Per Martin-Löf\";\n\nlet (first, last) = s.split_at_checked(3).unwrap();\nassert_eq!(\"Per\", first);\nassert_eq!(\" Martin-Löf\", last);\n\nassert_eq!(None, s.split_at_checked(13)); // Inside “ö”\nassert_eq!(None, s.split_at_checked(16)); // Beyond the string length\n```", + "id": 9693, "inner": { "function": { "generics": { @@ -778476,7 +799070,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -778484,59 +799078,98 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "n", + "mid", { - "primitive": "i32" + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ] + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "powi", + "links": { + "str::split_at_mut_checked": 9695 + }, + "name": "split_at_checked", "span": { "begin": [ - 315, + 912, 5 ], "end": [ - 317, - 6 + 912, + 77 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9704": { + "9694": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"const_str_split_at\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"str_split_at\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Raises a number to a floating point power.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0_f32;\nlet abs_difference = (x.powf(2.0) - (x * x)).abs();\nassert!(abs_difference <= 1e-5);\n\nassert_eq!(f32::powf(1.0, f32::NAN), 1.0);\nassert_eq!(f32::powf(f32::NAN, 0.0), 1.0);\n```", - "id": 9704, + "docs": "Divides one string slice into two at an index.\n\nThe argument, `mid`, should be a byte offset from the start of the\nstring. It must also be on the boundary of a UTF-8 code point.\n\nThe two slices returned go from the start of the string slice to `mid`,\nand from `mid` to the end of the string slice.\n\nTo get mutable string slices instead, see the [`split_at_mut`]\nmethod.\n\n[`split_at_mut`]: str::split_at_mut\n\n# Panics\n\nPanics if `mid` is not on a UTF-8 code point boundary, or if it is past\nthe end of the last code point of the string slice. For a non-panicking\nalternative see [`split_at_checked`](str::split_at_checked).\n\n# Examples\n\n```\nlet s = \"Per Martin-Löf\";\n\nlet (first, last) = s.split_at(3);\n\nassert_eq!(\"Per\", first);\nassert_eq!(\" Martin-Löf\", last);\n```", + "id": 9694, "inner": { "function": { "generics": { @@ -778547,7 +799180,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -778555,127 +799188,84 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "n", + "mid", { - "primitive": "f32" + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" - } - } - } - }, - "links": {}, - "name": "powf", - "span": { - "begin": [ - 340, - 5 - ], - "end": [ - 342, - 6 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "9705": { - "attrs": [ - { - "other": "#[doc(alias = \"squareRoot\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns the square root of a number.\n\nReturns NaN if `self` is a negative number other than `-0.0`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as `squareRoot`\nand guaranteed not to change.\n\n# Examples\n\n```\nlet positive = 4.0_f32;\nlet negative = -4.0_f32;\nlet negative_zero = -0.0_f32;\n\nassert_eq!(positive.sqrt(), 2.0);\nassert!(negative.sqrt().is_nan());\nassert!(negative_zero.sqrt() == negative_zero);\n```", - "id": 9705, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", + "tuple": [ { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f32" } } } }, - "links": {}, - "name": "sqrt", + "links": { + "str::split_at_checked": 9693, + "str::split_at_mut": 9692 + }, + "name": "split_at", "span": { "begin": [ - 370, + 831, 5 ], "end": [ - 372, - 6 + 831, + 61 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9706": { + "9695": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"const_str_split_at\", promotable: false}}]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"split_at_checked\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns `e^(self)`, (the exponential function).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet one = 1.0f32;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```", - "id": 9706, + "docs": "Divides one mutable string slice into two at an index.\n\nThe argument, `mid`, should be a valid byte offset from the start of the\nstring. It must also be on the boundary of a UTF-8 code point. The\nmethod returns `None` if that’s not the case.\n\nThe two slices returned go from the start of the string slice to `mid`,\nand from `mid` to the end of the string slice.\n\nTo get immutable string slices instead, see the [`split_at_checked`] method.\n\n[`split_at_checked`]: str::split_at_checked\n\n# Examples\n\n```\nlet mut s = \"Per Martin-Löf\".to_string();\nif let Some((first, last)) = s.split_at_mut_checked(3) {\n first.make_ascii_uppercase();\n assert_eq!(\"PER\", first);\n assert_eq!(\" Martin-Löf\", last);\n}\nassert_eq!(\"PER Martin-Löf\", s);\n\nassert_eq!(None, s.split_at_mut_checked(13)); // Inside “ö”\nassert_eq!(None, s.split_at_mut_checked(16)); // Beyond the string length\n```", + "id": 9695, "inner": { "function": { "generics": { @@ -778686,7 +799276,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -778694,118 +799284,93 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f32" - } - } - } - }, - "links": {}, - "name": "exp", - "span": { - "begin": [ - 397, - 5 - ], - "end": [ - 399, - 6 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "9707": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns `2^(self)`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet f = 2.0f32;\n\n// 2^2 - 4 == 0\nlet abs_difference = (f.exp2() - 4.0).abs();\n\nassert!(abs_difference <= 1e-5);\n```", - "id": 9707, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "mid", { - "generic": "Self" + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "primitive": "str" + } + } + }, + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ] + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "exp2", + "links": { + "str::split_at_checked": 9693 + }, + "name": "split_at_mut_checked", "span": { "begin": [ - 422, + 953, 5 ], "end": [ - 424, - 6 + 953, + 93 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9708": { + "9696": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[rustc_diagnostic_item = \"str_chars\"]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the natural logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet one = 1.0f32;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f32.ln(), f32::NEG_INFINITY);\nassert!((-42_f32).ln().is_nan());\n```", - "id": 9708, + "docs": "Returns an iterator over the [`char`]s of a string slice.\n\nAs a string slice consists of valid UTF-8, we can iterate through a\nstring slice by [`char`]. This method returns such an iterator.\n\nIt's important to remember that [`char`] represents a Unicode Scalar\nValue, and might not match your idea of what a 'character' is. Iteration\nover grapheme clusters may be what you actually want. This functionality\nis not provided by Rust's standard library, check crates.io instead.\n\n# Examples\n\nBasic usage:\n\n```\nlet word = \"goodbye\";\n\nlet count = word.chars().count();\nassert_eq!(7, count);\n\nlet mut chars = word.chars();\n\nassert_eq!(Some('g'), chars.next());\nassert_eq!(Some('o'), chars.next());\nassert_eq!(Some('o'), chars.next());\nassert_eq!(Some('d'), chars.next());\nassert_eq!(Some('b'), chars.next());\nassert_eq!(Some('y'), chars.next());\nassert_eq!(Some('e'), chars.next());\n\nassert_eq!(None, chars.next());\n```\n\nRemember, [`char`]s might not match your intuition about characters:\n\n[`char`]: prim@char\n\n```\nlet y = \"y̆\";\n\nlet mut chars = y.chars();\n\nassert_eq!(Some('y'), chars.next()); // not 'y̆'\nassert_eq!(Some('\\u{0306}'), chars.next());\n\nassert_eq!(None, chars.next());\n```", + "id": 9696, "inner": { "function": { "generics": { @@ -778824,53 +799389,63 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9697, + "path": "Chars" + } } } } }, - "links": {}, - "name": "ln", + "links": { + "prim@char": 2395 + }, + "name": "chars", "span": { "begin": [ - 457, + 1050, 5 ], "end": [ - 459, - 6 + 1050, + 37 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9709": { + "9698": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\nThe result might not be correctly rounded owing to implementation details;\n`self.log2()` can produce more accurate results for base 2, and\n`self.log10()` can produce more accurate results for base 10.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet five = 5.0f32;\n\n// log5(5) - 1 == 0\nlet abs_difference = (five.log(5.0) - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f32.log(10.0), f32::NEG_INFINITY);\nassert!((-42_f32).log(10.0).is_nan());\n```", - "id": 9709, + "docs": "Returns an iterator over the [`char`]s of a string slice, and their\npositions.\n\nAs a string slice consists of valid UTF-8, we can iterate through a\nstring slice by [`char`]. This method returns an iterator of both\nthese [`char`]s, as well as their byte positions.\n\nThe iterator yields tuples. The position is first, the [`char`] is\nsecond.\n\n# Examples\n\nBasic usage:\n\n```\nlet word = \"goodbye\";\n\nlet count = word.char_indices().count();\nassert_eq!(7, count);\n\nlet mut char_indices = word.char_indices();\n\nassert_eq!(Some((0, 'g')), char_indices.next());\nassert_eq!(Some((1, 'o')), char_indices.next());\nassert_eq!(Some((2, 'o')), char_indices.next());\nassert_eq!(Some((3, 'd')), char_indices.next());\nassert_eq!(Some((4, 'b')), char_indices.next());\nassert_eq!(Some((5, 'y')), char_indices.next());\nassert_eq!(Some((6, 'e')), char_indices.next());\n\nassert_eq!(None, char_indices.next());\n```\n\nRemember, [`char`]s might not match your intuition about characters:\n\n[`char`]: prim@char\n\n```\nlet yes = \"y̆es\";\n\nlet mut char_indices = yes.char_indices();\n\nassert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y̆')\nassert_eq!(Some((1, '\\u{0306}')), char_indices.next());\n\n// note the 3 here - the previous character took up two bytes\nassert_eq!(Some((3, 'e')), char_indices.next());\nassert_eq!(Some((4, 's')), char_indices.next());\n\nassert_eq!(None, char_indices.next());\n```", + "id": 9698, "inner": { "function": { "generics": { @@ -778889,44 +799464,59 @@ [ "self", { - "generic": "Self" - } - ], - [ - "base", - { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9699, + "path": "CharIndices" + } } } } }, - "links": {}, - "name": "log", + "links": { + "prim@char": 2395 + }, + "name": "char_indices", "span": { "begin": [ - 494, + 1107, 5 ], "end": [ - 496, - 6 + 1107, + 50 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "971": { + "970": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 971, + "id": 970, "inner": { "impl": { "blanket_impl": null, @@ -778987,7 +799577,50 @@ "name": "V" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "K" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "V" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -778996,8 +799629,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 315, - "path": "Freeze" + "id": 5, + "path": "Sync" } } }, @@ -779006,27 +799639,16 @@ "span": null, "visibility": "default" }, - "9710": { + "9700": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet two = 2.0f32;\n\n// log2(2) - 1 == 0\nlet abs_difference = (two.log2() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f32.log2(), f32::NEG_INFINITY);\nassert!((-42_f32).log2().is_nan());\n```", - "id": 9710, + "docs": "Returns an iterator over the bytes of a string slice.\n\nAs a string slice consists of a sequence of bytes, we can iterate\nthrough a string slice by byte. This method returns such an iterator.\n\n# Examples\n\n```\nlet mut bytes = \"bors\".bytes();\n\nassert_eq!(Some(b'b'), bytes.next());\nassert_eq!(Some(b'o'), bytes.next());\nassert_eq!(Some(b'r'), bytes.next());\nassert_eq!(Some(b's'), bytes.next());\n\nassert_eq!(None, bytes.next());\n```", + "id": 9700, "inner": { "function": { "generics": { @@ -779045,53 +799667,66 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9701, + "path": "Bytes" + } } } } }, "links": {}, - "name": "log2", + "name": "bytes", "span": { "begin": [ - 527, + 1130, 5 ], "end": [ - 529, - 6 + 1130, + 37 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9711": { + "9702": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"split_ascii_whitespace\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the split string as an iterator, without modifying the original" } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet ten = 10.0f32;\n\n// log10(10) - 1 == 0\nlet abs_difference = (ten.log10() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f32.log10(), f32::NEG_INFINITY);\nassert!((-42_f32).log10().is_nan());\n```", - "id": 9711, + "docs": "Splits a string slice by ASCII whitespace.\n\nThe iterator returned will return string slices that are sub-slices of\nthe original string slice, separated by any amount of ASCII whitespace.\n\nThis uses the same definition as [`char::is_ascii_whitespace`].\nTo split by Unicode `Whitespace` instead, use [`split_whitespace`].\n\n[`split_whitespace`]: str::split_whitespace\n\n# Examples\n\nBasic usage:\n\n```\nlet mut iter = \"A few words\".split_ascii_whitespace();\n\nassert_eq!(Some(\"A\"), iter.next());\nassert_eq!(Some(\"few\"), iter.next());\nassert_eq!(Some(\"words\"), iter.next());\n\nassert_eq!(None, iter.next());\n```\n\nVarious kinds of ASCII whitespace are considered\n(see [`char::is_ascii_whitespace`]):\n\n```\nlet mut iter = \" Mary had\\ta little \\n\\t lamb\".split_ascii_whitespace();\nassert_eq!(Some(\"Mary\"), iter.next());\nassert_eq!(Some(\"had\"), iter.next());\nassert_eq!(Some(\"a\"), iter.next());\nassert_eq!(Some(\"little\"), iter.next());\nassert_eq!(Some(\"lamb\"), iter.next());\n\nassert_eq!(None, iter.next());\n```\n\nIf the string is empty or all ASCII whitespace, the iterator yields no string slices:\n```\nassert_eq!(\"\".split_ascii_whitespace().next(), None);\nassert_eq!(\" \".split_ascii_whitespace().next(), None);\n```", + "id": 9702, "inner": { "function": { "generics": { @@ -779110,56 +799745,72 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9705, + "path": "SplitAsciiWhitespace" + } } } } }, - "links": {}, - "name": "log10", + "links": { + "`char::is_ascii_whitespace`": 9653, + "str::split_whitespace": 9703 + }, + "name": "split_ascii_whitespace", "span": { "begin": [ - 560, + 1233, 5 ], "end": [ - 562, - 6 + 1233, + 69 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9712": { + "9703": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[rustc_diagnostic_item = \"str_split_whitespace\"]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 1, patch: 0})}, feature: \"split_whitespace\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the split string as an iterator, without modifying the original" } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, - "deprecation": { - "note": "you probably meant `(self - other).abs()`: this operation is `(self - other).max(0.0)` except that `abs_sub` also propagates NaNs (also known as `fdimf` in C). If you truly need the positive difference, consider using that expression or the C function `fdimf`, depending on how you wish to handle NaN (please consider filing an issue describing your use-case too).", - "since": "1.10.0" - }, - "docs": "The positive difference of two numbers.\n\n* If `self <= other`: `0.0`\n* Else: `self - other`\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `fdimf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 3.0f32;\nlet y = -3.0f32;\n\nlet abs_difference_x = (x.abs_sub(1.0) - 2.0).abs();\nlet abs_difference_y = (y.abs_sub(1.0) - 0.0).abs();\n\nassert!(abs_difference_x <= f32::EPSILON);\nassert!(abs_difference_y <= f32::EPSILON);\n```", - "id": 9712, + "crate_id": 1, + "deprecation": null, + "docs": "Splits a string slice by whitespace.\n\nThe iterator returned will return string slices that are sub-slices of\nthe original string slice, separated by any amount of whitespace.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`. If you only want to split on ASCII whitespace\ninstead, use [`split_ascii_whitespace`].\n\n[`split_ascii_whitespace`]: str::split_ascii_whitespace\n\n# Examples\n\nBasic usage:\n\n```\nlet mut iter = \"A few words\".split_whitespace();\n\nassert_eq!(Some(\"A\"), iter.next());\nassert_eq!(Some(\"few\"), iter.next());\nassert_eq!(Some(\"words\"), iter.next());\n\nassert_eq!(None, iter.next());\n```\n\nAll kinds of whitespace are considered:\n\n```\nlet mut iter = \" Mary had\\ta\\u{2009}little \\n\\t lamb\".split_whitespace();\nassert_eq!(Some(\"Mary\"), iter.next());\nassert_eq!(Some(\"had\"), iter.next());\nassert_eq!(Some(\"a\"), iter.next());\nassert_eq!(Some(\"little\"), iter.next());\nassert_eq!(Some(\"lamb\"), iter.next());\n\nassert_eq!(None, iter.next());\n```\n\nIf the string is empty or all whitespace, the iterator yields no string slices:\n```\nassert_eq!(\"\".split_whitespace().next(), None);\nassert_eq!(\" \".split_whitespace().next(), None);\n```", + "id": 9703, "inner": { "function": { "generics": { @@ -779178,59 +799829,63 @@ [ "self", { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9704, + "path": "SplitWhitespace" + } } } } }, - "links": {}, - "name": "abs_sub", + "links": { + "str::split_ascii_whitespace": 9702 + }, + "name": "split_whitespace", "span": { "begin": [ - 602, + 1182, 5 ], "end": [ - 605, - 6 + 1182, + 58 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9713": { + "9706": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns the cube root of a number.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `cbrtf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 8.0f32;\n\n// x^(1/3) - 2 == 0\nlet abs_difference = (x.cbrt() - 2.0).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", - "id": 9713, + "docs": "Returns an iterator over the lines of a string, as string slices.\n\nLines are split at line endings that are either newlines (`\\n`) or\nsequences of a carriage return followed by a line feed (`\\r\\n`).\n\nLine terminators are not included in the lines returned by the iterator.\n\nNote that any carriage return (`\\r`) not immediately followed by a\nline feed (`\\n`) does not split a line. These carriage returns are\nthereby included in the produced lines.\n\nThe final line ending is optional. A string that ends with a final line\nending will return the same lines as an otherwise identical string\nwithout a final line ending.\n\n# Examples\n\nBasic usage:\n\n```\nlet text = \"foo\\r\\nbar\\n\\nbaz\\r\";\nlet mut lines = text.lines();\n\nassert_eq!(Some(\"foo\"), lines.next());\nassert_eq!(Some(\"bar\"), lines.next());\nassert_eq!(Some(\"\"), lines.next());\n// Trailing carriage return is included in the last line\nassert_eq!(Some(\"baz\\r\"), lines.next());\n\nassert_eq!(None, lines.next());\n```\n\nThe final line does not require any ending:\n\n```\nlet text = \"foo\\nbar\\n\\r\\nbaz\";\nlet mut lines = text.lines();\n\nassert_eq!(Some(\"foo\"), lines.next());\nassert_eq!(Some(\"bar\"), lines.next());\nassert_eq!(Some(\"\"), lines.next());\nassert_eq!(Some(\"baz\"), lines.next());\n\nassert_eq!(None, lines.next());\n```", + "id": 9706, "inner": { "function": { "generics": { @@ -779249,53 +799904,64 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9707, + "path": "Lines" + } } } } }, "links": {}, - "name": "cbrt", + "name": "lines", "span": { "begin": [ - 630, + 1286, 5 ], "end": [ - 632, - 6 + 1286, + 37 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9714": { + "9708": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, - "deprecation": null, - "docs": "Compute the distance between the origin and a point (`x`, `y`) on the\nEuclidean plane. Equivalently, compute the length of the hypotenuse of a\nright-angle triangle with other sides having length `x.abs()` and\n`y.abs()`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `hypotf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 2.0f32;\nlet y = 3.0f32;\n\n// sqrt(x^2 + y^2)\nlet abs_difference = (x.hypot(y) - (x.powi(2) + y.powi(2)).sqrt()).abs();\n\nassert!(abs_difference <= 1e-6);\n```", - "id": 9714, + "crate_id": 1, + "deprecation": { + "note": "use lines() instead now", + "since": "1.4.0" + }, + "docs": "Returns an iterator over the lines of a string.", + "id": 9708, "inner": { "function": { "generics": { @@ -779314,59 +799980,151 @@ [ "self", { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9709, + "path": "LinesAny" + } } } } }, "links": {}, - "name": "hypot", + "name": "lines_any", "span": { "begin": [ - 661, + 1295, 5 ], "end": [ - 663, - 6 + 1295, + 44 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9715": { + "971": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 971, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + }, + { + "type": { + "generic": "K" + } + }, + { + "type": { + "generic": "V" + } + } + ], + "constraints": [] + } + }, + "id": 750, + "path": "Values" + } + }, + "generics": { + "params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "K" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "V" + } + ], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9710": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 8, patch: 0})}, feature: \"encode_utf16\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the encoded string as an iterator, without modifying the original" } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Computes the sine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = std::f32::consts::FRAC_PI_2;\n\nlet abs_difference = (x.sin() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```", - "id": 9715, + "docs": "Returns an iterator of `u16` over the string encoded\nas native endian UTF-16 (without byte-order mark).\n\n# Examples\n\n```\nlet text = \"Zażółć gęślą jaźń\";\n\nlet utf8_len = text.len();\nlet utf16_len = text.encode_utf16().count();\n\nassert!(utf16_len <= utf8_len);\n```", + "id": 9710, "inner": { "function": { "generics": { @@ -779385,58 +800143,99 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9711, + "path": "EncodeUtf16" + } } } } }, "links": {}, - "name": "sin", + "name": "encode_utf16", "span": { "begin": [ - 685, + 1315, 5 ], "end": [ - 687, - 6 + 1315, + 50 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9716": { + "9713": { "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Computes the cosine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0 * std::f32::consts::PI;\n\nlet abs_difference = (x.cos() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```", - "id": 9716, + "docs": "Returns `true` if the given pattern matches a sub-slice of\nthis string slice.\n\nReturns `false` if it does not.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\n```\nlet bananas = \"bananas\";\n\nassert!(bananas.contains(\"nana\"));\nassert!(!bananas.contains(\"apples\"));\n```", + "id": 9713, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { @@ -779450,58 +800249,98 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "primitive": "bool" } } } }, - "links": {}, - "name": "cos", + "links": { + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "contains", "span": { "begin": [ - 709, + 1340, 5 ], "end": [ - 711, - 6 + 1340, + 55 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9717": { + "9715": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[rustc_diagnostic_item = \"str_starts_with\"]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Computes the tangent of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tanf` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = std::f32::consts::FRAC_PI_4;\nlet abs_difference = (x.tan() - 1.0).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", - "id": 9717, + "docs": "Returns `true` if the given pattern matches a prefix of this\nstring slice.\n\nReturns `false` if it does not.\n\nThe [pattern] can be a `&str`, in which case this function will return true if\nthe `&str` is a prefix of this string slice.\n\nThe [pattern] can also be a [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\nThese will only be checked against the first character of this string slice.\nLook at the second example below regarding behavior for slices of [`char`]s.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\n```\nlet bananas = \"bananas\";\n\nassert!(bananas.starts_with(\"bana\"));\nassert!(!bananas.starts_with(\"nana\"));\n```\n\n```\nlet bananas = \"bananas\";\n\n// Note that both of these assert successfully.\nassert!(bananas.starts_with(&['b', 'a', 'n', 'a']));\nassert!(bananas.starts_with(&['a', 'b', 'c', 'd']));\n```", + "id": 9715, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { @@ -779515,61 +800354,259 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "primitive": "bool" } } } }, - "links": {}, - "name": "tan", + "links": { + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "starts_with", "span": { "begin": [ - 734, + 1378, 5 ], "end": [ - 736, - 6 + 1378, + 58 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9718": { + "9716": { "attrs": [ { - "other": "#[doc(alias = \"arcsin\")]" + "other": "#[rustc_diagnostic_item = \"str_ends_with\"]" }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Returns `true` if the given pattern matches a suffix of this\nstring slice.\n\nReturns `false` if it does not.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\n```\nlet bananas = \"bananas\";\n\nassert!(bananas.ends_with(\"anas\"));\nassert!(!bananas.ends_with(\"nana\"));\n```", + "id": 9716, + "inner": { + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } } - }, + } + }, + "links": { + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "ends_with", + "span": { + "begin": [ + 1403, + 5 + ], + "end": [ + 1405, + 54 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "public" + }, + "9718": { + "attrs": [ { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Computes the arcsine of a number. Return value is in radians in\nthe range [-pi/2, pi/2] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `asinf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = std::f32::consts::FRAC_PI_2;\n\n// asin(sin(pi/2))\nlet abs_difference = (f.sin().asin() - std::f32::consts::FRAC_PI_2).abs();\n\nassert!(abs_difference <= 1e-3);\n```", + "docs": "Returns the byte index of the first character of this string slice that\nmatches the pattern.\n\nReturns [`None`] if the pattern doesn't match.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\nSimple patterns:\n\n```\nlet s = \"Löwe 老虎 Léopard Gepardi\";\n\nassert_eq!(s.find('L'), Some(0));\nassert_eq!(s.find('é'), Some(14));\nassert_eq!(s.find(\"pard\"), Some(17));\n```\n\nMore complex patterns using point-free style and closures:\n\n```\nlet s = \"Löwe 老虎 Léopard\";\n\nassert_eq!(s.find(char::is_whitespace), Some(5));\nassert_eq!(s.find(char::is_lowercase), Some(1));\nassert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));\nassert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));\n```\n\nNot finding the pattern:\n\n```\nlet s = \"Löwe 老虎 Léopard\";\nlet x: &[_] = &['1', '2'];\n\nassert_eq!(s.find(x), None);\n```", "id": 9718, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { @@ -779583,61 +800620,170 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "asin", + "links": { + "`None`": 53, + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "find", "span": { "begin": [ - 764, + 1454, 5 ], "end": [ - 766, - 6 + 1454, + 60 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9719": { "attrs": [ - { - "other": "#[doc(alias = \"arccos\")]" - }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Computes the arccosine of a number. Return value is in radians in\nthe range [0, pi] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `acosf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = std::f32::consts::FRAC_PI_4;\n\n// acos(cos(pi/4))\nlet abs_difference = (f.cos().acos() - std::f32::consts::FRAC_PI_4).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "docs": "Returns the byte index for the first character of the last match of the pattern in\nthis string slice.\n\nReturns [`None`] if the pattern doesn't match.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\nSimple patterns:\n\n```\nlet s = \"Löwe 老虎 Léopard Gepardi\";\n\nassert_eq!(s.rfind('L'), Some(13));\nassert_eq!(s.rfind('é'), Some(14));\nassert_eq!(s.rfind(\"pard\"), Some(24));\n```\n\nMore complex patterns with closures:\n\n```\nlet s = \"Löwe 老虎 Léopard\";\n\nassert_eq!(s.rfind(char::is_whitespace), Some(12));\nassert_eq!(s.rfind(char::is_lowercase), Some(20));\n```\n\nNot finding the pattern:\n\n```\nlet s = \"Löwe 老虎 Léopard\";\nlet x: &[_] = &['1', '2'];\n\nassert_eq!(s.rfind(x), None);\n```", "id": 9719, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, "has_body": true, "header": { @@ -779651,29 +800797,60 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "acos", + "links": { + "`None`": 53, + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "rfind", "span": { "begin": [ - 794, + 1500, 5 ], "end": [ - 796, - 6 + 1502, + 54 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, @@ -779764,33 +800941,111 @@ }, "9720": { "attrs": [ - { - "other": "#[doc(alias = \"arctan\")]" - }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Computes the arctangent of a number. Return value is in radians in the\nrange [-pi/2, pi/2];\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `atanf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = 1.0f32;\n\n// atan(tan(1))\nlet abs_difference = (f.tan().atan() - 1.0).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", + "docs": "Returns an iterator over substrings of the given string slice, separated\nby characters matched by a pattern and yielded in reverse order.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator requires that the pattern supports a reverse\nsearch, and it will be a [`DoubleEndedIterator`] if a forward/reverse\nsearch yields the same elements.\n\nFor iterating from the front, the [`split`] method can be used.\n\n[`split`]: str::split\n\n# Examples\n\nSimple patterns:\n\n```\nlet v: Vec<&str> = \"Mary had a little lamb\".rsplit(' ').collect();\nassert_eq!(v, [\"lamb\", \"little\", \"a\", \"had\", \"Mary\"]);\n\nlet v: Vec<&str> = \"\".rsplit('X').collect();\nassert_eq!(v, [\"\"]);\n\nlet v: Vec<&str> = \"lionXXtigerXleopard\".rsplit('X').collect();\nassert_eq!(v, [\"leopard\", \"tiger\", \"\", \"lion\"]);\n\nlet v: Vec<&str> = \"lion::tiger::leopard\".rsplit(\"::\").collect();\nassert_eq!(v, [\"leopard\", \"tiger\", \"lion\"]);\n```\n\nA more complex pattern, using a closure:\n\n```\nlet v: Vec<&str> = \"abc1defXghi\".rsplit(|c| c == '1' || c == 'X').collect();\nassert_eq!(v, [\"ghi\", \"def\", \"abc\"]);\n```", "id": 9720, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, "has_body": true, "header": { @@ -779804,29 +801059,64 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } + }, + "id": 9725, + "path": "RSplit" + } } } } }, - "links": {}, - "name": "atan", + "links": { + "`DoubleEndedIterator`": 41, + "prim@char": 2395, + "self::pattern": 9712, + "str::split": 9721 + }, + "name": "rsplit", "span": { "begin": [ - 823, + 1724, 5 ], "end": [ - 825, - 6 + 1726, + 54 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, @@ -779834,28 +801124,50 @@ "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Computes the four quadrant arctangent of `self` (`y`) and `other` (`x`) in radians.\n\n* `x = 0`, `y = 0`: `0`\n* `x >= 0`: `arctan(y/x)` -> `[-pi/2, pi/2]`\n* `y >= 0`: `arctan(y/x) + pi` -> `(pi/2, pi]`\n* `y < 0`: `arctan(y/x) - pi` -> `(-pi, -pi/2)`\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `atan2f` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n// Positive angles measured counter-clockwise\n// from positive x axis\n// -pi/4 radians (45 deg clockwise)\nlet x1 = 3.0f32;\nlet y1 = -3.0f32;\n\n// 3pi/4 radians (135 deg counter-clockwise)\nlet x2 = -3.0f32;\nlet y2 = 3.0f32;\n\nlet abs_difference_1 = (y1.atan2(x1) - (-std::f32::consts::FRAC_PI_4)).abs();\nlet abs_difference_2 = (y2.atan2(x2) - (3.0 * std::f32::consts::FRAC_PI_4)).abs();\n\nassert!(abs_difference_1 <= f32::EPSILON);\nassert!(abs_difference_2 <= f32::EPSILON);\n```", + "docs": "Returns an iterator over substrings of this string slice, separated by\ncharacters matched by a pattern.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\nIf there are no matches the full string slice is returned as the only\nitem in the iterator.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator will be a [`DoubleEndedIterator`] if the pattern\nallows a reverse search and forward/reverse search yields the same\nelements. This is true for, e.g., [`char`], but not for `&str`.\n\nIf the pattern allows a reverse search but its results might differ\nfrom a forward search, the [`rsplit`] method can be used.\n\n[`rsplit`]: str::rsplit\n\n# Examples\n\nSimple patterns:\n\n```\nlet v: Vec<&str> = \"Mary had a little lamb\".split(' ').collect();\nassert_eq!(v, [\"Mary\", \"had\", \"a\", \"little\", \"lamb\"]);\n\nlet v: Vec<&str> = \"\".split('X').collect();\nassert_eq!(v, [\"\"]);\n\nlet v: Vec<&str> = \"lionXXtigerXleopard\".split('X').collect();\nassert_eq!(v, [\"lion\", \"\", \"tiger\", \"leopard\"]);\n\nlet v: Vec<&str> = \"lion::tiger::leopard\".split(\"::\").collect();\nassert_eq!(v, [\"lion\", \"tiger\", \"leopard\"]);\n\nlet v: Vec<&str> = \"AABBCC\".split(\"DD\").collect();\nassert_eq!(v, [\"AABBCC\"]);\n\nlet v: Vec<&str> = \"abc1def2ghi\".split(char::is_numeric).collect();\nassert_eq!(v, [\"abc\", \"def\", \"ghi\"]);\n\nlet v: Vec<&str> = \"lionXtigerXleopard\".split(char::is_uppercase).collect();\nassert_eq!(v, [\"lion\", \"tiger\", \"leopard\"]);\n```\n\nIf the pattern is a slice of chars, split on each occurrence of any of the characters:\n\n```\nlet v: Vec<&str> = \"2020-11-03 23:59\".split(&['-', ' ', ':', '@'][..]).collect();\nassert_eq!(v, [\"2020\", \"11\", \"03\", \"23\", \"59\"]);\n```\n\nA more complex pattern, using a closure:\n\n```\nlet v: Vec<&str> = \"abc1defXghi\".split(|c| c == '1' || c == 'X').collect();\nassert_eq!(v, [\"abc\", \"def\", \"ghi\"]);\n```\n\nIf a string contains multiple contiguous separators, you will end up\nwith empty strings in the output:\n\n```\nlet x = \"||||a||b|c\".to_string();\nlet d: Vec<_> = x.split('|').collect();\n\nassert_eq!(d, &[\"\", \"\", \"\", \"\", \"a\", \"\", \"b\", \"c\"]);\n```\n\nContiguous separators are separated by the empty string.\n\n```\nlet x = \"(///)\".to_string();\nlet d: Vec<_> = x.split('/').collect();\n\nassert_eq!(d, &[\"(\", \"\", \"\", \")\"]);\n```\n\nSeparators at the start or end of a string are neighbored\nby empty strings.\n\n```\nlet d: Vec<_> = \"010\".split(\"0\").collect();\nassert_eq!(d, &[\"\", \"1\", \"\"]);\n```\n\nWhen the empty string is used as a separator, it separates\nevery character in the string, along with the beginning\nand end of the string.\n\n```\nlet f: Vec<_> = \"rust\".split(\"\").collect();\nassert_eq!(f, &[\"\", \"r\", \"u\", \"s\", \"t\", \"\"]);\n```\n\nContiguous separators can lead to possibly surprising behavior\nwhen whitespace is used as the separator. This code is correct:\n\n```\nlet x = \" a b c\".to_string();\nlet d: Vec<_> = x.split(' ').collect();\n\nassert_eq!(d, &[\"\", \"\", \"\", \"\", \"a\", \"\", \"b\", \"c\"]);\n```\n\nIt does _not_ give you:\n\n```,ignore\nassert_eq!(d, &[\"a\", \"b\", \"c\"]);\n```\n\nUse [`split_whitespace`] for this behavior.\n\n[`split_whitespace`]: str::split_whitespace", "id": 9721, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { @@ -779869,202 +801181,116 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "other", - { - "primitive": "f32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f32" - } - } - } - }, - "links": {}, - "name": "atan2", - "span": { - "begin": [ - 864, - 5 - ], - "end": [ - 866, - 6 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "9722": { - "attrs": [ - { - "other": "#[doc(alias = \"sincos\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "other": "#[attr = AllowIncoherentImpl]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Simultaneously computes the sine and cosine of the number, `x`. Returns\n`(sin(x), cos(x))`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `(f32::sin(x),\nf32::cos(x))`. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = std::f32::consts::FRAC_PI_4;\nlet f = x.sin_cos();\n\nlet abs_difference_0 = (f.0 - x.sin()).abs();\nlet abs_difference_1 = (f.1 - x.cos()).abs();\n\nassert!(abs_difference_0 <= 1e-6);\nassert!(abs_difference_1 <= 1e-6);\n```", - "id": 9722, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", + "pat", { - "generic": "Self" + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } }, - { - "primitive": "f32" - } - ] + "id": 9722, + "path": "Split" + } } } } }, - "links": {}, - "name": "sin_cos", + "links": { + "`DoubleEndedIterator`": 41, + "prim@char": 2395, + "self::pattern": 9712, + "str::rsplit": 9720, + "str::split_whitespace": 9703 + }, + "name": "split", "span": { "begin": [ - 894, + 1628, 5 ], "end": [ - 896, - 6 + 1628, + 60 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9723": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 51, patch: 0})}, feature: \"split_inclusive\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Returns `e^(self) - 1` in a way that is accurate even if the\nnumber is close to zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `expm1f` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 1e-8_f32;\n\n// for very small x, e^x is approximately 1 + x + x^2 / 2\nlet approx = x + x * x / 2.0;\nlet abs_difference = (x.exp_m1() - approx).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Returns an iterator over substrings of this string slice, separated by\ncharacters matched by a pattern.\n\nDiffers from the iterator produced by `split` in that `split_inclusive`\nleaves the matched part as the terminator of the substring.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\n```\nlet v: Vec<&str> = \"Mary had a little lamb\\nlittle lamb\\nlittle lamb.\"\n .split_inclusive('\\n').collect();\nassert_eq!(v, [\"Mary had a little lamb\\n\", \"little lamb\\n\", \"little lamb.\"]);\n```\n\nIf the last element of the string is matched,\nthat element will be considered the terminator of the preceding substring.\nThat substring will be the last item returned by the iterator.\n\n```\nlet v: Vec<&str> = \"Mary had a little lamb\\nlittle lamb\\nlittle lamb.\\n\"\n .split_inclusive('\\n').collect();\nassert_eq!(v, [\"Mary had a little lamb\\n\", \"little lamb\\n\", \"little lamb.\\n\"]);\n```", "id": 9723, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } ], - "is_c_variadic": false, - "output": { - "primitive": "f32" - } - } - } - }, - "links": {}, - "name": "exp_m1", - "span": { - "begin": [ - 923, - 5 - ], - "end": [ - 925, - 6 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "9724": { - "attrs": [ - { - "other": "#[doc(alias = \"log1p\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Returns `ln(1+n)` (natural logarithm) more accurately than if\nthe operations were performed separately.\n\nThis returns NaN when `n < -1.0`, and negative infinity when `n == -1.0`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `log1pf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 1e-8_f32;\n\n// for very small x, ln(1 + x) is approximately x - x^2 / 2\nlet approx = x - x * x / 2.0;\nlet abs_difference = (x.ln_1p() - approx).abs();\n\nassert!(abs_difference < 1e-10);\n```\n\nOut-of-range values:\n```\nassert_eq!((-1.0_f32).ln_1p(), f32::NEG_INFINITY);\nassert!((-2.0_f32).ln_1p().is_nan());\n```", - "id": 9724, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { @@ -780078,94 +801304,62 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f32" - } - } - } - }, - "links": {}, - "name": "ln_1p", - "span": { - "begin": [ - 961, - 5 - ], - "end": [ - 963, - 6 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "9725": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `sinhf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f32::consts::E;\nlet x = 1.0f32;\n\nlet f = x.sinh();\n// Solving sinh() at 1 gives `(e^2-1)/(2e)`\nlet g = ((e * e) - 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", - "id": 9725, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "pat", { - "generic": "Self" + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } + }, + "id": 9724, + "path": "SplitInclusive" + } } } } }, - "links": {}, - "name": "sinh", + "links": { + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "split_inclusive", "span": { "begin": [ - 991, + 1669, 5 ], "end": [ - 993, - 6 + 1669, + 79 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, @@ -780173,28 +801367,109 @@ "attrs": [ { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `coshf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f32::consts::E;\nlet x = 1.0f32;\nlet f = x.cosh();\n// Solving cosh() at 1 gives this result\nlet g = ((e * e) + 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\n// Same result\nassert!(abs_difference <= f32::EPSILON);\n```", + "docs": "Returns an iterator over substrings of `self`, separated by characters\nmatched by a pattern and yielded in reverse order.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\nEquivalent to [`split`], except that the trailing substring is\nskipped if empty.\n\n[`split`]: str::split\n\nThis method can be used for string data that is _terminated_,\nrather than _separated_ by a pattern.\n\n# Iterator behavior\n\nThe returned iterator requires that the pattern supports a\nreverse search, and it will be double ended if a forward/reverse\nsearch yields the same elements.\n\nFor iterating from the front, the [`split_terminator`] method can be\nused.\n\n[`split_terminator`]: str::split_terminator\n\n# Examples\n\n```\nlet v: Vec<&str> = \"A.B.\".rsplit_terminator('.').collect();\nassert_eq!(v, [\"B\", \"A\"]);\n\nlet v: Vec<&str> = \"A..B..\".rsplit_terminator(\".\").collect();\nassert_eq!(v, [\"\", \"B\", \"\", \"A\"]);\n\nlet v: Vec<&str> = \"A.B:C.D\".rsplit_terminator(&['.', ':'][..]).collect();\nassert_eq!(v, [\"D\", \"C\", \"B\", \"A\"]);\n```", "id": 9726, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, "has_body": true, "header": { @@ -780208,126 +801483,115 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f32" - } - } - } - }, - "links": {}, - "name": "cosh", - "span": { - "begin": [ - 1021, - 5 - ], - "end": [ - 1023, - 6 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "9727": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tanhf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f32::consts::E;\nlet x = 1.0f32;\n\nlet f = x.tanh();\n// Solving tanh() at 1 gives `(1 - e^(-2))/(1 + e^(-2))`\nlet g = (1.0 - e.powi(-2)) / (1.0 + e.powi(-2));\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", - "id": 9727, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "pat", { - "generic": "Self" + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } + }, + "id": 9729, + "path": "RSplitTerminator" + } } } } }, - "links": {}, - "name": "tanh", + "links": { + "prim@char": 2395, + "self::pattern": 9712, + "str::split": 9721, + "str::split_terminator": 9727 + }, + "name": "rsplit_terminator", "span": { "begin": [ - 1051, + 1819, 5 ], "end": [ - 1053, - 6 + 1821, + 54 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9728": { + "9727": { "attrs": [ - { - "other": "#[doc(alias = \"arcsinh\")]" - }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Inverse hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 1.0f32;\nlet f = x.sinh().asinh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= 1e-7);\n```", - "id": 9728, + "docs": "Returns an iterator over substrings of the given string slice, separated\nby characters matched by a pattern.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\nEquivalent to [`split`], except that the trailing substring\nis skipped if empty.\n\n[`split`]: str::split\n\nThis method can be used for string data that is _terminated_,\nrather than _separated_ by a pattern.\n\n# Iterator behavior\n\nThe returned iterator will be a [`DoubleEndedIterator`] if the pattern\nallows a reverse search and forward/reverse search yields the same\nelements. This is true for, e.g., [`char`], but not for `&str`.\n\nIf the pattern allows a reverse search but its results might differ\nfrom a forward search, the [`rsplit_terminator`] method can be used.\n\n[`rsplit_terminator`]: str::rsplit_terminator\n\n# Examples\n\n```\nlet v: Vec<&str> = \"A.B.\".split_terminator('.').collect();\nassert_eq!(v, [\"A\", \"B\"]);\n\nlet v: Vec<&str> = \"A..B..\".split_terminator(\".\").collect();\nassert_eq!(v, [\"A\", \"\", \"B\", \"\"]);\n\nlet v: Vec<&str> = \"A.B:C.D\".split_terminator(&['.', ':'][..]).collect();\nassert_eq!(v, [\"A\", \"B\", \"C\", \"D\"]);\n```", + "id": 9727, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { @@ -780341,97 +801605,65 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f32" - } - } - } - }, - "links": {}, - "name": "asinh", - "span": { - "begin": [ - 1077, - 5 - ], - "end": [ - 1081, - 6 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "9729": { - "attrs": [ - { - "other": "#[doc(alias = \"arccosh\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": "Inverse hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 1.0f32;\nlet f = x.cosh().acosh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= 1e-6);\n```", - "id": 9729, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "pat", { - "generic": "Self" + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } + }, + "id": 9728, + "path": "SplitTerminator" + } } } } }, - "links": {}, - "name": "acosh", + "links": { + "`DoubleEndedIterator`": 41, + "prim@char": 2395, + "self::pattern": 9712, + "str::rsplit_terminator": 9726, + "str::split": 9721 + }, + "name": "split_terminator", "span": { "begin": [ - 1105, + 1773, 5 ], "end": [ - 1111, - 6 + 1773, + 81 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, @@ -780511,7 +801743,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -780532,7 +801764,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -780553,7 +801785,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, + "id": 316, "path": "UnwindSafe" } } @@ -780565,33 +801797,111 @@ }, "9730": { "attrs": [ - { - "other": "#[doc(alias = \"arctanh\")]" - }, { "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Inverse hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet e = std::f32::consts::E;\nlet f = e.tanh().atanh();\n\nlet abs_difference = (f - e).abs();\n\nassert!(abs_difference <= 1e-5);\n```", + "docs": "Returns an iterator over substrings of this string slice, separated by a\npattern, starting from the end of the string, restricted to returning at\nmost `n` items.\n\nIf `n` substrings are returned, the last substring (the `n`th substring)\nwill contain the remainder of the string.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator will not be double ended, because it is not\nefficient to support.\n\nFor splitting from the front, the [`splitn`] method can be used.\n\n[`splitn`]: str::splitn\n\n# Examples\n\nSimple patterns:\n\n```\nlet v: Vec<&str> = \"Mary had a little lamb\".rsplitn(3, ' ').collect();\nassert_eq!(v, [\"lamb\", \"little\", \"Mary had a\"]);\n\nlet v: Vec<&str> = \"lionXXtigerXleopard\".rsplitn(3, 'X').collect();\nassert_eq!(v, [\"leopard\", \"tiger\", \"lionX\"]);\n\nlet v: Vec<&str> = \"lion::tiger::leopard\".rsplitn(2, \"::\").collect();\nassert_eq!(v, [\"leopard\", \"lion::tiger\"]);\n```\n\nA more complex pattern, using a closure:\n\n```\nlet v: Vec<&str> = \"abc1defXghi\".rsplitn(2, |c| c == '1' || c == 'X').collect();\nassert_eq!(v, [\"ghi\", \"abc1def\"]);\n```", "id": 9730, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, "has_body": true, "header": { @@ -780605,58 +801915,120 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "n", + { + "primitive": "usize" + } + ], + [ + "pat", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } + }, + "id": 9733, + "path": "RSplitN" + } } } } }, - "links": {}, - "name": "atanh", + "links": { + "prim@char": 2395, + "self::pattern": 9712, + "str::splitn": 9731 + }, + "name": "rsplitn", "span": { "begin": [ - 1135, + 1923, 5 ], "end": [ - 1137, - 6 + 1925, + 54 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9731": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99842, is_soft: false}, feature: \"float_gamma\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tgammaf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_gamma)]\nlet x = 5.0f32;\n\nlet abs_difference = (x.gamma() - 24.0).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", + "docs": "Returns an iterator over substrings of the given string slice, separated\nby a pattern, restricted to returning at most `n` items.\n\nIf `n` substrings are returned, the last substring (the `n`th substring)\nwill contain the remainder of the string.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator will not be double ended, because it is\nnot efficient to support.\n\nIf the pattern allows a reverse search, the [`rsplitn`] method can be\nused.\n\n[`rsplitn`]: str::rsplitn\n\n# Examples\n\nSimple patterns:\n\n```\nlet v: Vec<&str> = \"Mary had a little lambda\".splitn(3, ' ').collect();\nassert_eq!(v, [\"Mary\", \"had\", \"a little lambda\"]);\n\nlet v: Vec<&str> = \"lionXXtigerXleopard\".splitn(3, \"X\").collect();\nassert_eq!(v, [\"lion\", \"\", \"tigerXleopard\"]);\n\nlet v: Vec<&str> = \"abcXdef\".splitn(1, 'X').collect();\nassert_eq!(v, [\"abcXdef\"]);\n\nlet v: Vec<&str> = \"\".splitn(1, 'X').collect();\nassert_eq!(v, [\"\"]);\n```\n\nA more complex pattern, using a closure:\n\n```\nlet v: Vec<&str> = \"abc1defXghi\".splitn(2, |c| c == '1' || c == 'X').collect();\nassert_eq!(v, [\"abc\", \"defXghi\"]);\n```", "id": 9731, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { @@ -780670,58 +802042,120 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "n", + { + "primitive": "usize" + } + ], + [ + "pat", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } + }, + "id": 9732, + "path": "SplitN" + } } } } }, - "links": {}, - "name": "gamma", + "links": { + "prim@char": 2395, + "self::pattern": 9712, + "str::rsplitn": 9730 + }, + "name": "splitn", "span": { "begin": [ - 1162, + 1874, 5 ], "end": [ - 1164, - 6 + 1874, + 72 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9732": { + "9734": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99842, is_soft: false}, feature: \"float_gamma\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"str_split_once\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Natural logarithm of the absolute value of the gamma function\n\nThe integer part of the tuple indicates the sign of the gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `lgamma_r` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_gamma)]\nlet x = 2.0f32;\n\nlet abs_difference = (x.ln_gamma().0 - 0.0).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", - "id": 9732, + "docs": "Splits the string on the first occurrence of the specified delimiter and\nreturns prefix before delimiter and suffix after delimiter.\n\n# Examples\n\n```\nassert_eq!(\"cfg\".split_once('='), None);\nassert_eq!(\"cfg=\".split_once('='), Some((\"cfg\", \"\")));\nassert_eq!(\"cfg=foo\".split_once('='), Some((\"cfg\", \"foo\")));\nassert_eq!(\"cfg=foo=bar\".split_once('='), Some((\"cfg\", \"foo=bar\")));\n```", + "id": 9734, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { @@ -780735,65 +802169,185 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "delimiter", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ] + } + } + ], + "constraints": [] + } }, - { - "primitive": "i32" - } - ] + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "ln_gamma", + "name": "split_once", "span": { "begin": [ - 1191, + 1943, 5 ], "end": [ - 1195, - 6 + 1943, + 85 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9733": { + "9735": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136321, is_soft: false}, feature: \"float_erf\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 52, patch: 0})}, feature: \"str_split_once\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erff` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_erf)]\n/// The error function relates what percent of a normal distribution lies\n/// within `x` standard deviations (scaled by `1/sqrt(2)`).\nfn within_standard_deviations(x: f32) -> f32 {\n (x * std::f32::consts::FRAC_1_SQRT_2).erf() * 100.0\n}\n\n// 68% of a normal distribution is within one standard deviation\nassert!((within_standard_deviations(1.0) - 68.269).abs() < 0.01);\n// 95% of a normal distribution is within two standard deviations\nassert!((within_standard_deviations(2.0) - 95.450).abs() < 0.01);\n// 99.7% of a normal distribution is within three standard deviations\nassert!((within_standard_deviations(3.0) - 99.730).abs() < 0.01);\n```", - "id": 9733, + "docs": "Splits the string on the last occurrence of the specified delimiter and\nreturns prefix before delimiter and suffix after delimiter.\n\n# Examples\n\n```\nassert_eq!(\"cfg\".rsplit_once('='), None);\nassert_eq!(\"cfg=foo\".rsplit_once('='), Some((\"cfg\", \"foo\")));\nassert_eq!(\"cfg=foo=bar\".rsplit_once('='), Some((\"cfg=foo\", \"bar\")));\n```", + "id": 9735, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, "has_body": true, "header": { @@ -780807,58 +802361,185 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "delimiter", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "tuple": [ + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + }, + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ] + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, "links": {}, - "name": "erf", + "name": "rsplit_once", "span": { "begin": [ - 1228, + 1961, 5 ], "end": [ - 1230, - 6 + 1963, + 54 ], - "filename": "std/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9734": { + "9736": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136321, is_soft: false}, feature: \"float_erf\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"str_matches\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Complementary error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erfcf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_erf)]\nlet x: f32 = 0.123;\n\nlet one = x.erf() + x.erfc();\nlet abs_difference = (one - 1.0).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", - "id": 9734, + "docs": "Returns an iterator over the disjoint matches of a pattern within this\nstring slice, yielded in reverse order.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator requires that the pattern supports a reverse\nsearch, and it will be a [`DoubleEndedIterator`] if a forward/reverse\nsearch yields the same elements.\n\nFor iterating from the front, the [`matches`] method can be used.\n\n[`matches`]: str::matches\n\n# Examples\n\n```\nlet v: Vec<&str> = \"abcXXXabcYYYabc\".rmatches(\"abc\").collect();\nassert_eq!(v, [\"abc\", \"abc\", \"abc\"]);\n\nlet v: Vec<&str> = \"1abc2abc3\".rmatches(char::is_numeric).collect();\nassert_eq!(v, [\"3\", \"2\", \"1\"]);\n```", + "id": 9736, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, "has_body": true, "header": { @@ -780872,253 +802553,186 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } + }, + "id": 9739, + "path": "RMatches" + } } } } }, - "links": {}, - "name": "erfc", - "span": { - "begin": [ - 1257, - 5 - ], - "end": [ - 1259, - 6 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "public" - }, - "9735": { - "attrs": [ - { - "other": "#[(not(test))]" - } - ], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9735, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f32" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9694, - 9695, - 9696, - 9697, - 9698, - 9699, - 9700, - 9701, - 9702, - 9703, - 9704, - 9705, - 9706, - 9707, - 9708, - 9709, - 9710, - 9711, - 9712, - 9713, - 9714, - 9715, - 9716, - 9717, - 9718, - 9719, - 9720, - 9721, - 9722, - 9723, - 9724, - 9725, - 9726, - 9727, - 9728, - 9729, - 9730, - 9731, - 9732, - 9733, - 9734 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 28, - 1 - ], - "end": [ - 1260, - 2 - ], - "filename": "std/src/num/f32.rs" - }, - "visibility": "default" - }, - "9736": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "The radix or base of the internal representation of `f32`.", - "id": 9736, - "inner": { - "assoc_const": { - "type": { - "primitive": "u32" - }, - "value": "2" - } + "links": { + "`DoubleEndedIterator`": 41, + "prim@char": 2395, + "self::pattern": 9712, + "str::matches": 9737 }, - "links": {}, - "name": "RADIX", + "name": "rmatches", "span": { "begin": [ - 390, + 2035, 5 ], "end": [ - 390, - 25 + 2037, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9737": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 2, patch: 0})}, feature: \"str_matches\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Number of significant digits in base 2.\n\nNote that the size of the mantissa in the bitwise representation is one\nsmaller than this since the leading 1 is not stored explicitly.", + "docs": "Returns an iterator over the disjoint matches of a pattern within the\ngiven string slice.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator will be a [`DoubleEndedIterator`] if the pattern\nallows a reverse search and forward/reverse search yields the same\nelements. This is true for, e.g., [`char`], but not for `&str`.\n\nIf the pattern allows a reverse search but its results might differ\nfrom a forward search, the [`rmatches`] method can be used.\n\n[`rmatches`]: str::rmatches\n\n# Examples\n\n```\nlet v: Vec<&str> = \"abcXXXabcYYYabc\".matches(\"abc\").collect();\nassert_eq!(v, [\"abc\", \"abc\", \"abc\"]);\n\nlet v: Vec<&str> = \"1abc2abc3\".matches(char::is_numeric).collect();\nassert_eq!(v, [\"1\", \"2\", \"3\"]);\n```", "id": 9737, "inner": { - "assoc_const": { - "type": { - "primitive": "u32" - }, - "value": "24" - } - }, - "links": {}, - "name": "MANTISSA_DIGITS", - "span": { - "begin": [ - 397, - 5 - ], - "end": [ - 397, - 35 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "9738": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Approximate number of significant digits in base 10.\n\nThis is the maximum x such that any decimal number with x\nsignificant digits can be converted to `f32` and back without loss.\n\nEqual to floor(log10 2[`MANTISSA_DIGITS`] − 1).\n\n[`MANTISSA_DIGITS`]: f32::MANTISSA_DIGITS", - "id": 9738, - "inner": { - "assoc_const": { - "type": { - "primitive": "u32" - }, - "value": "6" - } - }, - "links": { - "f32::MANTISSA_DIGITS": 9737 - }, - "name": "DIGITS", - "span": { - "begin": [ - 408, - 5 - ], - "end": [ - 408, - 26 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "9739": { - "attrs": [ - { - "other": "#[rustc_diagnostic_item = \"f32_epsilon\"]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "[Machine epsilon] value for `f32`.\n\nThis is the difference between `1.0` and the next larger representable number.\n\nEqual to 21 − [`MANTISSA_DIGITS`].\n\n[Machine epsilon]: https://en.wikipedia.org/wiki/Machine_epsilon\n[`MANTISSA_DIGITS`]: f32::MANTISSA_DIGITS", - "id": 9739, - "inner": { - "assoc_const": { - "type": { - "primitive": "f32" + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, - "value": "1.19209290e-07_f32" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } + }, + "id": 9738, + "path": "Matches" + } + } + } } }, "links": { - "f32::MANTISSA_DIGITS": 9737 + "`DoubleEndedIterator`": 41, + "prim@char": 2395, + "self::pattern": 9712, + "str::rmatches": 9736 }, - "name": "EPSILON", + "name": "matches", "span": { "begin": [ - 420, + 2001, 5 ], "end": [ - 420, - 27 + 2001, + 64 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, @@ -781198,7 +802812,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -781219,7 +802833,7 @@ "modifier": "none", "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -781240,7 +802854,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, + "id": 318, "path": "RefUnwindSafe" } } @@ -781253,346 +802867,845 @@ "9740": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"str_match_indices\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Largest finite `f32` value.\n\nEqual to\n(1 − 2−[`MANTISSA_DIGITS`]) 2[`MAX_EXP`].\n\n[`MANTISSA_DIGITS`]: f32::MANTISSA_DIGITS\n[`MAX_EXP`]: f32::MAX_EXP", + "docs": "Returns an iterator over the disjoint matches of a pattern within `self`,\nyielded in reverse order along with the index of the match.\n\nFor matches of `pat` within `self` that overlap, only the indices\ncorresponding to the last match are returned.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator requires that the pattern supports a reverse\nsearch, and it will be a [`DoubleEndedIterator`] if a forward/reverse\nsearch yields the same elements.\n\nFor iterating from the front, the [`match_indices`] method can be used.\n\n[`match_indices`]: str::match_indices\n\n# Examples\n\n```\nlet v: Vec<_> = \"abcXXXabcYYYabc\".rmatch_indices(\"abc\").collect();\nassert_eq!(v, [(12, \"abc\"), (6, \"abc\"), (0, \"abc\")]);\n\nlet v: Vec<_> = \"1abcabc2\".rmatch_indices(\"abc\").collect();\nassert_eq!(v, [(4, \"abc\"), (1, \"abc\")]);\n\nlet v: Vec<_> = \"ababa\".rmatch_indices(\"aba\").collect();\nassert_eq!(v, [(2, \"aba\")]); // only the last `aba`\n```", "id": 9740, "inner": { - "assoc_const": { - "type": { - "primitive": "f32" + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, - "value": "3.40282347e+38_f32" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } + }, + "id": 9743, + "path": "RMatchIndices" + } + } + } } }, "links": { - "f32::MANTISSA_DIGITS": 9737, - "f32::MAX_EXP": 9744 + "`DoubleEndedIterator`": 41, + "prim@char": 2395, + "self::pattern": 9712, + "str::match_indices": 9741 }, - "name": "MAX", + "name": "rmatch_indices", "span": { "begin": [ - 444, + 2119, 5 ], "end": [ - 444, - 23 + 2121, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9741": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 5, patch: 0})}, feature: \"str_match_indices\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Smallest finite `f32` value.\n\nEqual to −[`MAX`].\n\n[`MAX`]: f32::MAX", + "docs": "Returns an iterator over the disjoint matches of a pattern within this string\nslice as well as the index that the match starts at.\n\nFor matches of `pat` within `self` that overlap, only the indices\ncorresponding to the first match are returned.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Iterator behavior\n\nThe returned iterator will be a [`DoubleEndedIterator`] if the pattern\nallows a reverse search and forward/reverse search yields the same\nelements. This is true for, e.g., [`char`], but not for `&str`.\n\nIf the pattern allows a reverse search but its results might differ\nfrom a forward search, the [`rmatch_indices`] method can be used.\n\n[`rmatch_indices`]: str::rmatch_indices\n\n# Examples\n\n```\nlet v: Vec<_> = \"abcXXXabcYYYabc\".match_indices(\"abc\").collect();\nassert_eq!(v, [(0, \"abc\"), (6, \"abc\"), (12, \"abc\")]);\n\nlet v: Vec<_> = \"1abcabc2\".match_indices(\"abc\").collect();\nassert_eq!(v, [(1, \"abc\"), (4, \"abc\")]);\n\nlet v: Vec<_> = \"ababa\".match_indices(\"aba\").collect();\nassert_eq!(v, [(0, \"aba\")]); // only the first `aba`\n```", "id": 9741, "inner": { - "assoc_const": { - "type": { - "primitive": "f32" - }, - "value": "-3.40282347e+38_f32" - } - }, - "links": { - "f32::MAX": 9740 - }, - "name": "MIN", - "span": { - "begin": [ - 428, - 5 - ], - "end": [ - 428, - 23 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "9742": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "One greater than the minimum possible *normal* power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact minimum possible *normal* power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all normal numbers representable by this type are\ngreater than or equal to 0.5 × 2MIN_EXP.", - "id": 9742, - "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, - "value": "-125" - } - }, - "links": {}, - "name": "MIN_EXP", - "span": { - "begin": [ - 454, - 5 - ], - "end": [ - 454, - 27 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "9743": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Smallest positive normal `f32` value.\n\nEqual to 2[`MIN_EXP`] − 1.\n\n[`MIN_EXP`]: f32::MIN_EXP", - "id": 9743, - "inner": { - "assoc_const": { - "type": { - "primitive": "f32" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "value": "1.17549435e-38_f32" + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + }, + { + "type": { + "generic": "P" + } + } + ], + "constraints": [] + } + }, + "id": 9742, + "path": "MatchIndices" + } + } + } } }, "links": { - "f32::MIN_EXP": 9742 + "`DoubleEndedIterator`": 41, + "prim@char": 2395, + "self::pattern": 9712, + "str::rmatch_indices": 9740 }, - "name": "MIN_POSITIVE", + "name": "match_indices", "span": { "begin": [ - 435, + 2079, 5 ], "end": [ - 435, - 32 + 2079, + 75 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9744": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[rustc_diagnostic_item = \"str_trim\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the trimmed string as a slice, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "One greater than the maximum possible power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact maximum possible power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all numbers representable by this type are\nstrictly less than 2MAX_EXP.", + "docs": "Returns a string slice with leading and trailing whitespace removed.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`, which includes newlines.\n\n# Examples\n\n```\nlet s = \"\\n Hello\\tworld\\t\\n\";\n\nassert_eq!(\"Hello\\tworld\", s.trim());\n```", "id": 9744, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "128" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } } }, "links": {}, - "name": "MAX_EXP", + "name": "trim", "span": { "begin": [ - 463, + 2143, 5 ], "end": [ - 463, - 27 + 2143, + 31 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9745": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[rustc_diagnostic_item = \"str_trim_start\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 30, patch: 0})}, feature: \"trim_direction\"}}]" + }, + { + "must_use": { + "reason": "this returns the trimmed string as a new slice, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Minimum x for which 10x is normal.\n\nEqual to ceil(log10 [`MIN_POSITIVE`]).\n\n[`MIN_POSITIVE`]: f32::MIN_POSITIVE", + "docs": "Returns a string slice with leading whitespace removed.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`, which includes newlines.\n\n# Text directionality\n\nA string is a sequence of bytes. `start` in this context means the first\nposition of that byte string; for a left-to-right language like English or\nRussian, this will be left side, and for right-to-left languages like\nArabic or Hebrew, this will be the right side.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \"\\n Hello\\tworld\\t\\n\";\nassert_eq!(\"Hello\\tworld\\t\\n\", s.trim_start());\n```\n\nDirectionality:\n\n```\nlet s = \" English \";\nassert!(Some('E') == s.trim_start().chars().next());\n\nlet s = \" עברית \";\nassert!(Some('ע') == s.trim_start().chars().next());\n```", "id": 9745, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "-37" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } } }, - "links": { - "f32::MIN_POSITIVE": 9743 - }, - "name": "MIN_10_EXP", + "links": {}, + "name": "trim_start", "span": { "begin": [ - 471, + 2182, 5 ], "end": [ - 471, - 30 + 2182, + 37 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9746": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[rustc_diagnostic_item = \"str_trim_end\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 30, patch: 0})}, feature: \"trim_direction\"}}]" + }, + { + "must_use": { + "reason": "this returns the trimmed string as a new slice, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Maximum x for which 10x is normal.\n\nEqual to floor(log10 [`MAX`]).\n\n[`MAX`]: f32::MAX", + "docs": "Returns a string slice with trailing whitespace removed.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`, which includes newlines.\n\n# Text directionality\n\nA string is a sequence of bytes. `end` in this context means the last\nposition of that byte string; for a left-to-right language like English or\nRussian, this will be right side, and for right-to-left languages like\nArabic or Hebrew, this will be the left side.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \"\\n Hello\\tworld\\t\\n\";\nassert_eq!(\"\\n Hello\\tworld\", s.trim_end());\n```\n\nDirectionality:\n\n```\nlet s = \" English \";\nassert!(Some('h') == s.trim_end().chars().rev().next());\n\nlet s = \" עברית \";\nassert!(Some('ת') == s.trim_end().chars().rev().next());\n```", "id": 9746, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "38" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } } }, - "links": { - "f32::MAX": 9740 - }, - "name": "MAX_10_EXP", + "links": {}, + "name": "trim_end", "span": { "begin": [ - 478, + 2221, 5 ], "end": [ - 478, - 30 + 2221, + 35 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9747": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"f32_nan\"]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "must_use": { + "reason": "this returns the trimmed string as a new slice, without modifying the original" + } } ], "crate_id": 1, - "deprecation": null, - "docs": "Not a Number (NaN).\n\nNote that IEEE 754 doesn't define just a single NaN value; a plethora of bit patterns are\nconsidered to be NaN. Furthermore, the standard makes a difference between a \"signaling\" and\na \"quiet\" NaN, and allows inspecting its \"payload\" (the unspecified bits in the bit pattern)\nand its sign. See the [specification of NaN bit patterns](f32#nan-bit-patterns) for more\ninfo.\n\nThis constant is guaranteed to be a quiet NaN (on targets that follow the Rust assumptions\nthat the quiet/signaling bit being set to 1 indicates a quiet NaN). Beyond that, nothing is\nguaranteed about the specific bit pattern chosen here: both payload and sign are arbitrary.\nThe concrete bit pattern may change across Rust versions and target platforms.", + "deprecation": { + "note": "superseded by `trim_start`", + "since": "1.33.0" + }, + "docs": "Returns a string slice with leading whitespace removed.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`.\n\n# Text directionality\n\nA string is a sequence of bytes. 'Left' in this context means the first\nposition of that byte string; for a language like Arabic or Hebrew\nwhich are 'right to left' rather than 'left to right', this will be\nthe _right_ side, not the left.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \" Hello\\tworld\\t\";\n\nassert_eq!(\"Hello\\tworld\\t\", s.trim_left());\n```\n\nDirectionality:\n\n```\nlet s = \" English\";\nassert!(Some('E') == s.trim_left().chars().next());\n\nlet s = \" עברית\";\nassert!(Some('ע') == s.trim_left().chars().next());\n```", "id": 9747, "inner": { - "assoc_const": { - "type": { - "primitive": "f32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } } }, - "links": { - "f32#nan-bit-patterns": 267 - }, - "name": "NAN", + "links": {}, + "name": "trim_left", "span": { "begin": [ - 495, + 2261, 5 ], "end": [ - 495, - 23 + 2261, + 36 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9748": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the trimmed string as a new slice, without modifying the original" + } } ], "crate_id": 1, - "deprecation": null, - "docs": "Infinity (∞).", + "deprecation": { + "note": "superseded by `trim_end`", + "since": "1.33.0" + }, + "docs": "Returns a string slice with trailing whitespace removed.\n\n'Whitespace' is defined according to the terms of the Unicode Derived\nCore Property `White_Space`.\n\n# Text directionality\n\nA string is a sequence of bytes. 'Right' in this context means the last\nposition of that byte string; for a language like Arabic or Hebrew\nwhich are 'right to left' rather than 'left to right', this will be\nthe _left_ side, not the right.\n\n# Examples\n\nBasic usage:\n\n```\nlet s = \" Hello\\tworld\\t\";\n\nassert_eq!(\" Hello\\tworld\", s.trim_right());\n```\n\nDirectionality:\n\n```\nlet s = \"English \";\nassert!(Some('h') == s.trim_right().chars().rev().next());\n\nlet s = \"עברית \";\nassert!(Some('ת') == s.trim_right().chars().rev().next());\n```", "id": 9748, "inner": { - "assoc_const": { - "type": { - "primitive": "f32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } } }, "links": {}, - "name": "INFINITY", + "name": "trim_right", "span": { "begin": [ - 498, + 2301, 5 ], "end": [ - 498, - 28 + 2301, + 37 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9749": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "must_use": { + "reason": "this returns the trimmed string as a new slice, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Negative infinity (−∞).", + "docs": "Returns a string slice with all prefixes and suffixes that match a\npattern repeatedly removed.\n\nThe [pattern] can be a [`char`], a slice of [`char`]s, or a function\nor closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Examples\n\nSimple patterns:\n\n```\nassert_eq!(\"11foo1bar11\".trim_matches('1'), \"foo1bar\");\nassert_eq!(\"123foo1bar123\".trim_matches(char::is_numeric), \"foo1bar\");\n\nlet x: &[_] = &['1', '2'];\nassert_eq!(\"12foo1bar12\".trim_matches(x), \"foo1bar\");\n```\n\nA more complex pattern, using a closure:\n\n```\nassert_eq!(\"1foo1barXX\".trim_matches(|c| c == '1' || c == 'X'), \"foo1bar\");\n```", "id": 9749, "inner": { - "assoc_const": { - "type": { - "primitive": "f32" + "function": { + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9750, + "path": "DoubleEndedSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" + } + ] + ], + "is_c_variadic": false, + "output": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } } }, - "links": {}, - "name": "NEG_INFINITY", + "links": { + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "trim_matches", "span": { "begin": [ - 501, + 2334, 5 ], "end": [ - 501, - 32 + 2336, + 58 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, @@ -781674,7 +803787,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -781690,7 +803803,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -781699,46 +803812,76 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9750": { + "9751": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 30, patch: 0})}, feature: \"trim_direction\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the trimmed string as a new slice, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if this value is NaN.\n\n```\nlet nan = f32::NAN;\nlet f = 7.0_f32;\n\nassert!(nan.is_nan());\nassert!(!f.is_nan());\n```", - "id": 9750, + "docs": "Returns a string slice with all prefixes that match a pattern\nrepeatedly removed.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Text directionality\n\nA string is a sequence of bytes. `start` in this context means the first\nposition of that byte string; for a left-to-right language like English or\nRussian, this will be left side, and for right-to-left languages like\nArabic or Hebrew, this will be the right side.\n\n# Examples\n\n```\nassert_eq!(\"11foo1bar11\".trim_start_matches('1'), \"foo1bar11\");\nassert_eq!(\"123foo1bar123\".trim_start_matches(char::is_numeric), \"foo1bar123\");\n\nlet x: &[_] = &['1', '2'];\nassert_eq!(\"12foo1bar12\".trim_start_matches(x), \"foo1bar12\");\n```", + "id": 9751, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -781746,123 +803889,112 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": {}, - "name": "is_nan", - "span": { - "begin": [ - 532, - 5 - ], - "end": [ - 532, - 38 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "9751": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns `true` if this value is positive infinity or negative infinity, and\n`false` otherwise.\n\n```\nlet f = 7.0f32;\nlet inf = f32::INFINITY;\nlet neg_inf = f32::NEG_INFINITY;\nlet nan = f32::NAN;\n\nassert!(!f.is_infinite());\nassert!(!nan.is_infinite());\n\nassert!(inf.is_infinite());\nassert!(neg_inf.is_infinite());\n```", - "id": 9751, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "pat", { - "generic": "Self" + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, - "links": {}, - "name": "is_infinite", + "links": { + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "trim_start_matches", "span": { "begin": [ - 555, + 2381, 5 ], "end": [ - 555, - 43 + 2381, + 65 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9752": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"str_strip\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the remaining substring as a new slice, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if this number is neither infinite nor NaN.\n\n```\nlet f = 7.0f32;\nlet inf = f32::INFINITY;\nlet neg_inf = f32::NEG_INFINITY;\nlet nan = f32::NAN;\n\nassert!(f.is_finite());\n\nassert!(!nan.is_finite());\nassert!(!inf.is_finite());\nassert!(!neg_inf.is_finite());\n```", + "docs": "Returns a string slice with the prefix removed.\n\nIf the string starts with the pattern `prefix`, returns the substring after the prefix,\nwrapped in `Some`. Unlike [`trim_start_matches`], this method removes the prefix exactly once.\n\nIf the string does not start with `prefix`, returns `None`.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n[`trim_start_matches`]: Self::trim_start_matches\n\n# Examples\n\n```\nassert_eq!(\"foo:bar\".strip_prefix(\"foo:\"), Some(\"bar\"));\nassert_eq!(\"foo:bar\".strip_prefix(\"bar\"), None);\nassert_eq!(\"foofoo\".strip_prefix(\"foo\"), Some(\"foo\"));\n```", "id": 9752, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -781870,61 +804002,187 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "prefix", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "is_finite", + "links": { + "Self::trim_start_matches": 9751, + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "strip_prefix", "span": { "begin": [ - 580, + 2415, 5 ], "end": [ - 580, - 41 + 2415, + 70 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9753": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 30, patch: 0})}, feature: \"trim_direction\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the trimmed string as a new slice, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if the number is neither zero, infinite,\n[subnormal], or NaN.\n\n```\nlet min = f32::MIN_POSITIVE; // 1.17549435e-38f32\nlet max = f32::MAX;\nlet lower_than_min = 1.0e-40_f32;\nlet zero = 0.0_f32;\n\nassert!(min.is_normal());\nassert!(max.is_normal());\n\nassert!(!zero.is_normal());\nassert!(!f32::NAN.is_normal());\nassert!(!f32::INFINITY.is_normal());\n// Values between `0` and `min` are Subnormal.\nassert!(!lower_than_min.is_normal());\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", + "docs": "Returns a string slice with all suffixes that match a pattern\nrepeatedly removed.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Text directionality\n\nA string is a sequence of bytes. `end` in this context means the last\nposition of that byte string; for a left-to-right language like English or\nRussian, this will be right side, and for right-to-left languages like\nArabic or Hebrew, this will be the left side.\n\n# Examples\n\nSimple patterns:\n\n```\nassert_eq!(\"11foo1bar11\".trim_end_matches('1'), \"11foo1bar\");\nassert_eq!(\"123foo1bar123\".trim_end_matches(char::is_numeric), \"123foo1bar\");\n\nlet x: &[_] = &['1', '2'];\nassert_eq!(\"12foo1bar12\".trim_end_matches(x), \"12foo1bar\");\n```\n\nA more complex pattern, using a closure:\n\n```\nassert_eq!(\"1fooX\".trim_end_matches(|c| c == '1' || c == 'X'), \"1foo\");\n```", "id": 9753, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -781932,56 +804190,171 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, - "links": {}, - "name": "is_normal", + "links": { + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "trim_end_matches", "span": { "begin": [ - 635, + 2563, 5 ], "end": [ - 635, - 41 + 2565, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9754": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 45, patch: 0})}, feature: \"str_strip\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the remaining substring as a new slice, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the floating point category of the number. If only one property\nis going to be tested, it is generally faster to use the specific\npredicate instead.\n\n```\nuse std::num::FpCategory;\n\nlet num = 12.4_f32;\nlet inf = f32::INFINITY;\n\nassert_eq!(num.classify(), FpCategory::Normal);\nassert_eq!(inf.classify(), FpCategory::Infinite);\n```", + "docs": "Returns a string slice with the suffix removed.\n\nIf the string ends with the pattern `suffix`, returns the substring before the suffix,\nwrapped in `Some`. Unlike [`trim_end_matches`], this method removes the suffix exactly once.\n\nIf the string does not end with `suffix`, returns `None`.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n[`trim_end_matches`]: Self::trim_end_matches\n\n# Examples\n\n```\nassert_eq!(\"bar:foo\".strip_suffix(\":foo\"), Some(\"bar\"));\nassert_eq!(\"bar:foo\".strip_suffix(\"bar\"), None);\nassert_eq!(\"foofoo\".strip_suffix(\"foo\"), Some(\"foo\"));\n```", "id": 9754, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -781989,65 +804362,128 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "suffix", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 4780, - "path": "FpCategory" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, - "links": {}, - "name": "classify", + "links": { + "Self::trim_end_matches": 9753, + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "strip_suffix", "span": { "begin": [ - 654, + 2443, 5 ], "end": [ - 654, - 46 + 2445, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9755": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142312, is_soft: false}, feature: \"trim_prefix_suffix\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the remaining substring as a new slice, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` has a positive sign, including `+0.0`, NaNs with\npositive sign bit and positive infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_positive` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == 1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\nlet f = 7.0_f32;\nlet g = -7.0_f32;\n\nassert!(f.is_sign_positive());\nassert!(!g.is_sign_positive());\n```", + "docs": "Returns a string slice with the optional prefix removed.\n\nIf the string starts with the pattern `prefix`, returns the substring after the prefix.\nUnlike [`strip_prefix`], this method always returns `&str` for easy method chaining,\ninstead of returning [`Option<&str>`].\n\nIf the string does not start with `prefix`, returns the original string unchanged.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n[`strip_prefix`]: Self::strip_prefix\n\n# Examples\n\n```\n#![feature(trim_prefix_suffix)]\n\n// Prefix present - removes it\nassert_eq!(\"foo:bar\".trim_prefix(\"foo:\"), \"bar\");\nassert_eq!(\"foofoo\".trim_prefix(\"foo\"), \"foo\");\n\n// Prefix absent - returns original string\nassert_eq!(\"foo:bar\".trim_prefix(\"bar\"), \"foo:bar\");\n\n// Method chaining example\nassert_eq!(\"\".trim_prefix('<').trim_suffix('>'), \"https://example.com/\");\n```", "id": 9755, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -782055,63 +804491,173 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "prefix", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, "links": { - "f32#nan-bit-patterns": 267 + "Self::strip_prefix": 9752, + "`Option<&str>`": 51, + "prim@char": 2395, + "self::pattern": 9712 }, - "name": "is_sign_positive", + "name": "trim_prefix", "span": { "begin": [ - 691, + 2483, 5 ], "end": [ - 691, - 48 + 2483, + 61 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9756": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 142312, is_soft: false}, feature: \"trim_prefix_suffix\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the remaining substring as a new slice, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` has a negative sign, including `-0.0`, NaNs with\nnegative sign bit and negative infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_negative` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == -1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\nlet f = 7.0f32;\nlet g = -7.0f32;\n\nassert!(!f.is_sign_negative());\nassert!(g.is_sign_negative());\n```", + "docs": "Returns a string slice with the optional suffix removed.\n\nIf the string ends with the pattern `suffix`, returns the substring before the suffix.\nUnlike [`strip_suffix`], this method always returns `&str` for easy method chaining,\ninstead of returning [`Option<&str>`].\n\nIf the string does not end with `suffix`, returns the original string unchanged.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n[`strip_suffix`]: Self::strip_suffix\n\n# Examples\n\n```\n#![feature(trim_prefix_suffix)]\n\n// Suffix present - removes it\nassert_eq!(\"bar:foo\".trim_suffix(\":foo\"), \"bar\");\nassert_eq!(\"foofoo\".trim_suffix(\"foo\"), \"foo\");\n\n// Suffix absent - returns original string\nassert_eq!(\"bar:foo\".trim_suffix(\"bar\"), \"bar:foo\");\n\n// Method chaining example\nassert_eq!(\"\".trim_prefix('<').trim_suffix('>'), \"https://example.com/\");\n```", "id": 9756, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -782119,61 +804665,112 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "suffix", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, "links": { - "f32#nan-bit-patterns": 267 + "Self::strip_suffix": 9754, + "`Option<&str>`": 51, + "prim@char": 2395, + "self::pattern": 9712 }, - "name": "is_sign_negative", + "name": "trim_suffix", "span": { "begin": [ - 716, + 2520, 5 ], "end": [ - 716, - 48 + 2522, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9757": { "attrs": [ { - "other": "#[doc(alias = \"nextUp\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Returns the least number greater than `self`.\n\nLet `TINY` be the smallest representable positive `f32`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`NEG_INFINITY`], this returns [`MIN`];\n - if `self` is `-TINY`, this returns -0.0;\n - if `self` is -0.0 or +0.0, this returns `TINY`;\n - if `self` is [`MAX`] or [`INFINITY`], this returns [`INFINITY`];\n - otherwise the unique least value greater than `self` is returned.\n\nThe identity `x.next_up() == -(-x).next_down()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_up().next_down()` also holds.\n\n```rust\n// f32::EPSILON is the difference between 1.0 and the next number up.\nassert_eq!(1.0f32.next_up(), 1.0 + f32::EPSILON);\n// But not for most numbers.\nassert!(0.1f32.next_up() < 0.1 + f32::EPSILON);\nassert_eq!(16777216f32.next_up(), 16777218.0);\n```\n\nThis operation corresponds to IEEE-754 `nextUp`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", + "deprecation": { + "note": "superseded by `trim_start_matches`", + "since": "1.33.0" + }, + "docs": "Returns a string slice with all prefixes that match a pattern\nrepeatedly removed.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Text directionality\n\nA string is a sequence of bytes. 'Left' in this context means the first\nposition of that byte string; for a language like Arabic or Hebrew\nwhich are 'right to left' rather than 'left to right', this will be\nthe _right_ side, not the left.\n\n# Examples\n\n```\nassert_eq!(\"11foo1bar11\".trim_left_matches('1'), \"foo1bar11\");\nassert_eq!(\"123foo1bar123\".trim_left_matches(char::is_numeric), \"foo1bar123\");\n\nlet x: &[_] = &['1', '2'];\nassert_eq!(\"12foo1bar12\".trim_left_matches(x), \"foo1bar12\");\n```", "id": 9757, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -782181,64 +804778,169 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "pat", + { + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, "links": { - "Self::INFINITY": 9748, - "Self::MAX": 9740, - "Self::MIN": 9741, - "Self::NEG_INFINITY": 9749 + "prim@char": 2395, + "self::pattern": 9712 }, - "name": "next_up", + "name": "trim_left_matches", "span": { "begin": [ - 753, + 2607, 5 ], "end": [ - 753, - 39 + 2607, + 64 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9758": { "attrs": [ { - "other": "#[doc(alias = \"nextDown\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, - "deprecation": null, - "docs": "Returns the greatest number less than `self`.\n\nLet `TINY` be the smallest representable positive `f32`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`INFINITY`], this returns [`MAX`];\n - if `self` is `TINY`, this returns 0.0;\n - if `self` is -0.0 or +0.0, this returns `-TINY`;\n - if `self` is [`MIN`] or [`NEG_INFINITY`], this returns [`NEG_INFINITY`];\n - otherwise the unique greatest value less than `self` is returned.\n\nThe identity `x.next_down() == -(-x).next_up()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_down().next_up()` also holds.\n\n```rust\nlet x = 1.0f32;\n// Clamp value into range [0, 1).\nlet clamped = x.clamp(0.0, 1.0f32.next_down());\nassert!(clamped < 1.0);\nassert_eq!(clamped.next_up(), 1.0);\n```\n\nThis operation corresponds to IEEE-754 `nextDown`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", + "deprecation": { + "note": "superseded by `trim_end_matches`", + "since": "1.33.0" + }, + "docs": "Returns a string slice with all suffixes that match a pattern\nrepeatedly removed.\n\nThe [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a\nfunction or closure that determines if a character matches.\n\n[`char`]: prim@char\n[pattern]: self::pattern\n\n# Text directionality\n\nA string is a sequence of bytes. 'Right' in this context means the last\nposition of that byte string; for a language like Arabic or Hebrew\nwhich are 'right to left' rather than 'left to right', this will be\nthe _left_ side, not the right.\n\n# Examples\n\nSimple patterns:\n\n```\nassert_eq!(\"11foo1bar11\".trim_right_matches('1'), \"11foo1bar\");\nassert_eq!(\"123foo1bar123\".trim_right_matches(char::is_numeric), \"123foo1bar\");\n\nlet x: &[_] = &['1', '2'];\nassert_eq!(\"12foo1bar12\".trim_right_matches(x), \"12foo1bar\");\n```\n\nA more complex pattern, using a closure:\n\n```\nassert_eq!(\"1fooX\".trim_right_matches(|c| c == '1' || c == 'X'), \"1foo\");\n```", "id": 9758, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + }, + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [ + { + "kind": { + "lifetime": { + "outlives": [] + } + }, + "name": "'a" + } + ], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "id": 9717, + "path": "ReverseSearcher" + } + } + } + ], + "generic_params": [], + "type": { + "qualified_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'a" + } + ], + "constraints": [] + } + }, + "name": "Searcher", + "self_type": { + "generic": "P" + }, + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -782246,96 +804948,50 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f32" - } - } - } - }, - "links": { - "Self::INFINITY": 9748, - "Self::MAX": 9740, - "Self::MIN": 9741, - "Self::NEG_INFINITY": 9749 - }, - "name": "next_down", - "span": { - "begin": [ - 804, - 5 - ], - "end": [ - 804, - 41 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "9759": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Takes the reciprocal (inverse) of a number, `1/x`.\n\n```\nlet x = 2.0_f32;\nlet abs_difference = (x.recip() - (1.0 / x)).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", - "id": 9759, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ + ], [ - "self", + "pat", { - "generic": "Self" + "generic": "P" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, - "links": {}, - "name": "recip", + "links": { + "prim@char": 2395, + "self::pattern": 9712 + }, + "name": "trim_right_matches", "span": { "begin": [ - 836, + 2650, 5 ], "end": [ - 836, - 36 + 2652, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, @@ -782417,7 +805073,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -782433,7 +805089,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -782442,12 +805098,12 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, @@ -782456,32 +805112,57 @@ "9760": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"f32_deg_rad_conversions\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts radians to degrees.\n\n```\nlet angle = std::f32::consts::PI;\n\nlet abs_difference = (angle.to_degrees() - 180.0).abs();\n# #[cfg(any(not(target_arch = \"x86\"), target_feature = \"sse2\"))]\nassert!(abs_difference <= f32::EPSILON);\n```", + "docs": "Parses this string slice into another type.\n\nBecause `parse` is so general, it can cause problems with type\ninference. As such, `parse` is one of the few times you'll see\nthe syntax affectionately known as the 'turbofish': `::<>`. This\nhelps the inference algorithm understand specifically which type\nyou're trying to parse into.\n\n`parse` can parse into any type that implements the [`FromStr`] trait.\n\n# Errors\n\nWill return [`Err`] if it's not possible to parse this string slice into\nthe desired type.\n\n[`Err`]: FromStr::Err\n\n# Examples\n\nBasic usage:\n\n```\nlet four: u32 = \"4\".parse().unwrap();\n\nassert_eq!(4, four);\n```\n\nUsing the 'turbofish' instead of annotating `four`:\n\n```\nlet four = \"4\".parse::();\n\nassert_eq!(Ok(4), four);\n```\n\nFailing to parse:\n\n```\nlet nope = \"j\".parse::();\n\nassert!(nope.is_err());\n```", "id": 9760, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "F" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 2070, + "path": "FromStr" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "F" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -782489,49 +805170,89 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "F" + } + }, + { + "type": { + "qualified_path": { + "args": null, + "name": "Err", + "self_type": { + "generic": "F" + }, + "trait": { + "args": null, + "id": 2070, + "path": "FromStr" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 57, + "path": "Result" + } } } } }, - "links": {}, - "name": "to_degrees", + "links": { + "FromStr::Err": 9759, + "`FromStr`": 2070 + }, + "name": "parse", "span": { "begin": [ - 854, + 2701, 5 ], "end": [ - 854, - 41 + 2701, + 57 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9761": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 74, patch: 0})}, feature: \"const_slice_is_ascii\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"f32_deg_rad_conversions\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Converts degrees to radians.\n\n```\nlet angle = 180.0f32;\n\nlet abs_difference = (angle.to_radians() - std::f32::consts::PI).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", + "docs": "Checks if all characters in this string are within the ASCII range.\n\nAn empty string returns `true`.\n\n# Examples\n\n```\nlet ascii = \"hello!\\n\";\nlet non_ascii = \"Grüße, Jürgen ❤\";\n\nassert!(ascii.is_ascii());\nassert!(!non_ascii.is_ascii());\n```", "id": 9761, "inner": { "function": { @@ -782551,49 +805272,52 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "primitive": "bool" } } } }, "links": {}, - "name": "to_radians", + "name": "is_ascii", "span": { "begin": [ - 874, + 2722, 5 ], "end": [ - 874, + 2722, 41 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9762": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the maximum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for maxNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids maxNum's problems with associativity.\nThis also matches the behavior of libm’s fmax. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\nlet x = 1.0f32;\nlet y = 2.0f32;\n\nassert_eq!(x.max(y), y);\n```", + "docs": "If this string slice [`is_ascii`](Self::is_ascii), returns it as a slice\nof [ASCII characters](`ascii::Char`), otherwise returns `None`.", "id": 9762, "inner": { "function": { @@ -782613,52 +805337,82 @@ [ "self", { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "resolved_path": { + "args": null, + "id": 609, + "path": "AsciiChar" + } + } + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } } } } }, - "links": {}, - "name": "max", + "links": { + "Self::is_ascii": 9761, + "`ascii::Char`": 609 + }, + "name": "as_ascii", "span": { "begin": [ - 897, + 2734, 5 ], "end": [ - 897, - 46 + 2734, + 59 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9763": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 91079, is_soft: false}, feature: \"float_minimum_maximum\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 110998, is_soft: false}, feature: \"ascii_char\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the maximum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f32::max`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(float_minimum_maximum)]\nlet x = 1.0f32;\nlet y = 2.0f32;\n\nassert_eq!(x.maximum(y), y);\nassert!(x.maximum(f32::NAN).is_nan());\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the greater\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", + "docs": "Converts this string slice into a slice of [ASCII characters](ascii::Char),\nwithout checking whether they are valid.\n\n# Safety\n\nEvery character in this string must be ASCII, or else this is UB.", "id": 9763, "inner": { "function": { @@ -782671,62 +805425,76 @@ "abi": "Rust", "is_async": false, "is_const": true, - "is_unsafe": false + "is_unsafe": true }, "sig": { "inputs": [ [ "self", { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "slice": { + "resolved_path": { + "args": null, + "id": 609, + "path": "AsciiChar" + } + } + } + } } } } }, "links": { - "`f32::max`": 9762, - "f32#nan-bit-patterns": 267 + "ascii::Char": 609 }, - "name": "maximum", + "name": "as_ascii_unchecked", "span": { "begin": [ - 946, + 2748, 5 ], "end": [ - 946, - 50 + 2748, + 68 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9764": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 91079, is_soft: false}, feature: \"float_minimum_maximum\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 89, patch: 0})}, feature: \"const_eq_ignore_ascii_case\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f32::min`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(float_minimum_maximum)]\nlet x = 1.0f32;\nlet y = 2.0f32;\n\nassert_eq!(x.minimum(y), x);\nassert!(x.minimum(f32::NAN).is_nan());\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the lesser\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", + "docs": "Checks that two strings are an ASCII case-insensitive match.\n\nSame as `to_ascii_lowercase(a) == to_ascii_lowercase(b)`,\nbut without allocating and copying temporaries.\n\n# Examples\n\n```\nassert!(\"Ferris\".eq_ignore_ascii_case(\"FERRIS\"));\nassert!(\"Ferrös\".eq_ignore_ascii_case(\"FERRöS\"));\nassert!(!\"Ferrös\".eq_ignore_ascii_case(\"FERRÖS\"));\n```", "id": 9764, "inner": { "function": { @@ -782746,56 +805514,62 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ "other", { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "primitive": "bool" } } } }, - "links": { - "`f32::min`": 8670, - "f32#nan-bit-patterns": 267 - }, - "name": "minimum", + "links": {}, + "name": "eq_ignore_ascii_case", "span": { "begin": [ - 973, + 2776, 5 ], "end": [ - 973, - 50 + 2776, + 66 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9765": { "attrs": [ { - "other": "#[doc(alias = \"average\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\nThis returns NaN when *either* argument is NaN or if a combination of\n+inf and -inf is provided as arguments.\n\n# Examples\n\n```\nassert_eq!(1f32.midpoint(4.0), 2.5);\nassert_eq!((-5.5f32).midpoint(8.0), 1.25);\n```", + "docs": "Converts this string to its ASCII upper case equivalent in-place.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo return a new uppercased value without modifying the existing one, use\n[`to_ascii_uppercase()`].\n\n[`to_ascii_uppercase()`]: #method.to_ascii_uppercase\n\n# Examples\n\n```\nlet mut s = String::from(\"Grüße, Jürgen ❤\");\n\ns.make_ascii_uppercase();\n\nassert_eq!(\"GRüßE, JüRGEN ❤\", s);\n```", "id": 9765, "inner": { "function": { @@ -782815,148 +805589,104 @@ [ "self", { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, - "output": { - "primitive": "f32" - } + "output": null } } }, "links": {}, - "name": "midpoint", + "name": "make_ascii_uppercase", "span": { "begin": [ - 992, + 2802, 5 ], "end": [ - 992, - 51 + 2802, + 49 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9766": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"float_approx_unchecked_to\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 84, patch: 0})}, feature: \"const_make_ascii\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Rounds toward zero and converts to any primitive integer type,\nassuming that the value is finite and fits in that type.\n\n```\nlet value = 4.6_f32;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, 4);\n\nlet value = -128.9_f32;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, i8::MIN);\n```\n\n# Safety\n\nThe value must:\n\n* Not be `NaN`\n* Not be infinite\n* Be representable in the return type `Int`, after truncating off its fractional part", + "docs": "Converts this string to its ASCII lower case equivalent in-place.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo return a new lowercased value without modifying the existing one, use\n[`to_ascii_lowercase()`].\n\n[`to_ascii_lowercase()`]: #method.to_ascii_lowercase\n\n# Examples\n\n```\nlet mut s = String::from(\"GRÜßE, JÜRGEN ❤\");\n\ns.make_ascii_lowercase();\n\nassert_eq!(\"grÜße, jÜrgen ❤\", s);\n```", "id": 9766, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Int" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Int" - } - } - ], - "constraints": [] - } - }, - "id": 9645, - "path": "FloatToInt" - } - } - } - ], - "generic_params": [], - "type": { - "primitive": "f32" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, - "is_unsafe": true + "is_const": true, + "is_unsafe": false }, "sig": { "inputs": [ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, - "output": { - "generic": "Int" - } + "output": null } } }, "links": {}, - "name": "to_int_unchecked", + "name": "make_ascii_lowercase", "span": { "begin": [ - 1058, + 2830, 5 ], "end": [ - 1060, - 31 + 2830, + 49 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9767": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 47, patch: 0})}, feature: \"const_ascii_ctype_on_intrinsics\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"float_bits_conv\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 24, patch: 0})}, feature: \"ascii_ctype_on_intrinsics\"}}]" }, { "must_use": { @@ -782966,7 +805696,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raw transmutation from `u32`.\n\nThis is currently identical to `transmute::(v)` on all platforms.\nIt turns out this is incredibly portable, for two reasons:\n\n* Floats and Ints have the same endianness on all supported platforms.\n* IEEE 754 very precisely specifies the bit layout of floats.\n\nHowever there is one caveat: prior to the 2008 version of IEEE 754, how\nto interpret the NaN signaling bit wasn't actually specified. Most platforms\n(notably x86 and ARM) picked the interpretation that was ultimately\nstandardized in 2008, but some didn't (notably MIPS). As a result, all\nsignaling NaNs on MIPS are quiet NaNs on x86, and vice-versa.\n\nRather than trying to preserve signaling-ness cross-platform, this\nimplementation favors preserving the exact bits. This means that\nany payloads encoded in NaNs will be preserved even if the result of\nthis method is sent over the network from an x86 machine to a MIPS one.\n\nIf the results of this method are only manipulated by the same\narchitecture that produced them, then there is no portability concern.\n\nIf the input isn't NaN, then there is no portability concern.\n\nIf you don't care about signalingness (very likely), then there is no\nportability concern.\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n# Examples\n\n```\nlet v = f32::from_bits(0x41480000);\nassert_eq!(v, 12.5);\n```", + "docs": "Checks if the value is an ASCII whitespace character:\nU+0020 SPACE, U+0009 HORIZONTAL TAB, U+000A LINE FEED,\nU+000C FORM FEED, or U+000D CARRIAGE RETURN.\n\nRust uses the WhatWG Infra Standard's [definition of ASCII\nwhitespace][infra-aw]. There are several other definitions in\nwide use. For instance, [the POSIX locale][pct] includes\nU+000B VERTICAL TAB as well as all the above characters,\nbut—from the very same specification—[the default rule for\n\"field splitting\" in the Bourne shell][bfs] considers *only*\nSPACE, HORIZONTAL TAB, and LINE FEED as whitespace.\n\nIf you are writing a program that will process an existing\nfile format, check what that format's definition of whitespace is\nbefore using this function.\n\n[infra-aw]: https://infra.spec.whatwg.org/#ascii-whitespace\n[pct]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_01\n[bfs]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_05\n\n# Examples\n\n```\nlet uppercase_a = b'A';\nlet uppercase_g = b'G';\nlet a = b'a';\nlet g = b'g';\nlet zero = b'0';\nlet percent = b'%';\nlet space = b' ';\nlet lf = b'\\n';\nlet esc = b'\\x1b';\n\nassert!(!uppercase_a.is_ascii_whitespace());\nassert!(!uppercase_g.is_ascii_whitespace());\nassert!(!a.is_ascii_whitespace());\nassert!(!g.is_ascii_whitespace());\nassert!(!zero.is_ascii_whitespace());\nassert!(!percent.is_ascii_whitespace());\nassert!(space.is_ascii_whitespace());\nassert!(lf.is_ascii_whitespace());\nassert!(!esc.is_ascii_whitespace());\n```", "id": 9767, "inner": { "function": { @@ -782984,51 +805714,57 @@ "sig": { "inputs": [ [ - "v", + "self", { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "primitive": "bool" } } } }, "links": {}, - "name": "from_bits", + "name": "is_ascii_whitespace", "span": { "begin": [ - 1136, + 1011, 5 ], "end": [ - 1136, - 43 + 1011, + 52 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/num/mod.rs" }, "visibility": "public" }, "9768": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"float_bits_conv\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the trimmed string as a new slice, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Raw transmutation to `u32`.\n\nThis is currently identical to `transmute::(self)` on all platforms.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n# Examples\n\n```\nassert_ne!((1f32).to_bits(), 1f32 as u32); // to_bits() is not casting!\nassert_eq!((12.5f32).to_bits(), 0x41480000);\n\n```", + "docs": "Returns a string slice with leading ASCII whitespace removed.\n\n'Whitespace' refers to the definition used by\n[`u8::is_ascii_whitespace`].\n\n[`u8::is_ascii_whitespace`]: u8::is_ascii_whitespace\n\n# Examples\n\n```\nassert_eq!(\" \\t \\u{3000}hello world\\n\".trim_ascii_start(), \"\\u{3000}hello world\\n\");\nassert_eq!(\" \".trim_ascii_start(), \"\");\nassert_eq!(\"\".trim_ascii_start(), \"\");\n```", "id": 9768, "inner": { "function": { @@ -783048,51 +805784,63 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "u32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, "links": { - "Self::from_bits": 9767 + "u8::is_ascii_whitespace": 9767 }, - "name": "to_bits", + "name": "trim_ascii_start", "span": { "begin": [ - 1090, + 2855, 5 ], "end": [ - 1090, - 38 + 2855, + 49 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9769": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the trimmed string as a new slice, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nbig-endian (network) byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f32.to_be_bytes();\nassert_eq!(bytes, [0x41, 0x48, 0x00, 0x00]);\n```", + "docs": "Returns a string slice with trailing ASCII whitespace removed.\n\n'Whitespace' refers to the definition used by\n[`u8::is_ascii_whitespace`].\n\n[`u8::is_ascii_whitespace`]: u8::is_ascii_whitespace\n\n# Examples\n\n```\nassert_eq!(\"\\r hello world\\u{3000}\\n \".trim_ascii_end(), \"\\r hello world\\u{3000}\");\nassert_eq!(\" \".trim_ascii_end(), \"\");\nassert_eq!(\"\".trim_ascii_end(), \"\");\n```", "id": 9769, "inner": { "function": { @@ -783112,16 +805860,23 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "4", + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "primitive": "u8" + "primitive": "str" } } } @@ -783129,19 +805884,19 @@ } }, "links": { - "Self::from_bits": 9767 + "u8::is_ascii_whitespace": 9767 }, - "name": "to_be_bytes", + "name": "trim_ascii_end", "span": { "begin": [ - 1159, + 2880, 5 ], "end": [ - 1159, - 46 + 2880, + 47 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, @@ -783205,7 +805960,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -783237,11 +805992,11 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" @@ -783251,20 +806006,20 @@ "9770": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 80, patch: 0})}, feature: \"byte_slice_trim_ascii\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the trimmed string as a new slice, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nlittle-endian byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f32.to_le_bytes();\nassert_eq!(bytes, [0x00, 0x00, 0x48, 0x41]);\n```", + "docs": "Returns a string slice with leading and trailing ASCII whitespace\nremoved.\n\n'Whitespace' refers to the definition used by\n[`u8::is_ascii_whitespace`].\n\n[`u8::is_ascii_whitespace`]: u8::is_ascii_whitespace\n\n# Examples\n\n```\nassert_eq!(\"\\r hello world\\n \".trim_ascii(), \"hello world\");\nassert_eq!(\" \".trim_ascii(), \"\");\nassert_eq!(\"\".trim_ascii(), \"\");\n```", "id": 9770, "inner": { "function": { @@ -783284,16 +806039,23 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "4", + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "primitive": "u8" + "primitive": "str" } } } @@ -783301,39 +806063,36 @@ } }, "links": { - "Self::from_bits": 9767 + "u8::is_ascii_whitespace": 9767 }, - "name": "to_le_bytes", + "name": "trim_ascii", "span": { "begin": [ - 1180, + 2906, 5 ], "end": [ - 1180, - 46 + 2906, + 43 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9771": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"str_escape\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "this returns the escaped string as an iterator, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate, instead.\n\n[`to_be_bytes`]: f32::to_be_bytes\n[`to_le_bytes`]: f32::to_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f32.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x41, 0x48, 0x00, 0x00]\n } else {\n [0x00, 0x00, 0x48, 0x41]\n }\n);\n```", + "docs": "Returns an iterator that escapes each char in `self` with [`char::escape_debug`].\n\nNote: only extended grapheme codepoints that begin the string will be\nescaped.\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in \"❤\\n!\".escape_debug() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", \"❤\\n!\".escape_debug());\n```\n\n\nBoth are equivalent to:\n\n```\nprintln!(\"❤\\\\n!\");\n```\n\nUsing `to_string`:\n\n```\nassert_eq!(\"❤\\n!\".escape_debug().to_string(), \"❤\\\\n!\");\n```", "id": 9771, "inner": { "function": { @@ -783345,7 +806104,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -783353,81 +806112,11 @@ [ "self", { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "array": { - "len": "4", - "type": { - "primitive": "u8" - } - } - } - } - } - }, - "links": { - "Self::from_bits": 9767, - "f32::to_be_bytes": 9769, - "f32::to_le_bytes": 9770 - }, - "name": "to_ne_bytes", - "span": { - "begin": [ - 1214, - 5 - ], - "end": [ - 1214, - 46 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "9772": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in big endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f32::from_be_bytes([0x41, 0x48, 0x00, 0x00]);\nassert_eq!(value, 12.5);\n```", - "id": 9772, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "bytes", - { - "array": { - "len": "4", + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "primitive": "u8" + "generic": "Self" } } } @@ -783435,45 +806124,55 @@ ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9772, + "path": "EscapeDebug" + } } } } }, "links": { - "Self::from_bits": 9767 + "`char::escape_debug`": 9619 }, - "name": "from_be_bytes", + "name": "escape_debug", "span": { "begin": [ - 1233, + 2949, 5 ], "end": [ - 1233, - 55 + 2949, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9773": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"str_escape\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the escaped string as an iterator, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in little endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f32::from_le_bytes([0x00, 0x00, 0x48, 0x41]);\nassert_eq!(value, 12.5);\n```", + "docs": "Returns an iterator that escapes each char in `self` with [`char::escape_default`].\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in \"❤\\n!\".escape_default() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", \"❤\\n!\".escape_default());\n```\n\n\nBoth are equivalent to:\n\n```\nprintln!(\"\\\\u{{2764}}\\\\n!\");\n```\n\nUsing `to_string`:\n\n```\nassert_eq!(\"❤\\n!\".escape_default().to_string(), \"\\\\u{2764}\\\\n!\");\n```", "id": 9773, "inner": { "function": { @@ -783485,18 +806184,19 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "4", + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "primitive": "u8" + "generic": "Self" } } } @@ -783504,46 +806204,56 @@ ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9774, + "path": "EscapeDefault" + } } } } }, "links": { - "Self::from_bits": 9767 + "`char::escape_default`": 9621 }, - "name": "from_le_bytes", + "name": "escape_default", "span": { "begin": [ - 1252, + 2995, 5 ], "end": [ - 1252, - 55 + 2995, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9774": { + "9775": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 34, patch: 0})}, feature: \"str_escape\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the escaped string as an iterator, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in native endian.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: f32::from_be_bytes\n[`from_le_bytes`]: f32::from_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f32::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x41, 0x48, 0x00, 0x00]\n} else {\n [0x00, 0x00, 0x48, 0x41]\n});\nassert_eq!(value, 12.5);\n```", - "id": 9774, + "docs": "Returns an iterator that escapes each char in `self` with [`char::escape_unicode`].\n\n# Examples\n\nAs an iterator:\n\n```\nfor c in \"❤\\n!\".escape_unicode() {\n print!(\"{c}\");\n}\nprintln!();\n```\n\nUsing `println!` directly:\n\n```\nprintln!(\"{}\", \"❤\\n!\".escape_unicode());\n```\n\n\nBoth are equivalent to:\n\n```\nprintln!(\"\\\\u{{2764}}\\\\u{{a}}\\\\u{{21}}\");\n```\n\nUsing `to_string`:\n\n```\nassert_eq!(\"❤\\n!\".escape_unicode().to_string(), \"\\\\u{2764}\\\\u{a}\\\\u{21}\");\n```", + "id": 9775, "inner": { "function": { "generics": { @@ -783554,18 +806264,19 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "4", + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, "type": { - "primitive": "u8" + "generic": "Self" } } } @@ -783573,34 +806284,45 @@ ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "lifetime": "'_" + } + ], + "constraints": [] + } + }, + "id": 9776, + "path": "EscapeUnicode" + } } } } }, "links": { - "Self::from_bits": 9767, - "f32::from_be_bytes": 9772, - "f32::from_le_bytes": 9773 + "`char::escape_unicode`": 9617 }, - "name": "from_ne_bytes", + "name": "escape_unicode", "span": { "begin": [ - 1282, + 3033, 5 ], "end": [ - 1282, - 55 + 3033, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, - "9775": { + "9777": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 62, patch: 0})}, feature: \"total_cmp\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 126769, is_soft: false}, feature: \"substr_range\"}}]" }, { "must_use": { @@ -783610,8 +806332,8 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the ordering between `self` and `other`.\n\nUnlike the standard partial comparison between floating point numbers,\nthis comparison always produces an ordering in accordance to\nthe `totalOrder` predicate as defined in the IEEE 754 (2008 revision)\nfloating point standard. The values are ordered in the following sequence:\n\n- negative quiet NaN\n- negative signaling NaN\n- negative infinity\n- negative numbers\n- negative subnormal numbers\n- negative zero\n- positive zero\n- positive subnormal numbers\n- positive numbers\n- positive infinity\n- positive signaling NaN\n- positive quiet NaN.\n\nThe ordering established by this function does not always agree with the\n[`PartialOrd`] and [`PartialEq`] implementations of `f32`. For example,\nthey consider negative and positive zero equal, while `total_cmp`\ndoesn't.\n\nThe interpretation of the signaling NaN bit follows the definition in\nthe IEEE 754 standard, which may not match the interpretation by some of\nthe older, non-conformant (e.g. MIPS) hardware implementations.\n\n# Example\n\n```\nstruct GoodBoy {\n name: String,\n weight: f32,\n}\n\nlet mut bois = vec![\n GoodBoy { name: \"Pucci\".to_owned(), weight: 0.1 },\n GoodBoy { name: \"Woofer\".to_owned(), weight: 99.0 },\n GoodBoy { name: \"Yapper\".to_owned(), weight: 10.0 },\n GoodBoy { name: \"Chonk\".to_owned(), weight: f32::INFINITY },\n GoodBoy { name: \"Abs. Unit\".to_owned(), weight: f32::NAN },\n GoodBoy { name: \"Floaty\".to_owned(), weight: -5.0 },\n];\n\nbois.sort_by(|a, b| a.weight.total_cmp(&b.weight));\n\n// `f32::NAN` could be positive or negative, which will affect the sort order.\nif f32::NAN.is_sign_negative() {\n assert!(bois.into_iter().map(|b| b.weight)\n .zip([f32::NAN, -5.0, 0.1, 10.0, 99.0, f32::INFINITY].iter())\n .all(|(a, b)| a.to_bits() == b.to_bits()))\n} else {\n assert!(bois.into_iter().map(|b| b.weight)\n .zip([-5.0, 0.1, 10.0, 99.0, f32::INFINITY, f32::NAN].iter())\n .all(|(a, b)| a.to_bits() == b.to_bits()))\n}\n```", - "id": 9775, + "docs": "Returns the range that a substring points to.\n\nReturns `None` if `substr` does not point within `self`.\n\nUnlike [`str::find`], **this does not search through the string**.\nInstead, it uses pointer arithmetic to find where in the string\n`substr` is derived from.\n\nThis is useful for extending [`str::split`] and similar methods.\n\nNote that this method may return false positives (typically either\n`Some(0..0)` or `Some(self.len()..self.len())`) if `substr` is a\nzero-length `str` that points at the beginning or end of another,\nindependent, `str`.\n\n# Examples\n```\n#![feature(substr_range)]\n\nlet data = \"a, b, b, a\";\nlet mut iter = data.split(\", \").map(|s| data.substr_range(s).unwrap());\n\nassert_eq!(iter.next(), Some(0..1));\nassert_eq!(iter.next(), Some(3..4));\nassert_eq!(iter.next(), Some(6..7));\nassert_eq!(iter.next(), Some(9..10));\n```", + "id": 9777, "inner": { "function": { "generics": { @@ -783640,13 +806362,13 @@ } ], [ - "other", + "substr", { "borrowed_ref": { "is_mutable": false, "lifetime": null, "type": { - "primitive": "f32" + "primitive": "str" } } } @@ -783655,247 +806377,67 @@ "is_c_variadic": false, "output": { "resolved_path": { - "args": null, - "id": 2009, - "path": "Ordering" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 9778, + "path": "Range" + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" } } } } }, "links": { - "`PartialEq`": 123, - "`PartialOrd`": 127 - }, - "name": "total_cmp", - "span": { - "begin": [ - 1348, - 5 - ], - "end": [ - 1348, - 66 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "9776": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"clamp\"}}]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Restrict a value to a certain interval unless it is NaN.\n\nReturns `max` if `self` is greater than `max`, and `min` if `self` is\nless than `min`. Otherwise this returns `self`.\n\nNote that this function returns NaN if the initial value was NaN as\nwell.\n\n# Panics\n\nPanics if `min > max`, `min` is NaN, or `max` is NaN.\n\n# Examples\n\n```\nassert!((-3.0f32).clamp(-2.0, 1.0) == -2.0);\nassert!((0.0f32).clamp(-2.0, 1.0) == 0.0);\nassert!((2.0f32).clamp(-2.0, 1.0) == 1.0);\nassert!((f32::NAN).clamp(-2.0, 1.0).is_nan());\n```", - "id": 9776, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "min", - { - "primitive": "f32" - } - ], - [ - "max", - { - "primitive": "f32" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f32" - } - } - } - }, - "links": {}, - "name": "clamp", - "span": { - "begin": [ - 1404, - 5 - ], - "end": [ - 1404, - 60 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "9777": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet x = 3.5_f32;\nlet y = -3.5_f32;\n\nassert_eq!(x.abs(), x);\nassert_eq!(y.abs(), -y);\n\nassert!(f32::NAN.abs().is_nan());\n```", - "id": 9777, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f32" - } - } - } - }, - "links": {}, - "name": "abs", - "span": { - "begin": [ - 1441, - 5 - ], - "end": [ - 1441, - 34 - ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" - }, - "visibility": "public" - }, - "9778": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns a number that represents the sign of `self`.\n\n- `1.0` if the number is positive, `+0.0` or `INFINITY`\n- `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`\n- NaN if the number is NaN\n\n# Examples\n\n```\nlet f = 3.5_f32;\n\nassert_eq!(f.signum(), 1.0);\nassert_eq!(f32::NEG_INFINITY.signum(), -1.0);\n\nassert!(f32::NAN.signum().is_nan());\n```", - "id": 9778, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f32" - } - } - } + "`str::find`": 9718, + "`str::split`": 9721 }, - "links": {}, - "name": "signum", + "name": "substr_range", "span": { "begin": [ - 1466, + 3066, 5 ], "end": [ - 1466, - 37 + 3066, + 69 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, "9779": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 35, patch: 0})}, feature: \"copysign\"}}]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 130366, is_soft: false}, feature: \"str_as_str\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number composed of the magnitude of `self` and the sign of\n`sign`.\n\nEqual to `self` if the sign of `self` and `sign` are the same, otherwise equal to `-self`.\nIf `self` is a NaN, then a NaN with the same payload as `self` and the sign bit of `sign` is\nreturned.\n\nIf `sign` is a NaN, then this operation will still carry over its sign into the result. Note\nthat IEEE 754 doesn't assign any meaning to the sign bit in case of a NaN, and as Rust\ndoesn't guarantee that the bit pattern of NaNs are conserved over arithmetic operations, the\nresult of `copysign` with `sign` being a NaN might produce an unexpected or non-portable\nresult. See the [specification of NaN bit patterns](primitive@f32#nan-bit-patterns) for more\ninfo.\n\n# Examples\n\n```\nlet f = 3.5_f32;\n\nassert_eq!(f.copysign(0.42), 3.5_f32);\nassert_eq!(f.copysign(-0.42), -3.5_f32);\nassert_eq!((-f).copysign(0.42), 3.5_f32);\nassert_eq!((-f).copysign(-0.42), -3.5_f32);\n\nassert!(f32::NAN.copysign(1.0).is_nan());\n```", + "docs": "Returns the same string as a string slice `&str`.\n\nThis method is redundant when used directly on `&str`, but\nit helps dereferencing other string-like types to string slices,\nfor example references to `Box` or `Arc`.", "id": 9779, "inner": { "function": { @@ -783915,37 +806457,41 @@ [ "self", { - "generic": "Self" - } - ], - [ - "sign", - { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } } } }, - "links": { - "primitive@f32#nan-bit-patterns": 267 - }, - "name": "copysign", + "links": {}, + "name": "as_str", "span": { "begin": [ - 1500, + 3077, 5 ], "end": [ - 1500, - 50 + 3077, + 39 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/core/src/str/mod.rs" }, "visibility": "public" }, @@ -784048,7 +806594,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -784073,11 +806619,11 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -784085,23 +806631,138 @@ "visibility": "default" }, "9780": { + "attrs": [], + "crate_id": 1, + "deprecation": null, + "docs": null, + "id": 9780, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "str" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 9385, + 9672, + 9674, + 9675, + 9677, + 9678, + 9679, + 9680, + 9681, + 9682, + 9683, + 9384, + 9684, + 9685, + 9687, + 9688, + 9689, + 9691, + 9690, + 9694, + 9692, + 9693, + 9695, + 9696, + 9698, + 9700, + 9703, + 9702, + 9706, + 9708, + 9710, + 9713, + 9715, + 9716, + 9718, + 9719, + 9721, + 9723, + 9720, + 9727, + 9726, + 9731, + 9730, + 9734, + 9735, + 9737, + 9736, + 9741, + 9740, + 9744, + 9745, + 9746, + 9747, + 9748, + 9749, + 9751, + 9752, + 9754, + 9755, + 9756, + 9753, + 9757, + 9758, + 9760, + 9761, + 9762, + 9763, + 9764, + 9765, + 9766, + 9768, + 9769, + 9770, + 9771, + 9773, + 9775, + 9777, + 9779 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 118, + 1 + ], + "end": [ + 118, + 9 + ], + "filename": "checkouts/rust/library/core/src/str/mod.rs" + }, + "visibility": "default" + }, + "9781": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"str_box_extras\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "`self` will be dropped if the result is not used" } } ], - "crate_id": 1, + "crate_id": 2, "deprecation": null, - "docs": "Float addition that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", - "id": 9780, + "docs": "Converts a `Box` into a `Box<[u8]>` without copying or allocating.\n\n# Examples\n\n```\nlet s = \"this is a string\";\nlet boxed_str = s.to_owned().into_boxed_str();\nlet boxed_bytes = boxed_str.into_boxed_bytes();\nassert_eq!(*boxed_bytes, *s.as_bytes());\n```", + "id": 9781, "inner": { "function": { "generics": { @@ -784112,7 +806773,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -784120,69 +806781,123 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 157, + "path": "Box" + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "slice": { + "primitive": "u8" + } + } + } + ], + "constraints": [] + } + }, + "id": 157, + "path": "Box" + } } } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_add", + "links": {}, + "name": "into_boxed_bytes", "span": { "begin": [ - 1512, + 237, 5 ], "end": [ - 1512, - 54 + 237, + 58 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/alloc/src/str.rs" }, "visibility": "public" }, - "9781": { + "9782": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the replaced string as a new allocation, without modifying the original" } } ], - "crate_id": 1, + "crate_id": 2, "deprecation": null, - "docs": "Float subtraction that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", - "id": 9781, + "docs": "Replaces all matches of a pattern with another string.\n\n`replace` creates a new [`String`], and copies the data from this string slice into it.\nWhile doing so, it attempts to find matches of a pattern. If it finds any, it\nreplaces them with the replacement string slice.\n\n# Examples\n\n```\nlet s = \"this is old\";\n\nassert_eq!(\"this is new\", s.replace(\"old\", \"new\"));\nassert_eq!(\"than an old\", s.replace(\"is\", \"an\"));\n```\n\nWhen the pattern doesn't match, it returns this string slice as [`String`]:\n\n```\nlet s = \"this is old\";\nassert_eq!(s, s.replace(\"cookie monster\", \"little lamb\"));\n```", + "id": 9782, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -784190,69 +806905,124 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "rhs", + "from", { - "primitive": "f32" + "generic": "P" + } + ], + [ + "to", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } } } } }, "links": { - "primitive@f32#algebraic-operators": 267 + "`String`": 159 }, - "name": "algebraic_sub", + "name": "replace", "span": { "begin": [ - 1523, + 268, 5 ], "end": [ - 1523, - 54 + 268, + 67 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/alloc/src/str.rs" }, "visibility": "public" }, - "9782": { + "9783": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[doc(alias = \"replace_first\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"str_replacen\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the replaced string as a new allocation, without modifying the original" } } ], - "crate_id": 1, + "crate_id": 2, "deprecation": null, - "docs": "Float multiplication that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", - "id": 9782, + "docs": "Replaces first N matches of a pattern with another string.\n\n`replacen` creates a new [`String`], and copies the data from this string slice into it.\nWhile doing so, it attempts to find matches of a pattern. If it finds any, it\nreplaces them with the replacement string slice at most `count` times.\n\n# Examples\n\n```\nlet s = \"foo foo 123 foo\";\nassert_eq!(\"new new 123 foo\", s.replacen(\"foo\", \"new\", 2));\nassert_eq!(\"faa fao 123 foo\", s.replacen('o', \"a\", 3));\nassert_eq!(\"foo foo new23 foo\", s.replacen(char::is_numeric, \"new\", 1));\n```\n\nWhen the pattern doesn't match, it returns this string slice as [`String`]:\n\n```\nlet s = \"this is old\";\nassert_eq!(s, s.replacen(\"cookie monster\", \"little lamb\", 10));\n```", + "id": 9783, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "P" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 9714, + "path": "Pattern" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "P" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -784260,58 +807030,83 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "rhs", + "pat", { - "primitive": "f32" + "generic": "P" + } + ], + [ + "to", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "str" + } + } + } + ], + [ + "count", + { + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } } } } }, "links": { - "primitive@f32#algebraic-operators": 267 + "`String`": 159 }, - "name": "algebraic_mul", + "name": "replacen", "span": { "begin": [ - 1534, + 323, 5 ], "end": [ - 1534, - 54 + 323, + 81 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/alloc/src/str.rs" }, "visibility": "public" }, - "9783": { + "9784": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 4, patch: 0})}, feature: \"box_str\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "`self` will be dropped if the result is not used" } } ], - "crate_id": 1, + "crate_id": 2, "deprecation": null, - "docs": "Float division that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", - "id": 9783, + "docs": "Converts a [`Box`] into a [`String`] without copying or allocating.\n\n# Examples\n\n```\nlet string = String::from(\"birthday gift\");\nlet boxed_str = string.clone().into_boxed_str();\n\nassert_eq!(boxed_str.into_string(), string);\n```", + "id": 9784, "inner": { "function": { "generics": { @@ -784322,7 +807117,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -784330,58 +807125,69 @@ [ "self", { - "generic": "Self" - } - ], - [ - "rhs", - { - "primitive": "f32" + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "str" + } + } + ], + "constraints": [] + } + }, + "id": 157, + "path": "Box" + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } } } } }, "links": { - "primitive@f32#algebraic-operators": 267 + "`Box`": 157, + "`String`": 159 }, - "name": "algebraic_div", + "name": "into_string", "span": { "begin": [ - 1545, + 500, 5 ], "end": [ - 1545, - 54 + 500, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/alloc/src/str.rs" }, "visibility": "public" }, - "9784": { + "9785": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 16, patch: 0})}, feature: \"repeat_str\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], - "crate_id": 1, + "crate_id": 2, "deprecation": null, - "docs": "Float remainder that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", - "id": 9784, + "docs": "Creates a new [`String`] by repeating a string `n` times.\n\n# Panics\n\nThis function will panic if the capacity would overflow.\n\n# Examples\n\nBasic usage:\n\n```\nassert_eq!(\"abc\".repeat(4), String::from(\"abcabcabcabc\"));\n```\n\nA panic upon overflow:\n\n```should_panic\n// this will panic at runtime\nlet huge = \"0123456789abcdef\".repeat(usize::MAX);\n```", + "id": 9785, "inner": { "function": { "generics": { @@ -784392,7 +807198,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -784400,228 +807206,239 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ - "rhs", + "n", { - "primitive": "f32" + "primitive": "usize" } ] ], "is_c_variadic": false, "output": { - "primitive": "f32" + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } } } } }, "links": { - "primitive@f32#algebraic-operators": 267 + "`String`": 159 }, - "name": "algebraic_rem", + "name": "repeat", "span": { "begin": [ - 1556, + 530, 5 ], "end": [ - 1556, - 54 + 530, + 45 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/alloc/src/str.rs" }, "visibility": "public" }, - "9785": { - "attrs": [], - "crate_id": 1, + "9786": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + }, + { + "must_use": { + "reason": "to uppercase the value in-place, use `make_ascii_uppercase()`" + } + } + ], + "crate_id": 2, "deprecation": null, - "docs": null, - "id": 9785, + "docs": "Returns a copy of this string where each character is mapped to its\nASCII upper case equivalent.\n\nASCII letters 'a' to 'z' are mapped to 'A' to 'Z',\nbut non-ASCII letters are unchanged.\n\nTo uppercase the value in-place, use [`make_ascii_uppercase`].\n\nTo uppercase ASCII characters in addition to non-ASCII characters, use\n[`to_uppercase`].\n\n# Examples\n\n```\nlet s = \"Grüße, Jürgen ❤\";\n\nassert_eq!(\"GRüßE, JüRGEN ❤\", s.to_ascii_uppercase());\n```\n\n[`make_ascii_uppercase`]: str::make_ascii_uppercase\n[`to_uppercase`]: #method.to_uppercase", + "id": 9786, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f32" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9736, - 9737, - 9738, - 9739, - 9741, - 9743, - 9740, - 9742, - 9744, - 9745, - 9746, - 9747, - 9748, - 9749, - 9750, - 9751, - 9752, - 8668, - 9753, - 9754, - 9755, - 9756, - 9757, - 9758, - 9759, - 9760, - 9761, - 9762, - 8670, - 9763, - 9764, - 9765, - 9766, - 9768, - 9767, - 9769, - 9770, - 9771, - 9772, - 9773, - 9774, - 9775, - 9776, - 9777, - 9778, - 9779, - 9780, - 9781, - 9782, - 9783, - 9784 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } + } + } } }, - "links": {}, - "name": null, + "links": { + "str::make_ascii_uppercase": 9765 + }, + "name": "to_ascii_uppercase", "span": { "begin": [ - 387, - 1 + 560, + 5 ], "end": [ - 387, - 9 + 560, + 47 ], - "filename": "checkouts/rust/library/core/src/num/f32.rs" + "filename": "checkouts/rust/library/alloc/src/str.rs" }, - "visibility": "default" + "visibility": "public" }, - "9786": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 9786, - "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f32" - }, - "generics": { - "params": [], - "where_predicates": [] - }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" + "9787": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 23, patch: 0})}, feature: \"ascii_methods_on_intrinsics\"}}]" + }, + { + "must_use": { + "reason": "to lowercase the value in-place, use `make_ascii_lowercase()`" } } - }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" - }, - "9787": { - "attrs": [], - "crate_id": 0, + ], + "crate_id": 2, "deprecation": null, - "docs": null, + "docs": "Returns a copy of this string where each character is mapped to its\nASCII lower case equivalent.\n\nASCII letters 'A' to 'Z' are mapped to 'a' to 'z',\nbut non-ASCII letters are unchanged.\n\nTo lowercase the value in-place, use [`make_ascii_lowercase`].\n\nTo lowercase ASCII characters in addition to non-ASCII characters, use\n[`to_lowercase`].\n\n# Examples\n\n```\nlet s = \"Grüße, Jürgen ❤\";\n\nassert_eq!(\"grüße, jürgen ❤\", s.to_ascii_lowercase());\n```\n\n[`make_ascii_lowercase`]: str::make_ascii_lowercase\n[`to_lowercase`]: #method.to_lowercase", "id": 9787, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f32" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 159, + "path": "String" + } + } } } }, - "links": {}, - "name": null, - "span": null, - "visibility": "default" + "links": { + "str::make_ascii_lowercase": 9766 + }, + "name": "to_ascii_lowercase", + "span": { + "begin": [ + 592, + 5 + ], + "end": [ + 592, + 47 + ], + "filename": "checkouts/rust/library/alloc/src/str.rs" + }, + "visibility": "public" }, "9788": { "attrs": [], - "crate_id": 0, + "crate_id": 2, "deprecation": null, - "docs": null, + "docs": "Methods for string slices.", "id": 9788, "inner": { "impl": { "blanket_impl": null, "for": { - "primitive": "f32" + "primitive": "str" }, "generics": { "params": [], "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 9781, + 9782, + 9783, + 621, + 617, + 9784, + 9785, + 9786, + 9787 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 222, + 1 + ], + "end": [ + 222, + 9 + ], + "filename": "checkouts/rust/library/alloc/src/str.rs" + }, "visibility": "default" }, "9789": { @@ -784634,11 +807451,48 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 1, + "path": "Send" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -784647,8 +807501,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 1, + "path": "Send" } } }, @@ -784713,7 +807567,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -784738,11 +807592,11 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -784759,11 +807613,48 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 5, + "path": "Sync" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -784772,8 +807663,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 5, + "path": "Sync" } } }, @@ -784792,11 +807683,48 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 313, + "path": "Freeze" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": true, @@ -784805,8 +807733,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 313, + "path": "Freeze" } } }, @@ -784823,11 +807751,13 @@ "id": 9792, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { "params": [ @@ -784849,11 +807779,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 7, + "path": "Unpin" } } } @@ -784867,43 +807797,20 @@ ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 321 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 323, - "path": "Borrow" + "args": null, + "id": 7, + "path": "Unpin" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 209, - 1 - ], - "end": [ - 209, - 32 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, "9793": { @@ -784914,11 +807821,13 @@ "id": 9793, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { "params": [ @@ -784940,11 +807849,11 @@ { "trait_bound": { "generic_params": [], - "modifier": "maybe", + "modifier": "none", "trait": { "args": null, - "id": 3, - "path": "Sized" + "id": 316, + "path": "UnwindSafe" } } } @@ -784958,43 +807867,20 @@ ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 324 - ], + "items": [], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 326, - "path": "BorrowMut" + "args": null, + "id": 316, + "path": "UnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 217, - 1 - ], - "end": [ - 217, - 35 - ], - "filename": "checkouts/rust/library/core/src/borrow.rs" - }, + "span": null, "visibility": "default" }, "9794": { @@ -785005,11 +807891,13 @@ "id": 9794, "inner": { "impl": { - "blanket_impl": { - "generic": "T" - }, + "blanket_impl": null, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { "params": [ @@ -785034,8 +807922,8 @@ "modifier": "none", "trait": { "args": null, - "id": 99, - "path": "Clone" + "id": 318, + "path": "RefUnwindSafe" } } } @@ -785049,32 +807937,20 @@ ] }, "is_negative": false, - "is_synthetic": false, + "is_synthetic": true, "is_unsafe": false, - "items": [ - 422 - ], + "items": [], "provided_trait_methods": [], "trait": { "args": null, - "id": 424, - "path": "CloneToUninit" + "id": 318, + "path": "RefUnwindSafe" } } }, "links": {}, "name": null, - "span": { - "begin": [ - 516, - 1 - ], - "end": [ - 516, - 42 - ], - "filename": "checkouts/rust/library/core/src/clone.rs" - }, + "span": null, "visibility": "default" }, "9795": { @@ -785089,7 +807965,11 @@ "generic": "T" }, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { "params": [ @@ -785102,16 +807982,6 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ @@ -785121,29 +807991,18 @@ { "trait_bound": { "generic_params": [], - "modifier": "none", + "modifier": "maybe", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 37, - "path": "From" + "args": null, + "id": 3, + "path": "Sized" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -785153,7 +808012,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 319 ], "provided_trait_methods": [], "trait": { @@ -785162,15 +808021,15 @@ "args": [ { "type": { - "generic": "U" + "generic": "T" } } ], "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 321, + "path": "Borrow" } } }, @@ -785178,14 +808037,14 @@ "name": null, "span": { "begin": [ - 773, + 212, 1 ], "end": [ - 775, - 24 + 212, + 38 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, @@ -785201,7 +808060,11 @@ "generic": "T" }, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { "params": [ @@ -785216,13 +808079,35 @@ "name": "T" } ], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 322 ], "provided_trait_methods": [], "trait": { @@ -785238,8 +808123,8 @@ "constraints": [] } }, - "id": 37, - "path": "From" + "id": 324, + "path": "BorrowMut" } } }, @@ -785247,14 +808132,14 @@ "name": null, "span": { "begin": [ - 791, + 221, 1 ], "end": [ - 791, - 28 + 221, + 41 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, @@ -785270,7 +808155,11 @@ "generic": "T" }, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { "params": [ @@ -785283,16 +808172,6 @@ } }, "name": "T" - }, - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "U" } ], "where_predicates": [ @@ -785304,27 +808183,16 @@ "generic_params": [], "modifier": "none", "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "T" - } - } - ], - "constraints": [] - } - }, - "id": 199, - "path": "TryFrom" + "args": null, + "id": 97, + "path": "Clone" } } } ], "generic_params": [], "type": { - "generic": "U" + "generic": "T" } } } @@ -785334,25 +808202,13 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 422 ], "provided_trait_methods": [], "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "U" - } - } - ], - "constraints": [] - } - }, - "id": 200, - "path": "TryInto" + "args": null, + "id": 424, + "path": "CloneToUninit" } } }, @@ -785360,14 +808216,14 @@ "name": null, "span": { "begin": [ - 817, + 515, 1 ], "end": [ - 819, - 27 + 515, + 42 ], - "filename": "checkouts/rust/library/core/src/convert/mod.rs" + "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, @@ -785383,7 +808239,11 @@ "generic": "T" }, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { "params": [ @@ -785429,8 +808289,8 @@ "constraints": [] } }, - "id": 39, - "path": "Into" + "id": 37, + "path": "From" } } } @@ -785447,8 +808307,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 325 ], "provided_trait_methods": [], "trait": { @@ -785464,8 +808323,8 @@ "constraints": [] } }, - "id": 199, - "path": "TryFrom" + "id": 39, + "path": "Into" } } }, @@ -785473,11 +808332,11 @@ "name": null, "span": { "begin": [ - 833, + 767, 1 ], "end": [ - 835, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -785496,7 +808355,11 @@ "generic": "T" }, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { "params": [ @@ -785511,44 +808374,30 @@ "name": "T" } ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "outlives": "'static" - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" - } - } - } - ], - "generic_params": [], - "type": { - "generic": "T" - } - } - } - ] + "where_predicates": [] }, "is_negative": false, "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 327 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 341, - "path": "Any" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 37, + "path": "From" } } }, @@ -785556,14 +808405,14 @@ "name": null, "span": { "begin": [ - 138, + 785, 1 ], "end": [ - 138, - 36 + 785, + 28 ], - "filename": "checkouts/rust/library/core/src/any.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, @@ -785684,7 +808533,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -785702,8 +808551,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -785719,7 +808568,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -785728,11 +808577,11 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -785751,7 +808600,11 @@ "generic": "T" }, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { "params": [ @@ -785764,6 +808617,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -785775,16 +808638,27 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 99, - "path": "Clone" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -785794,17 +808668,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 430, - 431, - 432 - ], - "provided_trait_methods": [ - "clone_into" + 329, + 330 ], + "provided_trait_methods": [], "trait": { - "args": null, - "id": 157, - "path": "ToOwned" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 198, + "path": "TryInto" } } }, @@ -785812,14 +808694,14 @@ "name": null, "span": { "begin": [ - 82, + 811, 1 ], "end": [ - 84, - 14 + 813, + 27 ], - "filename": "checkouts/rust/library/alloc/src/borrow.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, @@ -785835,7 +808717,11 @@ "generic": "T" }, "for": { - "primitive": "f32" + "tuple": [ + { + "generic": "T" + } + ] }, "generics": { "params": [ @@ -785848,6 +808734,16 @@ } }, "name": "T" + }, + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "U" } ], "where_predicates": [ @@ -785859,27 +808755,27 @@ "generic_params": [], "modifier": "none", "trait": { - "args": null, - "id": 436, - "path": "Display" - } - } - }, - { - "trait_bound": { - "generic_params": [], - "modifier": "maybe", - "trait": { - "args": null, - "id": 3, - "path": "Sized" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "T" + } + } + ], + "constraints": [] + } + }, + "id": 39, + "path": "Into" } } } ], "generic_params": [], "type": { - "generic": "T" + "generic": "U" } } } @@ -785889,13 +808785,25 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 434 + 332, + 334 ], "provided_trait_methods": [], "trait": { - "args": null, - "id": 163, - "path": "ToString" + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "U" + } + } + ], + "constraints": [] + } + }, + "id": 197, + "path": "TryFrom" } } }, @@ -785903,163 +808811,196 @@ "name": null, "span": { "begin": [ - 2806, + 827, 1 ], "end": [ - 2806, - 46 + 829, + 24 ], - "filename": "checkouts/rust/library/alloc/src/string.rs" + "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, "9802": { - "attrs": [ - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns the largest integer less than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.7_f64;\nlet g = 3.0_f64;\nlet h = -3.7_f64;\n\nassert_eq!(f.floor(), 3.0);\nassert_eq!(g.floor(), 3.0);\nassert_eq!(h.floor(), -4.0);\n```", + "docs": null, "id": 9802, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "for": { + "tuple": [ + { + "generic": "T" + } + ] }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "outlives": "'static" + }, + { + "trait_bound": { + "generic_params": [], + "modifier": "maybe", + "trait": { + "args": null, + "id": 3, + "path": "Sized" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 336 + ], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 339, + "path": "Any" } } }, "links": {}, - "name": "floor", + "name": null, "span": { "begin": [ - 49, - 5 + 138, + 1 ], "end": [ - 51, - 6 + 138, + 36 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/any.rs" }, - "visibility": "public" + "visibility": "default" }, "9803": { - "attrs": [ - { - "other": "#[doc(alias = \"ceiling\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" - } - ], + "attrs": [], "crate_id": 0, "deprecation": null, - "docs": "Returns the smallest integer greater than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.01_f64;\nlet g = 4.0_f64;\n\nassert_eq!(f.ceil(), 4.0);\nassert_eq!(g.ceil(), 4.0);\n```", + "docs": null, "id": 9803, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "impl": { + "blanket_impl": { + "generic": "T" }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "for": { + "tuple": [ + { + "generic": "T" + } + ] }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] + "generics": { + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "T" + } ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": null, + "id": 97, + "path": "Clone" + } + } + } + ], + "generic_params": [], + "type": { + "generic": "T" + } + } + } + ] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 430, + 431, + 432 + ], + "provided_trait_methods": [ + "clone_into" + ], + "trait": { + "args": null, + "id": 155, + "path": "ToOwned" } } }, "links": {}, - "name": "ceil", + "name": null, "span": { "begin": [ - 72, - 5 + 85, + 1 ], "end": [ - 74, - 6 + 87, + 14 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, - "visibility": "public" + "visibility": "default" }, "9804": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786075,7 +809016,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the nearest integer to `self`. If a value is half-way between two\nintegers, round away from `0.0`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.3_f64;\nlet g = -3.3_f64;\nlet h = -3.7_f64;\nlet i = 3.5_f64;\nlet j = 4.5_f64;\n\nassert_eq!(f.round(), 3.0);\nassert_eq!(g.round(), -3.0);\nassert_eq!(h.round(), -4.0);\nassert_eq!(i.round(), 4.0);\nassert_eq!(j.round(), 5.0);\n```", + "docs": "Raises a number to a floating point power.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 2.0_f16;\nlet abs_difference = (x.powf(2.0) - (x * x)).abs();\nassert!(abs_difference <= f16::EPSILON);\n\nassert_eq!(f16::powf(1.0, f16::NAN), 1.0);\nassert_eq!(f16::powf(f16::NAN, 0.0), 1.0);\n# }\n```", "id": 9804, "inner": { "function": { @@ -786087,7 +809028,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -786097,37 +809038,40 @@ { "generic": "Self" } + ], + [ + "n", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "round", + "name": "powf", "span": { "begin": [ - 101, + 46, 5 ], "end": [ - 103, + 48, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9805": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 77, patch: 0})}, feature: \"round_ties_even\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786143,7 +809087,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the nearest integer to a number. Rounds half-way cases to the number\nwith an even least significant digit.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.3_f64;\nlet g = -3.3_f64;\nlet h = 3.5_f64;\nlet i = 4.5_f64;\n\nassert_eq!(f.round_ties_even(), 3.0);\nassert_eq!(g.round_ties_even(), -3.0);\nassert_eq!(h.round_ties_even(), 4.0);\nassert_eq!(i.round_ties_even(), 4.0);\n```", + "docs": "Returns `e^(self)`, (the exponential function).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet one = 1.0f16;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9805, "inner": { "function": { @@ -786155,7 +809099,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -786169,36 +809113,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "round_ties_even", + "name": "exp", "span": { "begin": [ - 128, + 78, 5 ], "end": [ - 130, + 80, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9806": { "attrs": [ { - "other": "#[doc(alias = \"truncate\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786214,7 +809152,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the integer part of `self`.\nThis means that non-integer numbers are always truncated towards zero.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.7_f64;\nlet g = 3.0_f64;\nlet h = -3.7_f64;\n\nassert_eq!(f.trunc(), 3.0);\nassert_eq!(g.trunc(), 3.0);\nassert_eq!(h.trunc(), -3.0);\n```", + "docs": "Returns `2^(self)`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 2.0f16;\n\n// 2^2 - 4 == 0\nlet abs_difference = (f.exp2() - 4.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9806, "inner": { "function": { @@ -786226,7 +809164,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -786240,33 +809178,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "trunc", + "name": "exp2", "span": { "begin": [ - 154, + 108, 5 ], "end": [ - 156, + 110, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9807": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786282,7 +809217,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the fractional part of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet x = 3.6_f64;\nlet y = -3.6_f64;\nlet abs_difference_x = (x.fract() - 0.6).abs();\nlet abs_difference_y = (y.fract() - (-0.6)).abs();\n\nassert!(abs_difference_x < 1e-10);\nassert!(abs_difference_y < 1e-10);\n```", + "docs": "Returns the natural logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet one = 1.0f16;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nassert_eq!(0_f16.ln(), f16::NEG_INFINITY);\nassert!((-42_f16).ln().is_nan());\n# }\n```", "id": 9807, "inner": { "function": { @@ -786294,7 +809229,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -786308,33 +809243,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "fract", + "name": "ln", "span": { "begin": [ - 178, + 153, 5 ], "end": [ - 180, + 155, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9808": { "attrs": [ { - "other": "#[doc(alias = \"fma\", alias = \"fusedMultiplyAdd\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786350,7 +809282,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Fused multiply-add. Computes `(self * a) + b` with only one rounding\nerror, yielding a more accurate result than an unfused multiply-add.\n\nUsing `mul_add` *may* be more performant than an unfused multiply-add if\nthe target architecture has a dedicated `fma` CPU instruction. However,\nthis is not always true, and will be heavily dependant on designing\nalgorithms with specific target hardware in mind.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as\n`fusedMultiplyAdd` and guaranteed not to change.\n\n# Examples\n\n```\nlet m = 10.0_f64;\nlet x = 4.0_f64;\nlet b = 60.0_f64;\n\nassert_eq!(m.mul_add(x, b), 100.0);\nassert_eq!(m * x + b, 100.0);\n\nlet one_plus_eps = 1.0_f64 + f64::EPSILON;\nlet one_minus_eps = 1.0_f64 - f64::EPSILON;\nlet minus_one = -1.0_f64;\n\n// The exact result (1 + eps) * (1 - eps) = 1 - eps * eps.\nassert_eq!(one_plus_eps.mul_add(one_minus_eps, minus_one), -f64::EPSILON * f64::EPSILON);\n// Different rounding with the non-fused multiply and add.\nassert_eq!(one_plus_eps * one_minus_eps + minus_one, 0.0);\n```", + "docs": "Returns the logarithm of the number with respect to an arbitrary base.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\nThe result might not be correctly rounded owing to implementation details;\n`self.log2()` can produce more accurate results for base 2, and\n`self.log10()` can produce more accurate results for base 10.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet five = 5.0f16;\n\n// log5(5) - 1 == 0\nlet abs_difference = (five.log(5.0) - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nassert_eq!(0_f16.log(10.0), f16::NEG_INFINITY);\nassert!((-42_f16).log(10.0).is_nan());\n# }\n```", "id": 9808, "inner": { "function": { @@ -786374,44 +809306,38 @@ } ], [ - "a", - { - "primitive": "f64" - } - ], - [ - "b", + "base", { - "primitive": "f64" + "primitive": "f16" } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "mul_add", + "name": "log", "span": { "begin": [ - 220, + 200, 5 ], "end": [ - 222, + 202, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9809": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786427,7 +809353,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Calculates Euclidean division, the matching method for `rem_euclid`.\n\nThis computes the integer `n` such that\n`self = n * rhs + self.rem_euclid(rhs)`.\nIn other words, the result is `self / rhs` rounded to the integer `n`\nsuch that `self >= n * rhs`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\nlet a: f64 = 7.0;\nlet b = 4.0;\nassert_eq!(a.div_euclid(b), 1.0); // 7.0 > 4.0 * 1.0\nassert_eq!((-a).div_euclid(b), -2.0); // -7.0 >= 4.0 * -2.0\nassert_eq!(a.div_euclid(-b), -1.0); // 7.0 >= -4.0 * -1.0\nassert_eq!((-a).div_euclid(-b), 2.0); // -7.0 >= -4.0 * 2.0\n```", + "docs": "Returns the base 2 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet two = 2.0f16;\n\n// log2(2) - 1 == 0\nlet abs_difference = (two.log2() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nassert_eq!(0_f16.log2(), f16::NEG_INFINITY);\nassert!((-42_f16).log2().is_nan());\n# }\n```", "id": 9809, "inner": { "function": { @@ -786449,33 +809375,27 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "div_euclid", + "name": "log2", "span": { "begin": [ - 250, + 243, 5 ], "end": [ - 252, + 245, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, @@ -786578,8 +809498,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -786595,7 +809515,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -786604,11 +809524,11 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" @@ -786618,10 +809538,7 @@ "9810": { "attrs": [ { - "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786637,7 +809554,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nIn particular, the return value `r` satisfies `0.0 <= r < rhs.abs()` in\nmost cases. However, due to a floating point round-off error it can\nresult in `r == rhs.abs()`, violating the mathematical definition, if\n`self` is much smaller than `rhs.abs()` in magnitude and `self < 0.0`.\nThis result is not an element of the function's codomain, but it is the\nclosest floating point number in the real numbers and thus fulfills the\nproperty `self == self.div_euclid(rhs) * rhs + self.rem_euclid(rhs)`\napproximately.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\nlet a: f64 = 7.0;\nlet b = 4.0;\nassert_eq!(a.rem_euclid(b), 3.0);\nassert_eq!((-a).rem_euclid(b), 1.0);\nassert_eq!(a.rem_euclid(-b), 3.0);\nassert_eq!((-a).rem_euclid(-b), 1.0);\n// limitation due to round-off error\nassert!((-f64::EPSILON).rem_euclid(3.0) != 0.0);\n```", + "docs": "Returns the base 10 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet ten = 10.0f16;\n\n// log10(10) - 1 == 0\nlet abs_difference = (ten.log10() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nassert_eq!(0_f16.log10(), f16::NEG_INFINITY);\nassert!((-42_f16).log10().is_nan());\n# }\n```", "id": 9810, "inner": { "function": { @@ -786659,40 +809576,34 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "rem_euclid", + "name": "log10", "span": { "begin": [ - 287, + 286, 5 ], "end": [ - 289, + 288, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9811": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786708,7 +809619,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Raises a number to an integer power.\n\nUsing this function is generally faster than using `powf`.\nIt might have a different sequence of rounding operations than `powf`,\nso the results are not guaranteed to agree.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0_f64;\nlet abs_difference = (x.powi(2) - (x * x)).abs();\nassert!(abs_difference <= 1e-14);\n\nassert_eq!(f64::powi(f64::NAN, 0), 1.0);\n```", + "docs": "Compute the distance between the origin and a point (`x`, `y`) on the\nEuclidean plane. Equivalently, compute the length of the hypotenuse of a\nright-angle triangle with other sides having length `x.abs()` and\n`y.abs()`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `hypotf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 2.0f16;\nlet y = 3.0f16;\n\n// sqrt(x^2 + y^2)\nlet abs_difference = (x.hypot(y) - (x.powi(2) + y.powi(2)).sqrt()).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9811, "inner": { "function": { @@ -786732,38 +809643,38 @@ } ], [ - "n", + "other", { - "primitive": "i32" + "primitive": "f16" } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "powi", + "name": "hypot", "span": { "begin": [ - 315, + 323, 5 ], "end": [ - 317, + 325, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9812": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786779,7 +809690,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Raises a number to a floating point power.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0_f64;\nlet abs_difference = (x.powf(2.0) - (x * x)).abs();\nassert!(abs_difference <= 1e-14);\n\nassert_eq!(f64::powf(1.0, f64::NAN), 1.0);\nassert_eq!(f64::powf(f64::NAN, 0.0), 1.0);\n```", + "docs": "Computes the sine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = std::f16::consts::FRAC_PI_2;\n\nlet abs_difference = (x.sin() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9812, "inner": { "function": { @@ -786801,43 +809712,34 @@ { "generic": "Self" } - ], - [ - "n", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "powf", + "name": "sin", "span": { "begin": [ - 340, + 352, 5 ], "end": [ - 342, + 354, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9813": { "attrs": [ { - "other": "#[doc(alias = \"squareRoot\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786853,7 +809755,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the square root of a number.\n\nReturns NaN if `self` is a negative number other than `-0.0`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as `squareRoot`\nand guaranteed not to change.\n\n# Examples\n\n```\nlet positive = 4.0_f64;\nlet negative = -4.0_f64;\nlet negative_zero = -0.0_f64;\n\nassert_eq!(positive.sqrt(), 2.0);\nassert!(negative.sqrt().is_nan());\nassert!(negative_zero.sqrt() == negative_zero);\n```", + "docs": "Computes the cosine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 2.0 * std::f16::consts::PI;\n\nlet abs_difference = (x.cos() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9813, "inner": { "function": { @@ -786879,30 +809781,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "sqrt", + "name": "cos", "span": { "begin": [ - 370, + 381, 5 ], "end": [ - 372, + 383, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9814": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786918,7 +809820,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `e^(self)`, (the exponential function).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet one = 1.0_f64;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Computes the tangent of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tanf` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = std::f16::consts::FRAC_PI_4;\nlet abs_difference = (x.tan() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9814, "inner": { "function": { @@ -786944,30 +809846,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "exp", + "name": "tan", "span": { "begin": [ - 397, + 412, 5 ], "end": [ - 399, + 414, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9815": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(alias = \"arcsin\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -786983,7 +809888,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `2^(self)`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet f = 2.0_f64;\n\n// 2^2 - 4 == 0\nlet abs_difference = (f.exp2() - 4.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Computes the arcsine of a number. Return value is in radians in\nthe range [-pi/2, pi/2] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `asinf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = std::f16::consts::FRAC_PI_4;\n\n// asin(sin(pi/2))\nlet abs_difference = (f.sin().asin() - f).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9815, "inner": { "function": { @@ -787009,30 +809914,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "exp2", + "name": "asin", "span": { "begin": [ - 422, + 448, 5 ], "end": [ - 424, + 450, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9816": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(alias = \"arccos\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787048,7 +809956,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the natural logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet one = 1.0_f64;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference < 1e-10);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f64.ln(), f64::NEG_INFINITY);\nassert!((-42_f64).ln().is_nan());\n```", + "docs": "Computes the arccosine of a number. Return value is in radians in\nthe range [0, pi] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `acosf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = std::f16::consts::FRAC_PI_4;\n\n// acos(cos(pi/4))\nlet abs_difference = (f.cos().acos() - std::f16::consts::FRAC_PI_4).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9816, "inner": { "function": { @@ -787074,30 +809982,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "ln", + "name": "acos", "span": { "begin": [ - 457, + 484, 5 ], "end": [ - 459, + 486, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9817": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(alias = \"arctan\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787113,7 +810024,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\nThe result might not be correctly rounded owing to implementation details;\n`self.log2()` can produce more accurate results for base 2, and\n`self.log10()` can produce more accurate results for base 10.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet twenty_five = 25.0_f64;\n\n// log5(25) - 2 == 0\nlet abs_difference = (twenty_five.log(5.0) - 2.0).abs();\n\nassert!(abs_difference < 1e-10);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f64.log(10.0), f64::NEG_INFINITY);\nassert!((-42_f64).log(10.0).is_nan());\n```", + "docs": "Computes the arctangent of a number. Return value is in radians in the\nrange [-pi/2, pi/2];\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `atanf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 1.0f16;\n\n// atan(tan(1))\nlet abs_difference = (f.tan().atan() - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9817, "inner": { "function": { @@ -787135,40 +810046,34 @@ { "generic": "Self" } - ], - [ - "base", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "log", + "name": "atan", "span": { "begin": [ - 494, + 519, 5 ], "end": [ - 496, + 521, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9818": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787184,7 +810089,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet four = 4.0_f64;\n\n// log2(4) - 2 == 0\nlet abs_difference = (four.log2() - 2.0).abs();\n\nassert!(abs_difference < 1e-10);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f64.log2(), f64::NEG_INFINITY);\nassert!((-42_f64).log2().is_nan());\n```", + "docs": "Computes the four quadrant arctangent of `self` (`y`) and `other` (`x`) in radians.\n\n | `x` | `y` | Piecewise Definition | Range |\n |---------|---------|----------------------|---------------|\n | `>= +0` | `>= +0` | `arctan(y/x)` | `[+0, +pi/2]` |\n | `>= +0` | `<= -0` | `arctan(y/x)` | `[-pi/2, -0]` |\n | `<= -0` | `>= +0` | `arctan(y/x) + pi` | `[+pi/2, +pi]`|\n | `<= -0` | `<= -0` | `arctan(y/x) - pi` | `[-pi, -pi/2]`|\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `atan2f` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\n// Positive angles measured counter-clockwise\n// from positive x axis\n// -pi/4 radians (45 deg clockwise)\nlet x1 = 3.0f16;\nlet y1 = -3.0f16;\n\n// 3pi/4 radians (135 deg counter-clockwise)\nlet x2 = -3.0f16;\nlet y2 = 3.0f16;\n\nlet abs_difference_1 = (y1.atan2(x1) - (-std::f16::consts::FRAC_PI_4)).abs();\nlet abs_difference_2 = (y2.atan2(x2) - (3.0 * std::f16::consts::FRAC_PI_4)).abs();\n\nassert!(abs_difference_1 <= f16::EPSILON);\nassert!(abs_difference_2 <= f16::EPSILON);\n# }\n```", "id": 9818, "inner": { "function": { @@ -787206,42 +810111,46 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "log2", + "name": "atan2", "span": { "begin": [ - 527, + 568, 5 ], "end": [ - 529, + 570, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9819": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(alias = \"sincos\")]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = Inline(Hint)]" }, { "other": "#[attr = AllowIncoherentImpl]" @@ -787249,7 +810158,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet hundred = 100.0_f64;\n\n// log10(100) - 2 == 0\nlet abs_difference = (hundred.log10() - 2.0).abs();\n\nassert!(abs_difference < 1e-10);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f64.log10(), f64::NEG_INFINITY);\nassert!((-42_f64).log10().is_nan());\n```", + "docs": "Simultaneously computes the sine and cosine of the number, `x`. Returns\n`(sin(x), cos(x))`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `(f16::sin(x),\nf16::cos(x))`. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = std::f16::consts::FRAC_PI_4;\nlet f = x.sin_cos();\n\nlet abs_difference_0 = (f.0 - x.sin()).abs();\nlet abs_difference_1 = (f.1 - x.cos()).abs();\n\nassert!(abs_difference_0 <= f16::EPSILON);\nassert!(abs_difference_1 <= f16::EPSILON);\n# }\n```", "id": 9819, "inner": { "function": { @@ -787275,23 +810184,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "tuple": [ + { + "primitive": "f16" + }, + { + "primitive": "f16" + } + ] } } } }, "links": {}, - "name": "log10", + "name": "sin_cos", "span": { "begin": [ - 560, + 604, 5 ], "end": [ - 562, + 606, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, @@ -787376,12 +810292,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -787404,7 +810320,7 @@ "9820": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787419,11 +810335,8 @@ } ], "crate_id": 0, - "deprecation": { - "note": "you probably meant `(self - other).abs()`: this operation is `(self - other).max(0.0)` except that `abs_sub` also propagates NaNs (also known as `fdim` in C). If you truly need the positive difference, consider using that expression or the C function `fdim`, depending on how you wish to handle NaN (please consider filing an issue describing your use-case too).", - "since": "1.10.0" - }, - "docs": "The positive difference of two numbers.\n\n* If `self <= other`: `0.0`\n* Else: `self - other`\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `fdim` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 3.0_f64;\nlet y = -3.0_f64;\n\nlet abs_difference_x = (x.abs_sub(1.0) - 2.0).abs();\nlet abs_difference_y = (y.abs_sub(1.0) - 0.0).abs();\n\nassert!(abs_difference_x < 1e-10);\nassert!(abs_difference_y < 1e-10);\n```", + "deprecation": null, + "docs": "Returns `e^(self) - 1` in a way that is accurate even if the\nnumber is close to zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `expm1f` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 1e-4_f16;\n\n// for very small x, e^x is approximately 1 + x + x^2 / 2\nlet approx = x + x * x / 2.0;\nlet abs_difference = (x.exp_m1() - approx).abs();\n\nassert!(abs_difference < 1e-4);\n# }\n```", "id": 9820, "inner": { "function": { @@ -787445,40 +810358,37 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "abs_sub", + "name": "exp_m1", "span": { "begin": [ - 602, + 639, 5 ], "end": [ - 605, + 641, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9821": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(alias = \"log1p\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787494,7 +810404,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the cube root of a number.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `cbrt` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 8.0_f64;\n\n// x^(1/3) - 2 == 0\nlet abs_difference = (x.cbrt() - 2.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Returns `ln(1+n)` (natural logarithm) more accurately than if\nthe operations were performed separately.\n\nThis returns NaN when `n < -1.0`, and negative infinity when `n == -1.0`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `log1pf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 1e-4_f16;\n\n// for very small x, ln(1 + x) is approximately x - x^2 / 2\nlet approx = x - x * x / 2.0;\nlet abs_difference = (x.ln_1p() - approx).abs();\n\nassert!(abs_difference < 1e-4);\n# }\n```\n\nOut-of-range values:\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nassert_eq!((-1.0_f16).ln_1p(), f16::NEG_INFINITY);\nassert!((-2.0_f16).ln_1p().is_nan());\n# }\n```", "id": 9821, "inner": { "function": { @@ -787520,30 +810430,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "cbrt", + "name": "ln_1p", "span": { "begin": [ - 630, + 688, 5 ], "end": [ - 632, + 690, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9822": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787559,7 +810469,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Compute the distance between the origin and a point (`x`, `y`) on the\nEuclidean plane. Equivalently, compute the length of the hypotenuse of a\nright-angle triangle with other sides having length `x.abs()` and\n`y.abs()`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `hypot` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 2.0_f64;\nlet y = 3.0_f64;\n\n// sqrt(x^2 + y^2)\nlet abs_difference = (x.hypot(y) - (x.powi(2) + y.powi(2)).sqrt()).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `sinhf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet e = std::f16::consts::E;\nlet x = 1.0f16;\n\nlet f = x.sinh();\n// Solving sinh() at 1 gives `(e^2-1)/(2e)`\nlet g = ((e * e) - 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9822, "inner": { "function": { @@ -787581,40 +810491,34 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "hypot", + "name": "sinh", "span": { "begin": [ - 661, + 724, 5 ], "end": [ - 663, + 726, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9823": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787630,7 +810534,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the sine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = std::f64::consts::FRAC_PI_2;\n\nlet abs_difference = (x.sin() - 1.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `coshf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet e = std::f16::consts::E;\nlet x = 1.0f16;\nlet f = x.cosh();\n// Solving cosh() at 1 gives this result\nlet g = ((e * e) + 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\n// Same result\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9823, "inner": { "function": { @@ -787656,30 +810560,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "sin", + "name": "cosh", "span": { "begin": [ - 685, + 760, 5 ], "end": [ - 687, + 762, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9824": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787695,7 +810599,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the cosine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0 * std::f64::consts::PI;\n\nlet abs_difference = (x.cos() - 1.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tanhf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet e = std::f16::consts::E;\nlet x = 1.0f16;\n\nlet f = x.tanh();\n// Solving tanh() at 1 gives `(1 - e^(-2))/(1 + e^(-2))`\nlet g = (1.0 - e.powi(-2)) / (1.0 + e.powi(-2));\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9824, "inner": { "function": { @@ -787721,30 +810625,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "cos", + "name": "tanh", "span": { "begin": [ - 709, + 796, 5 ], "end": [ - 711, + 798, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9825": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[doc(alias = \"arcsinh\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787760,7 +810667,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the tangent of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tan` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = std::f64::consts::FRAC_PI_4;\nlet abs_difference = (x.tan() - 1.0).abs();\n\nassert!(abs_difference < 1e-14);\n```", + "docs": "Inverse hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 1.0f16;\nlet f = x.sinh().asinh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9825, "inner": { "function": { @@ -787786,33 +810693,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "tan", + "name": "asinh", "span": { "begin": [ - 734, + 827, 5 ], "end": [ - 736, + 831, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9826": { "attrs": [ { - "other": "#[doc(alias = \"arcsin\")]" + "other": "#[doc(alias = \"arccosh\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787828,7 +810735,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the arcsine of a number. Return value is in radians in\nthe range [-pi/2, pi/2] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `asin` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = std::f64::consts::FRAC_PI_2;\n\n// asin(sin(pi/2))\nlet abs_difference = (f.sin().asin() - std::f64::consts::FRAC_PI_2).abs();\n\nassert!(abs_difference < 1e-7);\n```", + "docs": "Inverse hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 1.0f16;\nlet f = x.cosh().acosh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9826, "inner": { "function": { @@ -787854,33 +810761,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "asin", + "name": "acosh", "span": { "begin": [ - 764, + 860, 5 ], "end": [ - 766, + 866, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9827": { "attrs": [ { - "other": "#[doc(alias = \"arccos\")]" + "other": "#[doc(alias = \"arctanh\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787896,7 +810803,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the arccosine of a number. Return value is in radians in\nthe range [0, pi] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `acos` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = std::f64::consts::FRAC_PI_4;\n\n// acos(cos(pi/4))\nlet abs_difference = (f.cos().acos() - std::f64::consts::FRAC_PI_4).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Inverse hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = std::f16::consts::FRAC_PI_6;\nlet f = x.tanh().atanh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= 0.01);\n# }\n```", "id": 9827, "inner": { "function": { @@ -787922,33 +810829,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "acos", + "name": "atanh", "span": { "begin": [ - 794, + 895, 5 ], "end": [ - 796, + 897, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9828": { "attrs": [ { - "other": "#[doc(alias = \"arctan\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -787964,7 +810868,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the arctangent of a number. Return value is in radians in the\nrange [-pi/2, pi/2];\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `atan` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = 1.0_f64;\n\n// atan(tan(1))\nlet abs_difference = (f.tan().atan() - 1.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tgammaf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n#![feature(float_gamma)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 5.0f16;\n\nlet abs_difference = (x.gamma() - 24.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9828, "inner": { "function": { @@ -787990,30 +810894,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "atan", + "name": "gamma", "span": { "begin": [ - 823, + 929, 5 ], "end": [ - 825, + 931, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9829": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -788029,7 +810933,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the four quadrant arctangent of `self` (`y`) and `other` (`x`) in radians.\n\n* `x = 0`, `y = 0`: `0`\n* `x >= 0`: `arctan(y/x)` -> `[-pi/2, pi/2]`\n* `y >= 0`: `arctan(y/x) + pi` -> `(pi/2, pi]`\n* `y < 0`: `arctan(y/x) - pi` -> `(-pi, -pi/2)`\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `atan2` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n// Positive angles measured counter-clockwise\n// from positive x axis\n// -pi/4 radians (45 deg clockwise)\nlet x1 = 3.0_f64;\nlet y1 = -3.0_f64;\n\n// 3pi/4 radians (135 deg counter-clockwise)\nlet x2 = -3.0_f64;\nlet y2 = 3.0_f64;\n\nlet abs_difference_1 = (y1.atan2(x1) - (-std::f64::consts::FRAC_PI_4)).abs();\nlet abs_difference_2 = (y2.atan2(x2) - (3.0 * std::f64::consts::FRAC_PI_4)).abs();\n\nassert!(abs_difference_1 < 1e-10);\nassert!(abs_difference_2 < 1e-10);\n```", + "docs": "Natural logarithm of the absolute value of the gamma function\n\nThe integer part of the tuple indicates the sign of the gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `lgamma_r` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n#![feature(float_gamma)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 2.0f16;\n\nlet abs_difference = (x.ln_gamma().0 - 0.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9829, "inner": { "function": { @@ -788051,33 +810955,34 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "tuple": [ + { + "primitive": "f16" + }, + { + "primitive": "i32" + } + ] } } } }, "links": {}, - "name": "atan2", + "name": "ln_gamma", "span": { "begin": [ - 864, + 965, 5 ], "end": [ - 866, + 969, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, @@ -788189,13 +811094,15 @@ "9830": { "attrs": [ { - "other": "#[doc(alias = \"sincos\")]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Inline(Hint)]" }, { - "other": "#[attr = Inline(Hint)]" + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } }, { "other": "#[attr = AllowIncoherentImpl]" @@ -788203,7 +811110,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Simultaneously computes the sine and cosine of the number, `x`. Returns\n`(sin(x), cos(x))`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `(f64::sin(x),\nf64::cos(x))`. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = std::f64::consts::FRAC_PI_4;\nlet f = x.sin_cos();\n\nlet abs_difference_0 = (f.0 - x.sin()).abs();\nlet abs_difference_1 = (f.1 - x.cos()).abs();\n\nassert!(abs_difference_0 < 1e-10);\nassert!(abs_difference_1 < 1e-10);\n```", + "docs": "Error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erff` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n#![feature(float_erf)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n/// The error function relates what percent of a normal distribution lies\n/// within `x` standard deviations (scaled by `1/sqrt(2)`).\nfn within_standard_deviations(x: f16) -> f16 {\n (x * std::f16::consts::FRAC_1_SQRT_2).erf() * 100.0\n}\n\n// 68% of a normal distribution is within one standard deviation\nassert!((within_standard_deviations(1.0) - 68.269).abs() < 0.1);\n// 95% of a normal distribution is within two standard deviations\nassert!((within_standard_deviations(2.0) - 95.450).abs() < 0.1);\n// 99.7% of a normal distribution is within three standard deviations\nassert!((within_standard_deviations(3.0) - 99.730).abs() < 0.1);\n# }\n```", "id": 9830, "inner": { "function": { @@ -788229,37 +811136,30 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "f64" - }, - { - "primitive": "f64" - } - ] + "primitive": "f16" } } } }, "links": {}, - "name": "sin_cos", + "name": "erf", "span": { "begin": [ - 894, + 1007, 5 ], "end": [ - 896, + 1009, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9831": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -788275,7 +811175,7 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `e^(self) - 1` in a way that is accurate even if the\nnumber is close to zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `expm1` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 1e-16_f64;\n\n// for very small x, e^x is approximately 1 + x + x^2 / 2\nlet approx = x + x * x / 2.0;\nlet abs_difference = (x.exp_m1() - approx).abs();\n\nassert!(abs_difference < 1e-20);\n```", + "docs": "Complementary error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erfcf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n#![feature(float_erf)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\nlet x: f16 = 0.123;\n\nlet one = x.erf() + x.erfc();\nlet abs_difference = (one - 1.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9831, "inner": { "function": { @@ -788301,555 +811201,338 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "exp_m1", + "name": "erfc", "span": { "begin": [ - 923, + 1041, 5 ], "end": [ - 925, + 1043, 6 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, "visibility": "public" }, "9832": { "attrs": [ { - "other": "#[doc(alias = \"log1p\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[(not(test))]" } ], "crate_id": 0, "deprecation": null, - "docs": "Returns `ln(1+n)` (natural logarithm) more accurately than if\nthe operations were performed separately.\n\nThis returns NaN when `n < -1.0`, and negative infinity when `n == -1.0`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `log1p` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 1e-16_f64;\n\n// for very small x, ln(1 + x) is approximately x - x^2 / 2\nlet approx = x - x * x / 2.0;\nlet abs_difference = (x.ln_1p() - approx).abs();\n\nassert!(abs_difference < 1e-20);\n```\n\nOut-of-range values:\n```\nassert_eq!((-1.0_f64).ln_1p(), f64::NEG_INFINITY);\nassert!((-2.0_f64).ln_1p().is_nan());\n```", + "docs": null, "id": 9832, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f16" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 9804, + 9805, + 9806, + 9807, + 9808, + 9809, + 9810, + 9811, + 9812, + 9813, + 9814, + 9815, + 9816, + 9817, + 9818, + 9819, + 9820, + 9821, + 9822, + 9823, + 9824, + 9825, + 9826, + 9827, + 9828, + 9829, + 9830, + 9831 + ], + "provided_trait_methods": [], + "trait": null } }, "links": {}, - "name": "ln_1p", + "name": null, "span": { "begin": [ - 961, - 5 + 19, + 1 ], "end": [ - 963, - 6 + 1044, + 2 ], - "filename": "std/src/num/f64.rs" + "filename": "std/src/num/f16.rs" }, - "visibility": "public" + "visibility": "default" }, "9833": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `sinh` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f64::consts::E;\nlet x = 1.0_f64;\n\nlet f = x.sinh();\n// Solving sinh() at 1 gives `(e^2-1)/(2e)`\nlet g = ((e * e) - 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "The radix or base of the internal representation of `f16`.", "id": 9833, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } - } + "value": "2" } }, "links": {}, - "name": "sinh", + "name": "RADIX", "span": { "begin": [ - 991, + 143, 5 ], "end": [ - 993, - 6 + 143, + 25 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9834": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `cosh` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f64::consts::E;\nlet x = 1.0_f64;\nlet f = x.cosh();\n// Solving cosh() at 1 gives this result\nlet g = ((e * e) + 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\n// Same result\nassert!(abs_difference < 1.0e-10);\n```", + "docs": "Number of significant digits in base 2.\n\nNote that the size of the mantissa in the bitwise representation is one\nsmaller than this since the leading 1 is not stored explicitly.", "id": 9834, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } - } + "value": "11" } }, "links": {}, - "name": "cosh", + "name": "MANTISSA_DIGITS", "span": { "begin": [ - 1021, + 150, 5 ], "end": [ - 1023, - 6 + 150, + 35 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9835": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tanh` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f64::consts::E;\nlet x = 1.0_f64;\n\nlet f = x.tanh();\n// Solving tanh() at 1 gives `(1 - e^(-2))/(1 + e^(-2))`\nlet g = (1.0 - e.powi(-2)) / (1.0 + e.powi(-2));\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference < 1.0e-10);\n```", + "docs": "Approximate number of significant digits in base 10.\n\nThis is the maximum x such that any decimal number with x\nsignificant digits can be converted to `f16` and back without loss.\n\nEqual to floor(log10 2[`MANTISSA_DIGITS`] − 1).\n\n[`MANTISSA_DIGITS`]: f16::MANTISSA_DIGITS", "id": 9835, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "u32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } - } + "value": "3" } }, - "links": {}, - "name": "tanh", + "links": { + "f16::MANTISSA_DIGITS": 9834 + }, + "name": "DIGITS", "span": { "begin": [ - 1051, + 161, 5 ], "end": [ - 1053, - 6 + 161, + 26 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9836": { "attrs": [ { - "other": "#[doc(alias = \"arcsinh\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[rustc_diagnostic_item = \"f16_epsilon\"]" }, { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Inverse hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 1.0_f64;\nlet f = x.sinh().asinh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference < 1.0e-10);\n```", + "docs": "[Machine epsilon] value for `f16`.\n\nThis is the difference between `1.0` and the next larger representable number.\n\nEqual to 21 − [`MANTISSA_DIGITS`].\n\n[Machine epsilon]: https://en.wikipedia.org/wiki/Machine_epsilon\n[`MANTISSA_DIGITS`]: f16::MANTISSA_DIGITS", "id": 9836, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f16" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } - } + "value": "9.7656e-4_f16" } }, - "links": {}, - "name": "asinh", + "links": { + "f16::MANTISSA_DIGITS": 9834 + }, + "name": "EPSILON", "span": { "begin": [ - 1077, + 173, 5 ], "end": [ - 1081, - 6 + 173, + 27 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9837": { "attrs": [ { - "other": "#[doc(alias = \"arccosh\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Inverse hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 1.0_f64;\nlet f = x.cosh().acosh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference < 1.0e-10);\n```", + "docs": "Largest finite `f16` value.\n\nEqual to\n(1 − 2−[`MANTISSA_DIGITS`]) 2[`MAX_EXP`].\n\n[`MANTISSA_DIGITS`]: f16::MANTISSA_DIGITS\n[`MAX_EXP`]: f16::MAX_EXP", "id": 9837, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f16" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } - } + "value": "6.5504e+4_f16" } }, - "links": {}, - "name": "acosh", + "links": { + "f16::MANTISSA_DIGITS": 9834, + "f16::MAX_EXP": 9841 + }, + "name": "MAX", "span": { "begin": [ - 1105, + 197, 5 ], "end": [ - 1111, - 6 + 197, + 23 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9838": { "attrs": [ { - "other": "#[doc(alias = \"arctanh\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Inverse hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet e = std::f64::consts::E;\nlet f = e.tanh().atanh();\n\nlet abs_difference = (f - e).abs();\n\nassert!(abs_difference < 1.0e-10);\n```", + "docs": "Smallest finite `f16` value.\n\nEqual to −[`MAX`].\n\n[`MAX`]: f16::MAX", "id": 9838, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f16" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } - } + "value": "-6.5504e+4_f16" } }, - "links": {}, - "name": "atanh", + "links": { + "f16::MAX": 9837 + }, + "name": "MIN", "span": { "begin": [ - 1135, + 181, 5 ], "end": [ - 1137, - 6 + 181, + 23 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9839": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99842, is_soft: false}, feature: \"float_gamma\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tgamma` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_gamma)]\nlet x = 5.0f64;\n\nlet abs_difference = (x.gamma() - 24.0).abs();\n\nassert!(abs_difference <= f64::EPSILON);\n```", + "docs": "One greater than the minimum possible *normal* power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact minimum possible *normal* power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all normal numbers representable by this type are\ngreater than or equal to 0.5 × 2MIN_EXP.", "id": 9839, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } - } + "value": "-13" } }, "links": {}, - "name": "gamma", + "name": "MIN_EXP", "span": { "begin": [ - 1162, + 207, 5 ], "end": [ - 1164, - 6 + 207, + 27 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, @@ -788913,7 +811596,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -788940,7 +811623,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -788949,11 +811632,11 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" @@ -788963,497 +811646,422 @@ "9840": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99842, is_soft: false}, feature: \"float_gamma\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Natural logarithm of the absolute value of the gamma function\n\nThe integer part of the tuple indicates the sign of the gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `lgamma_r` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_gamma)]\nlet x = 2.0f64;\n\nlet abs_difference = (x.ln_gamma().0 - 0.0).abs();\n\nassert!(abs_difference <= f64::EPSILON);\n```", + "docs": "Smallest positive normal `f16` value.\n\nEqual to 2[`MIN_EXP`] − 1.\n\n[`MIN_EXP`]: f16::MIN_EXP", "id": 9840, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f16" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "tuple": [ - { - "primitive": "f64" - }, - { - "primitive": "i32" - } - ] - } - } + "value": "6.1035e-5_f16" } }, - "links": {}, - "name": "ln_gamma", + "links": { + "f16::MIN_EXP": 9839 + }, + "name": "MIN_POSITIVE", "span": { "begin": [ - 1191, + 188, 5 ], "end": [ - 1195, - 6 + 188, + 32 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9841": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136321, is_soft: false}, feature: \"float_erf\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_erf)]\n/// The error function relates what percent of a normal distribution lies\n/// within `x` standard deviations (scaled by `1/sqrt(2)`).\nfn within_standard_deviations(x: f64) -> f64 {\n (x * std::f64::consts::FRAC_1_SQRT_2).erf() * 100.0\n}\n\n// 68% of a normal distribution is within one standard deviation\nassert!((within_standard_deviations(1.0) - 68.269).abs() < 0.01);\n// 95% of a normal distribution is within two standard deviations\nassert!((within_standard_deviations(2.0) - 95.450).abs() < 0.01);\n// 99.7% of a normal distribution is within three standard deviations\nassert!((within_standard_deviations(3.0) - 99.730).abs() < 0.01);\n```", + "docs": "One greater than the maximum possible power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact maximum possible power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all numbers representable by this type are\nstrictly less than 2MAX_EXP.", "id": 9841, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } - } + "value": "16" } }, "links": {}, - "name": "erf", + "name": "MAX_EXP", "span": { "begin": [ - 1228, + 216, 5 ], "end": [ - 1230, - 6 + 216, + 27 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9842": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136321, is_soft: false}, feature: \"float_erf\"}}]" - }, - { - "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": "Complementary error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erfc` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_erf)]\nlet x: f64 = 0.123;\n\nlet one = x.erf() + x.erfc();\nlet abs_difference = (one - 1.0).abs();\n\nassert!(abs_difference <= f64::EPSILON);\n```", + "docs": "Minimum x for which 10x is normal.\n\nEqual to ceil(log10 [`MIN_POSITIVE`]).\n\n[`MIN_POSITIVE`]: f16::MIN_POSITIVE", "id": 9842, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f64" - } - } + "value": "-4" } }, - "links": {}, - "name": "erfc", + "links": { + "f16::MIN_POSITIVE": 9840 + }, + "name": "MIN_10_EXP", "span": { "begin": [ - 1257, + 224, 5 ], "end": [ - 1259, - 6 + 224, + 30 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9843": { "attrs": [ { - "other": "#[(not(test))]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], - "crate_id": 0, + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Maximum x for which 10x is normal.\n\nEqual to floor(log10 [`MAX`]).\n\n[`MAX`]: f16::MAX", "id": 9843, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f64" - }, - "generics": { - "params": [], - "where_predicates": [] + "assoc_const": { + "type": { + "primitive": "i32" }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9802, - 9803, - 9804, - 9805, - 9806, - 9807, - 9808, - 9809, - 9810, - 9811, - 9812, - 9813, - 9814, - 9815, - 9816, - 9817, - 9818, - 9819, - 9820, - 9821, - 9822, - 9823, - 9824, - 9825, - 9826, - 9827, - 9828, - 9829, - 9830, - 9831, - 9832, - 9833, - 9834, - 9835, - 9836, - 9837, - 9838, - 9839, - 9840, - 9841, - 9842 - ], - "provided_trait_methods": [], - "trait": null + "value": "4" } }, - "links": {}, - "name": null, + "links": { + "f16::MAX": 9837 + }, + "name": "MAX_10_EXP", "span": { "begin": [ - 28, - 1 + 231, + 5 ], "end": [ - 1260, - 2 + 231, + 30 ], - "filename": "std/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, - "visibility": "default" + "visibility": "public" }, "9844": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[rustc_diagnostic_item = \"f16_nan\"]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "The radix or base of the internal representation of `f64`.", + "docs": "Not a Number (NaN).\n\nNote that IEEE 754 doesn't define just a single NaN value; a plethora of bit patterns are\nconsidered to be NaN. Furthermore, the standard makes a difference between a \"signaling\" and\na \"quiet\" NaN, and allows inspecting its \"payload\" (the unspecified bits in the bit pattern)\nand its sign. See the [specification of NaN bit patterns](f32#nan-bit-patterns) for more\ninfo.\n\nThis constant is guaranteed to be a quiet NaN (on targets that follow the Rust assumptions\nthat the quiet/signaling bit being set to 1 indicates a quiet NaN). Beyond that, nothing is\nguaranteed about the specific bit pattern chosen here: both payload and sign are arbitrary.\nThe concrete bit pattern may change across Rust versions and target platforms.", "id": 9844, "inner": { "assoc_const": { "type": { - "primitive": "u32" + "primitive": "f16" }, - "value": "2" + "value": "_" } }, - "links": {}, - "name": "RADIX", + "links": { + "f32#nan-bit-patterns": 265 + }, + "name": "NAN", "span": { "begin": [ - 390, + 248, 5 ], "end": [ - 390, - 25 + 248, + 23 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9845": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Number of significant digits in base 2.\n\nNote that the size of the mantissa in the bitwise representation is one\nsmaller than this since the leading 1 is not stored explicitly.", + "docs": "Infinity (∞).", "id": 9845, "inner": { "assoc_const": { "type": { - "primitive": "u32" + "primitive": "f16" }, - "value": "53" + "value": "_" } }, "links": {}, - "name": "MANTISSA_DIGITS", + "name": "INFINITY", "span": { "begin": [ - 397, + 252, 5 ], "end": [ - 397, - 35 + 252, + 28 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9846": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Approximate number of significant digits in base 10.\n\nThis is the maximum x such that any decimal number with x\nsignificant digits can be converted to `f64` and back without loss.\n\nEqual to floor(log10 2[`MANTISSA_DIGITS`] − 1).\n\n[`MANTISSA_DIGITS`]: f64::MANTISSA_DIGITS", + "docs": "Negative infinity (−∞).", "id": 9846, "inner": { "assoc_const": { "type": { - "primitive": "u32" + "primitive": "f16" }, - "value": "15" + "value": "_" } }, - "links": { - "f64::MANTISSA_DIGITS": 9845 - }, - "name": "DIGITS", + "links": {}, + "name": "NEG_INFINITY", "span": { "begin": [ - 407, + 256, 5 ], "end": [ - 407, - 26 + 256, + 32 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9847": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"f64_epsilon\"]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "[Machine epsilon] value for `f64`.\n\nThis is the difference between `1.0` and the next larger representable number.\n\nEqual to 21 − [`MANTISSA_DIGITS`].\n\n[Machine epsilon]: https://en.wikipedia.org/wiki/Machine_epsilon\n[`MANTISSA_DIGITS`]: f64::MANTISSA_DIGITS", + "docs": "Returns `true` if this value is NaN.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet nan = f16::NAN;\nlet f = 7.0_f16;\n\nassert!(nan.is_nan());\nassert!(!f.is_nan());\n# }\n```", "id": 9847, "inner": { - "assoc_const": { - "type": { - "primitive": "f64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "2.2204460492503131e-16_f64" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } } }, - "links": { - "f64::MANTISSA_DIGITS": 9845 - }, - "name": "EPSILON", + "links": {}, + "name": "is_nan", "span": { "begin": [ - 419, + 290, 5 ], "end": [ - 419, - 27 + 290, + 38 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9848": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "Largest finite `f64` value.\n\nEqual to\n(1 − 2−[`MANTISSA_DIGITS`]) 2[`MAX_EXP`].\n\n[`MANTISSA_DIGITS`]: f64::MANTISSA_DIGITS\n[`MAX_EXP`]: f64::MAX_EXP", + "docs": "Returns `true` if this value is positive infinity or negative infinity, and\n`false` otherwise.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0f16;\nlet inf = f16::INFINITY;\nlet neg_inf = f16::NEG_INFINITY;\nlet nan = f16::NAN;\n\nassert!(!f.is_infinite());\nassert!(!nan.is_infinite());\n\nassert!(inf.is_infinite());\nassert!(neg_inf.is_infinite());\n# }\n```", "id": 9848, "inner": { - "assoc_const": { - "type": { - "primitive": "f64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "1.7976931348623157e+308_f64" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } } }, - "links": { - "f64::MANTISSA_DIGITS": 9845, - "f64::MAX_EXP": 9852 - }, - "name": "MAX", + "links": {}, + "name": "is_infinite", "span": { "begin": [ - 443, + 316, 5 ], "end": [ - 443, - 23 + 316, + 43 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9849": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "Smallest finite `f64` value.\n\nEqual to −[`MAX`].\n\n[`MAX`]: f64::MAX", + "docs": "Returns `true` if this number is neither infinite nor NaN.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0f16;\nlet inf: f16 = f16::INFINITY;\nlet neg_inf: f16 = f16::NEG_INFINITY;\nlet nan: f16 = f16::NAN;\n\nassert!(f.is_finite());\n\nassert!(!nan.is_finite());\nassert!(!inf.is_finite());\nassert!(!neg_inf.is_finite());\n# }\n```", "id": 9849, "inner": { - "assoc_const": { - "type": { - "primitive": "f64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "-1.7976931348623157e+308_f64" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } } }, - "links": { - "f64::MAX": 9848 - }, - "name": "MIN", + "links": {}, + "name": "is_finite", "span": { "begin": [ - 427, + 342, 5 ], "end": [ - 427, - 23 + 342, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, @@ -789520,295 +812128,498 @@ "9850": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "One greater than the minimum possible *normal* power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact minimum possible *normal* power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all normal numbers representable by this type are\ngreater than or equal to 0.5 × 2MIN_EXP.", + "docs": "Returns `true` if the number is [subnormal].\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet min = f16::MIN_POSITIVE; // 6.1035e-5\nlet max = f16::MAX;\nlet lower_than_min = 1.0e-7_f16;\nlet zero = 0.0_f16;\n\nassert!(!min.is_subnormal());\nassert!(!max.is_subnormal());\n\nassert!(!zero.is_subnormal());\nassert!(!f16::NAN.is_subnormal());\nassert!(!f16::INFINITY.is_subnormal());\n// Values between `0` and `min` are Subnormal.\nassert!(lower_than_min.is_subnormal());\n# }\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", "id": 9850, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "-1021" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } } }, "links": {}, - "name": "MIN_EXP", + "name": "is_subnormal", "span": { "begin": [ - 453, + 373, 5 ], "end": [ - 453, - 27 + 373, + 44 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9851": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "Smallest positive normal `f64` value.\n\nEqual to 2[`MIN_EXP`] − 1.\n\n[`MIN_EXP`]: f64::MIN_EXP", + "docs": "Returns `true` if the number is neither zero, infinite, [subnormal], or NaN.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet min = f16::MIN_POSITIVE; // 6.1035e-5\nlet max = f16::MAX;\nlet lower_than_min = 1.0e-7_f16;\nlet zero = 0.0_f16;\n\nassert!(min.is_normal());\nassert!(max.is_normal());\n\nassert!(!zero.is_normal());\nassert!(!f16::NAN.is_normal());\nassert!(!f16::INFINITY.is_normal());\n// Values between `0` and `min` are Subnormal.\nassert!(!lower_than_min.is_normal());\n# }\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", "id": 9851, "inner": { - "assoc_const": { - "type": { - "primitive": "f64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "2.2250738585072014e-308_f64" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } } }, - "links": { - "f64::MIN_EXP": 9850 - }, - "name": "MIN_POSITIVE", + "links": {}, + "name": "is_normal", "span": { "begin": [ - 434, + 402, 5 ], "end": [ - 434, - 32 + 402, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9852": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "One greater than the maximum possible power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact maximum possible power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all numbers representable by this type are\nstrictly less than 2MAX_EXP.", + "docs": "Returns the floating point category of the number. If only one property\nis going to be tested, it is generally faster to use the specific\npredicate instead.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nuse std::num::FpCategory;\n\nlet num = 12.4_f16;\nlet inf = f16::INFINITY;\n\nassert_eq!(num.classify(), FpCategory::Normal);\nassert_eq!(inf.classify(), FpCategory::Infinite);\n# }\n```", "id": 9852, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "1024" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": null, + "id": 4782, + "path": "FpCategory" + } + } + } } }, "links": {}, - "name": "MAX_EXP", + "name": "classify", "span": { "begin": [ - 462, + 425, 5 ], "end": [ - 462, - 27 + 425, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9853": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "Minimum x for which 10x is normal.\n\nEqual to ceil(log10 [`MIN_POSITIVE`]).\n\n[`MIN_POSITIVE`]: f64::MIN_POSITIVE", + "docs": "Returns `true` if `self` has a positive sign, including `+0.0`, NaNs with\npositive sign bit and positive infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_positive` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == 1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0_f16;\nlet g = -7.0_f16;\n\nassert!(f.is_sign_positive());\nassert!(!g.is_sign_positive());\n# }\n```", "id": 9853, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "-307" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } } }, "links": { - "f64::MIN_POSITIVE": 9851 + "f32#nan-bit-patterns": 265 }, - "name": "MIN_10_EXP", + "name": "is_sign_positive", "span": { "begin": [ - 470, + 461, 5 ], "end": [ - 470, - 30 + 461, + 48 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9854": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "Maximum x for which 10x is normal.\n\nEqual to floor(log10 [`MAX`]).\n\n[`MAX`]: f64::MAX", + "docs": "Returns `true` if `self` has a negative sign, including `-0.0`, NaNs with\nnegative sign bit and negative infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_negative` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == -1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0_f16;\nlet g = -7.0_f16;\n\nassert!(!f.is_sign_negative());\nassert!(g.is_sign_negative());\n# }\n```", "id": 9854, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "308" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "bool" + } + } } }, "links": { - "f64::MAX": 9848 + "f32#nan-bit-patterns": 265 }, - "name": "MAX_10_EXP", + "name": "is_sign_negative", "span": { "begin": [ - 477, + 490, 5 ], "end": [ - 477, - 30 + 490, + 48 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9855": { "attrs": [ { - "other": "#[rustc_diagnostic_item = \"f64_nan\"]" + "other": "#[doc(alias = \"nextUp\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Not a Number (NaN).\n\nNote that IEEE 754 doesn't define just a single NaN value; a plethora of bit patterns are\nconsidered to be NaN. Furthermore, the standard makes a difference between a \"signaling\" and\na \"quiet\" NaN, and allows inspecting its \"payload\" (the unspecified bits in the bit pattern)\nand its sign. See the [specification of NaN bit patterns](f32#nan-bit-patterns) for more\ninfo.\n\nThis constant is guaranteed to be a quiet NaN (on targets that follow the Rust assumptions\nthat the quiet/signaling bit being set to 1 indicates a quiet NaN). Beyond that, nothing is\nguaranteed about the specific bit pattern chosen here: both payload and sign are arbitrary.\nThe concrete bit pattern may change across Rust versions and target platforms.", + "docs": "Returns the least number greater than `self`.\n\nLet `TINY` be the smallest representable positive `f16`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`NEG_INFINITY`], this returns [`MIN`];\n - if `self` is `-TINY`, this returns -0.0;\n - if `self` is -0.0 or +0.0, this returns `TINY`;\n - if `self` is [`MAX`] or [`INFINITY`], this returns [`INFINITY`];\n - otherwise the unique least value greater than `self` is returned.\n\nThe identity `x.next_up() == -(-x).next_down()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_up().next_down()` also holds.\n\n```rust\n#![feature(f16)]\n# // FIXME(f16_f128): ABI issues on MSVC\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\n// f16::EPSILON is the difference between 1.0 and the next number up.\nassert_eq!(1.0f16.next_up(), 1.0 + f16::EPSILON);\n// But not for most numbers.\nassert!(0.1f16.next_up() < 0.1 + f16::EPSILON);\nassert_eq!(4356f16.next_up(), 4360.0);\n# }\n```\n\nThis operation corresponds to IEEE-754 `nextUp`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", "id": 9855, "inner": { - "assoc_const": { - "type": { - "primitive": "f64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f16" + } + } } }, "links": { - "f32#nan-bit-patterns": 267 + "Self::INFINITY": 9845, + "Self::MAX": 9837, + "Self::MIN": 9838, + "Self::NEG_INFINITY": 9846 }, - "name": "NAN", + "name": "next_up", "span": { "begin": [ - 494, + 532, 5 ], "end": [ - 494, - 23 + 532, + 39 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9856": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[doc(alias = \"nextDown\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Infinity (∞).", + "docs": "Returns the greatest number less than `self`.\n\nLet `TINY` be the smallest representable positive `f16`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`INFINITY`], this returns [`MAX`];\n - if `self` is `TINY`, this returns 0.0;\n - if `self` is -0.0 or +0.0, this returns `-TINY`;\n - if `self` is [`MIN`] or [`NEG_INFINITY`], this returns [`NEG_INFINITY`];\n - otherwise the unique greatest value less than `self` is returned.\n\nThe identity `x.next_down() == -(-x).next_up()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_down().next_up()` also holds.\n\n```rust\n#![feature(f16)]\n# // FIXME(f16_f128): ABI issues on MSVC\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 1.0f16;\n// Clamp value into range [0, 1).\nlet clamped = x.clamp(0.0, 1.0f16.next_down());\nassert!(clamped < 1.0);\nassert_eq!(clamped.next_up(), 1.0);\n# }\n```\n\nThis operation corresponds to IEEE-754 `nextDown`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", "id": 9856, "inner": { - "assoc_const": { - "type": { - "primitive": "f64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f16" + } + } } }, - "links": {}, - "name": "INFINITY", + "links": { + "Self::INFINITY": 9845, + "Self::MAX": 9837, + "Self::MIN": 9838, + "Self::NEG_INFINITY": 9846 + }, + "name": "next_down", "span": { "begin": [ - 497, + 587, 5 ], "end": [ - 497, - 28 + 587, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9857": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Negative infinity (−∞).", + "docs": "Takes the reciprocal (inverse) of a number, `1/x`.\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): extendhfsf2, truncsfhf2, __gnu_h2f_ieee, __gnu_f2h_ieee missing for many platforms\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 2.0_f16;\nlet abs_difference = (x.recip() - (1.0 / x)).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9857, "inner": { - "assoc_const": { - "type": { - "primitive": "f64" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f16" + } + } } }, "links": {}, - "name": "NEG_INFINITY", + "name": "recip", "span": { "begin": [ - 500, + 623, 5 ], "end": [ - 500, - 32 + 623, + 37 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9858": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if this value is NaN.\n\n```\nlet nan = f64::NAN;\nlet f = 7.0_f64;\n\nassert!(nan.is_nan());\nassert!(!f.is_nan());\n```", + "docs": "Converts radians to degrees.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): extendhfsf2, truncsfhf2, __gnu_h2f_ieee, __gnu_f2h_ieee missing for many platforms\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet angle = std::f16::consts::PI;\n\nlet abs_difference = (angle.to_degrees() - 180.0).abs();\nassert!(abs_difference <= 0.5);\n# }\n```", "id": 9858, "inner": { "function": { @@ -789834,43 +812645,40 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f16" } } } }, "links": {}, - "name": "is_nan", + "name": "to_degrees", "span": { "begin": [ - 531, + 650, 5 ], "end": [ - 531, - 38 + 650, + 42 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9859": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if this value is positive infinity or negative infinity, and\n`false` otherwise.\n\n```\nlet f = 7.0f64;\nlet inf = f64::INFINITY;\nlet neg_inf = f64::NEG_INFINITY;\nlet nan = f64::NAN;\n\nassert!(!f.is_infinite());\nassert!(!nan.is_infinite());\n\nassert!(inf.is_infinite());\nassert!(neg_inf.is_infinite());\n```", + "docs": "Converts degrees to radians.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): extendhfsf2, truncsfhf2, __gnu_h2f_ieee, __gnu_f2h_ieee missing for many platforms\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet angle = 180.0f16;\n\nlet abs_difference = (angle.to_radians() - std::f16::consts::PI).abs();\n\nassert!(abs_difference <= 0.01);\n# }\n```", "id": 9859, "inner": { "function": { @@ -789896,23 +812704,23 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f16" } } } }, "links": {}, - "name": "is_infinite", + "name": "to_radians", "span": { "begin": [ - 554, + 681, 5 ], "end": [ - 554, - 43 + 681, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, @@ -789991,7 +812799,7 @@ ], "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -790014,20 +812822,20 @@ "9860": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if this number is neither infinite nor NaN.\n\n```\nlet f = 7.0f64;\nlet inf: f64 = f64::INFINITY;\nlet neg_inf: f64 = f64::NEG_INFINITY;\nlet nan: f64 = f64::NAN;\n\nassert!(f.is_finite());\n\nassert!(!nan.is_finite());\nassert!(!inf.is_finite());\nassert!(!neg_inf.is_finite());\n```", + "docs": "Returns the maximum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for maxNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids maxNum's problems with associativity.\nThis also matches the behavior of libm’s fmax. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\n#![feature(f16)]\n# #[cfg(target_arch = \"aarch64\")] { // FIXME(f16_F128): rust-lang/rust#123885\n\nlet x = 1.0f16;\nlet y = 2.0f16;\n\nassert_eq!(x.max(y), y);\n# }\n```", "id": 9860, "inner": { "function": { @@ -790049,47 +812857,53 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f16" } } } }, "links": {}, - "name": "is_finite", + "name": "max", "span": { "begin": [ - 579, + 710, 5 ], "end": [ - 579, - 41 + 710, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9861": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 53, patch: 0})}, feature: \"is_subnormal\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if the number is [subnormal].\n\n```\nlet min = f64::MIN_POSITIVE; // 2.2250738585072014e-308_f64\nlet max = f64::MAX;\nlet lower_than_min = 1.0e-308_f64;\nlet zero = 0.0_f64;\n\nassert!(!min.is_subnormal());\nassert!(!max.is_subnormal());\n\nassert!(!zero.is_subnormal());\nassert!(!f64::NAN.is_subnormal());\nassert!(!f64::INFINITY.is_subnormal());\n// Values between `0` and `min` are Subnormal.\nassert!(lower_than_min.is_subnormal());\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", + "docs": "Returns the minimum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for minNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids minNum's problems with associativity.\nThis also matches the behavior of libm’s fmin. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\n#![feature(f16)]\n# #[cfg(target_arch = \"aarch64\")] { // FIXME(f16_F128): rust-lang/rust#123885\n\nlet x = 1.0f16;\nlet y = 2.0f16;\n\nassert_eq!(x.min(y), x);\n# }\n```", "id": 9861, "inner": { "function": { @@ -790111,47 +812925,50 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f16" } } } }, "links": {}, - "name": "is_subnormal", + "name": "min", "span": { "begin": [ - 607, + 736, 5 ], "end": [ - 607, - 44 + 736, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9862": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if the number is neither zero, infinite,\n[subnormal], or NaN.\n\n```\nlet min = f64::MIN_POSITIVE; // 2.2250738585072014e-308f64\nlet max = f64::MAX;\nlet lower_than_min = 1.0e-308_f64;\nlet zero = 0.0f64;\n\nassert!(min.is_normal());\nassert!(max.is_normal());\n\nassert!(!zero.is_normal());\nassert!(!f64::NAN.is_normal());\nassert!(!f64::INFINITY.is_normal());\n// Values between `0` and `min` are Subnormal.\nassert!(!lower_than_min.is_normal());\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", + "docs": "Returns the maximum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f16::max`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(f16)]\n#![feature(float_minimum_maximum)]\n# #[cfg(target_arch = \"aarch64\")] { // FIXME(f16_F128): rust-lang/rust#123885\n\nlet x = 1.0f16;\nlet y = 2.0f16;\n\nassert_eq!(x.maximum(y), y);\nassert!(x.maximum(f16::NAN).is_nan());\n# }\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the greater\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", "id": 9862, "inner": { "function": { @@ -790173,42 +812990,53 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f16" } } } }, - "links": {}, - "name": "is_normal", + "links": { + "`f16::max`": 9860, + "f32#nan-bit-patterns": 265 + }, + "name": "maximum", "span": { "begin": [ - 634, + 768, 5 ], "end": [ - 634, - 41 + 768, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9863": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "must_use": { + "reason": "this returns the result of the comparison, without modifying either input" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the floating point category of the number. If only one property\nis going to be tested, it is generally faster to use the specific\npredicate instead.\n\n```\nuse std::num::FpCategory;\n\nlet num = 12.4_f64;\nlet inf = f64::INFINITY;\n\nassert_eq!(num.classify(), FpCategory::Normal);\nassert_eq!(inf.classify(), FpCategory::Infinite);\n```", + "docs": "Returns the minimum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f16::min`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(f16)]\n#![feature(float_minimum_maximum)]\n# #[cfg(target_arch = \"aarch64\")] { // FIXME(f16_F128): rust-lang/rust#123885\n\nlet x = 1.0f16;\nlet y = 2.0f16;\n\nassert_eq!(x.minimum(y), x);\nassert!(x.minimum(f16::NAN).is_nan());\n# }\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the lesser\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", "id": 9863, "inner": { "function": { @@ -790230,51 +813058,54 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 4780, - "path": "FpCategory" - } + "primitive": "f16" } } } }, - "links": {}, - "name": "classify", + "links": { + "`f16::min`": 9861, + "f32#nan-bit-patterns": 265 + }, + "name": "minimum", "span": { "begin": [ - 653, + 800, 5 ], "end": [ - 653, - 46 + 800, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9864": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" + "other": "#[doc(alias = \"average\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` has a positive sign, including `+0.0`, NaNs with\npositive sign bit and positive infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_positive` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == 1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\nlet f = 7.0_f64;\nlet g = -7.0_f64;\n\nassert!(f.is_sign_positive());\nassert!(!g.is_sign_positive());\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\nThis returns NaN when *either* argument is NaN or if a combination of\n+inf and -inf is provided as arguments.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(target_arch = \"aarch64\")] { // FIXME(f16_F128): rust-lang/rust#123885\n\nassert_eq!(1f16.midpoint(4.0), 2.5);\nassert_eq!((-5.5f16).midpoint(8.0), 1.25);\n# }\n```", "id": 9864, "inner": { "function": { @@ -790296,124 +813127,107 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f16" } } } }, - "links": { - "f32#nan-bit-patterns": 267 - }, - "name": "is_sign_positive", + "links": {}, + "name": "midpoint", "span": { "begin": [ - 690, + 823, 5 ], "end": [ - 690, - 48 + 823, + 51 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9865": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` has a negative sign, including `-0.0`, NaNs with\nnegative sign bit and negative infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_negative` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == -1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\nlet f = 7.0_f64;\nlet g = -7.0_f64;\n\nassert!(!f.is_sign_negative());\nassert!(g.is_sign_negative());\n```", + "docs": "Rounds toward zero and converts to any primitive integer type,\nassuming that the value is finite and fits in that type.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = 4.6_f16;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, 4);\n\nlet value = -128.9_f16;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, i8::MIN);\n# }\n```\n\n# Safety\n\nThe value must:\n\n* Not be `NaN`\n* Not be infinite\n* Be representable in the return type `Int`, after truncating off its fractional part", "id": 9865, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Int" + } ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } - } - }, - "links": { - "f32#nan-bit-patterns": 267 - }, - "name": "is_sign_negative", - "span": { - "begin": [ - 724, - 5 - ], - "end": [ - 724, - 48 - ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" - }, - "visibility": "public" - }, - "9866": { - "attrs": [ - { - "other": "#[doc(alias = \"nextUp\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Returns the least number greater than `self`.\n\nLet `TINY` be the smallest representable positive `f64`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`NEG_INFINITY`], this returns [`MIN`];\n - if `self` is `-TINY`, this returns -0.0;\n - if `self` is -0.0 or +0.0, this returns `TINY`;\n - if `self` is [`MAX`] or [`INFINITY`], this returns [`INFINITY`];\n - otherwise the unique least value greater than `self` is returned.\n\nThe identity `x.next_up() == -(-x).next_down()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_up().next_down()` also holds.\n\n```rust\n// f64::EPSILON is the difference between 1.0 and the next number up.\nassert_eq!(1.0f64.next_up(), 1.0 + f64::EPSILON);\n// But not for most numbers.\nassert!(0.1f64.next_up() < 0.1 + f64::EPSILON);\nassert_eq!(9007199254740992f64.next_up(), 9007199254740994.0);\n```\n\nThis operation corresponds to IEEE-754 `nextUp`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", - "id": 9866, - "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Int" + } + } + ], + "constraints": [] + } + }, + "id": 9866, + "path": "FloatToInt" + } + } + } + ], + "generic_params": [], + "type": { + "primitive": "f16" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": false + "is_const": false, + "is_unsafe": true }, "sig": { "inputs": [ @@ -790426,46 +813240,40 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "generic": "Int" } } } }, - "links": { - "Self::INFINITY": 9856, - "Self::MAX": 9848, - "Self::MIN": 9849, - "Self::NEG_INFINITY": 9857 - }, - "name": "next_up", + "links": {}, + "name": "to_int_unchecked", "span": { "begin": [ - 770, + 865, 5 ], "end": [ - 770, - 39 + 867, + 31 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9867": { "attrs": [ { - "other": "#[doc(alias = \"nextDown\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\"}}]" + "must_use": { + "reason": "this returns the result of the operation, without modifying the original" + } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the greatest number less than `self`.\n\nLet `TINY` be the smallest representable positive `f64`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`INFINITY`], this returns [`MAX`];\n - if `self` is `TINY`, this returns 0.0;\n - if `self` is -0.0 or +0.0, this returns `-TINY`;\n - if `self` is [`MIN`] or [`NEG_INFINITY`], this returns [`NEG_INFINITY`];\n - otherwise the unique greatest value less than `self` is returned.\n\nThe identity `x.next_down() == -(-x).next_up()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_down().next_up()` also holds.\n\n```rust\nlet x = 1.0f64;\n// Clamp value into range [0, 1).\nlet clamped = x.clamp(0.0, 1.0f64.next_down());\nassert!(clamped < 1.0);\nassert_eq!(clamped.next_up(), 1.0);\n```\n\nThis operation corresponds to IEEE-754 `nextDown`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", + "docs": "Raw transmutation to `u16`.\n\nThis is currently identical to `transmute::(self)` on all platforms.\n\nSee [`from_bits`](#method.from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\n# // FIXME(f16_f128): enable this once const casting works\n# // assert_ne!((1f16).to_bits(), 1f16 as u128); // to_bits() is not casting!\nassert_eq!((12.5f16).to_bits(), 0x4a40);\n# }\n```", "id": 9867, "inner": { "function": { @@ -790491,48 +813299,40 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "u16" } } } }, - "links": { - "Self::INFINITY": 9856, - "Self::MAX": 9848, - "Self::MIN": 9849, - "Self::NEG_INFINITY": 9857 - }, - "name": "next_down", + "links": {}, + "name": "to_bits", "span": { "begin": [ - 821, + 897, 5 ], "end": [ - 821, - 41 + 897, + 38 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9868": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Takes the reciprocal (inverse) of a number, `1/x`.\n\n```\nlet x = 2.0_f64;\nlet abs_difference = (x.recip() - (1.0 / x)).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Raw transmutation from `u16`.\n\nThis is currently identical to `transmute::(v)` on all platforms.\nIt turns out this is incredibly portable, for two reasons:\n\n* Floats and Ints have the same endianness on all supported platforms.\n* IEEE 754 very precisely specifies the bit layout of floats.\n\nHowever there is one caveat: prior to the 2008 version of IEEE 754, how\nto interpret the NaN signaling bit wasn't actually specified. Most platforms\n(notably x86 and ARM) picked the interpretation that was ultimately\nstandardized in 2008, but some didn't (notably MIPS). As a result, all\nsignaling NaNs on MIPS are quiet NaNs on x86, and vice-versa.\n\nRather than trying to preserve signaling-ness cross-platform, this\nimplementation favors preserving the exact bits. This means that\nany payloads encoded in NaNs will be preserved even if the result of\nthis method is sent over the network from an x86 machine to a MIPS one.\n\nIf the results of this method are only manipulated by the same\narchitecture that produced them, then there is no portability concern.\n\nIf the input isn't NaN, then there is no portability concern.\n\nIf you don't care about signalingness (very likely), then there is no\nportability concern.\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet v = f16::from_bits(0x4a40);\nassert_eq!(v, 12.5);\n# }\n```", "id": 9868, "inner": { "function": { @@ -790550,41 +813350,38 @@ "sig": { "inputs": [ [ - "self", + "v", { - "generic": "Self" + "primitive": "u16" } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "recip", + "name": "from_bits", "span": { "begin": [ - 853, + 944, 5 ], "end": [ - 853, - 36 + 944, + 43 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9869": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -790594,7 +813391,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts radians to degrees.\n\n```\nlet angle = std::f64::consts::PI;\n\nlet abs_difference = (angle.to_degrees() - 180.0).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Returns the memory representation of this floating point number as a byte array in\nbig-endian (network) byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet bytes = 12.5f16.to_be_bytes();\nassert_eq!(bytes, [0x4a, 0x40]);\n# }\n```", "id": 9869, "inner": { "function": { @@ -790620,23 +813417,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "to_degrees", + "links": { + "Self::from_bits": 9868 + }, + "name": "to_be_bytes", "span": { "begin": [ - 871, + 970, 5 ], "end": [ - 871, - 41 + 970, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, @@ -790690,10 +813494,7 @@ "9870": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -790703,7 +813504,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Converts degrees to radians.\n\n```\nlet angle = 180.0_f64;\n\nlet abs_difference = (angle.to_radians() - std::f64::consts::PI).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "docs": "Returns the memory representation of this floating point number as a byte array in\nlittle-endian byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet bytes = 12.5f16.to_le_bytes();\nassert_eq!(bytes, [0x40, 0x4a]);\n# }\n```", "id": 9870, "inner": { "function": { @@ -790729,43 +813530,47 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "to_radians", + "links": { + "Self::from_bits": 9868 + }, + "name": "to_le_bytes", "span": { "begin": [ - 892, + 994, 5 ], "end": [ - 892, - 41 + 994, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9871": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the maximum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for maxNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids maxNum's problems with associativity.\nThis also matches the behavior of libm’s fmax. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\nlet x = 1.0_f64;\nlet y = 2.0_f64;\n\nassert_eq!(x.max(y), y);\n```", + "docs": "Returns the memory representation of this floating point number as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate, instead.\n\n[`to_be_bytes`]: f16::to_be_bytes\n[`to_le_bytes`]: f16::to_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet bytes = 12.5f16.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x4a, 0x40]\n } else {\n [0x40, 0x4a]\n }\n);\n# }\n```", "id": 9871, "inner": { "function": { @@ -790787,53 +813592,53 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } } } }, - "links": {}, - "name": "max", + "links": { + "Self::from_bits": 9868, + "f16::to_be_bytes": 9869, + "f16::to_le_bytes": 9870 + }, + "name": "to_ne_bytes", "span": { "begin": [ - 915, + 1031, 5 ], "end": [ - 915, + 1031, 46 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9872": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for minNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids minNum's problems with associativity.\nThis also matches the behavior of libm’s fmin. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\nlet x = 1.0_f64;\nlet y = 2.0_f64;\n\nassert_eq!(x.min(y), x);\n```", + "docs": "Creates a floating point value from its representation as a byte array in big endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f16::from_be_bytes([0x4a, 0x40]);\nassert_eq!(value, 12.5);\n# }\n```", "id": 9872, "inner": { "function": { @@ -790851,54 +813656,55 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "other", + "bytes", { - "primitive": "f64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, - "links": {}, - "name": "min", + "links": { + "Self::from_bits": 9868 + }, + "name": "from_be_bytes", "span": { "begin": [ - 937, + 1053, 5 ], "end": [ - 937, - 46 + 1053, + 55 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9873": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 91079, is_soft: false}, feature: \"float_minimum_maximum\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the maximum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f64::max`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(float_minimum_maximum)]\nlet x = 1.0_f64;\nlet y = 2.0_f64;\n\nassert_eq!(x.maximum(y), y);\nassert!(x.maximum(f64::NAN).is_nan());\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the greater\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", + "docs": "Creates a floating point value from its representation as a byte array in little endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f16::from_le_bytes([0x40, 0x4a]);\nassert_eq!(value, 12.5);\n# }\n```", "id": 9873, "inner": { "function": { @@ -790916,57 +813722,55 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "other", + "bytes", { - "primitive": "f64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": { - "`f64::max`": 9871, - "f32#nan-bit-patterns": 267 + "Self::from_bits": 9868 }, - "name": "maximum", + "name": "from_le_bytes", "span": { "begin": [ - 964, + 1075, 5 ], "end": [ - 964, - 50 + 1075, + 55 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9874": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 91079, is_soft: false}, feature: \"float_minimum_maximum\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f64::min`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(float_minimum_maximum)]\nlet x = 1.0_f64;\nlet y = 2.0_f64;\n\nassert_eq!(x.minimum(y), x);\nassert!(x.minimum(f64::NAN).is_nan());\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the lesser\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", + "docs": "Creates a floating point value from its representation as a byte array in native endian.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: f16::from_be_bytes\n[`from_le_bytes`]: f16::from_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f16::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x4a, 0x40]\n} else {\n [0x40, 0x4a]\n});\nassert_eq!(value, 12.5);\n# }\n```", "id": 9874, "inner": { "function": { @@ -790984,58 +813788,60 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "other", + "bytes", { - "primitive": "f64" + "array": { + "len": "2", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": { - "`f64::min`": 9872, - "f32#nan-bit-patterns": 267 + "Self::from_bits": 9868, + "f16::from_be_bytes": 9872, + "f16::from_le_bytes": 9873 }, - "name": "minimum", + "name": "from_ne_bytes", "span": { "begin": [ - 991, + 1108, 5 ], "end": [ - 991, - 50 + 1108, + 55 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9875": { "attrs": [ { - "other": "#[doc(alias = \"average\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143800, is_soft: false}, feature: \"const_cmp\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\nThis returns NaN when *either* argument is NaN or if a combination of\n+inf and -inf is provided as arguments.\n\n# Examples\n\n```\nassert_eq!(1f64.midpoint(4.0), 2.5);\nassert_eq!((-5.5f64).midpoint(8.0), 1.25);\n```", + "docs": "Returns the ordering between `self` and `other`.\n\nUnlike the standard partial comparison between floating point numbers,\nthis comparison always produces an ordering in accordance to\nthe `totalOrder` predicate as defined in the IEEE 754 (2008 revision)\nfloating point standard. The values are ordered in the following sequence:\n\n- negative quiet NaN\n- negative signaling NaN\n- negative infinity\n- negative numbers\n- negative subnormal numbers\n- negative zero\n- positive zero\n- positive subnormal numbers\n- positive numbers\n- positive infinity\n- positive signaling NaN\n- positive quiet NaN.\n\nThe ordering established by this function does not always agree with the\n[`PartialOrd`] and [`PartialEq`] implementations of `f16`. For example,\nthey consider negative and positive zero equal, while `total_cmp`\ndoesn't.\n\nThe interpretation of the signaling NaN bit follows the definition in\nthe IEEE 754 standard, which may not match the interpretation by some of\nthe older, non-conformant (e.g. MIPS) hardware implementations.\n\n# Example\n\n```\n#![feature(f16)]\n# // FIXME(f16_f128): extendhfsf2, truncsfhf2, __gnu_h2f_ieee, __gnu_f2h_ieee missing for many platforms\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nstruct GoodBoy {\n name: &'static str,\n weight: f16,\n}\n\nlet mut bois = vec![\n GoodBoy { name: \"Pucci\", weight: 0.1 },\n GoodBoy { name: \"Woofer\", weight: 99.0 },\n GoodBoy { name: \"Yapper\", weight: 10.0 },\n GoodBoy { name: \"Chonk\", weight: f16::INFINITY },\n GoodBoy { name: \"Abs. Unit\", weight: f16::NAN },\n GoodBoy { name: \"Floaty\", weight: -5.0 },\n];\n\nbois.sort_by(|a, b| a.weight.total_cmp(&b.weight));\n\n// `f16::NAN` could be positive or negative, which will affect the sort order.\nif f16::NAN.is_sign_negative() {\n bois.into_iter().map(|b| b.weight)\n .zip([f16::NAN, -5.0, 0.1, 10.0, 99.0, f16::INFINITY].iter())\n .for_each(|(a, b)| assert_eq!(a.to_bits(), b.to_bits()))\n} else {\n bois.into_iter().map(|b| b.weight)\n .zip([-5.0, 0.1, 10.0, 99.0, f16::INFINITY, f16::NAN].iter())\n .for_each(|(a, b)| assert_eq!(a.to_bits(), b.to_bits()))\n}\n# }\n```", "id": 9875, "inner": { "function": { @@ -791055,109 +813861,84 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ], [ "other", { - "primitive": "f64" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "f16" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "resolved_path": { + "args": null, + "id": 2007, + "path": "Ordering" + } } } } }, - "links": {}, - "name": "midpoint", + "links": { + "`PartialEq`": 121, + "`PartialOrd`": 125 + }, + "name": "total_cmp", "span": { "begin": [ - 1010, + 1180, 5 ], "end": [ - 1010, - 51 + 1180, + 72 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9876": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"float_approx_unchecked_to\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Rounds toward zero and converts to any primitive integer type,\nassuming that the value is finite and fits in that type.\n\n```\nlet value = 4.6_f64;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, 4);\n\nlet value = -128.9_f64;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, i8::MIN);\n```\n\n# Safety\n\nThe value must:\n\n* Not be `NaN`\n* Not be infinite\n* Be representable in the return type `Int`, after truncating off its fractional part", + "docs": "Restrict a value to a certain interval unless it is NaN.\n\nReturns `max` if `self` is greater than `max`, and `min` if `self` is\nless than `min`. Otherwise this returns `self`.\n\nNote that this function returns NaN if the initial value was NaN as\nwell.\n\n# Panics\n\nPanics if `min > max`, `min` is NaN, or `max` is NaN.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nassert!((-3.0f16).clamp(-2.0, 1.0) == -2.0);\nassert!((0.0f16).clamp(-2.0, 1.0) == 0.0);\nassert!((2.0f16).clamp(-2.0, 1.0) == 1.0);\nassert!((f16::NAN).clamp(-2.0, 1.0).is_nan());\n# }\n```", "id": 9876, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Int" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Int" - } - } - ], - "constraints": [] - } - }, - "id": 9645, - "path": "FloatToInt" - } - } - } - ], - "generic_params": [], - "type": { - "primitive": "f64" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, - "is_unsafe": true + "is_const": true, + "is_unsafe": false }, "sig": { "inputs": [ @@ -791166,47 +813947,59 @@ { "generic": "Self" } + ], + [ + "min", + { + "primitive": "f16" + } + ], + [ + "max", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "generic": "Int" + "primitive": "f16" } } } }, "links": {}, - "name": "to_int_unchecked", + "name": "clamp", "span": { "begin": [ - 1057, + 1239, 5 ], "end": [ - 1059, - 31 + 1239, + 60 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9877": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"float_bits_conv\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Raw transmutation from `u64`.\n\nThis is currently identical to `transmute::(v)` on all platforms.\nIt turns out this is incredibly portable, for two reasons:\n\n* Floats and Ints have the same endianness on all supported platforms.\n* IEEE 754 very precisely specifies the bit layout of floats.\n\nHowever there is one caveat: prior to the 2008 version of IEEE 754, how\nto interpret the NaN signaling bit wasn't actually specified. Most platforms\n(notably x86 and ARM) picked the interpretation that was ultimately\nstandardized in 2008, but some didn't (notably MIPS). As a result, all\nsignaling NaNs on MIPS are quiet NaNs on x86, and vice-versa.\n\nRather than trying to preserve signaling-ness cross-platform, this\nimplementation favors preserving the exact bits. This means that\nany payloads encoded in NaNs will be preserved even if the result of\nthis method is sent over the network from an x86 machine to a MIPS one.\n\nIf the results of this method are only manipulated by the same\narchitecture that produced them, then there is no portability concern.\n\nIf the input isn't NaN, then there is no portability concern.\n\nIf you don't care about signaling-ness (very likely), then there is no\nportability concern.\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n# Examples\n\n```\nlet v = f64::from_bits(0x4029000000000000);\nassert_eq!(v, 12.5);\n```", + "docs": "Computes the absolute value of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 3.5_f16;\nlet y = -3.5_f16;\n\nassert_eq!(x.abs(), x);\nassert_eq!(y.abs(), -y);\n\nassert!(f16::NAN.abs().is_nan());\n# }\n```", "id": 9877, "inner": { "function": { @@ -791224,51 +814017,51 @@ "sig": { "inputs": [ [ - "v", + "self", { - "primitive": "u64" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "from_bits", + "name": "abs", "span": { "begin": [ - 1134, + 1280, 5 ], "end": [ - 1134, - 43 + 1280, + 35 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9878": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"float_bits_conv\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Raw transmutation to `u64`.\n\nThis is currently identical to `transmute::(self)` on all platforms.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n# Examples\n\n```\nassert!((1f64).to_bits() != 1f64 as u64); // to_bits() is not casting!\nassert_eq!((12.5f64).to_bits(), 0x4029000000000000);\n```", + "docs": "Returns a number that represents the sign of `self`.\n\n- `1.0` if the number is positive, `+0.0` or `INFINITY`\n- `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`\n- NaN if the number is NaN\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 3.5_f16;\n\nassert_eq!(f.signum(), 1.0);\nassert_eq!(f16::NEG_INFINITY.signum(), -1.0);\n\nassert!(f16::NAN.signum().is_nan());\n# }\n```", "id": 9878, "inner": { "function": { @@ -791294,45 +814087,43 @@ ], "is_c_variadic": false, "output": { - "primitive": "u64" + "primitive": "f16" } } } }, - "links": { - "Self::from_bits": 9877 - }, - "name": "to_bits", + "links": {}, + "name": "signum", "span": { "begin": [ - 1088, + 1309, 5 ], "end": [ - 1088, - 38 + 1309, + 37 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9879": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nbig-endian (network) byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f64.to_be_bytes();\nassert_eq!(bytes, [0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);\n```", + "docs": "Returns a number composed of the magnitude of `self` and the sign of\n`sign`.\n\nEqual to `self` if the sign of `self` and `sign` are the same, otherwise equal to `-self`.\nIf `self` is a NaN, then a NaN with the same payload as `self` and the sign bit of `sign` is\nreturned.\n\nIf `sign` is a NaN, then this operation will still carry over its sign into the result. Note\nthat IEEE 754 doesn't assign any meaning to the sign bit in case of a NaN, and as Rust\ndoesn't guarantee that the bit pattern of NaNs are conserved over arithmetic operations, the\nresult of `copysign` with `sign` being a NaN might produce an unexpected or non-portable\nresult. See the [specification of NaN bit patterns](primitive@f32#nan-bit-patterns) for more\ninfo.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 3.5_f16;\n\nassert_eq!(f.copysign(0.42), 3.5_f16);\nassert_eq!(f.copysign(-0.42), -3.5_f16);\nassert_eq!((-f).copysign(0.42), 3.5_f16);\nassert_eq!((-f).copysign(-0.42), -3.5_f16);\n\nassert!(f16::NAN.copysign(1.0).is_nan());\n# }\n```", "id": 9879, "inner": { "function": { @@ -791354,34 +814145,35 @@ { "generic": "Self" } + ], + [ + "sign", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "primitive": "f16" } } } }, "links": { - "Self::from_bits": 9877 + "primitive@f32#nan-bit-patterns": 265 }, - "name": "to_be_bytes", + "name": "copysign", "span": { "begin": [ - 1157, + 1347, 5 ], "end": [ - 1157, - 46 + 1347, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, @@ -791458,7 +814250,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 109, + "id": 107, "path": "Default" } } @@ -791481,20 +814273,20 @@ "9880": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nlittle-endian byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f64.to_le_bytes();\nassert_eq!(bytes, [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x40]);\n```", + "docs": "Float addition that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 9880, "inner": { "function": { @@ -791516,54 +814308,55 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "primitive": "f16" } } } }, "links": { - "Self::from_bits": 9877 + "primitive@f32#algebraic-operators": 265 }, - "name": "to_le_bytes", + "name": "algebraic_add", "span": { "begin": [ - 1178, + 1358, 5 ], "end": [ - 1178, - 46 + 1358, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9881": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate, instead.\n\n[`to_be_bytes`]: f64::to_be_bytes\n[`to_le_bytes`]: f64::to_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f64.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n } else {\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x40]\n }\n);\n```", + "docs": "Float subtraction that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 9881, "inner": { "function": { @@ -791585,56 +814378,55 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "f16" + } ] ], "is_c_variadic": false, "output": { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "primitive": "f16" } } } }, "links": { - "Self::from_bits": 9877, - "f64::to_be_bytes": 9879, - "f64::to_le_bytes": 9880 + "primitive@f32#algebraic-operators": 265 }, - "name": "to_ne_bytes", + "name": "algebraic_sub", "span": { "begin": [ - 1212, + 1369, 5 ], "end": [ - 1212, - 46 + 1369, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9882": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in big endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f64::from_be_bytes([0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);\nassert_eq!(value, 12.5);\n```", + "docs": "Float multiplication that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 9882, "inner": { "function": { @@ -791652,58 +814444,59 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "f16" } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": { - "Self::from_bits": 9877 + "primitive@f32#algebraic-operators": 265 }, - "name": "from_be_bytes", + "name": "algebraic_mul", "span": { "begin": [ - 1231, + 1380, 5 ], "end": [ - 1231, - 55 + 1380, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9883": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in little endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f64::from_le_bytes([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x40]);\nassert_eq!(value, 12.5);\n```", + "docs": "Float division that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 9883, "inner": { "function": { @@ -791721,58 +814514,59 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "f16" } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": { - "Self::from_bits": 9877 + "primitive@f32#algebraic-operators": 265 }, - "name": "from_le_bytes", + "name": "algebraic_div", "span": { "begin": [ - 1250, + 1391, 5 ], "end": [ - 1250, - 55 + 1391, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9884": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in native endian.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: f64::from_be_bytes\n[`from_le_bytes`]: f64::from_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f64::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n} else {\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x40]\n});\nassert_eq!(value, 12.5);\n```", + "docs": "Float remainder that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", "id": 9884, "inner": { "function": { @@ -791790,134 +814584,140 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "8", - "type": { - "primitive": "u8" - } - } + "generic": "Self" + } + ], + [ + "rhs", + { + "primitive": "f16" } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": { - "Self::from_bits": 9877, - "f64::from_be_bytes": 9882, - "f64::from_le_bytes": 9883 + "primitive@f32#algebraic-operators": 265 }, - "name": "from_ne_bytes", + "name": "algebraic_rem", "span": { "begin": [ - 1280, + 1402, 5 ], "end": [ - 1280, - 55 + 1402, + 54 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9885": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 62, patch: 0})}, feature: \"total_cmp\"}}]" - }, - { - "must_use": { - "reason": null - } - } - ], + "attrs": [], "crate_id": 1, "deprecation": null, - "docs": "Returns the ordering between `self` and `other`.\n\nUnlike the standard partial comparison between floating point numbers,\nthis comparison always produces an ordering in accordance to\nthe `totalOrder` predicate as defined in the IEEE 754 (2008 revision)\nfloating point standard. The values are ordered in the following sequence:\n\n- negative quiet NaN\n- negative signaling NaN\n- negative infinity\n- negative numbers\n- negative subnormal numbers\n- negative zero\n- positive zero\n- positive subnormal numbers\n- positive numbers\n- positive infinity\n- positive signaling NaN\n- positive quiet NaN.\n\nThe ordering established by this function does not always agree with the\n[`PartialOrd`] and [`PartialEq`] implementations of `f64`. For example,\nthey consider negative and positive zero equal, while `total_cmp`\ndoesn't.\n\nThe interpretation of the signaling NaN bit follows the definition in\nthe IEEE 754 standard, which may not match the interpretation by some of\nthe older, non-conformant (e.g. MIPS) hardware implementations.\n\n# Example\n\n```\nstruct GoodBoy {\n name: String,\n weight: f64,\n}\n\nlet mut bois = vec![\n GoodBoy { name: \"Pucci\".to_owned(), weight: 0.1 },\n GoodBoy { name: \"Woofer\".to_owned(), weight: 99.0 },\n GoodBoy { name: \"Yapper\".to_owned(), weight: 10.0 },\n GoodBoy { name: \"Chonk\".to_owned(), weight: f64::INFINITY },\n GoodBoy { name: \"Abs. Unit\".to_owned(), weight: f64::NAN },\n GoodBoy { name: \"Floaty\".to_owned(), weight: -5.0 },\n];\n\nbois.sort_by(|a, b| a.weight.total_cmp(&b.weight));\n\n// `f64::NAN` could be positive or negative, which will affect the sort order.\nif f64::NAN.is_sign_negative() {\n assert!(bois.into_iter().map(|b| b.weight)\n .zip([f64::NAN, -5.0, 0.1, 10.0, 99.0, f64::INFINITY].iter())\n .all(|(a, b)| a.to_bits() == b.to_bits()))\n} else {\n assert!(bois.into_iter().map(|b| b.weight)\n .zip([-5.0, 0.1, 10.0, 99.0, f64::INFINITY, f64::NAN].iter())\n .all(|(a, b)| a.to_bits() == b.to_bits()))\n}\n```", + "docs": null, "id": 9885, "inner": { - "function": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f16" + }, "generics": { "params": [], "where_predicates": [] }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": false, - "is_unsafe": false - }, - "sig": { - "inputs": [ - [ - "self", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } - } - ], - [ - "other", - { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "f64" - } - } - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "Ordering" - } - } - } + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 9833, + 9834, + 9835, + 9836, + 9838, + 9840, + 9837, + 9839, + 9841, + 9842, + 9843, + 9844, + 9845, + 9846, + 9847, + 9848, + 9849, + 9850, + 9851, + 9852, + 9853, + 9854, + 9855, + 9856, + 9857, + 9858, + 9859, + 9860, + 9861, + 9862, + 9863, + 9864, + 9865, + 9867, + 9868, + 9869, + 9870, + 9871, + 9872, + 9873, + 9874, + 9875, + 9876, + 9877, + 9878, + 9879, + 9880, + 9881, + 9882, + 9883, + 9884 + ], + "provided_trait_methods": [], + "trait": null } }, - "links": { - "`PartialEq`": 123, - "`PartialOrd`": 127 - }, - "name": "total_cmp", + "links": {}, + "name": null, "span": { "begin": [ - 1346, - 5 + 137, + 1 ], "end": [ - 1346, - 66 + 137, + 9 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, - "visibility": "public" + "visibility": "default" }, "9886": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"clamp\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -791927,7 +814727,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Restrict a value to a certain interval unless it is NaN.\n\nReturns `max` if `self` is greater than `max`, and `min` if `self` is\nless than `min`. Otherwise this returns `self`.\n\nNote that this function returns NaN if the initial value was NaN as\nwell.\n\n# Panics\n\nPanics if `min > max`, `min` is NaN, or `max` is NaN.\n\n# Examples\n\n```\nassert!((-3.0f64).clamp(-2.0, 1.0) == -2.0);\nassert!((0.0f64).clamp(-2.0, 1.0) == 0.0);\nassert!((2.0f64).clamp(-2.0, 1.0) == 1.0);\nassert!((f64::NAN).clamp(-2.0, 1.0).is_nan());\n```", + "docs": "Returns the largest integer less than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 3.7_f16;\nlet g = 3.0_f16;\nlet h = -3.7_f16;\n\nassert_eq!(f.floor(), 3.0);\nassert_eq!(g.floor(), 3.0);\nassert_eq!(h.floor(), -4.0);\n# }\n```", "id": 9886, "inner": { "function": { @@ -791949,49 +814749,40 @@ { "generic": "Self" } - ], - [ - "min", - { - "primitive": "f64" - } - ], - [ - "max", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "clamp", + "name": "floor", "span": { "begin": [ - 1402, + 1437, 5 ], "end": [ - 1402, - 60 + 1437, + 36 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9887": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" + "other": "#[doc(alias = \"ceiling\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -792001,7 +814792,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet x = 3.5_f64;\nlet y = -3.5_f64;\n\nassert_eq!(x.abs(), x);\nassert_eq!(y.abs(), -y);\n\nassert!(f64::NAN.abs().is_nan());\n```", + "docs": "Returns the smallest integer greater than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 3.01_f16;\nlet g = 4.0_f16;\n\nassert_eq!(f.ceil(), 4.0);\nassert_eq!(g.ceil(), 4.0);\n# }\n```", "id": 9887, "inner": { "function": { @@ -792027,33 +814818,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "abs", + "name": "ceil", "span": { "begin": [ - 1439, + 1465, 5 ], "end": [ - 1439, - 34 + 1465, + 35 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9888": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -792063,7 +814854,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number that represents the sign of `self`.\n\n- `1.0` if the number is positive, `+0.0` or `INFINITY`\n- `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`\n- NaN if the number is NaN\n\n# Examples\n\n```\nlet f = 3.5_f64;\n\nassert_eq!(f.signum(), 1.0);\nassert_eq!(f64::NEG_INFINITY.signum(), -1.0);\n\nassert!(f64::NAN.signum().is_nan());\n```", + "docs": "Returns the nearest integer to `self`. If a value is half-way between two\nintegers, round away from `0.0`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 3.3_f16;\nlet g = -3.3_f16;\nlet h = -3.7_f16;\nlet i = 3.5_f16;\nlet j = 4.5_f16;\n\nassert_eq!(f.round(), 3.0);\nassert_eq!(g.round(), -3.0);\nassert_eq!(h.round(), -4.0);\nassert_eq!(i.round(), 4.0);\nassert_eq!(j.round(), 5.0);\n# }\n```", "id": 9888, "inner": { "function": { @@ -792089,33 +814880,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, "links": {}, - "name": "signum", + "name": "round", "span": { "begin": [ - 1464, + 1499, 5 ], "end": [ - 1464, - 37 + 1499, + 36 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9889": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 35, patch: 0})}, feature: \"copysign\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -792125,7 +814916,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number composed of the magnitude of `self` and the sign of\n`sign`.\n\nEqual to `self` if the sign of `self` and `sign` are the same, otherwise equal to `-self`.\nIf `self` is a NaN, then a NaN with the same payload as `self` and the sign bit of `sign` is\nreturned.\n\nIf `sign` is a NaN, then this operation will still carry over its sign into the result. Note\nthat IEEE 754 doesn't assign any meaning to the sign bit in case of a NaN, and as Rust\ndoesn't guarantee that the bit pattern of NaNs are conserved over arithmetic operations, the\nresult of `copysign` with `sign` being a NaN might produce an unexpected or non-portable\nresult. See the [specification of NaN bit patterns](primitive@f32#nan-bit-patterns) for more\ninfo.\n\n# Examples\n\n```\nlet f = 3.5_f64;\n\nassert_eq!(f.copysign(0.42), 3.5_f64);\nassert_eq!(f.copysign(-0.42), -3.5_f64);\nassert_eq!((-f).copysign(0.42), 3.5_f64);\nassert_eq!((-f).copysign(-0.42), -3.5_f64);\n\nassert!(f64::NAN.copysign(1.0).is_nan());\n```", + "docs": "Returns the nearest integer to a number. Rounds half-way cases to the number\nwith an even least significant digit.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 3.3_f16;\nlet g = -3.3_f16;\nlet h = 3.5_f16;\nlet i = 4.5_f16;\n\nassert_eq!(f.round_ties_even(), 3.0);\nassert_eq!(g.round_ties_even(), -3.0);\nassert_eq!(h.round_ties_even(), 4.0);\nassert_eq!(i.round_ties_even(), 4.0);\n# }\n```", "id": 9889, "inner": { "function": { @@ -792147,35 +814938,27 @@ { "generic": "Self" } - ], - [ - "sign", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, - "links": { - "primitive@f32#nan-bit-patterns": 267 - }, - "name": "copysign", + "links": {}, + "name": "round_ties_even", "span": { "begin": [ - 1498, + 1531, 5 ], "end": [ - 1498, - 50 + 1531, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, @@ -792230,7 +815013,7 @@ "constraints": [] } }, - "id": 343, + "id": 341, "path": "fmt::Formatter" } } @@ -792242,7 +815025,7 @@ "output": { "resolved_path": { "args": null, - "id": 344, + "id": 342, "path": "fmt::Result" } } @@ -792267,10 +815050,13 @@ "9890": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[doc(alias = \"truncate\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -792280,7 +815066,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Float addition that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "docs": "Returns the integer part of `self`.\nThis means that non-integer numbers are always truncated towards zero.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet f = 3.7_f16;\nlet g = 3.0_f16;\nlet h = -3.7_f16;\n\nassert_eq!(f.trunc(), 3.0);\nassert_eq!(g.trunc(), 3.0);\nassert_eq!(h.trunc(), -3.0);\n# }\n```", "id": 9890, "inner": { "function": { @@ -792302,45 +815088,37 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_add", + "links": {}, + "name": "trunc", "span": { "begin": [ - 1510, + 1562, 5 ], "end": [ - 1510, - 54 + 1562, + 36 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9891": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -792350,7 +815128,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Float subtraction that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "docs": "Returns the fractional part of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 3.6_f16;\nlet y = -3.6_f16;\nlet abs_difference_x = (x.fract() - 0.6).abs();\nlet abs_difference_y = (y.fract() - (-0.6)).abs();\n\nassert!(abs_difference_x <= f16::EPSILON);\nassert!(abs_difference_y <= f16::EPSILON);\n# }\n```", "id": 9891, "inner": { "function": { @@ -792372,45 +815150,40 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "f64" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_sub", + "links": {}, + "name": "fract", "span": { "begin": [ - 1521, + 1591, 5 ], "end": [ - 1521, - 54 + 1591, + 36 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9892": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[doc(alias = \"fmaf16\", alias = \"fusedMultiplyAdd\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 146724, is_soft: false}, feature: \"const_mul_add\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -792420,7 +815193,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Float multiplication that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "docs": "Fused multiply-add. Computes `(self * a) + b` with only one rounding\nerror, yielding a more accurate result than an unfused multiply-add.\n\nUsing `mul_add` *may* be more performant than an unfused multiply-add if\nthe target architecture has a dedicated `fma` CPU instruction. However,\nthis is not always true, and will be heavily dependant on designing\nalgorithms with specific target hardware in mind.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as\n`fusedMultiplyAdd` and guaranteed not to change.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet m = 10.0_f16;\nlet x = 4.0_f16;\nlet b = 60.0_f16;\n\nassert_eq!(m.mul_add(x, b), 100.0);\nassert_eq!(m * x + b, 100.0);\n\nlet one_plus_eps = 1.0_f16 + f16::EPSILON;\nlet one_minus_eps = 1.0_f16 - f16::EPSILON;\nlet minus_one = -1.0_f16;\n\n// The exact result (1 + eps) * (1 - eps) = 1 - eps * eps.\nassert_eq!(one_plus_eps.mul_add(one_minus_eps, minus_one), -f16::EPSILON * f16::EPSILON);\n// Different rounding with the non-fused multiply and add.\nassert_eq!(one_plus_eps * one_minus_eps + minus_one, 0.0);\n# }\n```", "id": 9892, "inner": { "function": { @@ -792444,43 +815217,44 @@ } ], [ - "rhs", + "a", { - "primitive": "f64" + "primitive": "f16" + } + ], + [ + "b", + { + "primitive": "f16" } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_mul", + "links": {}, + "name": "mul_add", "span": { "begin": [ - 1532, + 1639, 5 ], "end": [ - 1532, + 1639, 54 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9893": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -792490,7 +815264,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Float division that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "docs": "Calculates Euclidean division, the matching method for `rem_euclid`.\n\nThis computes the integer `n` such that\n`self = n * rhs + self.rem_euclid(rhs)`.\nIn other words, the result is `self / rhs` rounded to the integer `n`\nsuch that `self >= n * rhs`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet a: f16 = 7.0;\nlet b = 4.0;\nassert_eq!(a.div_euclid(b), 1.0); // 7.0 > 4.0 * 1.0\nassert_eq!((-a).div_euclid(b), -2.0); // -7.0 >= 4.0 * -2.0\nassert_eq!(a.div_euclid(-b), -1.0); // 7.0 >= -4.0 * -1.0\nassert_eq!((-a).div_euclid(-b), 2.0); // -7.0 >= -4.0 * 2.0\n# }\n```", "id": 9893, "inner": { "function": { @@ -792502,7 +815276,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -792516,41 +815290,39 @@ [ "rhs", { - "primitive": "f64" + "primitive": "f16" } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_div", + "links": {}, + "name": "div_euclid", "span": { "begin": [ - 1543, + 1674, 5 ], "end": [ - 1543, - 54 + 1674, + 45 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9894": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" }, { "must_use": { @@ -792560,7 +815332,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Float remainder that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nIn particular, the return value `r` satisfies `0.0 <= r < rhs.abs()` in\nmost cases. However, due to a floating point round-off error it can\nresult in `r == rhs.abs()`, violating the mathematical definition, if\n`self` is much smaller than `rhs.abs()` in magnitude and `self < 0.0`.\nThis result is not an element of the function's codomain, but it is the\nclosest floating point number in the real numbers and thus fulfills the\nproperty `self == self.div_euclid(rhs) * rhs + self.rem_euclid(rhs)`\napproximately.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet a: f16 = 7.0;\nlet b = 4.0;\nassert_eq!(a.rem_euclid(b), 3.0);\nassert_eq!((-a).rem_euclid(b), 1.0);\nassert_eq!(a.rem_euclid(-b), 3.0);\nassert_eq!((-a).rem_euclid(-b), 1.0);\n// limitation due to round-off error\nassert!((-f16::EPSILON).rem_euclid(3.0) != 0.0);\n# }\n```", "id": 9894, "inner": { "function": { @@ -792572,7 +815344,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -792586,194 +815358,225 @@ [ "rhs", { - "primitive": "f64" + "primitive": "f16" } ] ], "is_c_variadic": false, "output": { - "primitive": "f64" + "primitive": "f16" } } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_rem", + "links": {}, + "name": "rem_euclid", "span": { "begin": [ - 1554, + 1720, 5 ], "end": [ - 1554, - 54 + 1720, + 45 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, "visibility": "public" }, "9895": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Raises a number to an integer power.\n\nUsing this function is generally faster than using `powf`.\nIt might have a different sequence of rounding operations than `powf`,\nso the results are not guaranteed to agree.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 2.0_f16;\nlet abs_difference = (x.powi(2) - (x * x)).abs();\nassert!(abs_difference <= f16::EPSILON);\n\nassert_eq!(f16::powi(f16::NAN, 0), 1.0);\n# }\n```", "id": 9895, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f64" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9844, - 9845, - 9846, - 9847, - 9849, - 9851, - 9848, - 9850, - 9852, - 9853, - 9854, - 9855, - 9856, - 9857, - 9858, - 9859, - 9860, - 9861, - 9862, - 9863, - 9864, - 9865, - 9866, - 9867, - 9868, - 9869, - 9870, - 9871, - 9872, - 9873, - 9874, - 9875, - 9876, - 9878, - 9877, - 9879, - 9880, - 9881, - 9882, - 9883, - 9884, - 9885, - 9886, - 9887, - 9888, - 9889, - 9890, - 9891, - 9892, - 9893, - 9894 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ], + [ + "n", + { + "primitive": "i32" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f16" + } + } } }, "links": {}, - "name": null, + "name": "powi", "span": { "begin": [ - 387, - 1 + 1754, + 5 ], "end": [ - 387, - 9 + 1754, + 37 ], - "filename": "checkouts/rust/library/core/src/num/f64.rs" + "filename": "checkouts/rust/library/core/src/num/f16.rs" }, - "visibility": "default" + "visibility": "public" }, "9896": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[doc(alias = \"squareRoot\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns the square root of a number.\n\nReturns NaN if `self` is a negative number other than `-0.0`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as `squareRoot`\nand guaranteed not to change.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet positive = 4.0_f16;\nlet negative = -4.0_f16;\nlet negative_zero = -0.0_f16;\n\nassert_eq!(positive.sqrt(), 2.0);\nassert!(negative.sqrt().is_nan());\nassert!(negative_zero.sqrt() == negative_zero);\n# }\n```", "id": 9896, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f64" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 1, - "path": "Send" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f16" + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "sqrt", + "span": { + "begin": [ + 1789, + 5 + ], + "end": [ + 1789, + 29 + ], + "filename": "checkouts/rust/library/core/src/num/f16.rs" + }, + "visibility": "public" }, "9897": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f16\"}}]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + } + ], + "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Returns the cube root of a number.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `cbrtf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f16)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f16_math)] {\n\nlet x = 8.0f16;\n\n// x^(1/3) - 2 == 0\nlet abs_difference = (x.cbrt() - 2.0).abs();\n\nassert!(abs_difference <= f16::EPSILON);\n# }\n```", "id": 9897, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f64" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": true, - "is_unsafe": false, - "items": [], - "provided_trait_methods": [], - "trait": { - "args": null, - "id": 5, - "path": "Sync" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f16" + } } } }, "links": {}, - "name": null, - "span": null, - "visibility": "default" + "name": "cbrt", + "span": { + "begin": [ + 1822, + 5 + ], + "end": [ + 1822, + 29 + ], + "filename": "checkouts/rust/library/core/src/num/f16.rs" + }, + "visibility": "public" }, "9898": { - "attrs": [], - "crate_id": 0, + "attrs": [ + { + "other": "#[doc(test(attr(feature(cfg_target_has_reliable_f16_f128),\nexpect(internal_features))))]" + } + ], + "crate_id": 1, "deprecation": null, "docs": null, "id": 9898, @@ -792781,27 +815584,46 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [], "where_predicates": [] }, "is_negative": false, - "is_synthetic": true, + "is_synthetic": false, "is_unsafe": false, - "items": [], + "items": [ + 9886, + 9887, + 9888, + 9889, + 9890, + 9891, + 9892, + 9893, + 9894, + 9895, + 9896, + 9897 + ], "provided_trait_methods": [], - "trait": { - "args": null, - "id": 315, - "path": "Freeze" - } + "trait": null } }, "links": {}, "name": null, - "span": null, + "span": { + "begin": [ + 1411, + 1 + ], + "end": [ + 1411, + 9 + ], + "filename": "checkouts/rust/library/core/src/num/f16.rs" + }, "visibility": "default" }, "9899": { @@ -792814,7 +815636,7 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [], @@ -792827,8 +815649,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 7, - "path": "Unpin" + "id": 1, + "path": "Send" } } }, @@ -792898,7 +815720,7 @@ "modifier": "none", "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -792922,7 +815744,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 346, + "id": 344, "path": "Debug" } } @@ -792952,7 +815774,7 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [], @@ -792965,8 +815787,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 318, - "path": "UnwindSafe" + "id": 5, + "path": "Sync" } } }, @@ -792985,7 +815807,7 @@ "impl": { "blanket_impl": null, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [], @@ -792998,8 +815820,8 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 320, - "path": "RefUnwindSafe" + "id": 313, + "path": "Freeze" } } }, @@ -793014,13 +815836,112 @@ "deprecation": null, "docs": null, "id": 9902, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f16" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 7, + "path": "Unpin" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9903": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9903, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f16" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 316, + "path": "UnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9904": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9904, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f16" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": true, + "is_unsafe": false, + "items": [], + "provided_trait_methods": [], + "trait": { + "args": null, + "id": 318, + "path": "RefUnwindSafe" + } + } + }, + "links": {}, + "name": null, + "span": null, + "visibility": "default" + }, + "9905": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9905, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [ @@ -793063,7 +815984,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 321 + 319 ], "provided_trait_methods": [], "trait": { @@ -793079,7 +816000,7 @@ "constraints": [] } }, - "id": 323, + "id": 321, "path": "Borrow" } } @@ -793088,30 +816009,30 @@ "name": null, "span": { "begin": [ - 209, + 212, 1 ], "end": [ - 209, - 32 + 212, + 38 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9903": { + "9906": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9903, + "id": 9906, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [ @@ -793154,7 +816075,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 324 + 322 ], "provided_trait_methods": [], "trait": { @@ -793170,7 +816091,7 @@ "constraints": [] } }, - "id": 326, + "id": 324, "path": "BorrowMut" } } @@ -793179,30 +816100,30 @@ "name": null, "span": { "begin": [ - 217, + 221, 1 ], "end": [ - 217, - 35 + 221, + 41 ], "filename": "checkouts/rust/library/core/src/borrow.rs" }, "visibility": "default" }, - "9904": { + "9907": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9904, + "id": 9907, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [ @@ -793227,7 +816148,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -793259,30 +816180,30 @@ "name": null, "span": { "begin": [ - 516, + 515, 1 ], "end": [ - 516, + 515, 42 ], "filename": "checkouts/rust/library/core/src/clone.rs" }, "visibility": "default" }, - "9905": { + "9908": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9905, + "id": 9908, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [ @@ -793346,7 +816267,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 327 + 325 ], "provided_trait_methods": [], "trait": { @@ -793371,30 +816292,30 @@ "name": null, "span": { "begin": [ - 773, + 767, 1 ], "end": [ - 775, + 769, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9906": { + "9909": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9906, + "id": 9909, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [ @@ -793415,7 +816336,7 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 329 + 327 ], "provided_trait_methods": [], "trait": { @@ -793440,30 +816361,69 @@ "name": null, "span": { "begin": [ - 791, + 785, 1 ], "end": [ - 791, + 785, 28 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9907": { + "991": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9907, + "id": 991, + "inner": { + "assoc_type": { + "bounds": [], + "generics": { + "params": [], + "where_predicates": [] + }, + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + } + }, + "links": {}, + "name": "Item", + "span": { + "begin": [ + 2095, + 5 + ], + "end": [ + 2095, + 23 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "9910": { + "attrs": [], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9910, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [ @@ -793509,7 +816469,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -793527,8 +816487,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 331, - 332 + 329, + 330 ], "provided_trait_methods": [], "trait": { @@ -793544,7 +816504,7 @@ "constraints": [] } }, - "id": 200, + "id": 198, "path": "TryInto" } } @@ -793553,30 +816513,30 @@ "name": null, "span": { "begin": [ - 817, + 811, 1 ], "end": [ - 819, + 813, 27 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9908": { + "9911": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9908, + "id": 9911, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [ @@ -793640,8 +816600,8 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 334, - 336 + 332, + 334 ], "provided_trait_methods": [], "trait": { @@ -793657,7 +816617,7 @@ "constraints": [] } }, - "id": 199, + "id": 197, "path": "TryFrom" } } @@ -793666,30 +816626,30 @@ "name": null, "span": { "begin": [ - 833, + 827, 1 ], "end": [ - 835, + 829, 24 ], "filename": "checkouts/rust/library/core/src/convert/mod.rs" }, "visibility": "default" }, - "9909": { + "9912": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9909, + "id": 9912, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [ @@ -793735,12 +816695,12 @@ "is_synthetic": false, "is_unsafe": false, "items": [ - 338 + 336 ], "provided_trait_methods": [], "trait": { "args": null, - "id": 341, + "id": 339, "path": "Any" } } @@ -793760,58 +816720,19 @@ }, "visibility": "default" }, - "991": { - "attrs": [], - "crate_id": 0, - "deprecation": null, - "docs": null, - "id": 991, - "inner": { - "assoc_type": { - "bounds": [], - "generics": { - "params": [], - "where_predicates": [] - }, - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "V" - } - } - } - } - }, - "links": {}, - "name": "Item", - "span": { - "begin": [ - 2100, - 5 - ], - "end": [ - 2100, - 23 - ], - "filename": "std/src/collections/hash/map.rs" - }, - "visibility": "default" - }, - "9910": { + "9913": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9910, + "id": 9913, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [ @@ -793836,7 +816757,7 @@ "modifier": "none", "trait": { "args": null, - "id": 99, + "id": 97, "path": "Clone" } } @@ -793863,7 +816784,7 @@ ], "trait": { "args": null, - "id": 157, + "id": 155, "path": "ToOwned" } } @@ -793872,30 +816793,30 @@ "name": null, "span": { "begin": [ - 82, + 85, 1 ], "end": [ - 84, + 87, 14 ], "filename": "checkouts/rust/library/alloc/src/borrow.rs" }, "visibility": "default" }, - "9911": { + "9914": { "attrs": [], "crate_id": 0, "deprecation": null, "docs": null, - "id": 9911, + "id": 9914, "inner": { "impl": { "blanket_impl": { "generic": "T" }, "for": { - "primitive": "f64" + "primitive": "f16" }, "generics": { "params": [ @@ -793954,7 +816875,7 @@ "provided_trait_methods": [], "trait": { "args": null, - "id": 163, + "id": 161, "path": "ToString" } } @@ -793963,21 +816884,24 @@ "name": null, "span": { "begin": [ - 2806, + 2866, 1 ], "end": [ - 2806, + 2866, 46 ], "filename": "checkouts/rust/library/alloc/src/string.rs" }, "visibility": "default" }, - "9912": { + "9915": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -793993,8 +816917,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Raises a number to a floating point power.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 2.0_f128;\nlet abs_difference = (x.powf(2.0) - (x * x)).abs();\nassert!(abs_difference <= f128::EPSILON);\n\nassert_eq!(f128::powf(1.0, f128::NAN), 1.0);\nassert_eq!(f128::powf(f128::NAN, 0.0), 1.0);\n# }\n```", - "id": 9912, + "docs": "Returns the largest integer less than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.7_f32;\nlet g = 3.0_f32;\nlet h = -3.7_f32;\n\nassert_eq!(f.floor(), 3.0);\nassert_eq!(g.floor(), 3.0);\nassert_eq!(h.floor(), -4.0);\n```", + "id": 9915, "inner": { "function": { "generics": { @@ -794005,7 +816929,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -794015,40 +816939,108 @@ { "generic": "Self" } - ], + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f32" + } + } + } + }, + "links": {}, + "name": "floor", + "span": { + "begin": [ + 49, + 5 + ], + "end": [ + 51, + 6 + ], + "filename": "std/src/num/f32.rs" + }, + "visibility": "public" + }, + "9916": { + "attrs": [ + { + "other": "#[doc(alias = \"ceiling\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, + { + "other": "#[attr = AllowIncoherentImpl]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the smallest integer greater than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.01_f32;\nlet g = 4.0_f32;\n\nassert_eq!(f.ceil(), 4.0);\nassert_eq!(g.ceil(), 4.0);\n```", + "id": 9916, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ [ - "n", + "self", { - "primitive": "f128" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "powf", + "name": "ceil", "span": { "begin": [ - 46, + 72, 5 ], "end": [ - 48, + 74, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9913": { + "9917": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794064,8 +817056,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `e^(self)`, (the exponential function).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet one = 1.0f128;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9913, + "docs": "Returns the nearest integer to `self`. If a value is half-way between two\nintegers, round away from `0.0`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.3_f32;\nlet g = -3.3_f32;\nlet h = -3.7_f32;\nlet i = 3.5_f32;\nlet j = 4.5_f32;\n\nassert_eq!(f.round(), 3.0);\nassert_eq!(g.round(), -3.0);\nassert_eq!(h.round(), -4.0);\nassert_eq!(i.round(), 4.0);\nassert_eq!(j.round(), 5.0);\n```", + "id": 9917, "inner": { "function": { "generics": { @@ -794076,7 +817068,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -794090,30 +817082,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "exp", + "name": "round", "span": { "begin": [ - 78, + 101, 5 ], "end": [ - 80, + 103, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9914": { + "9918": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 77, patch: 0})}, feature: \"round_ties_even\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794129,8 +817124,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `2^(self)`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 2.0f128;\n\n// 2^2 - 4 == 0\nlet abs_difference = (f.exp2() - 4.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9914, + "docs": "Returns the nearest integer to a number. Rounds half-way cases to the number\nwith an even least significant digit.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.3_f32;\nlet g = -3.3_f32;\nlet h = 3.5_f32;\nlet i = 4.5_f32;\n\nassert_eq!(f.round_ties_even(), 3.0);\nassert_eq!(g.round_ties_even(), -3.0);\nassert_eq!(h.round_ties_even(), 4.0);\nassert_eq!(i.round_ties_even(), 4.0);\n```", + "id": 9918, "inner": { "function": { "generics": { @@ -794141,7 +817136,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -794155,30 +817150,36 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "exp2", + "name": "round_ties_even", "span": { "begin": [ - 108, + 128, 5 ], "end": [ - 110, + 130, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9915": { + "9919": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[doc(alias = \"truncate\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794194,8 +817195,62 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the natural logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet one = 1.0f128;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nassert_eq!(0_f128.ln(), f128::NEG_INFINITY);\nassert!((-42_f128).ln().is_nan());\n# }\n```", - "id": 9915, + "docs": "Returns the integer part of `self`.\nThis means that non-integer numbers are always truncated towards zero.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet f = 3.7_f32;\nlet g = 3.0_f32;\nlet h = -3.7_f32;\n\nassert_eq!(f.trunc(), 3.0);\nassert_eq!(g.trunc(), 3.0);\nassert_eq!(h.trunc(), -3.0);\n```", + "id": 9919, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f32" + } + } + } + }, + "links": {}, + "name": "trunc", + "span": { + "begin": [ + 154, + 5 + ], + "end": [ + 156, + 6 + ], + "filename": "std/src/num/f32.rs" + }, + "visibility": "public" + }, + "992": { + "attrs": [ + { + "other": "#[attr = Inline(Hint)]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 992, "inner": { "function": { "generics": { @@ -794209,6 +817264,101 @@ "is_const": false, "is_unsafe": false }, + "sig": { + "inputs": [ + [ + "self", + { + "borrowed_ref": { + "is_mutable": true, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "borrowed_ref": { + "is_mutable": false, + "lifetime": "'a", + "type": { + "generic": "V" + } + } + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + } + } + }, + "links": {}, + "name": "next", + "span": { + "begin": [ + 2098, + 5 + ], + "end": [ + 2100, + 6 + ], + "filename": "std/src/collections/hash/map.rs" + }, + "visibility": "default" + }, + "9920": { + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 90, patch: 0})}, feature: \"const_float_round_methods\",\npromotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, + { + "other": "#[attr = AllowIncoherentImpl]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns the fractional part of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet x = 3.6_f32;\nlet y = -3.6_f32;\nlet abs_difference_x = (x.fract() - 0.6).abs();\nlet abs_difference_y = (y.fract() - (-0.6)).abs();\n\nassert!(abs_difference_x <= f32::EPSILON);\nassert!(abs_difference_y <= f32::EPSILON);\n```", + "id": 9920, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, "sig": { "inputs": [ [ @@ -794220,30 +817370,36 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "ln", + "name": "fract", "span": { "begin": [ - 153, + 178, 5 ], "end": [ - 155, + 180, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9916": { + "9921": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[doc(alias = \"fmaf\", alias = \"fusedMultiplyAdd\")]" + }, + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 146724, is_soft: false}, feature: \"const_mul_add\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794259,8 +817415,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the logarithm of the number with respect to an arbitrary base.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\nThe result might not be correctly rounded owing to implementation details;\n`self.log2()` can produce more accurate results for base 2, and\n`self.log10()` can produce more accurate results for base 10.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet five = 5.0f128;\n\n// log5(5) - 1 == 0\nlet abs_difference = (five.log(5.0) - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nassert_eq!(0_f128.log(10.0), f128::NEG_INFINITY);\nassert!((-42_f128).log(10.0).is_nan());\n# }\n```", - "id": 9916, + "docs": "Fused multiply-add. Computes `(self * a) + b` with only one rounding\nerror, yielding a more accurate result than an unfused multiply-add.\n\nUsing `mul_add` *may* be more performant than an unfused multiply-add if\nthe target architecture has a dedicated `fma` CPU instruction. However,\nthis is not always true, and will be heavily dependant on designing\nalgorithms with specific target hardware in mind.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as\n`fusedMultiplyAdd` and guaranteed not to change.\n\n# Examples\n\n```\nlet m = 10.0_f32;\nlet x = 4.0_f32;\nlet b = 60.0_f32;\n\nassert_eq!(m.mul_add(x, b), 100.0);\nassert_eq!(m * x + b, 100.0);\n\nlet one_plus_eps = 1.0_f32 + f32::EPSILON;\nlet one_minus_eps = 1.0_f32 - f32::EPSILON;\nlet minus_one = -1.0_f32;\n\n// The exact result (1 + eps) * (1 - eps) = 1 - eps * eps.\nassert_eq!(one_plus_eps.mul_add(one_minus_eps, minus_one), -f32::EPSILON * f32::EPSILON);\n// Different rounding with the non-fused multiply and add.\nassert_eq!(one_plus_eps * one_minus_eps + minus_one, 0.0);\n```", + "id": 9921, "inner": { "function": { "generics": { @@ -794271,7 +817427,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -794283,38 +817439,44 @@ } ], [ - "base", + "a", { - "primitive": "f128" + "primitive": "f32" + } + ], + [ + "b", + { + "primitive": "f32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "log", + "name": "mul_add", "span": { "begin": [ - 200, + 221, 5 ], "end": [ - 202, + 223, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9917": { + "9922": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794330,8 +817492,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the base 2 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet two = 2.0f128;\n\n// log2(2) - 1 == 0\nlet abs_difference = (two.log2() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nassert_eq!(0_f128.log2(), f128::NEG_INFINITY);\nassert!((-42_f128).log2().is_nan());\n# }\n```", - "id": 9917, + "docs": "Calculates Euclidean division, the matching method for `rem_euclid`.\n\nThis computes the integer `n` such that\n`self = n * rhs + self.rem_euclid(rhs)`.\nIn other words, the result is `self / rhs` rounded to the integer `n`\nsuch that `self >= n * rhs`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\nlet a: f32 = 7.0;\nlet b = 4.0;\nassert_eq!(a.div_euclid(b), 1.0); // 7.0 > 4.0 * 1.0\nassert_eq!((-a).div_euclid(b), -2.0); // -7.0 >= 4.0 * -2.0\nassert_eq!(a.div_euclid(-b), -1.0); // 7.0 >= -4.0 * -1.0\nassert_eq!((-a).div_euclid(-b), 2.0); // -7.0 >= -4.0 * 2.0\n```", + "id": 9922, "inner": { "function": { "generics": { @@ -794352,34 +817514,43 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "f32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "log2", + "name": "div_euclid", "span": { "begin": [ - 243, + 251, 5 ], "end": [ - 245, + 253, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9918": { + "9923": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[doc(alias = \"modulo\", alias = \"mod\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 38, patch: 0})}, feature: \"euclidean_division\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794395,8 +817566,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the base 10 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet ten = 10.0f128;\n\n// log10(10) - 1 == 0\nlet abs_difference = (ten.log10() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```\n\nNon-positive values:\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nassert_eq!(0_f128.log10(), f128::NEG_INFINITY);\nassert!((-42_f128).log10().is_nan());\n# }\n```", - "id": 9918, + "docs": "Calculates the least nonnegative remainder of `self (mod rhs)`.\n\nIn particular, the return value `r` satisfies `0.0 <= r < rhs.abs()` in\nmost cases. However, due to a floating point round-off error it can\nresult in `r == rhs.abs()`, violating the mathematical definition, if\n`self` is much smaller than `rhs.abs()` in magnitude and `self < 0.0`.\nThis result is not an element of the function's codomain, but it is the\nclosest floating point number in the real numbers and thus fulfills the\nproperty `self == self.div_euclid(rhs) * rhs + self.rem_euclid(rhs)`\napproximately.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result.\n\n# Examples\n\n```\nlet a: f32 = 7.0;\nlet b = 4.0;\nassert_eq!(a.rem_euclid(b), 3.0);\nassert_eq!((-a).rem_euclid(b), 1.0);\nassert_eq!(a.rem_euclid(-b), 3.0);\nassert_eq!((-a).rem_euclid(-b), 1.0);\n// limitation due to round-off error\nassert!((-f32::EPSILON).rem_euclid(3.0) != 0.0);\n```", + "id": 9923, "inner": { "function": { "generics": { @@ -794417,34 +817588,40 @@ { "generic": "Self" } + ], + [ + "rhs", + { + "primitive": "f32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "log10", + "name": "rem_euclid", "span": { "begin": [ - 286, + 288, 5 ], "end": [ - 288, + 290, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9919": { + "9924": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794460,8 +817637,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns the cube root of a number.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n\nThis function currently corresponds to the `cbrtf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 8.0f128;\n\n// x^(1/3) - 2 == 0\nlet abs_difference = (x.cbrt() - 2.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9919, + "docs": "Raises a number to an integer power.\n\nUsing this function is generally faster than using `powf`.\nIt might have a different sequence of rounding operations than `powf`,\nso the results are not guaranteed to agree.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0_f32;\nlet abs_difference = (x.powi(2) - (x * x)).abs();\nassert!(abs_difference <= 1e-5);\n\nassert_eq!(f32::powi(f32::NAN, 0), 1.0);\n```", + "id": 9924, "inner": { "function": { "generics": { @@ -794482,40 +817659,57 @@ { "generic": "Self" } + ], + [ + "n", + { + "primitive": "i32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "cbrt", + "name": "powi", "span": { "begin": [ - 320, + 316, 5 ], "end": [ - 322, + 318, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "992": { + "9925": { "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, { "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 992, + "docs": "Raises a number to a floating point power.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0_f32;\nlet abs_difference = (x.powf(2.0) - (x * x)).abs();\nassert!(abs_difference <= 1e-5);\n\nassert_eq!(f32::powf(1.0, f32::NAN), 1.0);\nassert_eq!(f32::powf(f32::NAN, 0.0), 1.0);\n```", + "id": 9925, "inner": { "function": { "generics": { @@ -794534,63 +817728,45 @@ [ "self", { - "borrowed_ref": { - "is_mutable": true, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" + } + ], + [ + "n", + { + "primitive": "f32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "borrowed_ref": { - "is_mutable": false, - "lifetime": "'a", - "type": { - "generic": "V" - } - } - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } + "primitive": "f32" } } } }, "links": {}, - "name": "next", + "name": "powf", "span": { "begin": [ - 2103, + 341, 5 ], "end": [ - 2105, + 343, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/num/f32.rs" }, - "visibility": "default" + "visibility": "public" }, - "9920": { + "9926": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[doc(alias = \"squareRoot\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794606,8 +817782,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Compute the distance between the origin and a point (`x`, `y`) on the\nEuclidean plane. Equivalently, compute the length of the hypotenuse of a\nright-angle triangle with other sides having length `x.abs()` and\n`y.abs()`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n\nThis function currently corresponds to the `hypotf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 2.0f128;\nlet y = 3.0f128;\n\n// sqrt(x^2 + y^2)\nlet abs_difference = (x.hypot(y) - (x.powi(2) + y.powi(2)).sqrt()).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9920, + "docs": "Returns the square root of a number.\n\nReturns NaN if `self` is a negative number other than `-0.0`.\n\n# Precision\n\nThe result of this operation is guaranteed to be the rounded\ninfinite-precision result. It is specified by IEEE 754 as `squareRoot`\nand guaranteed not to change.\n\n# Examples\n\n```\nlet positive = 4.0_f32;\nlet negative = -4.0_f32;\nlet negative_zero = -0.0_f32;\n\nassert_eq!(positive.sqrt(), 2.0);\nassert!(negative.sqrt().is_nan());\nassert!(negative_zero.sqrt() == negative_zero);\n```", + "id": 9926, "inner": { "function": { "generics": { @@ -794628,40 +817804,99 @@ { "generic": "Self" } - ], + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f32" + } + } + } + }, + "links": {}, + "name": "sqrt", + "span": { + "begin": [ + 371, + 5 + ], + "end": [ + 373, + 6 + ], + "filename": "std/src/num/f32.rs" + }, + "visibility": "public" + }, + "9927": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, + { + "other": "#[attr = AllowIncoherentImpl]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": "Returns `e^(self)`, (the exponential function).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet one = 1.0f32;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9927, + "inner": { + "function": { + "generics": { + "params": [], + "where_predicates": [] + }, + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ [ - "other", + "self", { - "primitive": "f128" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "hypot", + "name": "exp", "span": { "begin": [ - 358, + 398, 5 ], "end": [ - 360, + 400, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9921": { + "9928": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794677,8 +817912,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the sine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = std::f128::consts::FRAC_PI_2;\n\nlet abs_difference = (x.sin() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9921, + "docs": "Returns `2^(self)`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet f = 2.0f32;\n\n// 2^2 - 4 == 0\nlet abs_difference = (f.exp2() - 4.0).abs();\n\nassert!(abs_difference <= 1e-5);\n```", + "id": 9928, "inner": { "function": { "generics": { @@ -794703,30 +817938,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "sin", + "name": "exp2", "span": { "begin": [ - 387, + 423, 5 ], "end": [ - 389, + 425, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9922": { + "9929": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794742,8 +817977,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the cosine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 2.0 * std::f128::consts::PI;\n\nlet abs_difference = (x.cos() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9922, + "docs": "Returns the natural logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet one = 1.0f32;\n// e^1\nlet e = one.exp();\n\n// ln(e) - 1 == 0\nlet abs_difference = (e.ln() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f32.ln(), f32::NEG_INFINITY);\nassert!((-42_f32).ln().is_nan());\n```", + "id": 9929, "inner": { "function": { "generics": { @@ -794768,47 +818003,36 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "cos", + "name": "ln", "span": { "begin": [ - 416, + 458, 5 ], "end": [ - 418, + 460, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9923": { + "993": { "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - }, { "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], "crate_id": 0, "deprecation": null, - "docs": "Computes the tangent of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tanf128` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = std::f128::consts::FRAC_PI_4;\nlet abs_difference = (x.tan() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9923, + "docs": null, + "id": 993, "inner": { "function": { "generics": { @@ -794827,39 +818051,64 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "tuple": [ + { + "primitive": "usize" + }, + { + "resolved_path": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "primitive": "usize" + } + } + ], + "constraints": [] + } + }, + "id": 51, + "path": "Option" + } + } + ] } } } }, "links": {}, - "name": "tan", + "name": "size_hint", "span": { "begin": [ - 447, + 2102, 5 ], "end": [ - 449, + 2104, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9924": { + "9930": { "attrs": [ { - "other": "#[doc(alias = \"arcsin\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794875,8 +818124,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the arcsine of a number. Return value is in radians in\nthe range [-pi/2, pi/2] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `asinf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = std::f128::consts::FRAC_PI_2;\n\n// asin(sin(pi/2))\nlet abs_difference = (f.sin().asin() - std::f128::consts::FRAC_PI_2).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9924, + "docs": "Returns the logarithm of the number with respect to an arbitrary base.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\nThe result might not be correctly rounded owing to implementation details;\n`self.log2()` can produce more accurate results for base 2, and\n`self.log10()` can produce more accurate results for base 10.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet five = 5.0f32;\n\n// log5(5) - 1 == 0\nlet abs_difference = (five.log(5.0) - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f32.log(10.0), f32::NEG_INFINITY);\nassert!((-42_f32).log(10.0).is_nan());\n```", + "id": 9930, "inner": { "function": { "generics": { @@ -794897,37 +818146,40 @@ { "generic": "Self" } + ], + [ + "base", + { + "primitive": "f32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "asin", + "name": "log", "span": { "begin": [ - 483, + 495, 5 ], "end": [ - 485, + 497, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9925": { + "9931": { "attrs": [ { - "other": "#[doc(alias = \"arccos\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -794943,8 +818195,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the arccosine of a number. Return value is in radians in\nthe range [0, pi] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `acosf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = std::f128::consts::FRAC_PI_4;\n\n// acos(cos(pi/4))\nlet abs_difference = (f.cos().acos() - std::f128::consts::FRAC_PI_4).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9925, + "docs": "Returns the base 2 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet two = 2.0f32;\n\n// log2(2) - 1 == 0\nlet abs_difference = (two.log2() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f32.log2(), f32::NEG_INFINITY);\nassert!((-42_f32).log2().is_nan());\n```", + "id": 9931, "inner": { "function": { "generics": { @@ -794969,33 +818221,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "acos", + "name": "log2", "span": { "begin": [ - 519, + 528, 5 ], "end": [ - 521, + 530, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9926": { + "9932": { "attrs": [ { - "other": "#[doc(alias = \"arctan\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795011,8 +818260,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Computes the arctangent of a number. Return value is in radians in the\nrange [-pi/2, pi/2];\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `atanf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 1.0f128;\n\n// atan(tan(1))\nlet abs_difference = (f.tan().atan() - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9926, + "docs": "Returns the base 10 logarithm of the number.\n\nThis returns NaN when the number is negative, and negative infinity when number is zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet ten = 10.0f32;\n\n// log10(10) - 1 == 0\nlet abs_difference = (ten.log10() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```\n\nNon-positive values:\n```\nassert_eq!(0_f32.log10(), f32::NEG_INFINITY);\nassert!((-42_f32).log10().is_nan());\n```", + "id": 9932, "inner": { "function": { "generics": { @@ -795037,30 +818286,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "atan", + "name": "log10", "span": { "begin": [ - 554, + 561, 5 ], "end": [ - 556, + 563, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9927": { + "9933": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795075,9 +818324,12 @@ } ], "crate_id": 0, - "deprecation": null, - "docs": "Computes the four quadrant arctangent of `self` (`y`) and `other` (`x`) in radians.\n\n* `x = 0`, `y = 0`: `0`\n* `x >= 0`: `arctan(y/x)` -> `[-pi/2, pi/2]`\n* `y >= 0`: `arctan(y/x) + pi` -> `(pi/2, pi]`\n* `y < 0`: `arctan(y/x) - pi` -> `(-pi, -pi/2)`\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `atan2f128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\n// Positive angles measured counter-clockwise\n// from positive x axis\n// -pi/4 radians (45 deg clockwise)\nlet x1 = 3.0f128;\nlet y1 = -3.0f128;\n\n// 3pi/4 radians (135 deg counter-clockwise)\nlet x2 = -3.0f128;\nlet y2 = 3.0f128;\n\nlet abs_difference_1 = (y1.atan2(x1) - (-std::f128::consts::FRAC_PI_4)).abs();\nlet abs_difference_2 = (y2.atan2(x2) - (3.0 * std::f128::consts::FRAC_PI_4)).abs();\n\nassert!(abs_difference_1 <= f128::EPSILON);\nassert!(abs_difference_2 <= f128::EPSILON);\n# }\n```", - "id": 9927, + "deprecation": { + "note": "you probably meant `(self - other).abs()`: this operation is `(self - other).max(0.0)` except that `abs_sub` also propagates NaNs (also known as `fdimf` in C). If you truly need the positive difference, consider using that expression or the C function `fdimf`, depending on how you wish to handle NaN (please consider filing an issue describing your use-case too).", + "since": "1.10.0" + }, + "docs": "The positive difference of two numbers.\n\n* If `self <= other`: `0.0`\n* Else: `self - other`\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `fdimf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 3.0f32;\nlet y = -3.0f32;\n\nlet abs_difference_x = (x.abs_sub(1.0) - 2.0).abs();\nlet abs_difference_y = (y.abs_sub(1.0) - 0.0).abs();\n\nassert!(abs_difference_x <= 1e-6);\nassert!(abs_difference_y <= 1e-6);\n```", + "id": 9933, "inner": { "function": { "generics": { @@ -795102,42 +818354,44 @@ [ "other", { - "primitive": "f128" + "primitive": "f32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "atan2", + "name": "abs_sub", "span": { "begin": [ - 601, + 603, 5 ], "end": [ - 603, + 606, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9928": { + "9934": { "attrs": [ { - "other": "#[doc(alias = \"sincos\")]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Inline(Hint)]" }, { - "other": "#[attr = Inline(Hint)]" + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } }, { "other": "#[attr = AllowIncoherentImpl]" @@ -795145,8 +818399,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Simultaneously computes the sine and cosine of the number, `x`. Returns\n`(sin(x), cos(x))`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `(f128::sin(x),\nf128::cos(x))`. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = std::f128::consts::FRAC_PI_4;\nlet f = x.sin_cos();\n\nlet abs_difference_0 = (f.0 - x.sin()).abs();\nlet abs_difference_1 = (f.1 - x.cos()).abs();\n\nassert!(abs_difference_0 <= f128::EPSILON);\nassert!(abs_difference_1 <= f128::EPSILON);\n# }\n```", - "id": 9928, + "docs": "Returns the cube root of a number.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `cbrtf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 8.0f32;\n\n// x^(1/3) - 2 == 0\nlet abs_difference = (x.cbrt() - 2.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9934, "inner": { "function": { "generics": { @@ -795171,37 +818425,30 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "f128" - }, - { - "primitive": "f128" - } - ] + "primitive": "f32" } } } }, "links": {}, - "name": "sin_cos", + "name": "cbrt", "span": { "begin": [ - 637, + 631, 5 ], "end": [ - 639, + 633, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9929": { + "9935": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795217,8 +818464,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `e^(self) - 1` in a way that is accurate even if the\nnumber is close to zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `expm1f128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 1e-8_f128;\n\n// for very small x, e^x is approximately 1 + x + x^2 / 2\nlet approx = x + x * x / 2.0;\nlet abs_difference = (x.exp_m1() - approx).abs();\n\nassert!(abs_difference < 1e-10);\n# }\n```", - "id": 9929, + "docs": "Compute the distance between the origin and a point (`x`, `y`) on the\nEuclidean plane. Equivalently, compute the length of the hypotenuse of a\nright-angle triangle with other sides having length `x.abs()` and\n`y.abs()`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `hypotf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 2.0f32;\nlet y = 3.0f32;\n\n// sqrt(x^2 + y^2)\nlet abs_difference = (x.hypot(y) - (x.powi(2) + y.powi(2)).sqrt()).abs();\n\nassert!(abs_difference <= 1e-5);\n```", + "id": 9935, "inner": { "function": { "generics": { @@ -795239,40 +818486,57 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "exp_m1", + "name": "hypot", "span": { "begin": [ - 672, + 662, 5 ], "end": [ - 674, + 664, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "993": { + "9936": { "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, { "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 993, + "docs": "Computes the sine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = std::f32::consts::FRAC_PI_2;\n\nlet abs_difference = (x.sin() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9936, "inner": { "function": { "generics": { @@ -795291,67 +818555,36 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "usize" - }, - { - "resolved_path": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "primitive": "usize" - } - } - ], - "constraints": [] - } - }, - "id": 51, - "path": "Option" - } - } - ] + "primitive": "f32" } } } }, "links": {}, - "name": "size_hint", + "name": "sin", "span": { "begin": [ - 2107, + 686, 5 ], "end": [ - 2109, + 688, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/num/f32.rs" }, - "visibility": "default" + "visibility": "public" }, - "9930": { + "9937": { "attrs": [ { - "other": "#[doc(alias = \"log1p\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795367,8 +818600,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Returns `ln(1+n)` (natural logarithm) more accurately than if\nthe operations were performed separately.\n\nThis returns NaN when `n < -1.0`, and negative infinity when `n == -1.0`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `log1pf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 1e-8_f128;\n\n// for very small x, ln(1 + x) is approximately x - x^2 / 2\nlet approx = x - x * x / 2.0;\nlet abs_difference = (x.ln_1p() - approx).abs();\n\nassert!(abs_difference < 1e-10);\n# }\n```\n\nOut-of-range values:\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nassert_eq!((-1.0_f128).ln_1p(), f128::NEG_INFINITY);\nassert!((-2.0_f128).ln_1p().is_nan());\n# }\n```", - "id": 9930, + "docs": "Computes the cosine of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 2.0 * std::f32::consts::PI;\n\nlet abs_difference = (x.cos() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9937, "inner": { "function": { "generics": { @@ -795393,30 +818626,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "ln_1p", + "name": "cos", "span": { "begin": [ - 721, + 710, 5 ], "end": [ - 723, + 712, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9931": { + "9938": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795432,8 +818665,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `sinhf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet e = std::f128::consts::E;\nlet x = 1.0f128;\n\nlet f = x.sinh();\n// Solving sinh() at 1 gives `(e^2-1)/(2e)`\nlet g = ((e * e) - 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9931, + "docs": "Computes the tangent of a number (in radians).\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tanf` from libc on Unix and\nWindows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = std::f32::consts::FRAC_PI_4;\nlet abs_difference = (x.tan() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9938, "inner": { "function": { "generics": { @@ -795458,30 +818691,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "sinh", + "name": "tan", "span": { "begin": [ - 757, + 735, 5 ], "end": [ - 759, + 737, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9932": { + "9939": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[doc(alias = \"arcsin\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795497,8 +818733,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `coshf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet e = std::f128::consts::E;\nlet x = 1.0f128;\nlet f = x.cosh();\n// Solving cosh() at 1 gives this result\nlet g = ((e * e) + 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\n// Same result\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9932, + "docs": "Computes the arcsine of a number. Return value is in radians in\nthe range [-pi/2, pi/2] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `asinf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = std::f32::consts::FRAC_PI_4;\n\n// asin(sin(pi/2))\nlet abs_difference = (f.sin().asin() - f).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9939, "inner": { "function": { "generics": { @@ -795523,47 +818759,36 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "cosh", + "name": "asin", "span": { "begin": [ - 793, + 765, 5 ], "end": [ - 795, + 767, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9933": { + "994": { "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - }, { "other": "#[attr = Inline(Hint)]" - }, - { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } - }, - { - "other": "#[attr = AllowIncoherentImpl]" } ], "crate_id": 0, "deprecation": null, - "docs": "Hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tanhf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet e = std::f128::consts::E;\nlet x = 1.0f128;\n\nlet f = x.tanh();\n// Solving tanh() at 1 gives `(1 - e^(-2))/(1 + e^(-2))`\nlet g = (1.0 - e.powi(-2)) / (1.0 + e.powi(-2));\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9933, + "docs": null, + "id": 994, "inner": { "function": { "generics": { @@ -795588,33 +818813,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "usize" } } } }, "links": {}, - "name": "tanh", + "name": "count", "span": { "begin": [ - 829, + 2106, 5 ], "end": [ - 831, + 2108, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/collections/hash/map.rs" }, - "visibility": "public" + "visibility": "default" }, - "9934": { + "9940": { "attrs": [ { - "other": "#[doc(alias = \"arcsinh\")]" + "other": "#[doc(alias = \"arccos\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795630,8 +818855,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Inverse hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 1.0f128;\nlet f = x.sinh().asinh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9934, + "docs": "Computes the arccosine of a number. Return value is in radians in\nthe range [0, pi] or NaN if the number is outside the range\n[-1, 1].\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `acosf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = std::f32::consts::FRAC_PI_4;\n\n// acos(cos(pi/4))\nlet abs_difference = (f.cos().acos() - std::f32::consts::FRAC_PI_4).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9940, "inner": { "function": { "generics": { @@ -795656,33 +818881,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "asinh", + "name": "acos", "span": { "begin": [ - 860, + 795, 5 ], "end": [ - 864, + 797, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9935": { + "9941": { "attrs": [ { - "other": "#[doc(alias = \"arccosh\")]" + "other": "#[doc(alias = \"arctan\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795698,8 +818923,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Inverse hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 1.0f128;\nlet f = x.cosh().acosh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9935, + "docs": "Computes the arctangent of a number. Return value is in radians in the\nrange [-pi/2, pi/2];\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `atanf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet f = 1.0f32;\n\n// atan(tan(1))\nlet abs_difference = (f.tan().atan() - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9941, "inner": { "function": { "generics": { @@ -795724,33 +818949,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "acosh", + "name": "atan", "span": { "begin": [ - 893, + 824, 5 ], "end": [ - 899, + 826, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9936": { + "9942": { "attrs": [ { - "other": "#[doc(alias = \"arctanh\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795766,8 +818988,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Inverse hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet e = std::f128::consts::E;\nlet f = e.tanh().atanh();\n\nlet abs_difference = (f - e).abs();\n\nassert!(abs_difference <= 1e-5);\n# }\n```", - "id": 9936, + "docs": "Computes the four quadrant arctangent of `self` (`y`) and `other` (`x`) in radians.\n\n | `x` | `y` | Piecewise Definition | Range |\n |---------|---------|----------------------|---------------|\n | `>= +0` | `>= +0` | `arctan(y/x)` | `[+0, +pi/2]` |\n | `>= +0` | `<= -0` | `arctan(y/x)` | `[-pi/2, -0]` |\n | `<= -0` | `>= +0` | `arctan(y/x) + pi` | `[+pi/2, +pi]`|\n | `<= -0` | `<= -0` | `arctan(y/x) - pi` | `[-pi, -pi/2]`|\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `atan2f` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n// Positive angles measured counter-clockwise\n// from positive x axis\n// -pi/4 radians (45 deg clockwise)\nlet x1 = 3.0f32;\nlet y1 = -3.0f32;\n\n// 3pi/4 radians (135 deg counter-clockwise)\nlet x2 = -3.0f32;\nlet y2 = 3.0f32;\n\nlet abs_difference_1 = (y1.atan2(x1) - (-std::f32::consts::FRAC_PI_4)).abs();\nlet abs_difference_2 = (y2.atan2(x2) - (3.0 * std::f32::consts::FRAC_PI_4)).abs();\n\nassert!(abs_difference_1 <= 1e-5);\nassert!(abs_difference_2 <= 1e-5);\n```", + "id": 9942, "inner": { "function": { "generics": { @@ -795788,42 +819010,46 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "atanh", + "name": "atan2", "span": { "begin": [ - 928, + 867, 5 ], "end": [ - 930, + 869, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9937": { + "9943": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[doc(alias = \"sincos\")]" }, { - "other": "#[attr = Inline(Hint)]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = Inline(Hint)]" }, { "other": "#[attr = AllowIncoherentImpl]" @@ -795831,8 +819057,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `tgammaf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n#![feature(float_gamma)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 5.0f128;\n\nlet abs_difference = (x.gamma() - 24.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9937, + "docs": "Simultaneously computes the sine and cosine of the number, `x`. Returns\n`(sin(x), cos(x))`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `(f32::sin(x),\nf32::cos(x))`. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = std::f32::consts::FRAC_PI_4;\nlet f = x.sin_cos();\n\nlet abs_difference_0 = (f.0 - x.sin()).abs();\nlet abs_difference_1 = (f.1 - x.cos()).abs();\n\nassert!(abs_difference_0 <= 1e-4);\nassert!(abs_difference_1 <= 1e-4);\n```", + "id": 9943, "inner": { "function": { "generics": { @@ -795857,30 +819083,37 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "tuple": [ + { + "primitive": "f32" + }, + { + "primitive": "f32" + } + ] } } } }, "links": {}, - "name": "gamma", + "name": "sin_cos", "span": { "begin": [ - 962, + 897, 5 ], "end": [ - 964, + 899, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9938": { + "9944": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795896,8 +819129,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Natural logarithm of the absolute value of the gamma function\n\nThe integer part of the tuple indicates the sign of the gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `lgammaf128_r` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n#![feature(float_gamma)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 2.0f128;\n\nlet abs_difference = (x.ln_gamma().0 - 0.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9938, + "docs": "Returns `e^(self) - 1` in a way that is accurate even if the\nnumber is close to zero.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `expm1f` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 1e-8_f32;\n\n// for very small x, e^x is approximately 1 + x + x^2 / 2\nlet approx = x + x * x / 2.0;\nlet abs_difference = (x.exp_m1() - approx).abs();\n\nassert!(abs_difference < 1e-10);\n```", + "id": 9944, "inner": { "function": { "generics": { @@ -795922,37 +819155,33 @@ ], "is_c_variadic": false, "output": { - "tuple": [ - { - "primitive": "f128" - }, - { - "primitive": "i32" - } - ] + "primitive": "f32" } } } }, "links": {}, - "name": "ln_gamma", + "name": "exp_m1", "span": { "begin": [ - 998, + 926, 5 ], "end": [ - 1002, + 928, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9939": { + "9945": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[doc(alias = \"log1p\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -795968,8 +819197,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erff128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n#![feature(float_erf)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n/// The error function relates what percent of a normal distribution lies\n/// within `x` standard deviations (scaled by `1/sqrt(2)`).\nfn within_standard_deviations(x: f128) -> f128 {\n (x * std::f128::consts::FRAC_1_SQRT_2).erf() * 100.0\n}\n\n// 68% of a normal distribution is within one standard deviation\nassert!((within_standard_deviations(1.0) - 68.269).abs() < 0.01);\n// 95% of a normal distribution is within two standard deviations\nassert!((within_standard_deviations(2.0) - 95.450).abs() < 0.01);\n// 99.7% of a normal distribution is within three standard deviations\nassert!((within_standard_deviations(3.0) - 99.730).abs() < 0.01);\n# }\n```", - "id": 9939, + "docs": "Returns `ln(1+n)` (natural logarithm) more accurately than if\nthe operations were performed separately.\n\nThis returns NaN when `n < -1.0`, and negative infinity when `n == -1.0`.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `log1pf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet x = 1e-8_f32;\n\n// for very small x, ln(1 + x) is approximately x - x^2 / 2\nlet approx = x - x * x / 2.0;\nlet abs_difference = (x.ln_1p() - approx).abs();\n\nassert!(abs_difference < 1e-10);\n```\n\nOut-of-range values:\n```\nassert_eq!((-1.0_f32).ln_1p(), f32::NEG_INFINITY);\nassert!((-2.0_f32).ln_1p().is_nan());\n```", + "id": 9945, "inner": { "function": { "generics": { @@ -795994,36 +819223,47 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "erf", + "name": "ln_1p", "span": { "begin": [ - 1040, + 964, 5 ], "end": [ - 1042, + 966, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "994": { + "9946": { "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, { "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 994, + "docs": "Hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `sinhf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f32::consts::E;\nlet x = 1.0f32;\n\nlet f = x.sinh();\n// Solving sinh() at 1 gives `(e^2-1)/(2e)`\nlet g = ((e * e) - 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9946, "inner": { "function": { "generics": { @@ -796048,30 +819288,30 @@ ], "is_c_variadic": false, "output": { - "primitive": "usize" + "primitive": "f32" } } } }, "links": {}, - "name": "count", + "name": "sinh", "span": { "begin": [ - 2111, + 994, 5 ], "end": [ - 2113, + 996, 6 ], - "filename": "std/src/collections/hash/map.rs" + "filename": "std/src/num/f32.rs" }, - "visibility": "default" + "visibility": "public" }, - "9940": { + "9947": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "other": "#[attr = Inline(Hint)]" @@ -796087,8 +819327,8 @@ ], "crate_id": 0, "deprecation": null, - "docs": "Complementary error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erfcf128` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(f128)]\n#![feature(float_erf)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\nlet x: f128 = 0.123;\n\nlet one = x.erf() + x.erfc();\nlet abs_difference = (one - 1.0).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", - "id": 9940, + "docs": "Hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `coshf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f32::consts::E;\nlet x = 1.0f32;\nlet f = x.cosh();\n// Solving cosh() at 1 gives this result\nlet g = ((e * e) + 1.0) / (2.0 * e);\nlet abs_difference = (f - g).abs();\n\n// Same result\nassert!(abs_difference <= 1e-6);\n```", + "id": 9947, "inner": { "function": { "generics": { @@ -796113,374 +819353,156 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "erfc", + "name": "cosh", "span": { "begin": [ - 1074, + 1024, 5 ], "end": [ - 1076, + 1026, 6 ], - "filename": "std/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9941": { + "9948": { "attrs": [ { - "other": "#[(not(test))]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], "crate_id": 0, "deprecation": null, - "docs": null, - "id": 9941, + "docs": "Hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tanhf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\nlet e = std::f32::consts::E;\nlet x = 1.0f32;\n\nlet f = x.tanh();\n// Solving tanh() at 1 gives `(1 - e^(-2))/(1 + e^(-2))`\nlet g = (1.0 - e.powi(-2)) / (1.0 + e.powi(-2));\nlet abs_difference = (f - g).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9948, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f128" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9912, - 9913, - 9914, - 9915, - 9916, - 9917, - 9918, - 9919, - 9920, - 9921, - 9922, - 9923, - 9924, - 9925, - 9926, - 9927, - 9928, - 9929, - 9930, - 9931, - 9932, - 9933, - 9934, - 9935, - 9936, - 9937, - 9938, - 9939, - 9940 - ], - "provided_trait_methods": [], - "trait": null - } - }, - "links": {}, - "name": null, - "span": { - "begin": [ - 19, - 1 - ], - "end": [ - 1077, - 2 - ], - "filename": "std/src/num/f128.rs" - }, - "visibility": "default" - }, - "9942": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "The radix or base of the internal representation of `f128`.", - "id": 9942, - "inner": { - "assoc_const": { - "type": { - "primitive": "u32" - }, - "value": "2" - } - }, - "links": {}, - "name": "RADIX", - "span": { - "begin": [ - 145, - 5 - ], - "end": [ - 145, - 25 - ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "public" - }, - "9943": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Number of significant digits in base 2.\n\nNote that the size of the mantissa in the bitwise representation is one\nsmaller than this since the leading 1 is not stored explicitly.", - "id": 9943, - "inner": { - "assoc_const": { - "type": { - "primitive": "u32" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "value": "113" + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f32" + } + } } }, "links": {}, - "name": "MANTISSA_DIGITS", + "name": "tanh", "span": { "begin": [ - 152, + 1054, 5 ], "end": [ - 152, - 35 + 1056, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9944": { + "9949": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Approximate number of significant digits in base 10.\n\nThis is the maximum x such that any decimal number with x\nsignificant digits can be converted to `f128` and back without loss.\n\nEqual to floor(log10 2[`MANTISSA_DIGITS`] − 1).\n\n[`MANTISSA_DIGITS`]: f128::MANTISSA_DIGITS", - "id": 9944, - "inner": { - "assoc_const": { - "type": { - "primitive": "u32" - }, - "value": "33" - } - }, - "links": { - "f128::MANTISSA_DIGITS": 9943 - }, - "name": "DIGITS", - "span": { - "begin": [ - 163, - 5 - ], - "end": [ - 163, - 26 - ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "public" - }, - "9945": { - "attrs": [ + "other": "#[doc(alias = \"arcsinh\")]" + }, { - "other": "#[rustc_diagnostic_item = \"f128_epsilon\"]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "[Machine epsilon] value for `f128`.\n\nThis is the difference between `1.0` and the next larger representable number.\n\nEqual to 21 − [`MANTISSA_DIGITS`].\n\n[Machine epsilon]: https://en.wikipedia.org/wiki/Machine_epsilon\n[`MANTISSA_DIGITS`]: f128::MANTISSA_DIGITS", - "id": 9945, - "inner": { - "assoc_const": { - "type": { - "primitive": "f128" - }, - "value": "1.92592994438723585305597794258492732e-34_f128" - } - }, - "links": { - "f128::MANTISSA_DIGITS": 9943 - }, - "name": "EPSILON", - "span": { - "begin": [ - 175, - 5 - ], - "end": [ - 175, - 28 - ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "public" - }, - "9946": { - "attrs": [ + "other": "#[attr = Inline(Hint)]" + }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Largest finite `f128` value.\n\nEqual to\n(1 − 2−[`MANTISSA_DIGITS`]) 2[`MAX_EXP`].\n\n[`MANTISSA_DIGITS`]: f128::MANTISSA_DIGITS\n[`MAX_EXP`]: f128::MAX_EXP", - "id": 9946, - "inner": { - "assoc_const": { - "type": { - "primitive": "f128" - }, - "value": "1.18973149535723176508575932662800702e+4932_f128" - } - }, - "links": { - "f128::MANTISSA_DIGITS": 9943, - "f128::MAX_EXP": 9950 - }, - "name": "MAX", - "span": { - "begin": [ - 199, - 5 - ], - "end": [ - 199, - 24 - ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "public" - }, - "9947": { - "attrs": [ + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Smallest finite `f128` value.\n\nEqual to −[`MAX`].\n\n[`MAX`]: f128::MAX", - "id": 9947, + "docs": "Inverse hyperbolic sine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 1.0f32;\nlet f = x.sinh().asinh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9949, "inner": { - "assoc_const": { - "type": { - "primitive": "f128" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "-1.18973149535723176508575932662800702e+4932_f128" - } - }, - "links": { - "f128::MAX": 9946 - }, - "name": "MIN", - "span": { - "begin": [ - 183, - 5 - ], - "end": [ - 183, - 24 - ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "public" - }, - "9948": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "One greater than the minimum possible *normal* power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact minimum possible *normal* power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all normal numbers representable by this type are\ngreater than or equal to 0.5 × 2MIN_EXP.", - "id": 9948, - "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "value": "-16_381" + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f32" + } + } } }, "links": {}, - "name": "MIN_EXP", - "span": { - "begin": [ - 209, - 5 - ], - "end": [ - 209, - 27 - ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "public" - }, - "9949": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Smallest positive normal `f128` value.\n\nEqual to 2[`MIN_EXP`] − 1.\n\n[`MIN_EXP`]: f128::MIN_EXP", - "id": 9949, - "inner": { - "assoc_const": { - "type": { - "primitive": "f128" - }, - "value": "3.36210314311209350626267781732175260e-4932_f128" - } - }, - "links": { - "f128::MIN_EXP": 9948 - }, - "name": "MIN_POSITIVE", + "name": "asinh", "span": { "begin": [ - 190, + 1080, 5 ], "end": [ - 190, - 33 + 1084, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, @@ -796628,11 +819650,11 @@ "name": "fold", "span": { "begin": [ - 2115, + 2110, 5 ], "end": [ - 2121, + 2116, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -796642,225 +819664,160 @@ "9950": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[doc(alias = \"arccosh\")]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" + }, + { + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "One greater than the maximum possible power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact maximum possible power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all numbers representable by this type are\nstrictly less than 2MAX_EXP.", + "docs": "Inverse hyperbolic cosine function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = 1.0f32;\nlet f = x.cosh().acosh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= 1e-6);\n```", "id": 9950, "inner": { - "assoc_const": { - "type": { - "primitive": "i32" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "16_384" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f32" + } + } } }, "links": {}, - "name": "MAX_EXP", + "name": "acosh", "span": { "begin": [ - 218, + 1108, 5 ], "end": [ - 218, - 27 + 1114, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, "9951": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Minimum x for which 10x is normal.\n\nEqual to ceil(log10 [`MIN_POSITIVE`]).\n\n[`MIN_POSITIVE`]: f128::MIN_POSITIVE", - "id": 9951, - "inner": { - "assoc_const": { - "type": { - "primitive": "i32" - }, - "value": "-4_931" - } - }, - "links": { - "f128::MIN_POSITIVE": 9949 - }, - "name": "MIN_10_EXP", - "span": { - "begin": [ - 226, - 5 - ], - "end": [ - 226, - 30 - ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "public" - }, - "9952": { - "attrs": [ + "other": "#[doc(alias = \"arctanh\")]" + }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Maximum x for which 10x is normal.\n\nEqual to floor(log10 [`MAX`]).\n\n[`MAX`]: f128::MAX", - "id": 9952, - "inner": { - "assoc_const": { - "type": { - "primitive": "i32" - }, - "value": "4_932" - } - }, - "links": { - "f128::MAX": 9946 - }, - "name": "MAX_10_EXP", - "span": { - "begin": [ - 233, - 5 - ], - "end": [ - 233, - 30 - ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "public" - }, - "9953": { - "attrs": [ + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" + }, { - "other": "#[rustc_diagnostic_item = \"f128_nan\"]" + "other": "#[attr = Inline(Hint)]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Not a Number (NaN).\n\nNote that IEEE 754 doesn't define just a single NaN value; a plethora of bit patterns are\nconsidered to be NaN. Furthermore, the standard makes a difference between a \"signaling\" and\na \"quiet\" NaN, and allows inspecting its \"payload\" (the unspecified bits in the bit pattern)\nand its sign. See the [specification of NaN bit patterns](f32#nan-bit-patterns) for more\ninfo.\n\nThis constant is guaranteed to be a quiet NaN (on targets that follow the Rust assumptions\nthat the quiet/signaling bit being set to 1 indicates a quiet NaN). Beyond that, nothing is\nguaranteed about the specific bit pattern chosen here: both payload and sign are arbitrary.\nThe concrete bit pattern may change across Rust versions and target platforms.", - "id": 9953, - "inner": { - "assoc_const": { - "type": { - "primitive": "f128" - }, - "value": "_" - } - }, - "links": { - "f32#nan-bit-patterns": 267 - }, - "name": "NAN", - "span": { - "begin": [ - 250, - 5 - ], - "end": [ - 250, - 24 - ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "public" - }, - "9954": { - "attrs": [ + "must_use": { + "reason": "method returns a new number and does not mutate the original value" + } + }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Infinity (∞).", - "id": 9954, + "docs": "Inverse hyperbolic tangent function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet x = std::f32::consts::FRAC_PI_6;\nlet f = x.tanh().atanh();\n\nlet abs_difference = (f - x).abs();\n\nassert!(abs_difference <= 1e-5);\n```", + "id": 9951, "inner": { - "assoc_const": { - "type": { - "primitive": "f128" + "function": { + "generics": { + "params": [], + "where_predicates": [] }, - "value": "_" - } - }, - "links": {}, - "name": "INFINITY", - "span": { - "begin": [ - 254, - 5 - ], - "end": [ - 254, - 29 - ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" - }, - "visibility": "public" - }, - "9955": { - "attrs": [ - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - } - ], - "crate_id": 1, - "deprecation": null, - "docs": "Negative infinity (−∞).", - "id": 9955, - "inner": { - "assoc_const": { - "type": { - "primitive": "f128" + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": false, + "is_unsafe": false }, - "value": "_" + "sig": { + "inputs": [ + [ + "self", + { + "generic": "Self" + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f32" + } + } } }, "links": {}, - "name": "NEG_INFINITY", + "name": "atanh", "span": { "begin": [ - 258, + 1138, 5 ], "end": [ - 258, - 33 + 1140, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9956": { + "9952": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99842, is_soft: false}, feature: \"float_gamma\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this value is NaN.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `unordtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet nan = f128::NAN;\nlet f = 7.0_f128;\n\nassert!(nan.is_nan());\nassert!(!f.is_nan());\n# }\n```", - "id": 9956, + "docs": "Gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `tgammaf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_gamma)]\nlet x = 5.0f32;\n\nlet abs_difference = (x.gamma() - 24.0).abs();\n\nassert!(abs_difference <= 1e-5);\n```", + "id": 9952, "inner": { "function": { "generics": { @@ -796871,7 +819828,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -796885,41 +819842,47 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f32" } } } }, "links": {}, - "name": "is_nan", + "name": "gamma", "span": { "begin": [ - 293, + 1165, 5 ], "end": [ - 293, - 38 + 1167, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9957": { + "9953": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 99842, is_soft: false}, feature: \"float_gamma\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this value is positive infinity or negative infinity, and\n`false` otherwise.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0f128;\nlet inf = f128::INFINITY;\nlet neg_inf = f128::NEG_INFINITY;\nlet nan = f128::NAN;\n\nassert!(!f.is_infinite());\nassert!(!nan.is_infinite());\n\nassert!(inf.is_infinite());\nassert!(neg_inf.is_infinite());\n# }\n```", - "id": 9957, + "docs": "Natural logarithm of the absolute value of the gamma function\n\nThe integer part of the tuple indicates the sign of the gamma function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform, Rust version, and\ncan even differ within the same execution from one invocation to the next.\nThis function currently corresponds to the `lgamma_r` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_gamma)]\nlet x = 2.0f32;\n\nlet abs_difference = (x.ln_gamma().0 - 0.0).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", + "id": 9953, "inner": { "function": { "generics": { @@ -796930,7 +819893,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -796944,44 +819907,54 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "tuple": [ + { + "primitive": "f32" + }, + { + "primitive": "i32" + } + ] } } } }, "links": {}, - "name": "is_infinite", + "name": "ln_gamma", "span": { "begin": [ - 320, + 1194, 5 ], "end": [ - 320, - 43 + 1198, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9958": { + "9954": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136321, is_soft: false}, feature: \"float_erf\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if this number is neither infinite nor NaN.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `lttf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 7.0f128;\nlet inf: f128 = f128::INFINITY;\nlet neg_inf: f128 = f128::NEG_INFINITY;\nlet nan: f128 = f128::NAN;\n\nassert!(f.is_finite());\n\nassert!(!nan.is_finite());\nassert!(!inf.is_finite());\nassert!(!neg_inf.is_finite());\n# }\n```", - "id": 9958, + "docs": "Error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erff` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_erf)]\n/// The error function relates what percent of a normal distribution lies\n/// within `x` standard deviations (scaled by `1/sqrt(2)`).\nfn within_standard_deviations(x: f32) -> f32 {\n (x * std::f32::consts::FRAC_1_SQRT_2).erf() * 100.0\n}\n\n// 68% of a normal distribution is within one standard deviation\nassert!((within_standard_deviations(1.0) - 68.269).abs() < 0.01);\n// 95% of a normal distribution is within two standard deviations\nassert!((within_standard_deviations(2.0) - 95.450).abs() < 0.01);\n// 99.7% of a normal distribution is within three standard deviations\nassert!((within_standard_deviations(3.0) - 99.730).abs() < 0.01);\n```", + "id": 9954, "inner": { "function": { "generics": { @@ -796992,7 +819965,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -797006,41 +819979,47 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f32" } } } }, "links": {}, - "name": "is_finite", + "name": "erf", "span": { "begin": [ - 347, + 1231, 5 ], "end": [ - 347, - 41 + 1233, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "std/src/num/f32.rs" }, "visibility": "public" }, - "9959": { + "9955": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136321, is_soft: false}, feature: \"float_erf\"}}]" + }, + { + "other": "#[attr = Inline(Hint)]" }, { "must_use": { - "reason": null + "reason": "method returns a new number and does not mutate the original value" } + }, + { + "other": "#[attr = AllowIncoherentImpl]" } ], - "crate_id": 1, + "crate_id": 0, "deprecation": null, - "docs": "Returns `true` if the number is [subnormal].\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet min = f128::MIN_POSITIVE; // 3.362103143e-4932f128\nlet max = f128::MAX;\nlet lower_than_min = 1.0e-4960_f128;\nlet zero = 0.0_f128;\n\nassert!(!min.is_subnormal());\nassert!(!max.is_subnormal());\n\nassert!(!zero.is_subnormal());\nassert!(!f128::NAN.is_subnormal());\nassert!(!f128::INFINITY.is_subnormal());\n// Values between `0` and `min` are Subnormal.\nassert!(lower_than_min.is_subnormal());\n# }\n```\n\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", - "id": 9959, + "docs": "Complementary error function.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\nThis function currently corresponds to the `erfcf` from libc on Unix\nand Windows. Note that this might change in the future.\n\n# Examples\n\n```\n#![feature(float_erf)]\nlet x: f32 = 0.123;\n\nlet one = x.erf() + x.erfc();\nlet abs_difference = (one - 1.0).abs();\n\nassert!(abs_difference <= 1e-6);\n```", + "id": 9955, "inner": { "function": { "generics": { @@ -797051,7 +820030,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": true, + "is_const": false, "is_unsafe": false }, "sig": { @@ -797065,23 +820044,209 @@ ], "is_c_variadic": false, "output": { - "primitive": "bool" + "primitive": "f32" } } } }, "links": {}, - "name": "is_subnormal", + "name": "erfc", "span": { "begin": [ - 380, + 1260, 5 ], "end": [ - 380, - 44 + 1262, + 6 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "std/src/num/f32.rs" + }, + "visibility": "public" + }, + "9956": { + "attrs": [ + { + "other": "#[(not(test))]" + } + ], + "crate_id": 0, + "deprecation": null, + "docs": null, + "id": 9956, + "inner": { + "impl": { + "blanket_impl": null, + "for": { + "primitive": "f32" + }, + "generics": { + "params": [], + "where_predicates": [] + }, + "is_negative": false, + "is_synthetic": false, + "is_unsafe": false, + "items": [ + 9915, + 9916, + 9917, + 9918, + 9919, + 9920, + 9921, + 9922, + 9923, + 9924, + 9925, + 9926, + 9927, + 9928, + 9929, + 9930, + 9931, + 9932, + 9933, + 9934, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955 + ], + "provided_trait_methods": [], + "trait": null + } + }, + "links": {}, + "name": null, + "span": { + "begin": [ + 28, + 1 + ], + "end": [ + 1263, + 2 + ], + "filename": "std/src/num/f32.rs" + }, + "visibility": "default" + }, + "9957": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "The radix or base of the internal representation of `f32`.", + "id": 9957, + "inner": { + "assoc_const": { + "type": { + "primitive": "u32" + }, + "value": "2" + } + }, + "links": {}, + "name": "RADIX", + "span": { + "begin": [ + 391, + 5 + ], + "end": [ + 391, + 25 + ], + "filename": "checkouts/rust/library/core/src/num/f32.rs" + }, + "visibility": "public" + }, + "9958": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Number of significant digits in base 2.\n\nNote that the size of the mantissa in the bitwise representation is one\nsmaller than this since the leading 1 is not stored explicitly.", + "id": 9958, + "inner": { + "assoc_const": { + "type": { + "primitive": "u32" + }, + "value": "24" + } + }, + "links": {}, + "name": "MANTISSA_DIGITS", + "span": { + "begin": [ + 398, + 5 + ], + "end": [ + 398, + 35 + ], + "filename": "checkouts/rust/library/core/src/num/f32.rs" + }, + "visibility": "public" + }, + "9959": { + "attrs": [ + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" + } + ], + "crate_id": 1, + "deprecation": null, + "docs": "Approximate number of significant digits in base 10.\n\nThis is the maximum x such that any decimal number with x\nsignificant digits can be converted to `f32` and back without loss.\n\nEqual to floor(log10 2[`MANTISSA_DIGITS`] − 1).\n\n[`MANTISSA_DIGITS`]: f32::MANTISSA_DIGITS", + "id": 9959, + "inner": { + "assoc_const": { + "type": { + "primitive": "u32" + }, + "value": "6" + } + }, + "links": { + "f32::MANTISSA_DIGITS": 9958 + }, + "name": "DIGITS", + "span": { + "begin": [ + 409, + 5 + ], + "end": [ + 409, + 26 + ], + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, @@ -797256,11 +820421,11 @@ "name": null, "span": { "begin": [ - 2099, + 2094, 1 ], "end": [ - 2122, + 2117, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -797270,608 +820435,351 @@ "9960": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[rustc_diagnostic_item = \"f32_epsilon\"]" }, { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if the number is neither zero, infinite, [subnormal], or NaN.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet min = f128::MIN_POSITIVE; // 3.362103143e-4932f128\nlet max = f128::MAX;\nlet lower_than_min = 1.0e-4960_f128;\nlet zero = 0.0_f128;\n\nassert!(min.is_normal());\nassert!(max.is_normal());\n\nassert!(!zero.is_normal());\nassert!(!f128::NAN.is_normal());\nassert!(!f128::INFINITY.is_normal());\n// Values between `0` and `min` are Subnormal.\nassert!(!lower_than_min.is_normal());\n# }\n```\n\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", + "docs": "[Machine epsilon] value for `f32`.\n\nThis is the difference between `1.0` and the next larger representable number.\n\nEqual to 21 − [`MANTISSA_DIGITS`].\n\n[Machine epsilon]: https://en.wikipedia.org/wiki/Machine_epsilon\n[`MANTISSA_DIGITS`]: f32::MANTISSA_DIGITS", "id": 9960, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "value": "1.19209290e-07_f32" } }, - "links": {}, - "name": "is_normal", + "links": { + "f32::MANTISSA_DIGITS": 9958 + }, + "name": "EPSILON", "span": { "begin": [ - 411, + 421, 5 ], "end": [ - 411, - 41 + 421, + 27 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9961": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the floating point category of the number. If only one property\nis going to be tested, it is generally faster to use the specific\npredicate instead.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nuse std::num::FpCategory;\n\nlet num = 12.4_f128;\nlet inf = f128::INFINITY;\n\nassert_eq!(num.classify(), FpCategory::Normal);\nassert_eq!(inf.classify(), FpCategory::Infinite);\n# }\n```", + "docs": "Largest finite `f32` value.\n\nEqual to\n(1 − 2−[`MANTISSA_DIGITS`]) 2[`MAX_EXP`].\n\n[`MANTISSA_DIGITS`]: f32::MANTISSA_DIGITS\n[`MAX_EXP`]: f32::MAX_EXP", "id": 9961, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "resolved_path": { - "args": null, - "id": 4780, - "path": "FpCategory" - } - } - } + "value": "3.40282347e+38_f32" } }, - "links": {}, - "name": "classify", + "links": { + "f32::MANTISSA_DIGITS": 9958, + "f32::MAX_EXP": 9965 + }, + "name": "MAX", "span": { "begin": [ - 435, + 445, 5 ], "end": [ - 435, - 46 + 445, + 23 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9962": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` has a positive sign, including `+0.0`, NaNs with\npositive sign bit and positive infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_positive` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == 1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\n#![feature(f128)]\n\nlet f = 7.0_f128;\nlet g = -7.0_f128;\n\nassert!(f.is_sign_positive());\nassert!(!g.is_sign_positive());\n```", + "docs": "Smallest finite `f32` value.\n\nEqual to −[`MAX`].\n\n[`MAX`]: f32::MAX", "id": 9962, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "value": "-3.40282347e+38_f32" } }, "links": { - "f32#nan-bit-patterns": 267 + "f32::MAX": 9961 }, - "name": "is_sign_positive", + "name": "MIN", "span": { "begin": [ - 468, + 429, 5 ], "end": [ - 468, - 48 + 429, + 23 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9963": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - }, - { - "must_use": { - "reason": null - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns `true` if `self` has a negative sign, including `-0.0`, NaNs with\nnegative sign bit and negative infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_negative` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == -1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\n#![feature(f128)]\n\nlet f = 7.0_f128;\nlet g = -7.0_f128;\n\nassert!(!f.is_sign_negative());\nassert!(g.is_sign_negative());\n```", + "docs": "One greater than the minimum possible *normal* power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact minimum possible *normal* power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all normal numbers representable by this type are\ngreater than or equal to 0.5 × 2MIN_EXP.", "id": 9963, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "bool" - } - } + "value": "-125" } }, - "links": { - "f32#nan-bit-patterns": 267 - }, - "name": "is_sign_negative", + "links": {}, + "name": "MIN_EXP", "span": { "begin": [ - 494, + 455, 5 ], "end": [ - 494, - 48 + 455, + 27 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9964": { "attrs": [ { - "other": "#[doc(alias = \"nextUp\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the least number greater than `self`.\n\nLet `TINY` be the smallest representable positive `f128`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`NEG_INFINITY`], this returns [`MIN`];\n - if `self` is `-TINY`, this returns -0.0;\n - if `self` is -0.0 or +0.0, this returns `TINY`;\n - if `self` is [`MAX`] or [`INFINITY`], this returns [`INFINITY`];\n - otherwise the unique least value greater than `self` is returned.\n\nThe identity `x.next_up() == -(-x).next_down()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_up().next_down()` also holds.\n\n```rust\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\n// f128::EPSILON is the difference between 1.0 and the next number up.\nassert_eq!(1.0f128.next_up(), 1.0 + f128::EPSILON);\n// But not for most numbers.\nassert!(0.1f128.next_up() < 0.1 + f128::EPSILON);\nassert_eq!(4611686018427387904f128.next_up(), 4611686018427387904.000000000000001);\n# }\n```\n\nThis operation corresponds to IEEE-754 `nextUp`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", + "docs": "Smallest positive normal `f32` value.\n\nEqual to 2[`MIN_EXP`] − 1.\n\n[`MIN_EXP`]: f32::MIN_EXP", "id": 9964, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f128" - } - } + "value": "1.17549435e-38_f32" } }, "links": { - "Self::INFINITY": 9954, - "Self::MAX": 9946, - "Self::MIN": 9947, - "Self::NEG_INFINITY": 9955 + "f32::MIN_EXP": 9963 }, - "name": "next_up", + "name": "MIN_POSITIVE", "span": { "begin": [ - 536, + 436, 5 ], "end": [ - 536, - 39 + 436, + 32 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9965": { "attrs": [ { - "other": "#[doc(alias = \"nextDown\")]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the greatest number less than `self`.\n\nLet `TINY` be the smallest representable positive `f128`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`INFINITY`], this returns [`MAX`];\n - if `self` is `TINY`, this returns 0.0;\n - if `self` is -0.0 or +0.0, this returns `-TINY`;\n - if `self` is [`MIN`] or [`NEG_INFINITY`], this returns [`NEG_INFINITY`];\n - otherwise the unique greatest value less than `self` is returned.\n\nThe identity `x.next_down() == -(-x).next_up()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_down().next_up()` also holds.\n\n```rust\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 1.0f128;\n// Clamp value into range [0, 1).\nlet clamped = x.clamp(0.0, 1.0f128.next_down());\nassert!(clamped < 1.0);\nassert_eq!(clamped.next_up(), 1.0);\n# }\n```\n\nThis operation corresponds to IEEE-754 `nextDown`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", + "docs": "One greater than the maximum possible power of 2 exponent\nfor a significand bounded by 1 ≤ x < 2 (i.e. the IEEE definition).\n\nThis corresponds to the exact maximum possible power of 2 exponent\nfor a significand bounded by 0.5 ≤ x < 1 (i.e. the C definition).\nIn other words, all numbers representable by this type are\nstrictly less than 2MAX_EXP.", "id": 9965, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f128" - } - } + "value": "128" } }, - "links": { - "Self::INFINITY": 9954, - "Self::MAX": 9946, - "Self::MIN": 9947, - "Self::NEG_INFINITY": 9955 - }, - "name": "next_down", + "links": {}, + "name": "MAX_EXP", "span": { "begin": [ - 591, + 464, 5 ], "end": [ - 591, - 41 + 464, + 27 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9966": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Takes the reciprocal (inverse) of a number, `1/x`.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 2.0_f128;\nlet abs_difference = (x.recip() - (1.0 / x)).abs();\n\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "docs": "Minimum x for which 10x is normal.\n\nEqual to ceil(log10 [`MIN_POSITIVE`]).\n\n[`MIN_POSITIVE`]: f32::MIN_POSITIVE", "id": 9966, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f128" - } - } + "value": "-37" } }, - "links": {}, - "name": "recip", + "links": { + "f32::MIN_POSITIVE": 9964 + }, + "name": "MIN_10_EXP", "span": { "begin": [ - 627, + 472, 5 ], "end": [ - 627, - 37 + 472, + 30 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9967": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts radians to degrees.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet angle = std::f128::consts::PI;\n\nlet abs_difference = (angle.to_degrees() - 180.0).abs();\nassert!(abs_difference <= f128::EPSILON);\n# }\n```", + "docs": "Maximum x for which 10x is normal.\n\nEqual to floor(log10 [`MAX`]).\n\n[`MAX`]: f32::MAX", "id": 9967, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "i32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f128" - } - } + "value": "38" } }, - "links": {}, - "name": "to_degrees", + "links": { + "f32::MAX": 9961 + }, + "name": "MAX_10_EXP", "span": { "begin": [ - 647, + 479, 5 ], "end": [ - 647, - 42 + 479, + 30 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9968": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[rustc_diagnostic_item = \"f32_nan\"]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Converts degrees to radians.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet angle = 180.0f128;\n\nlet abs_difference = (angle.to_radians() - std::f128::consts::PI).abs();\n\nassert!(abs_difference <= 1e-30);\n# }\n```", + "docs": "Not a Number (NaN).\n\nNote that IEEE 754 doesn't define just a single NaN value; a plethora of bit patterns are\nconsidered to be NaN. Furthermore, the standard makes a difference between a \"signaling\" and\na \"quiet\" NaN, and allows inspecting its \"payload\" (the unspecified bits in the bit pattern)\nand its sign. See the [specification of NaN bit patterns](f32#nan-bit-patterns) for more\ninfo.\n\nThis constant is guaranteed to be a quiet NaN (on targets that follow the Rust assumptions\nthat the quiet/signaling bit being set to 1 indicates a quiet NaN). Beyond that, nothing is\nguaranteed about the specific bit pattern chosen here: both payload and sign are arbitrary.\nThe concrete bit pattern may change across Rust versions and target platforms.", "id": 9968, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f128" - } - } + "value": "_" } }, - "links": {}, - "name": "to_radians", + "links": { + "f32#nan-bit-patterns": 265 + }, + "name": "NAN", "span": { "begin": [ - 670, + 496, 5 ], "end": [ - 670, - 42 + 496, + 23 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9969": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the maximum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for maxNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids maxNum's problems with associativity.\nThis also matches the behavior of libm’s fmax. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\n#![feature(f128)]\n# // Using aarch64 because `reliable_f128_math` is needed\n# #[cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))] {\n\nlet x = 1.0f128;\nlet y = 2.0f128;\n\nassert_eq!(x.max(y), y);\n# }\n```", + "docs": "Infinity (∞).", "id": 9969, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "f128" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f128" - } - } + "value": "_" } }, "links": {}, - "name": "max", + "name": "INFINITY", "span": { "begin": [ - 700, + 499, 5 ], "end": [ - 700, - 48 + 499, + 28 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, @@ -797924,11 +820832,11 @@ "name": "len", "span": { "begin": [ - 2126, + 2121, 5 ], "end": [ - 2128, + 2123, 6 ], "filename": "std/src/collections/hash/map.rs" @@ -797938,85 +820846,53 @@ "9970": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" - }, - { - "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 43, patch: 0})}, feature: \"assoc_int_consts\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for minNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids minNum's problems with associativity.\nThis also matches the behavior of libm’s fmin. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\n#![feature(f128)]\n# // Using aarch64 because `reliable_f128_math` is needed\n# #[cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))] {\n\nlet x = 1.0f128;\nlet y = 2.0f128;\n\nassert_eq!(x.min(y), x);\n# }\n```", + "docs": "Negative infinity (−∞).", "id": 9970, "inner": { - "function": { - "generics": { - "params": [], - "where_predicates": [] - }, - "has_body": true, - "header": { - "abi": "Rust", - "is_async": false, - "is_const": true, - "is_unsafe": false + "assoc_const": { + "type": { + "primitive": "f32" }, - "sig": { - "inputs": [ - [ - "self", - { - "generic": "Self" - } - ], - [ - "other", - { - "primitive": "f128" - } - ] - ], - "is_c_variadic": false, - "output": { - "primitive": "f128" - } - } + "value": "_" } }, "links": {}, - "name": "min", + "name": "NEG_INFINITY", "span": { "begin": [ - 727, + 502, 5 ], "end": [ - 727, - 48 + 502, + 32 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9971": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the maximum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f128::max`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(f128)]\n#![feature(float_minimum_maximum)]\n# // Using aarch64 because `reliable_f128_math` is needed\n# #[cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))] {\n\nlet x = 1.0f128;\nlet y = 2.0f128;\n\nassert_eq!(x.maximum(y), y);\nassert!(x.maximum(f128::NAN).is_nan());\n# }\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the greater\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", + "docs": "Returns `true` if this value is NaN.\n\n```\nlet nan = f32::NAN;\nlet f = 7.0_f32;\n\nassert!(nan.is_nan());\nassert!(!f.is_nan());\n```", "id": 9971, "inner": { "function": { @@ -798038,53 +820914,47 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "bool" } } } }, - "links": { - "`f128::max`": 9969, - "f32#nan-bit-patterns": 267 - }, - "name": "maximum", + "links": {}, + "name": "is_nan", "span": { "begin": [ - 760, + 533, 5 ], "end": [ - 760, - 52 + 533, + 38 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9972": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the comparison, without modifying either input" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the minimum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f128::min`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(f128)]\n#![feature(float_minimum_maximum)]\n# // Using aarch64 because `reliable_f128_math` is needed\n# #[cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))] {\n\nlet x = 1.0f128;\nlet y = 2.0f128;\n\nassert_eq!(x.minimum(y), x);\nassert!(x.minimum(f128::NAN).is_nan());\n# }\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the lesser\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", + "docs": "Returns `true` if this value is positive infinity or negative infinity, and\n`false` otherwise.\n\n```\nlet f = 7.0f32;\nlet inf = f32::INFINITY;\nlet neg_inf = f32::NEG_INFINITY;\nlet nan = f32::NAN;\n\nassert!(!f.is_infinite());\nassert!(!nan.is_infinite());\n\nassert!(inf.is_infinite());\nassert!(neg_inf.is_infinite());\n```", "id": 9972, "inner": { "function": { @@ -798106,54 +820976,47 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "bool" } } } }, - "links": { - "`f128::min`": 9970, - "f32#nan-bit-patterns": 267 - }, - "name": "minimum", + "links": {}, + "name": "is_infinite", "span": { "begin": [ - 793, + 556, 5 ], "end": [ - 793, - 52 + 556, + 43 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9973": { "attrs": [ { - "other": "#[doc(alias = \"average\")]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "must_use": { + "reason": null + } } ], "crate_id": 1, "deprecation": null, - "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\nThis returns NaN when *either* argument is NaN or if a combination of\n+inf and -inf is provided as arguments.\n\n# Examples\n\n```\n#![feature(f128)]\n# // Using aarch64 because `reliable_f128_math` is needed\n# #[cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))] {\n\nassert_eq!(1f128.midpoint(4.0), 2.5);\nassert_eq!((-5.5f128).midpoint(8.0), 1.25);\n# }\n```", + "docs": "Returns `true` if this number is neither infinite nor NaN.\n\n```\nlet f = 7.0f32;\nlet inf = f32::INFINITY;\nlet neg_inf = f32::NEG_INFINITY;\nlet nan = f32::NAN;\n\nassert!(f.is_finite());\n\nassert!(!nan.is_finite());\nassert!(!inf.is_finite());\nassert!(!neg_inf.is_finite());\n```", "id": 9973, "inner": { "function": { @@ -798175,107 +821038,60 @@ { "generic": "Self" } - ], - [ - "other", - { - "primitive": "f128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "bool" } } } }, "links": {}, - "name": "midpoint", + "name": "is_finite", "span": { "begin": [ - 817, + 581, 5 ], "end": [ - 817, - 53 + 581, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9974": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Rounds toward zero and converts to any primitive integer type,\nassuming that the value is finite and fits in that type.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `float*itf` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = 4.6_f128;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, 4);\n\nlet value = -128.9_f128;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, i8::MIN);\n# }\n```\n\n# Safety\n\nThe value must:\n\n* Not be `NaN`\n* Not be infinite\n* Be representable in the return type `Int`, after truncating off its fractional part", + "docs": "Returns `true` if the number is neither zero, infinite,\n[subnormal], or NaN.\n\n```\nlet min = f32::MIN_POSITIVE; // 1.17549435e-38f32\nlet max = f32::MAX;\nlet lower_than_min = 1.0e-40_f32;\nlet zero = 0.0_f32;\n\nassert!(min.is_normal());\nassert!(max.is_normal());\n\nassert!(!zero.is_normal());\nassert!(!f32::NAN.is_normal());\nassert!(!f32::INFINITY.is_normal());\n// Values between `0` and `min` are Subnormal.\nassert!(!lower_than_min.is_normal());\n```\n[subnormal]: https://en.wikipedia.org/wiki/Denormal_number", "id": 9974, "inner": { "function": { "generics": { - "params": [ - { - "kind": { - "type": { - "bounds": [], - "default": null, - "is_synthetic": false - } - }, - "name": "Int" - } - ], - "where_predicates": [ - { - "bound_predicate": { - "bounds": [ - { - "trait_bound": { - "generic_params": [], - "modifier": "none", - "trait": { - "args": { - "angle_bracketed": { - "args": [ - { - "type": { - "generic": "Int" - } - } - ], - "constraints": [] - } - }, - "id": 9645, - "path": "FloatToInt" - } - } - } - ], - "generic_params": [], - "type": { - "primitive": "f128" - } - } - } - ] + "params": [], + "where_predicates": [] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": false, - "is_unsafe": true + "is_const": true, + "is_unsafe": false }, "sig": { "inputs": [ @@ -798288,40 +821104,38 @@ ], "is_c_variadic": false, "output": { - "generic": "Int" + "primitive": "bool" } } } }, "links": {}, - "name": "to_int_unchecked", + "name": "is_normal", "span": { "begin": [ - 868, + 636, 5 ], "end": [ - 870, - 31 + 636, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9975": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Raw transmutation to `u128`.\n\nThis is currently identical to `transmute::(self)` on all platforms.\n\nSee [`from_bits`](#method.from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n```\n#![feature(f128)]\n\n# // FIXME(f16_f128): enable this once const casting works\n# // assert_ne!((1f128).to_bits(), 1f128 as u128); // to_bits() is not casting!\nassert_eq!((12.5f128).to_bits(), 0x40029000000000000000000000000000);\n```", + "docs": "Returns the floating point category of the number. If only one property\nis going to be tested, it is generally faster to use the specific\npredicate instead.\n\n```\nuse std::num::FpCategory;\n\nlet num = 12.4_f32;\nlet inf = f32::INFINITY;\n\nassert_eq!(num.classify(), FpCategory::Normal);\nassert_eq!(inf.classify(), FpCategory::Infinite);\n```", "id": 9975, "inner": { "function": { @@ -798347,30 +821161,37 @@ ], "is_c_variadic": false, "output": { - "primitive": "u128" + "resolved_path": { + "args": null, + "id": 4782, + "path": "FpCategory" + } } } } }, "links": {}, - "name": "to_bits", + "name": "classify", "span": { "begin": [ - 898, + 655, 5 ], "end": [ - 898, - 39 + 655, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9976": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -798380,7 +821201,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Raw transmutation from `u128`.\n\nThis is currently identical to `transmute::(v)` on all platforms.\nIt turns out this is incredibly portable, for two reasons:\n\n* Floats and Ints have the same endianness on all supported platforms.\n* IEEE 754 very precisely specifies the bit layout of floats.\n\nHowever there is one caveat: prior to the 2008 version of IEEE 754, how\nto interpret the NaN signaling bit wasn't actually specified. Most platforms\n(notably x86 and ARM) picked the interpretation that was ultimately\nstandardized in 2008, but some didn't (notably MIPS). As a result, all\nsignaling NaNs on MIPS are quiet NaNs on x86, and vice-versa.\n\nRather than trying to preserve signaling-ness cross-platform, this\nimplementation favors preserving the exact bits. This means that\nany payloads encoded in NaNs will be preserved even if the result of\nthis method is sent over the network from an x86 machine to a MIPS one.\n\nIf the results of this method are only manipulated by the same\narchitecture that produced them, then there is no portability concern.\n\nIf the input isn't NaN, then there is no portability concern.\n\nIf you don't care about signalingness (very likely), then there is no\nportability concern.\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet v = f128::from_bits(0x40029000000000000000000000000000);\nassert_eq!(v, 12.5);\n# }\n```", + "docs": "Returns `true` if `self` has a positive sign, including `+0.0`, NaNs with\npositive sign bit and positive infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_positive` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == 1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\nlet f = 7.0_f32;\nlet g = -7.0_f32;\n\nassert!(f.is_sign_positive());\nassert!(!g.is_sign_positive());\n```", "id": 9976, "inner": { "function": { @@ -798398,48 +821219,53 @@ "sig": { "inputs": [ [ - "v", + "self", { - "primitive": "u128" + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "bool" } } } }, - "links": {}, - "name": "from_bits", + "links": { + "f32#nan-bit-patterns": 265 + }, + "name": "is_sign_positive", "span": { "begin": [ - 946, + 692, 5 ], "end": [ - 946, - 44 + 692, + 48 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9977": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_classify\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": "this returns the result of the operation, without modifying the original" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nbig-endian (network) byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n\nlet bytes = 12.5f128.to_be_bytes();\nassert_eq!(\n bytes,\n [0x40, 0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n);\n```", + "docs": "Returns `true` if `self` has a negative sign, including `-0.0`, NaNs with\nnegative sign bit and negative infinity.\n\nNote that IEEE 754 doesn't assign any meaning to the sign bit in case of\na NaN, and as Rust doesn't guarantee that the bit pattern of NaNs are\nconserved over arithmetic operations, the result of `is_sign_negative` on\na NaN might produce an unexpected or non-portable result. See the [specification\nof NaN bit patterns](f32#nan-bit-patterns) for more info. Use `self.signum() == -1.0`\nif you need fully portable behavior (will return `false` for all NaNs).\n\n```\nlet f = 7.0f32;\nlet g = -7.0f32;\n\nassert!(!f.is_sign_negative());\nassert!(g.is_sign_negative());\n```", "id": 9977, "inner": { "function": { @@ -798465,47 +821291,43 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "primitive": "bool" } } } }, "links": { - "Self::from_bits": 9976 + "f32#nan-bit-patterns": 265 }, - "name": "to_be_bytes", + "name": "is_sign_negative", "span": { "begin": [ - 973, + 717, 5 ], "end": [ - 973, - 47 + 717, + 48 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9978": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[doc(alias = \"nextUp\")]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nlittle-endian byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n\nlet bytes = 12.5f128.to_le_bytes();\nassert_eq!(\n bytes,\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x02, 0x40]\n);\n```", + "docs": "Returns the least number greater than `self`.\n\nLet `TINY` be the smallest representable positive `f32`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`NEG_INFINITY`], this returns [`MIN`];\n - if `self` is `-TINY`, this returns -0.0;\n - if `self` is -0.0 or +0.0, this returns `TINY`;\n - if `self` is [`MAX`] or [`INFINITY`], this returns [`INFINITY`];\n - otherwise the unique least value greater than `self` is returned.\n\nThe identity `x.next_up() == -(-x).next_down()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_up().next_down()` also holds.\n\n```rust\n// f32::EPSILON is the difference between 1.0 and the next number up.\nassert_eq!(1.0f32.next_up(), 1.0 + f32::EPSILON);\n// But not for most numbers.\nassert!(0.1f32.next_up() < 0.1 + f32::EPSILON);\nassert_eq!(16777216f32.next_up(), 16777218.0);\n```\n\nThis operation corresponds to IEEE-754 `nextUp`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", "id": 9978, "inner": { "function": { @@ -798531,47 +821353,46 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "primitive": "f32" } } } }, "links": { - "Self::from_bits": 9976 + "Self::INFINITY": 9969, + "Self::MAX": 9961, + "Self::MIN": 9962, + "Self::NEG_INFINITY": 9970 }, - "name": "to_le_bytes", + "name": "next_up", "span": { "begin": [ - 998, + 754, 5 ], "end": [ - 998, - 47 + 754, + 39 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9979": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[doc(alias = \"nextDown\")]" }, { - "must_use": { - "reason": "this returns the result of the operation, without modifying the original" - } + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 86, patch: 0})}, feature: \"float_next_up_down\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the memory representation of this floating point number as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate, instead.\n\n[`to_be_bytes`]: f128::to_be_bytes\n[`to_le_bytes`]: f128::to_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n\nlet bytes = 12.5f128.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x40, 0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n } else {\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x02, 0x40]\n }\n);\n```", + "docs": "Returns the greatest number less than `self`.\n\nLet `TINY` be the smallest representable positive `f32`. Then,\n - if `self.is_nan()`, this returns `self`;\n - if `self` is [`INFINITY`], this returns [`MAX`];\n - if `self` is `TINY`, this returns 0.0;\n - if `self` is -0.0 or +0.0, this returns `-TINY`;\n - if `self` is [`MIN`] or [`NEG_INFINITY`], this returns [`NEG_INFINITY`];\n - otherwise the unique greatest value less than `self` is returned.\n\nThe identity `x.next_down() == -(-x).next_up()` holds for all non-NaN `x`. When `x`\nis finite `x == x.next_down().next_up()` also holds.\n\n```rust\nlet x = 1.0f32;\n// Clamp value into range [0, 1).\nlet clamped = x.clamp(0.0, 1.0f32.next_down());\nassert!(clamped < 1.0);\nassert_eq!(clamped.next_up(), 1.0);\n```\n\nThis operation corresponds to IEEE-754 `nextDown`.\n\n[`NEG_INFINITY`]: Self::NEG_INFINITY\n[`INFINITY`]: Self::INFINITY\n[`MIN`]: Self::MIN\n[`MAX`]: Self::MAX", "id": 9979, "inner": { "function": { @@ -798597,32 +821418,28 @@ ], "is_c_variadic": false, "output": { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "primitive": "f32" } } } }, "links": { - "Self::from_bits": 9976, - "f128::to_be_bytes": 9977, - "f128::to_le_bytes": 9978 + "Self::INFINITY": 9969, + "Self::MAX": 9961, + "Self::MIN": 9962, + "Self::NEG_INFINITY": 9970 }, - "name": "to_ne_bytes", + "name": "next_down", "span": { "begin": [ - 1034, + 805, 5 ], "end": [ - 1034, - 47 + 805, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, @@ -798711,11 +821528,11 @@ "name": null, "span": { "begin": [ - 2124, + 2119, 1 ], "end": [ - 2129, + 2124, 2 ], "filename": "std/src/collections/hash/map.rs" @@ -798725,17 +821542,20 @@ "9980": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in big endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f128::from_be_bytes(\n [0x40, 0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n);\nassert_eq!(value, 12.5);\n# }\n```", + "docs": "Takes the reciprocal (inverse) of a number, `1/x`.\n\n```\nlet x = 2.0_f32;\nlet abs_difference = (x.recip() - (1.0 / x)).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", "id": 9980, "inner": { "function": { @@ -798753,55 +821573,51 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": { - "Self::from_bits": 9976 - }, - "name": "from_be_bytes", + "links": {}, + "name": "recip", "span": { "begin": [ - 1060, + 837, 5 ], "end": [ - 1060, - 56 + 837, + 36 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9981": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"f32_deg_rad_conversions\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in little endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f128::from_le_bytes(\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x02, 0x40]\n);\nassert_eq!(value, 12.5);\n# }\n```", + "docs": "Converts radians to degrees.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet angle = std::f32::consts::PI;\n\nlet abs_difference = (angle.to_degrees() - 180.0).abs();\n# #[cfg(any(not(target_arch = \"x86\"), target_feature = \"sse2\"))]\nassert!(abs_difference <= f32::EPSILON);\n```", "id": 9981, "inner": { "function": { @@ -798819,55 +821635,51 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": { - "Self::from_bits": 9976 - }, - "name": "from_le_bytes", + "links": {}, + "name": "to_degrees", "span": { "begin": [ - 1086, + 862, 5 ], "end": [ - 1086, - 56 + 862, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9982": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 7, patch: 0})}, feature: \"f32_deg_rad_conversions\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Creates a floating point value from its representation as a byte array in native endian.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: f128::from_be_bytes\n[`from_le_bytes`]: f128::from_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `eqtf2` is available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet value = f128::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x40, 0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]\n} else {\n [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x02, 0x40]\n});\nassert_eq!(value, 12.5);\n# }\n```", + "docs": "Converts degrees to radians.\n\n# Unspecified precision\n\nThe precision of this function is non-deterministic. This means it varies by platform,\nRust version, and can even differ within the same execution from one invocation to the next.\n\n# Examples\n\n```\nlet angle = 180.0f32;\n\nlet abs_difference = (angle.to_radians() - std::f32::consts::PI).abs();\n\nassert!(abs_difference <= f32::EPSILON);\n```", "id": 9982, "inner": { "function": { @@ -798885,57 +821697,51 @@ "sig": { "inputs": [ [ - "bytes", + "self", { - "array": { - "len": "16", - "type": { - "primitive": "u8" - } - } + "generic": "Self" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": { - "Self::from_bits": 9976, - "f128::from_be_bytes": 9980, - "f128::from_le_bytes": 9981 - }, - "name": "from_ne_bytes", + "links": {}, + "name": "to_radians", "span": { "begin": [ - 1122, + 890, 5 ], "end": [ - 1122, - 56 + 890, + 41 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9983": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { - "reason": null + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the ordering between `self` and `other`.\n\nUnlike the standard partial comparison between floating point numbers,\nthis comparison always produces an ordering in accordance to\nthe `totalOrder` predicate as defined in the IEEE 754 (2008 revision)\nfloating point standard. The values are ordered in the following sequence:\n\n- negative quiet NaN\n- negative signaling NaN\n- negative infinity\n- negative numbers\n- negative subnormal numbers\n- negative zero\n- positive zero\n- positive subnormal numbers\n- positive numbers\n- positive infinity\n- positive signaling NaN\n- positive quiet NaN.\n\nThe ordering established by this function does not always agree with the\n[`PartialOrd`] and [`PartialEq`] implementations of `f128`. For example,\nthey consider negative and positive zero equal, while `total_cmp`\ndoesn't.\n\nThe interpretation of the signaling NaN bit follows the definition in\nthe IEEE 754 standard, which may not match the interpretation by some of\nthe older, non-conformant (e.g. MIPS) hardware implementations.\n\n# Example\n\n```\n#![feature(f128)]\n\nstruct GoodBoy {\n name: &'static str,\n weight: f128,\n}\n\nlet mut bois = vec![\n GoodBoy { name: \"Pucci\", weight: 0.1 },\n GoodBoy { name: \"Woofer\", weight: 99.0 },\n GoodBoy { name: \"Yapper\", weight: 10.0 },\n GoodBoy { name: \"Chonk\", weight: f128::INFINITY },\n GoodBoy { name: \"Abs. Unit\", weight: f128::NAN },\n GoodBoy { name: \"Floaty\", weight: -5.0 },\n];\n\nbois.sort_by(|a, b| a.weight.total_cmp(&b.weight));\n\n// `f128::NAN` could be positive or negative, which will affect the sort order.\nif f128::NAN.is_sign_negative() {\n bois.into_iter().map(|b| b.weight)\n .zip([f128::NAN, -5.0, 0.1, 10.0, 99.0, f128::INFINITY].iter())\n .for_each(|(a, b)| assert_eq!(a.to_bits(), b.to_bits()))\n} else {\n bois.into_iter().map(|b| b.weight)\n .zip([-5.0, 0.1, 10.0, 99.0, f128::INFINITY, f128::NAN].iter())\n .for_each(|(a, b)| assert_eq!(a.to_bits(), b.to_bits()))\n}\n```", + "docs": "Returns the maximum of the two numbers, ignoring NaN.\n\nIf one of the arguments is NaN, then the other argument is returned.\nThis follows the IEEE 754-2008 semantics for maxNum, except for handling of signaling NaNs;\nthis function handles all NaNs the same way and avoids maxNum's problems with associativity.\nThis also matches the behavior of libm’s fmax. In particular, if the inputs compare equal\n(such as for the case of `+0.0` and `-0.0`), either input may be returned non-deterministically.\n\n```\nlet x = 1.0f32;\nlet y = 2.0f32;\n\nassert_eq!(x.max(y), y);\n```", "id": 9983, "inner": { "function": { @@ -798947,7 +821753,7 @@ "header": { "abi": "Rust", "is_async": false, - "is_const": false, + "is_const": true, "is_unsafe": false }, "sig": { @@ -798955,71 +821761,52 @@ [ "self", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "generic": "Self" - } - } + "generic": "Self" } ], [ "other", { - "borrowed_ref": { - "is_mutable": false, - "lifetime": null, - "type": { - "primitive": "f128" - } - } + "primitive": "f32" } ] ], "is_c_variadic": false, "output": { - "resolved_path": { - "args": null, - "id": 2009, - "path": "Ordering" - } + "primitive": "f32" } } } }, - "links": { - "`PartialEq`": 123, - "`PartialOrd`": 127 - }, - "name": "total_cmp", + "links": {}, + "name": "max", "span": { "begin": [ - 1190, + 916, 5 ], "end": [ - 1190, - 66 + 916, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9984": { "attrs": [ { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 91079, is_soft: false}, feature: \"float_minimum_maximum\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Restrict a value to a certain interval unless it is NaN.\n\nReturns `max` if `self` is greater than `max`, and `min` if `self` is\nless than `min`. Otherwise this returns `self`.\n\nNote that this function returns NaN if the initial value was NaN as\nwell.\n\n# Panics\n\nPanics if `min > max`, `min` is NaN, or `max` is NaN.\n\n# Examples\n\n```\n#![feature(f128)]\n# // FIXME(f16_f128): remove when `{eq,gt,unord}tf` are available\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nassert!((-3.0f128).clamp(-2.0, 1.0) == -2.0);\nassert!((0.0f128).clamp(-2.0, 1.0) == 0.0);\nassert!((2.0f128).clamp(-2.0, 1.0) == 1.0);\nassert!((f128::NAN).clamp(-2.0, 1.0).is_nan());\n# }\n```", + "docs": "Returns the maximum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f32::max`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(float_minimum_maximum)]\nlet x = 1.0f32;\nlet y = 2.0f32;\n\nassert_eq!(x.maximum(y), y);\nassert!(x.maximum(f32::NAN).is_nan());\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the greater\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", "id": 9984, "inner": { "function": { @@ -799043,57 +821830,51 @@ } ], [ - "min", - { - "primitive": "f128" - } - ], - [ - "max", + "other", { - "primitive": "f128" + "primitive": "f32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": {}, - "name": "clamp", + "links": { + "`f32::max`": 9983, + "f32#nan-bit-patterns": 265 + }, + "name": "maximum", "span": { "begin": [ - 1250, + 965, 5 ], "end": [ - 1250, - 63 + 965, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9985": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 91079, is_soft: false}, feature: \"float_minimum_maximum\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the result of the comparison, without modifying either input" } } ], "crate_id": 1, "deprecation": null, - "docs": "Computes the absolute value of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet x = 3.5_f128;\nlet y = -3.5_f128;\n\nassert_eq!(x.abs(), x);\nassert_eq!(y.abs(), -y);\n\nassert!(f128::NAN.abs().is_nan());\n# }\n```", + "docs": "Returns the minimum of the two numbers, propagating NaN.\n\nThis returns NaN when *either* argument is NaN, as opposed to\n[`f32::min`] which only returns NaN when *both* arguments are NaN.\n\n```\n#![feature(float_minimum_maximum)]\nlet x = 1.0f32;\nlet y = 2.0f32;\n\nassert_eq!(x.minimum(y), x);\nassert!(x.minimum(f32::NAN).is_nan());\n```\n\nIf one of the arguments is NaN, then NaN is returned. Otherwise this returns the lesser\nof the two numbers. For this operation, -0.0 is considered to be less than +0.0.\nNote that this follows the semantics specified in IEEE 754-2019.\n\nAlso note that \"propagation\" of NaNs here doesn't necessarily mean that the bitpattern of a NaN\noperand is conserved; see the [specification of NaN bit patterns](f32#nan-bit-patterns) for more info.", "id": 9985, "inner": { "function": { @@ -799115,47 +821896,54 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": {}, - "name": "abs", + "links": { + "`f32::min`": 8894, + "f32#nan-bit-patterns": 265 + }, + "name": "minimum", "span": { "begin": [ - 1291, + 992, 5 ], "end": [ - 1291, - 35 + 992, + 50 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9986": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" + "other": "#[doc(alias = \"average\")]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\", promotable: false}}]" }, { - "must_use": { - "reason": "method returns a new number and does not mutate the original value" - } + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"num_midpoint\"}}]" } ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number that represents the sign of `self`.\n\n- `1.0` if the number is positive, `+0.0` or `INFINITY`\n- `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`\n- NaN if the number is NaN\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 3.5_f128;\n\nassert_eq!(f.signum(), 1.0);\nassert_eq!(f128::NEG_INFINITY.signum(), -1.0);\n\nassert!(f128::NAN.signum().is_nan());\n# }\n```", + "docs": "Calculates the midpoint (average) between `self` and `rhs`.\n\nThis returns NaN when *either* argument is NaN or if a combination of\n+inf and -inf is provided as arguments.\n\n# Examples\n\n```\nassert_eq!(1f32.midpoint(4.0), 2.5);\nassert_eq!((-5.5f32).midpoint(8.0), 1.25);\n```", "id": 9986, "inner": { "function": { @@ -799177,60 +821965,107 @@ { "generic": "Self" } + ], + [ + "other", + { + "primitive": "f32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "signum", + "name": "midpoint", "span": { "begin": [ - 1321, + 1011, 5 ], "end": [ - 1321, - 38 + 1011, + 51 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9987": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" - }, - { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 44, patch: 0})}, feature: \"float_approx_unchecked_to\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns a number composed of the magnitude of `self` and the sign of\n`sign`.\n\nEqual to `self` if the sign of `self` and `sign` are the same, otherwise equal to `-self`.\nIf `self` is a NaN, then a NaN with the same payload as `self` and the sign bit of `sign` is\nreturned.\n\nIf `sign` is a NaN, then this operation will still carry over its sign into the result. Note\nthat IEEE 754 doesn't assign any meaning to the sign bit in case of a NaN, and as Rust\ndoesn't guarantee that the bit pattern of NaNs are conserved over arithmetic operations, the\nresult of `copysign` with `sign` being a NaN might produce an unexpected or non-portable\nresult. See the [specification of NaN bit patterns](primitive@f32#nan-bit-patterns) for more\ninfo.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))] {\n\nlet f = 3.5_f128;\n\nassert_eq!(f.copysign(0.42), 3.5_f128);\nassert_eq!(f.copysign(-0.42), -3.5_f128);\nassert_eq!((-f).copysign(0.42), 3.5_f128);\nassert_eq!((-f).copysign(-0.42), -3.5_f128);\n\nassert!(f128::NAN.copysign(1.0).is_nan());\n# }\n```", + "docs": "Rounds toward zero and converts to any primitive integer type,\nassuming that the value is finite and fits in that type.\n\n```\nlet value = 4.6_f32;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, 4);\n\nlet value = -128.9_f32;\nlet rounded = unsafe { value.to_int_unchecked::() };\nassert_eq!(rounded, i8::MIN);\n```\n\n# Safety\n\nThe value must:\n\n* Not be `NaN`\n* Not be infinite\n* Be representable in the return type `Int`, after truncating off its fractional part", "id": 9987, "inner": { "function": { "generics": { - "params": [], - "where_predicates": [] + "params": [ + { + "kind": { + "type": { + "bounds": [], + "default": null, + "is_synthetic": false + } + }, + "name": "Int" + } + ], + "where_predicates": [ + { + "bound_predicate": { + "bounds": [ + { + "trait_bound": { + "generic_params": [], + "modifier": "none", + "trait": { + "args": { + "angle_bracketed": { + "args": [ + { + "type": { + "generic": "Int" + } + } + ], + "constraints": [] + } + }, + "id": 9866, + "path": "FloatToInt" + } + } + } + ], + "generic_params": [], + "type": { + "primitive": "f32" + } + } + } + ] }, "has_body": true, "header": { "abi": "Rust", "is_async": false, - "is_const": true, - "is_unsafe": false + "is_const": false, + "is_unsafe": true }, "sig": { "inputs": [ @@ -799239,55 +822074,47 @@ { "generic": "Self" } - ], - [ - "sign", - { - "primitive": "f128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "generic": "Int" } } } }, - "links": { - "primitive@f32#nan-bit-patterns": 267 - }, - "name": "copysign", + "links": {}, + "name": "to_int_unchecked", "span": { "begin": [ - 1359, + 1069, 5 ], "end": [ - 1359, - 52 + 1071, + 31 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9988": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"float_bits_conv\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Float addition that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "docs": "Raw transmutation from `u32`.\n\nThis is currently identical to `transmute::(v)` on all platforms.\nIt turns out this is incredibly portable, for two reasons:\n\n* Floats and Ints have the same endianness on all supported platforms.\n* IEEE 754 very precisely specifies the bit layout of floats.\n\nHowever there is one caveat: prior to the 2008 version of IEEE 754, how\nto interpret the NaN signaling bit wasn't actually specified. Most platforms\n(notably x86 and ARM) picked the interpretation that was ultimately\nstandardized in 2008, but some didn't (notably MIPS). As a result, all\nsignaling NaNs on MIPS are quiet NaNs on x86, and vice-versa.\n\nRather than trying to preserve signaling-ness cross-platform, this\nimplementation favors preserving the exact bits. This means that\nany payloads encoded in NaNs will be preserved even if the result of\nthis method is sent over the network from an x86 machine to a MIPS one.\n\nIf the results of this method are only manipulated by the same\narchitecture that produced them, then there is no portability concern.\n\nIf the input isn't NaN, then there is no portability concern.\n\nIf you don't care about signalingness (very likely), then there is no\nportability concern.\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n# Examples\n\n```\nlet v = f32::from_bits(0x41480000);\nassert_eq!(v, 12.5);\n```", "id": 9988, "inner": { "function": { @@ -799305,59 +822132,51 @@ "sig": { "inputs": [ [ - "self", - { - "generic": "Self" - } - ], - [ - "rhs", + "v", { - "primitive": "f128" + "primitive": "u32" } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": { - "primitive@f32#algebraic-operators": 267 - }, - "name": "algebraic_add", + "links": {}, + "name": "from_bits", "span": { "begin": [ - 1371, + 1147, 5 ], "end": [ - 1371, - 56 + 1147, + 43 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9989": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 20, patch: 0})}, feature: \"float_bits_conv\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Float subtraction that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "docs": "Raw transmutation to `u32`.\n\nThis is currently identical to `transmute::(self)` on all platforms.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\nNote that this function is distinct from `as` casting, which attempts to\npreserve the *numeric* value, and not the bitwise value.\n\n# Examples\n\n```\nassert_ne!((1f32).to_bits(), 1f32 as u32); // to_bits() is not casting!\nassert_eq!((12.5f32).to_bits(), 0x41480000);\n\n```", "id": 9989, "inner": { "function": { @@ -799379,35 +822198,29 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "f128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "u32" } } } }, "links": { - "primitive@f32#algebraic-operators": 267 + "Self::from_bits": 9988 }, - "name": "algebraic_sub", + "name": "to_bits", "span": { "begin": [ - 1382, + 1101, 5 ], "end": [ - 1382, - 56 + 1101, + 38 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, @@ -799491,11 +822304,11 @@ "name": null, "span": { "begin": [ - 2131, + 2126, 1 ], "end": [ - 2131, + 2126, 49 ], "filename": "std/src/collections/hash/map.rs" @@ -799505,20 +822318,20 @@ "9990": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Float multiplication that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "docs": "Returns the memory representation of this floating point number as a byte array in\nbig-endian (network) byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f32.to_be_bytes();\nassert_eq!(bytes, [0x41, 0x48, 0x00, 0x00]);\n```", "id": 9990, "inner": { "function": { @@ -799540,55 +822353,54 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "f128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } } } }, "links": { - "primitive@f32#algebraic-operators": 267 + "Self::from_bits": 9988 }, - "name": "algebraic_mul", + "name": "to_be_bytes", "span": { "begin": [ - 1393, + 1170, 5 ], "end": [ - 1393, - 56 + 1170, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9991": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Float division that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "docs": "Returns the memory representation of this floating point number as a byte array in\nlittle-endian byte order.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f32.to_le_bytes();\nassert_eq!(bytes, [0x00, 0x00, 0x48, 0x41]);\n```", "id": 9991, "inner": { "function": { @@ -799610,55 +822422,54 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "f128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } } } }, "links": { - "primitive@f32#algebraic-operators": 267 + "Self::from_bits": 9988 }, - "name": "algebraic_div", + "name": "to_le_bytes", "span": { "begin": [ - 1404, + 1191, 5 ], "end": [ - 1404, - 56 + 1191, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9992": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\",\npromotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 136469, is_soft: false}, feature: \"float_algebraic\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": "this returns the result of the operation, without modifying the original" } } ], "crate_id": 1, "deprecation": null, - "docs": "Float remainder that allows optimizations based on algebraic rules.\n\nSee [algebraic operators](primitive@f32#algebraic-operators) for more info.", + "docs": "Returns the memory representation of this floating point number as a byte array in\nnative byte order.\n\nAs the target platform's native endianness is used, portable code\nshould use [`to_be_bytes`] or [`to_le_bytes`], as appropriate, instead.\n\n[`to_be_bytes`]: f32::to_be_bytes\n[`to_le_bytes`]: f32::to_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet bytes = 12.5f32.to_ne_bytes();\nassert_eq!(\n bytes,\n if cfg!(target_endian = \"big\") {\n [0x41, 0x48, 0x00, 0x00]\n } else {\n [0x00, 0x00, 0x48, 0x41]\n }\n);\n```", "id": 9992, "inner": { "function": { @@ -799680,146 +822491,125 @@ { "generic": "Self" } - ], - [ - "rhs", - { - "primitive": "f128" - } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } } } }, "links": { - "primitive@f32#algebraic-operators": 267 + "Self::from_bits": 9988, + "f32::to_be_bytes": 9990, + "f32::to_le_bytes": 9991 }, - "name": "algebraic_rem", + "name": "to_ne_bytes", "span": { "begin": [ - 1415, + 1225, 5 ], "end": [ - 1415, - 56 + 1225, + 46 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9993": { - "attrs": [], + "attrs": [ + { + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" + }, + { + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" + }, + { + "must_use": { + "reason": null + } + } + ], "crate_id": 1, "deprecation": null, - "docs": null, + "docs": "Creates a floating point value from its representation as a byte array in big endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f32::from_be_bytes([0x41, 0x48, 0x00, 0x00]);\nassert_eq!(value, 12.5);\n```", "id": 9993, "inner": { - "impl": { - "blanket_impl": null, - "for": { - "primitive": "f128" - }, + "function": { "generics": { "params": [], "where_predicates": [] }, - "is_negative": false, - "is_synthetic": false, - "is_unsafe": false, - "items": [ - 9942, - 9943, - 9944, - 9945, - 9947, - 9949, - 9946, - 9948, - 9950, - 9951, - 9952, - 9953, - 9954, - 9955, - 9956, - 9957, - 9958, - 9959, - 9960, - 9961, - 9962, - 9963, - 9964, - 9965, - 9966, - 9967, - 9968, - 9969, - 9970, - 9971, - 9972, - 9973, - 9974, - 9975, - 9976, - 9977, - 9978, - 9979, - 9980, - 9981, - 9982, - 9983, - 9984, - 9985, - 9986, - 9987, - 9988, - 9989, - 9990, - 9991, - 9992 - ], - "provided_trait_methods": [], - "trait": null + "has_body": true, + "header": { + "abi": "Rust", + "is_async": false, + "is_const": true, + "is_unsafe": false + }, + "sig": { + "inputs": [ + [ + "bytes", + { + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } + } + ] + ], + "is_c_variadic": false, + "output": { + "primitive": "f32" + } + } } }, - "links": {}, - "name": null, + "links": { + "Self::from_bits": 9988 + }, + "name": "from_be_bytes", "span": { "begin": [ - 139, - 1 + 1244, + 5 ], "end": [ - 139, - 10 + 1244, + 55 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, - "visibility": "default" + "visibility": "public" }, "9994": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the largest integer less than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 3.7_f128;\nlet g = 3.0_f128;\nlet h = -3.7_f128;\n\nassert_eq!(f.floor(), 3.0);\nassert_eq!(g.floor(), 3.0);\nassert_eq!(h.floor(), -4.0);\n# }\n```", + "docs": "Creates a floating point value from its representation as a byte array in little endian.\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f32::from_le_bytes([0x00, 0x00, 0x48, 0x41]);\nassert_eq!(value, 12.5);\n```", "id": 9994, "inner": { "function": { @@ -799837,54 +822627,58 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": {}, - "name": "floor", + "links": { + "Self::from_bits": 9988 + }, + "name": "from_le_bytes", "span": { "begin": [ - 1452, + 1263, 5 ], "end": [ - 1452, - 37 + 1263, + 55 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9995": { "attrs": [ { - "other": "#[doc(alias = \"ceiling\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 83, patch: 0})}, feature: \"const_float_bits_conv\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 40, patch: 0})}, feature: \"float_to_from_bytes\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the smallest integer greater than or equal to `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 3.01_f128;\nlet g = 4.0_f128;\n\nassert_eq!(f.ceil(), 4.0);\nassert_eq!(g.ceil(), 4.0);\n# }\n```", + "docs": "Creates a floating point value from its representation as a byte array in native endian.\n\nAs the target platform's native endianness is used, portable code\nlikely wants to use [`from_be_bytes`] or [`from_le_bytes`], as\nappropriate instead.\n\n[`from_be_bytes`]: f32::from_be_bytes\n[`from_le_bytes`]: f32::from_le_bytes\n\nSee [`from_bits`](Self::from_bits) for some discussion of the\nportability of this operation (there are almost no issues).\n\n# Examples\n\n```\nlet value = f32::from_ne_bytes(if cfg!(target_endian = \"big\") {\n [0x41, 0x48, 0x00, 0x00]\n} else {\n [0x00, 0x00, 0x48, 0x41]\n});\nassert_eq!(value, 12.5);\n```", "id": 9995, "inner": { "function": { @@ -799902,51 +822696,60 @@ "sig": { "inputs": [ [ - "self", + "bytes", { - "generic": "Self" + "array": { + "len": "4", + "type": { + "primitive": "u8" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, - "links": {}, - "name": "ceil", + "links": { + "Self::from_bits": 9988, + "f32::from_be_bytes": 9993, + "f32::from_le_bytes": 9994 + }, + "name": "from_ne_bytes", "span": { "begin": [ - 1481, + 1293, 5 ], "end": [ - 1481, - 36 + 1293, + 55 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9996": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 143800, is_soft: false}, feature: \"const_cmp\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 62, patch: 0})}, feature: \"total_cmp\"}}]" }, { "must_use": { - "reason": "method returns a new number and does not mutate the original value" + "reason": null } } ], "crate_id": 1, "deprecation": null, - "docs": "Returns the nearest integer to `self`. If a value is half-way between two\nintegers, round away from `0.0`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 3.3_f128;\nlet g = -3.3_f128;\nlet h = -3.7_f128;\nlet i = 3.5_f128;\nlet j = 4.5_f128;\n\nassert_eq!(f.round(), 3.0);\nassert_eq!(g.round(), -3.0);\nassert_eq!(h.round(), -4.0);\nassert_eq!(i.round(), 4.0);\nassert_eq!(j.round(), 5.0);\n# }\n```", + "docs": "Returns the ordering between `self` and `other`.\n\nUnlike the standard partial comparison between floating point numbers,\nthis comparison always produces an ordering in accordance to\nthe `totalOrder` predicate as defined in the IEEE 754 (2008 revision)\nfloating point standard. The values are ordered in the following sequence:\n\n- negative quiet NaN\n- negative signaling NaN\n- negative infinity\n- negative numbers\n- negative subnormal numbers\n- negative zero\n- positive zero\n- positive subnormal numbers\n- positive numbers\n- positive infinity\n- positive signaling NaN\n- positive quiet NaN.\n\nThe ordering established by this function does not always agree with the\n[`PartialOrd`] and [`PartialEq`] implementations of `f32`. For example,\nthey consider negative and positive zero equal, while `total_cmp`\ndoesn't.\n\nThe interpretation of the signaling NaN bit follows the definition in\nthe IEEE 754 standard, which may not match the interpretation by some of\nthe older, non-conformant (e.g. MIPS) hardware implementations.\n\n# Example\n\n```\nstruct GoodBoy {\n name: String,\n weight: f32,\n}\n\nlet mut bois = vec![\n GoodBoy { name: \"Pucci\".to_owned(), weight: 0.1 },\n GoodBoy { name: \"Woofer\".to_owned(), weight: 99.0 },\n GoodBoy { name: \"Yapper\".to_owned(), weight: 10.0 },\n GoodBoy { name: \"Chonk\".to_owned(), weight: f32::INFINITY },\n GoodBoy { name: \"Abs. Unit\".to_owned(), weight: f32::NAN },\n GoodBoy { name: \"Floaty\".to_owned(), weight: -5.0 },\n];\n\nbois.sort_by(|a, b| a.weight.total_cmp(&b.weight));\n\n// `f32::NAN` could be positive or negative, which will affect the sort order.\nif f32::NAN.is_sign_negative() {\n assert!(bois.into_iter().map(|b| b.weight)\n .zip([f32::NAN, -5.0, 0.1, 10.0, 99.0, f32::INFINITY].iter())\n .all(|(a, b)| a.to_bits() == b.to_bits()))\n} else {\n assert!(bois.into_iter().map(|b| b.weight)\n .zip([-5.0, 0.1, 10.0, 99.0, f32::INFINITY, f32::NAN].iter())\n .all(|(a, b)| a.to_bits() == b.to_bits()))\n}\n```", "id": 9996, "inner": { "function": { @@ -799966,39 +822769,64 @@ [ "self", { - "generic": "Self" + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "generic": "Self" + } + } + } + ], + [ + "other", + { + "borrowed_ref": { + "is_mutable": false, + "lifetime": null, + "type": { + "primitive": "f32" + } + } } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "resolved_path": { + "args": null, + "id": 2007, + "path": "Ordering" + } } } } }, - "links": {}, - "name": "round", + "links": { + "`PartialEq`": 121, + "`PartialOrd`": 125 + }, + "name": "total_cmp", "span": { "begin": [ - 1516, + 1360, 5 ], "end": [ - 1516, - 37 + 1360, + 72 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9997": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 50, patch: 0})}, feature: \"clamp\"}}]" }, { "must_use": { @@ -800008,7 +822836,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the nearest integer to a number. Rounds half-way cases to the number\nwith an even least significant digit.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 3.3_f128;\nlet g = -3.3_f128;\nlet h = 3.5_f128;\nlet i = 4.5_f128;\n\nassert_eq!(f.round_ties_even(), 3.0);\nassert_eq!(g.round_ties_even(), -3.0);\nassert_eq!(h.round_ties_even(), 4.0);\nassert_eq!(i.round_ties_even(), 4.0);\n# }\n```", + "docs": "Restrict a value to a certain interval unless it is NaN.\n\nReturns `max` if `self` is greater than `max`, and `min` if `self` is\nless than `min`. Otherwise this returns `self`.\n\nNote that this function returns NaN if the initial value was NaN as\nwell.\n\n# Panics\n\nPanics if `min > max`, `min` is NaN, or `max` is NaN.\n\n# Examples\n\n```\nassert!((-3.0f32).clamp(-2.0, 1.0) == -2.0);\nassert!((0.0f32).clamp(-2.0, 1.0) == 0.0);\nassert!((2.0f32).clamp(-2.0, 1.0) == 1.0);\nassert!((f32::NAN).clamp(-2.0, 1.0).is_nan());\n```", "id": 9997, "inner": { "function": { @@ -800030,40 +822858,49 @@ { "generic": "Self" } + ], + [ + "min", + { + "primitive": "f32" + } + ], + [ + "max", + { + "primitive": "f32" + } ] ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "round_ties_even", + "name": "clamp", "span": { "begin": [ - 1549, + 1416, 5 ], "end": [ - 1549, - 47 + 1416, + 60 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9998": { "attrs": [ { - "other": "#[doc(alias = \"truncate\")]" - }, - { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -800073,7 +822910,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the integer part of `self`.\nThis means that non-integer numbers are always truncated towards zero.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet f = 3.7_f128;\nlet g = 3.0_f128;\nlet h = -3.7_f128;\n\nassert_eq!(f.trunc(), 3.0);\nassert_eq!(g.trunc(), 3.0);\nassert_eq!(h.trunc(), -3.0);\n# }\n```", + "docs": "Computes the absolute value of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\nlet x = 3.5_f32;\nlet y = -3.5_f32;\n\nassert_eq!(x.abs(), x);\nassert_eq!(y.abs(), -y);\n\nassert!(f32::NAN.abs().is_nan());\n```", "id": 9998, "inner": { "function": { @@ -800099,33 +822936,33 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "trunc", + "name": "abs", "span": { "begin": [ - 1580, + 1453, 5 ], "end": [ - 1580, - 37 + 1453, + 34 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" }, "9999": { "attrs": [ { - "other": "#[attr = ConstStability {stability: PartialConstStability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\", promotable: false}}]" + "other": "#[attr = ConstStability {stability: PartialConstStability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 85, patch: 0})}, feature: \"const_float_methods\", promotable: false}}]" }, { - "other": "#[attr = Stability {stability: Stability {level: Unstable {reason: None,\nissue: 116909, is_soft: false}, feature: \"f128\"}}]" + "other": "#[attr = Stability {stability: Stability {level: Stable {since: Version(RustcVersion {major: 1,\nminor: 0, patch: 0})}, feature: \"rust1\"}}]" }, { "must_use": { @@ -800135,7 +822972,7 @@ ], "crate_id": 1, "deprecation": null, - "docs": "Returns the fractional part of `self`.\n\nThis function always returns the precise result.\n\n# Examples\n\n```\n#![feature(f128)]\n# #[cfg(not(miri))]\n# #[cfg(target_has_reliable_f128_math)] {\n\nlet x = 3.6_f128;\nlet y = -3.6_f128;\nlet abs_difference_x = (x.fract() - 0.6).abs();\nlet abs_difference_y = (y.fract() - (-0.6)).abs();\n\nassert!(abs_difference_x <= f128::EPSILON);\nassert!(abs_difference_y <= f128::EPSILON);\n# }\n```", + "docs": "Returns a number that represents the sign of `self`.\n\n- `1.0` if the number is positive, `+0.0` or `INFINITY`\n- `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`\n- NaN if the number is NaN\n\n# Examples\n\n```\nlet f = 3.5_f32;\n\nassert_eq!(f.signum(), 1.0);\nassert_eq!(f32::NEG_INFINITY.signum(), -1.0);\n\nassert!(f32::NAN.signum().is_nan());\n```", "id": 9999, "inner": { "function": { @@ -800161,23 +822998,23 @@ ], "is_c_variadic": false, "output": { - "primitive": "f128" + "primitive": "f32" } } } }, "links": {}, - "name": "fract", + "name": "signum", "span": { "begin": [ - 1610, + 1477, 5 ], "end": [ - 1610, + 1477, 37 ], - "filename": "checkouts/rust/library/core/src/num/f128.rs" + "filename": "checkouts/rust/library/core/src/num/f32.rs" }, "visibility": "public" } @@ -800194,30 +823031,30 @@ }, "101": { "crate_id": 1, - "kind": "proc_derive", + "kind": "trait", "path": [ "core", - "clone", - "Clone" + "marker", + "Copy" ] }, - "10162": { + "103": { "crate_id": 1, - "kind": "struct", + "kind": "proc_derive", "path": [ "core", - "fmt", - "num_buffer", - "NumBuffer" + "marker", + "Copy" ] }, - "103": { + "10387": { "crate_id": 1, - "kind": "trait", + "kind": "struct", "path": [ "core", - "marker", - "Copy" + "fmt", + "num_buffer", + "NumBuffer" ] }, "105": { @@ -800225,23 +823062,23 @@ "kind": "proc_derive", "path": [ "core", - "marker", - "Copy" + "fmt", + "macros", + "Debug" ] }, "107": { "crate_id": 1, - "kind": "proc_derive", + "kind": "trait", "path": [ "core", - "fmt", - "macros", - "Debug" + "default", + "Default" ] }, "109": { "crate_id": 1, - "kind": "trait", + "kind": "proc_derive", "path": [ "core", "default", @@ -800260,16 +823097,16 @@ }, "111": { "crate_id": 1, - "kind": "proc_derive", + "kind": "trait", "path": [ "core", - "default", - "Default" + "cmp", + "Eq" ] }, "113": { "crate_id": 1, - "kind": "trait", + "kind": "proc_derive", "path": [ "core", "cmp", @@ -800322,7 +823159,17 @@ "Vacant" ] }, - "11416": { + "115": { + "crate_id": 1, + "kind": "proc_derive", + "path": [ + "core", + "hash", + "macros", + "Hash" + ] + }, + "11687": { "crate_id": 0, "kind": "primitive", "path": [ @@ -800330,16 +823177,25 @@ "isize" ] }, - "115": { + "117": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "cmp", + "Ord" + ] + }, + "119": { "crate_id": 1, "kind": "proc_derive", "path": [ "core", "cmp", - "Eq" + "Ord" ] }, - "11692": { + "11973": { "crate_id": 0, "kind": "primitive", "path": [ @@ -800347,7 +823203,7 @@ "reference" ] }, - "11693": { + "11974": { "crate_id": 0, "kind": "primitive", "path": [ @@ -800355,17 +823211,7 @@ "fn" ] }, - "117": { - "crate_id": 1, - "kind": "proc_derive", - "path": [ - "core", - "hash", - "macros", - "Hash" - ] - }, - "11705": { + "11986": { "crate_id": 1, "kind": "trait", "path": [ @@ -800374,7 +823220,7 @@ "FnPtr" ] }, - "11717": { + "11998": { "crate_id": 1, "kind": "struct", "path": [ @@ -800383,7 +823229,7 @@ "Error" ] }, - "11724": { + "12005": { "crate_id": 1, "kind": "struct", "path": [ @@ -800393,32 +823239,14 @@ "CharPredicateSearcher" ] }, - "11772": { - "crate_id": 1, - "kind": "constant", - "path": [ - "core", - "i32", - "MIN" - ] - }, - "11773": { - "crate_id": 1, - "kind": "constant", - "path": [ - "core", - "i32", - "MAX" - ] - }, - "11774": { + "12054": { "crate_id": 0, "kind": "module", "path": [ "std" ] }, - "11775": { + "12055": { "crate_id": 1, "kind": "trait", "path": [ @@ -800427,7 +823255,15 @@ "MetaSized" ] }, - "11776": { + "12056": { + "crate_id": 1, + "kind": "macro", + "path": [ + "core", + "format_args_nl" + ] + }, + "12057": { "crate_id": 1, "kind": "module", "path": [ @@ -800436,7 +823272,7 @@ "rust_future" ] }, - "11777": { + "12058": { "crate_id": 1, "kind": "function", "path": [ @@ -800445,7 +823281,7 @@ "panic_display" ] }, - "11778": { + "12059": { "crate_id": 1, "kind": "function", "path": [ @@ -800454,7 +823290,7 @@ "panic_fmt" ] }, - "11779": { + "12060": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -800464,7 +823300,7 @@ "Atomic" ] }, - "11780": { + "12061": { "crate_id": 1, "kind": "struct", "path": [ @@ -800474,7 +823310,7 @@ "AtomicBool" ] }, - "11781": { + "12062": { "crate_id": 1, "kind": "struct", "path": [ @@ -800484,7 +823320,7 @@ "AtomicUsize" ] }, - "11782": { + "12063": { "crate_id": 1, "kind": "enum", "path": [ @@ -800494,7 +823330,7 @@ "Ordering" ] }, - "11783": { + "12064": { "crate_id": 1, "kind": "struct", "path": [ @@ -800504,7 +823340,7 @@ "ManuallyDrop" ] }, - "11784": { + "12065": { "crate_id": 1, "kind": "struct", "path": [ @@ -800514,7 +823350,7 @@ "AtomicU64" ] }, - "11785": { + "12066": { "crate_id": 1, "kind": "variant", "path": [ @@ -800525,7 +823361,7 @@ "Relaxed" ] }, - "11786": { + "12067": { "crate_id": 1, "kind": "struct", "path": [ @@ -800534,7 +823370,7 @@ "UnsafeCell" ] }, - "11787": { + "12068": { "crate_id": 1, "kind": "struct", "path": [ @@ -800543,7 +823379,7 @@ "Pin" ] }, - "11788": { + "12069": { "crate_id": 1, "kind": "struct", "path": [ @@ -800552,7 +823388,7 @@ "Iter" ] }, - "11789": { + "12070": { "crate_id": 1, "kind": "struct", "path": [ @@ -800561,7 +823397,7 @@ "IterMut" ] }, - "11790": { + "12071": { "crate_id": 1, "kind": "struct", "path": [ @@ -800571,7 +823407,7 @@ "AtomicU8" ] }, - "11791": { + "12072": { "crate_id": 7, "kind": "module", "path": [ @@ -800579,7 +823415,7 @@ "hash_map" ] }, - "11792": { + "12073": { "crate_id": 7, "kind": "struct", "path": [ @@ -800588,7 +823424,7 @@ "HashMap" ] }, - "11793": { + "12074": { "crate_id": 7, "kind": "struct", "path": [ @@ -800597,7 +823433,7 @@ "Iter" ] }, - "11794": { + "12075": { "crate_id": 7, "kind": "struct", "path": [ @@ -800606,7 +823442,7 @@ "IterMut" ] }, - "11795": { + "12076": { "crate_id": 7, "kind": "struct", "path": [ @@ -800615,7 +823451,7 @@ "IntoIter" ] }, - "11796": { + "12077": { "crate_id": 7, "kind": "struct", "path": [ @@ -800624,7 +823460,7 @@ "Drain" ] }, - "11797": { + "12078": { "crate_id": 7, "kind": "struct", "path": [ @@ -800633,7 +823469,7 @@ "ExtractIf" ] }, - "11798": { + "12079": { "crate_id": 7, "kind": "struct", "path": [ @@ -800642,7 +823478,7 @@ "RustcOccupiedEntry" ] }, - "11799": { + "12080": { "crate_id": 7, "kind": "struct", "path": [ @@ -800651,7 +823487,7 @@ "RustcVacantEntry" ] }, - "11800": { + "12081": { "crate_id": 7, "kind": "enum", "path": [ @@ -800660,7 +823496,7 @@ "RustcEntry" ] }, - "11801": { + "12082": { "crate_id": 7, "kind": "enum", "path": [ @@ -800668,7 +823504,7 @@ "TryReserveError" ] }, - "11802": { + "12083": { "crate_id": 7, "kind": "module", "path": [ @@ -800676,7 +823512,7 @@ "hash_set" ] }, - "11803": { + "12084": { "crate_id": 1, "kind": "struct", "path": [ @@ -800687,7 +823523,7 @@ "Chain" ] }, - "11804": { + "12085": { "crate_id": 7, "kind": "struct", "path": [ @@ -800696,7 +823532,7 @@ "HashSet" ] }, - "11805": { + "12086": { "crate_id": 7, "kind": "enum", "path": [ @@ -800705,7 +823541,7 @@ "Entry" ] }, - "11806": { + "12087": { "crate_id": 7, "kind": "struct", "path": [ @@ -800714,7 +823550,7 @@ "Iter" ] }, - "11807": { + "12088": { "crate_id": 7, "kind": "struct", "path": [ @@ -800723,7 +823559,7 @@ "IntoIter" ] }, - "11808": { + "12089": { "crate_id": 7, "kind": "struct", "path": [ @@ -800732,7 +823568,7 @@ "Drain" ] }, - "11809": { + "12090": { "crate_id": 7, "kind": "struct", "path": [ @@ -800741,7 +823577,7 @@ "ExtractIf" ] }, - "11810": { + "12091": { "crate_id": 7, "kind": "struct", "path": [ @@ -800750,7 +823586,7 @@ "OccupiedEntry" ] }, - "11811": { + "12092": { "crate_id": 7, "kind": "struct", "path": [ @@ -800759,7 +823595,7 @@ "VacantEntry" ] }, - "11812": { + "12093": { "crate_id": 1, "kind": "enum", "path": [ @@ -800769,7 +823605,28 @@ "Bound" ] }, - "11813": { + "12094": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "slice", + "iter", + "Split" + ] + }, + "12095": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "iter", + "adapters", + "map", + "Map" + ] + }, + "12096": { "crate_id": 1, "kind": "struct", "path": [ @@ -800779,7 +823636,7 @@ "SipHasher13" ] }, - "11814": { + "12097": { "crate_id": 1, "kind": "module", "path": [ @@ -800788,7 +823645,7 @@ "memchr" ] }, - "11815": { + "12098": { "crate_id": 2, "kind": "struct", "path": [ @@ -800797,7 +823654,7 @@ "ArcInner" ] }, - "11816": { + "12099": { "crate_id": 2, "kind": "struct", "path": [ @@ -800806,7 +823663,16 @@ "Global" ] }, - "11817": { + "121": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "cmp", + "PartialEq" + ] + }, + "12100": { "crate_id": 1, "kind": "function", "path": [ @@ -800815,7 +823681,7 @@ "take" ] }, - "11818": { + "12101": { "crate_id": 4, "kind": "struct", "path": [ @@ -800825,7 +823691,7 @@ "sockaddr_un" ] }, - "11819": { + "12102": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -800836,7 +823702,7 @@ "socklen_t" ] }, - "11820": { + "12103": { "crate_id": 4, "kind": "struct", "path": [ @@ -800846,7 +823712,7 @@ "sockaddr" ] }, - "11821": { + "12104": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -800855,7 +823721,7 @@ "c_int" ] }, - "11822": { + "12105": { "crate_id": 1, "kind": "function", "path": [ @@ -800864,7 +823730,7 @@ "zeroed" ] }, - "11823": { + "12106": { "crate_id": 1, "kind": "function", "path": [ @@ -800873,7 +823739,7 @@ "read_unaligned" ] }, - "11824": { + "12107": { "crate_id": 1, "kind": "function", "path": [ @@ -800883,7 +823749,7 @@ "from_raw_parts" ] }, - "11825": { + "12108": { "crate_id": 4, "kind": "struct", "path": [ @@ -800894,7 +823760,7 @@ "ucred" ] }, - "11826": { + "12109": { "crate_id": 4, "kind": "struct", "path": [ @@ -800906,7 +823772,7 @@ "cmsghdr" ] }, - "11827": { + "12110": { "crate_id": 4, "kind": "constant", "path": [ @@ -800916,7 +823782,7 @@ "MSG_NOSIGNAL" ] }, - "11828": { + "12111": { "crate_id": 4, "kind": "constant", "path": [ @@ -800929,7 +823795,7 @@ "SO_PEERCRED" ] }, - "11829": { + "12112": { "crate_id": 4, "kind": "constant", "path": [ @@ -800942,7 +823808,7 @@ "SOL_SOCKET" ] }, - "11830": { + "12113": { "crate_id": 4, "kind": "function", "path": [ @@ -800951,7 +823817,25 @@ "getsockopt" ] }, - "11831": { + "12114": { + "crate_id": 2, + "kind": "struct", + "path": [ + "alloc", + "wtf8", + "Wtf8Buf" + ] + }, + "12115": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "wtf8", + "EncodeWide" + ] + }, + "12116": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -800961,7 +823845,7 @@ "NotAllOnes" ] }, - "11832": { + "12117": { "crate_id": 1, "kind": "trait", "path": [ @@ -800971,7 +823855,7 @@ "NotAllOnesHelper" ] }, - "11833": { + "12118": { "crate_id": 1, "kind": "macro", "path": [ @@ -800980,7 +823864,7 @@ "panic_2021" ] }, - "11834": { + "12119": { "crate_id": 1, "kind": "struct", "path": [ @@ -800990,7 +823874,7 @@ "AtomicPtr" ] }, - "11835": { + "12120": { "crate_id": 1, "kind": "module", "path": [ @@ -800999,7 +823883,7 @@ "simd" ] }, - "11836": { + "12121": { "crate_id": 1, "kind": "trait", "path": [ @@ -801009,7 +823893,7 @@ "AtomicPrimitive" ] }, - "11837": { + "12122": { "crate_id": 4, "kind": "function", "path": [ @@ -801020,7 +823904,7 @@ "sendfile64" ] }, - "11838": { + "12123": { "crate_id": 4, "kind": "constant", "path": [ @@ -801031,7 +823915,7 @@ "EBADF" ] }, - "11839": { + "12124": { "crate_id": 4, "kind": "constant", "path": [ @@ -801042,7 +823926,7 @@ "EINVAL" ] }, - "11840": { + "12125": { "crate_id": 4, "kind": "constant", "path": [ @@ -801056,7 +823940,7 @@ "ENOSYS" ] }, - "11841": { + "12126": { "crate_id": 4, "kind": "constant", "path": [ @@ -801070,7 +823954,7 @@ "EOPNOTSUPP" ] }, - "11842": { + "12127": { "crate_id": 4, "kind": "constant", "path": [ @@ -801084,7 +823968,7 @@ "EOVERFLOW" ] }, - "11843": { + "12128": { "crate_id": 4, "kind": "constant", "path": [ @@ -801095,7 +823979,7 @@ "EPERM" ] }, - "11844": { + "12129": { "crate_id": 4, "kind": "constant", "path": [ @@ -801106,7 +823990,7 @@ "EXDEV" ] }, - "11845": { + "12130": { "crate_id": 1, "kind": "function", "path": [ @@ -801115,7 +823999,7 @@ "min" ] }, - "11846": { + "12131": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -801124,28 +824008,7 @@ "c_char" ] }, - "11847": { - "crate_id": 1, - "kind": "struct", - "path": [ - "core", - "slice", - "iter", - "Split" - ] - }, - "11848": { - "crate_id": 1, - "kind": "struct", - "path": [ - "core", - "iter", - "adapters", - "map", - "Map" - ] - }, - "11849": { + "12132": { "crate_id": 1, "kind": "function", "path": [ @@ -801154,7 +824017,7 @@ "spin_loop" ] }, - "11850": { + "12133": { "crate_id": 4, "kind": "constant", "path": [ @@ -801168,7 +824031,7 @@ "MAP_ANON" ] }, - "11851": { + "12134": { "crate_id": 4, "kind": "constant", "path": [ @@ -801178,7 +824041,7 @@ "MAP_FAILED" ] }, - "11852": { + "12135": { "crate_id": 4, "kind": "constant", "path": [ @@ -801188,7 +824051,7 @@ "MAP_FIXED" ] }, - "11853": { + "12136": { "crate_id": 4, "kind": "constant", "path": [ @@ -801198,7 +824061,7 @@ "MAP_PRIVATE" ] }, - "11854": { + "12137": { "crate_id": 4, "kind": "constant", "path": [ @@ -801208,7 +824071,7 @@ "PROT_NONE" ] }, - "11855": { + "12138": { "crate_id": 4, "kind": "constant", "path": [ @@ -801218,7 +824081,7 @@ "PROT_READ" ] }, - "11856": { + "12139": { "crate_id": 4, "kind": "constant", "path": [ @@ -801228,7 +824091,7 @@ "PROT_WRITE" ] }, - "11857": { + "12140": { "crate_id": 4, "kind": "constant", "path": [ @@ -801242,7 +824105,7 @@ "SA_ONSTACK" ] }, - "11858": { + "12141": { "crate_id": 4, "kind": "constant", "path": [ @@ -801256,7 +824119,7 @@ "SA_SIGINFO" ] }, - "11859": { + "12142": { "crate_id": 4, "kind": "constant", "path": [ @@ -801265,7 +824128,7 @@ "SIG_DFL" ] }, - "11860": { + "12143": { "crate_id": 4, "kind": "constant", "path": [ @@ -801279,7 +824142,7 @@ "SIGBUS" ] }, - "11861": { + "12144": { "crate_id": 4, "kind": "constant", "path": [ @@ -801289,7 +824152,7 @@ "SIGSEGV" ] }, - "11862": { + "12145": { "crate_id": 4, "kind": "constant", "path": [ @@ -801299,7 +824162,7 @@ "SS_DISABLE" ] }, - "11863": { + "12146": { "crate_id": 4, "kind": "struct", "path": [ @@ -801313,7 +824176,7 @@ "sigaction" ] }, - "11864": { + "12147": { "crate_id": 4, "kind": "function", "path": [ @@ -801322,7 +824185,7 @@ "sigaction" ] }, - "11865": { + "12148": { "crate_id": 4, "kind": "function", "path": [ @@ -801333,7 +824196,7 @@ "sigaltstack" ] }, - "11866": { + "12149": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -801342,7 +824205,7 @@ "sighandler_t" ] }, - "11867": { + "12150": { "crate_id": 4, "kind": "function", "path": [ @@ -801352,7 +824215,7 @@ "mmap64" ] }, - "11868": { + "12151": { "crate_id": 4, "kind": "function", "path": [ @@ -801363,7 +824226,7 @@ "mprotect" ] }, - "11869": { + "12152": { "crate_id": 4, "kind": "function", "path": [ @@ -801372,7 +824235,7 @@ "munmap" ] }, - "11870": { + "12153": { "crate_id": 4, "kind": "struct", "path": [ @@ -801386,7 +824249,7 @@ "siginfo_t" ] }, - "11871": { + "12154": { "crate_id": 4, "kind": "struct", "path": [ @@ -801400,33 +824263,7 @@ "stack_t" ] }, - "11872": { - "crate_id": 4, - "kind": "type_alias", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "gnu", - "pthread_t" - ] - }, - "11873": { - "crate_id": 4, - "kind": "struct", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "gnu", - "b64", - "x86_64", - "pthread_attr_t" - ] - }, - "11874": { + "12155": { "crate_id": 1, "kind": "struct", "path": [ @@ -801436,7 +824273,7 @@ "Nanoseconds" ] }, - "11875": { + "12156": { "crate_id": 4, "kind": "struct", "path": [ @@ -801448,7 +824285,7 @@ "timespec" ] }, - "11876": { + "12157": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -801458,14 +824295,14 @@ "clockid_t" ] }, - "11877": { + "12158": { "crate_id": 6, "kind": "module", "path": [ "unwind" ] }, - "11878": { + "12159": { "crate_id": 6, "kind": "type_alias", "path": [ @@ -801474,7 +824311,7 @@ "_Unwind_Action" ] }, - "11879": { + "12160": { "crate_id": 6, "kind": "type_alias", "path": [ @@ -801483,7 +824320,7 @@ "_Unwind_Exception_Class" ] }, - "11880": { + "12161": { "crate_id": 6, "kind": "struct", "path": [ @@ -801492,7 +824329,7 @@ "_Unwind_Exception" ] }, - "11881": { + "12162": { "crate_id": 6, "kind": "enum", "path": [ @@ -801501,7 +824338,7 @@ "_Unwind_Context" ] }, - "11882": { + "12163": { "crate_id": 6, "kind": "enum", "path": [ @@ -801510,7 +824347,7 @@ "_Unwind_Reason_Code" ] }, - "11883": { + "12164": { "crate_id": 1, "kind": "struct", "path": [ @@ -801520,7 +824357,7 @@ "AtomicIsize" ] }, - "11884": { + "12165": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -801531,7 +824368,17 @@ "off64_t" ] }, - "11885": { + "12166": { + "crate_id": 4, + "kind": "function", + "path": [ + "libc", + "unix", + "linux_like", + "pread64" + ] + }, + "12167": { "crate_id": 4, "kind": "function", "path": [ @@ -801540,7 +824387,7 @@ "fdopendir" ] }, - "11886": { + "12168": { "crate_id": 4, "kind": "function", "path": [ @@ -801550,7 +824397,7 @@ "openat64" ] }, - "11887": { + "12169": { "crate_id": 4, "kind": "function", "path": [ @@ -801559,7 +824406,7 @@ "unlinkat" ] }, - "11888": { + "12170": { "crate_id": 4, "kind": "function", "path": [ @@ -801569,7 +824416,7 @@ "dirfd" ] }, - "11889": { + "12171": { "crate_id": 4, "kind": "function", "path": [ @@ -801579,7 +824426,7 @@ "fstatat64" ] }, - "11890": { + "12172": { "crate_id": 4, "kind": "function", "path": [ @@ -801589,7 +824436,7 @@ "readdir64" ] }, - "11891": { + "12173": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -801600,7 +824447,7 @@ "mode_t" ] }, - "11892": { + "12174": { "crate_id": 4, "kind": "struct", "path": [ @@ -801611,7 +824458,7 @@ "dirent64" ] }, - "11893": { + "12175": { "crate_id": 4, "kind": "function", "path": [ @@ -801621,7 +824468,7 @@ "fstat64" ] }, - "11894": { + "12176": { "crate_id": 4, "kind": "function", "path": [ @@ -801631,7 +824478,7 @@ "ftruncate64" ] }, - "11895": { + "12177": { "crate_id": 4, "kind": "function", "path": [ @@ -801641,7 +824488,7 @@ "lseek64" ] }, - "11896": { + "12178": { "crate_id": 4, "kind": "function", "path": [ @@ -801651,7 +824498,7 @@ "lstat64" ] }, - "11897": { + "12179": { "crate_id": 4, "kind": "function", "path": [ @@ -801661,7 +824508,7 @@ "open64" ] }, - "11898": { + "12180": { "crate_id": 4, "kind": "struct", "path": [ @@ -801675,7 +824522,7 @@ "stat64" ] }, - "11899": { + "12181": { "crate_id": 4, "kind": "function", "path": [ @@ -801685,16 +824532,7 @@ "stat64" ] }, - "119": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "cmp", - "Ord" - ] - }, - "11900": { + "12182": { "crate_id": 4, "kind": "struct", "path": [ @@ -801704,7 +824542,7 @@ "statx_timestamp" ] }, - "11901": { + "12183": { "crate_id": 4, "kind": "enum", "path": [ @@ -801713,7 +824551,7 @@ "DIR" ] }, - "11902": { + "12184": { "crate_id": 4, "kind": "struct", "path": [ @@ -801722,7 +824560,7 @@ "iovec" ] }, - "11903": { + "12185": { "crate_id": 4, "kind": "constant", "path": [ @@ -801732,7 +824570,7 @@ "MSG_PEEK" ] }, - "11904": { + "12186": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -801741,7 +824579,7 @@ "size_t" ] }, - "11905": { + "12187": { "crate_id": 4, "kind": "constant", "path": [ @@ -801754,14 +824592,14 @@ "SO_LINGER" ] }, - "11906": { + "12188": { "crate_id": 4, "kind": "module", "path": [ "libc" ] }, - "11907": { + "12189": { "crate_id": 4, "kind": "struct", "path": [ @@ -801773,7 +824611,7 @@ "msghdr" ] }, - "11908": { + "12190": { "crate_id": 4, "kind": "constant", "path": [ @@ -801783,7 +824621,7 @@ "IPV6_ADD_MEMBERSHIP" ] }, - "11909": { + "12191": { "crate_id": 4, "kind": "constant", "path": [ @@ -801793,7 +824631,7 @@ "IPV6_DROP_MEMBERSHIP" ] }, - "11910": { + "12192": { "crate_id": 4, "kind": "struct", "path": [ @@ -801803,7 +824641,7 @@ "in_addr" ] }, - "11911": { + "12193": { "crate_id": 4, "kind": "struct", "path": [ @@ -801812,7 +824650,7 @@ "in6_addr" ] }, - "11912": { + "12194": { "crate_id": 4, "kind": "struct", "path": [ @@ -801822,7 +824660,7 @@ "sockaddr_in" ] }, - "11913": { + "12195": { "crate_id": 4, "kind": "struct", "path": [ @@ -801832,7 +824670,7 @@ "sockaddr_in6" ] }, - "11914": { + "12196": { "crate_id": 4, "kind": "struct", "path": [ @@ -801842,7 +824680,7 @@ "sockaddr_storage" ] }, - "11915": { + "12197": { "crate_id": 4, "kind": "struct", "path": [ @@ -801852,7 +824690,7 @@ "addrinfo" ] }, - "11916": { + "12198": { "crate_id": 4, "kind": "constant", "path": [ @@ -801862,7 +824700,7 @@ "EXIT_FAILURE" ] }, - "11917": { + "12199": { "crate_id": 4, "kind": "constant", "path": [ @@ -801872,7 +824710,7 @@ "EXIT_SUCCESS" ] }, - "11918": { + "12200": { "crate_id": 2, "kind": "struct", "path": [ @@ -801883,7 +824721,7 @@ "Iter" ] }, - "11919": { + "12201": { "crate_id": 1, "kind": "variant", "path": [ @@ -801894,7 +824732,7 @@ "Acquire" ] }, - "11920": { + "12202": { "crate_id": 1, "kind": "variant", "path": [ @@ -801905,7 +824743,7 @@ "Release" ] }, - "11921": { + "12203": { "crate_id": 4, "kind": "constant", "path": [ @@ -801915,7 +824753,7 @@ "STDERR_FILENO" ] }, - "11922": { + "12204": { "crate_id": 4, "kind": "constant", "path": [ @@ -801925,7 +824763,7 @@ "STDIN_FILENO" ] }, - "11923": { + "12205": { "crate_id": 4, "kind": "constant", "path": [ @@ -801935,16 +824773,7 @@ "STDOUT_FILENO" ] }, - "11924": { - "crate_id": 1, - "kind": "function", - "path": [ - "core", - "ptr", - "drop_in_place" - ] - }, - "11925": { + "12206": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -801952,58 +824781,45 @@ "unix", "linux_like", "linux", - "pthread_key_t" - ] - }, - "11926": { - "crate_id": 1, - "kind": "constant", - "path": [ - "core", - "char", - "MAX_LEN_UTF8" - ] - }, - "11927": { - "crate_id": 1, - "kind": "constant", - "path": [ - "core", - "char", - "MAX_LEN_UTF16" + "gnu", + "pthread_t" ] }, - "11928": { - "crate_id": 1, - "kind": "function", + "12207": { + "crate_id": 4, + "kind": "struct", "path": [ - "core", - "char", - "methods", - "encode_utf8_raw" + "libc", + "unix", + "linux_like", + "linux", + "gnu", + "b64", + "x86_64", + "pthread_attr_t" ] }, - "11929": { + "12208": { "crate_id": 1, "kind": "function", "path": [ "core", - "char", - "methods", - "encode_utf16_raw" + "ptr", + "drop_in_place" ] }, - "11930": { - "crate_id": 1, - "kind": "function", + "12209": { + "crate_id": 4, + "kind": "type_alias", "path": [ - "core", - "str", - "validations", - "next_code_point" + "libc", + "unix", + "linux_like", + "linux", + "pthread_key_t" ] }, - "11931": { + "12210": { "crate_id": 1, "kind": "trait", "path": [ @@ -802012,7 +824828,7 @@ "PanicPayload" ] }, - "11932": { + "12211": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -802021,7 +824837,7 @@ "uintptr_t" ] }, - "11933": { + "12212": { "crate_id": 1, "kind": "macro", "path": [ @@ -802030,7 +824846,7 @@ "addr_of_mut" ] }, - "11934": { + "12213": { "crate_id": 1, "kind": "module", "path": [ @@ -802038,7 +824854,7 @@ "fmt" ] }, - "11935": { + "12214": { "crate_id": 1, "kind": "module", "path": [ @@ -802046,7 +824862,7 @@ "str" ] }, - "11936": { + "12215": { "crate_id": 10, "kind": "function", "path": [ @@ -802054,7 +824870,7 @@ "try_demangle" ] }, - "11937": { + "12216": { "crate_id": 10, "kind": "struct", "path": [ @@ -802062,7 +824878,7 @@ "Demangle" ] }, - "11938": { + "12217": { "crate_id": 1, "kind": "trait", "path": [ @@ -802071,7 +824887,7 @@ "UnsafeUnpin" ] }, - "11939": { + "12218": { "crate_id": 7, "kind": "trait", "path": [ @@ -802079,7 +824895,7 @@ "Equivalent" ] }, - "11940": { + "12219": { "crate_id": 1, "kind": "struct", "path": [ @@ -802089,7 +824905,7 @@ "Big32x40" ] }, - "11941": { + "12220": { "crate_id": 1, "kind": "struct", "path": [ @@ -802100,7 +824916,7 @@ "Big8x3" ] }, - "11942": { + "12221": { "crate_id": 1, "kind": "struct", "path": [ @@ -802111,7 +824927,7 @@ "BiasedFp" ] }, - "11943": { + "12222": { "crate_id": 1, "kind": "struct", "path": [ @@ -802122,7 +824938,7 @@ "Decimal" ] }, - "11944": { + "12223": { "crate_id": 1, "kind": "struct", "path": [ @@ -802133,7 +824949,7 @@ "DecimalSeq" ] }, - "11945": { + "12224": { "crate_id": 1, "kind": "enum", "path": [ @@ -802143,7 +824959,7 @@ "FloatErrorKind" ] }, - "11946": { + "12225": { "crate_id": 1, "kind": "struct", "path": [ @@ -802154,7 +824970,7 @@ "Decoded" ] }, - "11947": { + "12226": { "crate_id": 1, "kind": "enum", "path": [ @@ -802165,7 +824981,7 @@ "FullDecoded" ] }, - "11948": { + "12227": { "crate_id": 1, "kind": "enum", "path": [ @@ -802175,7 +824991,7 @@ "Sign" ] }, - "11949": { + "12228": { "crate_id": 1, "kind": "enum", "path": [ @@ -802185,7 +825001,7 @@ "Part" ] }, - "11950": { + "12229": { "crate_id": 1, "kind": "struct", "path": [ @@ -802195,7 +825011,7 @@ "NonZeroU8Inner" ] }, - "11951": { + "12230": { "crate_id": 1, "kind": "struct", "path": [ @@ -802205,7 +825021,7 @@ "NonZeroU16Inner" ] }, - "11952": { + "12231": { "crate_id": 1, "kind": "struct", "path": [ @@ -802215,7 +825031,7 @@ "NonZeroU32Inner" ] }, - "11953": { + "12232": { "crate_id": 1, "kind": "struct", "path": [ @@ -802225,7 +825041,7 @@ "NonZeroU64Inner" ] }, - "11954": { + "12233": { "crate_id": 1, "kind": "struct", "path": [ @@ -802235,7 +825051,7 @@ "NonZeroU128Inner" ] }, - "11955": { + "12234": { "crate_id": 1, "kind": "struct", "path": [ @@ -802245,7 +825061,7 @@ "NonZeroI8Inner" ] }, - "11956": { + "12235": { "crate_id": 1, "kind": "struct", "path": [ @@ -802255,7 +825071,7 @@ "NonZeroI16Inner" ] }, - "11957": { + "12236": { "crate_id": 1, "kind": "struct", "path": [ @@ -802265,7 +825081,7 @@ "NonZeroI32Inner" ] }, - "11958": { + "12237": { "crate_id": 1, "kind": "struct", "path": [ @@ -802275,7 +825091,7 @@ "NonZeroI64Inner" ] }, - "11959": { + "12238": { "crate_id": 1, "kind": "struct", "path": [ @@ -802285,7 +825101,7 @@ "NonZeroI128Inner" ] }, - "11960": { + "12239": { "crate_id": 1, "kind": "struct", "path": [ @@ -802295,7 +825111,7 @@ "NonZeroCharInner" ] }, - "11961": { + "12240": { "crate_id": 1, "kind": "struct", "path": [ @@ -802305,7 +825121,7 @@ "UsizeNoHighBit" ] }, - "11962": { + "12241": { "crate_id": 1, "kind": "struct", "path": [ @@ -802315,7 +825131,7 @@ "NonZeroUsizeInner" ] }, - "11963": { + "12242": { "crate_id": 1, "kind": "struct", "path": [ @@ -802325,7 +825141,7 @@ "NonZeroIsizeInner" ] }, - "11964": { + "12243": { "crate_id": 1, "kind": "struct", "path": [ @@ -802335,7 +825151,7 @@ "U32NotAllOnes" ] }, - "11965": { + "12244": { "crate_id": 1, "kind": "struct", "path": [ @@ -802345,7 +825161,7 @@ "I32NotAllOnes" ] }, - "11966": { + "12245": { "crate_id": 1, "kind": "struct", "path": [ @@ -802355,7 +825171,7 @@ "U64NotAllOnes" ] }, - "11967": { + "12246": { "crate_id": 1, "kind": "struct", "path": [ @@ -802365,7 +825181,17 @@ "I64NotAllOnes" ] }, - "11968": { + "12247": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "num", + "niche_types", + "CodePointInner" + ] + }, + "12248": { "crate_id": 1, "kind": "enum", "path": [ @@ -802374,7 +825200,7 @@ "AtomicOrdering" ] }, - "11969": { + "12249": { "crate_id": 1, "kind": "struct", "path": [ @@ -802384,7 +825210,7 @@ "Assume" ] }, - "11970": { + "12250": { "crate_id": 1, "kind": "struct", "path": [ @@ -802393,7 +825219,7 @@ "Discriminant" ] }, - "11971": { + "12251": { "crate_id": 1, "kind": "struct", "path": [ @@ -802403,7 +825229,7 @@ "Alignment" ] }, - "11972": { + "12252": { "crate_id": 1, "kind": "enum", "path": [ @@ -802413,7 +825239,7 @@ "AlignmentEnum" ] }, - "11973": { + "12253": { "crate_id": 1, "kind": "struct", "path": [ @@ -802423,7 +825249,7 @@ "DynMetadata" ] }, - "11974": { + "12254": { "crate_id": 1, "kind": "struct", "path": [ @@ -802432,7 +825258,7 @@ "Reverse" ] }, - "11975": { + "12255": { "crate_id": 1, "kind": "struct", "path": [ @@ -802442,7 +825268,7 @@ "PhantomCovariantLifetime" ] }, - "11976": { + "12256": { "crate_id": 1, "kind": "struct", "path": [ @@ -802452,7 +825278,7 @@ "PhantomContravariantLifetime" ] }, - "11977": { + "12257": { "crate_id": 1, "kind": "struct", "path": [ @@ -802462,7 +825288,7 @@ "PhantomInvariantLifetime" ] }, - "11978": { + "12258": { "crate_id": 1, "kind": "struct", "path": [ @@ -802472,7 +825298,7 @@ "PhantomCovariant" ] }, - "11979": { + "12259": { "crate_id": 1, "kind": "struct", "path": [ @@ -802482,7 +825308,7 @@ "PhantomContravariant" ] }, - "11980": { + "12260": { "crate_id": 1, "kind": "struct", "path": [ @@ -802492,7 +825318,7 @@ "PhantomInvariant" ] }, - "11981": { + "12261": { "crate_id": 1, "kind": "struct", "path": [ @@ -802501,7 +825327,7 @@ "PhantomPinned" ] }, - "11982": { + "12262": { "crate_id": 1, "kind": "enum", "path": [ @@ -802511,7 +825337,7 @@ "ControlFlow" ] }, - "11983": { + "12263": { "crate_id": 1, "kind": "enum", "path": [ @@ -802521,7 +825347,7 @@ "CoroutineState" ] }, - "11984": { + "12264": { "crate_id": 1, "kind": "struct", "path": [ @@ -802531,7 +825357,7 @@ "IndexRange" ] }, - "11985": { + "12265": { "crate_id": 1, "kind": "struct", "path": [ @@ -802541,7 +825367,7 @@ "RangeFrom" ] }, - "11986": { + "12266": { "crate_id": 1, "kind": "struct", "path": [ @@ -802551,7 +825377,7 @@ "RangeTo" ] }, - "11987": { + "12267": { "crate_id": 1, "kind": "struct", "path": [ @@ -802561,7 +825387,7 @@ "RangeInclusive" ] }, - "11988": { + "12268": { "crate_id": 1, "kind": "struct", "path": [ @@ -802571,7 +825397,7 @@ "RangeToInclusive" ] }, - "11989": { + "12269": { "crate_id": 1, "kind": "struct", "path": [ @@ -802581,7 +825407,7 @@ "ParseCharError" ] }, - "11990": { + "12270": { "crate_id": 1, "kind": "enum", "path": [ @@ -802591,7 +825417,7 @@ "CharErrorKind" ] }, - "11991": { + "12271": { "crate_id": 1, "kind": "struct", "path": [ @@ -802601,7 +825427,7 @@ "CharTryFromError" ] }, - "11992": { + "12272": { "crate_id": 1, "kind": "struct", "path": [ @@ -802611,7 +825437,7 @@ "DecodeUtf16Error" ] }, - "11993": { + "12273": { "crate_id": 1, "kind": "struct", "path": [ @@ -802620,7 +825446,7 @@ "TryFromCharError" ] }, - "11994": { + "12274": { "crate_id": 1, "kind": "enum", "path": [ @@ -802630,7 +825456,7 @@ "AddrKind" ] }, - "11995": { + "12275": { "crate_id": 1, "kind": "struct", "path": [ @@ -802639,7 +825465,7 @@ "Range" ] }, - "11996": { + "12276": { "crate_id": 1, "kind": "struct", "path": [ @@ -802648,7 +825474,7 @@ "RangeInclusive" ] }, - "11997": { + "12277": { "crate_id": 1, "kind": "struct", "path": [ @@ -802657,7 +825483,16 @@ "RangeFrom" ] }, - "11998": { + "12278": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "range", + "RangeToInclusive" + ] + }, + "12279": { "crate_id": 1, "kind": "enum", "path": [ @@ -802666,7 +825501,7 @@ "Alignment" ] }, - "11999": { + "12280": { "crate_id": 1, "kind": "enum", "path": [ @@ -802675,7 +825510,7 @@ "Sign" ] }, - "12000": { + "12281": { "crate_id": 1, "kind": "enum", "path": [ @@ -802684,7 +825519,7 @@ "DebugAsHex" ] }, - "12001": { + "12282": { "crate_id": 1, "kind": "struct", "path": [ @@ -802693,7 +825528,7 @@ "FormattingOptions" ] }, - "12002": { + "12283": { "crate_id": 1, "kind": "struct", "path": [ @@ -802702,7 +825537,7 @@ "BuildHasherDefault" ] }, - "12003": { + "12284": { "crate_id": 1, "kind": "enum", "path": [ @@ -802711,7 +825546,7 @@ "GetDisjointMutError" ] }, - "12004": { + "12285": { "crate_id": 1, "kind": "struct", "path": [ @@ -802721,7 +825556,7 @@ "ParseBoolError" ] }, - "12005": { + "12286": { "crate_id": 1, "kind": "enum", "path": [ @@ -802731,7 +825566,7 @@ "Utf8Pattern" ] }, - "12006": { + "12287": { "crate_id": 1, "kind": "enum", "path": [ @@ -802741,7 +825576,7 @@ "SearchStep" ] }, - "12007": { + "12288": { "crate_id": 1, "kind": "struct", "path": [ @@ -802751,7 +825586,7 @@ "Utf8Chunk" ] }, - "12008": { + "12289": { "crate_id": 1, "kind": "enum", "path": [ @@ -802760,7 +825595,36 @@ "TryFromFloatSecsErrorKind" ] }, - "12009": { + "1229": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "collections", + "hash", + "set", + "HashSet" + ] + }, + "12290": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "wtf8", + "CodePoint" + ] + }, + "12291": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "wtf8", + "Wtf8" + ] + }, + "12292": { "crate_id": 1, "kind": "enum", "path": [ @@ -802770,7 +825634,7 @@ "Poll" ] }, - "12010": { + "12293": { "crate_id": 1, "kind": "struct", "path": [ @@ -802780,7 +825644,7 @@ "RawWaker" ] }, - "12011": { + "12294": { "crate_id": 1, "kind": "struct", "path": [ @@ -802790,7 +825654,7 @@ "RawWakerVTable" ] }, - "12012": { + "12295": { "crate_id": 1, "kind": "struct", "path": [ @@ -802800,7 +825664,7 @@ "LayoutError" ] }, - "12013": { + "12296": { "crate_id": 1, "kind": "struct", "path": [ @@ -802810,7 +825674,7 @@ "u8x2" ] }, - "12014": { + "12297": { "crate_id": 1, "kind": "struct", "path": [ @@ -802820,7 +825684,7 @@ "i8x2" ] }, - "12015": { + "12298": { "crate_id": 1, "kind": "struct", "path": [ @@ -802830,7 +825694,7 @@ "u8x4" ] }, - "12016": { + "12299": { "crate_id": 1, "kind": "struct", "path": [ @@ -802840,7 +825704,16 @@ "u16x2" ] }, - "12017": { + "123": { + "crate_id": 1, + "kind": "proc_derive", + "path": [ + "core", + "cmp", + "PartialEq" + ] + }, + "12300": { "crate_id": 1, "kind": "struct", "path": [ @@ -802850,7 +825723,7 @@ "i8x4" ] }, - "12018": { + "12301": { "crate_id": 1, "kind": "struct", "path": [ @@ -802860,7 +825733,7 @@ "i16x2" ] }, - "12019": { + "12302": { "crate_id": 1, "kind": "struct", "path": [ @@ -802870,7 +825743,7 @@ "u8x8" ] }, - "12020": { + "12303": { "crate_id": 1, "kind": "struct", "path": [ @@ -802880,7 +825753,7 @@ "u16x4" ] }, - "12021": { + "12304": { "crate_id": 1, "kind": "struct", "path": [ @@ -802890,7 +825763,7 @@ "u32x2" ] }, - "12022": { + "12305": { "crate_id": 1, "kind": "struct", "path": [ @@ -802900,7 +825773,7 @@ "u64x1" ] }, - "12023": { + "12306": { "crate_id": 1, "kind": "struct", "path": [ @@ -802910,7 +825783,7 @@ "i8x8" ] }, - "12024": { + "12307": { "crate_id": 1, "kind": "struct", "path": [ @@ -802920,7 +825793,7 @@ "i16x4" ] }, - "12025": { + "12308": { "crate_id": 1, "kind": "struct", "path": [ @@ -802930,7 +825803,7 @@ "i32x2" ] }, - "12026": { + "12309": { "crate_id": 1, "kind": "struct", "path": [ @@ -802940,7 +825813,7 @@ "i64x1" ] }, - "12027": { + "12310": { "crate_id": 1, "kind": "struct", "path": [ @@ -802950,7 +825823,7 @@ "f32x2" ] }, - "12028": { + "12311": { "crate_id": 1, "kind": "struct", "path": [ @@ -802960,7 +825833,7 @@ "f64x1" ] }, - "12029": { + "12312": { "crate_id": 1, "kind": "struct", "path": [ @@ -802970,7 +825843,7 @@ "u8x16" ] }, - "12030": { + "12313": { "crate_id": 1, "kind": "struct", "path": [ @@ -802980,7 +825853,7 @@ "u16x8" ] }, - "12031": { + "12314": { "crate_id": 1, "kind": "struct", "path": [ @@ -802990,7 +825863,7 @@ "u32x4" ] }, - "12032": { + "12315": { "crate_id": 1, "kind": "struct", "path": [ @@ -803000,7 +825873,7 @@ "u64x2" ] }, - "12033": { + "12316": { "crate_id": 1, "kind": "struct", "path": [ @@ -803010,7 +825883,7 @@ "i8x16" ] }, - "12034": { + "12317": { "crate_id": 1, "kind": "struct", "path": [ @@ -803020,7 +825893,7 @@ "i16x8" ] }, - "12035": { + "12318": { "crate_id": 1, "kind": "struct", "path": [ @@ -803030,7 +825903,7 @@ "i32x4" ] }, - "12036": { + "12319": { "crate_id": 1, "kind": "struct", "path": [ @@ -803040,7 +825913,7 @@ "i64x2" ] }, - "12037": { + "12320": { "crate_id": 1, "kind": "struct", "path": [ @@ -803050,7 +825923,7 @@ "f16x4" ] }, - "12038": { + "12321": { "crate_id": 1, "kind": "struct", "path": [ @@ -803060,7 +825933,7 @@ "f16x8" ] }, - "12039": { + "12322": { "crate_id": 1, "kind": "struct", "path": [ @@ -803070,7 +825943,7 @@ "f32x4" ] }, - "12040": { + "12323": { "crate_id": 1, "kind": "struct", "path": [ @@ -803080,7 +825953,7 @@ "f64x2" ] }, - "12041": { + "12324": { "crate_id": 1, "kind": "struct", "path": [ @@ -803090,7 +825963,7 @@ "m8x16" ] }, - "12042": { + "12325": { "crate_id": 1, "kind": "struct", "path": [ @@ -803100,7 +825973,7 @@ "m16x8" ] }, - "12043": { + "12326": { "crate_id": 1, "kind": "struct", "path": [ @@ -803110,7 +825983,7 @@ "m32x4" ] }, - "12044": { + "12327": { "crate_id": 1, "kind": "struct", "path": [ @@ -803120,7 +825993,7 @@ "m64x2" ] }, - "12045": { + "12328": { "crate_id": 1, "kind": "struct", "path": [ @@ -803130,7 +826003,7 @@ "u8x32" ] }, - "12046": { + "12329": { "crate_id": 1, "kind": "struct", "path": [ @@ -803140,7 +826013,7 @@ "u16x16" ] }, - "12047": { + "12330": { "crate_id": 1, "kind": "struct", "path": [ @@ -803150,7 +826023,7 @@ "u32x8" ] }, - "12048": { + "12331": { "crate_id": 1, "kind": "struct", "path": [ @@ -803160,7 +826033,7 @@ "u64x4" ] }, - "12049": { + "12332": { "crate_id": 1, "kind": "struct", "path": [ @@ -803170,7 +826043,7 @@ "i8x32" ] }, - "12050": { + "12333": { "crate_id": 1, "kind": "struct", "path": [ @@ -803180,7 +826053,7 @@ "i16x16" ] }, - "12051": { + "12334": { "crate_id": 1, "kind": "struct", "path": [ @@ -803190,7 +826063,7 @@ "i32x8" ] }, - "12052": { + "12335": { "crate_id": 1, "kind": "struct", "path": [ @@ -803200,7 +826073,7 @@ "i64x4" ] }, - "12053": { + "12336": { "crate_id": 1, "kind": "struct", "path": [ @@ -803210,7 +826083,7 @@ "f16x16" ] }, - "12054": { + "12337": { "crate_id": 1, "kind": "struct", "path": [ @@ -803220,7 +826093,7 @@ "f32x8" ] }, - "12055": { + "12338": { "crate_id": 1, "kind": "struct", "path": [ @@ -803230,7 +826103,7 @@ "f64x4" ] }, - "12056": { + "12339": { "crate_id": 1, "kind": "struct", "path": [ @@ -803240,7 +826113,7 @@ "m8x32" ] }, - "12057": { + "12340": { "crate_id": 1, "kind": "struct", "path": [ @@ -803250,7 +826123,7 @@ "m16x16" ] }, - "12058": { + "12341": { "crate_id": 1, "kind": "struct", "path": [ @@ -803260,7 +826133,7 @@ "m32x8" ] }, - "12059": { + "12342": { "crate_id": 1, "kind": "struct", "path": [ @@ -803270,7 +826143,7 @@ "i8x64" ] }, - "12060": { + "12343": { "crate_id": 1, "kind": "struct", "path": [ @@ -803280,7 +826153,7 @@ "u8x64" ] }, - "12061": { + "12344": { "crate_id": 1, "kind": "struct", "path": [ @@ -803290,7 +826163,7 @@ "i16x32" ] }, - "12062": { + "12345": { "crate_id": 1, "kind": "struct", "path": [ @@ -803300,7 +826173,7 @@ "u16x32" ] }, - "12063": { + "12346": { "crate_id": 1, "kind": "struct", "path": [ @@ -803310,7 +826183,7 @@ "i32x16" ] }, - "12064": { + "12347": { "crate_id": 1, "kind": "struct", "path": [ @@ -803320,7 +826193,7 @@ "u32x16" ] }, - "12065": { + "12348": { "crate_id": 1, "kind": "struct", "path": [ @@ -803330,7 +826203,7 @@ "f16x32" ] }, - "12066": { + "12349": { "crate_id": 1, "kind": "struct", "path": [ @@ -803340,7 +826213,18 @@ "f32x16" ] }, - "12067": { + "1235": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "collections", + "hash", + "set", + "Iter" + ] + }, + "12350": { "crate_id": 1, "kind": "struct", "path": [ @@ -803350,7 +826234,7 @@ "i64x8" ] }, - "12068": { + "12351": { "crate_id": 1, "kind": "struct", "path": [ @@ -803360,7 +826244,7 @@ "u64x8" ] }, - "12069": { + "12352": { "crate_id": 1, "kind": "struct", "path": [ @@ -803370,7 +826254,7 @@ "f64x8" ] }, - "12070": { + "12353": { "crate_id": 1, "kind": "struct", "path": [ @@ -803380,7 +826264,7 @@ "u16x64" ] }, - "12071": { + "12354": { "crate_id": 1, "kind": "struct", "path": [ @@ -803390,7 +826274,7 @@ "i32x32" ] }, - "12072": { + "12355": { "crate_id": 1, "kind": "struct", "path": [ @@ -803400,7 +826284,7 @@ "u32x32" ] }, - "12073": { + "12356": { "crate_id": 1, "kind": "struct", "path": [ @@ -803411,7 +826295,7 @@ "CpuidResult" ] }, - "12074": { + "12357": { "crate_id": 1, "kind": "struct", "path": [ @@ -803422,7 +826306,7 @@ "Mask" ] }, - "12075": { + "12358": { "crate_id": 1, "kind": "struct", "path": [ @@ -803432,7 +826316,7 @@ "Mask" ] }, - "12076": { + "12359": { "crate_id": 1, "kind": "trait", "path": [ @@ -803442,7 +826326,7 @@ "MaskElement" ] }, - "12077": { + "12360": { "crate_id": 1, "kind": "trait", "path": [ @@ -803452,7 +826336,7 @@ "SimdElement" ] }, - "12078": { + "12361": { "crate_id": 1, "kind": "struct", "path": [ @@ -803462,7 +826346,7 @@ "Fp" ] }, - "12079": { + "12362": { "crate_id": 1, "kind": "struct", "path": [ @@ -803472,7 +826356,7 @@ "Formatted" ] }, - "12080": { + "12363": { "crate_id": 1, "kind": "struct", "path": [ @@ -803482,7 +826366,7 @@ "Unique" ] }, - "12081": { + "12364": { "crate_id": 1, "kind": "struct", "path": [ @@ -803491,7 +826375,7 @@ "Source" ] }, - "12082": { + "12365": { "crate_id": 1, "kind": "struct", "path": [ @@ -803502,7 +826386,7 @@ "PolymorphicIter" ] }, - "12083": { + "12366": { "crate_id": 1, "kind": "struct", "path": [ @@ -803511,7 +826395,7 @@ "TryFromSliceError" ] }, - "12084": { + "12367": { "crate_id": 1, "kind": "struct", "path": [ @@ -803521,7 +826405,7 @@ "FromIter" ] }, - "12085": { + "12368": { "crate_id": 1, "kind": "struct", "path": [ @@ -803530,7 +826414,7 @@ "BorrowRef" ] }, - "12086": { + "12369": { "crate_id": 1, "kind": "struct", "path": [ @@ -803539,7 +826423,7 @@ "CaseMappingIter" ] }, - "12087": { + "12370": { "crate_id": 1, "kind": "struct", "path": [ @@ -803549,7 +826433,7 @@ "Bytes" ] }, - "12088": { + "12371": { "crate_id": 1, "kind": "struct", "path": [ @@ -803560,7 +826444,7 @@ "ArrayChunks" ] }, - "12089": { + "12372": { "crate_id": 1, "kind": "struct", "path": [ @@ -803571,7 +826455,7 @@ "Copied" ] }, - "12090": { + "12373": { "crate_id": 1, "kind": "struct", "path": [ @@ -803582,7 +826466,7 @@ "Cycle" ] }, - "12091": { + "12374": { "crate_id": 1, "kind": "struct", "path": [ @@ -803593,7 +826477,7 @@ "Enumerate" ] }, - "12092": { + "12375": { "crate_id": 1, "kind": "struct", "path": [ @@ -803604,7 +826488,7 @@ "Filter" ] }, - "12093": { + "12376": { "crate_id": 1, "kind": "struct", "path": [ @@ -803615,7 +826499,7 @@ "FilterMap" ] }, - "12094": { + "12377": { "crate_id": 1, "kind": "struct", "path": [ @@ -803626,7 +826510,7 @@ "FlatMap" ] }, - "12095": { + "12378": { "crate_id": 1, "kind": "struct", "path": [ @@ -803637,7 +826521,7 @@ "Flatten" ] }, - "12096": { + "12379": { "crate_id": 1, "kind": "struct", "path": [ @@ -803648,7 +826532,7 @@ "FlattenCompat" ] }, - "12097": { + "12380": { "crate_id": 1, "kind": "struct", "path": [ @@ -803659,7 +826543,7 @@ "Fuse" ] }, - "12098": { + "12381": { "crate_id": 1, "kind": "struct", "path": [ @@ -803670,7 +826554,7 @@ "Inspect" ] }, - "12099": { + "12382": { "crate_id": 1, "kind": "struct", "path": [ @@ -803681,16 +826565,7 @@ "Intersperse" ] }, - "121": { - "crate_id": 1, - "kind": "proc_derive", - "path": [ - "core", - "cmp", - "Ord" - ] - }, - "12100": { + "12383": { "crate_id": 1, "kind": "struct", "path": [ @@ -803701,7 +826576,7 @@ "IntersperseWith" ] }, - "12101": { + "12384": { "crate_id": 1, "kind": "struct", "path": [ @@ -803712,7 +826587,7 @@ "MapWhile" ] }, - "12102": { + "12385": { "crate_id": 1, "kind": "struct", "path": [ @@ -803723,7 +826598,7 @@ "Buffer" ] }, - "12103": { + "12386": { "crate_id": 1, "kind": "struct", "path": [ @@ -803734,7 +826609,7 @@ "MapWindowsInner" ] }, - "12104": { + "12387": { "crate_id": 1, "kind": "struct", "path": [ @@ -803745,7 +826620,7 @@ "MapWindows" ] }, - "12105": { + "12388": { "crate_id": 1, "kind": "struct", "path": [ @@ -803756,7 +826631,7 @@ "Peekable" ] }, - "12106": { + "12389": { "crate_id": 1, "kind": "struct", "path": [ @@ -803767,7 +826642,18 @@ "Rev" ] }, - "12107": { + "1239": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "collections", + "hash", + "set", + "Drain" + ] + }, + "12390": { "crate_id": 1, "kind": "struct", "path": [ @@ -803778,7 +826664,7 @@ "Scan" ] }, - "12108": { + "12391": { "crate_id": 1, "kind": "struct", "path": [ @@ -803789,7 +826675,7 @@ "Skip" ] }, - "12109": { + "12392": { "crate_id": 1, "kind": "struct", "path": [ @@ -803800,7 +826686,7 @@ "SkipWhile" ] }, - "12110": { + "12393": { "crate_id": 1, "kind": "struct", "path": [ @@ -803811,7 +826697,7 @@ "StepBy" ] }, - "12111": { + "12394": { "crate_id": 1, "kind": "struct", "path": [ @@ -803822,7 +826708,7 @@ "Take" ] }, - "12112": { + "12395": { "crate_id": 1, "kind": "struct", "path": [ @@ -803833,7 +826719,7 @@ "TakeWhile" ] }, - "12113": { + "12396": { "crate_id": 1, "kind": "struct", "path": [ @@ -803844,7 +826730,7 @@ "Zip" ] }, - "12114": { + "12397": { "crate_id": 1, "kind": "struct", "path": [ @@ -803855,7 +826741,7 @@ "Empty" ] }, - "12115": { + "12398": { "crate_id": 1, "kind": "struct", "path": [ @@ -803866,7 +826752,7 @@ "FromCoroutine" ] }, - "12116": { + "12399": { "crate_id": 1, "kind": "struct", "path": [ @@ -803877,7 +826763,7 @@ "FromFn" ] }, - "12117": { + "12400": { "crate_id": 1, "kind": "struct", "path": [ @@ -803888,7 +826774,7 @@ "Once" ] }, - "12118": { + "12401": { "crate_id": 1, "kind": "struct", "path": [ @@ -803899,7 +826785,7 @@ "OnceWith" ] }, - "12119": { + "12402": { "crate_id": 1, "kind": "struct", "path": [ @@ -803910,7 +826796,7 @@ "Repeat" ] }, - "12120": { + "12403": { "crate_id": 1, "kind": "struct", "path": [ @@ -803921,7 +826807,7 @@ "RepeatNInner" ] }, - "12121": { + "12404": { "crate_id": 1, "kind": "struct", "path": [ @@ -803932,7 +826818,7 @@ "RepeatN" ] }, - "12122": { + "12405": { "crate_id": 1, "kind": "struct", "path": [ @@ -803943,7 +826829,7 @@ "RepeatWith" ] }, - "12123": { + "12406": { "crate_id": 1, "kind": "struct", "path": [ @@ -803954,7 +826840,7 @@ "Successors" ] }, - "12124": { + "12407": { "crate_id": 1, "kind": "struct", "path": [ @@ -803965,7 +826851,7 @@ "Span" ] }, - "12125": { + "12408": { "crate_id": 1, "kind": "struct", "path": [ @@ -803974,7 +826860,7 @@ "Item" ] }, - "12126": { + "12409": { "crate_id": 1, "kind": "struct", "path": [ @@ -803983,7 +826869,7 @@ "Iter" ] }, - "12127": { + "12410": { "crate_id": 1, "kind": "struct", "path": [ @@ -803993,7 +826879,7 @@ "IterRange" ] }, - "12128": { + "12411": { "crate_id": 1, "kind": "struct", "path": [ @@ -804003,7 +826889,7 @@ "IterRangeInclusive" ] }, - "12129": { + "12412": { "crate_id": 1, "kind": "struct", "path": [ @@ -804013,7 +826899,7 @@ "IterRangeFrom" ] }, - "12130": { + "12413": { "crate_id": 1, "kind": "struct", "path": [ @@ -804022,7 +826908,7 @@ "IntoIter" ] }, - "12131": { + "12414": { "crate_id": 1, "kind": "struct", "path": [ @@ -804032,7 +826918,7 @@ "Placeholder" ] }, - "12132": { + "12415": { "crate_id": 1, "kind": "enum", "path": [ @@ -804042,7 +826928,7 @@ "Count" ] }, - "12133": { + "12416": { "crate_id": 1, "kind": "enum", "path": [ @@ -804052,7 +826938,7 @@ "ArgumentType" ] }, - "12134": { + "12417": { "crate_id": 1, "kind": "struct", "path": [ @@ -804062,7 +826948,7 @@ "Argument" ] }, - "12135": { + "12418": { "crate_id": 1, "kind": "struct", "path": [ @@ -804072,7 +826958,7 @@ "SipHasher24" ] }, - "12136": { + "12419": { "crate_id": 1, "kind": "struct", "path": [ @@ -804082,7 +826968,18 @@ "SipHasher" ] }, - "12137": { + "1242": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "collections", + "hash", + "set", + "ExtractIf" + ] + }, + "12420": { "crate_id": 1, "kind": "struct", "path": [ @@ -804092,7 +826989,7 @@ "State" ] }, - "12138": { + "12421": { "crate_id": 1, "kind": "struct", "path": [ @@ -804102,7 +826999,7 @@ "Hasher" ] }, - "12139": { + "12422": { "crate_id": 1, "kind": "struct", "path": [ @@ -804112,7 +827009,7 @@ "Sip13Rounds" ] }, - "12140": { + "12423": { "crate_id": 1, "kind": "struct", "path": [ @@ -804122,7 +827019,7 @@ "Sip24Rounds" ] }, - "12141": { + "12424": { "crate_id": 1, "kind": "struct", "path": [ @@ -804134,7 +827031,7 @@ "DriftsortRun" ] }, - "12142": { + "12425": { "crate_id": 1, "kind": "struct", "path": [ @@ -804144,7 +827041,7 @@ "EscapeByte" ] }, - "12143": { + "12426": { "crate_id": 1, "kind": "struct", "path": [ @@ -804154,7 +827051,7 @@ "EscapeAscii" ] }, - "12144": { + "12427": { "crate_id": 1, "kind": "struct", "path": [ @@ -804164,7 +827061,7 @@ "SplitInclusive" ] }, - "12145": { + "12428": { "crate_id": 1, "kind": "struct", "path": [ @@ -804174,7 +827071,7 @@ "RSplit" ] }, - "12146": { + "12429": { "crate_id": 1, "kind": "struct", "path": [ @@ -804184,7 +827081,7 @@ "Windows" ] }, - "12147": { + "12430": { "crate_id": 1, "kind": "struct", "path": [ @@ -804194,7 +827091,7 @@ "Chunks" ] }, - "12148": { + "12431": { "crate_id": 1, "kind": "struct", "path": [ @@ -804204,7 +827101,7 @@ "ChunksExact" ] }, - "12149": { + "12432": { "crate_id": 1, "kind": "struct", "path": [ @@ -804214,7 +827111,7 @@ "ArrayWindows" ] }, - "12150": { + "12433": { "crate_id": 1, "kind": "struct", "path": [ @@ -804224,7 +827121,7 @@ "RChunks" ] }, - "12151": { + "12434": { "crate_id": 1, "kind": "struct", "path": [ @@ -804234,7 +827131,7 @@ "RChunksExact" ] }, - "12152": { + "12435": { "crate_id": 1, "kind": "struct", "path": [ @@ -804244,7 +827141,7 @@ "ChunkBy" ] }, - "12153": { + "12436": { "crate_id": 1, "kind": "struct", "path": [ @@ -804254,7 +827151,7 @@ "SplitInternal" ] }, - "12154": { + "12437": { "crate_id": 1, "kind": "struct", "path": [ @@ -804264,7 +827161,7 @@ "SplitNInternal" ] }, - "12155": { + "12438": { "crate_id": 1, "kind": "struct", "path": [ @@ -804274,7 +827171,7 @@ "MatchIndicesInternal" ] }, - "12156": { + "12439": { "crate_id": 1, "kind": "struct", "path": [ @@ -804284,7 +827181,7 @@ "MatchesInternal" ] }, - "12157": { + "12440": { "crate_id": 1, "kind": "struct", "path": [ @@ -804294,7 +827191,7 @@ "CharSearcher" ] }, - "12158": { + "12441": { "crate_id": 1, "kind": "struct", "path": [ @@ -804304,7 +827201,7 @@ "MultiCharEqSearcher" ] }, - "12159": { + "12442": { "crate_id": 1, "kind": "struct", "path": [ @@ -804314,7 +827211,7 @@ "CharArraySearcher" ] }, - "12160": { + "12443": { "crate_id": 1, "kind": "struct", "path": [ @@ -804324,7 +827221,7 @@ "CharArrayRefSearcher" ] }, - "12161": { + "12444": { "crate_id": 1, "kind": "struct", "path": [ @@ -804334,7 +827231,7 @@ "CharSliceSearcher" ] }, - "12162": { + "12445": { "crate_id": 1, "kind": "struct", "path": [ @@ -804344,7 +827241,7 @@ "StrSearcher" ] }, - "12163": { + "12446": { "crate_id": 1, "kind": "enum", "path": [ @@ -804354,7 +827251,7 @@ "StrSearcherImpl" ] }, - "12164": { + "12447": { "crate_id": 1, "kind": "struct", "path": [ @@ -804364,7 +827261,7 @@ "EmptyNeedle" ] }, - "12165": { + "12448": { "crate_id": 1, "kind": "struct", "path": [ @@ -804374,7 +827271,7 @@ "TwoWaySearcher" ] }, - "12166": { + "12449": { "crate_id": 1, "kind": "struct", "path": [ @@ -804384,7 +827281,7 @@ "Utf8Chunks" ] }, - "12167": { + "12450": { "crate_id": 1, "kind": "struct", "path": [ @@ -804393,7 +827290,7 @@ "LinesMap" ] }, - "12168": { + "12451": { "crate_id": 1, "kind": "struct", "path": [ @@ -804402,7 +827299,7 @@ "CharEscapeDebugContinue" ] }, - "12169": { + "12452": { "crate_id": 1, "kind": "struct", "path": [ @@ -804411,7 +827308,7 @@ "CharEscapeUnicode" ] }, - "12170": { + "12453": { "crate_id": 1, "kind": "struct", "path": [ @@ -804420,7 +827317,7 @@ "CharEscapeDefault" ] }, - "12171": { + "12454": { "crate_id": 1, "kind": "struct", "path": [ @@ -804429,7 +827326,7 @@ "IsWhitespace" ] }, - "12172": { + "12455": { "crate_id": 1, "kind": "struct", "path": [ @@ -804438,7 +827335,7 @@ "IsAsciiWhitespace" ] }, - "12173": { + "12456": { "crate_id": 1, "kind": "struct", "path": [ @@ -804447,7 +827344,7 @@ "IsNotEmpty" ] }, - "12174": { + "12457": { "crate_id": 1, "kind": "struct", "path": [ @@ -804456,7 +827353,7 @@ "BytesIsNotEmpty" ] }, - "12175": { + "12458": { "crate_id": 1, "kind": "struct", "path": [ @@ -804465,7 +827362,16 @@ "UnsafeBytesToStr" ] }, - "12176": { + "12459": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "wtf8", + "Wtf8CodePoints" + ] + }, + "12460": { "crate_id": 1, "kind": "struct", "path": [ @@ -804475,7 +827381,7 @@ "Pending" ] }, - "12177": { + "12461": { "crate_id": 1, "kind": "struct", "path": [ @@ -804485,7 +827391,7 @@ "Ready" ] }, - "12178": { + "12462": { "crate_id": 1, "kind": "struct", "path": [ @@ -804494,7 +827400,7 @@ "ResumeTy" ] }, - "12179": { + "12463": { "crate_id": 1, "kind": "struct", "path": [ @@ -804504,7 +827410,7 @@ "Waker" ] }, - "12180": { + "12464": { "crate_id": 1, "kind": "struct", "path": [ @@ -804514,7 +827420,7 @@ "LocalWaker" ] }, - "12181": { + "12465": { "crate_id": 1, "kind": "union", "path": [ @@ -804523,7 +827429,7 @@ "MaybeEscapedCharacter" ] }, - "12182": { + "12466": { "crate_id": 1, "kind": "struct", "path": [ @@ -804532,7 +827438,7 @@ "AlwaysEscaped" ] }, - "12183": { + "12467": { "crate_id": 1, "kind": "struct", "path": [ @@ -804541,7 +827447,7 @@ "MaybeEscaped" ] }, - "12184": { + "12468": { "crate_id": 1, "kind": "struct", "path": [ @@ -804550,7 +827456,7 @@ "EscapeIterInner" ] }, - "12185": { + "12469": { "crate_id": 1, "kind": "struct", "path": [ @@ -804561,7 +827467,7 @@ "JustOne" ] }, - "12186": { + "12470": { "crate_id": 1, "kind": "struct", "path": [ @@ -804572,7 +827478,7 @@ "JustOne" ] }, - "12187": { + "12471": { "crate_id": 1, "kind": "struct", "path": [ @@ -804583,7 +827489,7 @@ "JustOne" ] }, - "12188": { + "12472": { "crate_id": 1, "kind": "struct", "path": [ @@ -804594,7 +827500,7 @@ "JustOne" ] }, - "12189": { + "12473": { "crate_id": 1, "kind": "struct", "path": [ @@ -804605,7 +827511,7 @@ "JustOne" ] }, - "12190": { + "12474": { "crate_id": 1, "kind": "struct", "path": [ @@ -804616,7 +827522,7 @@ "JustOne" ] }, - "12191": { + "12475": { "crate_id": 1, "kind": "struct", "path": [ @@ -804627,7 +827533,7 @@ "JustOne" ] }, - "12192": { + "12476": { "crate_id": 1, "kind": "struct", "path": [ @@ -804638,7 +827544,7 @@ "JustOne" ] }, - "12193": { + "12477": { "crate_id": 1, "kind": "struct", "path": [ @@ -804649,7 +827555,7 @@ "JustOne" ] }, - "12194": { + "12478": { "crate_id": 1, "kind": "struct", "path": [ @@ -804660,7 +827566,7 @@ "JustOne" ] }, - "12195": { + "12479": { "crate_id": 1, "kind": "struct", "path": [ @@ -804671,7 +827577,7 @@ "JustOne" ] }, - "12196": { + "12480": { "crate_id": 1, "kind": "struct", "path": [ @@ -804682,7 +827588,7 @@ "JustOne" ] }, - "12197": { + "12481": { "crate_id": 1, "kind": "struct", "path": [ @@ -804693,7 +827599,7 @@ "JustOne" ] }, - "12198": { + "12482": { "crate_id": 1, "kind": "struct", "path": [ @@ -804704,7 +827610,7 @@ "JustOne" ] }, - "12199": { + "12483": { "crate_id": 1, "kind": "struct", "path": [ @@ -804715,7 +827621,7 @@ "JustOne" ] }, - "12200": { + "12484": { "crate_id": 1, "kind": "struct", "path": [ @@ -804726,7 +827632,7 @@ "JustOne" ] }, - "12201": { + "12485": { "crate_id": 1, "kind": "struct", "path": [ @@ -804737,7 +827643,7 @@ "JustOne" ] }, - "12202": { + "12486": { "crate_id": 1, "kind": "struct", "path": [ @@ -804748,7 +827654,7 @@ "JustOne" ] }, - "12203": { + "12487": { "crate_id": 1, "kind": "struct", "path": [ @@ -804759,7 +827665,7 @@ "JustOne" ] }, - "12204": { + "12488": { "crate_id": 1, "kind": "struct", "path": [ @@ -804770,7 +827676,7 @@ "JustOne" ] }, - "12205": { + "12489": { "crate_id": 1, "kind": "struct", "path": [ @@ -804781,7 +827687,7 @@ "JustOne" ] }, - "12206": { + "12490": { "crate_id": 1, "kind": "struct", "path": [ @@ -804792,7 +827698,7 @@ "JustOne" ] }, - "12207": { + "12491": { "crate_id": 1, "kind": "struct", "path": [ @@ -804803,7 +827709,7 @@ "JustOne" ] }, - "12208": { + "12492": { "crate_id": 1, "kind": "struct", "path": [ @@ -804814,7 +827720,7 @@ "JustOne" ] }, - "12209": { + "12493": { "crate_id": 1, "kind": "struct", "path": [ @@ -804825,7 +827731,7 @@ "JustOne" ] }, - "12210": { + "12494": { "crate_id": 1, "kind": "struct", "path": [ @@ -804836,7 +827742,7 @@ "JustOne" ] }, - "12211": { + "12495": { "crate_id": 1, "kind": "struct", "path": [ @@ -804847,7 +827753,7 @@ "JustOne" ] }, - "12212": { + "12496": { "crate_id": 1, "kind": "struct", "path": [ @@ -804858,7 +827764,7 @@ "JustOne" ] }, - "12213": { + "12497": { "crate_id": 1, "kind": "struct", "path": [ @@ -804869,7 +827775,7 @@ "JustOne" ] }, - "12214": { + "12498": { "crate_id": 1, "kind": "struct", "path": [ @@ -804880,7 +827786,7 @@ "JustOne" ] }, - "12215": { + "12499": { "crate_id": 1, "kind": "struct", "path": [ @@ -804891,7 +827797,16 @@ "JustOne" ] }, - "12216": { + "125": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "cmp", + "PartialOrd" + ] + }, + "12500": { "crate_id": 1, "kind": "struct", "path": [ @@ -804902,7 +827817,7 @@ "JustOne" ] }, - "12217": { + "12501": { "crate_id": 1, "kind": "struct", "path": [ @@ -804913,7 +827828,7 @@ "JustOne" ] }, - "12218": { + "12502": { "crate_id": 1, "kind": "struct", "path": [ @@ -804924,7 +827839,7 @@ "JustOne" ] }, - "12219": { + "12503": { "crate_id": 1, "kind": "struct", "path": [ @@ -804935,7 +827850,7 @@ "JustOne" ] }, - "12220": { + "12504": { "crate_id": 1, "kind": "struct", "path": [ @@ -804946,7 +827861,7 @@ "JustOne" ] }, - "12221": { + "12505": { "crate_id": 1, "kind": "struct", "path": [ @@ -804957,7 +827872,7 @@ "JustOne" ] }, - "12222": { + "12506": { "crate_id": 1, "kind": "struct", "path": [ @@ -804968,7 +827883,7 @@ "JustOne" ] }, - "12223": { + "12507": { "crate_id": 1, "kind": "struct", "path": [ @@ -804979,7 +827894,7 @@ "JustOne" ] }, - "12224": { + "12508": { "crate_id": 1, "kind": "struct", "path": [ @@ -804990,7 +827905,7 @@ "JustOne" ] }, - "12225": { + "12509": { "crate_id": 1, "kind": "struct", "path": [ @@ -805001,7 +827916,7 @@ "JustOne" ] }, - "12226": { + "12510": { "crate_id": 1, "kind": "struct", "path": [ @@ -805012,7 +827927,7 @@ "JustOne" ] }, - "12227": { + "12511": { "crate_id": 1, "kind": "struct", "path": [ @@ -805023,7 +827938,7 @@ "JustOne" ] }, - "12228": { + "12512": { "crate_id": 1, "kind": "struct", "path": [ @@ -805034,7 +827949,7 @@ "JustOne" ] }, - "12229": { + "12513": { "crate_id": 1, "kind": "struct", "path": [ @@ -805045,7 +827960,7 @@ "JustOne" ] }, - "12230": { + "12514": { "crate_id": 1, "kind": "struct", "path": [ @@ -805056,7 +827971,7 @@ "JustOne" ] }, - "12231": { + "12515": { "crate_id": 1, "kind": "struct", "path": [ @@ -805067,7 +827982,7 @@ "JustOne" ] }, - "12232": { + "12516": { "crate_id": 1, "kind": "struct", "path": [ @@ -805078,7 +827993,7 @@ "JustOne" ] }, - "12233": { + "12517": { "crate_id": 1, "kind": "struct", "path": [ @@ -805089,7 +828004,7 @@ "JustOne" ] }, - "12234": { + "12518": { "crate_id": 1, "kind": "struct", "path": [ @@ -805100,7 +828015,7 @@ "JustOne" ] }, - "12235": { + "12519": { "crate_id": 1, "kind": "struct", "path": [ @@ -805111,7 +828026,7 @@ "JustOne" ] }, - "12236": { + "12520": { "crate_id": 1, "kind": "struct", "path": [ @@ -805122,7 +828037,7 @@ "JustOne" ] }, - "12237": { + "12521": { "crate_id": 1, "kind": "struct", "path": [ @@ -805133,7 +828048,7 @@ "JustOne" ] }, - "12238": { + "12522": { "crate_id": 1, "kind": "struct", "path": [ @@ -805144,7 +828059,7 @@ "JustOne" ] }, - "12239": { + "12523": { "crate_id": 1, "kind": "struct", "path": [ @@ -805155,7 +828070,7 @@ "JustOne" ] }, - "12240": { + "12524": { "crate_id": 1, "kind": "struct", "path": [ @@ -805166,7 +828081,7 @@ "JustOne" ] }, - "12241": { + "12525": { "crate_id": 1, "kind": "struct", "path": [ @@ -805177,7 +828092,7 @@ "JustOne" ] }, - "12242": { + "12526": { "crate_id": 1, "kind": "struct", "path": [ @@ -805188,7 +828103,7 @@ "JustOne" ] }, - "12243": { + "12527": { "crate_id": 1, "kind": "struct", "path": [ @@ -805199,7 +828114,7 @@ "JustOne" ] }, - "12244": { + "12528": { "crate_id": 1, "kind": "struct", "path": [ @@ -805210,7 +828125,7 @@ "JustOne" ] }, - "12245": { + "12529": { "crate_id": 1, "kind": "struct", "path": [ @@ -805220,7 +828135,18 @@ "__m128i" ] }, - "12246": { + "1253": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "collections", + "hash", + "set", + "Difference" + ] + }, + "12530": { "crate_id": 1, "kind": "struct", "path": [ @@ -805231,7 +828157,7 @@ "JustOne" ] }, - "12247": { + "12531": { "crate_id": 1, "kind": "struct", "path": [ @@ -805241,7 +828167,7 @@ "__m128" ] }, - "12248": { + "12532": { "crate_id": 1, "kind": "struct", "path": [ @@ -805252,7 +828178,7 @@ "JustOne" ] }, - "12249": { + "12533": { "crate_id": 1, "kind": "struct", "path": [ @@ -805262,7 +828188,7 @@ "__m128d" ] }, - "12250": { + "12534": { "crate_id": 1, "kind": "struct", "path": [ @@ -805273,7 +828199,7 @@ "JustOne" ] }, - "12251": { + "12535": { "crate_id": 1, "kind": "struct", "path": [ @@ -805283,7 +828209,7 @@ "__m256i" ] }, - "12252": { + "12536": { "crate_id": 1, "kind": "struct", "path": [ @@ -805294,7 +828220,7 @@ "JustOne" ] }, - "12253": { + "12537": { "crate_id": 1, "kind": "struct", "path": [ @@ -805304,7 +828230,7 @@ "__m256" ] }, - "12254": { + "12538": { "crate_id": 1, "kind": "struct", "path": [ @@ -805315,7 +828241,7 @@ "JustOne" ] }, - "12255": { + "12539": { "crate_id": 1, "kind": "struct", "path": [ @@ -805325,7 +828251,7 @@ "__m256d" ] }, - "12256": { + "12540": { "crate_id": 1, "kind": "struct", "path": [ @@ -805336,7 +828262,7 @@ "JustOne" ] }, - "12257": { + "12541": { "crate_id": 1, "kind": "struct", "path": [ @@ -805346,7 +828272,7 @@ "__m512i" ] }, - "12258": { + "12542": { "crate_id": 1, "kind": "struct", "path": [ @@ -805357,7 +828283,7 @@ "JustOne" ] }, - "12259": { + "12543": { "crate_id": 1, "kind": "struct", "path": [ @@ -805367,7 +828293,7 @@ "__m512" ] }, - "12260": { + "12544": { "crate_id": 1, "kind": "struct", "path": [ @@ -805378,7 +828304,7 @@ "JustOne" ] }, - "12261": { + "12545": { "crate_id": 1, "kind": "struct", "path": [ @@ -805388,7 +828314,7 @@ "__m512d" ] }, - "12262": { + "12546": { "crate_id": 1, "kind": "struct", "path": [ @@ -805399,7 +828325,7 @@ "JustOne" ] }, - "12263": { + "12547": { "crate_id": 1, "kind": "struct", "path": [ @@ -805409,7 +828335,7 @@ "__m128bh" ] }, - "12264": { + "12548": { "crate_id": 1, "kind": "struct", "path": [ @@ -805420,7 +828346,7 @@ "JustOne" ] }, - "12265": { + "12549": { "crate_id": 1, "kind": "struct", "path": [ @@ -805430,7 +828356,18 @@ "__m256bh" ] }, - "12266": { + "1255": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "collections", + "hash", + "set", + "SymmetricDifference" + ] + }, + "12550": { "crate_id": 1, "kind": "struct", "path": [ @@ -805441,7 +828378,7 @@ "JustOne" ] }, - "12267": { + "12551": { "crate_id": 1, "kind": "struct", "path": [ @@ -805451,7 +828388,7 @@ "__m512bh" ] }, - "12268": { + "12552": { "crate_id": 1, "kind": "struct", "path": [ @@ -805462,7 +828399,7 @@ "JustOne" ] }, - "12269": { + "12553": { "crate_id": 1, "kind": "struct", "path": [ @@ -805472,7 +828409,7 @@ "__m128h" ] }, - "12270": { + "12554": { "crate_id": 1, "kind": "struct", "path": [ @@ -805483,7 +828420,7 @@ "JustOne" ] }, - "12271": { + "12555": { "crate_id": 1, "kind": "struct", "path": [ @@ -805493,7 +828430,7 @@ "__m256h" ] }, - "12272": { + "12556": { "crate_id": 1, "kind": "struct", "path": [ @@ -805504,7 +828441,7 @@ "JustOne" ] }, - "12273": { + "12557": { "crate_id": 1, "kind": "struct", "path": [ @@ -805514,7 +828451,7 @@ "__m512h" ] }, - "12274": { + "12558": { "crate_id": 1, "kind": "struct", "path": [ @@ -805525,7 +828462,7 @@ "JustOne" ] }, - "12275": { + "12559": { "crate_id": 1, "kind": "struct", "path": [ @@ -805535,7 +828472,7 @@ "bf16" ] }, - "12276": { + "12560": { "crate_id": 1, "kind": "trait", "path": [ @@ -805544,7 +828481,7 @@ "UseCloned" ] }, - "12277": { + "12561": { "crate_id": 1, "kind": "struct", "path": [ @@ -805554,7 +828491,7 @@ "DropGuard" ] }, - "12278": { + "12562": { "crate_id": 1, "kind": "struct", "path": [ @@ -805564,7 +828501,7 @@ "Internal" ] }, - "12279": { + "12563": { "crate_id": 1, "kind": "struct", "path": [ @@ -805574,7 +828511,7 @@ "Value" ] }, - "12280": { + "12564": { "crate_id": 1, "kind": "struct", "path": [ @@ -805584,7 +828521,7 @@ "MaybeSizedValue" ] }, - "12281": { + "12565": { "crate_id": 1, "kind": "struct", "path": [ @@ -805594,7 +828531,7 @@ "Ref" ] }, - "12282": { + "12566": { "crate_id": 1, "kind": "struct", "path": [ @@ -805604,7 +828541,7 @@ "Yeet" ] }, - "12283": { + "12567": { "crate_id": 1, "kind": "struct", "path": [ @@ -805613,7 +828550,7 @@ "Capture" ] }, - "12284": { + "12568": { "crate_id": 1, "kind": "struct", "path": [ @@ -805622,7 +828559,7 @@ "TryCaptureWithoutDebug" ] }, - "12285": { + "12569": { "crate_id": 1, "kind": "struct", "path": [ @@ -805631,7 +828568,18 @@ "TryCaptureWithDebug" ] }, - "12286": { + "1257": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "collections", + "hash", + "set", + "Intersection" + ] + }, + "12570": { "crate_id": 1, "kind": "struct", "path": [ @@ -805640,7 +828588,7 @@ "BorrowError" ] }, - "12287": { + "12571": { "crate_id": 1, "kind": "struct", "path": [ @@ -805649,7 +828597,7 @@ "BorrowMutError" ] }, - "12288": { + "12572": { "crate_id": 1, "kind": "struct", "path": [ @@ -805660,7 +828608,7 @@ "ByRefSized" ] }, - "12289": { + "12573": { "crate_id": 1, "kind": "struct", "path": [ @@ -805669,7 +828617,7 @@ "IterMut" ] }, - "12290": { + "12574": { "crate_id": 1, "kind": "struct", "path": [ @@ -805679,7 +828627,7 @@ "PanicMessage" ] }, - "12291": { + "12575": { "crate_id": 1, "kind": "enum", "path": [ @@ -805688,7 +828636,7 @@ "AssertKind" ] }, - "12292": { + "12576": { "crate_id": 1, "kind": "struct", "path": [ @@ -805698,7 +828646,7 @@ "Pattern" ] }, - "12293": { + "12577": { "crate_id": 1, "kind": "struct", "path": [ @@ -805708,7 +828656,7 @@ "UnsafePinned" ] }, - "12294": { + "12578": { "crate_id": 1, "kind": "struct", "path": [ @@ -805718,7 +828666,7 @@ "AtomicI8" ] }, - "12295": { + "12579": { "crate_id": 1, "kind": "struct", "path": [ @@ -805728,7 +828676,7 @@ "AtomicI16" ] }, - "12296": { + "12580": { "crate_id": 1, "kind": "struct", "path": [ @@ -805738,7 +828686,7 @@ "AtomicU16" ] }, - "12297": { + "12581": { "crate_id": 1, "kind": "struct", "path": [ @@ -805748,7 +828696,7 @@ "AtomicI32" ] }, - "12298": { + "12582": { "crate_id": 1, "kind": "struct", "path": [ @@ -805758,7 +828706,7 @@ "AtomicU32" ] }, - "12299": { + "12583": { "crate_id": 1, "kind": "struct", "path": [ @@ -805768,27 +828716,7 @@ "AtomicI64" ] }, - "123": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "cmp", - "PartialEq" - ] - }, - "1230": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "collections", - "hash", - "set", - "HashSet" - ] - }, - "12300": { + "12584": { "crate_id": 1, "kind": "struct", "path": [ @@ -805798,7 +828726,7 @@ "FromFn" ] }, - "12301": { + "12585": { "crate_id": 1, "kind": "trait", "path": [ @@ -805808,7 +828736,7 @@ "NumBufferTrait" ] }, - "12302": { + "12586": { "crate_id": 1, "kind": "struct", "path": [ @@ -805817,7 +828745,7 @@ "Ref" ] }, - "12303": { + "12587": { "crate_id": 1, "kind": "struct", "path": [ @@ -805826,7 +828754,7 @@ "RefMut" ] }, - "12304": { + "12588": { "crate_id": 1, "kind": "struct", "path": [ @@ -805835,7 +828763,7 @@ "SyncUnsafeCell" ] }, - "12305": { + "12589": { "crate_id": 1, "kind": "struct", "path": [ @@ -805845,7 +828773,18 @@ "IterMut" ] }, - "12306": { + "1259": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "collections", + "hash", + "set", + "Union" + ] + }, + "12590": { "crate_id": 1, "kind": "struct", "path": [ @@ -805855,7 +828794,7 @@ "SplitMut" ] }, - "12307": { + "12591": { "crate_id": 1, "kind": "struct", "path": [ @@ -805865,7 +828804,7 @@ "SplitInclusiveMut" ] }, - "12308": { + "12592": { "crate_id": 1, "kind": "struct", "path": [ @@ -805875,7 +828814,7 @@ "RSplitMut" ] }, - "12309": { + "12593": { "crate_id": 1, "kind": "struct", "path": [ @@ -805885,7 +828824,7 @@ "GenericSplitN" ] }, - "12310": { + "12594": { "crate_id": 1, "kind": "struct", "path": [ @@ -805895,7 +828834,7 @@ "SplitN" ] }, - "12311": { + "12595": { "crate_id": 1, "kind": "struct", "path": [ @@ -805905,7 +828844,7 @@ "RSplitN" ] }, - "12312": { + "12596": { "crate_id": 1, "kind": "struct", "path": [ @@ -805915,7 +828854,7 @@ "SplitNMut" ] }, - "12313": { + "12597": { "crate_id": 1, "kind": "struct", "path": [ @@ -805925,7 +828864,7 @@ "RSplitNMut" ] }, - "12314": { + "12598": { "crate_id": 1, "kind": "struct", "path": [ @@ -805935,7 +828874,7 @@ "ChunksMut" ] }, - "12315": { + "12599": { "crate_id": 1, "kind": "struct", "path": [ @@ -805945,7 +828884,7 @@ "ChunksExactMut" ] }, - "12316": { + "12600": { "crate_id": 1, "kind": "struct", "path": [ @@ -805955,7 +828894,7 @@ "RChunksMut" ] }, - "12317": { + "12601": { "crate_id": 1, "kind": "struct", "path": [ @@ -805965,7 +828904,7 @@ "RChunksExactMut" ] }, - "12318": { + "12602": { "crate_id": 1, "kind": "struct", "path": [ @@ -805975,7 +828914,7 @@ "ChunkByMut" ] }, - "12319": { + "12603": { "crate_id": 1, "kind": "struct", "path": [ @@ -805985,7 +828924,17 @@ "Debug" ] }, - "12320": { + "12604": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "wtf8", + "fmt", + "CodeUnit" + ] + }, + "12605": { "crate_id": 1, "kind": "struct", "path": [ @@ -805995,7 +828944,7 @@ "PollFn" ] }, - "12321": { + "12606": { "crate_id": 1, "kind": "enum", "path": [ @@ -806005,7 +828954,7 @@ "ExtData" ] }, - "12322": { + "12607": { "crate_id": 1, "kind": "struct", "path": [ @@ -806015,7 +828964,7 @@ "Context" ] }, - "12323": { + "12608": { "crate_id": 1, "kind": "struct", "path": [ @@ -806025,7 +828974,7 @@ "ContextBuilder" ] }, - "12324": { + "12609": { "crate_id": 1, "kind": "trait_alias", "path": [ @@ -806035,7 +828984,7 @@ "Thin" ] }, - "12325": { + "12610": { "crate_id": 1, "kind": "struct", "path": [ @@ -806045,7 +828994,7 @@ "PadAdapterState" ] }, - "12326": { + "12611": { "crate_id": 1, "kind": "trait", "path": [ @@ -806056,7 +829005,7 @@ "Sealed" ] }, - "12327": { + "12612": { "crate_id": 1, "kind": "trait", "path": [ @@ -806065,7 +829014,7 @@ "Binary" ] }, - "12328": { + "12613": { "crate_id": 1, "kind": "trait", "path": [ @@ -806074,7 +829023,7 @@ "Octal" ] }, - "12329": { + "12614": { "crate_id": 1, "kind": "trait", "path": [ @@ -806083,7 +829032,7 @@ "LowerHex" ] }, - "12330": { + "12615": { "crate_id": 1, "kind": "trait", "path": [ @@ -806092,7 +829041,7 @@ "UpperHex" ] }, - "12331": { + "12616": { "crate_id": 1, "kind": "trait", "path": [ @@ -806101,7 +829050,7 @@ "LowerExp" ] }, - "12332": { + "12617": { "crate_id": 1, "kind": "trait", "path": [ @@ -806110,7 +829059,7 @@ "UpperExp" ] }, - "12333": { + "12618": { "crate_id": 1, "kind": "trait", "path": [ @@ -806120,7 +829069,7 @@ "BitOrAssign" ] }, - "12334": { + "12619": { "crate_id": 1, "kind": "trait", "path": [ @@ -806130,7 +829079,7 @@ "Div" ] }, - "12335": { + "12620": { "crate_id": 1, "kind": "trait", "path": [ @@ -806140,7 +829089,7 @@ "DivAssign" ] }, - "12336": { + "12621": { "crate_id": 1, "kind": "trait", "path": [ @@ -806150,7 +829099,7 @@ "Rem" ] }, - "12337": { + "12622": { "crate_id": 1, "kind": "trait", "path": [ @@ -806160,7 +829109,7 @@ "RemAssign" ] }, - "12338": { + "12623": { "crate_id": 1, "kind": "trait", "path": [ @@ -806170,7 +829119,7 @@ "Neg" ] }, - "12339": { + "12624": { "crate_id": 1, "kind": "trait", "path": [ @@ -806180,7 +829129,7 @@ "Mul" ] }, - "12340": { + "12625": { "crate_id": 1, "kind": "trait", "path": [ @@ -806190,7 +829139,7 @@ "MulAssign" ] }, - "12341": { + "12626": { "crate_id": 1, "kind": "trait", "path": [ @@ -806200,7 +829149,7 @@ "BitXorAssign" ] }, - "12342": { + "12627": { "crate_id": 1, "kind": "trait", "path": [ @@ -806210,7 +829159,7 @@ "BitAndAssign" ] }, - "12343": { + "12628": { "crate_id": 1, "kind": "trait", "path": [ @@ -806220,7 +829169,7 @@ "Shl" ] }, - "12344": { + "12629": { "crate_id": 1, "kind": "trait", "path": [ @@ -806230,7 +829179,7 @@ "ShlAssign" ] }, - "12345": { + "12630": { "crate_id": 1, "kind": "trait", "path": [ @@ -806240,7 +829189,7 @@ "Shr" ] }, - "12346": { + "12631": { "crate_id": 1, "kind": "trait", "path": [ @@ -806250,92 +829199,17 @@ "ShrAssign" ] }, - "12347": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "intrinsics", - "fallback", - "CarryingMulAdd" - ] - }, - "12348": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "intrinsics", - "fallback", - "DisjointBitOr" - ] - }, - "12349": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "marker", - "ConstParamTy_" - ] - }, - "12350": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "marker", - "UnsizedConstParamTy" - ] - }, - "12351": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "slice", - "SlicePattern" - ] - }, - "12352": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "ops", - "range", - "OneSidedRange" - ] - }, - "12353": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "slice", - "GetDisjointMutIndex" - ] - }, - "12354": { - "crate_id": 2, - "kind": "trait", - "path": [ - "alloc", - "slice", - "Concat" - ] - }, - "12355": { + "12632": { "crate_id": 1, - "kind": "trait", + "kind": "struct", "path": [ "core", - "ops", - "deref", - "DerefPure" + "hint", + "select_unpredictable", + "DropOnPanic" ] }, - "12356": { + "12633": { "crate_id": 1, "kind": "struct", "path": [ @@ -806345,7 +829219,7 @@ "Guard" ] }, - "12357": { + "12634": { "crate_id": 1, "kind": "struct", "path": [ @@ -806355,7 +829229,7 @@ "InitializingSlice" ] }, - "12358": { + "12635": { "crate_id": 1, "kind": "struct", "path": [ @@ -806365,7 +829239,7 @@ "Drain" ] }, - "12359": { + "12636": { "crate_id": 1, "kind": "struct", "path": [ @@ -806374,18 +829248,7 @@ "Guard" ] }, - "1236": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "collections", - "hash", - "set", - "Iter" - ] - }, - "12360": { + "12637": { "crate_id": 1, "kind": "struct", "path": [ @@ -806397,7 +829260,7 @@ "PoisonOnPanic" ] }, - "12361": { + "12638": { "crate_id": 1, "kind": "struct", "path": [ @@ -806406,7 +829269,7 @@ "BorrowRefMut" ] }, - "12362": { + "12639": { "crate_id": 1, "kind": "struct", "path": [ @@ -806418,7 +829281,7 @@ "Guard" ] }, - "12363": { + "12640": { "crate_id": 1, "kind": "struct", "path": [ @@ -806430,7 +829293,7 @@ "MergeState" ] }, - "12364": { + "12641": { "crate_id": 1, "kind": "struct", "path": [ @@ -806442,7 +829305,7 @@ "GapGuard" ] }, - "12365": { + "12642": { "crate_id": 1, "kind": "struct", "path": [ @@ -806454,7 +829317,7 @@ "GapGuardRaw" ] }, - "12366": { + "12643": { "crate_id": 1, "kind": "struct", "path": [ @@ -806466,7 +829329,124 @@ "CopyOnDrop" ] }, - "12367": { + "12644": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "intrinsics", + "fallback", + "CarryingMulAdd" + ] + }, + "12645": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "intrinsics", + "fallback", + "DisjointBitOr" + ] + }, + "12646": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "intrinsics", + "fallback", + "FunnelShift" + ] + }, + "12647": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "marker", + "ConstParamTy_" + ] + }, + "12648": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "slice", + "SlicePattern" + ] + }, + "12649": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "ops", + "range", + "OneSidedRange" + ] + }, + "1265": { + "crate_id": 0, + "kind": "enum", + "path": [ + "std", + "collections", + "hash", + "set", + "Entry" + ] + }, + "12650": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "slice", + "GetDisjointMutIndex" + ] + }, + "12651": { + "crate_id": 2, + "kind": "trait", + "path": [ + "alloc", + "slice", + "Concat" + ] + }, + "12652": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "pin", + "helper", + "PinDerefMutHelper" + ] + }, + "12653": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "pin", + "helper", + "PinHelper" + ] + }, + "12654": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "ops", + "deref", + "DerefPure" + ] + }, + "12655": { "crate_id": 1, "kind": "trait", "path": [ @@ -806475,7 +829455,7 @@ "Unsize" ] }, - "12368": { + "12656": { "crate_id": 1, "kind": "trait", "path": [ @@ -806485,7 +829465,7 @@ "CoerceUnsized" ] }, - "12369": { + "12657": { "crate_id": 1, "kind": "trait", "path": [ @@ -806494,7 +829474,7 @@ "PinCoerceUnsized" ] }, - "12370": { + "12658": { "crate_id": 1, "kind": "trait", "path": [ @@ -806504,7 +829484,7 @@ "DispatchFromDyn" ] }, - "12371": { + "12659": { "crate_id": 1, "kind": "trait", "path": [ @@ -806515,7 +829495,7 @@ "Sealed" ] }, - "12372": { + "12660": { "crate_id": 1, "kind": "trait", "path": [ @@ -806525,7 +829505,7 @@ "Residual" ] }, - "12373": { + "12661": { "crate_id": 1, "kind": "trait", "path": [ @@ -806536,7 +829516,7 @@ "Sum" ] }, - "12374": { + "12662": { "crate_id": 1, "kind": "trait", "path": [ @@ -806547,7 +829527,7 @@ "Product" ] }, - "12375": { + "12663": { "crate_id": 1, "kind": "trait", "path": [ @@ -806558,7 +829538,7 @@ "TrustedRandomAccessNoCoerce" ] }, - "12376": { + "12664": { "crate_id": 1, "kind": "struct", "path": [ @@ -806568,7 +829548,7 @@ "GenericShunt" ] }, - "12377": { + "12665": { "crate_id": 1, "kind": "trait", "path": [ @@ -806578,7 +829558,7 @@ "Step" ] }, - "12378": { + "12666": { "crate_id": 1, "kind": "trait", "path": [ @@ -806588,7 +829568,7 @@ "Coroutine" ] }, - "12379": { + "12667": { "crate_id": 1, "kind": "trait", "path": [ @@ -806598,7 +829578,7 @@ "Variance" ] }, - "12380": { + "12668": { "crate_id": 1, "kind": "trait", "path": [ @@ -806609,7 +829589,7 @@ "Sealed" ] }, - "12381": { + "12669": { "crate_id": 1, "kind": "trait", "path": [ @@ -806618,7 +829598,7 @@ "Tuple" ] }, - "12382": { + "12670": { "crate_id": 1, "kind": "trait", "path": [ @@ -806628,7 +829608,7 @@ "FromResidual" ] }, - "12383": { + "12671": { "crate_id": 1, "kind": "struct", "path": [ @@ -806638,7 +829618,7 @@ "NeverShortCircuit" ] }, - "12384": { + "12672": { "crate_id": 1, "kind": "enum", "path": [ @@ -806648,7 +829628,7 @@ "NeverShortCircuitResidual" ] }, - "12385": { + "12673": { "crate_id": 1, "kind": "trait", "path": [ @@ -806659,7 +829639,7 @@ "TrustedRandomAccess" ] }, - "12386": { + "12674": { "crate_id": 1, "kind": "trait", "path": [ @@ -806670,7 +829650,7 @@ "TrustedStep" ] }, - "12387": { + "12675": { "crate_id": 1, "kind": "trait", "path": [ @@ -806680,7 +829660,7 @@ "IntoBounds" ] }, - "12388": { + "12676": { "crate_id": 1, "kind": "enum", "path": [ @@ -806690,7 +829670,7 @@ "OneSidedRangeBound" ] }, - "12389": { + "12677": { "crate_id": 1, "kind": "trait", "path": [ @@ -806700,7 +829680,7 @@ "AsyncIterator" ] }, - "12390": { + "12678": { "crate_id": 1, "kind": "trait", "path": [ @@ -806710,7 +829690,7 @@ "IntoAsyncIterator" ] }, - "12391": { + "12679": { "crate_id": 1, "kind": "trait", "path": [ @@ -806721,7 +829701,16 @@ "Sealed" ] }, - "12392": { + "12680": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "cell", + "CloneFromCell" + ] + }, + "12681": { "crate_id": 1, "kind": "trait", "path": [ @@ -806732,7 +829721,7 @@ "Sealed" ] }, - "12393": { + "12682": { "crate_id": 1, "kind": "struct", "path": [ @@ -806742,7 +829731,7 @@ "DisplayBuffer" ] }, - "12394": { + "12683": { "crate_id": 1, "kind": "struct", "path": [ @@ -806752,7 +829741,7 @@ "PadAdapter" ] }, - "12395": { + "12684": { "crate_id": 1, "kind": "enum", "path": [ @@ -806762,7 +829751,7 @@ "MaybeDone" ] }, - "12396": { + "12685": { "crate_id": 1, "kind": "trait", "path": [ @@ -806771,7 +829760,7 @@ "RangePattern" ] }, - "12397": { + "12686": { "crate_id": 1, "kind": "trait", "path": [ @@ -806781,7 +829770,7 @@ "Sealed" ] }, - "12398": { + "12687": { "crate_id": 1, "kind": "trait", "path": [ @@ -806791,7 +829780,7 @@ "Sealed" ] }, - "12399": { + "12688": { "crate_id": 1, "kind": "trait", "path": [ @@ -806801,18 +829790,7 @@ "Searcher" ] }, - "1240": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "collections", - "hash", - "set", - "Drain" - ] - }, - "12400": { + "12689": { "crate_id": 1, "kind": "struct", "path": [ @@ -806822,7 +829800,7 @@ "MultiCharEqPattern" ] }, - "12401": { + "12690": { "crate_id": 1, "kind": "struct", "path": [ @@ -806833,7 +829811,7 @@ "Reverse" ] }, - "12402": { + "12691": { "crate_id": 1, "kind": "struct", "path": [ @@ -806844,7 +829822,7 @@ "Rotate" ] }, - "12403": { + "12692": { "crate_id": 1, "kind": "struct", "path": [ @@ -806855,7 +829833,7 @@ "Rotate" ] }, - "12404": { + "12693": { "crate_id": 1, "kind": "struct", "path": [ @@ -806866,7 +829844,7 @@ "Shift" ] }, - "12405": { + "12694": { "crate_id": 1, "kind": "struct", "path": [ @@ -806877,7 +829855,7 @@ "Shift" ] }, - "12406": { + "12695": { "crate_id": 1, "kind": "struct", "path": [ @@ -806888,7 +829866,7 @@ "Lo" ] }, - "12407": { + "12696": { "crate_id": 1, "kind": "struct", "path": [ @@ -806899,7 +829877,7 @@ "Hi" ] }, - "12408": { + "12697": { "crate_id": 1, "kind": "struct", "path": [ @@ -806910,7 +829888,7 @@ "Even" ] }, - "12409": { + "12698": { "crate_id": 1, "kind": "struct", "path": [ @@ -806921,7 +829899,7 @@ "Odd" ] }, - "12410": { + "12699": { "crate_id": 1, "kind": "struct", "path": [ @@ -806932,7 +829910,16 @@ "Resize" ] }, - "12411": { + "127": { + "crate_id": 1, + "kind": "proc_derive", + "path": [ + "core", + "cmp", + "PartialOrd" + ] + }, + "12700": { "crate_id": 1, "kind": "struct", "path": [ @@ -806943,7 +829930,7 @@ "Extract" ] }, - "12412": { + "12701": { "crate_id": 1, "kind": "struct", "path": [ @@ -806955,7 +829942,7 @@ "Splat" ] }, - "12413": { + "12702": { "crate_id": 1, "kind": "trait", "path": [ @@ -806965,7 +829952,7 @@ "SimdCast" ] }, - "12414": { + "12703": { "crate_id": 1, "kind": "trait", "path": [ @@ -806976,7 +829963,7 @@ "Sealed" ] }, - "12415": { + "12704": { "crate_id": 1, "kind": "trait", "path": [ @@ -806987,7 +829974,7 @@ "Sealed" ] }, - "12416": { + "12705": { "crate_id": 1, "kind": "trait", "path": [ @@ -806998,7 +829985,7 @@ "Sealed" ] }, - "12417": { + "12706": { "crate_id": 1, "kind": "trait", "path": [ @@ -807008,7 +829995,7 @@ "ToBytes" ] }, - "12418": { + "12707": { "crate_id": 1, "kind": "trait", "path": [ @@ -807020,7 +830007,7 @@ "SimdUint" ] }, - "12419": { + "12708": { "crate_id": 1, "kind": "trait", "path": [ @@ -807031,7 +830018,7 @@ "Sealed" ] }, - "12420": { + "12709": { "crate_id": 1, "kind": "trait", "path": [ @@ -807042,7 +830029,7 @@ "Sealed" ] }, - "12421": { + "12710": { "crate_id": 1, "kind": "trait", "path": [ @@ -807052,7 +830039,7 @@ "Pointee" ] }, - "12422": { + "12711": { "crate_id": 1, "kind": "trait", "path": [ @@ -807064,7 +830051,7 @@ "SimdFloat" ] }, - "12423": { + "12712": { "crate_id": 1, "kind": "trait", "path": [ @@ -807076,7 +830063,7 @@ "Sealed" ] }, - "12424": { + "12713": { "crate_id": 1, "kind": "trait", "path": [ @@ -807088,7 +830075,7 @@ "SimdInt" ] }, - "12425": { + "12714": { "crate_id": 1, "kind": "trait", "path": [ @@ -807100,7 +830087,7 @@ "SimdConstPtr" ] }, - "12426": { + "12715": { "crate_id": 1, "kind": "trait", "path": [ @@ -807112,7 +830099,7 @@ "Sealed" ] }, - "12427": { + "12716": { "crate_id": 1, "kind": "trait", "path": [ @@ -807124,7 +830111,7 @@ "SimdMutPtr" ] }, - "12428": { + "12717": { "crate_id": 1, "kind": "trait", "path": [ @@ -807136,7 +830123,7 @@ "SimdPartialEq" ] }, - "12429": { + "12718": { "crate_id": 1, "kind": "trait", "path": [ @@ -807148,18 +830135,7 @@ "SimdPartialOrd" ] }, - "1243": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "collections", - "hash", - "set", - "ExtractIf" - ] - }, - "12430": { + "12719": { "crate_id": 1, "kind": "trait", "path": [ @@ -807171,7 +830147,7 @@ "SimdOrd" ] }, - "12431": { + "12720": { "crate_id": 2, "kind": "struct", "path": [ @@ -807180,7 +830156,7 @@ "RawVec" ] }, - "12432": { + "12721": { "crate_id": 2, "kind": "struct", "path": [ @@ -807190,7 +830166,7 @@ "ThinBox" ] }, - "12433": { + "12722": { "crate_id": 2, "kind": "struct", "path": [ @@ -807201,7 +830177,7 @@ "DropGuard" ] }, - "12434": { + "12723": { "crate_id": 2, "kind": "struct", "path": [ @@ -807211,7 +830187,7 @@ "PeekMut" ] }, - "12435": { + "12724": { "crate_id": 2, "kind": "struct", "path": [ @@ -807221,7 +830197,7 @@ "RebuildOnDrop" ] }, - "12436": { + "12725": { "crate_id": 2, "kind": "struct", "path": [ @@ -807231,7 +830207,7 @@ "Hole" ] }, - "12437": { + "12726": { "crate_id": 2, "kind": "struct", "path": [ @@ -807241,7 +830217,7 @@ "DrainSorted" ] }, - "12438": { + "12727": { "crate_id": 2, "kind": "struct", "path": [ @@ -807252,7 +830228,7 @@ "DropGuard" ] }, - "12439": { + "12728": { "crate_id": 2, "kind": "struct", "path": [ @@ -807263,7 +830239,7 @@ "IntoIter" ] }, - "12440": { + "12729": { "crate_id": 2, "kind": "struct", "path": [ @@ -807275,7 +830251,7 @@ "DropGuard" ] }, - "12441": { + "12730": { "crate_id": 2, "kind": "struct", "path": [ @@ -807287,7 +830263,7 @@ "PanicGuard" ] }, - "12442": { + "12731": { "crate_id": 2, "kind": "struct", "path": [ @@ -807299,7 +830275,7 @@ "Dropper" ] }, - "12443": { + "12732": { "crate_id": 2, "kind": "struct", "path": [ @@ -807310,7 +830286,7 @@ "DropGuard" ] }, - "12444": { + "12733": { "crate_id": 2, "kind": "struct", "path": [ @@ -807321,7 +830297,7 @@ "Drain" ] }, - "12445": { + "12734": { "crate_id": 2, "kind": "struct", "path": [ @@ -807333,7 +830309,7 @@ "DropGuard" ] }, - "12446": { + "12735": { "crate_id": 2, "kind": "struct", "path": [ @@ -807345,7 +830321,7 @@ "Guard" ] }, - "12447": { + "12736": { "crate_id": 2, "kind": "struct", "path": [ @@ -807357,7 +830333,7 @@ "Guard" ] }, - "12448": { + "12737": { "crate_id": 2, "kind": "struct", "path": [ @@ -807368,7 +830344,7 @@ "Dropper" ] }, - "12449": { + "12738": { "crate_id": 2, "kind": "struct", "path": [ @@ -807379,7 +830355,7 @@ "Guard" ] }, - "12450": { + "12739": { "crate_id": 2, "kind": "struct", "path": [ @@ -807390,7 +830366,7 @@ "Guard" ] }, - "12451": { + "12740": { "crate_id": 2, "kind": "struct", "path": [ @@ -807401,7 +830377,7 @@ "Dropper" ] }, - "12452": { + "12741": { "crate_id": 2, "kind": "struct", "path": [ @@ -807412,7 +830388,7 @@ "Dropper" ] }, - "12453": { + "12742": { "crate_id": 2, "kind": "struct", "path": [ @@ -807422,7 +830398,7 @@ "Guard" ] }, - "12454": { + "12743": { "crate_id": 2, "kind": "struct", "path": [ @@ -807431,7 +830407,7 @@ "Weak" ] }, - "12455": { + "12744": { "crate_id": 2, "kind": "struct", "path": [ @@ -807440,7 +830416,7 @@ "UniqueRcUninit" ] }, - "12456": { + "12745": { "crate_id": 2, "kind": "struct", "path": [ @@ -807451,7 +830427,7 @@ "DropGuard" ] }, - "12457": { + "12746": { "crate_id": 2, "kind": "struct", "path": [ @@ -807461,7 +830437,7 @@ "SetLenOnDrop" ] }, - "12458": { + "12747": { "crate_id": 2, "kind": "struct", "path": [ @@ -807470,7 +830446,7 @@ "Drain" ] }, - "12459": { + "12748": { "crate_id": 2, "kind": "struct", "path": [ @@ -807480,7 +830456,7 @@ "Guard" ] }, - "12460": { + "12749": { "crate_id": 2, "kind": "struct", "path": [ @@ -807489,7 +830465,7 @@ "UniqueArcUninit" ] }, - "12461": { + "12750": { "crate_id": 2, "kind": "struct", "path": [ @@ -807499,7 +830475,7 @@ "ExtractIf" ] }, - "12462": { + "12751": { "crate_id": 2, "kind": "struct", "path": [ @@ -807509,7 +830485,7 @@ "Splice" ] }, - "12463": { + "12752": { "crate_id": 2, "kind": "struct", "path": [ @@ -807519,7 +830495,7 @@ "Drain" ] }, - "12464": { + "12753": { "crate_id": 2, "kind": "struct", "path": [ @@ -807530,7 +830506,7 @@ "DropGuard" ] }, - "12465": { + "12754": { "crate_id": 2, "kind": "struct", "path": [ @@ -807541,7 +830517,7 @@ "DropGuard" ] }, - "12466": { + "12755": { "crate_id": 2, "kind": "struct", "path": [ @@ -807551,7 +830527,7 @@ "SetLenOnDrop" ] }, - "12467": { + "12756": { "crate_id": 2, "kind": "struct", "path": [ @@ -807561,7 +830537,7 @@ "InPlaceDrop" ] }, - "12468": { + "12757": { "crate_id": 2, "kind": "struct", "path": [ @@ -807571,7 +830547,7 @@ "InPlaceDstDataSrcBufDrop" ] }, - "12469": { + "12758": { "crate_id": 2, "kind": "struct", "path": [ @@ -807581,7 +830557,7 @@ "BackshiftOnDrop" ] }, - "12470": { + "12759": { "crate_id": 2, "kind": "struct", "path": [ @@ -807591,7 +830567,7 @@ "FillGapOnDrop" ] }, - "12471": { + "12760": { "crate_id": 2, "kind": "struct", "path": [ @@ -807602,7 +830578,7 @@ "NodeRef" ] }, - "12472": { + "12761": { "crate_id": 2, "kind": "struct", "path": [ @@ -807614,7 +830590,7 @@ "Immut" ] }, - "12473": { + "12762": { "crate_id": 2, "kind": "struct", "path": [ @@ -807625,7 +830601,7 @@ "Handle" ] }, - "12474": { + "12763": { "crate_id": 2, "kind": "struct", "path": [ @@ -807635,7 +830611,7 @@ "Iter" ] }, - "12475": { + "12764": { "crate_id": 2, "kind": "struct", "path": [ @@ -807645,7 +830621,7 @@ "IntoIter" ] }, - "12476": { + "12765": { "crate_id": 2, "kind": "struct", "path": [ @@ -807655,7 +830631,7 @@ "IntoIterSorted" ] }, - "12477": { + "12766": { "crate_id": 2, "kind": "struct", "path": [ @@ -807666,7 +830642,7 @@ "Keys" ] }, - "12478": { + "12767": { "crate_id": 2, "kind": "struct", "path": [ @@ -807677,7 +830653,7 @@ "Values" ] }, - "12479": { + "12768": { "crate_id": 2, "kind": "struct", "path": [ @@ -807688,7 +830664,7 @@ "Range" ] }, - "12480": { + "12769": { "crate_id": 2, "kind": "struct", "path": [ @@ -807699,7 +830675,7 @@ "Cursor" ] }, - "12481": { + "12770": { "crate_id": 2, "kind": "struct", "path": [ @@ -807710,7 +830686,7 @@ "UnorderedKeyError" ] }, - "12482": { + "12771": { "crate_id": 2, "kind": "enum", "path": [ @@ -807721,7 +830697,7 @@ "Peeked" ] }, - "12483": { + "12772": { "crate_id": 2, "kind": "struct", "path": [ @@ -807732,7 +830708,7 @@ "MergeIterInner" ] }, - "12484": { + "12773": { "crate_id": 2, "kind": "struct", "path": [ @@ -807743,7 +830719,7 @@ "LeafRange" ] }, - "12485": { + "12774": { "crate_id": 2, "kind": "enum", "path": [ @@ -807754,7 +830730,7 @@ "LazyLeafHandle" ] }, - "12486": { + "12775": { "crate_id": 2, "kind": "struct", "path": [ @@ -807765,7 +830741,7 @@ "LazyLeafRange" ] }, - "12487": { + "12776": { "crate_id": 2, "kind": "struct", "path": [ @@ -807776,7 +830752,7 @@ "Iter" ] }, - "12488": { + "12777": { "crate_id": 2, "kind": "struct", "path": [ @@ -807787,7 +830763,7 @@ "Range" ] }, - "12489": { + "12778": { "crate_id": 2, "kind": "struct", "path": [ @@ -807798,7 +830774,7 @@ "Difference" ] }, - "12490": { + "12779": { "crate_id": 2, "kind": "struct", "path": [ @@ -807809,7 +830785,7 @@ "SymmetricDifference" ] }, - "12491": { + "12780": { "crate_id": 2, "kind": "struct", "path": [ @@ -807820,7 +830796,7 @@ "Intersection" ] }, - "12492": { + "12781": { "crate_id": 2, "kind": "struct", "path": [ @@ -807831,7 +830807,7 @@ "Union" ] }, - "12493": { + "12782": { "crate_id": 2, "kind": "struct", "path": [ @@ -807842,7 +830818,7 @@ "Cursor" ] }, - "12494": { + "12783": { "crate_id": 2, "kind": "struct", "path": [ @@ -807853,7 +830829,7 @@ "SetValZST" ] }, - "12495": { + "12784": { "crate_id": 2, "kind": "struct", "path": [ @@ -807863,7 +830839,7 @@ "Iter" ] }, - "12496": { + "12785": { "crate_id": 2, "kind": "struct", "path": [ @@ -807873,7 +830849,7 @@ "IntoIter" ] }, - "12497": { + "12786": { "crate_id": 2, "kind": "struct", "path": [ @@ -807883,7 +830859,7 @@ "Cursor" ] }, - "12498": { + "12787": { "crate_id": 2, "kind": "struct", "path": [ @@ -807894,7 +830870,7 @@ "IntoIter" ] }, - "12499": { + "12788": { "crate_id": 2, "kind": "struct", "path": [ @@ -807905,16 +830881,7 @@ "Iter" ] }, - "125": { - "crate_id": 1, - "kind": "proc_derive", - "path": [ - "core", - "cmp", - "PartialEq" - ] - }, - "12500": { + "12789": { "crate_id": 2, "kind": "enum", "path": [ @@ -807924,7 +830891,7 @@ "FromBytesWithNulErrorKind" ] }, - "12501": { + "12790": { "crate_id": 2, "kind": "struct", "path": [ @@ -807933,7 +830900,7 @@ "FromUtf8Error" ] }, - "12502": { + "12791": { "crate_id": 2, "kind": "struct", "path": [ @@ -807942,7 +830909,7 @@ "IntoChars" ] }, - "12503": { + "12792": { "crate_id": 2, "kind": "struct", "path": [ @@ -807953,7 +830920,7 @@ "IterMut" ] }, - "12504": { + "12793": { "crate_id": 2, "kind": "struct", "path": [ @@ -807964,7 +830931,7 @@ "RangeMut" ] }, - "12505": { + "12794": { "crate_id": 2, "kind": "struct", "path": [ @@ -807975,7 +830942,7 @@ "ValuesMut" ] }, - "12506": { + "12795": { "crate_id": 2, "kind": "struct", "path": [ @@ -807986,7 +830953,7 @@ "IntoKeys" ] }, - "12507": { + "12796": { "crate_id": 2, "kind": "struct", "path": [ @@ -807997,7 +830964,7 @@ "IntoValues" ] }, - "12508": { + "12797": { "crate_id": 2, "kind": "struct", "path": [ @@ -808008,7 +830975,7 @@ "IntoIter" ] }, - "12509": { + "12798": { "crate_id": 2, "kind": "struct", "path": [ @@ -808018,7 +830985,7 @@ "IterMut" ] }, - "12510": { + "12799": { "crate_id": 2, "kind": "struct", "path": [ @@ -808029,7 +830996,7 @@ "IterMut" ] }, - "12511": { + "12800": { "crate_id": 2, "kind": "struct", "path": [ @@ -808040,7 +831007,7 @@ "StringError" ] }, - "12512": { + "12801": { "crate_id": 2, "kind": "struct", "path": [ @@ -808050,7 +831017,7 @@ "Drain" ] }, - "12513": { + "12802": { "crate_id": 2, "kind": "enum", "path": [ @@ -808062,7 +831029,7 @@ "Entry" ] }, - "12514": { + "12803": { "crate_id": 2, "kind": "struct", "path": [ @@ -808074,7 +831041,7 @@ "VacantEntry" ] }, - "12515": { + "12804": { "crate_id": 2, "kind": "struct", "path": [ @@ -808086,7 +831053,7 @@ "OccupiedEntry" ] }, - "12516": { + "12805": { "crate_id": 2, "kind": "struct", "path": [ @@ -808098,7 +831065,7 @@ "OccupiedError" ] }, - "12517": { + "12806": { "crate_id": 2, "kind": "struct", "path": [ @@ -808109,7 +831076,7 @@ "ExtractIf" ] }, - "12518": { + "12807": { "crate_id": 2, "kind": "struct", "path": [ @@ -808120,7 +831087,7 @@ "CursorMut" ] }, - "12519": { + "12808": { "crate_id": 2, "kind": "struct", "path": [ @@ -808131,7 +831098,7 @@ "CursorMutKey" ] }, - "12520": { + "12809": { "crate_id": 2, "kind": "enum", "path": [ @@ -808143,7 +831110,7 @@ "Entry" ] }, - "12521": { + "12810": { "crate_id": 2, "kind": "struct", "path": [ @@ -808155,7 +831122,7 @@ "OccupiedEntry" ] }, - "12522": { + "12811": { "crate_id": 2, "kind": "struct", "path": [ @@ -808167,7 +831134,7 @@ "VacantEntry" ] }, - "12523": { + "12812": { "crate_id": 2, "kind": "enum", "path": [ @@ -808178,7 +831145,7 @@ "DifferenceInner" ] }, - "12524": { + "12813": { "crate_id": 2, "kind": "enum", "path": [ @@ -808189,7 +831156,7 @@ "IntersectionInner" ] }, - "12525": { + "12814": { "crate_id": 2, "kind": "struct", "path": [ @@ -808200,7 +831167,7 @@ "ExtractIf" ] }, - "12526": { + "12815": { "crate_id": 2, "kind": "struct", "path": [ @@ -808211,7 +831178,7 @@ "CursorMut" ] }, - "12527": { + "12816": { "crate_id": 2, "kind": "struct", "path": [ @@ -808222,7 +831189,7 @@ "CursorMutKey" ] }, - "12528": { + "12817": { "crate_id": 2, "kind": "struct", "path": [ @@ -808232,7 +831199,7 @@ "CursorMut" ] }, - "12529": { + "12818": { "crate_id": 2, "kind": "struct", "path": [ @@ -808242,7 +831209,7 @@ "ExtractIf" ] }, - "12530": { + "12819": { "crate_id": 2, "kind": "struct", "path": [ @@ -808251,7 +831218,7 @@ "FromUtf16Error" ] }, - "12531": { + "12820": { "crate_id": 2, "kind": "struct", "path": [ @@ -808261,7 +831228,7 @@ "PeekMut" ] }, - "12532": { + "12821": { "crate_id": 2, "kind": "trait", "path": [ @@ -808270,7 +831237,7 @@ "Wake" ] }, - "12533": { + "12822": { "crate_id": 2, "kind": "trait", "path": [ @@ -808279,7 +831246,7 @@ "LocalWake" ] }, - "12534": { + "12823": { "crate_id": 2, "kind": "struct", "path": [ @@ -808290,7 +831257,7 @@ "MergeIter" ] }, - "12535": { + "12824": { "crate_id": 2, "kind": "struct", "path": [ @@ -808301,7 +831268,7 @@ "DedupSortedIter" ] }, - "12536": { + "12825": { "crate_id": 2, "kind": "struct", "path": [ @@ -808312,7 +831279,7 @@ "DormantMutRef" ] }, - "12537": { + "12826": { "crate_id": 2, "kind": "struct", "path": [ @@ -808324,7 +831291,7 @@ "Mut" ] }, - "12538": { + "12827": { "crate_id": 2, "kind": "struct", "path": [ @@ -808336,7 +831303,7 @@ "ValMut" ] }, - "12539": { + "12828": { "crate_id": 2, "kind": "enum", "path": [ @@ -808348,18 +831315,7 @@ "Owned" ] }, - "1254": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "collections", - "hash", - "set", - "Difference" - ] - }, - "12540": { + "12829": { "crate_id": 2, "kind": "enum", "path": [ @@ -808371,7 +831327,7 @@ "Dying" ] }, - "12541": { + "12830": { "crate_id": 3, "kind": "enum", "path": [ @@ -808381,7 +831337,7 @@ "Result" ] }, - "12542": { + "12831": { "crate_id": 3, "kind": "struct", "path": [ @@ -808391,7 +831347,7 @@ "u256" ] }, - "12543": { + "12832": { "crate_id": 3, "kind": "struct", "path": [ @@ -808401,7 +831357,7 @@ "i256" ] }, - "12544": { + "12833": { "crate_id": 3, "kind": "struct", "path": [ @@ -808413,7 +831369,7 @@ "u256" ] }, - "12545": { + "12834": { "crate_id": 3, "kind": "struct", "path": [ @@ -808425,7 +831381,7 @@ "i256" ] }, - "12546": { + "12835": { "crate_id": 3, "kind": "enum", "path": [ @@ -808437,7 +831393,7 @@ "Round" ] }, - "12547": { + "12836": { "crate_id": 3, "kind": "struct", "path": [ @@ -808449,7 +831405,7 @@ "Status" ] }, - "12548": { + "12837": { "crate_id": 3, "kind": "struct", "path": [ @@ -808461,7 +831417,7 @@ "Flags" ] }, - "12549": { + "12838": { "crate_id": 3, "kind": "struct", "path": [ @@ -808473,7 +831429,7 @@ "HexFloatParseError" ] }, - "12550": { + "12839": { "crate_id": 3, "kind": "struct", "path": [ @@ -808485,7 +831441,116 @@ "Norm" ] }, - "12551": { + "12840": { + "crate_id": 4, + "kind": "struct", + "path": [ + "libc", + "new", + "linux_uapi", + "linux", + "can", + "j1939", + "j1939_filter" + ] + }, + "12841": { + "crate_id": 4, + "kind": "struct", + "path": [ + "libc", + "new", + "linux_uapi", + "linux", + "can", + "can_frame" + ] + }, + "12842": { + "crate_id": 4, + "kind": "struct", + "path": [ + "libc", + "new", + "linux_uapi", + "linux", + "can", + "canfd_frame" + ] + }, + "12843": { + "crate_id": 4, + "kind": "struct", + "path": [ + "libc", + "new", + "linux_uapi", + "linux", + "can", + "canxl_frame" + ] + }, + "12844": { + "crate_id": 4, + "kind": "struct", + "path": [ + "libc", + "new", + "linux_uapi", + "linux", + "can", + "sockaddr_can" + ] + }, + "12845": { + "crate_id": 4, + "kind": "union", + "path": [ + "libc", + "new", + "linux_uapi", + "linux", + "can", + "__c_anonymous_sockaddr_can_can_addr" + ] + }, + "12846": { + "crate_id": 4, + "kind": "struct", + "path": [ + "libc", + "new", + "linux_uapi", + "linux", + "can", + "__c_anonymous_sockaddr_can_tp" + ] + }, + "12847": { + "crate_id": 4, + "kind": "struct", + "path": [ + "libc", + "new", + "linux_uapi", + "linux", + "can", + "__c_anonymous_sockaddr_can_j1939" + ] + }, + "12848": { + "crate_id": 4, + "kind": "struct", + "path": [ + "libc", + "new", + "linux_uapi", + "linux", + "can", + "can_filter" + ] + }, + "12849": { "crate_id": 4, "kind": "struct", "path": [ @@ -808494,7 +831559,7 @@ "group" ] }, - "12552": { + "12850": { "crate_id": 4, "kind": "struct", "path": [ @@ -808503,7 +831568,7 @@ "utimbuf" ] }, - "12553": { + "12851": { "crate_id": 4, "kind": "struct", "path": [ @@ -808512,7 +831577,7 @@ "timeval" ] }, - "12554": { + "12852": { "crate_id": 4, "kind": "struct", "path": [ @@ -808521,7 +831586,7 @@ "rlimit" ] }, - "12555": { + "12853": { "crate_id": 4, "kind": "struct", "path": [ @@ -808530,7 +831595,7 @@ "rusage" ] }, - "12556": { + "12854": { "crate_id": 4, "kind": "struct", "path": [ @@ -808539,7 +831604,7 @@ "ipv6_mreq" ] }, - "12557": { + "12855": { "crate_id": 4, "kind": "struct", "path": [ @@ -808548,7 +831613,7 @@ "hostent" ] }, - "12558": { + "12856": { "crate_id": 4, "kind": "struct", "path": [ @@ -808557,7 +831622,7 @@ "pollfd" ] }, - "12559": { + "12857": { "crate_id": 4, "kind": "struct", "path": [ @@ -808566,18 +831631,7 @@ "winsize" ] }, - "1256": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "collections", - "hash", - "set", - "SymmetricDifference" - ] - }, - "12560": { + "12858": { "crate_id": 4, "kind": "struct", "path": [ @@ -808586,7 +831640,7 @@ "linger" ] }, - "12561": { + "12859": { "crate_id": 4, "kind": "struct", "path": [ @@ -808595,7 +831649,7 @@ "sigval" ] }, - "12562": { + "12860": { "crate_id": 4, "kind": "struct", "path": [ @@ -808604,7 +831658,7 @@ "itimerval" ] }, - "12563": { + "12861": { "crate_id": 4, "kind": "struct", "path": [ @@ -808613,7 +831667,7 @@ "tms" ] }, - "12564": { + "12862": { "crate_id": 4, "kind": "struct", "path": [ @@ -808622,7 +831676,7 @@ "servent" ] }, - "12565": { + "12863": { "crate_id": 4, "kind": "struct", "path": [ @@ -808631,7 +831685,7 @@ "protoent" ] }, - "12566": { + "12864": { "crate_id": 4, "kind": "struct", "path": [ @@ -808641,7 +831695,7 @@ "ip_mreq" ] }, - "12567": { + "12865": { "crate_id": 4, "kind": "struct", "path": [ @@ -808651,7 +831705,7 @@ "ip_mreqn" ] }, - "12568": { + "12866": { "crate_id": 4, "kind": "struct", "path": [ @@ -808661,7 +831715,7 @@ "ip_mreq_source" ] }, - "12569": { + "12867": { "crate_id": 4, "kind": "struct", "path": [ @@ -808671,7 +831725,7 @@ "sockaddr_ll" ] }, - "12570": { + "12868": { "crate_id": 4, "kind": "struct", "path": [ @@ -808681,7 +831735,7 @@ "fd_set" ] }, - "12571": { + "12869": { "crate_id": 4, "kind": "struct", "path": [ @@ -808691,7 +831745,7 @@ "tm" ] }, - "12572": { + "12870": { "crate_id": 4, "kind": "struct", "path": [ @@ -808701,7 +831755,7 @@ "sched_param" ] }, - "12573": { + "12871": { "crate_id": 4, "kind": "struct", "path": [ @@ -808711,7 +831765,7 @@ "Dl_info" ] }, - "12574": { + "12872": { "crate_id": 4, "kind": "struct", "path": [ @@ -808721,7 +831775,7 @@ "lconv" ] }, - "12575": { + "12873": { "crate_id": 4, "kind": "struct", "path": [ @@ -808731,7 +831785,7 @@ "in_pktinfo" ] }, - "12576": { + "12874": { "crate_id": 4, "kind": "struct", "path": [ @@ -808741,7 +831795,7 @@ "ifaddrs" ] }, - "12577": { + "12875": { "crate_id": 4, "kind": "struct", "path": [ @@ -808751,7 +831805,7 @@ "in6_rtmsg" ] }, - "12578": { + "12876": { "crate_id": 4, "kind": "struct", "path": [ @@ -808761,7 +831815,7 @@ "arpreq" ] }, - "12579": { + "12877": { "crate_id": 4, "kind": "struct", "path": [ @@ -808771,18 +831825,7 @@ "arpreq_old" ] }, - "1258": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "collections", - "hash", - "set", - "Intersection" - ] - }, - "12580": { + "12878": { "crate_id": 4, "kind": "struct", "path": [ @@ -808792,7 +831835,7 @@ "arphdr" ] }, - "12581": { + "12879": { "crate_id": 4, "kind": "struct", "path": [ @@ -808802,7 +831845,7 @@ "mmsghdr" ] }, - "12582": { + "12880": { "crate_id": 4, "kind": "struct", "path": [ @@ -808812,7 +831855,7 @@ "file_clone_range" ] }, - "12583": { + "12881": { "crate_id": 4, "kind": "struct", "path": [ @@ -808822,7 +831865,7 @@ "sock_filter" ] }, - "12584": { + "12882": { "crate_id": 4, "kind": "struct", "path": [ @@ -808832,7 +831875,7 @@ "sock_fprog" ] }, - "12585": { + "12883": { "crate_id": 4, "kind": "struct", "path": [ @@ -808842,7 +831885,7 @@ "statx" ] }, - "12586": { + "12884": { "crate_id": 4, "kind": "struct", "path": [ @@ -808852,7 +831895,7 @@ "epoll_event" ] }, - "12587": { + "12885": { "crate_id": 4, "kind": "struct", "path": [ @@ -808862,7 +831905,7 @@ "utsname" ] }, - "12588": { + "12886": { "crate_id": 4, "kind": "struct", "path": [ @@ -808872,7 +831915,7 @@ "sigevent" ] }, - "12589": { + "12887": { "crate_id": 4, "kind": "enum", "path": [ @@ -808883,7 +831926,7 @@ "tpacket_versions" ] }, - "12590": { + "12888": { "crate_id": 4, "kind": "struct", "path": [ @@ -808894,7 +831937,7 @@ "glob_t" ] }, - "12591": { + "12889": { "crate_id": 4, "kind": "struct", "path": [ @@ -808905,7 +831948,7 @@ "passwd" ] }, - "12592": { + "12890": { "crate_id": 4, "kind": "struct", "path": [ @@ -808916,7 +831959,7 @@ "spwd" ] }, - "12593": { + "12891": { "crate_id": 4, "kind": "struct", "path": [ @@ -808927,7 +831970,7 @@ "dqblk" ] }, - "12594": { + "12892": { "crate_id": 4, "kind": "struct", "path": [ @@ -808938,7 +831981,7 @@ "signalfd_siginfo" ] }, - "12595": { + "12893": { "crate_id": 4, "kind": "struct", "path": [ @@ -808949,7 +831992,7 @@ "itimerspec" ] }, - "12596": { + "12894": { "crate_id": 4, "kind": "struct", "path": [ @@ -808960,7 +832003,7 @@ "fsid_t" ] }, - "12597": { + "12895": { "crate_id": 4, "kind": "struct", "path": [ @@ -808971,7 +832014,7 @@ "fanout_args" ] }, - "12598": { + "12896": { "crate_id": 4, "kind": "struct", "path": [ @@ -808982,7 +832025,7 @@ "packet_mreq" ] }, - "12599": { + "12897": { "crate_id": 4, "kind": "struct", "path": [ @@ -808993,18 +832036,7 @@ "sockaddr_pkt" ] }, - "1260": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "collections", - "hash", - "set", - "Union" - ] - }, - "12600": { + "12898": { "crate_id": 4, "kind": "struct", "path": [ @@ -809015,7 +832047,7 @@ "tpacket_auxdata" ] }, - "12601": { + "12899": { "crate_id": 4, "kind": "struct", "path": [ @@ -809026,7 +832058,15 @@ "tpacket_hdr" ] }, - "12602": { + "129": { + "crate_id": 1, + "kind": "macro", + "path": [ + "core", + "concat_bytes" + ] + }, + "12900": { "crate_id": 4, "kind": "struct", "path": [ @@ -809037,7 +832077,7 @@ "tpacket_hdr_variant1" ] }, - "12603": { + "12901": { "crate_id": 4, "kind": "struct", "path": [ @@ -809048,7 +832088,7 @@ "tpacket2_hdr" ] }, - "12604": { + "12902": { "crate_id": 4, "kind": "struct", "path": [ @@ -809059,7 +832099,7 @@ "tpacket_req" ] }, - "12605": { + "12903": { "crate_id": 4, "kind": "struct", "path": [ @@ -809070,7 +832110,7 @@ "tpacket_req3" ] }, - "12606": { + "12904": { "crate_id": 4, "kind": "struct", "path": [ @@ -809081,7 +832121,7 @@ "tpacket_rollover_stats" ] }, - "12607": { + "12905": { "crate_id": 4, "kind": "struct", "path": [ @@ -809092,7 +832132,7 @@ "tpacket_stats" ] }, - "12608": { + "12906": { "crate_id": 4, "kind": "struct", "path": [ @@ -809103,7 +832143,7 @@ "tpacket_stats_v3" ] }, - "12609": { + "12907": { "crate_id": 4, "kind": "struct", "path": [ @@ -809114,7 +832154,7 @@ "tpacket3_hdr" ] }, - "12610": { + "12908": { "crate_id": 4, "kind": "struct", "path": [ @@ -809125,7 +832165,7 @@ "tpacket_bd_ts" ] }, - "12611": { + "12909": { "crate_id": 4, "kind": "struct", "path": [ @@ -809136,7 +832176,7 @@ "tpacket_hdr_v1" ] }, - "12612": { + "12910": { "crate_id": 4, "kind": "struct", "path": [ @@ -809147,7 +832187,7 @@ "cpu_set_t" ] }, - "12613": { + "12911": { "crate_id": 4, "kind": "struct", "path": [ @@ -809158,7 +832198,7 @@ "if_nameindex" ] }, - "12614": { + "12912": { "crate_id": 4, "kind": "struct", "path": [ @@ -809169,7 +832209,7 @@ "msginfo" ] }, - "12615": { + "12913": { "crate_id": 4, "kind": "struct", "path": [ @@ -809180,7 +832220,7 @@ "sembuf" ] }, - "12616": { + "12914": { "crate_id": 4, "kind": "struct", "path": [ @@ -809191,7 +832231,7 @@ "input_event" ] }, - "12617": { + "12915": { "crate_id": 4, "kind": "struct", "path": [ @@ -809202,7 +832242,7 @@ "input_id" ] }, - "12618": { + "12916": { "crate_id": 4, "kind": "struct", "path": [ @@ -809213,7 +832253,7 @@ "input_absinfo" ] }, - "12619": { + "12917": { "crate_id": 4, "kind": "struct", "path": [ @@ -809224,7 +832264,7 @@ "input_keymap_entry" ] }, - "12620": { + "12918": { "crate_id": 4, "kind": "struct", "path": [ @@ -809235,7 +832275,7 @@ "input_mask" ] }, - "12621": { + "12919": { "crate_id": 4, "kind": "struct", "path": [ @@ -809246,7 +832286,7 @@ "ff_replay" ] }, - "12622": { + "12920": { "crate_id": 4, "kind": "struct", "path": [ @@ -809257,7 +832297,7 @@ "ff_trigger" ] }, - "12623": { + "12921": { "crate_id": 4, "kind": "struct", "path": [ @@ -809268,7 +832308,7 @@ "ff_envelope" ] }, - "12624": { + "12922": { "crate_id": 4, "kind": "struct", "path": [ @@ -809279,7 +832319,7 @@ "ff_constant_effect" ] }, - "12625": { + "12923": { "crate_id": 4, "kind": "struct", "path": [ @@ -809290,7 +832330,7 @@ "ff_ramp_effect" ] }, - "12626": { + "12924": { "crate_id": 4, "kind": "struct", "path": [ @@ -809301,7 +832341,7 @@ "ff_condition_effect" ] }, - "12627": { + "12925": { "crate_id": 4, "kind": "struct", "path": [ @@ -809312,7 +832352,7 @@ "ff_periodic_effect" ] }, - "12628": { + "12926": { "crate_id": 4, "kind": "struct", "path": [ @@ -809323,7 +832363,7 @@ "ff_rumble_effect" ] }, - "12629": { + "12927": { "crate_id": 4, "kind": "struct", "path": [ @@ -809334,7 +832374,7 @@ "ff_effect" ] }, - "12630": { + "12928": { "crate_id": 4, "kind": "struct", "path": [ @@ -809345,7 +832385,7 @@ "uinput_ff_upload" ] }, - "12631": { + "12929": { "crate_id": 4, "kind": "struct", "path": [ @@ -809356,7 +832396,7 @@ "uinput_ff_erase" ] }, - "12632": { + "12930": { "crate_id": 4, "kind": "struct", "path": [ @@ -809367,7 +832407,7 @@ "uinput_abs_setup" ] }, - "12633": { + "12931": { "crate_id": 4, "kind": "struct", "path": [ @@ -809378,7 +832418,7 @@ "dl_phdr_info" ] }, - "12634": { + "12932": { "crate_id": 4, "kind": "struct", "path": [ @@ -809389,7 +832429,7 @@ "Elf32_Ehdr" ] }, - "12635": { + "12933": { "crate_id": 4, "kind": "struct", "path": [ @@ -809400,7 +832440,7 @@ "Elf64_Ehdr" ] }, - "12636": { + "12934": { "crate_id": 4, "kind": "struct", "path": [ @@ -809411,7 +832451,7 @@ "Elf32_Sym" ] }, - "12637": { + "12935": { "crate_id": 4, "kind": "struct", "path": [ @@ -809422,7 +832462,7 @@ "Elf64_Sym" ] }, - "12638": { + "12936": { "crate_id": 4, "kind": "struct", "path": [ @@ -809433,7 +832473,7 @@ "Elf32_Phdr" ] }, - "12639": { + "12937": { "crate_id": 4, "kind": "struct", "path": [ @@ -809444,7 +832484,7 @@ "Elf64_Phdr" ] }, - "12640": { + "12938": { "crate_id": 4, "kind": "struct", "path": [ @@ -809455,7 +832495,7 @@ "Elf32_Shdr" ] }, - "12641": { + "12939": { "crate_id": 4, "kind": "struct", "path": [ @@ -809466,7 +832506,7 @@ "Elf64_Shdr" ] }, - "12642": { + "12940": { "crate_id": 4, "kind": "struct", "path": [ @@ -809477,7 +832517,7 @@ "__c_anonymous_elf32_rel" ] }, - "12643": { + "12941": { "crate_id": 4, "kind": "struct", "path": [ @@ -809488,7 +832528,7 @@ "__c_anonymous_elf64_rel" ] }, - "12644": { + "12942": { "crate_id": 4, "kind": "struct", "path": [ @@ -809499,7 +832539,7 @@ "__c_anonymous__kernel_fsid_t" ] }, - "12645": { + "12943": { "crate_id": 4, "kind": "struct", "path": [ @@ -809510,7 +832550,7 @@ "mntent" ] }, - "12646": { + "12944": { "crate_id": 4, "kind": "struct", "path": [ @@ -809521,7 +832561,7 @@ "posix_spawn_file_actions_t" ] }, - "12647": { + "12945": { "crate_id": 4, "kind": "struct", "path": [ @@ -809532,7 +832572,7 @@ "posix_spawnattr_t" ] }, - "12648": { + "12946": { "crate_id": 4, "kind": "struct", "path": [ @@ -809543,7 +832583,7 @@ "genlmsghdr" ] }, - "12649": { + "12947": { "crate_id": 4, "kind": "struct", "path": [ @@ -809554,7 +832594,7 @@ "in6_pktinfo" ] }, - "12650": { + "12948": { "crate_id": 4, "kind": "struct", "path": [ @@ -809565,7 +832605,7 @@ "arpd_request" ] }, - "12651": { + "12949": { "crate_id": 4, "kind": "struct", "path": [ @@ -809576,7 +832616,7 @@ "inotify_event" ] }, - "12652": { + "12950": { "crate_id": 4, "kind": "struct", "path": [ @@ -809587,7 +832627,7 @@ "fanotify_response" ] }, - "12653": { + "12951": { "crate_id": 4, "kind": "struct", "path": [ @@ -809598,7 +832638,7 @@ "fanotify_event_info_header" ] }, - "12654": { + "12952": { "crate_id": 4, "kind": "struct", "path": [ @@ -809609,7 +832649,7 @@ "fanotify_event_info_fid" ] }, - "12655": { + "12953": { "crate_id": 4, "kind": "struct", "path": [ @@ -809620,7 +832660,7 @@ "sockaddr_vm" ] }, - "12656": { + "12954": { "crate_id": 4, "kind": "struct", "path": [ @@ -809631,7 +832671,7 @@ "regmatch_t" ] }, - "12657": { + "12955": { "crate_id": 4, "kind": "struct", "path": [ @@ -809642,62 +832682,7 @@ "sock_extended_err" ] }, - "12658": { - "crate_id": 4, - "kind": "struct", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "__c_anonymous_sockaddr_can_tp" - ] - }, - "12659": { - "crate_id": 4, - "kind": "struct", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "__c_anonymous_sockaddr_can_j1939" - ] - }, - "1266": { - "crate_id": 0, - "kind": "enum", - "path": [ - "std", - "collections", - "hash", - "set", - "Entry" - ] - }, - "12660": { - "crate_id": 4, - "kind": "struct", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "can_filter" - ] - }, - "12661": { - "crate_id": 4, - "kind": "struct", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "j1939_filter" - ] - }, - "12662": { + "12956": { "crate_id": 4, "kind": "struct", "path": [ @@ -809708,7 +832693,7 @@ "seccomp_data" ] }, - "12663": { + "12957": { "crate_id": 4, "kind": "struct", "path": [ @@ -809719,7 +832704,7 @@ "seccomp_notif_sizes" ] }, - "12664": { + "12958": { "crate_id": 4, "kind": "struct", "path": [ @@ -809730,7 +832715,7 @@ "seccomp_notif" ] }, - "12665": { + "12959": { "crate_id": 4, "kind": "struct", "path": [ @@ -809741,7 +832726,7 @@ "seccomp_notif_resp" ] }, - "12666": { + "12960": { "crate_id": 4, "kind": "struct", "path": [ @@ -809752,7 +832737,7 @@ "seccomp_notif_addfd" ] }, - "12667": { + "12961": { "crate_id": 4, "kind": "struct", "path": [ @@ -809763,7 +832748,7 @@ "nlmsghdr" ] }, - "12668": { + "12962": { "crate_id": 4, "kind": "struct", "path": [ @@ -809774,7 +832759,7 @@ "nlmsgerr" ] }, - "12669": { + "12963": { "crate_id": 4, "kind": "struct", "path": [ @@ -809785,7 +832770,7 @@ "nlattr" ] }, - "12670": { + "12964": { "crate_id": 4, "kind": "struct", "path": [ @@ -809796,7 +832781,7 @@ "__c_anonymous_ifru_map" ] }, - "12671": { + "12965": { "crate_id": 4, "kind": "struct", "path": [ @@ -809807,7 +832792,7 @@ "in6_ifreq" ] }, - "12672": { + "12966": { "crate_id": 4, "kind": "struct", "path": [ @@ -809818,7 +832803,7 @@ "option" ] }, - "12673": { + "12967": { "crate_id": 4, "kind": "struct", "path": [ @@ -809829,7 +832814,7 @@ "open_how" ] }, - "12674": { + "12968": { "crate_id": 4, "kind": "struct", "path": [ @@ -809840,7 +832825,7 @@ "ptp_clock_time" ] }, - "12675": { + "12969": { "crate_id": 4, "kind": "struct", "path": [ @@ -809851,7 +832836,7 @@ "ptp_extts_request" ] }, - "12676": { + "12970": { "crate_id": 4, "kind": "struct", "path": [ @@ -809862,7 +832847,7 @@ "ptp_sys_offset_extended" ] }, - "12677": { + "12971": { "crate_id": 4, "kind": "struct", "path": [ @@ -809873,7 +832858,7 @@ "ptp_sys_offset_precise" ] }, - "12678": { + "12972": { "crate_id": 4, "kind": "struct", "path": [ @@ -809884,7 +832869,7 @@ "ptp_extts_event" ] }, - "12679": { + "12973": { "crate_id": 4, "kind": "struct", "path": [ @@ -809895,7 +832880,7 @@ "sctp_initmsg" ] }, - "12680": { + "12974": { "crate_id": 4, "kind": "struct", "path": [ @@ -809906,7 +832891,7 @@ "sctp_sndrcvinfo" ] }, - "12681": { + "12975": { "crate_id": 4, "kind": "struct", "path": [ @@ -809917,7 +832902,7 @@ "sctp_sndinfo" ] }, - "12682": { + "12976": { "crate_id": 4, "kind": "struct", "path": [ @@ -809928,7 +832913,7 @@ "sctp_rcvinfo" ] }, - "12683": { + "12977": { "crate_id": 4, "kind": "struct", "path": [ @@ -809939,7 +832924,7 @@ "sctp_nxtinfo" ] }, - "12684": { + "12978": { "crate_id": 4, "kind": "struct", "path": [ @@ -809950,7 +832935,7 @@ "sctp_prinfo" ] }, - "12685": { + "12979": { "crate_id": 4, "kind": "struct", "path": [ @@ -809961,7 +832946,7 @@ "sctp_authinfo" ] }, - "12686": { + "12980": { "crate_id": 4, "kind": "struct", "path": [ @@ -809972,7 +832957,7 @@ "rlimit64" ] }, - "12687": { + "12981": { "crate_id": 4, "kind": "struct", "path": [ @@ -809983,7 +832968,7 @@ "tls_crypto_info" ] }, - "12688": { + "12982": { "crate_id": 4, "kind": "struct", "path": [ @@ -809994,7 +832979,7 @@ "tls12_crypto_info_aes_gcm_128" ] }, - "12689": { + "12983": { "crate_id": 4, "kind": "struct", "path": [ @@ -810005,7 +832990,7 @@ "tls12_crypto_info_aes_gcm_256" ] }, - "12690": { + "12984": { "crate_id": 4, "kind": "struct", "path": [ @@ -810016,7 +833001,7 @@ "tls12_crypto_info_aes_ccm_128" ] }, - "12691": { + "12985": { "crate_id": 4, "kind": "struct", "path": [ @@ -810027,7 +833012,7 @@ "tls12_crypto_info_chacha20_poly1305" ] }, - "12692": { + "12986": { "crate_id": 4, "kind": "struct", "path": [ @@ -810038,7 +833023,7 @@ "tls12_crypto_info_sm4_gcm" ] }, - "12693": { + "12987": { "crate_id": 4, "kind": "struct", "path": [ @@ -810049,7 +833034,7 @@ "tls12_crypto_info_sm4_ccm" ] }, - "12694": { + "12988": { "crate_id": 4, "kind": "struct", "path": [ @@ -810060,7 +833045,7 @@ "tls12_crypto_info_aria_gcm_128" ] }, - "12695": { + "12989": { "crate_id": 4, "kind": "struct", "path": [ @@ -810071,7 +833056,7 @@ "tls12_crypto_info_aria_gcm_256" ] }, - "12696": { + "12990": { "crate_id": 4, "kind": "struct", "path": [ @@ -810082,7 +833067,7 @@ "iw_param" ] }, - "12697": { + "12991": { "crate_id": 4, "kind": "struct", "path": [ @@ -810093,7 +833078,7 @@ "iw_point" ] }, - "12698": { + "12992": { "crate_id": 4, "kind": "struct", "path": [ @@ -810104,7 +833089,7 @@ "iw_freq" ] }, - "12699": { + "12993": { "crate_id": 4, "kind": "struct", "path": [ @@ -810115,16 +833100,7 @@ "iw_quality" ] }, - "127": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "cmp", - "PartialOrd" - ] - }, - "12700": { + "12994": { "crate_id": 4, "kind": "struct", "path": [ @@ -810135,7 +833111,7 @@ "iw_discarded" ] }, - "12701": { + "12995": { "crate_id": 4, "kind": "struct", "path": [ @@ -810146,7 +833122,7 @@ "iw_missed" ] }, - "12702": { + "12996": { "crate_id": 4, "kind": "struct", "path": [ @@ -810157,7 +833133,7 @@ "iw_scan_req" ] }, - "12703": { + "12997": { "crate_id": 4, "kind": "struct", "path": [ @@ -810168,7 +833144,7 @@ "iw_encode_ext" ] }, - "12704": { + "12998": { "crate_id": 4, "kind": "struct", "path": [ @@ -810179,7 +833155,7 @@ "iw_pmksa" ] }, - "12705": { + "12999": { "crate_id": 4, "kind": "struct", "path": [ @@ -810190,7 +833166,17 @@ "iw_pmkid_cand" ] }, - "12706": { + "13": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "ops", + "function", + "FnMut" + ] + }, + "13000": { "crate_id": 4, "kind": "struct", "path": [ @@ -810201,7 +833187,7 @@ "iw_statistics" ] }, - "12707": { + "13001": { "crate_id": 4, "kind": "struct", "path": [ @@ -810212,7 +833198,7 @@ "iw_range" ] }, - "12708": { + "13002": { "crate_id": 4, "kind": "struct", "path": [ @@ -810223,7 +833209,7 @@ "iw_priv_args" ] }, - "12709": { + "13003": { "crate_id": 4, "kind": "struct", "path": [ @@ -810234,7 +833220,7 @@ "epoll_params" ] }, - "12710": { + "13004": { "crate_id": 4, "kind": "struct", "path": [ @@ -810245,7 +833231,7 @@ "pthread_mutexattr_t" ] }, - "12711": { + "13005": { "crate_id": 4, "kind": "struct", "path": [ @@ -810256,7 +833242,7 @@ "pthread_rwlockattr_t" ] }, - "12712": { + "13006": { "crate_id": 4, "kind": "struct", "path": [ @@ -810267,7 +833253,7 @@ "pthread_condattr_t" ] }, - "12713": { + "13007": { "crate_id": 4, "kind": "struct", "path": [ @@ -810278,7 +833264,7 @@ "pthread_barrierattr_t" ] }, - "12714": { + "13008": { "crate_id": 4, "kind": "struct", "path": [ @@ -810289,7 +833275,7 @@ "fanotify_event_metadata" ] }, - "12715": { + "13009": { "crate_id": 4, "kind": "struct", "path": [ @@ -810300,7 +833286,7 @@ "ptp_sys_offset" ] }, - "12716": { + "13010": { "crate_id": 4, "kind": "struct", "path": [ @@ -810311,7 +833297,7 @@ "ptp_pin_desc" ] }, - "12717": { + "13011": { "crate_id": 4, "kind": "struct", "path": [ @@ -810322,7 +833308,7 @@ "ptp_clock_caps" ] }, - "12718": { + "13012": { "crate_id": 4, "kind": "struct", "path": [ @@ -810333,7 +833319,7 @@ "sockaddr_xdp" ] }, - "12719": { + "13013": { "crate_id": 4, "kind": "struct", "path": [ @@ -810344,7 +833330,7 @@ "xdp_ring_offset" ] }, - "12720": { + "13014": { "crate_id": 4, "kind": "struct", "path": [ @@ -810355,7 +833341,7 @@ "xdp_mmap_offsets" ] }, - "12721": { + "13015": { "crate_id": 4, "kind": "struct", "path": [ @@ -810366,7 +833352,7 @@ "xdp_ring_offset_v1" ] }, - "12722": { + "13016": { "crate_id": 4, "kind": "struct", "path": [ @@ -810377,7 +833363,7 @@ "xdp_mmap_offsets_v1" ] }, - "12723": { + "13017": { "crate_id": 4, "kind": "struct", "path": [ @@ -810388,7 +833374,7 @@ "xdp_umem_reg" ] }, - "12724": { + "13018": { "crate_id": 4, "kind": "struct", "path": [ @@ -810399,7 +833385,7 @@ "xdp_umem_reg_v1" ] }, - "12725": { + "13019": { "crate_id": 4, "kind": "struct", "path": [ @@ -810410,7 +833396,7 @@ "xdp_statistics" ] }, - "12726": { + "13020": { "crate_id": 4, "kind": "struct", "path": [ @@ -810421,7 +833407,7 @@ "xdp_statistics_v1" ] }, - "12727": { + "13021": { "crate_id": 4, "kind": "struct", "path": [ @@ -810432,7 +833418,7 @@ "xdp_options" ] }, - "12728": { + "13022": { "crate_id": 4, "kind": "struct", "path": [ @@ -810443,7 +833429,7 @@ "xdp_desc" ] }, - "12729": { + "13023": { "crate_id": 4, "kind": "struct", "path": [ @@ -810454,7 +833440,7 @@ "xsk_tx_metadata_completion" ] }, - "12730": { + "13024": { "crate_id": 4, "kind": "struct", "path": [ @@ -810465,7 +833451,7 @@ "xsk_tx_metadata_request" ] }, - "12731": { + "13025": { "crate_id": 4, "kind": "struct", "path": [ @@ -810476,7 +833462,7 @@ "mount_attr" ] }, - "12732": { + "13026": { "crate_id": 4, "kind": "struct", "path": [ @@ -810487,7 +833473,7 @@ "mnt_ns_info" ] }, - "12733": { + "13027": { "crate_id": 4, "kind": "struct", "path": [ @@ -810498,7 +833484,7 @@ "pidfd_info" ] }, - "12734": { + "13028": { "crate_id": 4, "kind": "struct", "path": [ @@ -810509,7 +833495,7 @@ "dmabuf_cmsg" ] }, - "12735": { + "13029": { "crate_id": 4, "kind": "struct", "path": [ @@ -810520,7 +833506,7 @@ "dmabuf_token" ] }, - "12736": { + "13030": { "crate_id": 4, "kind": "struct", "path": [ @@ -810531,7 +833517,7 @@ "iw_thrspy" ] }, - "12737": { + "13031": { "crate_id": 4, "kind": "struct", "path": [ @@ -810542,7 +833528,7 @@ "iw_mlme" ] }, - "12738": { + "13032": { "crate_id": 4, "kind": "struct", "path": [ @@ -810553,7 +833539,7 @@ "iw_michaelmicfailure" ] }, - "12739": { + "13033": { "crate_id": 4, "kind": "struct", "path": [ @@ -810564,7 +833550,7 @@ "__c_anonymous_elf32_rela" ] }, - "12740": { + "13034": { "crate_id": 4, "kind": "struct", "path": [ @@ -810575,7 +833561,7 @@ "__c_anonymous_elf64_rela" ] }, - "12741": { + "13035": { "crate_id": 4, "kind": "struct", "path": [ @@ -810586,7 +833572,7 @@ "sockaddr_nl" ] }, - "12742": { + "13036": { "crate_id": 4, "kind": "struct", "path": [ @@ -810597,7 +833583,7 @@ "dirent" ] }, - "12743": { + "13037": { "crate_id": 4, "kind": "struct", "path": [ @@ -810608,7 +833594,7 @@ "sockaddr_alg" ] }, - "12744": { + "13038": { "crate_id": 4, "kind": "struct", "path": [ @@ -810619,7 +833605,7 @@ "uinput_setup" ] }, - "12745": { + "13039": { "crate_id": 4, "kind": "struct", "path": [ @@ -810630,7 +833616,7 @@ "uinput_user_dev" ] }, - "12746": { + "13040": { "crate_id": 4, "kind": "struct", "path": [ @@ -810641,7 +833627,7 @@ "af_alg_iv" ] }, - "12747": { + "13041": { "crate_id": 4, "kind": "struct", "path": [ @@ -810652,7 +833638,7 @@ "mq_attr" ] }, - "12748": { + "13042": { "crate_id": 4, "kind": "union", "path": [ @@ -810663,7 +833649,7 @@ "__c_anonymous_ifr_ifru" ] }, - "12749": { + "13043": { "crate_id": 4, "kind": "struct", "path": [ @@ -810674,7 +833660,7 @@ "ifreq" ] }, - "12750": { + "13044": { "crate_id": 4, "kind": "union", "path": [ @@ -810685,7 +833671,7 @@ "__c_anonymous_ifc_ifcu" ] }, - "12751": { + "13045": { "crate_id": 4, "kind": "struct", "path": [ @@ -810696,7 +833682,7 @@ "ifconf" ] }, - "12752": { + "13046": { "crate_id": 4, "kind": "struct", "path": [ @@ -810707,7 +833693,7 @@ "hwtstamp_config" ] }, - "12753": { + "13047": { "crate_id": 4, "kind": "struct", "path": [ @@ -810718,7 +833704,7 @@ "sched_attr" ] }, - "12754": { + "13048": { "crate_id": 4, "kind": "union", "path": [ @@ -810729,7 +833715,7 @@ "tpacket_req_u" ] }, - "12755": { + "13049": { "crate_id": 4, "kind": "union", "path": [ @@ -810740,7 +833726,7 @@ "tpacket_bd_header_u" ] }, - "12756": { + "13050": { "crate_id": 4, "kind": "struct", "path": [ @@ -810751,7 +833737,7 @@ "tpacket_block_desc" ] }, - "12757": { + "13051": { "crate_id": 4, "kind": "struct", "path": [ @@ -810762,7 +833748,7 @@ "pthread_cond_t" ] }, - "12758": { + "13052": { "crate_id": 4, "kind": "struct", "path": [ @@ -810773,7 +833759,7 @@ "pthread_mutex_t" ] }, - "12759": { + "13053": { "crate_id": 4, "kind": "struct", "path": [ @@ -810784,7 +833770,7 @@ "pthread_rwlock_t" ] }, - "12760": { + "13054": { "crate_id": 4, "kind": "struct", "path": [ @@ -810795,7 +833781,7 @@ "pthread_barrier_t" ] }, - "12761": { + "13055": { "crate_id": 4, "kind": "struct", "path": [ @@ -810806,62 +833792,7 @@ "sock_txtime" ] }, - "12762": { - "crate_id": 4, - "kind": "struct", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "can_frame" - ] - }, - "12763": { - "crate_id": 4, - "kind": "struct", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "canfd_frame" - ] - }, - "12764": { - "crate_id": 4, - "kind": "struct", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "canxl_frame" - ] - }, - "12765": { - "crate_id": 4, - "kind": "union", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "__c_anonymous_sockaddr_can_can_addr" - ] - }, - "12766": { - "crate_id": 4, - "kind": "struct", - "path": [ - "libc", - "unix", - "linux_like", - "linux", - "sockaddr_can" - ] - }, - "12767": { + "13056": { "crate_id": 4, "kind": "union", "path": [ @@ -810872,7 +833803,7 @@ "iwreq_data" ] }, - "12768": { + "13057": { "crate_id": 4, "kind": "struct", "path": [ @@ -810883,7 +833814,7 @@ "iw_event" ] }, - "12769": { + "13058": { "crate_id": 4, "kind": "union", "path": [ @@ -810894,7 +833825,7 @@ "__c_anonymous_iwreq" ] }, - "12770": { + "13059": { "crate_id": 4, "kind": "struct", "path": [ @@ -810905,7 +833836,7 @@ "iwreq" ] }, - "12771": { + "13060": { "crate_id": 4, "kind": "union", "path": [ @@ -810916,7 +833847,7 @@ "__c_anonymous_ptp_perout_request_1" ] }, - "12772": { + "13061": { "crate_id": 4, "kind": "union", "path": [ @@ -810927,7 +833858,7 @@ "__c_anonymous_ptp_perout_request_2" ] }, - "12773": { + "13062": { "crate_id": 4, "kind": "struct", "path": [ @@ -810938,7 +833869,7 @@ "ptp_perout_request" ] }, - "12774": { + "13063": { "crate_id": 4, "kind": "struct", "path": [ @@ -810949,7 +833880,7 @@ "xsk_tx_metadata" ] }, - "12775": { + "13064": { "crate_id": 4, "kind": "union", "path": [ @@ -810960,7 +833891,7 @@ "__c_anonymous_xsk_tx_metadata_union" ] }, - "12776": { + "13065": { "crate_id": 4, "kind": "struct", "path": [ @@ -810972,7 +833903,7 @@ "aiocb" ] }, - "12777": { + "13066": { "crate_id": 4, "kind": "struct", "path": [ @@ -810984,7 +833915,7 @@ "__exit_status" ] }, - "12778": { + "13067": { "crate_id": 4, "kind": "struct", "path": [ @@ -810996,7 +833927,7 @@ "__timeval" ] }, - "12779": { + "13068": { "crate_id": 4, "kind": "struct", "path": [ @@ -811008,7 +833939,7 @@ "glob64_t" ] }, - "12780": { + "13069": { "crate_id": 4, "kind": "struct", "path": [ @@ -811020,7 +833951,7 @@ "termios" ] }, - "12781": { + "13070": { "crate_id": 4, "kind": "struct", "path": [ @@ -811032,7 +833963,7 @@ "mallinfo" ] }, - "12782": { + "13071": { "crate_id": 4, "kind": "struct", "path": [ @@ -811044,7 +833975,7 @@ "mallinfo2" ] }, - "12783": { + "13072": { "crate_id": 4, "kind": "struct", "path": [ @@ -811056,7 +833987,7 @@ "nl_pktinfo" ] }, - "12784": { + "13073": { "crate_id": 4, "kind": "struct", "path": [ @@ -811068,7 +833999,7 @@ "nl_mmap_req" ] }, - "12785": { + "13074": { "crate_id": 4, "kind": "struct", "path": [ @@ -811080,7 +834011,7 @@ "nl_mmap_hdr" ] }, - "12786": { + "13075": { "crate_id": 4, "kind": "struct", "path": [ @@ -811092,7 +834023,7 @@ "rtentry" ] }, - "12787": { + "13076": { "crate_id": 4, "kind": "struct", "path": [ @@ -811104,7 +834035,7 @@ "ntptimeval" ] }, - "12788": { + "13077": { "crate_id": 4, "kind": "struct", "path": [ @@ -811116,7 +834047,7 @@ "regex_t" ] }, - "12789": { + "13078": { "crate_id": 4, "kind": "struct", "path": [ @@ -811128,7 +834059,7 @@ "Elf64_Chdr" ] }, - "12790": { + "13079": { "crate_id": 4, "kind": "struct", "path": [ @@ -811140,7 +834071,7 @@ "Elf32_Chdr" ] }, - "12791": { + "13080": { "crate_id": 4, "kind": "struct", "path": [ @@ -811152,7 +834083,7 @@ "seminfo" ] }, - "12792": { + "13081": { "crate_id": 4, "kind": "struct", "path": [ @@ -811164,7 +834095,7 @@ "ptrace_peeksiginfo_args" ] }, - "12793": { + "13082": { "crate_id": 4, "kind": "struct", "path": [ @@ -811176,7 +834107,7 @@ "__c_anonymous_ptrace_syscall_info_entry" ] }, - "12794": { + "13083": { "crate_id": 4, "kind": "struct", "path": [ @@ -811188,7 +834119,7 @@ "__c_anonymous_ptrace_syscall_info_exit" ] }, - "12795": { + "13084": { "crate_id": 4, "kind": "struct", "path": [ @@ -811200,7 +834131,7 @@ "__c_anonymous_ptrace_syscall_info_seccomp" ] }, - "12796": { + "13085": { "crate_id": 4, "kind": "struct", "path": [ @@ -811212,7 +834143,7 @@ "ptrace_syscall_info" ] }, - "12797": { + "13086": { "crate_id": 4, "kind": "struct", "path": [ @@ -811224,7 +834155,7 @@ "ptrace_sud_config" ] }, - "12798": { + "13087": { "crate_id": 4, "kind": "struct", "path": [ @@ -811236,7 +834167,7 @@ "iocb" ] }, - "12799": { + "13088": { "crate_id": 4, "kind": "struct", "path": [ @@ -811248,7 +834179,7 @@ "tcp_info" ] }, - "12800": { + "13089": { "crate_id": 4, "kind": "struct", "path": [ @@ -811260,7 +834191,7 @@ "fanotify_event_info_pidfd" ] }, - "12801": { + "13090": { "crate_id": 4, "kind": "struct", "path": [ @@ -811272,7 +834203,7 @@ "fanotify_event_info_error" ] }, - "12802": { + "13091": { "crate_id": 4, "kind": "struct", "path": [ @@ -811284,7 +834215,7 @@ "sem_t" ] }, - "12803": { + "13092": { "crate_id": 4, "kind": "struct", "path": [ @@ -811296,7 +834227,7 @@ "mbstate_t" ] }, - "12804": { + "13093": { "crate_id": 4, "kind": "struct", "path": [ @@ -811308,7 +834239,7 @@ "fpos64_t" ] }, - "12805": { + "13094": { "crate_id": 4, "kind": "struct", "path": [ @@ -811320,7 +834251,7 @@ "fpos_t" ] }, - "12806": { + "13095": { "crate_id": 4, "kind": "struct", "path": [ @@ -811332,7 +834263,7 @@ "sifields_sigchld" ] }, - "12807": { + "13096": { "crate_id": 4, "kind": "union", "path": [ @@ -811344,7 +834275,7 @@ "__c_anonymous_ptrace_syscall_info_data" ] }, - "12808": { + "13097": { "crate_id": 4, "kind": "struct", "path": [ @@ -811356,7 +834287,7 @@ "utmpx" ] }, - "12809": { + "13098": { "crate_id": 4, "kind": "struct", "path": [ @@ -811369,7 +834300,7 @@ "sigset_t" ] }, - "12810": { + "13099": { "crate_id": 4, "kind": "struct", "path": [ @@ -811382,7 +834313,17 @@ "sysinfo" ] }, - "12811": { + "131": { + "crate_id": 1, + "kind": "proc_attribute", + "path": [ + "core", + "macros", + "builtin", + "alloc_error_handler" + ] + }, + "13100": { "crate_id": 4, "kind": "struct", "path": [ @@ -811395,7 +834336,7 @@ "msqid_ds" ] }, - "12812": { + "13101": { "crate_id": 4, "kind": "struct", "path": [ @@ -811408,7 +834349,7 @@ "semid_ds" ] }, - "12813": { + "13102": { "crate_id": 4, "kind": "struct", "path": [ @@ -811421,7 +834362,7 @@ "timex" ] }, - "12814": { + "13103": { "crate_id": 4, "kind": "struct", "path": [ @@ -811435,7 +834376,7 @@ "statfs" ] }, - "12815": { + "13104": { "crate_id": 4, "kind": "struct", "path": [ @@ -811449,7 +834390,7 @@ "flock" ] }, - "12816": { + "13105": { "crate_id": 4, "kind": "struct", "path": [ @@ -811463,7 +834404,7 @@ "flock64" ] }, - "12817": { + "13106": { "crate_id": 4, "kind": "struct", "path": [ @@ -811477,7 +834418,7 @@ "stat" ] }, - "12818": { + "13107": { "crate_id": 4, "kind": "struct", "path": [ @@ -811491,7 +834432,7 @@ "statfs64" ] }, - "12819": { + "13108": { "crate_id": 4, "kind": "struct", "path": [ @@ -811505,7 +834446,7 @@ "statvfs64" ] }, - "12820": { + "13109": { "crate_id": 4, "kind": "struct", "path": [ @@ -811519,7 +834460,7 @@ "_libc_fpxreg" ] }, - "12821": { + "13110": { "crate_id": 4, "kind": "struct", "path": [ @@ -811533,7 +834474,7 @@ "_libc_xmmreg" ] }, - "12822": { + "13111": { "crate_id": 4, "kind": "struct", "path": [ @@ -811547,7 +834488,7 @@ "_libc_fpstate" ] }, - "12823": { + "13112": { "crate_id": 4, "kind": "struct", "path": [ @@ -811561,7 +834502,7 @@ "user_regs_struct" ] }, - "12824": { + "13113": { "crate_id": 4, "kind": "struct", "path": [ @@ -811575,7 +834516,7 @@ "user" ] }, - "12825": { + "13114": { "crate_id": 4, "kind": "struct", "path": [ @@ -811589,7 +834530,7 @@ "mcontext_t" ] }, - "12826": { + "13115": { "crate_id": 4, "kind": "struct", "path": [ @@ -811603,7 +834544,7 @@ "ipc_perm" ] }, - "12827": { + "13116": { "crate_id": 4, "kind": "struct", "path": [ @@ -811617,7 +834558,7 @@ "shmid_ds" ] }, - "12828": { + "13117": { "crate_id": 4, "kind": "struct", "path": [ @@ -811631,7 +834572,7 @@ "ptrace_rseq_configuration" ] }, - "12829": { + "13118": { "crate_id": 4, "kind": "struct", "path": [ @@ -811645,7 +834586,7 @@ "clone_args" ] }, - "12830": { + "13119": { "crate_id": 4, "kind": "struct", "path": [ @@ -811659,7 +834600,7 @@ "user_fpregs_struct" ] }, - "12831": { + "13120": { "crate_id": 4, "kind": "struct", "path": [ @@ -811673,7 +834614,7 @@ "ucontext_t" ] }, - "12832": { + "13121": { "crate_id": 4, "kind": "struct", "path": [ @@ -811687,7 +834628,7 @@ "max_align_t" ] }, - "12833": { + "13122": { "crate_id": 4, "kind": "struct", "path": [ @@ -811702,7 +834643,7 @@ "statvfs" ] }, - "12834": { + "13123": { "crate_id": 4, "kind": "struct", "path": [ @@ -811715,7 +834656,35 @@ "termios2" ] }, - "12835": { + "13124": { + "crate_id": 4, + "kind": "struct", + "path": [ + "libc", + "types", + "Padding" + ] + }, + "13125": { + "crate_id": 4, + "kind": "enum", + "path": [ + "libc", + "unix", + "FILE" + ] + }, + "13126": { + "crate_id": 4, + "kind": "enum", + "path": [ + "libc", + "unix", + "linux_like", + "timezone" + ] + }, + "13127": { "crate_id": 7, "kind": "struct", "path": [ @@ -811725,7 +834694,7 @@ "BitMask" ] }, - "12836": { + "13128": { "crate_id": 7, "kind": "struct", "path": [ @@ -811736,7 +834705,7 @@ "Group" ] }, - "12837": { + "13129": { "crate_id": 7, "kind": "struct", "path": [ @@ -811746,7 +834715,7 @@ "Tag" ] }, - "12838": { + "13130": { "crate_id": 7, "kind": "enum", "path": [ @@ -811755,7 +834724,7 @@ "Fallibility" ] }, - "12839": { + "13131": { "crate_id": 7, "kind": "struct", "path": [ @@ -811764,7 +834733,7 @@ "TableLayout" ] }, - "12840": { + "13132": { "crate_id": 7, "kind": "struct", "path": [ @@ -811774,7 +834743,7 @@ "BitMaskIter" ] }, - "12841": { + "13133": { "crate_id": 7, "kind": "struct", "path": [ @@ -811783,7 +834752,7 @@ "ProbeSeq" ] }, - "12842": { + "13134": { "crate_id": 7, "kind": "struct", "path": [ @@ -811792,7 +834761,7 @@ "Bucket" ] }, - "12843": { + "13135": { "crate_id": 7, "kind": "struct", "path": [ @@ -811801,7 +834770,7 @@ "RawTable" ] }, - "12844": { + "13136": { "crate_id": 7, "kind": "struct", "path": [ @@ -811810,7 +834779,7 @@ "RawIterRange" ] }, - "12845": { + "13137": { "crate_id": 7, "kind": "struct", "path": [ @@ -811819,7 +834788,7 @@ "RawIter" ] }, - "12846": { + "13138": { "crate_id": 7, "kind": "struct", "path": [ @@ -811828,7 +834797,7 @@ "RawIterHashInner" ] }, - "12847": { + "13139": { "crate_id": 7, "kind": "struct", "path": [ @@ -811837,7 +834806,17 @@ "RawIterHash" ] }, - "12848": { + "1314": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "ops", + "bit", + "BitOr" + ] + }, + "13140": { "crate_id": 7, "kind": "struct", "path": [ @@ -811846,7 +834825,7 @@ "Keys" ] }, - "12849": { + "13141": { "crate_id": 7, "kind": "struct", "path": [ @@ -811855,7 +834834,7 @@ "Values" ] }, - "12850": { + "13142": { "crate_id": 7, "kind": "struct", "path": [ @@ -811864,7 +834843,7 @@ "Intersection" ] }, - "12851": { + "13143": { "crate_id": 7, "kind": "struct", "path": [ @@ -811873,7 +834852,7 @@ "Difference" ] }, - "12852": { + "13144": { "crate_id": 7, "kind": "struct", "path": [ @@ -811882,7 +834861,7 @@ "SymmetricDifference" ] }, - "12853": { + "13145": { "crate_id": 7, "kind": "struct", "path": [ @@ -811891,7 +834870,7 @@ "Union" ] }, - "12854": { + "13146": { "crate_id": 7, "kind": "struct", "path": [ @@ -811900,7 +834879,7 @@ "HashTable" ] }, - "12855": { + "13147": { "crate_id": 7, "kind": "struct", "path": [ @@ -811909,7 +834888,7 @@ "Iter" ] }, - "12856": { + "13148": { "crate_id": 7, "kind": "struct", "path": [ @@ -811918,7 +834897,7 @@ "IterHash" ] }, - "12857": { + "13149": { "crate_id": 7, "kind": "struct", "path": [ @@ -811927,7 +834906,7 @@ "IntoIter" ] }, - "12858": { + "13150": { "crate_id": 7, "kind": "struct", "path": [ @@ -811936,7 +834915,7 @@ "IterMut" ] }, - "12859": { + "13151": { "crate_id": 7, "kind": "struct", "path": [ @@ -811945,7 +834924,7 @@ "FullBucketsIndices" ] }, - "12860": { + "13152": { "crate_id": 7, "kind": "struct", "path": [ @@ -811954,7 +834933,7 @@ "RawIntoIter" ] }, - "12861": { + "13153": { "crate_id": 7, "kind": "struct", "path": [ @@ -811963,7 +834942,7 @@ "RawDrain" ] }, - "12862": { + "13154": { "crate_id": 7, "kind": "struct", "path": [ @@ -811972,7 +834951,7 @@ "IntoKeys" ] }, - "12863": { + "13155": { "crate_id": 7, "kind": "struct", "path": [ @@ -811981,7 +834960,7 @@ "IntoValues" ] }, - "12864": { + "13156": { "crate_id": 7, "kind": "struct", "path": [ @@ -811990,7 +834969,7 @@ "ValuesMut" ] }, - "12865": { + "13157": { "crate_id": 7, "kind": "struct", "path": [ @@ -811999,7 +834978,7 @@ "IterHashMut" ] }, - "12866": { + "13158": { "crate_id": 7, "kind": "struct", "path": [ @@ -812008,7 +834987,7 @@ "Drain" ] }, - "12867": { + "13159": { "crate_id": 7, "kind": "struct", "path": [ @@ -812017,7 +834996,7 @@ "ExtractIf" ] }, - "12868": { + "13160": { "crate_id": 7, "kind": "enum", "path": [ @@ -812026,7 +835005,7 @@ "Entry" ] }, - "12869": { + "13161": { "crate_id": 7, "kind": "struct", "path": [ @@ -812035,7 +835014,7 @@ "OccupiedEntry" ] }, - "12870": { + "13162": { "crate_id": 7, "kind": "struct", "path": [ @@ -812044,7 +835023,7 @@ "VacantEntry" ] }, - "12871": { + "13163": { "crate_id": 7, "kind": "enum", "path": [ @@ -812053,7 +835032,7 @@ "EntryRef" ] }, - "12872": { + "13164": { "crate_id": 7, "kind": "struct", "path": [ @@ -812062,7 +835041,7 @@ "VacantEntryRef" ] }, - "12873": { + "13165": { "crate_id": 7, "kind": "struct", "path": [ @@ -812071,7 +835050,7 @@ "OccupiedError" ] }, - "12874": { + "13166": { "crate_id": 7, "kind": "enum", "path": [ @@ -812080,7 +835059,7 @@ "Entry" ] }, - "12875": { + "13167": { "crate_id": 7, "kind": "struct", "path": [ @@ -812089,7 +835068,7 @@ "OccupiedEntry" ] }, - "12876": { + "13168": { "crate_id": 7, "kind": "struct", "path": [ @@ -812098,7 +835077,7 @@ "VacantEntry" ] }, - "12877": { + "13169": { "crate_id": 7, "kind": "struct", "path": [ @@ -812107,7 +835086,7 @@ "AbsentEntry" ] }, - "12878": { + "13170": { "crate_id": 7, "kind": "struct", "path": [ @@ -812116,7 +835095,7 @@ "ScopeGuard" ] }, - "12879": { + "13171": { "crate_id": 9, "kind": "enum", "path": [ @@ -812127,7 +835106,7 @@ "Feature" ] }, - "12880": { + "13172": { "crate_id": 9, "kind": "struct", "path": [ @@ -812137,7 +835116,7 @@ "Initializer" ] }, - "12881": { + "13173": { "crate_id": 10, "kind": "struct", "path": [ @@ -812146,7 +835125,7 @@ "Demangle" ] }, - "12882": { + "13174": { "crate_id": 10, "kind": "struct", "path": [ @@ -812155,7 +835134,7 @@ "Demangle" ] }, - "12883": { + "13175": { "crate_id": 10, "kind": "struct", "path": [ @@ -812164,7 +835143,7 @@ "Ident" ] }, - "12884": { + "13176": { "crate_id": 10, "kind": "enum", "path": [ @@ -812172,7 +835151,7 @@ "DemangleStyle" ] }, - "12885": { + "13177": { "crate_id": 10, "kind": "enum", "path": [ @@ -812181,7 +835160,7 @@ "ParseError" ] }, - "12886": { + "13178": { "crate_id": 10, "kind": "struct", "path": [ @@ -812189,7 +835168,7 @@ "TryDemangleError" ] }, - "12887": { + "13179": { "crate_id": 10, "kind": "struct", "path": [ @@ -812197,7 +835176,17 @@ "SizeLimitExhausted" ] }, - "12888": { + "1318": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "ops", + "bit", + "BitAnd" + ] + }, + "13180": { "crate_id": 10, "kind": "struct", "path": [ @@ -812205,7 +835194,7 @@ "SizeLimitedFmtAdapter" ] }, - "12889": { + "13181": { "crate_id": 2, "kind": "function", "path": [ @@ -812214,7 +835203,7 @@ "alloc" ] }, - "12890": { + "13182": { "crate_id": 1, "kind": "function", "path": [ @@ -812223,7 +835212,7 @@ "without_provenance" ] }, - "12891": { + "13183": { "crate_id": 1, "kind": "function", "path": [ @@ -812232,7 +835221,7 @@ "with_exposed_provenance" ] }, - "12892": { + "13184": { "crate_id": 1, "kind": "function", "path": [ @@ -812242,7 +835231,7 @@ "from_raw_parts" ] }, - "12893": { + "13185": { "crate_id": 1, "kind": "function", "path": [ @@ -812251,7 +835240,7 @@ "read" ] }, - "12894": { + "13186": { "crate_id": 1, "kind": "function", "path": [ @@ -812260,7 +835249,7 @@ "read_volatile" ] }, - "12895": { + "13187": { "crate_id": 1, "kind": "function", "path": [ @@ -812269,7 +835258,7 @@ "copy" ] }, - "12896": { + "13188": { "crate_id": 1, "kind": "function", "path": [ @@ -812278,7 +835267,7 @@ "copy_nonoverlapping" ] }, - "12897": { + "13189": { "crate_id": 1, "kind": "function", "path": [ @@ -812287,7 +835276,7 @@ "without_provenance_mut" ] }, - "12898": { + "13190": { "crate_id": 1, "kind": "function", "path": [ @@ -812296,7 +835285,7 @@ "with_exposed_provenance_mut" ] }, - "12899": { + "13191": { "crate_id": 1, "kind": "function", "path": [ @@ -812306,16 +835295,7 @@ "from_raw_parts_mut" ] }, - "129": { - "crate_id": 1, - "kind": "proc_derive", - "path": [ - "core", - "cmp", - "PartialOrd" - ] - }, - "12900": { + "13192": { "crate_id": 1, "kind": "function", "path": [ @@ -812324,7 +835304,7 @@ "write_bytes" ] }, - "12901": { + "13193": { "crate_id": 1, "kind": "function", "path": [ @@ -812333,7 +835313,7 @@ "write_volatile" ] }, - "12902": { + "13194": { "crate_id": 1, "kind": "function", "path": [ @@ -812342,7 +835322,7 @@ "write_unaligned" ] }, - "12903": { + "13195": { "crate_id": 1, "kind": "function", "path": [ @@ -812351,7 +835331,7 @@ "replace" ] }, - "12904": { + "13196": { "crate_id": 1, "kind": "function", "path": [ @@ -812360,7 +835340,7 @@ "swap" ] }, - "12905": { + "13197": { "crate_id": 1, "kind": "function", "path": [ @@ -812370,7 +835350,15 @@ "from_raw_parts_mut" ] }, - "12906": { + "13198": { + "crate_id": 1, + "kind": "macro", + "path": [ + "core", + "panic" + ] + }, + "13199": { "crate_id": 1, "kind": "function", "path": [ @@ -812379,15 +835367,25 @@ "disjoint_bitor" ] }, - "12907": { + "13200": { "crate_id": 1, - "kind": "macro", + "kind": "function", "path": [ "core", - "panic" + "intrinsics", + "unchecked_funnel_shl" ] }, - "12908": { + "13201": { + "crate_id": 1, + "kind": "function", + "path": [ + "core", + "intrinsics", + "unchecked_funnel_shr" + ] + }, + "13202": { "crate_id": 1, "kind": "function", "path": [ @@ -812397,7 +835395,7 @@ "metadata" ] }, - "12909": { + "13203": { "crate_id": 1, "kind": "function", "path": [ @@ -812408,7 +835406,7 @@ "once" ] }, - "12910": { + "13204": { "crate_id": 1, "kind": "function", "path": [ @@ -812419,7 +835417,7 @@ "zip" ] }, - "12911": { + "13205": { "crate_id": 1, "kind": "function", "path": [ @@ -812432,7 +835430,7 @@ "with_addr" ] }, - "12912": { + "13206": { "crate_id": 1, "kind": "function", "path": [ @@ -812445,7 +835443,7 @@ "with_exposed_provenance" ] }, - "12913": { + "13207": { "crate_id": 1, "kind": "function", "path": [ @@ -812458,115 +835456,77 @@ "with_exposed_provenance" ] }, - "12914": { + "13208": { "crate_id": 1, "kind": "module", "path": [ "core" ] }, - "12915": { + "13209": { "crate_id": 2, "kind": "module", "path": [ "alloc" ] }, - "12916": { + "13210": { "crate_id": 3, "kind": "module", "path": [ "compiler_builtins" ] }, - "12917": { + "13211": { "crate_id": 5, "kind": "module", "path": [ "rustc_std_workspace_core" ] }, - "12918": { + "13212": { "crate_id": 7, "kind": "module", "path": [ "hashbrown" ] }, - "12919": { + "13213": { "crate_id": 8, "kind": "module", "path": [ "rustc_std_workspace_alloc" ] }, - "12920": { + "13214": { "crate_id": 9, "kind": "module", "path": [ "std_detect" ] }, - "12921": { + "13215": { "crate_id": 10, "kind": "module", "path": [ "rustc_demangle" ] }, - "12922": { + "13216": { "crate_id": 11, "kind": "module", "path": [ "cfg_if" ] }, - "12923": { + "13217": { "crate_id": 12, "kind": "module", "path": [ "panic_abort" ] }, - "13": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "ops", - "function", - "FnMut" - ] - }, - "131": { - "crate_id": 1, - "kind": "macro", - "path": [ - "core", - "concat_bytes" - ] - }, - "1315": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "ops", - "bit", - "BitOr" - ] - }, - "1319": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "ops", - "bit", - "BitAnd" - ] - }, - "1323": { + "1322": { "crate_id": 1, "kind": "trait", "path": [ @@ -812576,7 +835536,7 @@ "BitXor" ] }, - "1327": { + "1326": { "crate_id": 1, "kind": "trait", "path": [ @@ -812593,10 +835553,10 @@ "core", "macros", "builtin", - "alloc_error_handler" + "bench" ] }, - "1334": { + "1333": { "crate_id": 0, "kind": "struct", "path": [ @@ -812614,7 +835574,7 @@ "core", "macros", "builtin", - "bench" + "derive" ] }, "137": { @@ -812624,7 +835584,7 @@ "core", "macros", "builtin", - "derive" + "global_allocator" ] }, "139": { @@ -812634,7 +835594,7 @@ "core", "macros", "builtin", - "global_allocator" + "test" ] }, "141": { @@ -812644,7 +835604,7 @@ "core", "macros", "builtin", - "test" + "test_case" ] }, "143": { @@ -812654,7 +835614,7 @@ "core", "macros", "builtin", - "test_case" + "derive_const" ] }, "145": { @@ -812664,7 +835624,7 @@ "core", "macros", "builtin", - "derive_const" + "cfg_accessible" ] }, "147": { @@ -812674,17 +835634,17 @@ "core", "macros", "builtin", - "cfg_accessible" + "cfg_eval" ] }, "149": { "crate_id": 1, - "kind": "proc_attribute", + "kind": "macro", "path": [ "core", "macros", "builtin", - "cfg_eval" + "type_ascribe" ] }, "15": { @@ -812704,30 +835664,29 @@ "core", "macros", "builtin", - "type_ascribe" + "deref" ] }, "153": { "crate_id": 1, - "kind": "macro", + "kind": "proc_attribute", "path": [ "core", "macros", "builtin", - "deref" + "define_opaque" ] }, "155": { - "crate_id": 1, - "kind": "proc_attribute", + "crate_id": 2, + "kind": "trait", "path": [ - "core", - "macros", - "builtin", - "define_opaque" + "alloc", + "borrow", + "ToOwned" ] }, - "1556": { + "1555": { "crate_id": 0, "kind": "struct", "path": [ @@ -812738,7 +835697,7 @@ "OccupiedEntry" ] }, - "1557": { + "1556": { "crate_id": 0, "kind": "variant", "path": [ @@ -812750,7 +835709,7 @@ "Occupied" ] }, - "1559": { + "1558": { "crate_id": 0, "kind": "struct", "path": [ @@ -812761,7 +835720,7 @@ "VacantEntry" ] }, - "1560": { + "1559": { "crate_id": 0, "kind": "variant", "path": [ @@ -812775,11 +835734,11 @@ }, "157": { "crate_id": 2, - "kind": "trait", + "kind": "struct", "path": [ "alloc", - "borrow", - "ToOwned" + "boxed", + "Box" ] }, "159": { @@ -812787,20 +835746,20 @@ "kind": "struct", "path": [ "alloc", - "boxed", - "Box" + "string", + "String" ] }, "161": { "crate_id": 2, - "kind": "struct", + "kind": "trait", "path": [ "alloc", "string", - "String" + "ToString" ] }, - "1622": { + "1621": { "crate_id": 0, "kind": "struct", "path": [ @@ -812810,7 +835769,7 @@ "DefaultHasher" ] }, - "1625": { + "1624": { "crate_id": 0, "kind": "module", "path": [ @@ -812819,7 +835778,7 @@ "hash_map" ] }, - "1627": { + "1626": { "crate_id": 0, "kind": "module", "path": [ @@ -812828,25 +835787,25 @@ "hash_set" ] }, - "163": { + "1629": { "crate_id": 2, - "kind": "trait", + "kind": "enum", "path": [ "alloc", - "string", - "ToString" + "collections", + "TryReserveErrorKind" ] }, - "1630": { + "163": { "crate_id": 2, - "kind": "enum", + "kind": "struct", "path": [ "alloc", - "collections", - "TryReserveErrorKind" + "vec", + "Vec" ] }, - "1632": { + "1631": { "crate_id": 2, "kind": "struct", "path": [ @@ -812857,7 +835816,7 @@ "BTreeMap" ] }, - "1634": { + "1633": { "crate_id": 2, "kind": "struct", "path": [ @@ -812868,7 +835827,7 @@ "BTreeSet" ] }, - "1636": { + "1635": { "crate_id": 2, "kind": "struct", "path": [ @@ -812878,7 +835837,7 @@ "BinaryHeap" ] }, - "1638": { + "1637": { "crate_id": 2, "kind": "struct", "path": [ @@ -812888,7 +835847,7 @@ "LinkedList" ] }, - "1640": { + "1639": { "crate_id": 2, "kind": "struct", "path": [ @@ -812898,7 +835857,15 @@ "VecDeque" ] }, - "1642": { + "164": { + "crate_id": 0, + "kind": "module", + "path": [ + "std", + "prelude" + ] + }, + "1641": { "crate_id": 2, "kind": "module", "path": [ @@ -812907,7 +835874,7 @@ "binary_heap" ] }, - "1644": { + "1643": { "crate_id": 2, "kind": "module", "path": [ @@ -812916,7 +835883,7 @@ "btree_map" ] }, - "1646": { + "1645": { "crate_id": 2, "kind": "module", "path": [ @@ -812925,7 +835892,7 @@ "btree_set" ] }, - "1648": { + "1647": { "crate_id": 2, "kind": "module", "path": [ @@ -812934,25 +835901,25 @@ "linked_list" ] }, - "165": { + "1649": { "crate_id": 2, - "kind": "struct", + "kind": "module", "path": [ "alloc", - "vec", - "Vec" + "collections", + "vec_deque" ] }, - "1650": { - "crate_id": 2, + "165": { + "crate_id": 0, "kind": "module", "path": [ - "alloc", - "collections", - "vec_deque" + "std", + "prelude", + "v1" ] }, - "1655": { + "1654": { "crate_id": 0, "kind": "constant", "path": [ @@ -812962,7 +835929,7 @@ "ARCH" ] }, - "1656": { + "1655": { "crate_id": 0, "kind": "constant", "path": [ @@ -812972,7 +835939,7 @@ "FAMILY" ] }, - "1657": { + "1656": { "crate_id": 0, "kind": "constant", "path": [ @@ -812982,7 +835949,7 @@ "OS" ] }, - "1658": { + "1657": { "crate_id": 0, "kind": "constant", "path": [ @@ -812992,7 +835959,7 @@ "DLL_PREFIX" ] }, - "1659": { + "1658": { "crate_id": 0, "kind": "constant", "path": [ @@ -813002,15 +835969,7 @@ "DLL_EXTENSION" ] }, - "166": { - "crate_id": 0, - "kind": "module", - "path": [ - "std", - "prelude" - ] - }, - "1660": { + "1659": { "crate_id": 0, "kind": "constant", "path": [ @@ -813020,7 +835979,7 @@ "DLL_SUFFIX" ] }, - "1661": { + "1660": { "crate_id": 0, "kind": "constant", "path": [ @@ -813030,7 +835989,7 @@ "EXE_EXTENSION" ] }, - "1662": { + "1661": { "crate_id": 0, "kind": "constant", "path": [ @@ -813040,7 +835999,7 @@ "EXE_SUFFIX" ] }, - "1663": { + "1662": { "crate_id": 0, "kind": "module", "path": [ @@ -813049,7 +836008,7 @@ "consts" ] }, - "1664": { + "1663": { "crate_id": 0, "kind": "struct", "path": [ @@ -813058,7 +836017,7 @@ "PathBuf" ] }, - "1665": { + "1664": { "crate_id": 0, "kind": "function", "path": [ @@ -813067,7 +836026,7 @@ "current_dir" ] }, - "1666": { + "1665": { "crate_id": 0, "kind": "function", "path": [ @@ -813076,7 +836035,7 @@ "set_current_dir" ] }, - "1667": { + "1666": { "crate_id": 0, "kind": "struct", "path": [ @@ -813085,7 +836044,7 @@ "Path" ] }, - "1669": { + "1668": { "crate_id": 0, "kind": "function", "path": [ @@ -813094,22 +836053,22 @@ "vars" ] }, - "167": { + "1669": { "crate_id": 0, - "kind": "module", + "kind": "struct", "path": [ "std", - "prelude", - "v1" + "env", + "Vars" ] }, - "1670": { + "167": { "crate_id": 0, - "kind": "struct", + "kind": "module", "path": [ "std", - "env", - "Vars" + "prelude", + "rust_2015" ] }, "169": { @@ -813118,10 +836077,10 @@ "path": [ "std", "prelude", - "rust_2015" + "rust_2018" ] }, - "1692": { + "1691": { "crate_id": 0, "kind": "function", "path": [ @@ -813130,7 +836089,7 @@ "vars_os" ] }, - "1693": { + "1692": { "crate_id": 0, "kind": "struct", "path": [ @@ -813149,7 +836108,7 @@ "AsyncFn" ] }, - "1709": { + "1708": { "crate_id": 0, "kind": "struct", "path": [ @@ -813159,16 +836118,7 @@ "OsString" ] }, - "171": { - "crate_id": 0, - "kind": "module", - "path": [ - "std", - "prelude", - "rust_2018" - ] - }, - "1715": { + "1714": { "crate_id": 0, "kind": "variant", "path": [ @@ -813178,7 +836128,7 @@ "NotPresent" ] }, - "1716": { + "1715": { "crate_id": 0, "kind": "variant", "path": [ @@ -813188,7 +836138,7 @@ "NotUnicode" ] }, - "1717": { + "1716": { "crate_id": 0, "kind": "function", "path": [ @@ -813197,7 +836147,7 @@ "var_os" ] }, - "1718": { + "1717": { "crate_id": 0, "kind": "function", "path": [ @@ -813206,7 +836156,7 @@ "var" ] }, - "1719": { + "1718": { "crate_id": 0, "kind": "enum", "path": [ @@ -813215,7 +836165,7 @@ "VarError" ] }, - "1720": { + "1719": { "crate_id": 0, "kind": "struct", "path": [ @@ -813225,16 +836175,7 @@ "OsStr" ] }, - "1721": { - "crate_id": 0, - "kind": "function", - "path": [ - "std", - "env", - "split_paths" - ] - }, - "174": { + "172": { "crate_id": 1, "kind": "module", "path": [ @@ -813243,7 +836184,16 @@ "rust_2021" ] }, - "175": { + "1720": { + "crate_id": 0, + "kind": "function", + "path": [ + "std", + "env", + "split_paths" + ] + }, + "173": { "crate_id": 0, "kind": "module", "path": [ @@ -813252,7 +836202,7 @@ "rust_2021" ] }, - "1751": { + "1749": { "crate_id": 0, "kind": "trait", "path": [ @@ -813262,7 +836212,7 @@ "ToSocketAddrs" ] }, - "1753": { + "1751": { "crate_id": 0, "kind": "function", "path": [ @@ -813271,7 +836221,7 @@ "set_var" ] }, - "1756": { + "1754": { "crate_id": 0, "kind": "function", "path": [ @@ -813280,7 +836230,7 @@ "remove_var" ] }, - "1758": { + "1756": { "crate_id": 0, "kind": "struct", "path": [ @@ -813289,25 +836239,34 @@ "SplitPaths" ] }, - "1779": { - "crate_id": 0, - "kind": "function", + "176": { + "crate_id": 1, + "kind": "module", "path": [ - "std", - "env", - "join_paths" + "core", + "prelude", + "rust_2024" ] }, - "178": { - "crate_id": 1, + "177": { + "crate_id": 0, "kind": "module", "path": [ - "core", + "std", "prelude", "rust_2024" ] }, - "1781": { + "1777": { + "crate_id": 0, + "kind": "function", + "path": [ + "std", + "env", + "join_paths" + ] + }, + "1779": { "crate_id": 0, "kind": "struct", "path": [ @@ -813316,16 +836275,16 @@ "JoinPathsError" ] }, - "179": { + "180": { "crate_id": 0, "kind": "module", "path": [ "std", - "prelude", - "rust_2024" + "io", + "prelude" ] }, - "1802": { + "1800": { "crate_id": 0, "kind": "function", "path": [ @@ -813334,7 +836293,7 @@ "home_dir" ] }, - "1803": { + "1801": { "crate_id": 0, "kind": "function", "path": [ @@ -813343,7 +836302,7 @@ "temp_dir" ] }, - "1804": { + "1802": { "crate_id": 0, "kind": "function", "path": [ @@ -813352,7 +836311,7 @@ "current_exe" ] }, - "1806": { + "1804": { "crate_id": 0, "kind": "function", "path": [ @@ -813361,7 +836320,7 @@ "args" ] }, - "1807": { + "1805": { "crate_id": 0, "kind": "struct", "path": [ @@ -813370,13 +836329,20 @@ "Args" ] }, + "181": { + "crate_id": 1, + "kind": "module", + "path": [ + "core", + "marker" + ] + }, "182": { - "crate_id": 0, + "crate_id": 1, "kind": "module", "path": [ - "std", - "io", - "prelude" + "core", + "ops" ] }, "183": { @@ -813384,10 +836350,10 @@ "kind": "module", "path": [ "core", - "marker" + "mem" ] }, - "1834": { + "1832": { "crate_id": 0, "kind": "function", "path": [ @@ -813396,7 +836362,7 @@ "args_os" ] }, - "1835": { + "1833": { "crate_id": 0, "kind": "struct", "path": [ @@ -813406,22 +836372,22 @@ ] }, "184": { - "crate_id": 1, + "crate_id": 2, "kind": "module", "path": [ - "core", - "ops" + "alloc", + "boxed" ] }, "185": { - "crate_id": 1, + "crate_id": 2, "kind": "module", "path": [ - "core", - "mem" + "alloc", + "borrow" ] }, - "1853": { + "1851": { "crate_id": 1, "kind": "struct", "path": [ @@ -813431,7 +836397,7 @@ "IntoIter" ] }, - "1859": { + "1857": { "crate_id": 1, "kind": "trait", "path": [ @@ -813441,31 +836407,23 @@ "Try" ] }, - "186": { - "crate_id": 2, + "1868": { + "crate_id": 0, "kind": "module", "path": [ - "alloc", - "boxed" + "std", + "env" ] }, "187": { - "crate_id": 2, - "kind": "module", - "path": [ - "alloc", - "borrow" - ] - }, - "1870": { - "crate_id": 0, + "crate_id": 1, "kind": "module", "path": [ - "std", - "env" + "core", + "clone" ] }, - "1873": { + "1871": { "crate_id": 1, "kind": "struct", "path": [ @@ -813474,7 +836432,7 @@ "Request" ] }, - "1875": { + "1873": { "crate_id": 1, "kind": "function", "path": [ @@ -813483,7 +836441,7 @@ "request_ref" ] }, - "1877": { + "1875": { "crate_id": 1, "kind": "function", "path": [ @@ -813492,7 +836450,7 @@ "request_value" ] }, - "1882": { + "1880": { "crate_id": 0, "kind": "struct", "path": [ @@ -813506,7 +836464,7 @@ "kind": "module", "path": [ "core", - "clone" + "cmp" ] }, "19": { @@ -813519,15 +836477,15 @@ "AsyncFnMut" ] }, - "191": { + "190": { "crate_id": 1, "kind": "module", "path": [ "core", - "cmp" + "convert" ] }, - "1910": { + "1908": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -813536,7 +836494,7 @@ "PanicInfo" ] }, - "1911": { + "1909": { "crate_id": 0, "kind": "module", "path": [ @@ -813544,7 +836502,15 @@ "error" ] }, - "1913": { + "191": { + "crate_id": 1, + "kind": "module", + "path": [ + "core", + "default" + ] + }, + "1911": { "crate_id": 2, "kind": "struct", "path": [ @@ -813554,7 +836520,7 @@ "FromVecWithNulError" ] }, - "1915": { + "1913": { "crate_id": 2, "kind": "struct", "path": [ @@ -813564,7 +836530,7 @@ "IntoStringError" ] }, - "1917": { + "1915": { "crate_id": 2, "kind": "struct", "path": [ @@ -813574,7 +836540,7 @@ "CString" ] }, - "1919": { + "1917": { "crate_id": 2, "kind": "struct", "path": [ @@ -813584,25 +836550,25 @@ "NulError" ] }, - "192": { + "1919": { "crate_id": 1, - "kind": "module", + "kind": "struct", "path": [ "core", - "convert" + "ffi", + "c_str", + "CStr" ] }, - "1921": { + "192": { "crate_id": 1, - "kind": "struct", + "kind": "module", "path": [ "core", - "ffi", - "c_str", - "CStr" + "iter" ] }, - "1923": { + "1921": { "crate_id": 1, "kind": "struct", "path": [ @@ -813612,7 +836578,7 @@ "FromBytesUntilNulError" ] }, - "1925": { + "1923": { "crate_id": 1, "kind": "enum", "path": [ @@ -813622,7 +836588,7 @@ "FromBytesWithNulError" ] }, - "1926": { + "1924": { "crate_id": 0, "kind": "module", "path": [ @@ -813631,7 +836597,7 @@ "c_str" ] }, - "1928": { + "1926": { "crate_id": 0, "kind": "primitive", "path": [ @@ -813644,10 +836610,10 @@ "kind": "module", "path": [ "core", - "default" + "option" ] }, - "1934": { + "1932": { "crate_id": 0, "kind": "module", "path": [ @@ -813660,26 +836626,26 @@ "kind": "module", "path": [ "core", - "iter" + "result" ] }, "195": { - "crate_id": 1, + "crate_id": 2, "kind": "module", "path": [ - "core", - "option" + "alloc", + "string" ] }, "196": { - "crate_id": 1, + "crate_id": 2, "kind": "module", "path": [ - "core", - "result" + "alloc", + "vec" ] }, - "1969": { + "1967": { "crate_id": 1, "kind": "trait", "path": [ @@ -813689,15 +836655,7 @@ "Deref" ] }, - "197": { - "crate_id": 2, - "kind": "module", - "path": [ - "alloc", - "string" - ] - }, - "1970": { + "1968": { "crate_id": 1, "kind": "trait", "path": [ @@ -813707,7 +836665,16 @@ "Receiver" ] }, - "1979": { + "197": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "convert", + "TryFrom" + ] + }, + "1977": { "crate_id": 1, "kind": "struct", "path": [ @@ -813718,14 +836685,15 @@ ] }, "198": { - "crate_id": 2, - "kind": "module", + "crate_id": 1, + "kind": "trait", "path": [ - "alloc", - "vec" + "core", + "convert", + "TryInto" ] }, - "1983": { + "1981": { "crate_id": 1, "kind": "trait", "path": [ @@ -813735,7 +836703,7 @@ "IndexMut" ] }, - "1989": { + "1987": { "crate_id": 1, "kind": "trait", "path": [ @@ -813750,20 +836718,21 @@ "kind": "trait", "path": [ "core", - "convert", - "TryFrom" + "iter", + "traits", + "collect", + "FromIterator" ] }, "200": { "crate_id": 1, - "kind": "trait", + "kind": "module", "path": [ "core", - "convert", - "TryInto" + "future" ] }, - "2009": { + "2007": { "crate_id": 1, "kind": "enum", "path": [ @@ -813777,21 +836746,22 @@ "kind": "trait", "path": [ "core", - "iter", - "traits", - "collect", - "FromIterator" + "future", + "future", + "Future" ] }, "202": { "crate_id": 1, - "kind": "module", + "kind": "trait", "path": [ "core", - "future" + "future", + "into_future", + "IntoFuture" ] }, - "2023": { + "2021": { "crate_id": 1, "kind": "trait", "path": [ @@ -813800,17 +836770,7 @@ "Write" ] }, - "203": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "future", - "future", - "Future" - ] - }, - "2030": { + "2028": { "crate_id": 2, "kind": "struct", "path": [ @@ -813819,34 +836779,24 @@ "Rc" ] }, - "2035": { + "203": { "crate_id": 2, - "kind": "enum", + "kind": "module", "path": [ "alloc", - "borrow", - "Cow" - ] - }, - "204": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "future", - "into_future", - "IntoFuture" + "slice" ] }, - "205": { + "2033": { "crate_id": 2, - "kind": "module", + "kind": "enum", "path": [ "alloc", - "slice" + "borrow", + "Cow" ] }, - "2072": { + "2070": { "crate_id": 1, "kind": "trait", "path": [ @@ -813856,7 +836806,7 @@ "FromStr" ] }, - "2089": { + "2087": { "crate_id": 0, "kind": "trait", "path": [ @@ -813868,7 +836818,7 @@ "OsStringExt" ] }, - "2093": { + "2091": { "crate_id": 0, "kind": "trait", "path": [ @@ -813880,7 +836830,7 @@ "OsStringExt" ] }, - "2096": { + "2094": { "crate_id": 0, "kind": "trait", "path": [ @@ -813901,7 +836851,7 @@ "AsyncFnOnce" ] }, - "2139": { + "2137": { "crate_id": 1, "kind": "constant", "path": [ @@ -813910,7 +836860,7 @@ "REPLACEMENT_CHARACTER" ] }, - "2145": { + "2143": { "crate_id": 1, "kind": "trait", "path": [ @@ -813920,7 +836870,7 @@ "RangeBounds" ] }, - "2153": { + "2151": { "crate_id": 0, "kind": "struct", "path": [ @@ -813930,7 +836880,7 @@ "Display" ] }, - "2186": { + "2184": { "crate_id": 1, "kind": "struct", "path": [ @@ -813940,7 +836890,7 @@ "Utf8Error" ] }, - "2233": { + "2231": { "crate_id": 2, "kind": "trait", "path": [ @@ -813949,7 +836899,7 @@ "Join" ] }, - "2247": { + "2245": { "crate_id": 0, "kind": "trait", "path": [ @@ -813961,7 +836911,7 @@ "OsStrExt" ] }, - "2251": { + "2249": { "crate_id": 0, "kind": "trait", "path": [ @@ -813973,17 +836923,18 @@ "OsStrExt" ] }, - "2253": { + "2251": { "crate_id": 0, "kind": "struct", "path": [ "std", - "sys_common", - "wtf8", + "os", + "windows", + "ffi", "EncodeWide" ] }, - "2255": { + "2253": { "crate_id": 0, "kind": "trait", "path": [ @@ -813994,7 +836945,7 @@ "OsStrExt" ] }, - "2258": { + "2256": { "crate_id": 0, "kind": "enum", "path": [ @@ -814003,7 +836954,7 @@ "Component" ] }, - "2261": { + "2259": { "crate_id": 0, "kind": "struct", "path": [ @@ -814012,7 +836963,7 @@ "Components" ] }, - "2264": { + "2262": { "crate_id": 0, "kind": "struct", "path": [ @@ -814021,16 +836972,7 @@ "Iter" ] }, - "23": { - "crate_id": 1, - "kind": "function", - "path": [ - "core", - "mem", - "drop" - ] - }, - "230": { + "228": { "crate_id": 1, "kind": "module", "path": [ @@ -814039,7 +836981,7 @@ "consts" ] }, - "231": { + "229": { "crate_id": 0, "kind": "primitive", "path": [ @@ -814047,7 +836989,16 @@ "f128" ] }, - "232": { + "23": { + "crate_id": 1, + "kind": "function", + "path": [ + "core", + "mem", + "drop" + ] + }, + "230": { "crate_id": 0, "kind": "module", "path": [ @@ -814055,7 +837006,16 @@ "f128" ] }, - "2328": { + "232": { + "crate_id": 1, + "kind": "module", + "path": [ + "core", + "f16", + "consts" + ] + }, + "2326": { "crate_id": 2, "kind": "macro", "path": [ @@ -814063,16 +837023,23 @@ "format" ] }, + "233": { + "crate_id": 0, + "kind": "primitive", + "path": [ + "std", + "f16" + ] + }, "234": { - "crate_id": 1, + "crate_id": 0, "kind": "module", "path": [ - "core", - "f16", - "consts" + "std", + "f16" ] }, - "2347": { + "2345": { "crate_id": 0, "kind": "module", "path": [ @@ -814081,7 +837048,7 @@ "os_str" ] }, - "2349": { + "2347": { "crate_id": 1, "kind": "enum", "path": [ @@ -814090,15 +837057,7 @@ "c_void" ] }, - "235": { - "crate_id": 0, - "kind": "primitive", - "path": [ - "std", - "f16" - ] - }, - "2351": { + "2349": { "crate_id": 1, "kind": "trait", "path": [ @@ -814108,7 +837067,7 @@ "VaArgSafe" ] }, - "2353": { + "2351": { "crate_id": 1, "kind": "struct", "path": [ @@ -814118,7 +837077,7 @@ "VaList" ] }, - "2355": { + "2353": { "crate_id": 1, "kind": "struct", "path": [ @@ -814128,7 +837087,7 @@ "VaListImpl" ] }, - "2357": { + "2355": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -814138,7 +837097,7 @@ "c_char" ] }, - "2359": { + "2357": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -814148,12 +837107,23 @@ "c_double" ] }, + "2359": { + "crate_id": 1, + "kind": "type_alias", + "path": [ + "core", + "ffi", + "primitives", + "c_float" + ] + }, "236": { - "crate_id": 0, - "kind": "module", + "crate_id": 1, + "kind": "constant", "path": [ - "std", - "f16" + "core", + "f32", + "DIGITS" ] }, "2361": { @@ -814163,7 +837133,7 @@ "core", "ffi", "primitives", - "c_float" + "c_int" ] }, "2363": { @@ -814173,7 +837143,7 @@ "core", "ffi", "primitives", - "c_int" + "c_long" ] }, "2365": { @@ -814183,7 +837153,7 @@ "core", "ffi", "primitives", - "c_long" + "c_longlong" ] }, "2367": { @@ -814193,7 +837163,7 @@ "core", "ffi", "primitives", - "c_longlong" + "c_schar" ] }, "2369": { @@ -814203,7 +837173,7 @@ "core", "ffi", "primitives", - "c_schar" + "c_short" ] }, "2371": { @@ -814213,7 +837183,7 @@ "core", "ffi", "primitives", - "c_short" + "c_uchar" ] }, "2373": { @@ -814223,7 +837193,7 @@ "core", "ffi", "primitives", - "c_uchar" + "c_uint" ] }, "2375": { @@ -814233,7 +837203,7 @@ "core", "ffi", "primitives", - "c_uint" + "c_ulong" ] }, "2377": { @@ -814243,7 +837213,7 @@ "core", "ffi", "primitives", - "c_ulong" + "c_ulonglong" ] }, "2379": { @@ -814253,7 +837223,7 @@ "core", "ffi", "primitives", - "c_ulonglong" + "c_ushort" ] }, "238": { @@ -814262,20 +837232,10 @@ "path": [ "core", "f32", - "DIGITS" + "EPSILON" ] }, "2381": { - "crate_id": 1, - "kind": "type_alias", - "path": [ - "core", - "ffi", - "primitives", - "c_ushort" - ] - }, - "2383": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -814285,7 +837245,7 @@ "c_ptrdiff_t" ] }, - "2385": { + "2383": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -814295,7 +837255,7 @@ "c_size_t" ] }, - "2387": { + "2385": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -814305,7 +837265,7 @@ "c_ssize_t" ] }, - "2397": { + "2395": { "crate_id": 0, "kind": "primitive", "path": [ @@ -814313,7 +837273,7 @@ "char" ] }, - "2398": { + "2396": { "crate_id": 0, "kind": "primitive", "path": [ @@ -814327,10 +837287,10 @@ "path": [ "core", "f32", - "EPSILON" + "INFINITY" ] }, - "2404": { + "2402": { "crate_id": 0, "kind": "primitive", "path": [ @@ -814338,7 +837298,7 @@ "u16" ] }, - "2407": { + "2405": { "crate_id": 0, "kind": "trait", "path": [ @@ -814347,7 +837307,7 @@ "Seek" ] }, - "2409": { + "2407": { "crate_id": 0, "kind": "struct", "path": [ @@ -814358,7 +837318,7 @@ "BufReader" ] }, - "2410": { + "2408": { "crate_id": 0, "kind": "struct", "path": [ @@ -814369,7 +837329,7 @@ "BufWriter" ] }, - "2413": { + "2411": { "crate_id": 0, "kind": "struct", "path": [ @@ -814378,7 +837338,7 @@ "File" ] }, - "2415": { + "2413": { "crate_id": 0, "kind": "function", "path": [ @@ -814387,7 +837347,7 @@ "read" ] }, - "2416": { + "2414": { "crate_id": 0, "kind": "function", "path": [ @@ -814396,7 +837356,7 @@ "read_to_string" ] }, - "2418": { + "2416": { "crate_id": 0, "kind": "trait", "path": [ @@ -814405,16 +837365,7 @@ "BufRead" ] }, - "242": { - "crate_id": 1, - "kind": "constant", - "path": [ - "core", - "f32", - "INFINITY" - ] - }, - "2420": { + "2418": { "crate_id": 0, "kind": "function", "path": [ @@ -814423,7 +837374,16 @@ "write" ] }, - "2423": { + "242": { + "crate_id": 1, + "kind": "constant", + "path": [ + "core", + "f32", + "MANTISSA_DIGITS" + ] + }, + "2421": { "crate_id": 0, "kind": "variant", "path": [ @@ -814434,7 +837394,7 @@ "AlreadyExists" ] }, - "2424": { + "2422": { "crate_id": 0, "kind": "module", "path": [ @@ -814442,7 +837402,7 @@ "fs" ] }, - "2428": { + "2426": { "crate_id": 0, "kind": "struct", "path": [ @@ -814451,7 +837411,7 @@ "OpenOptions" ] }, - "2437": { + "2435": { "crate_id": 0, "kind": "enum", "path": [ @@ -814460,7 +837420,7 @@ "TryLockError" ] }, - "2438": { + "2436": { "crate_id": 0, "kind": "variant", "path": [ @@ -814471,16 +837431,7 @@ "InvalidInput" ] }, - "244": { - "crate_id": 1, - "kind": "constant", - "path": [ - "core", - "f32", - "MANTISSA_DIGITS" - ] - }, - "2441": { + "2439": { "crate_id": 0, "kind": "struct", "path": [ @@ -814489,7 +837440,16 @@ "Metadata" ] }, - "2444": { + "244": { + "crate_id": 1, + "kind": "constant", + "path": [ + "core", + "f32", + "MAX" + ] + }, + "2442": { "crate_id": 0, "kind": "struct", "path": [ @@ -814498,7 +837458,7 @@ "Permissions" ] }, - "2446": { + "2444": { "crate_id": 0, "kind": "struct", "path": [ @@ -814507,7 +837467,7 @@ "FileTimes" ] }, - "2448": { + "2446": { "crate_id": 0, "kind": "struct", "path": [ @@ -814522,10 +837482,10 @@ "path": [ "core", "f32", - "MAX" + "MAX_10_EXP" ] }, - "2468": { + "2466": { "crate_id": 0, "kind": "struct", "path": [ @@ -814534,7 +837494,7 @@ "IoSliceMut" ] }, - "2470": { + "2468": { "crate_id": 1, "kind": "struct", "path": [ @@ -814544,7 +837504,7 @@ "BorrowedCursor" ] }, - "2476": { + "2474": { "crate_id": 0, "kind": "trait", "path": [ @@ -814553,16 +837513,7 @@ "Read" ] }, - "248": { - "crate_id": 1, - "kind": "constant", - "path": [ - "core", - "f32", - "MAX_10_EXP" - ] - }, - "2480": { + "2478": { "crate_id": 0, "kind": "struct", "path": [ @@ -814571,7 +837522,16 @@ "IoSlice" ] }, - "2486": { + "248": { + "crate_id": 1, + "kind": "constant", + "path": [ + "core", + "f32", + "MAX_EXP" + ] + }, + "2484": { "crate_id": 0, "kind": "trait", "path": [ @@ -814580,7 +837540,7 @@ "Write" ] }, - "2489": { + "2487": { "crate_id": 0, "kind": "enum", "path": [ @@ -814604,10 +837564,10 @@ "path": [ "core", "f32", - "MAX_EXP" + "MIN" ] }, - "2510": { + "2508": { "crate_id": 0, "kind": "trait", "path": [ @@ -814617,7 +837577,7 @@ "IsTerminal" ] }, - "2516": { + "2515": { "crate_id": 0, "kind": "trait", "path": [ @@ -814634,10 +837594,10 @@ "path": [ "core", "f32", - "MIN" + "MIN_10_EXP" ] }, - "2529": { + "2528": { "crate_id": 0, "kind": "trait", "path": [ @@ -814665,7 +837625,7 @@ "path": [ "core", "f32", - "MIN_10_EXP" + "MIN_EXP" ] }, "2544": { @@ -814741,7 +837701,7 @@ "path": [ "core", "f32", - "MIN_EXP" + "MIN_POSITIVE" ] }, "2560": { @@ -814822,7 +837782,7 @@ "path": [ "core", "f32", - "MIN_POSITIVE" + "NAN" ] }, "2596": { @@ -814858,7 +837818,7 @@ "path": [ "core", "f32", - "NAN" + "NEG_INFINITY" ] }, "262": { @@ -814867,7 +837827,7 @@ "path": [ "core", "f32", - "NEG_INFINITY" + "RADIX" ] }, "2629": { @@ -814883,11 +837843,19 @@ }, "264": { "crate_id": 1, - "kind": "constant", + "kind": "module", "path": [ "core", "f32", - "RADIX" + "consts" + ] + }, + "265": { + "crate_id": 0, + "kind": "primitive", + "path": [ + "std", + "f32" ] }, "2652": { @@ -814902,17 +837870,8 @@ ] }, "266": { - "crate_id": 1, - "kind": "module", - "path": [ - "core", - "f32", - "consts" - ] - }, - "267": { "crate_id": 0, - "kind": "primitive", + "kind": "module", "path": [ "std", "f32" @@ -814942,11 +837901,12 @@ ] }, "268": { - "crate_id": 0, - "kind": "module", + "crate_id": 1, + "kind": "constant", "path": [ - "std", - "f32" + "core", + "f64", + "DIGITS" ] }, "2690": { @@ -814986,7 +837946,7 @@ "path": [ "core", "f64", - "DIGITS" + "EPSILON" ] }, "2710": { @@ -815033,7 +837993,7 @@ "path": [ "core", "f64", - "EPSILON" + "INFINITY" ] }, "274": { @@ -815042,7 +838002,7 @@ "path": [ "core", "f64", - "INFINITY" + "MANTISSA_DIGITS" ] }, "2757": { @@ -815062,7 +838022,7 @@ "path": [ "core", "f64", - "MANTISSA_DIGITS" + "MAX" ] }, "2760": { @@ -815145,7 +838105,7 @@ "path": [ "core", "f64", - "MAX" + "MAX_10_EXP" ] }, "280": { @@ -815154,7 +838114,7 @@ "path": [ "core", "f64", - "MAX_10_EXP" + "MAX_EXP" ] }, "2800": { @@ -815196,7 +838156,7 @@ "path": [ "core", "f64", - "MAX_EXP" + "MIN" ] }, "284": { @@ -815205,7 +838165,7 @@ "path": [ "core", "f64", - "MIN" + "MIN_10_EXP" ] }, "2848": { @@ -815256,7 +838216,7 @@ "path": [ "core", "f64", - "MIN_10_EXP" + "MIN_EXP" ] }, "288": { @@ -815265,7 +838225,7 @@ "path": [ "core", "f64", - "MIN_EXP" + "MIN_POSITIVE" ] }, "29": { @@ -815283,7 +838243,7 @@ "path": [ "core", "f64", - "MIN_POSITIVE" + "NAN" ] }, "292": { @@ -815292,7 +838252,7 @@ "path": [ "core", "f64", - "NAN" + "NEG_INFINITY" ] }, "2921": { @@ -815343,7 +838303,7 @@ "path": [ "core", "f64", - "NEG_INFINITY" + "RADIX" ] }, "2956": { @@ -815370,11 +838330,11 @@ }, "296": { "crate_id": 1, - "kind": "constant", + "kind": "module", "path": [ "core", "f64", - "RADIX" + "consts" ] }, "2961": { @@ -815383,7 +838343,7 @@ "path": [ "std", "fs", - "remove_file" + "set_times" ] }, "2962": { @@ -815392,10 +838352,28 @@ "path": [ "std", "fs", - "rename" + "set_times_nofollow" ] }, "2963": { + "crate_id": 0, + "kind": "function", + "path": [ + "std", + "fs", + "remove_file" + ] + }, + "2964": { + "crate_id": 0, + "kind": "function", + "path": [ + "std", + "fs", + "rename" + ] + }, + "2965": { "crate_id": 0, "kind": "function", "path": [ @@ -815405,7 +838383,7 @@ "copy" ] }, - "2964": { + "2966": { "crate_id": 0, "kind": "function", "path": [ @@ -815414,7 +838392,7 @@ "copy" ] }, - "2965": { + "2967": { "crate_id": 0, "kind": "function", "path": [ @@ -815423,7 +838401,7 @@ "hard_link" ] }, - "2966": { + "2968": { "crate_id": 0, "kind": "function", "path": [ @@ -815434,7 +838412,7 @@ "symlink" ] }, - "2967": { + "2969": { "crate_id": 0, "kind": "function", "path": [ @@ -815445,7 +838423,15 @@ "symlink_file" ] }, - "2968": { + "297": { + "crate_id": 0, + "kind": "primitive", + "path": [ + "std", + "f64" + ] + }, + "2970": { "crate_id": 0, "kind": "function", "path": [ @@ -815456,7 +838442,7 @@ "symlink_dir" ] }, - "2969": { + "2971": { "crate_id": 0, "kind": "function", "path": [ @@ -815465,7 +838451,7 @@ "soft_link" ] }, - "2970": { + "2972": { "crate_id": 0, "kind": "function", "path": [ @@ -815474,7 +838460,7 @@ "read_link" ] }, - "2971": { + "2973": { "crate_id": 0, "kind": "function", "path": [ @@ -815483,7 +838469,7 @@ "canonicalize" ] }, - "2972": { + "2974": { "crate_id": 0, "kind": "function", "path": [ @@ -815492,7 +838478,7 @@ "create_dir_all" ] }, - "2973": { + "2975": { "crate_id": 0, "kind": "function", "path": [ @@ -815501,7 +838487,7 @@ "create_dir" ] }, - "2974": { + "2976": { "crate_id": 0, "kind": "function", "path": [ @@ -815510,7 +838496,7 @@ "remove_dir_all" ] }, - "2975": { + "2977": { "crate_id": 0, "kind": "function", "path": [ @@ -815519,7 +838505,7 @@ "remove_dir" ] }, - "2976": { + "2978": { "crate_id": 0, "kind": "variant", "path": [ @@ -815530,7 +838516,7 @@ "DirectoryNotEmpty" ] }, - "2977": { + "2979": { "crate_id": 0, "kind": "variant", "path": [ @@ -815541,22 +838527,12 @@ "FilesystemLoop" ] }, - "2978": { - "crate_id": 0, - "kind": "function", - "path": [ - "std", - "fs", - "set_permissions_nofollow" - ] - }, "298": { - "crate_id": 1, + "crate_id": 0, "kind": "module", "path": [ - "core", - "f64", - "consts" + "std", + "f64" ] }, "2980": { @@ -815565,15 +838541,16 @@ "path": [ "std", "fs", - "exists" + "set_permissions_nofollow" ] }, - "299": { + "2982": { "crate_id": 0, - "kind": "primitive", + "kind": "function", "path": [ "std", - "f64" + "fs", + "exists" ] }, "3": { @@ -815585,25 +838562,37 @@ "Sized" ] }, - "300": { + "302": { "crate_id": 0, - "kind": "module", + "kind": "function", "path": [ "std", - "f64" + "thread", + "scoped", + "scope" + ] + }, + "303": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "thread", + "scoped", + "Scope" ] }, "304": { "crate_id": 0, - "kind": "function", + "kind": "struct", "path": [ "std", "thread", "scoped", - "scope" + "ScopedJoinHandle" ] }, - "3041": { + "3043": { "crate_id": 1, "kind": "module", "path": [ @@ -815611,7 +838600,7 @@ "hash" ] }, - "3042": { + "3044": { "crate_id": 0, "kind": "module", "path": [ @@ -815619,7 +838608,7 @@ "hash" ] }, - "3047": { + "3049": { "crate_id": 0, "kind": "struct", "path": [ @@ -815629,27 +838618,7 @@ "TcpStream" ] }, - "305": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "thread", - "scoped", - "Scope" - ] - }, "306": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "thread", - "scoped", - "ScopedJoinHandle" - ] - }, - "308": { "crate_id": 0, "kind": "struct", "path": [ @@ -815667,7 +838636,7 @@ "size_of_val" ] }, - "3103": { + "3105": { "crate_id": 0, "kind": "struct", "path": [ @@ -815677,7 +838646,7 @@ "IntoInnerError" ] }, - "3105": { + "3107": { "crate_id": 0, "kind": "struct", "path": [ @@ -815688,7 +838657,7 @@ "WriterPanicked" ] }, - "315": { + "313": { "crate_id": 1, "kind": "trait", "path": [ @@ -815697,7 +838666,17 @@ "Freeze" ] }, - "3161": { + "316": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "panic", + "unwind_safe", + "UnwindSafe" + ] + }, + "3162": { "crate_id": 0, "kind": "struct", "path": [ @@ -815715,10 +838694,10 @@ "core", "panic", "unwind_safe", - "UnwindSafe" + "RefUnwindSafe" ] }, - "3189": { + "3190": { "crate_id": 1, "kind": "struct", "path": [ @@ -815727,17 +838706,7 @@ "Arguments" ] }, - "320": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "panic", - "unwind_safe", - "RefUnwindSafe" - ] - }, - "323": { + "321": { "crate_id": 1, "kind": "trait", "path": [ @@ -815756,7 +838725,7 @@ "Cursor" ] }, - "326": { + "324": { "crate_id": 1, "kind": "trait", "path": [ @@ -815794,6 +838763,15 @@ "Other" ] }, + "333": { + "crate_id": 1, + "kind": "enum", + "path": [ + "core", + "convert", + "Infallible" + ] + }, "3330": { "crate_id": 0, "kind": "type_alias", @@ -815804,15 +838782,6 @@ "RawOsError" ] }, - "335": { - "crate_id": 1, - "kind": "enum", - "path": [ - "core", - "convert", - "Infallible" - ] - }, "3356": { "crate_id": 0, "kind": "variant", @@ -815824,7 +838793,7 @@ "OutOfMemory" ] }, - "3367": { + "3366": { "crate_id": 0, "kind": "primitive", "path": [ @@ -815832,7 +838801,7 @@ "i32" ] }, - "3368": { + "3367": { "crate_id": 0, "kind": "macro", "path": [ @@ -815842,7 +838811,7 @@ "const_error" ] }, - "3369": { + "3368": { "crate_id": 0, "kind": "variant", "path": [ @@ -815853,7 +838822,7 @@ "ConnectionRefused" ] }, - "3370": { + "3369": { "crate_id": 0, "kind": "variant", "path": [ @@ -815864,7 +838833,16 @@ "ConnectionReset" ] }, - "3371": { + "337": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "any", + "TypeId" + ] + }, + "3370": { "crate_id": 0, "kind": "variant", "path": [ @@ -815875,7 +838853,7 @@ "HostUnreachable" ] }, - "3372": { + "3371": { "crate_id": 0, "kind": "variant", "path": [ @@ -815886,7 +838864,7 @@ "NetworkUnreachable" ] }, - "3373": { + "3372": { "crate_id": 0, "kind": "variant", "path": [ @@ -815897,7 +838875,7 @@ "ConnectionAborted" ] }, - "3374": { + "3373": { "crate_id": 0, "kind": "variant", "path": [ @@ -815908,7 +838886,7 @@ "NotConnected" ] }, - "3375": { + "3374": { "crate_id": 0, "kind": "variant", "path": [ @@ -815919,7 +838897,7 @@ "AddrInUse" ] }, - "3376": { + "3375": { "crate_id": 0, "kind": "variant", "path": [ @@ -815930,7 +838908,7 @@ "AddrNotAvailable" ] }, - "3377": { + "3376": { "crate_id": 0, "kind": "variant", "path": [ @@ -815941,7 +838919,7 @@ "NetworkDown" ] }, - "3378": { + "3377": { "crate_id": 0, "kind": "variant", "path": [ @@ -815952,7 +838930,7 @@ "BrokenPipe" ] }, - "3379": { + "3378": { "crate_id": 0, "kind": "variant", "path": [ @@ -815963,7 +838941,7 @@ "NotADirectory" ] }, - "3380": { + "3379": { "crate_id": 0, "kind": "variant", "path": [ @@ -815974,7 +838952,7 @@ "IsADirectory" ] }, - "3381": { + "3380": { "crate_id": 0, "kind": "variant", "path": [ @@ -815985,7 +838963,7 @@ "ReadOnlyFilesystem" ] }, - "3382": { + "3381": { "crate_id": 0, "kind": "variant", "path": [ @@ -815996,7 +838974,7 @@ "StaleNetworkFileHandle" ] }, - "3383": { + "3382": { "crate_id": 0, "kind": "variant", "path": [ @@ -816007,7 +838985,7 @@ "InvalidData" ] }, - "3384": { + "3383": { "crate_id": 0, "kind": "variant", "path": [ @@ -816018,7 +838996,7 @@ "TimedOut" ] }, - "3385": { + "3384": { "crate_id": 0, "kind": "variant", "path": [ @@ -816029,7 +839007,7 @@ "WriteZero" ] }, - "3386": { + "3385": { "crate_id": 0, "kind": "variant", "path": [ @@ -816040,7 +839018,7 @@ "StorageFull" ] }, - "3387": { + "3386": { "crate_id": 0, "kind": "variant", "path": [ @@ -816051,7 +839029,7 @@ "NotSeekable" ] }, - "3388": { + "3387": { "crate_id": 0, "kind": "variant", "path": [ @@ -816062,7 +839040,7 @@ "QuotaExceeded" ] }, - "3389": { + "3388": { "crate_id": 0, "kind": "variant", "path": [ @@ -816073,16 +839051,7 @@ "FileTooLarge" ] }, - "339": { - "crate_id": 1, - "kind": "struct", - "path": [ - "core", - "any", - "TypeId" - ] - }, - "3390": { + "3389": { "crate_id": 0, "kind": "variant", "path": [ @@ -816093,7 +839062,16 @@ "ResourceBusy" ] }, - "3391": { + "339": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "any", + "Any" + ] + }, + "3390": { "crate_id": 0, "kind": "variant", "path": [ @@ -816104,7 +839082,7 @@ "ExecutableFileBusy" ] }, - "3392": { + "3391": { "crate_id": 0, "kind": "variant", "path": [ @@ -816115,7 +839093,7 @@ "Deadlock" ] }, - "3393": { + "3392": { "crate_id": 0, "kind": "variant", "path": [ @@ -816126,7 +839104,7 @@ "CrossesDevices" ] }, - "3394": { + "3393": { "crate_id": 0, "kind": "variant", "path": [ @@ -816137,7 +839115,7 @@ "TooManyLinks" ] }, - "3395": { + "3394": { "crate_id": 0, "kind": "variant", "path": [ @@ -816148,7 +839126,7 @@ "InvalidFilename" ] }, - "3396": { + "3395": { "crate_id": 0, "kind": "variant", "path": [ @@ -816159,7 +839137,7 @@ "ArgumentListTooLong" ] }, - "3397": { + "3396": { "crate_id": 0, "kind": "variant", "path": [ @@ -816170,7 +839148,7 @@ "Unsupported" ] }, - "3398": { + "3397": { "crate_id": 0, "kind": "variant", "path": [ @@ -816181,7 +839159,7 @@ "UnexpectedEof" ] }, - "3399": { + "3398": { "crate_id": 0, "kind": "variant", "path": [ @@ -816194,23 +839172,23 @@ }, "341": { "crate_id": 1, - "kind": "trait", + "kind": "struct", "path": [ "core", - "any", - "Any" + "fmt", + "Formatter" ] }, - "343": { + "342": { "crate_id": 1, - "kind": "struct", + "kind": "type_alias", "path": [ "core", "fmt", - "Formatter" + "Result" ] }, - "3436": { + "3435": { "crate_id": 0, "kind": "struct", "path": [ @@ -816220,7 +839198,7 @@ "PipeReader" ] }, - "3437": { + "3436": { "crate_id": 0, "kind": "struct", "path": [ @@ -816230,7 +839208,7 @@ "PipeWriter" ] }, - "3438": { + "3437": { "crate_id": 0, "kind": "function", "path": [ @@ -816241,15 +839219,6 @@ ] }, "344": { - "crate_id": 1, - "kind": "type_alias", - "path": [ - "core", - "fmt", - "Result" - ] - }, - "346": { "crate_id": 1, "kind": "trait", "path": [ @@ -816258,7 +839227,7 @@ "Debug" ] }, - "349": { + "347": { "crate_id": 0, "kind": "struct", "path": [ @@ -816267,16 +839236,7 @@ "Thread" ] }, - "35": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "convert", - "AsRef" - ] - }, - "350": { + "348": { "crate_id": 1, "kind": "module", "path": [ @@ -816285,7 +839245,7 @@ "atomic" ] }, - "351": { + "349": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -816294,7 +839254,16 @@ "Result" ] }, - "3555": { + "35": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "convert", + "AsRef" + ] + }, + "3554": { "crate_id": 0, "kind": "function", "path": [ @@ -816304,7 +839273,7 @@ "stdin" ] }, - "3556": { + "3555": { "crate_id": 0, "kind": "struct", "path": [ @@ -816314,7 +839283,7 @@ "Stdin" ] }, - "3558": { + "3557": { "crate_id": 0, "kind": "struct", "path": [ @@ -816324,7 +839293,7 @@ "StdinLock" ] }, - "3564": { + "3563": { "crate_id": 0, "kind": "struct", "path": [ @@ -816333,7 +839302,7 @@ "Lines" ] }, - "3651": { + "3650": { "crate_id": 0, "kind": "function", "path": [ @@ -816343,7 +839312,7 @@ "stdout" ] }, - "3652": { + "3651": { "crate_id": 0, "kind": "struct", "path": [ @@ -816353,7 +839322,7 @@ "Stdout" ] }, - "3653": { + "3652": { "crate_id": 0, "kind": "struct", "path": [ @@ -816363,6 +839332,16 @@ "StdoutLock" ] }, + "369": { + "crate_id": 0, + "kind": "function", + "path": [ + "std", + "thread", + "current", + "current_id" + ] + }, "37": { "crate_id": 1, "kind": "trait", @@ -816372,6 +839351,15 @@ "From" ] }, + "370": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "thread", + "ThreadId" + ] + }, "371": { "crate_id": 0, "kind": "function", @@ -816392,7 +839380,7 @@ "add_spawn_hook" ] }, - "3732": { + "3731": { "crate_id": 0, "kind": "function", "path": [ @@ -816402,7 +839390,7 @@ "stderr" ] }, - "3733": { + "3732": { "crate_id": 0, "kind": "struct", "path": [ @@ -816412,7 +839400,7 @@ "Stderr" ] }, - "3735": { + "3734": { "crate_id": 0, "kind": "struct", "path": [ @@ -816465,7 +839453,7 @@ "cell" ] }, - "3814": { + "3813": { "crate_id": 0, "kind": "trait", "path": [ @@ -816474,7 +839462,7 @@ "Sealed" ] }, - "3824": { + "3823": { "crate_id": 0, "kind": "function", "path": [ @@ -816484,7 +839472,7 @@ "empty" ] }, - "3825": { + "3824": { "crate_id": 0, "kind": "struct", "path": [ @@ -816514,7 +839502,7 @@ "AccessError" ] }, - "3885": { + "3884": { "crate_id": 0, "kind": "function", "path": [ @@ -816524,7 +839512,7 @@ "repeat" ] }, - "3886": { + "3885": { "crate_id": 0, "kind": "struct", "path": [ @@ -816543,7 +839531,7 @@ "Into" ] }, - "3911": { + "3910": { "crate_id": 0, "kind": "function", "path": [ @@ -816553,7 +839541,7 @@ "sink" ] }, - "3912": { + "3911": { "crate_id": 0, "kind": "struct", "path": [ @@ -816563,7 +839551,7 @@ "Sink" ] }, - "3953": { + "3952": { "crate_id": 1, "kind": "struct", "path": [ @@ -816573,7 +839561,7 @@ "BorrowedBuf" ] }, - "3986": { + "3985": { "crate_id": 1, "kind": "union", "path": [ @@ -816583,7 +839571,7 @@ "MaybeUninit" ] }, - "3994": { + "3993": { "crate_id": 0, "kind": "struct", "path": [ @@ -816592,7 +839580,7 @@ "Bytes" ] }, - "3996": { + "3995": { "crate_id": 0, "kind": "struct", "path": [ @@ -816601,7 +839589,7 @@ "Chain" ] }, - "3998": { + "3997": { "crate_id": 0, "kind": "struct", "path": [ @@ -816610,7 +839598,7 @@ "Take" ] }, - "3999": { + "3998": { "crate_id": 0, "kind": "primitive", "path": [ @@ -816618,7 +839606,7 @@ "slice" ] }, - "4065": { + "4064": { "crate_id": 0, "kind": "struct", "path": [ @@ -816630,7 +839618,7 @@ "UnixStream" ] }, - "4077": { + "4076": { "crate_id": 0, "kind": "struct", "path": [ @@ -816639,7 +839627,7 @@ "ChildStdout" ] }, - "4084": { + "4083": { "crate_id": 0, "kind": "struct", "path": [ @@ -816648,7 +839636,7 @@ "ChildStderr" ] }, - "4086": { + "4085": { "crate_id": 0, "kind": "function", "path": [ @@ -816668,7 +839656,7 @@ "DoubleEndedIterator" ] }, - "4145": { + "4144": { "crate_id": 1, "kind": "macro", "path": [ @@ -816676,7 +839664,7 @@ "write" ] }, - "4221": { + "4220": { "crate_id": 0, "kind": "struct", "path": [ @@ -816685,7 +839673,7 @@ "ChildStdin" ] }, - "4227": { + "4226": { "crate_id": 0, "kind": "variant", "path": [ @@ -816704,7 +839692,7 @@ "CloneToUninit" ] }, - "4282": { + "4281": { "crate_id": 0, "kind": "struct", "path": [ @@ -816733,7 +839721,7 @@ "Display" ] }, - "4419": { + "4418": { "crate_id": 0, "kind": "macro", "path": [ @@ -816741,6 +839729,16 @@ "println" ] }, + "4419": { + "crate_id": 0, + "kind": "function", + "path": [ + "std", + "net", + "hostname", + "hostname" + ] + }, "442": { "crate_id": 1, "kind": "trait", @@ -816750,7 +839748,7 @@ "StructuralPartialEq" ] }, - "4421": { + "4422": { "crate_id": 1, "kind": "enum", "path": [ @@ -816760,7 +839758,7 @@ "IpAddr" ] }, - "4423": { + "4424": { "crate_id": 1, "kind": "enum", "path": [ @@ -816770,7 +839768,7 @@ "Ipv6MulticastScope" ] }, - "4425": { + "4426": { "crate_id": 1, "kind": "struct", "path": [ @@ -816780,7 +839778,7 @@ "Ipv4Addr" ] }, - "4427": { + "4428": { "crate_id": 1, "kind": "struct", "path": [ @@ -816790,7 +839788,7 @@ "Ipv6Addr" ] }, - "4430": { + "4431": { "crate_id": 1, "kind": "enum", "path": [ @@ -816800,7 +839798,7 @@ "SocketAddr" ] }, - "4432": { + "4433": { "crate_id": 1, "kind": "struct", "path": [ @@ -816810,7 +839808,7 @@ "SocketAddrV4" ] }, - "4434": { + "4435": { "crate_id": 1, "kind": "struct", "path": [ @@ -816820,7 +839818,7 @@ "SocketAddrV6" ] }, - "4437": { + "4438": { "crate_id": 0, "kind": "struct", "path": [ @@ -816830,7 +839828,7 @@ "UdpSocket" ] }, - "4440": { + "4441": { "crate_id": 1, "kind": "struct", "path": [ @@ -816839,7 +839837,7 @@ "IntoIter" ] }, - "4459": { + "4460": { "crate_id": 2, "kind": "struct", "path": [ @@ -816849,7 +839847,7 @@ "IntoIter" ] }, - "4469": { + "4470": { "crate_id": 1, "kind": "struct", "path": [ @@ -816860,7 +839858,7 @@ "Cloned" ] }, - "4470": { + "4471": { "crate_id": 1, "kind": "struct", "path": [ @@ -816870,7 +839868,7 @@ "Iter" ] }, - "4482": { + "4483": { "crate_id": 0, "kind": "struct", "path": [ @@ -816880,7 +839878,7 @@ "TcpListener" ] }, - "4487": { + "4488": { "crate_id": 0, "kind": "enum", "path": [ @@ -816909,7 +839907,7 @@ "Error" ] }, - "4519": { + "4520": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -816921,7 +839919,7 @@ "RawSocket" ] }, - "4521": { + "4522": { "crate_id": 0, "kind": "trait", "path": [ @@ -816933,7 +839931,7 @@ "AsRawSocket" ] }, - "4524": { + "4525": { "crate_id": 0, "kind": "trait", "path": [ @@ -816945,7 +839943,7 @@ "FromRawSocket" ] }, - "4527": { + "4528": { "crate_id": 0, "kind": "trait", "path": [ @@ -816957,7 +839955,7 @@ "IntoRawSocket" ] }, - "4529": { + "4530": { "crate_id": 0, "kind": "struct", "path": [ @@ -816969,7 +839967,7 @@ "BorrowedSocket" ] }, - "4531": { + "4532": { "crate_id": 0, "kind": "trait", "path": [ @@ -816981,7 +839979,7 @@ "AsSocket" ] }, - "4533": { + "4534": { "crate_id": 0, "kind": "struct", "path": [ @@ -816993,7 +839991,7 @@ "OwnedSocket" ] }, - "4554": { + "4555": { "crate_id": 0, "kind": "trait", "path": [ @@ -817005,7 +840003,7 @@ "TcpStreamExt" ] }, - "4557": { + "4558": { "crate_id": 0, "kind": "struct", "path": [ @@ -817015,7 +840013,7 @@ "Incoming" ] }, - "4562": { + "4563": { "crate_id": 0, "kind": "struct", "path": [ @@ -817025,7 +840023,7 @@ "IntoIncoming" ] }, - "468": { + "469": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817035,15 +840033,6 @@ "Result" ] }, - "469": { - "crate_id": 0, - "kind": "function", - "path": [ - "std", - "thread", - "spawn" - ] - }, "47": { "crate_id": 1, "kind": "trait", @@ -817055,7 +840044,16 @@ "IntoIterator" ] }, - "4728": { + "470": { + "crate_id": 0, + "kind": "function", + "path": [ + "std", + "thread", + "spawn" + ] + }, + "4729": { "crate_id": 1, "kind": "struct", "path": [ @@ -817065,16 +840063,7 @@ "AddrParseError" ] }, - "474": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "thread", - "JoinHandle" - ] - }, - "4742": { + "4744": { "crate_id": 0, "kind": "variant", "path": [ @@ -817084,7 +840073,7 @@ "Read" ] }, - "4743": { + "4745": { "crate_id": 0, "kind": "variant", "path": [ @@ -817094,7 +840083,7 @@ "Write" ] }, - "4744": { + "4746": { "crate_id": 0, "kind": "variant", "path": [ @@ -817104,7 +840093,16 @@ "Both" ] }, - "4769": { + "475": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "thread", + "JoinHandle" + ] + }, + "4771": { "crate_id": 0, "kind": "module", "path": [ @@ -817112,7 +840110,7 @@ "net" ] }, - "4771": { + "4773": { "crate_id": 1, "kind": "enum", "path": [ @@ -817122,7 +840120,7 @@ "IntErrorKind" ] }, - "4774": { + "4776": { "crate_id": 1, "kind": "struct", "path": [ @@ -817132,7 +840130,7 @@ "Saturating" ] }, - "4776": { + "4778": { "crate_id": 1, "kind": "struct", "path": [ @@ -817142,7 +840140,7 @@ "Wrapping" ] }, - "4778": { + "4780": { "crate_id": 1, "kind": "trait", "path": [ @@ -817152,7 +840150,7 @@ "ZeroablePrimitive" ] }, - "4780": { + "4782": { "crate_id": 1, "kind": "enum", "path": [ @@ -817161,7 +840159,7 @@ "FpCategory" ] }, - "4782": { + "4784": { "crate_id": 1, "kind": "struct", "path": [ @@ -817171,7 +840169,7 @@ "ParseFloatError" ] }, - "4784": { + "4786": { "crate_id": 1, "kind": "struct", "path": [ @@ -817181,7 +840179,7 @@ "ParseIntError" ] }, - "4786": { + "4788": { "crate_id": 1, "kind": "struct", "path": [ @@ -817191,7 +840189,7 @@ "TryFromIntError" ] }, - "4788": { + "4790": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817201,7 +840199,7 @@ "NonZeroI8" ] }, - "4790": { + "4792": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817211,7 +840209,7 @@ "NonZeroI16" ] }, - "4792": { + "4794": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817221,7 +840219,7 @@ "NonZeroI32" ] }, - "4794": { + "4796": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817231,7 +840229,7 @@ "NonZeroI64" ] }, - "4796": { + "4798": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817241,7 +840239,7 @@ "NonZeroI128" ] }, - "4798": { + "4800": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817251,7 +840249,7 @@ "NonZeroIsize" ] }, - "4800": { + "4802": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817261,7 +840259,7 @@ "NonZeroU8" ] }, - "4802": { + "4804": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817271,7 +840269,7 @@ "NonZeroU16" ] }, - "4804": { + "4806": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817281,7 +840279,7 @@ "NonZeroU32" ] }, - "4806": { + "4808": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817291,7 +840289,7 @@ "NonZeroU64" ] }, - "4808": { + "4810": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817301,7 +840299,7 @@ "NonZeroU128" ] }, - "4810": { + "4812": { "crate_id": 1, "kind": "type_alias", "path": [ @@ -817311,7 +840309,7 @@ "NonZeroUsize" ] }, - "4811": { + "4813": { "crate_id": 0, "kind": "module", "path": [ @@ -817319,7 +840317,7 @@ "num" ] }, - "4812": { + "4814": { "crate_id": 0, "kind": "primitive", "path": [ @@ -817327,7 +840325,7 @@ "i8" ] }, - "4813": { + "4815": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817337,7 +840335,7 @@ "c_char" ] }, - "4814": { + "4816": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817347,7 +840345,7 @@ "c_schar" ] }, - "4815": { + "4817": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817357,7 +840355,7 @@ "c_uchar" ] }, - "4816": { + "4818": { "crate_id": 0, "kind": "primitive", "path": [ @@ -817365,7 +840363,7 @@ "i16" ] }, - "4817": { + "4819": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817375,7 +840373,7 @@ "c_short" ] }, - "4818": { + "4820": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817385,7 +840383,7 @@ "c_ushort" ] }, - "4819": { + "4821": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817395,7 +840393,7 @@ "c_int" ] }, - "4820": { + "4822": { "crate_id": 0, "kind": "primitive", "path": [ @@ -817403,7 +840401,7 @@ "u32" ] }, - "4821": { + "4823": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817413,7 +840411,7 @@ "c_uint" ] }, - "4822": { + "4824": { "crate_id": 0, "kind": "primitive", "path": [ @@ -817421,7 +840419,7 @@ "i64" ] }, - "4823": { + "4825": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817431,7 +840429,7 @@ "c_long" ] }, - "4824": { + "4826": { "crate_id": 0, "kind": "primitive", "path": [ @@ -817439,7 +840437,7 @@ "u64" ] }, - "4825": { + "4827": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817449,7 +840447,7 @@ "c_ulong" ] }, - "4826": { + "4828": { "crate_id": 0, "kind": "primitive", "path": [ @@ -817457,7 +840455,7 @@ "i128" ] }, - "4827": { + "4829": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817467,7 +840465,7 @@ "c_longlong" ] }, - "4828": { + "4830": { "crate_id": 0, "kind": "primitive", "path": [ @@ -817475,7 +840473,7 @@ "u128" ] }, - "4829": { + "4831": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817485,7 +840483,7 @@ "c_ulonglong" ] }, - "4830": { + "4832": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817495,7 +840493,7 @@ "c_float" ] }, - "4831": { + "4833": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817505,7 +840503,7 @@ "c_double" ] }, - "4832": { + "4834": { "crate_id": 0, "kind": "primitive", "path": [ @@ -817513,7 +840511,7 @@ "pointer" ] }, - "4833": { + "4835": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -817523,7 +840521,7 @@ "c_void" ] }, - "4834": { + "4836": { "crate_id": 1, "kind": "module", "path": [ @@ -817531,7 +840529,7 @@ "ffi" ] }, - "4835": { + "4837": { "crate_id": 0, "kind": "module", "path": [ @@ -817540,7 +840538,7 @@ "raw" ] }, - "4859": { + "4861": { "crate_id": 0, "kind": "module", "path": [ @@ -817550,7 +840548,17 @@ "fs" ] }, - "4883": { + "4862": { + "crate_id": 0, + "kind": "module", + "path": [ + "std", + "os", + "darwin", + "objc" + ] + }, + "4886": { "crate_id": 0, "kind": "module", "path": [ @@ -817559,7 +840567,7 @@ "darwin" ] }, - "4887": { + "4890": { "crate_id": 0, "kind": "module", "path": [ @@ -817580,15 +840588,7 @@ "Iterator" ] }, - "492": { - "crate_id": 0, - "kind": "macro", - "path": [ - "std", - "panic" - ] - }, - "4922": { + "4927": { "crate_id": 0, "kind": "function", "path": [ @@ -817599,7 +840599,7 @@ "lchown" ] }, - "4923": { + "4928": { "crate_id": 0, "kind": "function", "path": [ @@ -817610,7 +840610,7 @@ "chown" ] }, - "4924": { + "4929": { "crate_id": 0, "kind": "function", "path": [ @@ -817621,7 +840621,15 @@ "fchown" ] }, - "4925": { + "493": { + "crate_id": 0, + "kind": "macro", + "path": [ + "std", + "panic" + ] + }, + "4930": { "crate_id": 0, "kind": "function", "path": [ @@ -817632,7 +840640,7 @@ "chroot" ] }, - "4926": { + "4931": { "crate_id": 0, "kind": "function", "path": [ @@ -817643,7 +840651,7 @@ "mkfifo" ] }, - "4927": { + "4932": { "crate_id": 0, "kind": "module", "path": [ @@ -817653,7 +840661,7 @@ "fs" ] }, - "4929": { + "4934": { "crate_id": 0, "kind": "module", "path": [ @@ -817662,16 +840670,7 @@ "fd" ] }, - "493": { - "crate_id": 0, - "kind": "module", - "path": [ - "std", - "sync", - "mpsc" - ] - }, - "4930": { + "4935": { "crate_id": 0, "kind": "module", "path": [ @@ -817681,7 +840680,7 @@ "io" ] }, - "4933": { + "4938": { "crate_id": 0, "kind": "struct", "path": [ @@ -817694,6 +840693,15 @@ ] }, "494": { + "crate_id": 0, + "kind": "module", + "path": [ + "std", + "sync", + "mpsc" + ] + }, + "495": { "crate_id": 0, "kind": "struct", "path": [ @@ -817704,7 +840712,7 @@ "Condvar" ] }, - "495": { + "496": { "crate_id": 0, "kind": "struct", "path": [ @@ -817715,7 +840723,7 @@ "Mutex" ] }, - "4958": { + "4963": { "crate_id": 0, "kind": "trait", "path": [ @@ -817727,16 +840735,7 @@ "SocketAddrExt" ] }, - "496": { - "crate_id": 0, - "kind": "function", - "path": [ - "std", - "thread", - "yield_now" - ] - }, - "4962": { + "4967": { "crate_id": 0, "kind": "module", "path": [ @@ -817746,7 +840745,7 @@ "net" ] }, - "4964": { + "4969": { "crate_id": 0, "kind": "struct", "path": [ @@ -817758,25 +840757,25 @@ "SocketCred" ] }, - "4967": { - "crate_id": 4, - "kind": "type_alias", - "path": [ - "libc", - "unix", - "pid_t" - ] - }, "497": { "crate_id": 0, "kind": "function", "path": [ "std", "thread", - "panicking" + "yield_now" ] }, - "4970": { + "4972": { + "crate_id": 4, + "kind": "type_alias", + "path": [ + "libc", + "unix", + "pid_t" + ] + }, + "4975": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -817785,7 +840784,7 @@ "uid_t" ] }, - "4973": { + "4978": { "crate_id": 4, "kind": "type_alias", "path": [ @@ -817800,7 +840799,7 @@ "path": [ "std", "thread", - "sleep" + "panicking" ] }, "499": { @@ -817809,10 +840808,10 @@ "path": [ "std", "thread", - "sleep_ms" + "sleep" ] }, - "4994": { + "4999": { "crate_id": 0, "kind": "struct", "path": [ @@ -817834,6 +840833,15 @@ ] }, "500": { + "crate_id": 0, + "kind": "function", + "path": [ + "std", + "thread", + "sleep_ms" + ] + }, + "501": { "crate_id": 1, "kind": "struct", "path": [ @@ -817842,15 +840850,7 @@ "Duration" ] }, - "501": { - "crate_id": 0, - "kind": "module", - "path": [ - "std", - "io" - ] - }, - "5013": { + "5018": { "crate_id": 0, "kind": "struct", "path": [ @@ -817864,23 +840864,22 @@ }, "502": { "crate_id": 0, - "kind": "function", + "kind": "module", "path": [ "std", - "thread", - "sleep_until" + "io" ] }, "503": { "crate_id": 0, - "kind": "struct", + "kind": "function", "path": [ "std", - "time", - "Instant" + "thread", + "sleep_until" ] }, - "5033": { + "5038": { "crate_id": 0, "kind": "variant", "path": [ @@ -817893,7 +840892,7 @@ "Unknown" ] }, - "5034": { + "5039": { "crate_id": 0, "kind": "enum", "path": [ @@ -817906,6 +840905,15 @@ ] }, "504": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "time", + "Instant" + ] + }, + "505": { "crate_id": 0, "kind": "function", "path": [ @@ -817914,7 +840922,7 @@ "park" ] }, - "5051": { + "5056": { "crate_id": 0, "kind": "variant", "path": [ @@ -817927,7 +840935,7 @@ "ScmRights" ] }, - "5053": { + "5058": { "crate_id": 0, "kind": "variant", "path": [ @@ -817940,7 +840948,7 @@ "ScmCredentials" ] }, - "5054": { + "5059": { "crate_id": 0, "kind": "enum", "path": [ @@ -817952,25 +840960,16 @@ "AncillaryData" ] }, - "506": { - "crate_id": 0, - "kind": "function", - "path": [ - "std", - "thread", - "park_timeout" - ] - }, "507": { "crate_id": 0, "kind": "function", "path": [ "std", "thread", - "park_timeout_ms" + "park_timeout" ] }, - "5070": { + "5075": { "crate_id": 0, "kind": "struct", "path": [ @@ -817982,7 +840981,16 @@ "Messages" ] }, - "5091": { + "508": { + "crate_id": 0, + "kind": "function", + "path": [ + "std", + "thread", + "park_timeout_ms" + ] + }, + "5096": { "crate_id": 0, "kind": "struct", "path": [ @@ -818003,16 +841011,17 @@ "Option" ] }, - "510": { - "crate_id": 0, + "512": { + "crate_id": 1, "kind": "struct", "path": [ - "std", - "thread", - "ThreadId" + "core", + "num", + "nonzero", + "NonZero" ] }, - "5119": { + "5124": { "crate_id": 0, "kind": "struct", "path": [ @@ -818024,17 +841033,7 @@ "UnixDatagram" ] }, - "512": { - "crate_id": 1, - "kind": "struct", - "path": [ - "core", - "num", - "nonzero", - "NonZero" - ] - }, - "5179": { + "5184": { "crate_id": 0, "kind": "trait", "path": [ @@ -818046,7 +841045,7 @@ "UnixSocketExt" ] }, - "5182": { + "5187": { "crate_id": 0, "kind": "struct", "path": [ @@ -818058,7 +841057,7 @@ "UnixListener" ] }, - "5191": { + "5196": { "crate_id": 0, "kind": "struct", "path": [ @@ -818070,7 +841069,7 @@ "Incoming" ] }, - "5254": { + "5259": { "crate_id": 0, "kind": "struct", "path": [ @@ -818092,7 +841091,7 @@ "None" ] }, - "5336": { + "5341": { "crate_id": 0, "kind": "struct", "path": [ @@ -818101,7 +841100,7 @@ "Command" ] }, - "5339": { + "5344": { "crate_id": 0, "kind": "function", "path": [ @@ -818110,7 +841109,7 @@ "always_abort" ] }, - "5342": { + "5347": { "crate_id": 0, "kind": "function", "path": [ @@ -818119,7 +841118,7 @@ "exit" ] }, - "5349": { + "5354": { "crate_id": 0, "kind": "trait", "path": [ @@ -818130,7 +841129,16 @@ "CommandExt" ] }, - "5366": { + "537": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "hash", + "Hasher" + ] + }, + "5371": { "crate_id": 0, "kind": "struct", "path": [ @@ -818139,7 +841147,7 @@ "ExitStatus" ] }, - "5367": { + "5372": { "crate_id": 0, "kind": "struct", "path": [ @@ -818148,7 +841156,7 @@ "ExitStatusError" ] }, - "5369": { + "5374": { "crate_id": 0, "kind": "trait", "path": [ @@ -818159,16 +841167,16 @@ "ExitStatusExt" ] }, - "537": { + "539": { "crate_id": 1, "kind": "trait", "path": [ "core", "hash", - "Hasher" + "Hash" ] }, - "5385": { + "5390": { "crate_id": 0, "kind": "trait", "path": [ @@ -818179,7 +841187,7 @@ "ChildExt" ] }, - "5388": { + "5393": { "crate_id": 0, "kind": "struct", "path": [ @@ -818188,7 +841196,7 @@ "Child" ] }, - "5389": { + "5394": { "crate_id": 0, "kind": "function", "path": [ @@ -818199,16 +841207,7 @@ "parent_id" ] }, - "539": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "hash", - "Hash" - ] - }, - "5390": { + "5395": { "crate_id": 0, "kind": "module", "path": [ @@ -818216,7 +841215,7 @@ "process" ] }, - "5391": { + "5396": { "crate_id": 0, "kind": "module", "path": [ @@ -818226,7 +841225,7 @@ "process" ] }, - "5392": { + "5397": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818237,7 +841236,7 @@ "uid_t" ] }, - "5393": { + "5398": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818248,7 +841247,7 @@ "gid_t" ] }, - "5394": { + "5399": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818259,7 +841258,7 @@ "pid_t" ] }, - "5396": { + "5401": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818270,7 +841269,7 @@ "pthread_t" ] }, - "5398": { + "5403": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818282,7 +841281,7 @@ "blkcnt_t" ] }, - "5400": { + "5405": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818294,7 +841293,7 @@ "time_t" ] }, - "5402": { + "5407": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818306,7 +841305,7 @@ "blksize_t" ] }, - "5404": { + "5409": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818317,7 +841316,7 @@ "dev_t" ] }, - "5406": { + "5411": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818329,7 +841328,7 @@ "ino_t" ] }, - "5408": { + "5413": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818340,7 +841339,7 @@ "mode_t" ] }, - "5410": { + "5415": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818352,7 +841351,7 @@ "nlink_t" ] }, - "5412": { + "5417": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818364,7 +841363,7 @@ "off_t" ] }, - "5413": { + "5418": { "crate_id": 0, "kind": "module", "path": [ @@ -818374,7 +841373,7 @@ "raw" ] }, - "5416": { + "5421": { "crate_id": 0, "kind": "module", "path": [ @@ -818384,7 +841383,7 @@ "thread" ] }, - "5436": { + "5441": { "crate_id": 0, "kind": "module", "path": [ @@ -818394,7 +841393,7 @@ "prelude" ] }, - "5437": { + "5442": { "crate_id": 0, "kind": "module", "path": [ @@ -818403,7 +841402,7 @@ "unix" ] }, - "5455": { + "5460": { "crate_id": 0, "kind": "module", "path": [ @@ -818413,7 +841412,7 @@ "fs" ] }, - "5459": { + "5464": { "crate_id": 0, "kind": "module", "path": [ @@ -818423,7 +841422,7 @@ "net" ] }, - "5464": { + "5469": { "crate_id": 0, "kind": "struct", "path": [ @@ -818444,7 +841443,7 @@ "Some" ] }, - "5500": { + "5505": { "crate_id": 0, "kind": "trait", "path": [ @@ -818455,7 +841454,7 @@ "ChildExt" ] }, - "5504": { + "5509": { "crate_id": 0, "kind": "trait", "path": [ @@ -818466,7 +841465,7 @@ "CommandExt" ] }, - "5507": { + "5512": { "crate_id": 0, "kind": "module", "path": [ @@ -818476,7 +841475,7 @@ "process" ] }, - "5551": { + "5556": { "crate_id": 0, "kind": "module", "path": [ @@ -818486,7 +841485,7 @@ "raw" ] }, - "5552": { + "5557": { "crate_id": 0, "kind": "module", "path": [ @@ -818495,7 +841494,7 @@ "linux" ] }, - "5560": { + "5565": { "crate_id": 0, "kind": "module", "path": [ @@ -818505,7 +841504,7 @@ "ffi" ] }, - "5598": { + "5603": { "crate_id": 0, "kind": "function", "path": [ @@ -818516,7 +841515,7 @@ "link" ] }, - "5599": { + "5604": { "crate_id": 0, "kind": "function", "path": [ @@ -818527,7 +841526,7 @@ "rename" ] }, - "5600": { + "5605": { "crate_id": 0, "kind": "function", "path": [ @@ -818538,7 +841537,7 @@ "symlink" ] }, - "5601": { + "5606": { "crate_id": 0, "kind": "function", "path": [ @@ -818549,7 +841548,7 @@ "symlink_path" ] }, - "5602": { + "5607": { "crate_id": 0, "kind": "module", "path": [ @@ -818559,7 +841558,7 @@ "fs" ] }, - "5604": { + "5609": { "crate_id": 0, "kind": "module", "path": [ @@ -818569,7 +841568,7 @@ "io" ] }, - "5619": { + "5624": { "crate_id": 0, "kind": "module", "path": [ @@ -818579,7 +841578,7 @@ "prelude" ] }, - "5620": { + "5625": { "crate_id": 0, "kind": "module", "path": [ @@ -818588,7 +841587,7 @@ "wasi" ] }, - "5621": { + "5626": { "crate_id": 0, "kind": "module", "path": [ @@ -818597,7 +841596,7 @@ "wasip2" ] }, - "5623": { + "5653": { "crate_id": 0, "kind": "module", "path": [ @@ -818607,7 +841606,16 @@ "ffi" ] }, - "5643": { + "567": { + "crate_id": 0, + "kind": "function", + "path": [ + "std", + "panic", + "resume_unwind" + ] + }, + "5674": { "crate_id": 0, "kind": "function", "path": [ @@ -818618,7 +841626,7 @@ "junction_point" ] }, - "5644": { + "5675": { "crate_id": 0, "kind": "module", "path": [ @@ -818628,16 +841636,16 @@ "fs" ] }, - "567": { - "crate_id": 0, - "kind": "function", + "57": { + "crate_id": 1, + "kind": "enum", "path": [ - "std", - "panic", - "resume_unwind" + "core", + "result", + "Result" ] }, - "5692": { + "5723": { "crate_id": 0, "kind": "struct", "path": [ @@ -818649,7 +841657,7 @@ "NullHandleError" ] }, - "5694": { + "5725": { "crate_id": 0, "kind": "struct", "path": [ @@ -818661,7 +841669,7 @@ "HandleOrNull" ] }, - "5697": { + "5728": { "crate_id": 0, "kind": "struct", "path": [ @@ -818673,7 +841681,7 @@ "InvalidHandleError" ] }, - "5699": { + "5730": { "crate_id": 0, "kind": "struct", "path": [ @@ -818685,16 +841693,7 @@ "HandleOrInvalid" ] }, - "57": { - "crate_id": 1, - "kind": "enum", - "path": [ - "core", - "result", - "Result" - ] - }, - "5837": { + "5868": { "crate_id": 2, "kind": "struct", "path": [ @@ -818703,28 +841702,28 @@ "UniqueRc" ] }, - "5849": { + "587": { "crate_id": 0, - "kind": "module", + "kind": "type_alias", "path": [ "std", "os", - "windows", - "io" + "unix", + "thread", + "RawPthread" ] }, - "5850": { + "5880": { "crate_id": 0, - "kind": "type_alias", + "kind": "module", "path": [ "std", "os", "windows", - "raw", - "HANDLE" + "io" ] }, - "5851": { + "5881": { "crate_id": 0, "kind": "type_alias", "path": [ @@ -818732,18 +841731,18 @@ "os", "windows", "raw", - "SOCKET" + "HANDLE" ] }, - "587": { + "5882": { "crate_id": 0, "kind": "type_alias", "path": [ "std", "os", - "unix", - "thread", - "RawPthread" + "windows", + "raw", + "SOCKET" ] }, "59": { @@ -818791,7 +841790,19 @@ "AsHandle" ] }, - "5952": { + "596": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "os", + "windows", + "io", + "handle", + "OwnedHandle" + ] + }, + "5983": { "crate_id": 0, "kind": "trait", "path": [ @@ -818802,19 +841813,19 @@ "ExitStatusExt" ] }, - "596": { + "599": { "crate_id": 0, - "kind": "struct", + "kind": "type_alias", "path": [ "std", "os", "windows", "io", - "handle", - "OwnedHandle" + "raw", + "RawHandle" ] }, - "5960": { + "5991": { "crate_id": 0, "kind": "struct", "path": [ @@ -818825,7 +841836,7 @@ "ProcThreadAttributeList" ] }, - "5965": { + "5997": { "crate_id": 0, "kind": "trait", "path": [ @@ -818836,7 +841847,19 @@ "CommandExt" ] }, - "5977": { + "601": { + "crate_id": 0, + "kind": "trait", + "path": [ + "std", + "os", + "windows", + "io", + "raw", + "AsRawHandle" + ] + }, + "6010": { "crate_id": 0, "kind": "trait", "path": [ @@ -818847,7 +841870,7 @@ "ChildExt" ] }, - "5981": { + "6014": { "crate_id": 0, "kind": "struct", "path": [ @@ -818856,7 +841879,7 @@ "ExitCode" ] }, - "5982": { + "6015": { "crate_id": 0, "kind": "trait", "path": [ @@ -818867,7 +841890,7 @@ "ExitCodeExt" ] }, - "5988": { + "6021": { "crate_id": 0, "kind": "struct", "path": [ @@ -818878,31 +841901,37 @@ "ProcThreadAttributeListBuilder" ] }, - "599": { + "604": { "crate_id": 0, - "kind": "type_alias", + "kind": "trait", "path": [ "std", "os", "windows", "io", "raw", - "RawHandle" + "IntoRawHandle" ] }, - "601": { + "605": { "crate_id": 0, - "kind": "trait", + "kind": "function", "path": [ "std", - "os", - "windows", - "io", - "raw", - "AsRawHandle" + "thread", + "available_parallelism" ] }, - "6033": { + "606": { + "crate_id": 2, + "kind": "struct", + "path": [ + "alloc", + "sync", + "Arc" + ] + }, + "6066": { "crate_id": 0, "kind": "module", "path": [ @@ -818912,7 +841941,7 @@ "process" ] }, - "6034": { + "6067": { "crate_id": 0, "kind": "module", "path": [ @@ -818922,7 +841951,7 @@ "raw" ] }, - "6035": { + "6068": { "crate_id": 0, "kind": "module", "path": [ @@ -818932,28 +841961,15 @@ "thread" ] }, - "604": { - "crate_id": 0, - "kind": "trait", - "path": [ - "std", - "os", - "windows", - "io", - "raw", - "IntoRawHandle" - ] - }, - "605": { + "607": { "crate_id": 0, - "kind": "function", + "kind": "module", "path": [ "std", - "thread", - "available_parallelism" + "thread" ] }, - "6056": { + "6089": { "crate_id": 0, "kind": "module", "path": [ @@ -818963,32 +841979,6 @@ "prelude" ] }, - "6057": { - "crate_id": 0, - "kind": "module", - "path": [ - "std", - "os", - "windows" - ] - }, - "606": { - "crate_id": 2, - "kind": "struct", - "path": [ - "alloc", - "sync", - "Arc" - ] - }, - "607": { - "crate_id": 0, - "kind": "module", - "path": [ - "std", - "thread" - ] - }, "609": { "crate_id": 1, "kind": "enum", @@ -818999,6 +841989,15 @@ "AsciiChar" ] }, + "6090": { + "crate_id": 0, + "kind": "module", + "path": [ + "std", + "os", + "windows" + ] + }, "61": { "crate_id": 1, "kind": "variant", @@ -819036,7 +842035,7 @@ "AsciiExt" ] }, - "6198": { + "6231": { "crate_id": 0, "kind": "module", "path": [ @@ -819044,7 +842043,7 @@ "os" ] }, - "6199": { + "6232": { "crate_id": 0, "kind": "struct", "path": [ @@ -819053,7 +842052,7 @@ "PanicHookInfo" ] }, - "6200": { + "6233": { "crate_id": 1, "kind": "struct", "path": [ @@ -819063,7 +842062,7 @@ "PanicInfo" ] }, - "6206": { + "6239": { "crate_id": 0, "kind": "function", "path": [ @@ -819072,7 +842071,7 @@ "panic_any" ] }, - "6209": { + "6242": { "crate_id": 1, "kind": "struct", "path": [ @@ -819082,7 +842081,7 @@ "Location" ] }, - "6232": { + "6265": { "crate_id": 1, "kind": "struct", "path": [ @@ -819092,7 +842091,7 @@ "AssertUnwindSafe" ] }, - "6236": { + "6269": { "crate_id": 0, "kind": "function", "path": [ @@ -819101,7 +842100,7 @@ "update_hook" ] }, - "6238": { + "6271": { "crate_id": 0, "kind": "function", "path": [ @@ -819110,7 +842109,7 @@ "set_hook" ] }, - "6240": { + "6273": { "crate_id": 0, "kind": "function", "path": [ @@ -819119,7 +842118,7 @@ "take_hook" ] }, - "6242": { + "6275": { "crate_id": 1, "kind": "function", "path": [ @@ -819128,7 +842127,7 @@ "abort_unwind" ] }, - "6243": { + "6276": { "crate_id": 0, "kind": "function", "path": [ @@ -819137,7 +842136,7 @@ "catch_unwind" ] }, - "6244": { + "6277": { "crate_id": 0, "kind": "variant", "path": [ @@ -819147,7 +842146,7 @@ "Short" ] }, - "6245": { + "6278": { "crate_id": 0, "kind": "variant", "path": [ @@ -819157,7 +842156,7 @@ "Full" ] }, - "6246": { + "6279": { "crate_id": 0, "kind": "variant", "path": [ @@ -819167,7 +842166,7 @@ "Off" ] }, - "6247": { + "6280": { "crate_id": 0, "kind": "enum", "path": [ @@ -819176,7 +842175,15 @@ "BacktraceStyle" ] }, - "6272": { + "63": { + "crate_id": 1, + "kind": "macro", + "path": [ + "core", + "assert" + ] + }, + "6305": { "crate_id": 0, "kind": "function", "path": [ @@ -819185,7 +842192,7 @@ "get_backtrace_style" ] }, - "6273": { + "6306": { "crate_id": 0, "kind": "function", "path": [ @@ -819194,7 +842201,7 @@ "set_backtrace_style" ] }, - "6274": { + "6307": { "crate_id": 0, "kind": "module", "path": [ @@ -819202,7 +842209,7 @@ "panic" ] }, - "6276": { + "6309": { "crate_id": 1, "kind": "macro", "path": [ @@ -819210,7 +842217,7 @@ "pattern_type" ] }, - "6277": { + "6310": { "crate_id": 0, "kind": "module", "path": [ @@ -819218,7 +842225,7 @@ "pat" ] }, - "6279": { + "6312": { "crate_id": 0, "kind": "variant", "path": [ @@ -819228,7 +842235,7 @@ "Verbatim" ] }, - "6282": { + "6315": { "crate_id": 0, "kind": "variant", "path": [ @@ -819238,7 +842245,7 @@ "VerbatimUNC" ] }, - "6284": { + "6317": { "crate_id": 0, "kind": "variant", "path": [ @@ -819248,7 +842255,7 @@ "VerbatimDisk" ] }, - "6286": { + "6319": { "crate_id": 0, "kind": "variant", "path": [ @@ -819258,7 +842265,7 @@ "DeviceNS" ] }, - "6289": { + "6322": { "crate_id": 0, "kind": "variant", "path": [ @@ -819268,7 +842275,7 @@ "UNC" ] }, - "6291": { + "6324": { "crate_id": 0, "kind": "variant", "path": [ @@ -819278,7 +842285,7 @@ "Disk" ] }, - "6292": { + "6325": { "crate_id": 0, "kind": "enum", "path": [ @@ -819287,15 +842294,7 @@ "Prefix" ] }, - "63": { - "crate_id": 1, - "kind": "macro", - "path": [ - "core", - "assert" - ] - }, - "6325": { + "6358": { "crate_id": 0, "kind": "function", "path": [ @@ -819304,7 +842303,7 @@ "is_separator" ] }, - "6326": { + "6359": { "crate_id": 0, "kind": "constant", "path": [ @@ -819313,7 +842312,7 @@ "MAIN_SEPARATOR" ] }, - "6327": { + "6360": { "crate_id": 0, "kind": "constant", "path": [ @@ -819322,7 +842321,7 @@ "MAIN_SEPARATOR_STR" ] }, - "6332": { + "6365": { "crate_id": 0, "kind": "variant", "path": [ @@ -819332,7 +842331,7 @@ "Prefix" ] }, - "6333": { + "6366": { "crate_id": 0, "kind": "struct", "path": [ @@ -819341,7 +842340,7 @@ "PrefixComponent" ] }, - "6365": { + "6398": { "crate_id": 0, "kind": "variant", "path": [ @@ -819351,7 +842350,7 @@ "RootDir" ] }, - "6366": { + "6399": { "crate_id": 0, "kind": "variant", "path": [ @@ -819361,7 +842360,7 @@ "CurDir" ] }, - "6367": { + "6400": { "crate_id": 0, "kind": "variant", "path": [ @@ -819371,7 +842370,7 @@ "ParentDir" ] }, - "6369": { + "6402": { "crate_id": 0, "kind": "variant", "path": [ @@ -819381,15 +842380,6 @@ "Normal" ] }, - "6481": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "path", - "Ancestors" - ] - }, "65": { "crate_id": 1, "kind": "macro", @@ -819398,7 +842388,16 @@ "cfg" ] }, - "6510": { + "6514": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "path", + "Ancestors" + ] + }, + "6543": { "crate_id": 0, "kind": "module", "path": [ @@ -819432,66 +842431,57 @@ "BacktraceStatus" ] }, - "6657": { + "667": { "crate_id": 0, "kind": "struct", "path": [ "std", - "path", - "StripPrefixError" + "backtrace", + "BacktraceFrame" ] }, - "6665": { + "6696": { "crate_id": 0, "kind": "struct", "path": [ "std", "path", - "Display" + "StripPrefixError" ] }, - "6669": { - "crate_id": 0, - "kind": "function", + "67": { + "crate_id": 1, + "kind": "macro", "path": [ - "std", - "path", - "absolute" + "core", + "column" ] }, - "667": { + "6704": { "crate_id": 0, "kind": "struct", "path": [ "std", - "backtrace", - "BacktraceFrame" + "path", + "Display" ] }, - "6671": { + "6708": { "crate_id": 0, - "kind": "struct", + "kind": "function", "path": [ "std", "path", - "NormalizeError" - ] - }, - "67": { - "crate_id": 1, - "kind": "macro", - "path": [ - "core", - "column" + "absolute" ] }, - "6853": { + "6710": { "crate_id": 0, "kind": "struct", "path": [ "std", - "process", - "Output" + "path", + "NormalizeError" ] }, "687": { @@ -819524,6 +842514,15 @@ "Captured" ] }, + "6891": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "process", + "Output" + ] + }, "69": { "crate_id": 1, "kind": "macro", @@ -819532,7 +842531,7 @@ "compile_error" ] }, - "6940": { + "6978": { "crate_id": 0, "kind": "struct", "path": [ @@ -819541,7 +842540,7 @@ "CommandArgs" ] }, - "6941": { + "6979": { "crate_id": 0, "kind": "struct", "path": [ @@ -819550,7 +842549,7 @@ "CommandEnvs" ] }, - "6957": { + "6995": { "crate_id": 2, "kind": "module", "path": [ @@ -819575,7 +842574,7 @@ "concat" ] }, - "7127": { + "7165": { "crate_id": 0, "kind": "trait", "path": [ @@ -819584,7 +842583,7 @@ "Termination" ] }, - "7159": { + "7197": { "crate_id": 0, "kind": "function", "path": [ @@ -819593,7 +842592,7 @@ "id" ] }, - "7168": { + "7206": { "crate_id": 0, "kind": "struct", "path": [ @@ -819602,7 +842601,7 @@ "DefaultRandomSource" ] }, - "7193": { + "7231": { "crate_id": 1, "kind": "trait", "path": [ @@ -819611,7 +842610,7 @@ "RandomSource" ] }, - "7194": { + "7232": { "crate_id": 1, "kind": "trait", "path": [ @@ -819620,7 +842619,7 @@ "Distribution" ] }, - "7195": { + "7233": { "crate_id": 0, "kind": "function", "path": [ @@ -819629,7 +842628,7 @@ "random" ] }, - "7197": { + "7235": { "crate_id": 1, "kind": "module", "path": [ @@ -819637,7 +842636,7 @@ "random" ] }, - "7198": { + "7236": { "crate_id": 0, "kind": "module", "path": [ @@ -819645,7 +842644,7 @@ "random" ] }, - "7203": { + "7241": { "crate_id": 0, "kind": "struct", "path": [ @@ -819655,7 +842654,7 @@ "RecvError" ] }, - "7205": { + "7243": { "crate_id": 0, "kind": "enum", "path": [ @@ -819665,7 +842664,7 @@ "RecvTimeoutError" ] }, - "7207": { + "7245": { "crate_id": 0, "kind": "struct", "path": [ @@ -819675,7 +842674,7 @@ "SendError" ] }, - "7209": { + "7247": { "crate_id": 0, "kind": "enum", "path": [ @@ -819685,7 +842684,7 @@ "TryRecvError" ] }, - "7211": { + "7249": { "crate_id": 0, "kind": "enum", "path": [ @@ -819695,7 +842694,7 @@ "TrySendError" ] }, - "7213": { + "7251": { "crate_id": 0, "kind": "variant", "path": [ @@ -819707,7 +842706,7 @@ "Timeout" ] }, - "7215": { + "7253": { "crate_id": 0, "kind": "variant", "path": [ @@ -819719,7 +842718,7 @@ "Disconnected" ] }, - "7217": { + "7255": { "crate_id": 0, "kind": "enum", "path": [ @@ -819730,7 +842729,24 @@ "SendTimeoutError" ] }, - "7249": { + "726": { + "crate_id": 0, + "kind": "module", + "path": [ + "std", + "backtrace" + ] + }, + "728": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "bstr", + "ByteStr" + ] + }, + "7287": { "crate_id": 0, "kind": "module", "path": [ @@ -819739,7 +842755,7 @@ "mpmc" ] }, - "7255": { + "7293": { "crate_id": 0, "kind": "struct", "path": [ @@ -819749,7 +842765,7 @@ "Sender" ] }, - "7256": { + "7294": { "crate_id": 0, "kind": "struct", "path": [ @@ -819759,7 +842775,7 @@ "Receiver" ] }, - "7258": { + "7296": { "crate_id": 0, "kind": "function", "path": [ @@ -819769,15 +842785,7 @@ "sync_channel" ] }, - "726": { - "crate_id": 0, - "kind": "module", - "path": [ - "std", - "backtrace" - ] - }, - "7260": { + "7298": { "crate_id": 0, "kind": "function", "path": [ @@ -819787,25 +842795,6 @@ "channel" ] }, - "728": { - "crate_id": 1, - "kind": "struct", - "path": [ - "core", - "bstr", - "ByteStr" - ] - }, - "7297": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "sync", - "mpmc", - "TryIter" - ] - }, "73": { "crate_id": 1, "kind": "macro", @@ -819823,40 +842812,50 @@ "ByteString" ] }, - "7305": { + "731": { "crate_id": 0, - "kind": "struct", + "kind": "module", "path": [ "std", - "sync", - "mpmc", - "Iter" + "bstr" ] }, - "731": { + "733": { "crate_id": 0, "kind": "module", "path": [ "std", - "bstr" + "collections" ] }, - "7324": { + "7335": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", "mpmc", - "IntoIter" + "TryIter" ] }, - "733": { + "7343": { "crate_id": 0, - "kind": "module", + "kind": "struct", "path": [ "std", - "collections" + "sync", + "mpmc", + "Iter" + ] + }, + "7362": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "sync", + "mpmc", + "IntoIter" ] }, "737": { @@ -819890,7 +842889,16 @@ "RandomState" ] }, - "7400": { + "743": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "hash", + "BuildHasher" + ] + }, + "7438": { "crate_id": 0, "kind": "function", "path": [ @@ -819900,7 +842908,7 @@ "channel" ] }, - "7401": { + "7439": { "crate_id": 0, "kind": "function", "path": [ @@ -819910,7 +842918,7 @@ "sync_channel" ] }, - "7403": { + "7441": { "crate_id": 0, "kind": "struct", "path": [ @@ -819920,7 +842928,7 @@ "Receiver" ] }, - "7405": { + "7443": { "crate_id": 0, "kind": "struct", "path": [ @@ -819930,7 +842938,7 @@ "Sender" ] }, - "7406": { + "7444": { "crate_id": 0, "kind": "struct", "path": [ @@ -819940,7 +842948,7 @@ "SyncSender" ] }, - "7410": { + "7448": { "crate_id": 0, "kind": "struct", "path": [ @@ -819950,7 +842958,7 @@ "Iter" ] }, - "7412": { + "7450": { "crate_id": 0, "kind": "struct", "path": [ @@ -819960,16 +842968,18 @@ "TryIter" ] }, - "743": { - "crate_id": 1, - "kind": "trait", + "746": { + "crate_id": 0, + "kind": "struct", "path": [ - "core", + "std", + "collections", "hash", - "BuildHasher" + "map", + "Keys" ] }, - "7433": { + "7471": { "crate_id": 0, "kind": "struct", "path": [ @@ -819979,17 +842989,6 @@ "IntoIter" ] }, - "746": { - "crate_id": 0, - "kind": "struct", - "path": [ - "std", - "collections", - "hash", - "map", - "Keys" - ] - }, "748": { "crate_id": 0, "kind": "struct", @@ -820064,28 +843063,6 @@ "IterMut" ] }, - "7608": { - "crate_id": 0, - "kind": "variant", - "path": [ - "std", - "sync", - "mpsc", - "TryRecvError", - "Empty" - ] - }, - "7609": { - "crate_id": 0, - "kind": "variant", - "path": [ - "std", - "sync", - "mpsc", - "TryRecvError", - "Disconnected" - ] - }, "762": { "crate_id": 0, "kind": "struct", @@ -820097,25 +843074,25 @@ "Drain" ] }, - "7639": { + "7644": { "crate_id": 0, "kind": "variant", "path": [ "std", "sync", "mpsc", - "RecvTimeoutError", - "Timeout" + "TryRecvError", + "Empty" ] }, - "7640": { + "7645": { "crate_id": 0, "kind": "variant", "path": [ "std", "sync", "mpsc", - "RecvTimeoutError", + "TryRecvError", "Disconnected" ] }, @@ -820130,25 +843107,25 @@ "ExtractIf" ] }, - "7671": { + "7674": { "crate_id": 0, "kind": "variant", "path": [ "std", "sync", "mpsc", - "TrySendError", - "Full" + "RecvTimeoutError", + "Timeout" ] }, - "7673": { + "7675": { "crate_id": 0, "kind": "variant", "path": [ "std", "sync", "mpsc", - "TrySendError", + "RecvTimeoutError", "Disconnected" ] }, @@ -820170,64 +843147,63 @@ }, "7705": { "crate_id": 0, - "kind": "struct", + "kind": "variant", "path": [ "std", "sync", - "nonpoison", - "mutex", - "Mutex" + "mpsc", + "TrySendError", + "Full" ] }, - "7712": { + "7707": { "crate_id": 0, - "kind": "struct", + "kind": "variant", "path": [ "std", "sync", - "nonpoison", - "mutex", - "MutexGuard" + "mpsc", + "TrySendError", + "Disconnected" ] }, - "7713": { - "crate_id": 0, + "772": { + "crate_id": 2, "kind": "struct", "path": [ - "std", - "sync", - "nonpoison", - "WouldBlock" + "alloc", + "collections", + "TryReserveError" ] }, - "7715": { + "7737": { "crate_id": 0, - "kind": "type_alias", + "kind": "struct", "path": [ "std", "sync", - "nonpoison", - "TryLockResult" + "once_lock", + "OnceLock" ] }, - "772": { - "crate_id": 2, + "7739": { + "crate_id": 0, "kind": "struct", "path": [ - "alloc", - "collections", - "TryReserveError" + "std", + "sync", + "once", + "Once" ] }, - "7741": { + "7742": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "nonpoison", - "mutex", - "MappedMutexGuard" + "once", + "OnceState" ] }, "776": { @@ -820241,33 +843217,53 @@ "Entry" ] }, - "7825": { + "7780": { "crate_id": 0, - "kind": "module", + "kind": "constant", "path": [ "std", "sync", - "poison" + "once", + "ONCE_INIT" ] }, - "7826": { + "7785": { "crate_id": 0, - "kind": "module", + "kind": "struct", "path": [ "std", "sync", - "nonpoison" + "barrier", + "Barrier" ] }, - "7829": { + "7788": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "poison", - "condvar", - "WaitTimeoutResult" + "barrier", + "BarrierWaitResult" + ] + }, + "7826": { + "crate_id": 1, + "kind": "struct", + "path": [ + "core", + "cell", + "lazy", + "LazyCell" + ] + }, + "7829": { + "crate_id": 0, + "kind": "module", + "path": [ + "std", + "sync", + "poison" ] }, "785": { @@ -820281,303 +843277,375 @@ "OccupiedError" ] }, - "7861": { - "crate_id": 0, + "7866": { + "crate_id": 1, "kind": "struct", "path": [ - "std", - "sync", - "poison", - "mutex", - "MutexGuard" + "core", + "cell", + "once", + "OnceCell" ] }, - "7862": { - "crate_id": 0, - "kind": "type_alias", + "79": { + "crate_id": 1, + "kind": "macro", "path": [ - "std", - "sync", - "poison", - "LockResult" + "core", + "include" ] }, - "7891": { + "7914": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "poison", - "PoisonError" + "reentrant_lock", + "ReentrantLock" ] }, - "7898": { + "7919": { "crate_id": 0, - "kind": "variant", + "kind": "struct", "path": [ "std", "sync", - "poison", - "TryLockError", - "Poisoned" + "reentrant_lock", + "ReentrantLockGuard" ] }, - "7899": { + "7944": { "crate_id": 0, - "kind": "variant", + "kind": "struct", "path": [ "std", "sync", "poison", - "TryLockError", - "WouldBlock" + "mutex", + "MutexGuard" ] }, - "79": { - "crate_id": 1, - "kind": "macro", + "7971": { + "crate_id": 0, + "kind": "struct", "path": [ - "core", - "format_args_nl" + "std", + "sync", + "nonpoison", + "condvar", + "Condvar" ] }, - "7900": { + "7976": { "crate_id": 0, - "kind": "type_alias", + "kind": "struct", "path": [ "std", "sync", - "poison", - "TryLockResult" + "nonpoison", + "mutex", + "MutexGuard" ] }, - "7904": { - "crate_id": 1, - "kind": "function", + "7979": { + "crate_id": 0, + "kind": "struct", "path": [ - "core", - "mem", - "forget" + "std", + "sync", + "WaitTimeoutResult" ] }, - "7930": { + "8002": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "poison", + "nonpoison", "mutex", - "MappedMutexGuard" + "Mutex" ] }, - "7996": { + "8009": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "once_lock", - "OnceLock" + "nonpoison", + "WouldBlock" ] }, - "7998": { + "8011": { "crate_id": 0, - "kind": "struct", + "kind": "type_alias", "path": [ "std", "sync", - "poison", - "once", - "Once" + "nonpoison", + "TryLockResult" ] }, - "8001": { + "8038": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "poison", - "once", - "OnceState" + "nonpoison", + "mutex", + "MappedMutexGuard" ] }, - "8039": { + "81": { + "crate_id": 1, + "kind": "macro", + "path": [ + "core", + "include_bytes" + ] + }, + "8103": { "crate_id": 0, - "kind": "constant", + "kind": "struct", "path": [ "std", "sync", "poison", - "once", - "ONCE_INIT" + "rwlock", + "RwLock" ] }, - "8044": { + "8104": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "poison", + "nonpoison", "rwlock", "RwLock" ] }, - "8051": { + "8111": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "poison", + "nonpoison", "rwlock", "RwLockReadGuard" ] }, - "8054": { + "8114": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "poison", + "nonpoison", "rwlock", "RwLockWriteGuard" ] }, - "8084": { + "8117": { + "crate_id": 1, + "kind": "function", + "path": [ + "core", + "mem", + "forget" + ] + }, + "8145": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "poison", + "nonpoison", "rwlock", "MappedRwLockReadGuard" ] }, - "81": { + "816": { "crate_id": 1, - "kind": "macro", + "kind": "trait", "path": [ "core", - "include" + "ops", + "index", + "Index" ] }, - "8114": { + "8175": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "poison", + "nonpoison", "rwlock", "MappedRwLockWriteGuard" ] }, - "816": { + "829": { + "crate_id": 0, + "kind": "struct", + "path": [ + "std", + "collections", + "hash", + "map", + "IntoIter" + ] + }, + "8294": { + "crate_id": 0, + "kind": "module", + "path": [ + "std", + "sync", + "nonpoison" + ] + }, + "83": { "crate_id": 1, - "kind": "trait", + "kind": "macro", "path": [ "core", - "ops", - "index", - "Index" + "include_str" ] }, - "8248": { + "8300": { "crate_id": 0, - "kind": "enum", + "kind": "type_alias", "path": [ "std", "sync", "poison", - "TryLockError" + "LockResult" ] }, - "8275": { + "8330": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "barrier", - "Barrier" + "poison", + "PoisonError" ] }, - "8278": { + "8336": { + "crate_id": 0, + "kind": "variant", + "path": [ + "std", + "sync", + "poison", + "TryLockError", + "Poisoned" + ] + }, + "8337": { + "crate_id": 0, + "kind": "variant", + "path": [ + "std", + "sync", + "poison", + "TryLockError", + "WouldBlock" + ] + }, + "8338": { + "crate_id": 0, + "kind": "type_alias", + "path": [ + "std", + "sync", + "poison", + "TryLockResult" + ] + }, + "8367": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "barrier", - "BarrierWaitResult" + "poison", + "mutex", + "MappedMutexGuard" ] }, - "829": { + "8441": { "crate_id": 0, "kind": "struct", "path": [ "std", - "collections", - "hash", - "map", - "IntoIter" + "sync", + "poison", + "rwlock", + "RwLockReadGuard" ] }, - "83": { - "crate_id": 1, - "kind": "macro", + "8444": { + "crate_id": 0, + "kind": "struct", "path": [ - "core", - "include_bytes" + "std", + "sync", + "poison", + "rwlock", + "RwLockWriteGuard" ] }, - "8316": { - "crate_id": 1, + "8474": { + "crate_id": 0, "kind": "struct", "path": [ - "core", - "cell", - "lazy", - "LazyCell" + "std", + "sync", + "poison", + "rwlock", + "MappedRwLockReadGuard" ] }, - "8354": { + "85": { "crate_id": 1, - "kind": "struct", + "kind": "macro", "path": [ "core", - "cell", - "once", - "OnceCell" + "line" ] }, - "8402": { + "8505": { "crate_id": 0, "kind": "struct", "path": [ "std", "sync", - "reentrant_lock", - "ReentrantLock" + "poison", + "rwlock", + "MappedRwLockWriteGuard" ] }, - "8407": { + "8633": { "crate_id": 0, - "kind": "struct", + "kind": "enum", "path": [ "std", "sync", - "reentrant_lock", - "ReentrantLockGuard" + "poison", + "TryLockError" ] }, - "8458": { + "8657": { "crate_id": 1, "kind": "struct", "path": [ @@ -820587,7 +843655,7 @@ "Exclusive" ] }, - "8461": { + "8660": { "crate_id": 2, "kind": "struct", "path": [ @@ -820596,7 +843664,7 @@ "UniqueArc" ] }, - "8464": { + "8663": { "crate_id": 2, "kind": "struct", "path": [ @@ -820605,7 +843673,15 @@ "Weak" ] }, - "8488": { + "87": { + "crate_id": 1, + "kind": "macro", + "path": [ + "core", + "log_syntax" + ] + }, + "8713": { "crate_id": 1, "kind": "function", "path": [ @@ -820615,7 +843691,7 @@ "compiler_fence" ] }, - "8489": { + "8714": { "crate_id": 1, "kind": "function", "path": [ @@ -820625,7 +843701,7 @@ "fence" ] }, - "8490": { + "8715": { "crate_id": 0, "kind": "module", "path": [ @@ -820633,7 +843709,7 @@ "sync" ] }, - "8493": { + "8718": { "crate_id": 1, "kind": "struct", "path": [ @@ -820642,15 +843718,7 @@ "TryFromFloatSecsError" ] }, - "85": { - "crate_id": 1, - "kind": "macro", - "path": [ - "core", - "include_str" - ] - }, - "8535": { + "8760": { "crate_id": 1, "kind": "trait", "path": [ @@ -820660,7 +843728,7 @@ "Add" ] }, - "8538": { + "8763": { "crate_id": 1, "kind": "trait", "path": [ @@ -820670,7 +843738,7 @@ "AddAssign" ] }, - "8543": { + "8768": { "crate_id": 1, "kind": "trait", "path": [ @@ -820680,7 +843748,7 @@ "SubAssign" ] }, - "8554": { + "8779": { "crate_id": 0, "kind": "struct", "path": [ @@ -820689,7 +843757,18 @@ "SystemTimeError" ] }, - "8625": { + "878": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "iter", + "traits", + "marker", + "FusedIterator" + ] + }, + "8849": { "crate_id": 0, "kind": "constant", "path": [ @@ -820698,7 +843777,7 @@ "UNIX_EPOCH" ] }, - "8626": { + "8850": { "crate_id": 0, "kind": "module", "path": [ @@ -820706,7 +843785,7 @@ "time" ] }, - "8642": { + "8866": { "crate_id": 1, "kind": "struct", "path": [ @@ -820716,7 +843795,7 @@ "Simd" ] }, - "8643": { + "8867": { "crate_id": 0, "kind": "trait", "path": [ @@ -820725,7 +843804,7 @@ "StdFloat" ] }, - "8653": { + "8877": { "crate_id": 1, "kind": "struct", "path": [ @@ -820735,7 +843814,7 @@ "LaneCount" ] }, - "8654": { + "8878": { "crate_id": 1, "kind": "trait", "path": [ @@ -820745,7 +843824,7 @@ "SupportedLaneCount" ] }, - "8667": { + "8891": { "crate_id": 1, "kind": "module", "path": [ @@ -820753,7 +843832,7 @@ "simd" ] }, - "8671": { + "8895": { "crate_id": 0, "kind": "module", "path": [ @@ -820761,7 +843840,7 @@ "simd" ] }, - "8673": { + "8897": { "crate_id": 1, "kind": "proc_attribute", "path": [ @@ -820771,7 +843850,7 @@ "autodiff_forward" ] }, - "8675": { + "8899": { "crate_id": 1, "kind": "proc_attribute", "path": [ @@ -820781,7 +843860,15 @@ "autodiff_reverse" ] }, - "8676": { + "89": { + "crate_id": 1, + "kind": "macro", + "path": [ + "core", + "module_path" + ] + }, + "8900": { "crate_id": 0, "kind": "module", "path": [ @@ -820789,7 +843876,7 @@ "autodiff" ] }, - "8678": { + "8902": { "crate_id": 2, "kind": "module", "path": [ @@ -820797,7 +843884,7 @@ "task" ] }, - "8680": { + "8904": { "crate_id": 1, "kind": "module", "path": [ @@ -820805,7 +843892,7 @@ "task" ] }, - "8681": { + "8905": { "crate_id": 0, "kind": "module", "path": [ @@ -820813,7 +843900,7 @@ "task" ] }, - "8683": { + "8907": { "crate_id": 9, "kind": "macro", "path": [ @@ -820821,7 +843908,7 @@ "is_aarch64_feature_detected" ] }, - "8685": { + "8909": { "crate_id": 9, "kind": "macro", "path": [ @@ -820829,7 +843916,7 @@ "is_arm_feature_detected" ] }, - "8687": { + "8911": { "crate_id": 9, "kind": "macro", "path": [ @@ -820837,7 +843924,7 @@ "is_loongarch_feature_detected" ] }, - "8689": { + "8913": { "crate_id": 9, "kind": "macro", "path": [ @@ -820845,7 +843932,7 @@ "is_riscv_feature_detected" ] }, - "8691": { + "8915": { "crate_id": 9, "kind": "macro", "path": [ @@ -820853,7 +843940,7 @@ "is_s390x_feature_detected" ] }, - "8693": { + "8917": { "crate_id": 9, "kind": "macro", "path": [ @@ -820861,7 +843948,7 @@ "is_x86_feature_detected" ] }, - "8695": { + "8919": { "crate_id": 9, "kind": "macro", "path": [ @@ -820869,7 +843956,7 @@ "is_mips_feature_detected" ] }, - "8697": { + "8921": { "crate_id": 9, "kind": "macro", "path": [ @@ -820877,7 +843964,7 @@ "is_mips64_feature_detected" ] }, - "8699": { + "8923": { "crate_id": 9, "kind": "macro", "path": [ @@ -820885,15 +843972,7 @@ "is_powerpc_feature_detected" ] }, - "87": { - "crate_id": 1, - "kind": "macro", - "path": [ - "core", - "line" - ] - }, - "8701": { + "8925": { "crate_id": 9, "kind": "macro", "path": [ @@ -820901,7 +843980,7 @@ "is_powerpc64_feature_detected" ] }, - "8703": { + "8927": { "crate_id": 1, "kind": "module", "path": [ @@ -820909,7 +843988,7 @@ "arch" ] }, - "8704": { + "8928": { "crate_id": 0, "kind": "module", "path": [ @@ -820917,7 +843996,7 @@ "arch" ] }, - "8726": { + "8951": { "crate_id": 4, "kind": "function", "path": [ @@ -820926,7 +844005,7 @@ "signal" ] }, - "8762": { + "8987": { "crate_id": 0, "kind": "struct", "path": [ @@ -820937,18 +844016,17 @@ "FileDesc" ] }, - "878": { + "9": { "crate_id": 1, "kind": "trait", "path": [ "core", - "iter", - "traits", - "marker", - "FusedIterator" + "ops", + "drop", + "Drop" ] }, - "8840": { + "9071": { "crate_id": 4, "kind": "function", "path": [ @@ -820957,7 +844035,7 @@ "sigemptyset" ] }, - "8842": { + "9073": { "crate_id": 4, "kind": "function", "path": [ @@ -820966,25 +844044,15 @@ "sigaddset" ] }, - "89": { + "91": { "crate_id": 1, "kind": "macro", "path": [ "core", - "log_syntax" - ] - }, - "9": { - "crate_id": 1, - "kind": "trait", - "path": [ - "core", - "ops", - "drop", - "Drop" + "option_env" ] }, - "9039": { + "9261": { "crate_id": 1, "kind": "trait", "path": [ @@ -820994,7 +844062,7 @@ "GlobalAlloc" ] }, - "9040": { + "9262": { "crate_id": 0, "kind": "struct", "path": [ @@ -821003,7 +844071,7 @@ "System" ] }, - "9057": { + "9279": { "crate_id": 1, "kind": "struct", "path": [ @@ -821013,7 +844081,7 @@ "Layout" ] }, - "9070": { + "9292": { "crate_id": 1, "kind": "struct", "path": [ @@ -821023,7 +844091,7 @@ "NonNull" ] }, - "9071": { + "9293": { "crate_id": 1, "kind": "struct", "path": [ @@ -821032,7 +844100,15 @@ "AllocError" ] }, - "9078": { + "93": { + "crate_id": 1, + "kind": "macro", + "path": [ + "core", + "stringify" + ] + }, + "9300": { "crate_id": 2, "kind": "function", "path": [ @@ -821041,7 +844117,7 @@ "handle_alloc_error" ] }, - "9079": { + "9301": { "crate_id": 0, "kind": "function", "path": [ @@ -821050,7 +844126,7 @@ "take_alloc_error_hook" ] }, - "9080": { + "9302": { "crate_id": 0, "kind": "function", "path": [ @@ -821059,7 +844135,7 @@ "set_alloc_error_hook" ] }, - "9082": { + "9304": { "crate_id": 2, "kind": "module", "path": [ @@ -821067,7 +844143,7 @@ "alloc" ] }, - "9083": { + "9305": { "crate_id": 0, "kind": "module", "path": [ @@ -821075,15 +844151,7 @@ "alloc" ] }, - "91": { - "crate_id": 1, - "kind": "macro", - "path": [ - "core", - "module_path" - ] - }, - "9102": { + "9324": { "crate_id": 0, "kind": "function", "path": [ @@ -821092,7 +844160,7 @@ "begin_panic" ] }, - "9135": { + "9357": { "crate_id": 1, "kind": "proc_derive", "path": [ @@ -821102,7 +844170,7 @@ "From" ] }, - "9136": { + "9358": { "crate_id": 0, "kind": "module", "path": [ @@ -821110,7 +844178,7 @@ "from" ] }, - "9137": { + "9359": { "crate_id": 1, "kind": "trait", "path": [ @@ -821120,7 +844188,7 @@ "Not" ] }, - "9140": { + "9362": { "crate_id": 0, "kind": "primitive", "path": [ @@ -821128,7 +844196,7 @@ "unit" ] }, - "9144": { + "9366": { "crate_id": 1, "kind": "module", "path": [ @@ -821136,7 +844204,7 @@ "ptr" ] }, - "9145": { + "9367": { "crate_id": 1, "kind": "function", "path": [ @@ -821145,7 +844213,7 @@ "null" ] }, - "9147": { + "9369": { "crate_id": 1, "kind": "function", "path": [ @@ -821154,7 +844222,7 @@ "write" ] }, - "9148": { + "9370": { "crate_id": 1, "kind": "function", "path": [ @@ -821163,7 +844231,7 @@ "null_mut" ] }, - "9151": { + "9373": { "crate_id": 0, "kind": "primitive", "path": [ @@ -821171,7 +844239,7 @@ "tuple" ] }, - "9152": { + "9374": { "crate_id": 1, "kind": "function", "path": [ @@ -821180,7 +844248,7 @@ "replace" ] }, - "9161": { + "9383": { "crate_id": 2, "kind": "module", "path": [ @@ -821188,7 +844256,7 @@ "str" ] }, - "9182": { + "9404": { "crate_id": 0, "kind": "primitive", "path": [ @@ -821196,7 +844264,7 @@ "bool" ] }, - "9183": { + "9405": { "crate_id": 1, "kind": "function", "path": [ @@ -821205,7 +844273,7 @@ "eq" ] }, - "9184": { + "9406": { "crate_id": 1, "kind": "trait", "path": [ @@ -821214,7 +844282,7 @@ "Pointer" ] }, - "9185": { + "9407": { "crate_id": 1, "kind": "trait", "path": [ @@ -821225,7 +844293,7 @@ "TrustedLen" ] }, - "9187": { + "9409": { "crate_id": 1, "kind": "function", "path": [ @@ -821234,7 +844302,7 @@ "transmute_copy" ] }, - "9188": { + "9410": { "crate_id": 1, "kind": "function", "path": [ @@ -821243,7 +844311,7 @@ "transmute" ] }, - "9197": { + "9419": { "crate_id": 0, "kind": "primitive", "path": [ @@ -821251,7 +844319,7 @@ "never" ] }, - "9218": { + "9441": { "crate_id": 1, "kind": "struct", "path": [ @@ -821260,7 +844328,7 @@ "PhantomData" ] }, - "9236": { + "9459": { "crate_id": 1, "kind": "module", "path": [ @@ -821268,7 +844336,7 @@ "any" ] }, - "9238": { + "9461": { "crate_id": 1, "kind": "module", "path": [ @@ -821276,7 +844344,7 @@ "array" ] }, - "9240": { + "9463": { "crate_id": 1, "kind": "module", "path": [ @@ -821284,7 +844352,7 @@ "async_iter" ] }, - "9243": { + "9466": { "crate_id": 1, "kind": "module", "path": [ @@ -821292,7 +844360,7 @@ "char" ] }, - "9250": { + "9473": { "crate_id": 1, "kind": "module", "path": [ @@ -821300,47 +844368,52 @@ "hint" ] }, - "9252": { + "9475": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "i8" ] }, - "9254": { + "9477": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "i16" ] }, - "9256": { + "9479": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "i32" ] }, - "9258": { + "9481": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "i64" ] }, - "9260": { + "9483": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "i128" ] }, - "9262": { + "9485": { "crate_id": 1, "kind": "module", "path": [ @@ -821348,15 +844421,16 @@ "intrinsics" ] }, - "9264": { + "9487": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "isize" ] }, - "9271": { + "9494": { "crate_id": 1, "kind": "module", "path": [ @@ -821364,7 +844438,7 @@ "pin" ] }, - "9274": { + "9497": { "crate_id": 1, "kind": "module", "path": [ @@ -821372,47 +844446,60 @@ "range" ] }, - "9277": { + "95": { + "crate_id": 1, + "kind": "macro", + "path": [ + "core", + "trace_macros" + ] + }, + "9500": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "u8" ] }, - "9279": { + "9502": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "u16" ] }, - "9281": { + "9504": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "u32" ] }, - "9283": { + "9506": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "u64" ] }, - "9285": { + "9508": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "u128" ] }, - "9287": { + "9510": { "crate_id": 1, "kind": "module", "path": [ @@ -821420,15 +844507,16 @@ "unsafe_binder" ] }, - "9289": { + "9512": { "crate_id": 1, "kind": "module", "path": [ "core", + "legacy_int_modules", "usize" ] }, - "9295": { + "9518": { "crate_id": 2, "kind": "module", "path": [ @@ -821436,15 +844524,7 @@ "rc" ] }, - "93": { - "crate_id": 1, - "kind": "macro", - "path": [ - "core", - "option_env" - ] - }, - "9301": { + "9524": { "crate_id": 2, "kind": "macro", "path": [ @@ -821452,7 +844532,7 @@ "vec" ] }, - "9304": { + "9527": { "crate_id": 1, "kind": "macro", "path": [ @@ -821461,7 +844541,7 @@ "cfg_select" ] }, - "9307": { + "9530": { "crate_id": 1, "kind": "macro", "path": [ @@ -821469,7 +844549,7 @@ "matches" ] }, - "9309": { + "9532": { "crate_id": 1, "kind": "module", "path": [ @@ -821477,7 +844557,7 @@ "primitive" ] }, - "9311": { + "9534": { "crate_id": 1, "kind": "macro", "path": [ @@ -821485,7 +844565,7 @@ "todo" ] }, - "9314": { + "9537": { "crate_id": 1, "kind": "module", "path": [ @@ -821493,7 +844573,7 @@ "assert_matches" ] }, - "9320": { + "9543": { "crate_id": 1, "kind": "macro", "path": [ @@ -821501,7 +844581,7 @@ "const_format_args" ] }, - "9335": { + "9557": { "crate_id": 1, "kind": "macro", "path": [ @@ -821509,7 +844589,7 @@ "assert_eq" ] }, - "9337": { + "9559": { "crate_id": 1, "kind": "macro", "path": [ @@ -821517,7 +844597,7 @@ "assert_ne" ] }, - "9339": { + "9561": { "crate_id": 1, "kind": "macro", "path": [ @@ -821525,7 +844605,7 @@ "debug_assert" ] }, - "9341": { + "9563": { "crate_id": 1, "kind": "macro", "path": [ @@ -821533,7 +844613,7 @@ "debug_assert_eq" ] }, - "9343": { + "9565": { "crate_id": 1, "kind": "macro", "path": [ @@ -821541,7 +844621,7 @@ "debug_assert_ne" ] }, - "9345": { + "9567": { "crate_id": 1, "kind": "macro", "path": [ @@ -821549,7 +844629,7 @@ "try" ] }, - "9347": { + "9569": { "crate_id": 1, "kind": "macro", "path": [ @@ -821557,7 +844637,7 @@ "unimplemented" ] }, - "9349": { + "9571": { "crate_id": 1, "kind": "macro", "path": [ @@ -821565,7 +844645,7 @@ "unreachable" ] }, - "9352": { + "9574": { "crate_id": 1, "kind": "macro", "path": [ @@ -821573,7 +844653,7 @@ "writeln" ] }, - "9354": { + "9576": { "crate_id": 0, "kind": "macro", "path": [ @@ -821581,7 +844661,7 @@ "eprint" ] }, - "9355": { + "9577": { "crate_id": 0, "kind": "macro", "path": [ @@ -821589,7 +844669,7 @@ "print" ] }, - "9356": { + "9578": { "crate_id": 0, "kind": "macro", "path": [ @@ -821597,7 +844677,7 @@ "eprintln" ] }, - "9357": { + "9579": { "crate_id": 0, "kind": "macro", "path": [ @@ -821605,15 +844685,7 @@ "dbg" ] }, - "9358": { - "crate_id": 0, - "kind": "macro", - "path": [ - "std", - "hash_map" - ] - }, - "9359": { + "9580": { "crate_id": 1, "kind": "function", "path": [ @@ -821622,7 +844694,7 @@ "needs_drop" ] }, - "9390": { + "9611": { "crate_id": 1, "kind": "struct", "path": [ @@ -821632,7 +844704,7 @@ "DecodeUtf16" ] }, - "9397": { + "9618": { "crate_id": 1, "kind": "struct", "path": [ @@ -821641,7 +844713,7 @@ "EscapeUnicode" ] }, - "9399": { + "9620": { "crate_id": 1, "kind": "struct", "path": [ @@ -821650,7 +844722,7 @@ "EscapeDebug" ] }, - "9401": { + "9622": { "crate_id": 1, "kind": "struct", "path": [ @@ -821659,7 +844731,7 @@ "EscapeDefault" ] }, - "9412": { + "9633": { "crate_id": 1, "kind": "struct", "path": [ @@ -821668,7 +844740,7 @@ "ToLowercase" ] }, - "9414": { + "9635": { "crate_id": 1, "kind": "struct", "path": [ @@ -821677,7 +844749,7 @@ "ToUppercase" ] }, - "9450": { + "9671": { "crate_id": 0, "kind": "primitive", "path": [ @@ -821685,7 +844757,7 @@ "array" ] }, - "9452": { + "9673": { "crate_id": 1, "kind": "function", "path": [ @@ -821695,7 +844767,7 @@ "from_utf8_unchecked" ] }, - "9455": { + "9676": { "crate_id": 1, "kind": "function", "path": [ @@ -821705,7 +844777,7 @@ "from_utf8" ] }, - "9465": { + "9686": { "crate_id": 1, "kind": "trait", "path": [ @@ -821715,7 +844787,7 @@ "SliceIndex" ] }, - "9476": { + "9697": { "crate_id": 1, "kind": "struct", "path": [ @@ -821725,7 +844797,7 @@ "Chars" ] }, - "9478": { + "9699": { "crate_id": 1, "kind": "struct", "path": [ @@ -821735,7 +844807,16 @@ "CharIndices" ] }, - "9480": { + "97": { + "crate_id": 1, + "kind": "trait", + "path": [ + "core", + "clone", + "Clone" + ] + }, + "9701": { "crate_id": 1, "kind": "struct", "path": [ @@ -821745,7 +844826,7 @@ "Bytes" ] }, - "9483": { + "9704": { "crate_id": 1, "kind": "struct", "path": [ @@ -821755,7 +844836,7 @@ "SplitWhitespace" ] }, - "9484": { + "9705": { "crate_id": 1, "kind": "struct", "path": [ @@ -821765,7 +844846,7 @@ "SplitAsciiWhitespace" ] }, - "9486": { + "9707": { "crate_id": 1, "kind": "struct", "path": [ @@ -821775,7 +844856,7 @@ "Lines" ] }, - "9488": { + "9709": { "crate_id": 1, "kind": "struct", "path": [ @@ -821785,7 +844866,7 @@ "LinesAny" ] }, - "9490": { + "9711": { "crate_id": 1, "kind": "struct", "path": [ @@ -821795,7 +844876,7 @@ "EncodeUtf16" ] }, - "9491": { + "9712": { "crate_id": 1, "kind": "module", "path": [ @@ -821804,7 +844885,7 @@ "pattern" ] }, - "9493": { + "9714": { "crate_id": 1, "kind": "trait", "path": [ @@ -821814,7 +844895,7 @@ "Pattern" ] }, - "9496": { + "9717": { "crate_id": 1, "kind": "trait", "path": [ @@ -821824,15 +844905,7 @@ "ReverseSearcher" ] }, - "95": { - "crate_id": 1, - "kind": "macro", - "path": [ - "core", - "stringify" - ] - }, - "9501": { + "9722": { "crate_id": 1, "kind": "struct", "path": [ @@ -821842,7 +844915,7 @@ "Split" ] }, - "9503": { + "9724": { "crate_id": 1, "kind": "struct", "path": [ @@ -821852,7 +844925,7 @@ "SplitInclusive" ] }, - "9504": { + "9725": { "crate_id": 1, "kind": "struct", "path": [ @@ -821862,7 +844935,7 @@ "RSplit" ] }, - "9507": { + "9728": { "crate_id": 1, "kind": "struct", "path": [ @@ -821872,7 +844945,7 @@ "SplitTerminator" ] }, - "9508": { + "9729": { "crate_id": 1, "kind": "struct", "path": [ @@ -821882,7 +844955,7 @@ "RSplitTerminator" ] }, - "9511": { + "9732": { "crate_id": 1, "kind": "struct", "path": [ @@ -821892,7 +844965,7 @@ "SplitN" ] }, - "9512": { + "9733": { "crate_id": 1, "kind": "struct", "path": [ @@ -821902,7 +844975,7 @@ "RSplitN" ] }, - "9517": { + "9738": { "crate_id": 1, "kind": "struct", "path": [ @@ -821912,7 +844985,7 @@ "Matches" ] }, - "9518": { + "9739": { "crate_id": 1, "kind": "struct", "path": [ @@ -821922,7 +844995,7 @@ "RMatches" ] }, - "9521": { + "9742": { "crate_id": 1, "kind": "struct", "path": [ @@ -821932,7 +845005,7 @@ "MatchIndices" ] }, - "9522": { + "9743": { "crate_id": 1, "kind": "struct", "path": [ @@ -821942,7 +845015,7 @@ "RMatchIndices" ] }, - "9529": { + "9750": { "crate_id": 1, "kind": "trait", "path": [ @@ -821952,7 +845025,7 @@ "DoubleEndedSearcher" ] }, - "9551": { + "9772": { "crate_id": 1, "kind": "struct", "path": [ @@ -821962,7 +845035,7 @@ "EscapeDebug" ] }, - "9553": { + "9774": { "crate_id": 1, "kind": "struct", "path": [ @@ -821972,7 +845045,7 @@ "EscapeDefault" ] }, - "9555": { + "9776": { "crate_id": 1, "kind": "struct", "path": [ @@ -821982,7 +845055,7 @@ "EscapeUnicode" ] }, - "9557": { + "9778": { "crate_id": 1, "kind": "struct", "path": [ @@ -821992,7 +845065,7 @@ "Range" ] }, - "9645": { + "9866": { "crate_id": 1, "kind": "trait", "path": [ @@ -822002,17 +845075,9 @@ "FloatToInt" ] }, - "97": { - "crate_id": 1, - "kind": "macro", - "path": [ - "core", - "trace_macros" - ] - }, "99": { "crate_id": 1, - "kind": "trait", + "kind": "proc_derive", "path": [ "core", "clone", @@ -822020,7 +845085,7 @@ ] } }, - "root": 11774, + "root": 12054, "target": { "target_features": [ { diff --git a/elaborate/Cargo.toml b/elaborate/Cargo.toml index 0a85155..67ad84c 100644 --- a/elaborate/Cargo.toml +++ b/elaborate/Cargo.toml @@ -14,7 +14,7 @@ anyhow = "1.0" [dev-dependencies] assert_cmd = "2.2" -ctor = "0.11" +ctor = "1.0" walkdir = "2.5" regex = "1.12" tempfile = "3.27" @@ -27,6 +27,8 @@ bufread_skip_until = [] core_io_borrowed_buf = [] exit_status_error = [] file_buffered = [] +fs_set_times = [] +gethostname = [] junction_point = [] linux_pidfd = [] normalize_lexically = [] @@ -35,6 +37,7 @@ path_file_prefix = [] peer_credentials_unix_socket = [] raw_os_error_ty = [] read_buf = [] +read_buf_at = [] seek_stream_len = [] set_permissions_nofollow = [] tcp_deferaccept = [] diff --git a/elaborate/clippy_conf/clippy.toml b/elaborate/clippy_conf/clippy.toml index 8011060..b8f65f9 100644 --- a/elaborate/clippy_conf/clippy.toml +++ b/elaborate/clippy_conf/clippy.toml @@ -26,6 +26,8 @@ disallowed-methods = [ { path = "std::fs::rename", replacement = "elaborate::std::fs::rename_wc", allow-invalid = true }, { path = "std::fs::set_permissions", replacement = "elaborate::std::fs::set_permissions_wc", allow-invalid = true }, { path = "std::fs::set_permissions_nofollow", replacement = "elaborate::std::fs::set_permissions_nofollow_wc", allow-invalid = true }, + { path = "std::fs::set_times", replacement = "elaborate::std::fs::set_times_wc", allow-invalid = true }, + { path = "std::fs::set_times_nofollow", replacement = "elaborate::std::fs::set_times_nofollow_wc", allow-invalid = true }, { path = "std::fs::soft_link", replacement = "elaborate::std::fs::soft_link_wc", allow-invalid = true }, { path = "std::fs::symlink_metadata", replacement = "elaborate::std::fs::symlink_metadata_wc", allow-invalid = true }, { path = "std::fs::write", replacement = "elaborate::std::fs::write_wc", allow-invalid = true }, @@ -86,6 +88,7 @@ disallowed-methods = [ { path = "std::io::Write::write_all", replacement = "elaborate::std::io::WriteContext::write_all_wc", allow-invalid = true }, { path = "std::io::Write::write_all_vectored", replacement = "elaborate::std::io::WriteContext::write_all_vectored_wc", allow-invalid = true }, { path = "std::io::Write::write_vectored", replacement = "elaborate::std::io::WriteContext::write_vectored_wc", allow-invalid = true }, + { path = "std::net::hostname", replacement = "elaborate::std::net::hostname_wc", allow-invalid = true }, { path = "std::net::TcpListener::accept", replacement = "elaborate::std::net::TcpListenerContext::accept_wc", allow-invalid = true }, { path = "std::net::TcpListener::bind", replacement = "elaborate::std::net::TcpListenerContext::bind_wc", allow-invalid = true }, { path = "std::net::TcpListener::local_addr", replacement = "elaborate::std::net::TcpListenerContext::local_addr_wc", allow-invalid = true }, @@ -168,6 +171,8 @@ disallowed-methods = [ { path = "std::os::unix::fs::mkfifo", replacement = "elaborate::std::os::unix::fs::mkfifo_wc", allow-invalid = true }, { path = "std::os::unix::fs::symlink", replacement = "elaborate::std::os::unix::fs::symlink_wc", allow-invalid = true }, { path = "std::os::unix::fs::FileExt::read_at", replacement = "elaborate::std::os::unix::fs::FileExtContext::read_at_wc", allow-invalid = true }, + { path = "std::os::unix::fs::FileExt::read_buf_at", replacement = "elaborate::std::os::unix::fs::FileExtContext::read_buf_at_wc", allow-invalid = true }, + { path = "std::os::unix::fs::FileExt::read_buf_exact_at", replacement = "elaborate::std::os::unix::fs::FileExtContext::read_buf_exact_at_wc", allow-invalid = true }, { path = "std::os::unix::fs::FileExt::read_exact_at", replacement = "elaborate::std::os::unix::fs::FileExtContext::read_exact_at_wc", allow-invalid = true }, { path = "std::os::unix::fs::FileExt::read_vectored_at", replacement = "elaborate::std::os::unix::fs::FileExtContext::read_vectored_at_wc", allow-invalid = true }, { path = "std::os::unix::fs::FileExt::write_all_at", replacement = "elaborate::std::os::unix::fs::FileExtContext::write_all_at_wc", allow-invalid = true }, @@ -253,6 +258,7 @@ disallowed-methods = [ { path = "std::os::windows::fs::symlink_dir", replacement = "elaborate::std::os::windows::fs::symlink_dir_wc", allow-invalid = true }, { path = "std::os::windows::fs::symlink_file", replacement = "elaborate::std::os::windows::fs::symlink_file_wc", allow-invalid = true }, { path = "std::os::windows::fs::FileExt::seek_read", replacement = "elaborate::std::os::windows::fs::FileExtContext::seek_read_wc", allow-invalid = true }, + { path = "std::os::windows::fs::FileExt::seek_read_buf", replacement = "elaborate::std::os::windows::fs::FileExtContext::seek_read_buf_wc", allow-invalid = true }, { path = "std::os::windows::fs::FileExt::seek_write", replacement = "elaborate::std::os::windows::fs::FileExtContext::seek_write_wc", allow-invalid = true }, { path = "std::os::windows::fs::MetadataExt::change_time", replacement = "elaborate::std::os::windows::fs::MetadataExtContext::change_time_wc", allow-invalid = true }, { path = "std::os::windows::fs::MetadataExt::file_index", replacement = "elaborate::std::os::windows::fs::MetadataExtContext::file_index_wc", allow-invalid = true }, diff --git a/elaborate/src/generated/std/fs/mod.rs b/elaborate/src/generated/std/fs/mod.rs index 69cb48a..8df583a 100644 --- a/elaborate/src/generated/std/fs/mod.rs +++ b/elaborate/src/generated/std/fs/mod.rs @@ -939,7 +939,8 @@ pub trait OpenOptionsContext { /// * [`AlreadyExists`]: `create_new` was specified and the file already /// exists. /// * [`InvalidInput`]: Invalid combinations of open options (truncate -/// without write access, no access mode set, etc.). +/// without write access, create without write or append access, +/// no access mode set, etc.). /// /// The following errors don't match any existing [`io::ErrorKind`] at the moment: /// * One of the directory components of the specified file path @@ -1022,6 +1023,83 @@ pub fn set_permissions_wc < P : core :: convert :: AsRef < std :: path :: Path > std :: fs :: set_permissions(path, perm.clone()) .with_context(|| crate::call_failed!(None::<()>, "std::fs::set_permissions", path, perm)) } +/// Changes the timestamps of the file or directory at the specified path. +/// +/// This function will attempt to set the access and modification times +/// to the times specified. If the path refers to a symbolic link, this function +/// will follow the link and change the timestamps of the target file. +/// +/// # Platform-specific behavior +/// +/// This function currently corresponds to the `utimensat` function on Unix platforms, the +/// `setattrlist` function on Apple platforms, and the `SetFileTime` function on Windows. +/// +/// # Errors +/// +/// This function will return an error if the user lacks permission to change timestamps on the +/// target file or symlink. It may also return an error if the OS does not support it. +/// +/// # Examples +/// +/// ```no_run +/// #![feature(fs_set_times)] +/// use std::fs::{self, FileTimes}; +/// use std::time::SystemTime; +/// +/// fn main() -> std::io::Result<()> { +/// let now = SystemTime::now(); +/// let times = FileTimes::new() +/// .set_accessed(now) +/// .set_modified(now); +/// fs::set_times("foo.txt", times)?; +/// Ok(()) +/// } +/// ``` +#[cfg(feature = "fs_set_times")] +pub fn set_times_wc < P : core :: convert :: AsRef < std :: path :: Path > > ( path : P , times : std :: fs :: FileTimes ) -> crate :: rewrite_output_type ! ( std :: io :: Result < ( ) > ) { + let path = path.as_ref(); + std :: fs :: set_times(path, times) + .with_context(|| crate::call_failed!(None::<()>, "std::fs::set_times", path, times)) +} +/// Changes the timestamps of the file or symlink at the specified path. +/// +/// This function will attempt to set the access and modification times +/// to the times specified. Differ from `set_times`, if the path refers to a symbolic link, +/// this function will change the timestamps of the symlink itself, not the target file. +/// +/// # Platform-specific behavior +/// +/// This function currently corresponds to the `utimensat` function with `AT_SYMLINK_NOFOLLOW` on +/// Unix platforms, the `setattrlist` function with `FSOPT_NOFOLLOW` on Apple platforms, and the +/// `SetFileTime` function on Windows. +/// +/// # Errors +/// +/// This function will return an error if the user lacks permission to change timestamps on the +/// target file or symlink. It may also return an error if the OS does not support it. +/// +/// # Examples +/// +/// ```no_run +/// #![feature(fs_set_times)] +/// use std::fs::{self, FileTimes}; +/// use std::time::SystemTime; +/// +/// fn main() -> std::io::Result<()> { +/// let now = SystemTime::now(); +/// let times = FileTimes::new() +/// .set_accessed(now) +/// .set_modified(now); +/// fs::set_times_nofollow("symlink.txt", times)?; +/// Ok(()) +/// } +/// ``` +#[cfg(feature = "fs_set_times")] +pub fn set_times_nofollow_wc < P : core :: convert :: AsRef < std :: path :: Path > > ( path : P , times : std :: fs :: FileTimes ) -> crate :: rewrite_output_type ! ( std :: io :: Result < ( ) > ) { + let path = path.as_ref(); + std :: fs :: set_times_nofollow(path, times) + .with_context(|| crate::call_failed!(None::<()>, "std::fs::set_times_nofollow", path, times)) +} /// Copies the contents of one file to another. This function will also /// copy the permission bits of the original file to the destination file. /// @@ -1648,6 +1726,9 @@ pub fn exists_wc < P : core :: convert :: AsRef < std :: path :: Path > > ( path /// Entries for the current and parent directories (typically `.` and `..`) are /// skipped. /// +/// The order in which `read_dir` returns entries can change between calls. If reproducible +/// ordering is required, the entries should be explicitly sorted. +/// /// # Platform-specific behavior /// /// This function currently corresponds to the `opendir` function on Unix diff --git a/elaborate/src/generated/std/net/mod.rs b/elaborate/src/generated/std/net/mod.rs index 022b6e1..8f804d6 100644 --- a/elaborate/src/generated/std/net/mod.rs +++ b/elaborate/src/generated/std/net/mod.rs @@ -1500,3 +1500,25 @@ fn set_write_timeout_wc ( & self , dur : core :: option :: Option < core :: time } } + +/// Returns the system hostname. +/// +/// This can error out in platform-specific error cases; +/// for example, uefi and wasm, where hostnames aren't +/// supported. +/// +/// # Underlying system calls +/// +/// | Platform | System call | +/// |----------|---------------------------------------------------------------------------------------------------------| +/// | UNIX | [`gethostname`](https://www.man7.org/linux/man-pages/man2/gethostname.2.html) | +/// | Windows | [`GetHostNameW`](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-gethostnamew) | +/// +/// Note that platform-specific behavior [may change in the future][changes]. +/// +/// [changes]: crate::io#platform-specific-behavior +#[cfg(feature = "gethostname")] +pub fn hostname_wc ( ) -> crate :: rewrite_output_type ! ( std :: io :: Result < std :: ffi :: OsString > ) { + std :: net :: hostname() + .with_context(|| crate::call_failed!(None::<()>, "std::net::hostname")) +} diff --git a/elaborate/src/generated/std/os/linux/net/mod.rs b/elaborate/src/generated/std/os/linux/net/mod.rs index 5556aa2..48e60e4 100644 --- a/elaborate/src/generated/std/os/linux/net/mod.rs +++ b/elaborate/src/generated/std/os/linux/net/mod.rs @@ -79,11 +79,13 @@ impl SocketAddrExtContext for T where T: std :: os :: linux :: net :: SocketA pub trait TcpStreamExtContext: std :: os :: linux :: net :: TcpStreamExt { /// A socket listener will be awakened solely when data arrives. /// -/// The `accept` argument set the delay in seconds until the +/// The `accept` argument set the maximum delay until the /// data is available to read, reducing the number of short lived /// connections without data to process. /// Contrary to other platforms `SO_ACCEPTFILTER` feature equivalent, there is /// no necessity to set it after the `listen` call. +/// Note that the delay is expressed as Duration from user's perspective +/// the call rounds it down to the nearest second expressible as a `c_int`. /// /// See [`man 7 tcp`](https://man7.org/linux/man-pages/man7/tcp.7.html) /// @@ -93,13 +95,14 @@ pub trait TcpStreamExtContext: std :: os :: linux :: net :: TcpStreamExt { /// #![feature(tcp_deferaccept)] /// use std::net::TcpStream; /// use std::os::linux::net::TcpStreamExt; +/// use std::time::Duration; /// /// let stream = TcpStream::connect("127.0.0.1:8080") /// .expect("Couldn't connect to the server..."); -/// stream.set_deferaccept(1).expect("set_deferaccept call failed"); +/// stream.set_deferaccept(Duration::from_secs(1u64)).expect("set_deferaccept call failed"); /// ``` #[cfg(feature = "tcp_deferaccept")] -fn set_deferaccept_wc ( & self , accept : u32 ) -> crate :: rewrite_output_type ! ( std :: io :: Result < ( ) > ) { +fn set_deferaccept_wc ( & self , accept : core :: time :: Duration ) -> crate :: rewrite_output_type ! ( std :: io :: Result < ( ) > ) { < Self as :: std :: os :: linux :: net :: TcpStreamExt > :: set_deferaccept(self, accept) .with_context(|| crate::call_failed!(Some(self), "set_deferaccept", accept)) } @@ -129,7 +132,7 @@ fn set_quickack_wc ( & self , quickack : bool ) -> crate :: rewrite_output_type < Self as :: std :: os :: linux :: net :: TcpStreamExt > :: set_quickack(self, quickack) .with_context(|| crate::call_failed!(Some(self), "set_quickack", quickack)) } -/// Gets the accept delay value (in seconds) of the `TCP_DEFER_ACCEPT` option. +/// Gets the accept delay value of the `TCP_DEFER_ACCEPT` option. /// /// For more information about this option, see [`TcpStreamExt::set_deferaccept`]. /// @@ -139,14 +142,15 @@ fn set_quickack_wc ( & self , quickack : bool ) -> crate :: rewrite_output_type /// #![feature(tcp_deferaccept)] /// use std::net::TcpStream; /// use std::os::linux::net::TcpStreamExt; +/// use std::time::Duration; /// /// let stream = TcpStream::connect("127.0.0.1:8080") /// .expect("Couldn't connect to the server..."); -/// stream.set_deferaccept(1).expect("set_deferaccept call failed"); -/// assert_eq!(stream.deferaccept().unwrap_or(0), 1); +/// stream.set_deferaccept(Duration::from_secs(1u64)).expect("set_deferaccept call failed"); +/// assert_eq!(stream.deferaccept().unwrap(), Duration::from_secs(1u64)); /// ``` #[cfg(feature = "tcp_deferaccept")] -fn deferaccept_wc ( & self ) -> crate :: rewrite_output_type ! ( std :: io :: Result < u32 > ) { +fn deferaccept_wc ( & self ) -> crate :: rewrite_output_type ! ( std :: io :: Result < core :: time :: Duration > ) { < Self as :: std :: os :: linux :: net :: TcpStreamExt > :: deferaccept(self) .with_context(|| crate::call_failed!(Some(self), "deferaccept")) } diff --git a/elaborate/src/generated/std/os/unix/fs/mod.rs b/elaborate/src/generated/std/os/unix/fs/mod.rs index 8daec34..08bee45 100644 --- a/elaborate/src/generated/std/os/unix/fs/mod.rs +++ b/elaborate/src/generated/std/os/unix/fs/mod.rs @@ -102,6 +102,42 @@ fn read_at_wc ( & self , buf : & mut [ u8 ] , offset : u64 ) -> crate :: rewrite < Self as :: std :: os :: unix :: fs :: FileExt > :: read_at(self, buf, offset) .with_context(|| crate::call_failed!(Some(self), "read_at", buf, offset)) } +/// Reads some bytes starting from a given offset into the buffer. +/// +/// This equivalent to the [`read_at`](FileExt::read_at) method, except that it is passed a +/// [`BorrowedCursor`] rather than `&mut [u8]` to allow use with uninitialized buffers. The new +/// data will be appended to any existing contents of `buf`. +/// +/// # Examples +/// +/// ```no_run +/// #![feature(core_io_borrowed_buf)] +/// #![feature(read_buf_at)] +/// +/// use std::io; +/// use std::io::BorrowedBuf; +/// use std::fs::File; +/// use std::mem::MaybeUninit; +/// use std::os::unix::prelude::*; +/// +/// fn main() -> io::Result<()> { +/// let mut file = File::open("pi.txt")?; +/// +/// // Read some bytes starting from offset 2 +/// let mut buf: [MaybeUninit; 10] = [MaybeUninit::uninit(); 10]; +/// let mut buf = BorrowedBuf::from(buf.as_mut_slice()); +/// file.read_buf_at(buf.unfilled(), 2)?; +/// +/// assert!(buf.filled().starts_with(b"1")); +/// +/// Ok(()) +/// } +/// ``` +#[cfg(feature = "read_buf_at")] +fn read_buf_at_wc ( & self , buf : core :: io :: BorrowedCursor < '_ > , offset : u64 ) -> crate :: rewrite_output_type ! ( std :: io :: Result < ( ) > ) { + < Self as :: std :: os :: unix :: fs :: FileExt > :: read_buf_at(self, buf, offset) + .with_context(|| crate::call_failed!(Some(self), "read_buf_at", crate::CustomDebugMessage("value of type BorrowedCursor"), offset)) +} /// Reads the exact number of bytes required to fill `buf` from the given offset. /// /// The offset is relative to the start of the file and thus independent @@ -151,6 +187,42 @@ fn read_exact_at_wc ( & self , buf : & mut [ u8 ] , offset : u64 ) -> crate :: r < Self as :: std :: os :: unix :: fs :: FileExt > :: read_exact_at(self, buf, offset) .with_context(|| crate::call_failed!(Some(self), "read_exact_at", buf, offset)) } +/// Reads the exact number of bytes required to fill the buffer from a given offset. +/// +/// This is equivalent to the [`read_exact_at`](FileExt::read_exact_at) method, except that it +/// is passed a [`BorrowedCursor`] rather than `&mut [u8]` to allow use with uninitialized +/// buffers. The new data will be appended to any existing contents of `buf`. +/// +/// # Examples +/// +/// ```no_run +/// #![feature(core_io_borrowed_buf)] +/// #![feature(read_buf_at)] +/// +/// use std::io; +/// use std::io::BorrowedBuf; +/// use std::fs::File; +/// use std::mem::MaybeUninit; +/// use std::os::unix::prelude::*; +/// +/// fn main() -> io::Result<()> { +/// let mut file = File::open("pi.txt")?; +/// +/// // Read exactly 10 bytes starting from offset 2 +/// let mut buf: [MaybeUninit; 10] = [MaybeUninit::uninit(); 10]; +/// let mut buf = BorrowedBuf::from(buf.as_mut_slice()); +/// file.read_buf_exact_at(buf.unfilled(), 2)?; +/// +/// assert_eq!(buf.filled(), b"1415926535"); +/// +/// Ok(()) +/// } +/// ``` +#[cfg(feature = "read_buf_at")] +fn read_buf_exact_at_wc ( & self , buf : core :: io :: BorrowedCursor < '_ > , offset : u64 ) -> crate :: rewrite_output_type ! ( std :: io :: Result < ( ) > ) { + < Self as :: std :: os :: unix :: fs :: FileExt > :: read_buf_exact_at(self, buf, offset) + .with_context(|| crate::call_failed!(Some(self), "read_buf_exact_at", crate::CustomDebugMessage("value of type BorrowedCursor"), offset)) +} /// Writes a number of bytes starting from a given offset. /// /// Returns the number of bytes written. diff --git a/elaborate/src/generated/std/os/unix/process/mod.rs b/elaborate/src/generated/std/os/unix/process/mod.rs index a68f71c..7adbd4e 100644 --- a/elaborate/src/generated/std/os/unix/process/mod.rs +++ b/elaborate/src/generated/std/os/unix/process/mod.rs @@ -26,8 +26,10 @@ pub trait ChildExtContext: std :: os :: unix :: process :: ChildExt { /// use libc::SIGTERM; /// /// fn main() -> io::Result<()> { +/// # if cfg!(not(all(target_vendor = "apple", not(target_os = "macos")))) { /// let child = Command::new("cat").stdin(Stdio::piped()).spawn()?; /// child.send_signal(SIGTERM)?; +/// # } /// Ok(()) /// } /// ``` diff --git a/elaborate/src/generated/std/os/windows/fs/mod.rs b/elaborate/src/generated/std/os/windows/fs/mod.rs index 0b3f111..48f241b 100644 --- a/elaborate/src/generated/std/os/windows/fs/mod.rs +++ b/elaborate/src/generated/std/os/windows/fs/mod.rs @@ -43,6 +43,44 @@ fn seek_read_wc ( & self , buf : & mut [ u8 ] , offset : u64 ) -> crate :: rewri < Self as :: std :: os :: windows :: fs :: FileExt > :: seek_read(self, buf, offset) .with_context(|| crate::call_failed!(Some(self), "seek_read", buf, offset)) } +/// Seeks to a given position and reads some bytes into the buffer. +/// +/// This is equivalent to the [`seek_read`](FileExt::seek_read) method, except that it is passed +/// a [`BorrowedCursor`] rather than `&mut [u8]` to allow use with uninitialized buffers. The +/// new data will be appended to any existing contents of `buf`. +/// +/// Reading beyond the end of the file will always succeed without reading any bytes. +/// +/// # Examples +/// +/// ```no_run +/// #![feature(core_io_borrowed_buf)] +/// #![feature(read_buf_at)] +/// +/// use std::io; +/// use std::io::BorrowedBuf; +/// use std::fs::File; +/// use std::mem::MaybeUninit; +/// use std::os::windows::prelude::*; +/// +/// fn main() -> io::Result<()> { +/// let mut file = File::open("pi.txt")?; +/// +/// // Read some bytes starting from offset 2 +/// let mut buf: [MaybeUninit; 10] = [MaybeUninit::uninit(); 10]; +/// let mut buf = BorrowedBuf::from(buf.as_mut_slice()); +/// file.seek_read_buf(buf.unfilled(), 2)?; +/// +/// assert!(buf.filled().starts_with(b"1")); +/// +/// Ok(()) +/// } +/// ``` +#[cfg(feature = "read_buf_at")] +fn seek_read_buf_wc ( & self , buf : core :: io :: BorrowedCursor < '_ > , offset : u64 ) -> crate :: rewrite_output_type ! ( std :: io :: Result < ( ) > ) { + < Self as :: std :: os :: windows :: fs :: FileExt > :: seek_read_buf(self, buf, offset) + .with_context(|| crate::call_failed!(Some(self), "seek_read_buf", crate::CustomDebugMessage("value of type BorrowedCursor"), offset)) +} /// Seeks to a given position and writes a number of bytes. /// /// Returns the number of bytes written. diff --git a/elaborate/src/generated/std/path/mod.rs b/elaborate/src/generated/std/path/mod.rs index e691bc6..1c922d7 100644 --- a/elaborate/src/generated/std/path/mod.rs +++ b/elaborate/src/generated/std/path/mod.rs @@ -275,6 +275,14 @@ fn parent_wc ( & self ) -> crate :: rewrite_output_type ! ( core :: option :: Op /// /// This is an alias to [`fs::canonicalize`]. /// +/// # Errors +/// +/// This method will return an error in the following situations, but is not +/// limited to just these cases: +/// +/// * `path` does not exist. +/// * A non-final component in path is not a directory. +/// /// # Examples /// /// ```no_run @@ -401,7 +409,7 @@ fn to_str_wc ( & self ) -> crate :: rewrite_output_type ! ( core :: option :: Op /// /// On POSIX platforms, the path is resolved using [POSIX semantics][posix-semantics], /// except that it stops short of resolving symlinks. This means it will keep `..` -/// components and trailing slashes. +/// components and trailing separators. /// /// On Windows, for verbatim paths, this will simply return the path as given. For other /// paths, this is currently equivalent to calling diff --git a/elaborate/src/generated/std/process/mod.rs b/elaborate/src/generated/std/process/mod.rs index fa35d37..08bb703 100644 --- a/elaborate/src/generated/std/process/mod.rs +++ b/elaborate/src/generated/std/process/mod.rs @@ -267,7 +267,7 @@ fn code_wc ( & self ) -> crate :: rewrite_output_type ! ( core :: option :: Opti /// /// ``` /// #![feature(exit_status_error)] -/// # if cfg!(unix) { +/// # if cfg!(all(unix, not(all(target_vendor = "apple", not(target_os = "macos"))))) { /// use std::process::Command; /// /// let status = Command::new("ls") @@ -308,7 +308,7 @@ pub trait ExitStatusErrorContext { /// ``` /// #![feature(exit_status_error)] /// -/// # if cfg!(all(unix, not(target_os = "android"))) { +/// # if cfg!(all(unix, not(target_os = "android"), not(all(target_vendor = "apple", not(target_os = "macos"))))) { /// use std::num::NonZero; /// use std::process::Command; /// @@ -340,7 +340,7 @@ fn code_nonzero_wc ( & self ) -> crate :: rewrite_output_type ! ( core :: option /// /// ``` /// #![feature(exit_status_error)] -/// # #[cfg(all(unix, not(target_os = "android")))] { +/// # #[cfg(all(unix, not(target_os = "android"), not(all(target_vendor = "apple", not(target_os = "macos")))))] { /// use std::process::Command; /// /// let bad = Command::new("false").status().unwrap().exit_ok().unwrap_err(); @@ -383,7 +383,7 @@ pub trait OutputContext: Sized { /// /// ``` /// #![feature(exit_status_error)] -/// # #[cfg(all(unix, not(target_os = "android")))] { +/// # #[cfg(all(unix, not(target_os = "android"), not(all(target_vendor = "apple", not(target_os = "macos")))))] { /// use std::process::Command; /// assert!(Command::new("false").output().unwrap().exit_ok().is_err()); /// # } diff --git a/elaborate/src/lib.rs b/elaborate/src/lib.rs index 06050fc..d8bc7b9 100644 --- a/elaborate/src/lib.rs +++ b/elaborate/src/lib.rs @@ -8,11 +8,14 @@ #![cfg_attr(feature = "core_io_borrowed_buf", feature(core_io_borrowed_buf))] #![cfg_attr(feature = "exit_status_error", feature(exit_status_error))] #![cfg_attr(feature = "file_buffered", feature(file_buffered))] +#![cfg_attr(feature = "fs_set_times", feature(fs_set_times))] +#![cfg_attr(feature = "gethostname", feature(gethostname))] #![cfg_attr(feature = "normalize_lexically", feature(normalize_lexically))] #![cfg_attr(feature = "panic_backtrace_config", feature(panic_backtrace_config))] #![cfg_attr(feature = "path_file_prefix", feature(path_file_prefix))] #![cfg_attr(feature = "raw_os_error_ty", feature(raw_os_error_ty))] #![cfg_attr(feature = "read_buf", feature(read_buf))] +#![cfg_attr(feature = "read_buf_at", feature(read_buf_at))] #![cfg_attr(feature = "seek_stream_len", feature(seek_stream_len))] #![cfg_attr( feature = "set_permissions_nofollow", diff --git a/elaborate/tests/call_failed.rs b/elaborate/tests/call_failed.rs index 1d96f1d..7ec1332 100644 --- a/elaborate/tests/call_failed.rs +++ b/elaborate/tests/call_failed.rs @@ -4,7 +4,7 @@ allow(crate_wide_allow, non_thread_safe_call_in_test) )] -#[ctor::ctor] +#[ctor::ctor(unsafe)] fn initialize() { unsafe { // smoelius: `RUST_BACKTRACE` adds to the error messages and interferes with the tests. diff --git a/elaborate/tests/ci.rs b/elaborate/tests/ci.rs index 3e53d23..da400fa 100644 --- a/elaborate/tests/ci.rs +++ b/elaborate/tests/ci.rs @@ -9,7 +9,7 @@ use std::{ }; use walkdir::WalkDir; -#[ctor::ctor] +#[ctor::ctor(unsafe)] fn initialize() { unsafe { remove_var("CARGO_TERM_COLOR"); diff --git a/generate/src/lib.rs b/generate/src/lib.rs index 3d9b151..cc85051 100644 --- a/generate/src/lib.rs +++ b/generate/src/lib.rs @@ -25,7 +25,7 @@ use util::{ // smoelius: `COMMIT` should be the commit returned by `rustc --version` with the toolchain in // rust-toolchain. That commit should be after when the currently used version of `rustdoc-types` // was merged into the `rust` repository. -pub const COMMIT: &str = "040a98af70f0a7da03f3d5356531b28a2a7a77e4"; +pub const COMMIT: &str = "34f954f9b7cbdb5e9b408bac1c4ff1e88b5f2719"; #[cfg_attr(dylint_lib = "general", allow(abs_home_path))] static STD_JSON: LazyLock = @@ -93,8 +93,13 @@ static GENERIC_STRUCTS: LazyLock>> = LazyLock::new(|| { (&["std", "sync", "mpsc"], "Sender"), (&["std", "sync", "mpsc"], "SyncSender"), (&["std", "sync", "nonpoison"], "MappedMutexGuard"), + (&["std", "sync", "nonpoison"], "MappedRwLockReadGuard"), + (&["std", "sync", "nonpoison"], "MappedRwLockWriteGuard"), (&["std", "sync", "nonpoison"], "Mutex"), (&["std", "sync", "nonpoison"], "MutexGuard"), + (&["std", "sync", "nonpoison"], "RwLock"), + (&["std", "sync", "nonpoison"], "RwLockReadGuard"), + (&["std", "sync", "nonpoison"], "RwLockWriteGuard"), (&["std", "thread"], "JoinHandle"), (&["std", "thread"], "LocalKey"), (&["std", "thread"], "ScopedJoinHandle"), diff --git a/rust-toolchain b/rust-toolchain index 7aba6cf..90283e4 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2025-08-21" +channel = "nightly-2025-10-26" components = ["clippy"]